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".