Types

Opciones de traducción en tiempo de ejecución

Referencia de API para el tipo RuntimeTranslationOptions

Visión general

El tipo RuntimeTranslationOptions se usa para pasar variables a traducciones en línea y especificar su comportamiento de renderizado. También puedes agregar un locale para indicar un idioma distinto para la traducción. Se utiliza junto con la función tx.

Traducción en tiempo de ejecución: Para traducir una variable bajo demanda, inclúyela directamente en la cadena que se pasa a tx. Las variables que se pasan a tx mediante el objeto options no se traducen.

Referencias

Parámetros

Prop

Type

Descripción

PropDescripción
variablesUn objeto cuyas claves indican a qué valor se asigna cada una dentro de la cadena.
$localeOpcionalmente incluye $locale como variable en el objeto variables para especificar un locale para la traducción. De forma predeterminada, se usará el locale con mayor preferencia del navegador que sea compatible con tu app.

Ejemplos

Pasar variables

Para agregar una variable a la cadena, usamos la sintaxis {variable-name}, donde el nombre de la variable va entre llaves.

Component.tsx
import { tx } from 'gt-next/server';

const Component = () => {
  return <div>
    {tx(`¡Hola, {username}!`,{ username: 'Brian123' })}
  </div>;
};

Uso de ICU message format

gt-next es compatible con ICU message format, lo que también te permite dar formato a tus variables.

Component.tsx
import { tx } from 'gt-next/server';

const Component = () => {
  return <div>
    { tx(
      'Saldo de tu cuenta: {dollars, number, ::currency/USD}!',
      {
        "dollars" : 1000000,
      }
    ) }
  </div>;
};

Traducción de variables

Para traducir una variable, inclúyela directamente en la cadena que se pasa a tx.

Component.tsx
import { tx } from 'gt-next/server';

const Component = ({ hairColor }: { hairColor: string }) => {
  return <div>{tx(
    `¡Hola, {username}! Tu color de pelo es ${hairColor}`,
    { username: 'Brian123' }
  )}</div>;
};

Ten en cuenta que la variable hairColor se traduce, pero username no.

Especificar un locale

Puedes especificar un locale para usar en la traducción.

Component.tsx
import { tx } from 'gt-next/server';

const Component = () => {
  return <div>{tx('¡Hola, mundo!', { $locale: 'fr' })}</div>;
};

Esto siempre se traducirá al francés.


Notas

  • RuntimeTranslationOptions se utiliza para traducir cadenas en tiempo de ejecución.
  • El objeto variables pasa valores al texto.
  • El objeto variablesOptions define el comportamiento de las variables.

Próximos pasos

  • Consulta tx para obtener más información sobre traducciones de cadenas inline.
  • Consulta ICU message format para obtener más información sobre las opciones de formato.

¿Qué te ha parecido esta guía?

Opciones de traducción en tiempo de ejecución