localize
Wyciągaj teksty, zamieniaj na klucze tłumaczeń i synchronizuj aplikacje w wielu językach
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do lokalizacji aplikacji i komponentów. Automatycznie wyodrębnia zakodowane na stałe teksty z kodu, zamienia je na wywołania funkcji tłumaczenia i synchronizuje tłumaczenia między językami. Przydatny gdy dodajesz obsługę i18n do projektu, tłumaczysz interfejs użytkownika lub pracujesz z plikami tłumaczeń. Obsługuje strukturę kluczy dla menu, okien dialogowych, komunikatów statusu i etykiet dostępności.
Jak używać
Uruchom skrypt do wyodrębniania tekstów: bun run scripts/extract-strings.ts --pattern [PATTERN], gdzie [PATTERN] to wzorzec plików do przeskanowania. Skill przeskanuje komponenty i znajdzie wszystkie zakodowane na stałe stringi.
W każdym komponencie dodaj import react-i18next: import { useTranslation } from "react-i18next", następnie użyj hooka const { t } = useTranslation(). Zamień znalezione teksty na wywołania t() z kluczami w formacie apps.[nazwaAplikacji].kategoria.klucz, na przykład t("apps.ipod.menu.file") dla etykiet menu czy t("apps.ipod.dialogs.clearLibraryTitle") dla tytułów okien.
Dodaj angielskie tłumaczenia do pliku src/lib/locales/en/translation.json, zachowując strukturę zagnieżdżoną: apps > nazwa aplikacji > kategoria (menu, dialogs, status, ariaLabels, help) > klucz. Na przykład {"apps": {"ipod": {"menu": {"file": "File"}}}}.
Zsynchronizuj tłumaczenia między wszystkimi językami: bun run scripts/sync-translations.ts --mark-untranslated. Skill doda brakujące klucze do wszystkich plików języków i oznacz je jako [TODO].
Przejrzyj wygenerowane klucze i upewnij się, że struktura jest spójna. Możesz używać zmiennych w tłumaczeniach, na przykład t("apps.ipod.status.trackCount", { count: 5 }), oraz warunkowych wyrażeń t() w logice komponentu.