CLI

Úprava konfiguračního souboru CLI (Strings)

Obsah je strojově přeložen z angličtiny s použitím Phrase Language AI.

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 a Pull

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

Možnosti formátu

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: ";"

Zástupné znaky a globování

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.

Čekání na Uploads

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.

Příklady použití

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í.

Příklady konfigurace pro frameworky

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
Byl pro vás tento článek užitečný?

Sorry about that! In what way was it not helpful?

The article didn’t address my problem.
I couldn’t understand the article.
The feature doesn’t do what I need.
Other reason.

Note that feedback is provided anonymously so we aren't able to reply to questions.
If you'd like to ask a question, submit a request to our Support team.
Thank you for your feedback.