# node: msg URL: https://generaltranslation.com/es/docs/node/api/strings/msg.mdx --- title: msg description: Referencia de la API para la función de cadena msg() --- ## Resumen La función `msg` marca y codifica cadenas para traducirlas. ```js const encodedString = msg('Hello, world!'); ``` La cadena codificada debe pasarse a la función [`getMessages`](/docs/node/api/get-messages) para obtener las traducciones. **Codificación:** `msg` codifica la cadena de entrada, por lo que no puedes usarla directamente en tu aplicación. Si quieres recuperar la cadena original, debes decodificarla con [`decodeMsg`](#decodemsg). Nota: si llamas a `msg` solo con una cadena y sin opciones, igualmente devuelve una cadena codificada, no la original. Usa `decodeMsg` para recuperar el contenido original. ## Decodificación [#decodemsg] Para recuperar la cadena original, debes decodificarla con [`decodeMsg`](#decodemsg) ```js import { msg, decodeMsg } from 'gt-node'; const encodedString = msg('Hello, world!'); const decodedString = decodeMsg(encodedString); console.log(decodedString); // "Hello, world!" ``` ## Referencia ### Parámetros | Name | Type | Description | | ---------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------- | | `content` | `string` | La cadena de contenido que se codificará. | | `options?` | [`InlineTranslationOptions`](/docs/next/api/types/inline-translation-options) | Opciones de traducción para personalizar el comportamiento de `msg`. | ### Devuelve Una cadena codificada en la que las variables interpoladas (si las hay) se sustituyen por sus valores. *** ## Comportamiento ### Producción Durante el proceso de CD, cualquier contenido dentro de una función `msg` se traducirá antes de desplegar tu aplicación. Esto garantiza tiempos de carga rápidos para todas las configuraciones regionales, pero solo puede traducir contenido conocido en tiempo de construcción. Una vez generadas, las traducciones se almacenan de una de estas dos formas: (1) en la CDN o (2) en la salida de compilación de tu aplicación, según tu configuración. A partir de ahí, el contenido traducido se sirve a tus usuarios. Si no se encuentra una traducción, se usará el contenido original. Asegúrate de seguir la [guía de despliegue aquí](/docs/next/tutorials/quickdeploy). ### Desarrollo Durante el desarrollo, la función `msg` traducirá el contenido bajo demanda. Esto resulta útil para hacer prototipos de cómo se verá tu aplicación en distintos idiomas. Recuerda añadir una clave de API de desarrollo a tu entorno para habilitar este comportamiento. Verás cierta latencia durante la traducción bajo demanda en desarrollo. Esto no ocurrirá en las compilaciones de producción, a menos que el contenido se esté traduciendo explícitamente bajo demanda. *** ## Ejemplo ### Uso básico Puedes usar `msg` para marcar cadenas para su traducción. ```js copy import { msg, getMessages } from 'gt-node'; const greeting = msg('Hello, world!'); const m = await getMessages(); const translated = m(greeting); console.log(translated); // "Hello, world!" (traducido) ``` Nota: "¡Hola, mundo!" se traducirá al idioma que prefiera el usuario. ### Uso de variables [#variables] Puedes pasar variables a las traducciones del diccionario. ```js copy import { msg, getMessages } from 'gt-node'; const greeting = msg('Hello, {name}!', { name: 'Alice' }); const m = await getMessages(); const translated = m(greeting); console.log(translated); // "Hello, Alice!" (traducido) ``` Nota: "Alice" no se traducirá al idioma preferido del usuario, ya que es una variable. ### Uso del formato de mensajes ICU `gt-node` es compatible con el formato de mensajes ICU, que también te permite dar formato a las variables. ```js copy import { msg, getMessages } from 'gt-node'; const encodedString = msg('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 }); const m = await getMessages(); const translated = m(encodedString); console.log(translated); ``` El formato de mensajes ICU es una forma eficaz de dar formato a las variables. Para obtener más información, consulta la [documentación del formato de mensajes ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/). *** ## Notas * La función `msg` marca cadenas para traducirlas. * La traducción de cadenas con `msg` ocurre antes del runtime, durante el proceso de compilación (salvo en desarrollo). ## Siguientes pasos * Consulta [`getMessages`](/docs/node/api/get-messages) para obtener las cadenas traducidas en runtime.