Lingo.dev + .xml (Android)

Lingo.dev CLI übersetzt Android XML-Ressourcendateien unter Beibehaltung der nativen Struktur, Attribute und Android-spezifischen Konventionen. Die CLI integriert sich nahtlos in bestehende Android-Build-Prozesse, erhält Ressourcenverknüpfungssysteme, arbeitet mit Gradle und Android Studio zusammen und folgt den Plattform-Lokalisierungsstandards ohne Formatkonvertierungen zu erfordern.

Schnelle Einrichtung

Verweisen Sie auf Ihre Android-Ressourcendateien mit Locale-basierten Ordnermustern:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "android": {
      "include": ["res/values-[locale]/strings.xml"]
    }
  }
}

Erinnerung: [locale] ist ein Platzhalter, der wörtlich in der Konfiguration verbleiben sollte, da er während der CLI-Ausführung durch die tatsächliche Locale ersetzt wird.

Umgang mit Standard-Ressourcen

Android erfordert einen Standard-Ordner values/. Erstellen Sie einen symbolischen Link für die Kompatibilität:

cd res
ln -s values-en values

Dies erfüllt die Anforderungen von Android und ermöglicht gleichzeitig eine korrekte Locale-Handhabung.

Ressourcen übersetzen

npx lingo.dev@latest i18n

Verarbeitet alle Android-Ressourcentypen unter Beibehaltung der XML-Formatierung, Attribute und spezieller Android-Syntax.

Vollständige Unterstützung für Android-Ressourcen

String-Arrays

<string-array name="planets">
    <item>Mercury</item>
    <item>Venus</item>
    <item>Earth</item>
</string-array>

Plurals mit Mengenangaben

<plurals name="songs_found">
    <item quantity="one">%d song found</item>
    <item quantity="other">%d songs found</item>
</plurals>

Format-Erhaltung

  • HTML-Markup: <b>, <i>, <u>-Tags werden beibehalten
  • Format-Spezifizierer: %1$s, %2$d-Platzhalter bleiben erhalten
  • CDATA-Abschnitte: <![CDATA[]]>-Inhalte werden korrekt behandelt
  • String-Referenzen: @string/app_name-Verknüpfungen werden beibehalten
  • Sonderzeichen: \@, \?, \#-Escaping bleibt erhalten

Erweiterte Konfiguration

Mehrere Ressourcendateien

"android": {
  "include": [
    "res/values-[locale]/strings.xml",
    "res/values-[locale]/plurals.xml"
  ]
}

Nicht übersetzbare Strings überspringen

Respektiert automatisch translatable="false" Attribute.