Hoppa till innehåll
100% lokalt

PO till JSON-konverterare

Konvertera en Gettext .po-översättningskatalog till JSON och omvänt.

Inmatning
Utmatning

PO till JSON-konverterare

Klistra in en Gettext .po-katalog och det här verktyget konverterar varje msgid/msgstr-par till ett JSON-objekt som är klart att läsas in i ett JavaScript i18n-bibliotek eller inspekteras för hand. Vänd riktningen och det fungerar också åt andra hållet, och konverterar ett JSON-översättningsobjekt tillbaka till en giltig .po-fil. Utvecklare använder det för att överbrygga översättningshanteringsverktyg som exporterar .po med front-end-stackar som förväntar JSON, utan att behöva installera Gettext-verktyg eller skriva ett engångsscript.

Alternativen styr den exakta formen på JSON. "Kapsla nycklar efter prickad msgid" förvandlar en platt katalog som "nav.home" till kapslade objekt i stället för en lång nyckel. "Släpp poster utan översättning" filtrerar bort msgids som ännu inte har översatts av någon. Pluralformer (msgid_plural plus msgstr[0], msgstr[1]...) blir antingen en JSON-array eller separata nycklar med suffixar som key_0 och key_1. En msgctxt-kontext kan, när den finns, vikas in i nyckeln som ett "context|msgid"-prefix så att identiska engelska strängar som används på olika ställen inte kolliderar. Kommentarer, källreferenser och katalogkopfen (metadatalogenen överst i de flesta .po-filer) kan var och en behållas eller tas bort.

Flera rader och sammankedjade strängbokstäver, escaped-citat, omvänt snedstreck och radbrytningar hanteras på samma sätt som Gettext skriver dem, i båda riktningarna. Live-presentationen rapporterar hur många poster som är översatta, oöversatta och märkta som fuzzy, så du kan bedöma katalogslutförandet utan att öppna en redigeringsprogram för översättning. Mycket stora kataloger stöds; ett resultat som skulle överskrida gränsen för utdatastorlek producerar ett meddelande i stället för att frysa fliken.

Allt körs lokalt i din webbläsare – en .po-fil innehåller ofta hela en produkts UI-text, och ingen av den laddas upp någonstans. Kopiera resultatet, ladda ned det som en .txt-fil eller skicka det direkt tillbaka till inmatningen för att konvertera det igen i motsatt riktning.

FAQ

Vad händer med .po-rubriken när jag konverterar till JSON?
Med "Behåll katalogkopf" på, ingår metadatalogenen (msgid "") som ett objekt under den tomma strängnyckeln. Stäng av det för att bara få de översatta strängarna.
Hur representeras pluralformer?
Med "Pluralformer som en array" på blir msgid_plural-poster en JSON-array med alla msgstr[n]. Stäng av det och varje form blir sin egen nyckel med ett numeriskt suffix, som item_0 och item_1.
Kan jag göra ett roundtrip av en fil genom båda riktningarna?
Ja. Konvertera .po till JSON, redigera JSON, byt sedan riktning och konvertera tillbaka – samma alternativ (kapsling, msgctxt-prefix, pluralstil) används på båda sidor så formerna matchar.
Vad räknas som en "fuzzy" post?
En post som Gettext markerat med flaggan #, fuzzy, vilket betyder att en maskin eller en tidigare översättare utkastad den men den behöver fortfarande granskas. Live-resultatet räknar dessa separat från översatta och oöversatta poster.
Laddas min översättningskatalog upp någonstans?
Nej. Konverteringen körs helt och hållet i din webbläsare med JavaScript – din .po- eller JSON-fil lämnar aldrig din enhet.