Qué busca el verificador
- Claves faltantes: están en la plantilla pero no en un idioma. La app compila, pero tus usuarios ven el texto del idioma de la plantilla en lugar del suyo.
- Claves sobrantes: están en una traducción pero ya no en la plantilla, a menudo restos de una función eliminada.
- Valores vacíos: la clave existe pero su traducción está en blanco, algo que una simple comparación de claves no detecta.
- Placeholders incoherentes:
{name} convertido en {nombre}, u omitido. También se leen los placeholders dentro de los plurales y selects ICU.
Las claves que empiezan por @ (metadatos y @@locale) se ignoran. El archivo de referencia es el que define template-arb-file en l10n.yaml, normalmente app_en.arb: la herramienta lo deduce y puedes elegir otro.
Encontrar las claves faltantes en una app Flutter
- Reúne los archivos de tu carpeta
arb-dir (lib/l10n por defecto).
- Suéltalos todos a la vez, plantilla incluida.
- Abre cada idioma para ver sus problemas y copia las claves faltantes en formato ARB: reutilizan el texto de la plantilla, listas para traducir.
Para una verificación automática en cada build, la opción untranslated-messages-file de flutter gen-l10n y un pequeño script de CI se explican en la guía para encontrar claves faltantes en archivos ARB. Los errores de placeholders ICU se explican en la guía sobre plurales y placeholders.
Limitaciones del verificador
La herramienta compara claves y nombres de placeholders: no valida la sintaxis ICU completa (eso es tarea de flutter gen-l10n), no juzga la calidad de la traducción y nunca modifica tus archivos. Para importar un proyecto completo, traducir y exportar con copia de seguridad, necesitas un editor de localización como LocalePilot.