Przejdź do treści

Konwerter PO na JSON

Konwertuj katalog gettext .po na JSON i odwrotnie.

Wejście
Wynik

Konwerter PO na JSON

Wklej katalog gettext .po a to narzędzie konwertuje każdą parę msgid/msgstr do obiektu JSON, gotowego do załadowania do biblioteki JavaScript i18n lub ręcznej inspekcji. Przełącz kierunek i działa w drugą stronę – zmienia obiekt tłumaczenia JSON z powrotem na prawidłowy plik .po. Programiści używają go do połączenia narzędzi do zarządzania tłumaczeniami, które eksportują .po, z front-end stackami oczekującymi JSON, bez instalacji narzędzi gettext lub pisania skryptu jednorazowego.

Opcje kontrolują dokładny kształt JSON. "Zagnieżdżaj klucze według podzielonych msgid" zamienia katalog płaski, taki jak "nav.home" na obiekty zagnieżdżone zamiast jednego długiego klucza. "Pomiń wpisy z pustym tłumaczeniem" filtruje msgid, które nikt jeszcze nie tłumaczył. Formy liczby mnogiej (msgid_plural plus msgstr[0], msgstr[1]...) stają się tablicą JSON lub oddzielonymi kluczami z sufiksem, takimi jak key_0 i key_1. Kontekst msgctxt, jeśli jest obecny, może zmieszać się w klucz jako przedrostek context|msgid, aby identyczne angielskie ciągi używane w różnych miejscach nie kolidowały. Komentarze, odnośniki do źródła i nagłówek katalogu (blok metadanych na początku większości plików .po) można każdy zachować lub pominąć.

Wielowierszowe i skatenowane literały ciągów, ucieczkowe cudzysłowy, backslashe i nowe linie są obsługiwane w taki sposób, w jaki pisze je sam gettext, w obu kierunkach. Licznik na żywo raportuje, ile wpisów jest przetłumaczonych, nieprzetłumaczonych i oznaczonych jako fuzzy, abyś mógł ocenić kompletność katalogu bez otwierania edytora tłumaczeń. Obsługiwane są bardzo duże katalogi; wynik, który przekraczałby limit rozmiaru wyjścia, daje wiadomość zamiast zamarznięcia karty.

Wszystko działa lokalnie w twojej przeglądarce – plik .po często zawiera cały tekst interfejsu użytkownika produktu i nie jest nigdzie przesyłany. Skopiuj wynik, pobierz go jako plik tekstowy lub wyślij go bezpośrednio z powrotem na wejście, aby konwertować ponownie w przeciwnym kierunku.

Częste pytania

Co się stanie z nagłówkiem .po podczas konwersji na JSON?
Gdy "Zachowaj nagłówek katalogu" jest włączone, blok metadanych (msgid "") jest zahrnuty jako obiekt pod kluczem pustego ciągu. Wyłącz go, aby uzyskać tylko przetłumaczone ciągi.
Jak są reprezentowane formy liczby mnogiej?
Gdy "Formy liczby mnogiej jako tablica" jest włączone, wpisy msgid_plural stają się tablicą JSON każdego msgstr[n]. Wyłącz ją i każda forma staje się własnym kluczem z sufiksem liczbowym, takim jak item_0 i item_1.
Czy mogę przetworzyć plik w obu kierunkach?
Tak. Konwertuj .po na JSON, edytuj JSON, a następnie przełącz kierunek i konwertuj z powrotem – te same opcje (zagnieżdżanie, przedrostek msgctxt, styl liczby mnogiej) są używane po obu stronach, aby kształty się zgadzały.
Co się liczy jako wpis "fuzzy"?
Wpis, który gettext oznaczył flagą #, fuzzy, co oznacza, że został stworzony przez maszynę lub wcześniejszego tłumacza, ale nadal wymaga przeglądu. Licznik na żywo liczy je osobno od wpisów przetłumaczonych i nieprzetłumaczonych.
Czy mój katalog tłumaczeń jest gdzieś przesyłany?
Nie. Konwersja odbywa się całkowicie w twojej przeglądarce za pomocą JavaScriptu – twój plik .po lub JSON nigdy nie opuszcza twoje urządzenie.