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 |
|
.Objednávka (Portable Object) je standardní formát souboru pro lokalizaci s GNU gettextem, knihovnou GNU s otevřeným zdrojem, která má zjednodušit proces lokalizace. Pomocí GNU gettext jsou Localizable Strings extrahovány ze zdroje kódu do souboru Objednávky k překladu. Soubor .OBJEDNÁVKA je řada párů klíčů a hodnot. Klíč msgid
je místo, kde je umístěn řetězec zdroje, zatímco hodnota msgstr
je místo, kde probíhá překlad.
gettext extrahuje Strings ze zdroje kódu do .POT (přenosná šablona objektu). Na základě definovaných kódů jazyků pak gettext převede soubor .OBJEDNÁVKY na soubory .PO specifické pro kód jazyka, které lze nahrát do CAT nástroje k překladu. Po překladu gettext převede přeložené soubory .Objednávky na soubory .MO (soubory strojového objektu) případně použité pro lokalizaci.
Soubory .OBJEDNÁVKY jsou totožné se soubory .POT s výjimkou souborů .POT, které jsou obecně používány gettextem ke generování souborů .OBJEDNÁVKY specifických pro kód jazyka. Přímý překlad souboru .POT a jeho přejmenování podle později zamýšleného kódu jazyka negeneruje problémy. Phrase podporuje překlad:
-
.PO files
-
Dvojjazyčné soubory .Objednávky
-
Strojově čitelné soubory .MO
msgctxt
bude použit jako předpona 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 |
Převezme překladový obsah z hodnoty |
Identifikátor |
is_bilingual_file |
Typ |
Booleovský typ |
Nahrání |
true |
Stažení |
false |
Výchozí |
false |
Popis |
Z nahraného souboru budou importovány překlady zdroje i cíle: obsah zdroje bude vyzvednut z hodnoty |
Vzor kódu
msgid „“ msgstr „“ "Jazyk: English\n" "MIME-verze: 1,0\n" "Typ obsahu: text/plain; znaková sada=UTF-8\n" "Kódování přenosu obsahu: 8bit\n" "Plurálové tvary: nplurals=2; plural=(n != 1);\n" "Generátor X: PhraseApp (phraseapp.com)\n" msgid "boolean_key" msgstr "--- true\n" msgid "empty_string_translation" msgstr „“ # To je úžasný popis tohoto klíče! 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 "Tyto překlady obsahují\na zalomení řádku." msgstr "nested.deeply.key" "Wow, tento klíč je vnořený ještě hlouběji." msgstr "nested.key" msgstr "Tento klíč je vnořený do jmenného prostoru." msgstr "null_translation" msgstr „“ msgid "pluralized_key" msgid_plural "" msgstr[0] „Byla nalezena pouze jedna pluralizace.“ msgstr[1] "Wow, you have %s pluralizations!" msgstr "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á.2" #, fuzzy msgid "unverified_key" msgstr "Potřebuji ověření, ověřte mě! (In some formats we also export this status)"
Typická položka gettextu:
# popis (volitelné) msgstr "Název klíče" msgstr "Můj překlad"
Gettext Header
Záhlaví souboru gettext může obsahovat název kódu jazyka a data pro plurálové tvary, která se extrahují při importu:
msgid „“ msgstr „“ "Jazyk: cs\n" "MIME-verze: 1,0\n" "Typ obsahu: text/plain; znaková sada=UTF-8\n" "Kódování přenosu obsahu: 8bit\n" "Plurálové tvary: nplurals=2; plural=(n != 1);\n" "Generátor X: PhraseApp (phraseapp.com)\n"
Popisy
Komentáře v souboru gettext se při importu přidávají jako popisy klíčů:
# This is my description 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ý název klíče musí být jedinečný, proto se jako první část názvu klíče přidá msgctxt
oddělený dvěma symboly trubek ||
:
msgctxt "menu" msgstr "Otevřít" msgstr "Jsem překlad" msgctxt "forum" msgstr "Otevřít" msgstr "Jsem nějaký jiný překlad"
Chcete-li přidat msgctxt
k novému klíči, předložte jej k názvu klíče:
my_context||my_key_name
Výsledný výstup gettextu:
... msgctxt "my_context" msgid "my_key_name" ...
Plurálové tvary
gettext podporuje plurálové tvary pro překlad:
msgstr "nové_zprávy" msgid_plural "" msgstr[0] „Máte novou zprávu“ msgstr[1] "Máte %{count} nových zpráv"
Fuzzy
Pro ověření překladu se použije klíčové slovo částečná shoda. Částečná shoda automaticky vyvolá proces zrušení ověření ve Phrase.
#, fuzzy msgid "app_title" msgstr "Můj softwarový projekt"