Inline Translations

tx

Referencia de API de la función tx para traducción de cadenas

Descripción general

La función tx es una función del lado del servidor para traducir cadenas.

await tx('¡Hola, mundo!'); // devuelve «Hola, mundo»

Traducción en tiempo de ejecución: Las traducciones con tx se realizan en tiempo de ejecución. Esto significa que la traducción se hará en tiempo real, por lo que puedes traducir contenido disponible en tiempo de ejecución.

Referencias

Parámetros

Prop

Type

NameDescription
contentLa cadena que se debe traducir.
optionsoptions de traducción para personalizar el comportamiento de tx. Consulta RuntimeTranslationOptions.

Devuelve

Una promesa que se resuelve en una cadena con el contenido traducido, o en el contenido original si no se requiere traducción.


Comportamiento

La función tx traduce cadenas en tiempo de ejecución. Esto significa que las traducciones se realizan en vivo, por lo que puedes traducir contenido que solo se conoce en tiempo de ejecución. La desventaja es que hay una demora al esperar a que cargue una traducción a demanda, lo cual es significativamente más lento.

Nuestro consejo es traducir todo lo posible en tiempo de compilación usando getGT, useGT o <T>, y usar traducciones a demanda, como tx y <Tx>, solo cuando sea necesario.

Asegúrate de seguir la guía de despliegue aquí.


Ejemplo

Uso básico

Puedes usar tx para traducir textos.

src/components/translateGreeting.jsx
import { tx } from 'gt-next/server';

export default async function translateGreeting() {
    return await tx("¡Hola, mundo!"); 
}

Agregar contexto

Puedes personalizar la traducción proporcionando un contexto que se tenga en cuenta al traducir.

TranslateWithOptions.jsx
import { tx } from 'gt-next/server';

export default async function TranslateWithOptions() {
    return await tx("¡Hola, mundo!", {
      $context: 'Traducción informal'
    });
}

Uso de variables

Para pasar value a tu cadena, debes (1) asignar un id y (2) referenciar ese id en el objeto que se pasa.

translateWithVariables.js
import { tx } from 'gt-next/server';

export default async function translateWithVariables() {
  return await tx("El precio es {price, number, ::currency/USD}", {
    price: 29.99,
  });
}

Especificar un locale

Puedes especificar un locale para usar en la traducción. De forma predeterminada, el locale se configura según el idioma preferido del usuario.

translateWithLocale.js
import { tx } from 'gt-next/server';

export default async function translateWithLocale() {
    return await tx("Bonjour, le monde !", { $locale: 'fr' }); 
}

Notas

  • tx es exclusivamente para uso del lado del servidor y no puede utilizarse en componentes del lado del cliente.
  • Las traducciones con tx se realizan en tiempo de ejecución, es decir, se traducen en vivo. Esto es significativamente más lento que las traducciones en tiempo de compilación.

Próximos pasos

  • Consulta useGT y getGT para traducir cadenas antes del despliegue.
  • Para traducir JSX, consulta <T> y <Tx>.
  • Consulta RuntimeTranslationOptions para obtener más información sobre cómo personalizar las traducciones.

¿Qué te parece esta guía?