# gt-next: General Translation Next.js SDK: useMessages URL: https://generaltranslation.com/es/docs/next/api/strings/use-messages.mdx --- title: useMessages description: Referencia de la API de la función useMessages() para traducir cadenas --- {/* GENERADO AUTOMÁTICAMENTE: No edites directamente. Edita la plantilla en content/docs-templates/. */} ## Descripción general La función `useMessages` es un hook para traducir cadenas codificadas con `msg` en tiempo de compilación. ```jsx const m = useMessages();

{m(encodedString)}

; ``` **Traducción en tiempo de compilación:** las traducciones de `useMessages` se realizan en tiempo de compilación, antes de que se despliegue tu aplicación. Puedes pasar cadenas codificadas con `msg` y se traducirán al idioma preferido del usuario. ## Referencia ### Parámetros Ninguno ### Devuelve Una función callback, `m`, que traduce el contenido codificado proporcionado por `msg`. ```jsx (encodedContent: string, options?: Record) => string ``` | Nombre | Tipo | Descripción | | ---------------- | --------------------- | ------------------------------------------------------------------ | | `encodedContent` | `string` | El contenido de texto codificado de `msg` que se debe traducir. | | `options?` | `Record` | Parámetros opcionales para pasar variables a la cadena codificada. | *** ## Comportamiento ### Producción Durante el proceso de CD, cualquier contenido dentro de una función `msg` se traduce 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 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 usa el contenido original. Asegúrate de seguir la [guía de despliegue aquí](/docs/next/tutorials/quickdeploy). ### Desarrollo Durante el desarrollo, la función `m` traducirá el contenido bajo demanda. Esto es útil para crear prototipos de cómo se verá tu aplicación en distintos idiomas. Recuerda agregar una clave API de desarrollo a tu entorno para habilitar este comportamiento. Verás un retraso 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 `useMessages` para traducir las cadenas codificadas de `msg`. ```jsx copy import { msg, useMessages } from 'gt-next'; const encodedGreeting = msg('Hello, Alice!'); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting)}

; } ``` Nota: "Alice" se traducirá al idioma que prefiera el usuario. ### Uso de variables [#variables] Puedes pasar variables a las cadenas codificadas. ```jsx copy import { msg, useMessages } from 'gt-next'; const encodedGreeting = msg('Hello, {name}!'); export default function TranslateGreeting() { const m = useMessages(); return (

{m(encodedGreeting, { name: 'Bob' })}{' '} {/* Esto mostrará "Hello, Bob!" */}

); } ``` ### Las variables de `msg` tienen prioridad sobre las variables de `m` Cuando pasas variables tanto a `msg` como a `m`, las variables que se pasan a `msg` tienen prioridad sobre las que se pasan a `m`. ```jsx copy import { msg, useMessages } from 'gt-next'; const encodedGreeting = msg('Hello, {name}!', { name: 'Alice' }); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting, { name: 'Bob' })}

; } ``` Nota: Esto mostrará "Hello, Alice!"; la variable no se reemplaza en el momento del renderizado. ### Uso del formato de mensajes ICU `gt-next` admite el formato de mensajes ICU, lo que también te permite formatear tus variables. ```jsx copy import { msg, useMessages } from 'gt-next'; const encodedMessage = 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(encodedMessage)}

; } ``` El formato de mensajes ICU es una forma eficaz de dar formato a las variables. Para más información, consulta la [documentación del formato de mensajes ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/). ### Importar desde `gt-next` Si usas la directiva `"use client"`, debes importar desde `gt-next` en lugar de `gt-next`. ```jsx copy 'use client'; import { msg, useMessages } from 'gt-next'; const encodedGreeting = msg('Hello, Alice!'); export default function TranslateGreeting() { const m = useMessages(); return

{m(encodedGreeting)}

; } ``` *** ## Notas * La función `useMessages` es un hook que traduce cadenas codificadas con `msg`. * La traducción de cadenas con `useMessages` se realiza antes del tiempo de ejecución, durante el proceso de compilación (salvo en desarrollo). ## Próximos pasos * Consulta [`msg`](/docs/next/api/strings/msg) para codificar cadenas para traducirlas.