Saltar al contenido

diferencia clave i18n

Compare dos archivos JSON de localización y enumere las claves de traducción que faltan en cada uno.

Entrada
JSON B (archivo traducido)
Salida

diferencia clave i18n

Pegue su archivo de localización base como JSON A y el archivo traducido como JSON B, y esta herramienta aplana ambos a rutas clave de notación de puntos ( "nav.home", "errors.notFound") y luego informa exactamente dónde divergen. Está diseñado para el momento en que un archivo de traducción se queda atrás de su fuente: una nueva pantalla muestra un puñado de cadenas, alguien edita la copia en inglés directamente o una ubicación fue traducida automáticamente hace meses y nunca fue revisada.

Elija qué informar: claves que faltan en B (agregadas a la fuente pero nunca traducidas), claves que faltan en A (las cadenas sobrantes son una característica que se eliminó desde entonces) o ambas a la vez. Un cuarto modo, "sin traducir", enumera las claves que existen en ambos archivos con valores de bytes idénticos: una fuerte señal de que una cadena fue copiada en lugar de traducida, ya que una traducción real solo coincide con la fuente por coincidencia.

La salida viene como una lista simple, una ruta por línea o como JSON, lista para alimentar un script o una verificación de CI que falla en una compilación cuando las traducciones se desvían. El recuento encima de la salida siempre muestra la imagen completa independientemente del modo de informe seleccionado (cuántas claves hay en A, cuántas en B y cuántas faltan en cada lado), para que pueda captar la deriva con un vistazo antes de leer los detalles. El JSON no válido en cualquiera de los archivos se informa por nombre, citando el propio mensaje del analizador, para que sepa inmediatamente qué archivo corregir.

Todo se ejecuta localmente en su navegador: ambos archivos se analizan y comparan en su dispositivo y nunca se cargan en ningún lugar, lo cual es importante ya que los archivos de localización a menudo contienen nombres de funciones y terminología interna inéditos antes de su lanzamiento. Úselo para revisar la solicitud de extracción de un traductor, auditar una configuración regional antes de un lanzamiento o encontrar cada cadena que una refactorización eliminó silenciosamente.

Preguntas frecuentes

¿Qué se considera una "clave" para la comparación?
Cada valor de hoja en el JSON, direccionado por su ruta de punto completa: un objeto anidado como {"nav":{"home":"Home"}} produce la clave "nav.home". Las matrices se comparan como valores completos, no se dividen en claves indexadas.
¿Qué detecta realmente el modo "sin traducir"?
Claves que existen en ambos archivos con un valor idéntico. Marca cadenas probablemente no traducidas, pero también aparecerá un valor corto que es legítimamente el mismo en ambos idiomas (un nombre de marca, un número); trátelo como una pista para verificar, no como un error garantizado.
¿Qué sucede si una clave contiene un objeto en un archivo y una cadena simple en el otro?
Cada lado se aplana de forma independiente, de modo que las superficies que no coinciden de forma natural: las claves anidadas del propio objeto aparecen como faltantes en el lado de la cadena, y la clave de la cadena aparece como faltante en el lado del objeto.
¿Existe un límite en el tamaño del archivo?
No hay un límite fijo más allá del límite de salida de 10 MB que comparten la mayoría de las herramientas. El procesamiento se ejecuta en su dispositivo, por lo que incluso los catálogos grandes con miles de claves se comparan en milisegundos.
¿Mis archivos de localización están cargados en algún lugar?
No. Tanto JSON A como JSON B se analizan y comparan completamente en su navegador: ninguno de los archivos sale de su dispositivo.