',
optional: true,
default: 'undefined',
},
}}
/>
### Descripción
| Prop | Descripción |
| ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `variables` | Un objeto cuyas claves identifican a qué parte de la cadena se asigna cada valor. |
| `$context` | Opcionalmente, incluye `$context` como una variable en el objeto `variables` para aportar contexto al contenido (para su traducción). |
| `$id` | Opcionalmente, incluye `$id` como una variable en el objeto `variables` para proporcionar un identificador para usar con el editor de traducción. |
| `$maxChars` | Opcionalmente, incluye `$maxChars` como una variable para limitar el número de caracteres de la traducción. La biblioteca aplica estrictamente este límite mediante la lógica de `formatCutoff()`. |
***
## Ejemplos
### Contexto
Para agregar contexto a la cadena, usamos la prop `$context`.
```jsx title="Component.tsx"
// [!code word:$context]
import { useGT } from 'gt-next';
const Component = () => {
const gt = useGT();
return {gt('Hello, world!', { $context: 'un saludo formal' })}
;
};
```
### Pasar variables
Para agregar una variable a la cadena, usamos la sintaxis `{variable-name}`, donde las llaves encierran el nombre de la variable.
```jsx title="Component.tsx"
// [!code word:username]
import { useGT } from 'gt-next';
const Component = () => {
const gt = useGT();
return {gt('Hello, {username}! How is your day?', { username: 'Brian123' })}
;
};
```
### Uso del formato de mensaje ICU
`gt-next` admite el formato de mensaje ICU, lo que también te permite dar formato a las variables.
```jsx title="Component.tsx"
// [!code word:account-balance]
import { useGT } from 'gt-next';
const Component = () => {
const gt = useGT();
return
{ gt(
'Your account balance: {dollars, number, ::currency/USD}!',
{
"dollars" : 1000000,
}
) }
;
};
```
Consulta la [documentación sobre el formato de mensaje ICU](https://unicode-org.github.io/icu/userguide/format_parse/messages/) para obtener más información sobre el formato de mensaje ICU.
### Límites de caracteres
Usa `$maxChars` para limitar la longitud de la traducción:
```jsx title="Component.tsx"
// [!code word:$maxChars]
import { useGT } from 'gt-next';
const Component = () => {
const gt = useGT();
return {gt('Welcome to our application', { $maxChars: 15 })}
;
// Salida: "Bienvenue à no\u202F…"
};
```
***
## Notas
* `InlineTranslationOptions` se usa para la traducción de cadenas en línea.
* El objeto `variables` pasa valores al texto.
* El objeto `variablesOptions` define el comportamiento de las variables.
## Siguientes pasos
* Consulta [`useGT`](/docs/next/api/strings/use-gt) y [`getGT`](/docs/next/api/strings/get-gt) para obtener más información sobre la traducción de cadenas en línea.
* Consulta [`formato de mensajes ICU`](https://unicode-org.github.io/icu/userguide/format_parse/messages/) para obtener más información sobre las opciones de formato.