Sări la conținut
Complet local

Convertor PO la JSON

Convertiți un catalog gettext .po în JSON și invers.

Intrare
Ieșire

Convertor PO la JSON

Lipiți un catalog gettext .po și acest instrument convertește fiecare pereche msgid/msgstr într-un obiect JSON, gata să fie încărcat într-o bibliotecă i18n JavaScript sau inspectat manual. Inversați direcția și funcționează și în sens invers, convertind un obiect JSON de traducere înapoi la un fișier .po valid. Programatorii o folosesc pentru a conecta instrumentele de gestionare a traducerilor care exportă .po cu stive front-end care se așteaptă la JSON, fără a instala instrumente gettext sau a scrie un script unic.

Opțiunile controlează forma exactă a JSON. "Imbricare chei după msgid separat de puncte" transformă un catalog plat cum ar fi "nav.home" în obiecte imbricate în loc de o singură cheie lungă. "Elimina intrări cu traducere goală" filtrează msgid-uri pe care nimeni nu le-a tradus încă. Formele plurale (msgid_plural plus msgstr[0], msgstr[1]...) devin fie o matrice JSON, fie chei separate cu sufix cum ar fi key_0 și key_1. Un context msgctxt, când este prezent, poate fi pliat în cheia ca prefix context|msgid, astfel încât șiruri de limba engleză identice utilizate în locuri diferite să nu se ciocnească. Comentarii, referințe de origine și antetul catalogului (blocul de metadate din vârful majorității fișierelor .po) pot fi fie păstrate, fie eliminate.

Literali șir multi-linie și concatenați, ghilimele scapate, barre inverse și linii noi sunt tratate în modul în care gettext însuși le scrie, în ambele direcții. Contorul în timp real raportează câte intrări sunt traduse, netraduse și marcate fuzzy, ainsi încât să puteți evalua completitudinea catalogului fără a deschide un editor de traducere. Cataloge foarte mari sunt suportate; un rezultat care ar depăși limita de dimensiune de ieșire produce un mesaj în loc să înghețe fila.

Tot ce se întâmplă local în browserul dumneavoastră — un fișier .po conține adesea întregul text interfață al unui produs, și nimic din el nu este trimis nicăieri. Copiați rezultatul, descărcați-l ca fișier .txt sau trimiteți-l direct înapoi în intrare pentru a converti din nou în direcția opusă.

FAQ

Ce se întâmplă cu antetul .po când convertesc la JSON?
Cu "Păstrează antetul catalogului" activat, blocul de metadate (msgid "") este inclus ca un obiect sub cheia șir gol. Dezactivați-l pentru a obține doar șirurile traduse.
Cum sunt reprezentate formele plurale?
Cu "Forme plurale ca array" activat, intrările msgid_plural devin o matrice JSON pentru fiecare msgstr[n]. Dezactivați-l și fiecare formă devine propria sa cheie cu un sufix numeric, cum ar fi item_0 și item_1.
Pot face un round-trip a unui fișier prin ambele direcții?
Da. Convertiți .po la JSON, editați JSON, apoi schimbați direcția și convertiți înapoi — aceleași opțiuni (imbricare, prefix msgctxt, stil plural) sunt folosite de ambele părți, deci formele se potrivesc.
Ce este considerat o intrare "fuzzy"?
O intrare pe care gettext a marcat-o cu semnalul #, fuzzy, ceea ce înseamnă că o mașină sau un traducător anterior a redactat-o dar încă are nevoie de revizuire. Contorul în timp real le numără separat de intrările traduse și netraduse.
Catalogul meu de traducere este trimis undeva?
Nu. Conversia se desfășoară în întregime în browserul dvs. folosind JavaScript — fișierul .po sau JSON nu pleacă niciodată de pe dispozitivul dvs.