# gt-next: General Translation Next.js SDK: msg
URL: https://generaltranslation.com/es/docs/next/api/strings/msg.mdx
---
title: msg
description: Referencia de la API de la función de cadena msg()
---
{/* GENERADO AUTOMÁTICAMENTE: No edites esto directamente. En su lugar, edita la plantilla en content/docs-templates/. */}
## Resumen
La función `msg` marca y codifica cadena para su traducción.
```jsx
const encodedString = msg('Hello, world!');
```
La cadena codificada debe pasarse al hook [`useMessages`](/docs/next/api/strings/use-messages) o a la función [`getMessages`](/docs/next/api/strings/get-messages) para obtener las traducciones.
**Codificación:**
`msg` codifica la cadena de entrada, por lo que no puedes usarla directamente en JSX ni en otros contextos.
Si quieres recuperar la cadena original, debes decodificarla con [`decodeMsg`](#decodemsg)
## Decodificar [#decodemsg]
Para recuperar la cadena original, debes decodificarla con [`decodeMsg`](#decodemsg)
```jsx
import { msg, decodeMsg } from 'gt-next';
const encodedString = msg('Hello, world!');
const decodedString = decodeMsg(encodedString);
console.log(decodedString); // "¡Hola, mundo!"
```
## Referencia
### Parámetros
| Nombre | Tipo | Descripción |
| ---------- | ----------------------------------------------------------------------------- | -------------------------------------------------------------------- |
| `content` | `string` | La cadena 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 reemplazan por sus valores.
***
## Comportamiento
### Producción
Durante el proceso de CD, cualquier contenido dentro de una llamada a `msg` se traducirá antes de desplegar tu aplicación.
Esto garantiza un tiempo de carga rápido para todos los locales, pero solo puede traducir contenido conocido en tiempo de compilación.
Una vez generadas, las traducciones se almacenan (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 recurrirá al contenido original como alternativa.
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 es útil para prototipar cómo se verá tu aplicación en distintos idiomas.
Recuerda añadir una clave API de desarrollo a tu entorno para habilitar este comportamiento.
Verás una demora durante la traducción bajo demanda en desarrollo.
Esto no ocurrirá en las compilaciones de producción, a menos que el contenido se traduzca explícitamente bajo demanda.
***
## Ejemplo
### Uso básico
Puedes usar `msg` para marcar cadenas para su traducción.
```jsx copy
import { msg, useMessages } from 'gt-next';
const encodedString = msg('Hello, world!');
export default function TranslateGreeting() {
const m = useMessages();
return (
{m(encodedString)}
);
}
```
Nota: "¡Hola, mundo!" se traducirá al idioma preferido del usuario.
### Uso de variables [#variables]
Puedes pasar variables a las traducciones del diccionario.
```jsx copy
import { msg, useMessages } from 'gt-next';
const encodedString = msg('Hello, {name}!', { name: 'Alice' });
export default function TranslateGreeting() {
const m = useMessages();
return (
{m(encodedString)}
);
}
```
Nota: "Alice" no se traducirá al idioma preferido del usuario, ya que es una variable.
### Uso del formato de mensajes ICU
`gt-next` admite el formato de mensajes ICU, que también te permite dar formato a las variables.
```jsx copy
import { msg, useMessages } from 'gt-next';
const encodedString = msg('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 });
export default function TranslateGreeting() {
const m = useMessages();
return (
{m(encodedString)}
);
}
```
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` es una función que marca cadenas para su traducción.
* La traducción de cadenas con `msg` ocurre antes de en tiempo de ejecución, durante el proceso de compilación (a menos que esté en desarrollo).
## Próximos pasos
* Consulta [`useMessages`](/docs/next/api/strings/use-messages) para traducir cadenas.
* Consulta [`getMessages`](/docs/next/api/strings/get-messages) para traducir cadenas en componentes asíncronos del lado del servidor.