# gt-node: General Translation Node.js SDK: Traducir cadenas URL: https://generaltranslation.com/es/docs/node/guides/translating-strings.mdx --- title: Traducir cadenas description: Cómo traducir cadenas del manejador de solicitud, mensajes registrados y contenido dinámico con General Translation en gt-node. related: links: - /docs/node/guides/detecting-locale - /docs/node/guides/storing-translations - /docs/node/guides/configuring --- `gt-node` ofrece tres formas de traducir una cadena. La que uses depende de dónde esté la cadena y de si se conoce de antemano. *Nota: las tres se ejecutan dentro de un ámbito [`withGT`](/docs/node/guides/detecting-locale) para que tengan acceso a la configuración regional de la solicitud.* ## Traduce las cadenas del manejador de solicitud con `getGT` [#get-gt] Para las cadenas escritas directamente en un manejador de solicitud, espera [`getGT`](/docs/node/reference/functions/get-gt) para obtener una función de traducción y luego llámala. Interpola los valores con marcadores de posición de ICU. ```ts import { getGT } from 'gt-node'; app.get('/api/greeting', async (req, res) => { const gt = await getGT(); res.json({ message: gt('Hello, world!'), welcome: gt('Welcome, {name}!', { name: 'Alice' }), }); }); ``` Esta es la opción predeterminada para cadenas aisladas. Agrega `$context` para desambiguar un término. ## Reutiliza mensajes registrados con `msg` [#msg] Para las cadenas definidas fuera de un manejador de solicitud —como constantes compartidas, mensajes de error o enums— regístralas con [`msg`](/docs/node/reference/functions/msg) a nivel de módulo y luego recupéralas con [`getMessages`](/docs/node/reference/functions/get-messages). ```ts import { msg, getMessages } from 'gt-node'; const NOT_FOUND = msg('Resource not found.'); app.use(async (req, res) => { const m = await getMessages(); res.status(404).json({ error: m(NOT_FOUND) }); }); ``` ## Traduce contenido dinámico con `tx` [#tx] Para el contenido que no se conoce de antemano y no está pre-generado, usa [`tx`](/docs/node/reference/functions/tx) para traducirlo en tiempo de ejecución. Hace una solicitud de red si no hay un valor en caché, así que resérvalo para cadenas realmente dinámicas. ```ts import { tx } from 'gt-node'; const translated = await tx(`Status: ${status}`); ``` *Nota: `tx` no usa marcadores de posición de ICU; inserta los valores con un literal de plantilla antes de llamarlo.* ## Elige un enfoque [#choose] * Cadenas puntuales del manejador de solicitud → `getGT`. * Constantes y errores compartidos → `msg` con `getMessages`. * Contenido dinámico e impredecible → `tx`. * Texto centralizado basado en claves → un diccionario con [`getTranslations`](/docs/node/reference/functions/get-translations). ## Next steps - /docs/node/guides/detecting-locale - /docs/node/guides/storing-translations - /docs/node/guides/configuring