Traductor de archivos de localización
Traduce archivos de localización de apps con todas las claves y marcadores intactos
Sube tus archivos JSON, PO, strings.xml, .strings, .xcstrings o XLIFF, elige un idioma y recibe los mismos archivos traducidos, listos para integrarlos en tu proyecto. Las claves, los comentarios, el orden y el formato quedan exactamente como estaban, y en cada cadena se comprueba que se conserven todos los marcadores, como {name}, {{count}} o %1$s. Las primeras cadenas son gratis y sin registro; el trabajo completo, de hasta 20 archivos y 5,000 cadenas, cuesta $5 en un pago único, sin suscripción. Un chatbot sirve para una docena de cadenas, pero un archivo con miles de claves suele volver cortado, con claves renombradas o marcadores alterados.
- Hasta 300 cadenas gratis completas, las primeras cadenas de un trabajo más grande gratis, sin necesidad de cuenta
- Trabajo completo por $5, en un solo pago: hasta 20 archivos y 5,000 cadenas
- Se conservan claves, anidación, comentarios y orden; solo se traducen los valores
- Marcadores, plurales ICU y etiquetas en línea verificados en cada cadena
- Formas plurales escritas para el idioma de destino (PO, Android, Xcode)
- 41 idiomas, tono formal o informal, glosario y nombres que se deben conservar
{
"home.greeting": "Good morning, {name}Buenos días, {name}",
"home.nearby": "{count, plural, =0 {No trails near you yet} one {# trail near you} other {# trails near you}}{count, plural, =0 {Aún no hay rutas cerca de ti} one {# ruta cerca de ti} other {# rutas cerca de ti}}",
"trail.offline_done": "<b>{name}</b> is saved on this phone. You can use the map without a signal.<b>{name}</b> está guardado en este teléfono. Puedes usar el mapa sin señal.",
"trail.share_text": "I just finished {trail} with Trailbook! {km} km and {meters} m up. 🥾¡Acabo de terminar {trail} con Trailbook! {km} km y {meters} m de subida. 🥾",
"saved.empty": "You have not saved any trails yet.\nTap the heart on a trail to keep it here.Aún no has guardado ninguna ruta.\nToca el corazón en una ruta para guardarla aquí."
}
Amarillo: marcadores de posición y sintaxis de plurales ICU, comprobados en cada cadena. Turquesa: etiquetas, secuencias de escape y emoji, que se mantienen tal cual.
Mismas claves. Mismos marcadores. Idioma nuevo.
Solo cambian los valores. El archivo vuelve con la misma estructura y el mismo orden, con el nombre es.json, y cualquier cadena que pierda un marcador se vuelve a pedir antes de que llegue a tu compilación.
App de demostración creada para esta página; las cadenas en español son resultado real de la herramienta, a partir de un archivo de 85 cadenas.
Lo que recibes
Recibes tus archivos en el mismo formato, con el nombre y la ubicación que espera cada plataforma: en.json pasa a ser es.json, strings.xml va en una carpeta values-es y Localizable.strings en es.lproj. Si son varios archivos, se descargan juntos en un solo ZIP. Antes de descargar, cada cadena traducida aparece en pantalla junto a su original, y puedes editar la que quieras.
- JSON y ARB: claves anidadas, arrays, orden de las claves, sangría y espaciado como en tu archivo. Los mensajes ICU como {count, plural, one {# item} other {# items}} mantienen su estructura. En ARB se conservan los metadatos "@" y se establece @@locale.
- PO y POT: msgid y msgctxt nunca cambian; se traducen las entradas vacías y las marcadas como fuzzy, y las que ya tienen traducción se dejan como están. Las entradas con plural reciben tantos msgstr[n] como necesite el idioma de destino, y la cabecera incluye Language y Plural-Forms.
- strings.xml de Android: <string>, <string-array> y <plurals>; se omite translatable="false"; los apóstrofos y las comillas se escapan como exige Android; el contenido de <xliff:g> nunca se traduce.
- iOS y macOS: los archivos .strings conservan sus comentarios y su codificación (a menudo UTF-16); los String Catalogs .xcstrings reciben una nueva localización para tu idioma, con variaciones de plural, y las cadenas ya traducidas se mantienen.
- XLIFF 1.2 y 2.0: un <target> después de cada <source> sin traducir, con los códigos en línea como <g>, <x/>, <ph> y <pc> intactos, y el idioma de destino establecido en el archivo.
Traducir archivos de cadenas con un chatbot y con esta herramienta
Los asistentes de chat traducen bien los textos cortos de interfaz, y una docena de cadenas pegadas en un chat suele salir bien. El problema de un archivo de localización real es la longitud y la sintaxis: miles de claves, marcadores, reglas de plural y escapes que un compilador o una biblioteca rechazarán si falla un solo carácter.
| Tu situación | Un chatbot | Esta herramienta |
|---|---|---|
| Diez etiquetas de botones | Suele traducirlas bien | Las traduce y te devuelve el archivo |
| Un archivo con 3,000 claves | La respuesta tiene que ser tan larga como el archivo, así que suele cortarse a la mitad | Traduce todas las cadenas en bloques de hasta 60, con un máximo de 5,000 cadenas por trabajo |
| Claves y anidación | Reescribe el archivo entero, así que puede traducir, renombrar o eliminar claves | Las claves nunca se envían a traducir; el archivo se reconstruye a partir del tuyo |
| Marcadores como {name}, %1$s o :attribute | Normalmente los conserva, pero nada lo comprueba | Comprueba cada cadena; si una pierde un marcador, se traduce de nuevo, y si vuelve a fallar se deja en el idioma original y se incluye en una lista |
| Plurales en ruso, polaco o árabe | A menudo copia las dos formas del inglés | Escribe todas las formas plurales que necesita el idioma de destino, con números de ejemplo para cada una |
| Apóstrofos en cadenas de Android | Puede dejar un apóstrofo sin escapar que rompe la compilación | Escapa los apóstrofos y las comillas como exige Android |
Cómo traducir un archivo de localización
-
1
Sube tus archivos y elige un idioma
Arrastra uno o varios archivos del mismo proyecto: JSON, ARB, PO o POT, strings.xml, .strings, .xcstrings o XLIFF. Elige el idioma de destino y el tono, e indica los nombres de producto que deben conservarse.
-
2
Revisa las primeras cadenas gratis
Las primeras cadenas aparecen en pantalla con sus claves junto al texto original. Edita las que quieras directamente. Este paso no requiere cuenta.
-
3
Desbloquea y descarga
¿Te convencen las primeras cadenas? Desbloquea el trabajo completo por $5 y descarga los archivos traducidos, junto con una lista de avisos si algo requiere revisión.
Por qué los archivos de cadenas largos hacen tropezar a los asistentes de IA generalistas
Un archivo de localización es tanto código como texto. Para traducirlo en un chat, el asistente tiene que escribir de nuevo el archivo entero, con sus claves, llaves, escapes y todo, y un archivo con unos miles de cadenas es más largo de lo que cabe en una sola respuesta. Se corta a la mitad o te pide que continúes, y acabas uniendo trozos a mano.
La sintaxis es el segundo problema. Una clave traducida por error, un {count} convertido en {cuenta}, un %1$s que perdió el signo de dólar, un apóstrofo sin escapar en strings.xml: cada uno es un cambio mínimo dentro de una respuesta larga, y cada uno puede romper una compilación o mostrar un marcador en bruto a tus usuarios.
Esta herramienta nunca le pide a un modelo que reescriba tu archivo. Lee el archivo y lo divide en cadenas, envía solo el texto, con la clave y cualquier comentario del desarrollador como contexto, en bloques de hasta 60 cadenas, y exige una respuesta por cada cadena. Las etiquetas en línea se sustituyen antes por marcadores cortos. Cada respuesta se comprueba: mismos marcadores de posición, mismos escapes como \n, mismos marcadores, los nombres que indicaste y todas las formas plurales. Si una cadena no pasa la comprobación, se vuelve a pedir; si falla dos veces, se deja el texto original y la cadena aparece en una lista para ti. Después, el archivo se reconstruye a partir del tuyo.
Qué traduce la gente
- Apps de React, Vue, Angular y Next.js: archivos JSON de i18next, vue-i18n, react-intl y ngx-translate
- Apps de Flutter: archivos .arb, con las descripciones de @metadata usadas como contexto
- Plugins y temas de WordPress, Django y otros proyectos gettext: plantillas .pot y archivos .po
- Apps de Android: res/values/strings.xml con arreglos de cadenas y plurales
- Apps de iOS y macOS: Localizable.strings y String Catalogs (.xcstrings)
- Archivos exportados como XLIFF desde una plataforma de traducción o desde Xcode
Lo que no hace
Todavía no lee archivos YAML, .properties, .resx ni .stringsdict, y no añade las claves de plural de i18next (key_one, key_few) que falten en tu archivo de origen: traduce las claves que tienes. En los archivos .xcstrings, las cadenas que usan sustituciones o variaciones por dispositivo se dejan tal cual.
No sobrescribe las traducciones que ya tienes: las entradas PO completadas, los destinos XLIFF marcados como traducidos y las entradas de String Catalog en tu idioma se quedan como están. Un pago cubre hasta 20 archivos y 5,000 cadenas; Ilimitado cubre hasta 15,000 cadenas por trabajo.
Es traducción automática con verificaciones estructurales. Es ideal para lanzar rápidamente una primera versión de un idioma y para mantener un proyecto sincronizado. Para fichas de tiendas de aplicaciones, textos legales o cualquier contenido con voz de marca, pide a un hablante nativo que lo revise.
Cómo conseguir un buen resultado
El contexto marca la diferencia entre "Save" como verbo (guardar) y "Save" como descuento (ahorra). Claves como settings.save_button y los comentarios de tu archivo (#. en PO, descripciones @key en ARB, /* comentarios */ en .strings) se envían junto con cada cadena, así que un archivo con claves descriptivas y algunos comentarios se traduce mejor.
Indica los nombres de tu app y de tus productos en "No traducir" y elige el trato formal o informal en los idiomas que tienen ambos. Usa las cadenas gratuitas como prueba y, después de desbloquear, revisa la lista de advertencias: cada entrada muestra la clave, el problema y lo que devolvió el modelo.
Por idioma y situación
Traduce un archivo i18n JSON
Sube en.json (o varios archivos de espacios de nombres) y recibe es.json con las mismas claves anidadas, el mi...
Leer más →Traducir un archivo PO en línea
Sube una plantilla .pot o un archivo .po traducido a medias y recibe un .po con todos los msgstr vacíos rellen...
Leer más →Cuánto cuesta
Trabajos pequeños, primeras cadenas
Gratis
Un trabajo de hasta 300 cadenas es gratis completo, descargas incluidas. Se muestra en pantalla, sin registro. 1 trabajo al día, o 3 al día con una cuenta gratuita.
Trabajo completo
$5
Un solo pago por hasta 20 archivos y 5,000 cadenas. Sin suscripción y sin caducidad.
Ilimitado
$19 / semana
Todas las herramientas del sitio, con trabajos de hasta 15,000 cadenas.
Preguntas y respuestas
¿Puede ChatGPT traducir un archivo de localización JSON?
Si es pequeño, normalmente sí. Un archivo con miles de claves tiene que volver en una sola respuesta, así que un chatbot suele cortarse a la mitad, y nada comprueba que todas las claves y marcadores se hayan conservado. Esta herramienta traduce los valores por bloques, verifica cada marcador y reconstruye el archivo a partir del tuyo.
¿Qué formatos admite?
JSON (i18next, vue-i18n, react-intl, ngx-translate y similares), ARB de Flutter, gettext PO y POT, strings.xml de Android, .strings y .xcstrings de iOS y macOS, y XLIFF 1.2 y 2.0. Los archivos pueden pesar hasta 10 MB cada uno, con un máximo de 20 archivos por trabajo.
¿Se conservan las claves y los marcadores?
Las claves nunca se envían a traducir. En cada cadena se comprueban los marcadores como {name}, {{count}}, %s, %1$d, %@, :attribute y %{name}, los caracteres de escape como \n, las etiquetas en línea y los emoji. Si una cadena pierde alguno, se vuelve a traducir; si sigue fallando, se conserva el texto de origen y la cadena aparece en la lista de advertencias.
¿Cómo se gestionan los plurales?
Los mensajes ICU mantienen su estructura y reciben las categorías de plural que usa el idioma de destino. Las entradas PO con msgid_plural reciben tantas formas msgstr[n] como necesite el idioma de destino, y la cabecera recibe el Plural-Forms correspondiente. Los <plurals> de Android y las variaciones de plural de Xcode se escriben con las categorías del idioma de destino, como one, few, many y other en ruso.
¿Qué pasa con las cadenas que ya están traducidas?
Se conservan. Solo se traducen las entradas PO vacías o fuzzy, las unidades XLIFF sin un destino terminado y las entradas de String Catalog sin tu idioma. En JSON, .strings y strings.xml, todos los valores se tratan como texto de origen.
¿A qué idiomas puede traducir?
41 idiomas, entre ellos español, francés, alemán, italiano, portugués (Brasil y Portugal), neerlandés, polaco, ruso, ucraniano, turco, árabe, hebreo, hindi, indonesio, vietnamita, tailandés, japonés, coreano y chino (simplificado y tradicional).
¿Es gratis?
Las primeras cadenas de cada trabajo se traducen gratis y se muestran en pantalla, sin registro. El trabajo completo, con las descargas, cuesta $5 en pago único. Ilimitado, a $19 por semana, cubre todas las herramientas del sitio. Los trabajos pequeños son la excepción: un trabajo de hasta 300 cadenas es gratis por completo, descargas incluidas.
¿Mis archivos son privados?
Solo tú puedes abrir tu trabajo. Las cadenas se envían a un proveedor de modelos de IA con el único fin de traducirlas, a través de vías que no usan tus datos para entrenamiento. Los trabajos subidos sin cuenta se eliminan tras 7 días, y tú puedes eliminar cualquier trabajo cuando quieras.
Actualizado 23 de octubre de 2026 · APPFACT STUDIO LTD