Lingo.dev + .xml (Android)
Lingo.dev CLI traduce archivos de recursos XML de Android preservando la estructura nativa, los atributos y las convenciones específicas de Android. La CLI se integra perfectamente con los procesos de compilación de Android existentes, mantiene los sistemas de vinculación de recursos, funciona con Gradle y Android Studio, y sigue los estándares de localización de la plataforma sin requerir conversiones de formato.
Configuración rápida
Apunta a tus archivos de recursos de Android utilizando patrones de carpetas basados en locales:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de", "ja"]
},
"buckets": {
"android": {
"include": ["res/values-[locale]/strings.xml"]
}
}
}
Recordatorio: [locale]
es un marcador de posición que debe permanecer literalmente en la configuración, ya que se reemplaza con el locale real durante la ejecución de la CLI.
Gestionar recursos predeterminados
Android requiere una carpeta predeterminada values/
. Crea un enlace simbólico para la compatibilidad:
cd res
ln -s values-en values
Esto satisface los requisitos de Android mientras permite una gestión adecuada de los locales.
Traducir recursos
npx lingo.dev@latest i18n
Procesa todos los tipos de recursos de Android preservando el formato XML, los atributos y la sintaxis especial de Android.
Soporte completo para recursos de Android
Arrays de strings
<string-array name="planets">
<item>Mercury</item>
<item>Venus</item>
<item>Earth</item>
</string-array>
Plurales con cantidades
<plurals name="songs_found">
<item quantity="one">%d song found</item>
<item quantity="other">%d songs found</item>
</plurals>
Preservación de formatos
- Marcado HTML: Se mantienen las etiquetas
<b>
,<i>
,<u>
- Especificadores de formato: Se preservan los marcadores
%1$s
,%2$d
- Secciones CDATA: El contenido
<![CDATA[]]>
se maneja correctamente - Referencias a strings: Se mantienen los enlaces
@string/app_name
- Caracteres especiales: Se preserva el escape de
\@
,\?
,\#
Configuración avanzada
Múltiples archivos de recursos
"android": {
"include": [
"res/values-[locale]/strings.xml",
"res/values-[locale]/plurals.xml"
]
}
Omitir strings no traducibles
Respeta automáticamente los atributos translatable="false"
.