|
Přípony souborů |
.po |
|
API rozšíření |
gettext |
|
Import |
Ano |
|
Export |
Ano |
|
Podpora plurálových tvarů |
Ano |
|
Podpora pro popis |
Ano |
|
Možnosti formátu Tyto možnosti lze specifikovat při nahrávání a/nebo stahování souboru. V závislosti na metodě nahrávání/stahování (API, CLI, synchronizace repozitáře atd.) mohou být specifikovány v parametrech dotazu |
|
.PO (Portable Object) je standardní formát souboru pro lokalizaci s GNU gettext, open-source GNU knihovnou navrženou k zjednodušení procesu lokalizace. S GNU gettext jsou lokalizovatelné řetězce extrahovány ze zdrojového kódu do souboru PO pro překlad. Soubor .PO je sérií párů klíč-hodnota. Klíč msgid je místo, kde je umístěn zdrojový řetězec, zatímco hodnota msgstr je místo, kde jde překlad.
gettext extrahuje řetězce ze zdrojového kódu do .POT (šablona přenosného objektu). Na základě definovaných lokalit gettext poté převádí soubor .POT na lokalizované .PO soubory pro nahrání do nástroje CAT pro překlad. Po překladu gettext převádí přeložené .PO soubory na .MO soubory (soubory strojového objektu), které se nakonec používají pro lokalizaci.
.PO soubory jsou identické s .POT soubory, s výjimkou toho, že .POT soubory se obvykle používají gettextem k generování lokalizovaných .PO souborů. Překlad .POT souboru přímo a jeho přejmenování podle později zamýšlené lokality nezpůsobuje problémy. Phrase podporuje překlad:
-
.PO soubory
-
Dvojjazyčné .PO soubory
-
Strojově čitelné .MO soubory
msgctxt bude použito jako prefix klíče, kombinované s msgid a oddělené ||.
Možnosti formátu
|
Identifikátor |
msgid_as_default |
|
Typ |
Booleovský typ |
|
Nahrání |
true |
|
Stažení |
false |
|
Výchozí |
false |
|
Popis |
Vezme obsah překladu z hodnoty |
|
Identifikátor |
is_bilingual_file |
|
Typ |
Booleovský typ |
|
Nahrání |
true |
|
Stažení |
false |
|
Výchozí |
false |
|
Popis |
Jak zdrojové, tak cílové překlady budou importovány ze nahraného souboru: zdrojový obsah bude převzat z hodnoty |
Vzor kódu
msgid "" msgstr "" "Jazyk: Angličtina\n" "MIME-Verze: 1.0\n" "Typ obsahu: text/plain; charset=UTF-8\n" "Přenos kódování obsahu: 8bit\n" "Plurální-formy: nplurals=2; plural=(n != 1);\n" "X-Generátor: PhraseApp (phraseapp.com)\n" msgid "boolean_key" msgstr "--- true\n" msgid "empty_string_translation" msgstr "" # Toto je úžasný popis pro tento klíč! msgid "key_with_description" msgstr "Podívejte se na to!" This key has a description! (At least in some formats)" msgid "key_with_line-break" msgstr "Tento překlad obsahuje\na zalomení řádku." msgid "nested.deeply.key" msgstr "Wow, tento klíč je ještě hlouběji vnořený." msgid "nested.key" msgstr "Tento klíč je vnořený uvnitř jmenného prostoru." msgid "null_translation" msgstr "" msgid "pluralized_key" msgid_plural "" msgstr[0] "Byla nalezena pouze jedna pluralizace." msgstr[1] "Wow, máte %s pluralizací!" msgid "sample_collection" msgstr "---\n- první položka\n- druhá položka\n- třetí položka\n" msgid "simple_key" msgstr "jednoduchý klíč, jednoduchá zpráva, tak jednoduché." #, fuzzy msgid "unverified_key" msgstr "Potřebuji ověření, prosím ověřte mě!" (In some formats we also export this status)"
Typický vstup gettextu:
# popis (Volitelné) msgid "key-name" msgstr "Moje překlad"
gettext Hlavička
Hlavička souboru gettext může obsahovat název jazyka a data pro pluralizace, která jsou extrahována během importu:
msgid "" msgstr "" "Jazyk: cs\n" "MIME-Verze: 1.0\n" "Typ obsahu: text/plain; charset=UTF-8\n" "Přenos kódování obsahu: 8bit\n" "Plurální-formy: nplurals=2; plural=(n != 1);\n" "X-Generátor: PhraseApp (phraseapp.com)\n"
Popisy
Komentáře v souboru gettext jsou přidány jako popisy klíčů během importu:
# Toto je můj popis msgid "app_title" msgstr "Můj softwarový projekt"
Kontext
gettext používá notaci msgctxt k rozlišení různých kontextů pro stejný msgid. Každé jméno klíče musí být jedinečné, takže msgctxt je přidáno jako první část názvu klíče, oddělené dvěma svislými čarami ||:
msgctxt "menu" msgid "Otevřít" msgstr "Jsem překlad" msgctxt "forum" msgid "Otevřít" msgstr "Jsem nějaký jiný překlad"
Abychom přidali msgctxt k novému klíči, přidáme ho na začátek názvu klíče:
my_context||my_key_name
Výsledný výstup gettext:
... msgctxt "my_context" msgid "my_key_name" ...
Plurálové tvary
gettext podporuje množné formy pro překlad:
msgid "new_messages"
msgid_plural ""
msgstr[0] "Máte novou zprávu"
msgstr[1] "Máte %{count} nových zpráv"
částečná shoda
Klíčové slovo fuzzy se používá pro ověřování překladu. Fuzzy automaticky spouští proces neověření v rámci Phrase.
#, fuzzy msgid "app_title" msgstr "Můj softwarový projekt"