Soubor .phrase.yml
se používá k ukládání znovu použitých argumentů příkazového řádku.
Podporované argumenty:
-
project_id
ID projektu.
-
file_format
Formát souboru použitý v případě, že není výslovně určen v zadání zdroje a cíle.
-
per_page
Počet položek vrácených ve stránkovaných odpovědích.
Vzorový konfigurační soubor.
Push
$ phrase push
Příkaz push
nahrává soubory nalezené v adresářích místních projektů. K určení souborů, které chcete nahrát, a nastavení dalších parametrů použijte soubor .phrase.yml
. Zástupný znak <tag>
lze také použít ke stažení klíčů do samostatných souborů na základě jejich tagů.
Pull
$ phrase pull
Podobně jako u příkazu push
, ale nelze použít globování. Při použití zástupných znaků použijte pokud možno <locale_name>
. Chcete-li pull soubor s klíči s konkrétním tagem, použijte parametr tags
:
phrase: pull: targets: - file: path/to/file/<locale_name>.yml params: tags:tag_name
Chcete-li použít zástupný znak <tag>
, musí být požadované tagy uvedeny v oddílu params
.
Parametry
Příkazy push
a pull
lze nakonfigurovat v souboru .phrase.yml
. Možnosti příkazu Push jsou stejné jako u koncového bodu API prouploads (nahrávání)
a možnosti příkazu pull jsou stejné jako u koncového bodu API pro download (stahování)
.
Příklad push:
push: sources: - file: ./locales/en.json params: update_translations: true
Příklad Pull:
pull: targets: - file: "./locales/example.yml" params: include_unverified_translations: true
V závislosti na formátu souboru lze na oddíl parametrů použít formátovací možnosti. Formátovací možnosti lze použít pro uploads, downloads nebo obě.
Příklady formátu:
params: format_options: convert_placeholder: true
Některé formáty souborů umožňují lepší kontrolu nad syntaxí souboru:
phrase: pull: targets: - file: file.xml params: format_options: convert_placeholder: true push: sources: - file: file.csv params: format_options: column_separator: ";"
Do cest v položkách souboru lze umístit následující zástupné znaky a operátory gobování:
-
<locale_name>
Jedinečný název kódu jazyka.
-
<locale_code>
Identifikátor kódu jazyka odpovídající RFC 5646. Kód jazyka nemusí být jedinečný, takže se stejným kódem může existovat více jazyků s různými názvy.
-
<tag>
Pro seskupování klíčů použít tagy. Tagy lze použít k zachování původní struktury souboru.
Globování
*
a **
jsou operátory globování. Jedna hvězdička *
přeskočí libovolnou složku v cestě. Dvojitá hvězdička **
se podobá standardnímu operátoru globování a pro účely opakovatelného hledání shod odpovídá libovolnému znaku.
Příklady:
# a file pattern ./abc/**/*.yml
# with a few files on your system ./abc/defg/en.yml ./abc/es.yml ./fr.yml
# selects ./abc/defg/en.yml ./abc/es.yml
Pokud chcete stáhnout soubory pomocí příkazu pull
, zadejte místo ./**/*.yml
explicitní vzor souboru, jako je ./abc/defg/<locale_name>.yml
.
Veškeré nahrávání se zpracovává asynchronně. Chcete-li na nahrání čekat, použijte příznak --wait
. Push
počká, než se každý soubor nahraje, a vrátí zprávu o úspěchu nebo selhání operace.
Nahrát soubor do vybraného kódu jazyka
Nahrajte soubor en.json
do adresáře ./locales/
s daným locale_id
(kód jazyka už musí existovat).
Update_translations
je nastavena na false, takže se importují pouze nové klíče a překlady. Pokud je nastavena na true, klient by také importoval místní změny do stávajících překladů, čímž by přepsal veškerý již přítomný obsah.
phrase: access_token: ACCESS_TOKEN project_id: PROJECT_ID file_format: nested_json push: sources: - file: ./locales/en.json params: update_translations: false locale_id: YOUR_LOCALE_ID # the locale must exist remotely
Poznámka
Importované položky překladu nelze odstranit. V případě potřeby aktualizujte překlady na prázdné
hodnoty prostřednictvím příslušného koncového bodu API.
Ruby on Rails: nahrát určitý typ souborů
Nahrajte všechny soubory končící na .yml
umístěné v ./config/locales/
. Soubory YAML Ruby on Rails obsahují informace o kódu jazyka, takže není nutné kód jazyka výslovně specifikovat. Update_translations
je nastavena na true, takže všechny změny překladů budou importovány s přepsáním stávajících dat.
phrase: push: sources: - file: ./config/locales/*.yml params: update_translations: true file_format: yml
Přiřazení iOS strings
Pro přiřazení všech souborů iOS strings se soubory s názvem Localizable.strings
ve složkách .lproj
.
<locale_code>
je vše, co se shoduje za /
a před .lproj
, aby bylo možné vytvořit a identifikovat kódy jazyků.
Parametr update_translations
se vynechá a má stejný účinek jako jeho nastavení na false.
phrase: push: sources: - file: "./<locale_code>.lproj/Localizable.strings" params: file_format: strings
Zachovat víc projektů Strings pro jeden lokalizační projekt
Upravte konfigurační soubor a omezte rozsah projektů rozdělením překladů do menších kategorií.
Upravte konfigurační soubor tak, aby vyhovoval požadavkům, a poté jej zařaďte do systému pro správu zdrojů nebo verzí.
Rails
phrase: access_token: ACCESS_TOKEN project_id: PROJECT_ID file_format: "yml" push: sources: - file: "./config/locales/*.yml" pull: targets: - file: "./config/locales/<locale_name>.yml"
iOS strings
phrase: access_token: ACCESS_TOKEN project_id: PROJECT_ID file_format: "strings" push: sources: - file: "./<locale_code>.lproj/Localizable.strings" pull: targets: - file: "./<locale_code>.lproj/Localizable.strings" - file: "./<locale_code>.lproj/Localizable.stringsdict" params: #file_format can be overwritten file_format: "stringsdict"
Android XML
Android nepoužívá standardní kódy jazyků ISO. Požadovaný vzor určete v souboru .phrase.yml
.
phrase: access_token: ACCESS_TOKEN project_id: PROJECT_ID file_format: "xml" push: sources: - file: "./res/values-<locale_code>/strings.xml" pull: targets: - file: "./res/values-<locale_code>/strings.xml"
Příklad s angličtinou jako výchozím jazykem, německým kódem jazyka a německým kódem jazyka pro rakouskou němčinu:
phrase: access_token: ACCESS_TOKEN project_id: PROJECT_ID file_format: xml pull: targets: - file: ./app/src/main/res/values/strings.xml params: file_format: xml # Unique locale id for English locale_id: LOCALE_ID - file: ./app/src/main/res/values-de/strings.xml params: file_format: xml # Unique locale id for German locale_id: LOCALE_ID - file: ./app/src/main/res/values-de-rAU/strings.xml params: file_format: xml # Unique locale id for Austrian locale_id: LOCALE_ID push: sources: - file: ./app/src/main/res/values/strings.xml params: file_format: xml locale_id: LOCALE_ID - file: ./app/src/main/res/values-de/strings.xml params: file_format: xml locale_id: LOCALE_ID - file: ./app/src/main/res/values-de-rAU/strings.xml params: file_format: xml locale_id: LOCALE_ID