|
Přípony souborů |
.po |
|
Rozšíření API |
gettext |
|
Import |
Ano |
|
Export |
Ano |
|
Podpora plurálových tvarů |
Ano |
|
Podpora pro popis |
Ano |
|
Možnosti formátu Tyto možnosti, které 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 dotazových parametrech |
|
.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 .PO souboru 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í .POT soubor do lokalizovaných .PO souborů pro nahrání do nástroje CAT pro překlad. Po překladu, gettext převádí přeložené .PO soubory do .MO souborů (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í k generování lokalizovaných .PO souborů. Přímý překlad souboru .POT a jeho přejmenování podle později zamýšleného jazyka 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át |
true |
|
Stáhnout |
false |
|
Výchozí |
false |
|
Popis |
Přijímá překladový obsah z hodnoty |
|
Identifikátor |
is_bilingual_file |
|
Typ |
Booleovský typ |
|
Nahrát |
true |
|
Stáhnout |
false |
|
Výchozí |
false |
|
Popis |
Jak zdrojové, tak cílové překlady budou importovány ze nahraného souboru: obsah zdroje 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" "Kódování přenosu obsahu: 8bit\n" "Plurální-formy: nplurals=2; plural=(n != 1);\n" "X-Generator: 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!" Tento klíč má popis! (Alespoň v některých formátech)" msgid "key_with_line-break" msgstr "Tento překlad obsahuje\na zalomení řádku." msgid "nested.deeply.key" msgstr "Wow, tento klíč je vnořen ještě hlouběji." msgid "nested.key" msgstr "Tento klíč je vlož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ě!" (V některých formátech také exportujeme tento stav)"
Typický vstup gettext:
# popis (Volitelné) msgid "key-name" msgstr "My Translation"
hlavička gettextu
Hlavička souboru gettext může obsahovat název jazyka a data pro pluralizace, která jsou extrahována během importu:
msgid "" msgstr "" "Jazyk: en\n" "MIME-Verze: 1.0\n" "Typ obsahu: text/plain; charset=UTF-8\n" "Kódování přenosu obsahu: 8bit\n" "Plurální-formy: nplurals=2; plural=(n != 1);\n" "X-Generator: 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 symboly trubky ||:
msgctxt "menu" msgid "Otevřít" msgstr "Jsem překlad" msgctxt "forum" msgid "Otevřít" msgstr "Jsem nějaký jiný překlad"
Chcete-li přidat msgctxt k novému klíči, přidejte 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 plurálové tvary pro překlad:
msgid "nové_zprávy"
msgid_plural ""
msgstr[0] "Máte novou zprávu"
msgstr[1] "Máte %{count} nové zprávy"
Částečná shoda
Klíčové slovo fuzzy se používá pro ověřování překladu. Fuzzy automaticky vyvolává proces neověření v rámci Phrase.
#, fuzzy msgid "app_title" msgstr "Můj softwarový projekt"