# General Translation React SDKs (gt-react, gt-next, gt-react-native): msg
URL: https://generaltranslation.com/es/docs/react/reference/functions/msg.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Registra y codifica una cadena para traducirla en el ámbito del módulo. Referencia de la API de msg.

La función `msg` marca y codifica una cadena para su traducción. Úsala para registrar cadenas en el ámbito del módulo —fuera de un componente— y luego resolverlas en tiempo de ejecución con [`useMessages`](/docs/react/reference/hooks/use-messages).

*Disponible en `gt-react`, `gt-next`, `gt-tanstack-start` y `gt-react-native`.*

## Descripción general [#overview]

Llama a `msg` con una cadena para obtener una cadena codificada. Pasa ese valor codificado a [`useMessages`](/docs/react/reference/hooks/use-messages) para obtener la traducción.

```tsx
const encodedString = msg('Hello, world!');
```

*Nota: `msg` codifica la entrada, por lo que no puedes renderizarla directamente. Para recuperar la cadena original, decodifícala con [`decodeMsg`](/docs/node/reference/functions/decode-msg).*

## Cómo funciona [#how-it-works]

* **Registro para su extracción.** `msg` marca la cadena para que la CLI pueda extraerla para traducirla y [`useMessages`](/docs/react/reference/hooks/use-messages) pueda resolverla en tiempo de ejecución. Sin opciones, devuelve la cadena sin cambios; con opciones, devuelve una cadena codificada que incluye esas opciones.
* **Traducción en tiempo de compilación.** En producción, las cadenas registradas se traducen durante la compilación. Si falta alguna traducción, se usa el texto original. En desarrollo, la traducción se realiza bajo demanda con una ligera demora.
* **Decodificación.** `decodeMsg` extrae la cadena interpolada original de un mensaje codificado. [`decodeOptions`](/docs/node/reference/functions/decode-options) extrae las opciones.
* **Listas.** `msg` también acepta una lista de cadenas; cuando se proporciona un `$id`, cada entrada recibe un id único con el formato `${id}.${index}`.

*Los ejemplos se importan desde `gt-react`; importa desde el paquete de tu framework en su lugar.*

```tsx
import { msg, decodeMsg } from 'gt-react';

const encoded = msg('Hello, world!');
const decoded = decodeMsg(encoded);
console.log(decoded); // "Hello, world!"
```

## Parámetros [#parameters]

| Parámetro             | Descripción                                                    | Tipo                                                                                 | Opcional | Predeterminado |
| --------------------- | -------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -------- | -------------- |
| [`message`](#message) | La cadena (o lista de cadenas) que se va a registrar.          | `string \| string[]`                                                                 | No       | —              |
| [`options`](#options) | Variables de interpolación y opciones como `$context` y `$id`. | [`InlineTranslationOptions`](/docs/react/reference/types/inline-translation-options) | Sí       | —              |

### `message` [#message]

**Tipo** `string | string[]` · **Obligatorio**

El contenido de texto que se debe registrar y codificar. Una lista permite registrar varias cadenas a la vez.

### `options` [#options]

**Tipo** [`InlineTranslationOptions`](/docs/react/reference/types/inline-translation-options) · **Opcional**

Variables de interpolación y opciones como `$context`, `$id` y `$maxChars`. Las variables se insertan en la cadena al resolverse.

## Devuelve [#returns]

**Tipo** `string`

Una cadena codificada, con las variables interpoladas ya aplicadas. Para una entrada de tipo lista, se devuelve una lista de cadenas codificadas. Resuelve el resultado con [`useMessages`](/docs/react/reference/hooks/use-messages).

## Ejemplos [#examples]

```tsx
import { msg, useMessages } from 'gt-react';

const encodedString = msg('Hello, world!');

export default function TranslateGreeting() {
  const m = useMessages();
  return <p>{m(encodedString)}</p>;
}
```

```tsx
import { msg, useMessages } from 'gt-react';

const encodedString = msg('Hello, {name}!', { name: 'Alice' });

export default function TranslateGreeting() {
  const m = useMessages();
  return <p>{m(encodedString)}</p>;
}
// "Alice" es una variable y no se traduce.
```

```tsx
import { msg } from 'gt-react';

// Desambiguar con $context
const LABEL = msg('Bank', { $context: 'a bank of a river' });
```

`gt-react` admite [formato de mensajes ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/) para formatear variables dentro de cadenas registradas.

## Notas [#notes]

* `msg` sirve para marcar cadenas para traducir; la traducción se realiza en tiempo de compilación (o bajo demanda durante el desarrollo).
* Resuelve las cadenas codificadas con [`useMessages`](/docs/react/reference/hooks/use-messages).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
