Tengo varios espacios de nombres y varios archivos de idiomas diferentes, pero es posible que tengamos muchos más y va a ser tremendamente grande. Quiero saber si hay una forma más sencilla o mejor organizada. Actualmente, importo todos los espacios de nombres de todos los idiomas, así que los importo así:
// auth import auth_de from './de/auth.json'; import auth_en from './en/auth.json'; import auth_es from './es/auth.json'; import auth_fr from './fr/auth.json'; import auth_it from './it/auth.json'; import auth_pt from './pt/auth.json'; import auth_zh from './zh/auth.json'; // global import global_de from './de/global.json'; import global_en from './en/global.json'; import global_es from './es/global.json'; import global_fr from './fr/global.json'; import global_it from './it/global.json'; import global_pt from './pt/global.json'; import global_zh from './zh/global.json';Luego creo el archivo de recursos para cada idioma:
const resources = { de: { auth: auth_de, global: global_de, }, en: { auth: auth_en, global: global_en, }, es: { auth: auth_es, global: global_es, }, fr: { auth: auth_fr, global: global_fr, }, it: { auth: auth_it, global: global_it, }, pt: { auth: auth_pt, global: global_pt, }, zh: { auth: auth_zh, global: global_zh, }, };En este ejemplo, tengo 7 idiomas y 2 espacios de nombres, pero es posible que tengamos más idiomas en el futuro, pero definitivamente tendremos más espacios de nombres, supongo que alrededor de 15, por lo que este archivo será increíblemente grande, ¿hay alguna? mejor manera de organizarlo?
Personalmente, ¿ cargaría perezosamente las traducciones con un complemento de back-end como i18next-http-backend (o i18next-locize-backend )?
Hay una buena guía de reacción que muestra cómo separar las traducciones del código y cargarlas de forma diferida, aquí . Y el uso de cómo usar múltiples espacios de nombres con react-i18next.