Extensiones de archivo |
.json |
Extensión API |
i18next / i18next_4 |
Importación |
Sí |
Exportación |
Sí |
Compatibilidad con formularios plurales |
Sí |
Compatibilidad con descripción |
No |
Opciones de formato |
Anidación |
I18next y I18nextV4 son bibliotecas JavaScript que proporcionan soluciones de localización e internacionalización fáciles de usar para diversos entornos basados en JavaScript. Al ser una de las bibliotecas l10n/i18n más antiguas, admite funciones estándar de la de bibliotecas i18n como la interpolación y los plurales, y funciona bien con solicitudes asíncronas. Con la configuración adecuada, detecta la configuración del idioma del navegador para cargar automáticamente los datos específicos de la localización.
Al igual que otras bibliotecas JavaScript l10n/i18n, i18next y i18nextV4 usan el formato JSON para almacenar traducciones. Las cadenas pendientes de traducción se colocan directamente en el valor o se anidan dentro de otro objeto (por ejemplo, valores interpolados). Para la traducción, asegúrate de que todas las variables se mantengan intactas.
Si utiliza i18nextV4, selecciona el formato
al cargar.Los chatbots de IA pueden ser muy eficaces a la hora de generar una lista de claves a partir de un archivo .JSON.
La pluralización se gestiona de manera diferente en las dos versiones. Para determinar claves pluralizadas:
-
i18next usa:
-
Para idiomas con reglas plurales complejas como el ruso, se utilizaría
keyname_0
,keyname_1
,keyname_2
ykeyname_5
. -
Para idiomas con reglas plurales simples como el inglés, se utilizaría
keyname
ykeyname_plural
.
-
-
i18nextV4 usa terminaciones
_<plural_suffix>
; pluralización con las palabras one, two, three o en el caso simplekeyname_one
ykeyname_other
.
Compatibilidad:
-
Pluralizaciones
-
Las claves que terminan en _0, _1, _other, etc. se asignarán a las formas plurales correspondientes.
-
-
Espacios de nombres
-
Matrices
Sin compatibilidad:
-
Las pluralizaciones de intervalos persisten como valores clave normales. No hay compatibilidad con la interfaz de usuario.
-
La anidación / remplazo de variables no es compatible directamente, pero se pueden activar los marcadores de posición. No se admite la referencia cruzada de claves desde los valores. No hay compatibilidad con la interfaz de usuario.
Opciones de formato
Identificador |
Anidación |
Tipo |
Booleano |
Carga |
No |
Descarga |
Sí |
Por defecto |
true |
Descripción |
Al exportar archivos de traducción, las claves se anidan a partir de puntos en el nombre de la clave. Establecer en |
Muestra de código (i18next_4)
{ "boolean_key": "--- true\n", "empty_string_translation": "", "key_with_description": "Check it out! This key has a description! (At least in some formats)", "key_with_line-break": "This translations contains\na line-break.", "nested": { "deeply": { "key": "Wow, this key is nested even deeper." }, "key": "This key is nested inside a namespace." }, "null_translation": "", "sample_collection": [ "first item", "second item", "third item" ], "simple_key": "Just a simple clave with a simple message.", "unverified_key": "This translation is not yet verified and waits for it. (In some formats we also export this status)", "pluralized_key_one": "Only one pluralization found.", "pluralized_key_other": "Wow, you have %s pluralizations!" }
Muestra de código (i18next)
{ "boolean_key": "--- true\n", "empty_string_translation": "", "key_with_description": "Check it out! This key has a description! (At least in some formats)", "key_with_line-break": "This translations contains\na line-break.", "nested": { "deeply": { "key": "Wow, this key is nested even deeper." }, "key": "This key is nested inside a namespace." }, "null_translation": "", "sample_collection": [ "first item", "second item", "third item" ], "simple_key": "Just a simple clave with a simple message.", "unverified_key": "This translation is not yet verified and waits for it. (In some formats we also export this status)", "pluralized_key": "Only one pluralization found.", "pluralized_key_plural": "Wow, you have %s pluralizations!", "pluralized_keyWithCount": "{{count}} pluralization found.", "pluralized_keyWithCount_plural": "¡Vaya, tienes p {{count}} luralizaciones!" }