Checker voor ontbrekende sleutels in Flutter ARB-bestanden

Sleep je .arb-bestanden hierheen: de tool vergelijkt elke taal met de template en toont ontbrekende sleutels, overbodige sleutels, lege waarden en placeholders die niet meer kloppen. Gratis, zonder account, en je bestanden verlaten je browser niet.

Vergelijk je ARB-bestanden

Of plak de inhoud van twee bestanden

Vergeleken in je browser: er wordt geen bestand geüpload.

Los ze op zonder elk bestand met de hand te bewerken

LocalePilot is een desktopapp die je hele lokalisatiemap opent: hij vindt ontbrekende sleutels, controleert placeholders, vertaalt desgewenst met lokale AI en exporteert daarna met een back-up. De app wordt afgerond voor macOS: laat je e-mailadres achter om te horen wanneer hij uitkomt.

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

  1. Verzamel de bestanden uit je map arb-dir (standaard lib/l10n).
  2. Sleep ze allemaal tegelijk hierheen, inclusief de template.
  3. 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.

Veelgestelde vragen

Worden mijn ARB-bestanden naar een server geüpload?

Nee. De vergelijking draait in je browser: er wordt geen bestand en geen sleutel verstuurd. Je kunt het nagaan in het tabblad Netwerk van je ontwikkelaarstools.

Welk bestand is de referentie om ontbrekende sleutels te vinden?

Het templatebestand, het bestand waarnaar template-arb-file in l10n.yaml verwijst (vaak app_en.arb). De tool kiest het op basis van @@locale of de bestandsnaam, en je kunt een ander selecteren.

Verandert de tool mijn bestanden?

Nee, hij leest alleen. Je kunt wel de ontbrekende sleutels in ARB-formaat kopiëren, met de tekst van de template, om ze te vertalen.

Hoe meldt Flutter ontbrekende vertalingen?

Met de optie untranslated-messages-file in l10n.yaml schrijft flutter gen-l10n de templatesleutels die per taal ontbreken naar een JSON-bestand. De handleiding hierover behandelt die optie en een vergelijkingsscript voor CI.

Worden ICU-meervoudsvormen en selects ondersteund?

Voor placeholders wel: die in plural- of select-takken worden vergeleken met de template. De tool valideert de ICU-syntaxis zelf niet.

Wat is het verschil met LocalePilot?

Deze tool controleert bestanden die je plakt of hierheen sleept, zonder ze op te slaan. LocalePilot is een desktopapp (wordt afgerond voor macOS) die het hele project opent, nakijkt, vertaalt met lokale of cloud-AI en exporteert met een back-up.

Ontvang een bericht bij de lancering

LocalePilot wordt afgerond. Laat je e-mailadres achter om te horen wanneer het uitkomt.

  • macOS 12 of nieuwer · Ollama of LM Studio optioneel
  • App-interface in het Engels, Frans, Spaans, Italiaans en Portugees.