Get Text (po)
GNU Gettext je jedním z nejstarších a nejrozšířenějších internacionalizačních systémů, původně vyvinutý pro unixové nástroje a nyní používaný v Pythonu (Django, Flask), PHP (Symfony, WordPress), Ruby, C a mnoha dalších platformách. Gettext používá dva typy souborů: soubory PO (Portable Object) pro lidský překlad a soubory POT (PO Template) generované ze zdrojového kódu.
Soubory PO obsahují překladové záznamy skládající se z volitelných kontextových komentářů, identifikátorů kontextu msgctxt, msgid (zdrojový řetězec) a msgstr (přeložený řetězec). Záznamy s množným číslem používají msgid_plural spolu s msgstr[0], msgstr[1] a dalšími množnými formami podle potřeby cílového jazyka. Příznaky fuzzy označují záznamy, které potřebují kontrolu — typicky automaticky spárované řetězce, u nichž se zdroj změnil. Metadata hlavičky definují vzorec množných forem pro daný jazyk.
Osvědčená praxe: označujte řetězce ve zdrojovém kódu standardní zkratkovou funkcí podtržítka gettext a vždy přidávejte komentáře překladatele vysvětlující kontext. Spouštějte xgettext nebo frameworkový ekvivalent v CI sestaveních, aby byla šablona POT aktuální. Používejte msgctxt k rozlišení řetězců se stejným zdrojovým textem, které vyžadují různé překlady v různých kontextech — například slovo Soubor použité jako podstatné jméno oproti slovesu. Language Monster podporuje soubory Gettext PO a POT, správně zpracovává definice množných forem a zpracovává záznamy označené příznakem fuzzy.
