Cómo traducir archivos ARB de Flutter con IA

Cómo traducir archivos ARB de Flutter con IA

4 de octubre de 2026

Para añadir un idioma a una aplicación Flutter, solo tienes que traducir un archivo: el ARB de plantilla. Todo lo demás, incluidas las clases Dart, se genera a partir de él.

Esta guía se centra en ese archivo, app_en.arb, y en los tres elementos que suelen dar problemas: los metadatos @, los marcadores de posición y los plurales. Para otros formatos de aplicaciones, consulta cómo traducir los archivos de idioma de tu aplicación.

Qué es un archivo ARB

Un archivo ARB es un archivo JSON con una convención añadida. La herramienta de localización de Flutter lee los archivos ARB de lib/l10n de forma predeterminada, usa app_en.arb como plantilla y genera las clases Dart al ejecutar flutter gen-l10n. Cada archivo contiene un idioma.

Las entradas se organizan en pares: una clave con su texto y una entrada @ que la describe. Solo se traduce el texto.

¿Qué opción deberías usar?

Para qué va bien Limitaciones
AI Glot Para añadir uno o cinco idiomas, mantener un glosario coherente y traducir en cada versión No hace falta para diez cadenas
Una plataforma de gestión de traducciones (Crowdin, Lokalise, Phrase, Localizely) Para equipos con revisores y conexión a un repositorio Primero tienes que crear un proyecto y conectar el repositorio
DeepL Para archivos XLIFF, que figuran en su lista ARB no aparece en esa lista, así que primero tienes que convertirlo
ChatGPT, Claude u otro asistente Para traducir unas pocas cadenas Tienes que redactar el prompt y añadir el glosario en cada conversación. Cada ejecución puede cambiar una clave, romper un {placeholder} o alterar un plural ICU, así que tienes que comparar todos los archivos
Un profesional autónomo o una agencia Para los textos de las tiendas App Store y Play Store El proceso es lento, se cobra por palabra y, además, tienes que preparar el archivo

Contrata a un profesional para la ficha de la tienda y la primera pantalla. Usa un motor de traducción para el resto de etiquetas y mensajes.

Por qué AI Glot encaja con los archivos ARB

  • Las claves y los metadatos @ forman parte de la estructura. Puedes dejarlos tal cual.
  • Se conservan los marcadores de posición y la sintaxis ICU. {name} y {count, plural, ...} permanecen en el mensaje, mientras se traducen las palabras de cada opción.
  • Varios idiomas en un mismo encargo, en lugar de traducir las mismas cadenas cinco veces.
  • Un mismo glosario para todos los idiomas y para los archivos que añadas más adelante.
  • Un plan antes de gastar, con una muestra que puedes revisar.

El recorrido de un archivo

Los cinco pasos para procesar un archivo ARB. Todo el proceso es gratuito hasta la aprobación, así que no cuesta nada corregir un plan que haya interpretado mal el archivo.

Cómo es una entrada traducida

Una entrada ARB antes y después. Las claves, los metadatos @ y los marcadores de posición se mantienen tal cual; se traducen las palabras de las variantes plurales.

Qué debes comprobar después

Plurales en idiomas con más formas. El inglés necesita dos ramas. El ruso y el árabe necesitan más, y el mensaje traducido puede requerir ramas que no existen en el texto original en inglés. Revisa esos mensajes una vez.

@@locale. Si no pediste que se actualizara, se mantiene como estaba. Así que cámbialo a la configuración regional de destino antes de publicar.

Longitud. Comprueba las pantallas con las cadenas más largas para ver si el texto se sale de algún botón o tarjeta.

Cómo hacerlo, paso a paso

1. Prueba un archivo gratis. El traductor de ARB no requiere cuenta y admite archivos de hasta 2 MB y 5,000 palabras.

2. Sube app_en.arb en la aplicación o envíalo desde la línea de comandos, más abajo.

3. Explica lo que necesitas en una frase.

Translate this file into French, German and Spanish.
Leave the @ metadata entries alone. Set @@locale to the target language.
Instructions for this batchOptional
Apply
Describe el trabajo en inglés sencillo. AI Glot lo convierte en un plan que puedes revisar y corregir antes de ejecutarlo.

La frase determina qué se traduce en todo el archivo. Las reglas de redacción, como «mantén exactamente todos los {placeholder} y la sintaxis de plural ICU» o «usa un registro informal», van en la segunda casilla, durante la aprobación, porque se aplican a cada mensaje tal como se redacta.

4. Añade un glosario con el nombre de la aplicación, los nombres de las funciones y las palabras que siempre utilizas de la misma forma. Cómo crear uno.

Un glosario define los términos que no deben variar y aplica la misma decisión a cada archivo.

5. Lee el plan y elige un nivel de calidad.

Dos niveles de calidad, seleccionables por archivo. Lite cubre unas tres veces más palabras con los mismos créditos.

Lite ofrece aproximadamente tres veces más palabras por crédito y es más rápido: ideal para una primera versión en una nueva configuración regional. Standard es para las cadenas que lee primero el usuario. En Standard, un crédito equivale a una palabra.

6. Aprueba y descarga.

Recibes un único archivo en el mismo formato en que llegó.

7. Coloca los archivos en lib/l10n, junto a app_en.arb, y ejecuta:

flutter gen-l10n

Un archivo, varias configuraciones regionales

Un archivo ARB de plantilla se convierte en un archivo traducido por configuración regional, todos con las mismas claves y el mismo glosario.

Los nombres de archivo y las cantidades son solo un ejemplo. Un archivo ARB contiene un idioma, así que cada configuración regional tiene su propio archivo.

Tres formas de usarlo

Tres formas de traducir un archivo ARB. Todas generan los mismos archivos traducidos.

Desde la línea de comandos es la opción que suelen elegir los desarrolladores de Flutter, porque se ejecuta de nuevo con cada lanzamiento:

id=$(aiglot batches create lib/l10n/app_en.arb \
      --instruction "Translate into French. Leave the @ metadata entries alone. Set @@locale to the target language." \
      --json | jq -r '.data.id')
aiglot batches get "$id" --json | jq '.data.plan'
aiglot batches approve "$id" --quality lite \
  --instructions "Keep every {placeholder} and ICU plural syntax exactly as written."
aiglot batches download "$id" --output lib/l10n/app_fr.arb

Con tu agente de IA: conecta AI Glot como servidor MCP. El agente puede leer tu proyecto, proponer términos para el glosario, ejecutar el trabajo, guardar los archivos en lib/l10n y ejecutar flutter gen-l10n por ti.

En la aplicación: sube el archivo, haz clic y descárgalo. Ideal para un trabajo puntual.

Si quieres integrar la API, consulta la documentación de la API.

En Precios puedes consultar cuánto cuesta un volumen mayor. Además, una cuenta gratuita incluye créditos para procesar un archivo real.


Los límites indicados aquí son los vigentes en el momento de redactar este texto: 8 MB por archivo ARB, y 2 MB y 5,000 palabras en la herramienta gratuita. Los valores predeterminados de Flutter proceden de la documentación oficial de Flutter y pueden cambiar. La lista de DeepL procede de su propia documentación. Los nombres de archivo y el número de cadenas de los diagramas son ejemplos. En tu plan aparecen los datos reales de tu archivo, y puedes consultarlos gratis.

10.000 palabras gratis al registrarte

¿Listo para traducir tus archivos grandes?