Saltar al contenido

Traductor JSON que Preserva la Estructura | Herramienta i18n Gratuita

Traductor JSON gratuito que mantiene intacta su estructura. Traduce archivos i18n, respuestas de API y JSON anidados mientras preserva claves, tipos de datos y formato. Perfecto para aplicaciones i18next y multilingües.

Traductor de Estructura JSON

Esta herramienta traduce el contenido de objetos JSON manteniendo su estructura. Pegue su JSON en el panel izquierdo, seleccione un idioma de destino y vea la salida traducida en el panel derecho.

La traducción aparecerá aquí...

Cómo Usar

  1. Pegue su objeto JSON en el campo de JSON de Origen.
  2. Seleccione su idioma de destino en el menú desplegable.
  3. El JSON traducido aparecerá automáticamente en el panel derecho.
  4. Haga clic en el botón Copiar para copiar el JSON traducido en su portapapeles.
Calculadora de carga...
📚

Documentación

¿Qué es un traductor que conserva la estructura de JSON?

Un traductor que conserva la estructura de JSON es una herramienta que recorre un documento JSON y cambia únicamente los valores de texto que contiene. Las claves de los objetos, los números, los valores true/false y null permanecen exactamente como estaban. Solo se modifican las cadenas.

Esta versión de la herramienta no envía ningún texto a un servicio de traducción. Se ejecuta por completo en el navegador. Para cada cadena que encuentra, añade delante del texto original el código del idioma de destino entre corchetes; por ejemplo, [es] Hello. Esto permite a un desarrollador previsualizar exactamente qué partes de un archivo JSON se traducirían y confirmar que la estructura se conserva durante el proceso, antes de conectar un servicio de traducción real.

Cómo funciona

La herramienta aplica una regla, repetida en cada nivel del árbol JSON:

  • Si un valor es una cadena, añade delante el código del idioma de destino entre corchetes: text se convierte en [code] text. Una cadena vacía se deja como "".
  • Si un valor es un número, true, false o null, se deja sin cambios.
  • Si un valor es un arreglo, aplica esta regla a cada elemento, en el mismo orden.
  • Si un valor es un objeto, aplica esta regla a cada valor y mantiene sin cambios todas las claves.

El documento completo no tiene que ser un objeto. Un texto JSON puede ser cualquier valor individual, por lo que un arreglo, una cadena, un número, true, false o null por sí solo también se acepta y se procesa con la misma regla.

La herramienta comprueba primero que el JSON de entrada tenga una sintaxis válida. Si no se puede analizar el JSON, se detiene y muestra un error en lugar de hacer suposiciones.

Cómo usar la herramienta

  1. Pegue el JSON en el campo «Source JSON» de la izquierda. Funcionan tanto un objeto como un arreglo o un valor individual.
  2. Elija un idioma de destino en el menú desplegable. Hay nueve idiomas disponibles: español, francés, alemán, italiano, portugués, chino, japonés, coreano y ruso.
  3. El panel derecho se actualiza automáticamente. No es necesario pulsar ningún botón.
  4. Haga clic en «Copy» para copiar el resultado al portapapeles.
  5. Haga clic en «Clear All» para restablecer ambos paneles y empezar de nuevo.

Ejemplo resuelto

JSON de entrada:

1{
2  "app": {
3    "title": "My Store",
4    "version": 2,
5    "isBeta": false,
6    "tags": ["sale", "new"]
7  }
8}
9

Con el español (es) seleccionado como idioma de destino, la herramienta produce:

1{
2  "app": {
3    "title": "[es] My Store",
4    "version": 2,
5    "isBeta": false,
6    "tags": [
7      "[es] sale",
8      "[es] new"
9    ]
10  }
11}
12

Observe que "title" y "tags" permanecen como claves, 2 y false no cambian, y solo los valores de cadena reciben la etiqueta [es]. La anidación y el orden de los arreglos son idénticos a los de la entrada.

Qué cambia y qué permanece igual

Elemento JSONResultado
Valor de cadenaRecibe el prefijo [language code]
NúmeroSin cambios
true / falseSin cambios
nullSin cambios
Clave del objetoSiempre permanece sin cambios, incluida una clave llamada literalmente __proto__
Orden del arregloSiempre permanece sin cambios
Cadena vacía ""Sin cambios

Esto es especialmente importante para los archivos cuya estructura tiene significado, como un archivo de internacionalización (i18n) utilizado por una aplicación web o una respuesta de API que el código cliente lee por nombre de clave. Si una clave como "welcomeMessage" cambiara durante la traducción, el código que busca welcomeMessage dejaría de funcionar. Esta herramienta nunca modifica las claves, por lo que ese riesgo no se aplica aquí.

Errores comunes

«Invalid JSON format. Please check your input.» Este mensaje aparece cuando el texto pegado no es un JSON válido. Las causas habituales son una coma ausente entre elementos, una coma final después del último elemento, el uso de comillas simples en lugar de comillas dobles o un carácter especial sin escapar dentro de una cadena. Ejecutar primero la entrada mediante un validador de JSON puede ayudar a encontrar el punto exacto.

«Translation failed. Please try again.» Este es el mensaje alternativo para un fallo que no es un error de sintaxis. Es poco frecuente. La causa más probable es una entrada tan grande que el resultado formateado superaría el límite del navegador para la longitud de un solo fragmento de texto. Dividir un archivo muy grande en partes más pequeñas evita este problema.

Dejar vacío el campo de entrada muestra un mensaje de marcador de posición y no se considera un error. Pegar el valor individual null tampoco es un error: null es un JSON válido y la herramienta devuelve null.

Por qué es importante conservar la estructura

Los archivos JSON que almacenan traducciones de una aplicación, como en.json y fr.json, normalmente necesitan claves idénticas para que el código circundante pueda buscar la misma ruta en cualquier idioma, por ejemplo user.profile.displayName. Lo mismo ocurre con las respuestas de API que se leen por nombre de campo y con los archivos de configuración, donde cambiar el nombre de una clave puede interrumpir un despliegue. Conservar la estructura mientras se marcan las cadenas traducibles es un primer paso útil antes de enviar esas cadenas a un servicio de traducción real o de someterlas a revisión lingüística.

Preguntas frecuentes

¿Esta herramienta utiliza un servicio de traducción real? No. Se ejecuta únicamente en el navegador y no envía datos a ningún sitio. Marca cada cadena con el código del idioma de destino en lugar de producir palabras traducidas.

¿Por qué mi resultado muestra [es] Hello en lugar de Hola? Esa etiqueta entre corchetes es el comportamiento de marcador de posición de la versión actual. Muestra qué cadenas se traducirían y a qué idioma, sin realizar una traducción real.

¿Cambiará las claves de mis objetos o los números? No. Las claves, los números, true/false y null pasan sin cambios por todos los niveles de anidación, incluso dentro de arreglos. Esto también se aplica a nombres de clave poco habituales, como __proto__, que algunos códigos JavaScript eliminan accidentalmente.

¿Necesita conexión a Internet? No. El análisis y el etiquetado se realizan localmente en la pestaña del navegador.

¿Puedo usarla para archivos de traducción de i18next o similares? El resultado conserva la misma estructura de claves que la entrada, por lo que es compatible con cualquier marco de trabajo que espere claves coincidentes entre los archivos de idiomas. Los valores de cadena aún deben sustituirse por traducciones reales antes de usarlos.

¿Qué ocurre con un JSON profundamente anidado o con arreglos dentro de arreglos? La herramienta procesa todos los niveles, por profundos que sean, y cada elemento de los arreglos, aplicando la misma regla en cada caso.

Referencias