Waar de checker naar zoekt
- Ontbrekende sleutels: wel in de template, niet in een taal. De app compileert, maar je gebruikers zien de tekst in de templatetaal in plaats van in hun eigen taal.
- Overbodige sleutels: wel in een vertaling, niet meer in de template, vaak restanten van een verwijderde functie.
- Lege waarden: de sleutel bestaat, maar de vertaling is leeg. Een eenvoudige sleutelcontrole ziet dat niet.
- Placeholder-afwijkingen:
{name} veranderd in {naam}, of weggevallen. Placeholders in ICU-meervoudsvormen en selects worden ook gelezen.
Sleutels die met @ beginnen (metadata en @@locale) worden genegeerd. Het referentiebestand is het bestand dat template-arb-file in l10n.yaml aanwijst, meestal app_en.arb: de tool raadt het en je kunt een ander kiezen.
Ontbrekende sleutels vinden in een Flutter-app
- Verzamel de bestanden uit je map
arb-dir (standaard lib/l10n).
- Sleep ze allemaal tegelijk hierheen, inclusief de template.
- Open elke taal om de problemen te zien en kopieer de ontbrekende sleutels in ARB-formaat: ze nemen de tekst van de template over, klaar om te vertalen.
Voor een automatische controle bij elke build behandelt de handleiding over ontbrekende sleutels in ARB-bestanden de optie untranslated-messages-file van flutter gen-l10n en een klein CI-script. Fouten met ICU-placeholders worden uitgelegd in de handleiding over meervoudsvormen en placeholders.
Beperkingen van de checker
De tool vergelijkt sleutels en placeholdernamen: hij valideert niet de volledige ICU-syntaxis (dat doet flutter gen-l10n), beoordeelt de kwaliteit van vertalingen niet en wijzigt je bestanden nooit. Om een heel project te importeren, te vertalen en met een back-up te exporteren, heb je een lokalisatie-editor zoals LocalePilot nodig.