Vai al contenuto
100% locale

Convertitore da PO a JSON

Converti un catalogo gettext .po in JSON e viceversa.

Ingresso

Convertitore da PO a JSON

Incolla un catalogo gettext .po e questo strumento converte ogni coppia msgid/msgstr in un oggetto JSON, pronto per caricare in una libreria i18n JavaScript o ispezionare manualmente. Inverti la direzione e funziona anche al contrario, trasformando un oggetto di traduzione JSON in un file .po valido. Gli sviluppatori lo usano per collegare strumenti di gestione delle traduzioni che esportano .po con stack front-end che si aspettano JSON, senza installare strumenti gettext o scrivere uno script personalizzato.

Le opzioni controllano la forma esatta del JSON. "Nidificare le chiavi per msgid punteggiato" trasforma un catalogo piatto come "nav.home" in oggetti annidati invece di una singola chiave lunga. "Elimina voci senza traduzione" filtra gli msgid che nessuno ha ancora tradotto. Le forme plurali (msgid_plural più msgstr[0], msgstr[1]...) diventano un array JSON o chiavi separate con suffisso come key_0 e key_1. Un contesto msgctxt, se presente, può essere incorporato nella chiave come un prefisso context|msgid in modo che stringhe inglesi identiche utilizzate in posti diversi non si scontrino. I commenti, i riferimenti di origine e l'intestazione del catalogo (il blocco di metadati in cima alla maggior parte dei file .po) possono essere conservati o scartati.

Le stringhe letterali multilinea e concatenate, le virgolette con escape, le barre rovesciate e i ritorni a capo vengono gestiti come gettext le scrive, in entrambe le direzioni. Il contatore dal vivo segnala quante voci sono tradotte, non tradotte e contrassegnate come fuzzy, in modo da poter valutare la completezza del catalogo senza aprire un editor di traduzione. Sono supportati cataloghi molto grandi; un risultato che supererebbe il limite di dimensione dell'output produce un messaggio invece di bloccare la scheda.

Tutto viene eseguito localmente nel tuo browser — un file .po spesso contiene l'intero testo dell'interfaccia utente di un prodotto, e nulla viene caricato da nessuna parte. Copia il risultato, scaricalo come file .txt o invialo direttamente all'input per convertire di nuovo nella direzione opposta.

FAQ

Che succede all'intestazione .po quando converto in JSON?
Con "Conserva l'intestazione del catalogo" attivato, il blocco di metadati (msgid "") è incluso come oggetto sotto la chiave stringa vuota. Disattivalo per ottenere solo le stringhe tradotte.
Come vengono rappresentate le forme plurali?
Con "Forme plurali come array" attivato, le voci msgid_plural diventano un array JSON di ogni msgstr[n]. Disattivalo e ogni forma diventa la sua propria chiave con un suffisso numerico, come item_0 e item_1.
Posso fare un andata e ritorno attraverso entrambe le direzioni?
Sì. Converti .po in JSON, modifica il JSON, quindi cambia direzione e converti di nuovo — le stesse opzioni (annidamento, prefisso msgctxt, stile plurale) vengono utilizzate su entrambi i lati in modo che le forme corrispondano.
Cosa conta come voce "fuzzy"?
Una voce che gettext ha contrassegnato con il flag #, fuzzy, il che significa che una macchina o un traduttore precedente l'ha redatta ma ha ancora bisogno di revisione. Il contatore dal vivo conta questi separatamente dalle voci tradotte e non tradotte.
Il mio catalogo di traduzioni viene caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser usando JavaScript — il tuo file .po o JSON non lascia mai il tuo dispositivo.