|
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 lze specifikovat při nahrání a/nebo stažení souboru. V závislosti na metodě nahrání/stažení (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 knihovnou GNU navrženou pro 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 řada párů klíč-hodnota. Klíč msgid je místo, kam se umísťuje zdrojový řetězec, zatímco hodnota msgstr je místo, kam se vkládá překlad.
gettext extrahuje řetězce ze zdrojového kódu do .POT (šablona přenosného objektu). Na základě definovaných kódů jazyka pak gettext převede soubor .POT na soubory .PO specifické pro kód jazyka pro nahrání do CAT nástroje k překladu. Po překladu gettext převede přeložené soubory .PO na soubory .MO (strojové objektové soubory), které se nakonec použijí pro lokalizaci.
Soubory .PO jsou identické se soubory .POT s výjimkou toho, že soubory .POT se obecně používají v gettext k vygenerování souborů .PO 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 nezpůsobuje problémy. Phrase podporuje překlad:
-
.PO souborů
-
Bilingvních .PO souborů
-
Strojově čitelných .MO souborů
msgctxt bude použit jako předpona klíče, kombinovaná s msgid a oddělená pomocí ||.
Možnosti formátu
|
Identifikátor |
msgid_as_default |
|
Typ |
Booleovský typ |
|
Nahrání |
true |
|
Stažení |
false |
|
Výchozí |
false |
|
Popis |
Přebírá obsah překladu z hodnoty |
|
Identifikátor |
is_bilingual_file |
|
Typ |
Booleovský typ |
|
Nahrání |
true |
|
Stažení |
false |
|
Výchozí |
false |
|
Popis |
Zdrojové i cílové překlady budou importovány z nahraného souboru: zdrojový obsah bude převzat z hodnoty |
Vzor kódu
msgid "" msgstr "" "Language: Czech\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\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!" This key has a description! (At least in some formats)" msgid "key_with_line-break" msgstr "Tento překlad obsahuje\nnový řádek." msgid "nested.deeply.key" msgstr "Páni, tento klíč je vnořen ještě hlouběji." msgid "nested.key" msgstr "Tento klíč je vnořen uvnitř jmenného prostoru." msgid "null_translation" msgstr "" msgid "pluralized_key" msgid_plural "" msgstr[0] "Nalezena pouze jedna pluralizace." msgstr[1] "Páni, 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é.2" #, částečná shoda msgid "unverified_key" msgstr "Potřebuji ověření, prosím ověř mě!" (In some formats we also export this status)"
Typická položka gettext:
# popis (volitelné) msgid "key-name" msgstr "My Translation"
Hlavička gettext
Hlavička souboru gettext může obsahovat kód jazyka a data pro tvary množného čísla, která jsou extrahována během importu:
msgid "" msgstr "" "Language: en\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" "X-Generator: PhraseApp (phraseapp.com)\n"
Popisy
Komentáře v souboru gettext jsou během importu přidány jako popisy klíčů:
# 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ý název klíče musí být jedinečný, proto je jako první část názvu klíče přidán msgctxt, oddělený dvěma symboly svislítka ||:
msgctxt "menu" msgid "Otevřít" msgstr \"Jsem překlad\" msgctxt "forum" msgid "Otevřít" msgstr "Jsem nějaký jiný překlad"
Chcete-li msgctxt přidat k novému klíči, přidejte jej před název 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á čísla pro překlad:
msgid "nové_zprávy"
msgid_plural ""
msgstr[0] \"Máte novou zprávu\"
msgstr[1] \"Máte %{count} nových zpráv\"
Částečná shoda
Klíčové slovo částečná shoda se používá pro ověření překladu. Částečná shoda automaticky vyvolá proces neověření v rámci Phrase.
#, částečná shoda msgid "app_title" msgstr "Můj softwarový projekt"