Config

loadDictionary

Referencia de API de la función loadDictionary().

Descripción general

loadDictionary carga un archivo JSON de traducción para un locale dado.

Esta función está pensada para quienes desean usar gt-react como una biblioteca de i18n independiente.

Principalmente se usa para migrar proyectos existentes con i18n a General Translation manteniendo sus traducciones actuales.

Si existen múltiples traducciones, las de los diccionarios cargados por loadDictionary siempre tendrán prioridad sobre las demás. loadDictionary solo admite archivos JSON con traducciones en forma de cadenas.

Referencia

Parámetros

Prop

Type

Descripción

TipoDescripción
localeEl locale para el cual se deben cargar las traducciones.

Devuelve

Una Promise<any> que se resuelve en un diccionario que asigna ids a traducciones para el locale especificado.


Configuración

Por lo general, cargarás el diccionario desde el directorio ./public/locales.

Define loadDictionary en un archivo. Asegúrate de que la función devuelva una promesa que resuelva un objeto con las traducciones para la locale indicada.

src/loadDictionary.js
export default async function loadDictionary(locale) {
  const translations = await import(`../public/locales/${locale}.json`);
  return translations.default;
}

Luego pásalo a tu componente <GTProvider>:

src/App.js
import { GTProvider } from 'gt-react';
import loadDictionary from './loadDictionary';

<GTProvider loadDictionary={loadDictionary}>
  <App />
</GTProvider>

Pregunta: ¿Cuál es la diferencia entre loadTranslations y loadDictionary?

  • loadTranslations se usa para definir un comportamiento de carga personalizado para obtener las traducciones de tu aplicación. Esto puede implicar obtenerlas desde un CDN (Content Delivery Network), una base de datos o el bundle de tu aplicación. Por lo general, son traducciones generadas automáticamente, gestionadas por la herramienta de la CLI y no muy fáciles de editar por personas usuarias.
  • loadDictionary está pensado para implementaciones de gt-react como biblioteca independiente. Las personas usuarias aportan sus propias traducciones y no se utiliza infraestructura de traducción.

Notas

  • loadDictionary se usa para cargar traducciones personalizadas para tu app.
  • Los dictionaries cargados por loadDictionary tendrán prioridad sobre las traducciones cargadas por loadTranslations.

Próximos pasos

¿Qué te ha parecido esta guía?

loadDictionary