Flutter Lokalisierung

Konfigurieren Sie die Flutter-Lokalisierung in pubspec.yaml, indem Sie flutter_localizations zu Ihren Abhängigkeiten hinzufügen und generate: true unter dem flutter-Abschnitt setzen. Erstellen Sie eine l10n.yaml-Konfigurationsdatei im Projektstamm, die arb-dir (typischerweise lib/l10n), template-arb-file (Ihre Quell-ARB, z. B. app_en.arb) und output-class (AppLocalizations nach Konvention) angibt. Die Ausführung von flutter gen-l10n – oder die Aktivierung von generate in pubspec.yaml, um es beim Build auszulösen – erzeugt eine typisierte Dart-Accessor-Klasse. Referenzieren Sie lokalisierte Zeichenketten als AppLocalizations.of(context)!.welcomeMessage in Ihrem gesamten Widget-Baum, niemals als rohe Zeichenkettenliterale.

Schreiben Sie ARB-Metadateneinträge für jeden übersetzbaren Schlüssel. Ein Metadateneintrag – derselbe Schlüssel mit einem vorangestellten At-Zeichen – enthält ein description-Feld, das den Kontext der Zeichenkette erklärt, ein placeholders-Objekt, das alle interpolierten Werte mit ihrem Typ und Beispiel definiert, sowie Pluralformdefinitionen. Gut geschriebene Beschreibungen sind der Kontext, den Language Monster während der Übersetzung anzeigt. Verwenden Sie benannte Platzhalter mit expliziten Typannotationen in ARB-Metadaten anstatt positioneller Formatbezeichner – benannte Platzhalter sind selbstdokumentierend, und Language Monster liest ARB-Metadaten, um Platzhalterwerte während der Übersetzung zu identifizieren und zu schützen.

Verwenden Sie ICU-Nachrichtensyntax für Zeichenketten, die je nach Anzahl, Geschlecht oder anderen Parametern variieren. Ein Pluraleintrag in ARB behandelt korrekt jede Pluralkategorie jeder unterstützten Sprache, wenn gen-l10n den Dart-Accessor generiert. Vermeiden Sie das Duplizieren von Zeichenketten mit if-else-Dart-Logik – definieren Sie die Variation in der ARB mit ICU-Syntax und lassen Sie den generierten Code und die Flutter-intl-Laufzeit dies handhaben. Dies gewährleistet korrekte Ausgabe für Arabisch (sechs Pluralformen), Polnisch (vier), Russisch (drei) und jede andere unterstützte Sprache.

Verbinden Sie Ihr GitHub- oder Bitbucket-Repository mit Language Monster. Language Monster erkennt ARB-Dateien automatisch anhand des Namensmusters, zieht Zeichenketten aus Ihrer Quell-ARB, wendet Glossareinträge und Translation Memory an und überträgt fertige ARB-Dateien zurück in Ihr Repository. ARB-Metadateneinträge bleiben durch die Übersetzung erhalten. Die Sprachhierarchie eliminiert redundante Arbeit für regionale Englisch-Varianten – definieren Sie britisches Englisch als übergeordnete Sprachvariante und australisches Englisch als untergeordnete Variante, die nur Zeichenketten überschreibt, wo sich Inhalte tatsächlich unterscheiden.

Führen Sie das extract_to_arb-Tool des intl_translation-Pakets in CI aus, um zu überprüfen, ob ARB-Dateien mit den in Ihrem Dart-Quellcode referenzierten Zeichenketten synchron bleiben. Die Qualitätskontrollen von Language Monster validieren die Integrität benannter Platzhalter anhand der ARB-Metadatendefinition, prüfen die ICU-Nachrichtenstruktur, führen Rechtschreib- und Grammatikprüfungen bei jeder Übersetzung durch und markieren Inkonsistenzen, bevor Dateien in Ihr Repository übertragen werden.

Mehr lesen Flutter (arb)

Mehr lesen Dateiformate

Mehr lesen Integration