Was der Check sucht
- Fehlende Schlüssel: im Template vorhanden, in einer Sprache aber nicht. Die App kompiliert, doch Ihre Nutzer sehen den Text in der Template-Sprache statt in ihrer eigenen.
- Überzählige Schlüssel: in einer Übersetzung vorhanden, im Template aber nicht mehr, oft Überbleibsel einer entfernten Funktion.
- Leere Werte: Der Schlüssel existiert, aber seine Übersetzung ist leer, was ein reiner Schlüsselvergleich übersieht.
- Platzhalter-Abweichungen:
{name} wurde zu {nom} oder ging verloren. Platzhalter in ICU-Pluralformen und -Selects werden ebenfalls gelesen.
Schlüssel, die mit @ beginnen (Metadaten und @@locale), werden ignoriert. Als Referenz dient die Datei, die template-arb-file in l10n.yaml festlegt, meist app_en.arb: Das Tool errät sie, und Sie können eine andere wählen.
Fehlende Schlüssel in einer Flutter-App finden
- Sammeln Sie die Dateien aus Ihrem
arb-dir-Ordner (standardmäßig lib/l10n).
- Ziehen Sie alle auf einmal hierher, das Template eingeschlossen.
- Öffnen Sie jede Sprache, um ihre Probleme zu sehen, und kopieren Sie dann die fehlenden Schlüssel im ARB-Format: Sie enthalten den Template-Text und lassen sich direkt übersetzen.
Wie Sie mit der Option untranslated-messages-file von flutter gen-l10n und einem kleinen CI-Skript bei jedem Build automatisch prüfen, zeigt die Anleitung zum Finden fehlender Schlüssel in ARB-Dateien. Fehler bei ICU-Platzhaltern erklärt die Anleitung zu Pluralformen und Platzhaltern.
Grenzen des Checks
Das Tool vergleicht Schlüssel und Platzhalternamen: Es validiert nicht die vollständige ICU-Syntax (das ist Aufgabe von flutter gen-l10n), beurteilt nicht die Qualität der Übersetzung und verändert Ihre Dateien nie. Um ein ganzes Projekt zu importieren, zu übersetzen und mit Sicherung zu exportieren, brauchen Sie einen Lokalisierungseditor wie LocalePilot.