Wyszukiwarka brakujących kluczy w plikach ARB Fluttera

Upuść pliki .arb: narzędzie porównuje każdy język z szablonem i wypisuje brakujące klucze, nadmiarowe klucze, puste wartości oraz placeholdery, które przestały się zgadzać. Darmowe, bez rejestracji, a pliki nigdy nie opuszczają przeglądarki.

Porównaj pliki ARB

Lub wklej zawartość dwóch plików

Porównanie w przeglądarce: żaden plik nie jest wysyłany.

Popraw je bez ręcznej edycji każdego pliku

LocalePilot to aplikacja desktopowa, która otwiera cały folder lokalizacji: wykrywa brakujące klucze, sprawdza placeholdery, tłumaczy z lokalnym AI, jeśli chcesz, a potem eksportuje z kopią zapasową. Wersja na macOS jest na ostatniej prostej: zostaw e-mail, a damy znać o premierze.

Czego szuka walidator

  • Brakujące klucze: są w szablonie, ale nie ma ich w danym języku. Aplikacja się kompiluje, ale użytkownicy widzą tekst w języku szablonu zamiast we własnym.
  • Nadmiarowe klucze: są w tłumaczeniu, ale już nie w szablonie, często pozostałości po usuniętej funkcji.
  • Puste wartości: klucz istnieje, ale tłumaczenie jest puste, czego zwykłe porównanie kluczy nie wychwyci.
  • Niezgodne placeholdery: {name} zamienione na {imie} albo pominięte. Placeholdery w liczbie mnogiej i select ICU też są odczytywane.

Klucze zaczynające się od @ (metadane i @@locale) są pomijane. Plikiem wzorcowym jest ten ustawiony w template-arb-file w l10n.yaml, zwykle app_en.arb: narzędzie go odgaduje, a Ty możesz wybrać inny.

Jak znaleźć brakujące klucze w aplikacji Flutter

  1. Zbierz pliki z folderu arb-dir (domyślnie lib/l10n).
  2. Upuść je wszystkie naraz, łącznie z szablonem.
  3. Otwórz każdy język, żeby zobaczyć jego problemy, a potem skopiuj brakujące klucze w formacie ARB: zawierają tekst szablonu i są gotowe do tłumaczenia.

Automatyczną kontrolę przy każdym buildzie, czyli opcję untranslated-messages-file w flutter gen-l10n i mały skrypt do CI, opisuje poradnik o szukaniu brakujących kluczy w plikach ARB. Błędy placeholderów ICU wyjaśnia poradnik o liczbie mnogiej i placeholderach.

Ograniczenia walidatora

Narzędzie porównuje klucze i nazwy placeholderów: nie waliduje pełnej składni ICU (to zadanie flutter gen-l10n), nie ocenia jakości tłumaczeń i nigdy nie modyfikuje plików. Żeby zaimportować cały projekt, przetłumaczyć go i wyeksportować z kopią zapasową, potrzebujesz edytora lokalizacji, takiego jak LocalePilot.

Najczęściej zadawane pytania

Czy moje pliki ARB są wysyłane na serwer?

Nie. Porównanie działa w przeglądarce: żaden plik ani klucz nigdzie nie trafia. Możesz to sprawdzić w zakładce Network w narzędziach deweloperskich.

Który plik jest wzorcem przy szukaniu brakujących kluczy?

Plik szablonu, na który wskazuje template-arb-file w l10n.yaml (często app_en.arb). Narzędzie wybiera go na podstawie @@locale lub nazwy pliku, a Ty możesz wskazać inny.

Czy narzędzie zmienia moje pliki?

Nie, działa tylko do odczytu. Proponuje jedynie skopiowanie brakujących kluczy w formacie ARB, z tekstem szablonu, żeby można je było przetłumaczyć.

Jak Flutter zgłasza brakujące tłumaczenia?

Z opcją untranslated-messages-file w l10n.yaml flutter gen-l10n zapisuje do pliku JSON klucze szablonu, których brakuje w każdym języku. Osobny poradnik omawia tę opcję i skrypt porównujący dla CI.

Czy obsługiwane są liczba mnoga i select w ICU?

Jeśli chodzi o placeholdery, tak: te w gałęziach plural i select są porównywane z szablonem. Narzędzie nie waliduje samej składni ICU.

Czym to się różni od LocalePilot?

To narzędzie sprawdza pliki, które wklejasz lub upuszczasz, bez ich zapisywania. LocalePilot to aplikacja desktopowa, kończona właśnie na macOS, która otwiera cały projekt, pozwala go przejrzeć, tłumaczy z lokalnym lub chmurowym AI i eksportuje z kopią zapasową.

Daj mi znać o premierze

LocalePilot jest na etapie finalizacji. Zostaw swój adres e-mail, aby dowiedzieć się o premierze.

  • macOS 12 lub nowszy · Ollama lub LM Studio opcjonalnie
  • Interfejs aplikacji po angielsku, francusku, hiszpańsku, włosku i portugalsku.