Lingo.dev + .arb (Flutter)
Lingo.dev CLI übersetzt Flutter Application Resource Bundle (ARB)-Dateien unter Beibehaltung von Metadaten, Platzhalter-Definitionen und Flutter's l10n-Konventionen. Die CLI arbeitet nahtlos mit flutter gen-l10n
zusammen, behält Platzhalter-Typdefinitionen für IDE-Autovervollständigung bei, bewahrt Entwicklerkontext und Dokumentation und folgt exakt den ARB-Spezifikationsstandards.
Schnelle Einrichtung
Konfiguration für Flutter's Standard-ARB-Dateistruktur:
{
"locale": {
"source": "en",
"targets": ["es", "fr", "de"]
},
"buckets": {
"flutter": {
"include": ["lib/l10n/app_[locale].arb"]
}
}
}
Hinweis: [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.
ARB-Dateien übersetzen
npx lingo.dev@latest i18n
Bewahrt ARB-Metadaten, Platzhalter-Definitionen und Flutter-spezifische Formatierung bei der Übersetzung des Inhalts.
Flutter ARB-Funktionen
Platzhalter mit Typen
{
"welcomeMessage": "Hallo {name}, Sie haben {count} Nachrichten",
"@welcomeMessage": {
"description": "Welcome message with user name and count",
"placeholders": {
"name": {
"type": "String"
},
"count": {
"type": "int"
}
}
}
}
Pluralformen
{
"itemCount": "{count, plural, =0{keine Elemente} =1{ein Element} other{{count} Elemente}}",
"@itemCount": {
"description": "Number of items",
"placeholders": {
"count": {
"type": "int"
}
}
}
}
Metadaten-Erhaltung
ARB-Metadaten (@key
-Einträge) bleiben unübersetzt:
- Beschreibungen: Entwicklerkontext wird beibehalten
- Platzhalter: Typdefinitionen werden beibehalten
- Beispiele: Verwendungsbeispiele bleiben erhalten
- Benutzerdefinierte Attribute: Alle zusätzlichen Metadaten werden beibehalten
Erweiterte Konfiguration
Mehrere ARB-Dateien
"flutter": {
"include": [
"lib/l10n/app_[locale].arb",
"lib/l10n/errors_[locale].arb"
]
}
Metadaten-Schlüssel sperren
"flutter": {
"include": ["lib/l10n/app_[locale].arb"],
"lockedKeys": ["@@locale", "@@last_modified"]
}