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
- Pegue su objeto JSON en el campo de JSON de Origen.
- Seleccione su idioma de destino en el menú desplegable.
- El JSON traducido aparecerá automáticamente en el panel derecho.
- Haga clic en el botón Copiar para copiar el JSON traducido en su portapapeles.
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
JSON tiene cuatro tipos primitivos (cadenas, números, booleanos y null) y dos tipos estructurados (objetos y matrices). Una matriz es una lista ordenada de valores. Un objeto es un conjunto de pares nombre/valor, en el que cada nombre (clave) es una cadena.
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:
textse 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 una matriz, 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.
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
- Pegue un objeto JSON en el campo «JSON de origen» de la izquierda.
- 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.
- El panel derecho se actualiza automáticamente. No es necesario pulsar ningún botón.
- Haga clic en «Copiar» para copiar el resultado al portapapeles.
- Haga clic en «Borrar todo» para restablecer ambos paneles y empezar de nuevo.
Ejemplo
JSON de entrada:
1{
2 "app": {
3 "title": "My Store",
4 "version": 2,
5 "isBeta": false,
6 "tags": ["sale", "new"]
7 }
8}
9Con 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}
12Observe 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 JSON | Resultado |
|---|---|
| Valor de cadena | Recibe el prefijo [language code] |
| Número | Sin cambios |
true / false | Sin cambios |
null | Sin cambios |
| Clave del objeto | Siempre permanece sin cambios |
| Orden del arreglo | Siempre 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
«Formato JSON no válido. Revise su entrada.» Aparece cuando el texto pegado no es JSON válido. Las causas típicas son una coma que falta entre elementos, una coma final tras el último elemento, comillas simples en lugar de dobles o un carácter especial sin escapar dentro de una cadena. Pasar antes la entrada por un validador de JSON puede ayudar a encontrar el punto exacto.
«La traducción falló. Inténtelo de nuevo.»
Aparece en un caso concreto: cuando la entrada pegada es solo la palabra null y nada más. Como no hay estructura que recorrer, la herramienta no tiene nada que procesar. Envolver el valor en un objeto, como {"value": null}, lo evita.
Dejar vacío el campo de entrada muestra un mensaje de ejemplo y no se trata como un error.
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 llama a un servicio de traducción real? No. Se ejecuta solo 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 provisional de la versión actual. Indica qué cadenas se traducirían y a qué idioma, sin realizar una traducción real.
¿Cambiará las claves o los números de mi objeto?
No. Las claves, los números, true/false y null pasan sin cambios en todos los niveles de anidamiento, incluso dentro de matrices.
¿Necesita conexión a internet? No. El análisis y el etiquetado se hacen 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 sirve para cualquier framework que espere claves coincidentes entre archivos de idioma. Los valores de las cadenas todavía deben sustituirse por traducciones reales antes de usarlos.
¿Qué ocurre con un JSON muy anidado o con matrices dentro de matrices? La herramienta procesa todos los niveles, por profundos que sean, y todos los elementos de matriz, aplicando la misma regla cada vez.
Referencias
- Internet Engineering Task Force. RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format. RFC 8259 — los cuatro tipos primitivos y los dos tipos estructurados, las matrices ordenadas y los objetos como pares nombre/valor con nombres de tipo cadena.
- MDN Web Docs (Mozilla). JSON.parse(). Referencia de JSON.parse() — JSON no admite comas finales, y las cadenas deben usar comillas dobles, no simples.