CLI

Using the CLI (Strings)

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

Nástroj Phrase Strings CLI pomáhá procházet API a spravovat projekty a překlady rychle z příkazového řádku namísto požadavků z curl.

Pokud používáte datové centrum v USA, předejte hostitele s phrase init --host https://api.us.app.phrase.com/v2. Pokud byla konfigurace už vytvořena, přidejte tento kód:

phrase:
  host: https://api.us.app.phrase.com/v2

Základní použití

Ovládejte, jak klient odesílá a stahuje soubory úpravou konfiguračního souboru .phrase.yml.

  1. Inicializace projektu.

    Inicializujte projekt spuštěním phrase init. Tím se definuje preferovaný formát souboru kódu jazyka, zdrojové soubory a další:

    $ phrase init
  2. Nahrání souborů kódu jazyka.

    Použijte podpříkaz push a nahrajte soubory kódu jazyka:

    $ phrase push
  3. Stažení souborů kódu jazyka.

    Použijte podpříkaz pull a stáhněte si nejnovější soubory kódu jazyka zpět do projektu:

    $ phrase pull
  4. Další podpříkazy.

    Chcete-li zobrazit seznam všech dostupných podpříkazů, spusťte phrase bez zadání podpříkazu. Chcete-li zobrazit všechny podporované možnosti pro určitý podpříkaz, použijte příznak --help:

    $ phrase locales list --help

Vzorový konfigurační soubor.

Escapování pravidel a použití uvozovek

Při předávání objektů JSON na příkazovém řádku se mohou pravidla pro escapování a použití uvozovek lišit podle použitého shellu.

Pokud používáte prostředí Windows, uzavřete celý řetězec JSON do dvojitých uvozovek "" a dvojité uvozovky v JSON ukončete pomocí znaku zpětného lomítka \. Například:

phrase locales create --project_id PROJECT123 --data "{\"name\":\"French\", \"code\":\"fr\"}" --access_token TOKEN123123

Přístup a ověřování

Přístup ke koncovým bodům API

Klient může být použit pro přístup ke všem koncovým bodům API. Například pro vypsání seznamu všech projektů:

$ phrase projects list --access_token ACCESS_TOKEN

Ověřování pomocí přihlašovacích údajů Phrase

Označte uživatelské jméno příznakem --username a bude vyžadováno heslo:

$ phrase projects list --username user@example.com
Password: ********

Je-li pro daného uživatele nebo organizaci aktivováno dvoufaktorové ověření, musí být prostřednictvím příznaku --tfa poskytnut platný vícefaktorový token:

$ phrase projects list --username user@example.com --tfa
Password: ********
TFA: ********

Ověřování pomocí přístupového tokenu

Přístupový token označte příznakem --access_token:

$ phrase projects list --access_token ACCESS_TOKEN

nebo použijte pro uložení tokenu proměnnou prostředí PHRASE_ACCESS_TOKEN:

export PHRASE_ACCESS_TOKEN="ACCESS_TOKEN"

Je-li aktivováno dvoufaktorové ověření, musí být platný vícefaktorový token poskytnut prostřednictvím příznaku --x_phrase_app_otp:

$ phrase projects list --access_token ACCESS_TOKEN --x_phrase_app_otp PASSWORD

Token lze poskytnout také v interaktivním režimu s příznakem --tfa:

$ phrase projects list --access_token ACCESS_TOKEN --tfa
TFA: ********

Přístupový token se ve výchozím nastavení čte z konfiguračního souboru .phrase.yml, ale chování lze přepsat pomocí uvedených příznaků nebo proměnných prostředí a místo toho se použije token poskytnutý prostřednictvím příznaku nebo proměnné prostředí. Tokeny poskytnuté pomocí příznaků přepisují tokeny poskytnuté prostřednictvím proměnné prostředí.

Při ukládání souboru .phrase.yml do úložiště kódu se doporučuje nejprve token odebrat a použít alternativní metody, jako je předání tokenu prostředím nebo označit příkazovým řádkem. Ukládání tajných tokenů přímo do úložiště může představovat problém zabezpečení.

Push and pull

Příkazy push a pull použijte k nahrávání a stahování souborů kódu jazyka. Místo argumentů příkazového řádku se push a pull spoléhají na konfiguraci uloženou v konfiguračním souboru .phrase.yml v kořenové složce projektu.

Pokud má push volbu update_translations nastavenou na true, push překlady přepíše. Pull vždy přepíše překlady v místním souboru.

Příklad konfigurace pro nahrávání a stahování souborů kódu jazyka typické aplikace Rails:

phrase:
  access_token: "ACCESS_TOKEN"
  project_id: "PROJECT_ID"
  file_format: "yml"
  push:
    sources:
      - file: "./config/locales/<locale_name>.yml"
  pull:
    targets:
      - file: "./config/locales/<locale_name>.yml"

Použijte příkaz push a nahrajte soubory kódu jazyka do projektu identifikovaného pomocí project_id s odpovídajícím souborem de.yml a en.yml ve složce config/locales. Pokud jsou k dispozici nové klíče, budou přidány do lokalizačního souboru:

$ phrase push
Uploading config/locales/de.yml
Uploaded config/locales/de.yml successfully.
Uploading config/locales/en.yml
Uploaded config/locales/en.yml successfully.

Použijte příkaz pull a stáhněte soubory kódu jazyka z projektu identifikovaného pomocí project_id do jejich cest k souborům. Pokud jsou k dispozici nové klíče, budou přidány do projektu:

$ phrase pull
Downloaded de to config/locales/de.yml
Downloaded en to config/locales/en.yml

Podpora přenosového limitu

Klient podporuje přenosový limit pro stahování kódu jazyka. Po dosažení přenosového limitu klient čeká, až přenosový limit vyprší, a poté pokračuje ve stahování kódů jazyků. Klient zobrazí zprávurate limit exceeded a stažení bude pokračovat za x sekund.

Upload cleanup

Příkaz uploads cleanup slouží k tomu, aby odstranil klíče, které se nacházejí v projektu, ale nejsou obsaženy v nahraném souboru. Po odeslání souborů kódu jazyka může být nutné odstranit všechny klíče, které nejsou obsaženy ve výchozím kódu jazyka nebo jiném kódu jazyka:

$ phrase uploads cleanup --id <YOUR_UPLOAD_ID>

Možnosti formátu

Některé formáty, jako například CSV, podporují při nahrávání další možnosti formátování. Přístup k těmto možnostem máte pomocí předpony --format_options:

phrase uploads create \
--project_id PROJECT_ID \
--file ./en.csv \
--file_format csv \
--locale_mapping ‘{“en”:3, “de”:2}’ \
--format_options ‘{“key_index”:1}’ \
--access token YOUR_ACCESS_TOKEN

Použít předponu překladového klíče

Předpona překladového klíče zabraňuje kolizím klíčů napříč různými projekty nebo soubory a zlepšuje sledovatelnost překladových klíčů. Rozhraní CLI podporuje zpracování předpony klíče pro pull i push operace.

  • Parametry push:

    • translation_key_prefix: Zadaná předpona je před tlačenými překladovými klíči.

      • Použijte magický zástupný znak <file_path> k automatickému nastavení předpony translation_key_prefix na aktuální cestu k souboru. Cesta má maximální délku 255 znaků.

  • Parametry pull:

    • translation_key_prefix: Tento parametr umožňuje odečtení předpony z názvů překladových klíčů během pull operace.

      • Použijte magický zástupný znak <file_path> k automatickému nastavení předpony translation_key_prefix na aktuální cestu k souboru. Cesta má maximální délku 255 znaků.

    • filter_by_prefix: Booleovská možnost, která před vytažením filtruje překladové klíče na základě předpony.

Příklad konfigurace souboru Phrase.yml:

phrase:
  access_token: access_token
  file_format: yml
  push:
    sources:
      -
        soubor: path/to/vase/file.yml
        project_id: project_id
        params:
          locale_id: en
          translation_key_prefix: prefix_
  pull:
    targets:
      -
        soubor: path/to/vase/file.yml
        project_id: project_id
        params:
          translation_key_prefix: prefix_
          filter_by_prefix: true

Příklad příkazů Curl:

curl "https://api.phrase.com/v2/projects/:project_id/uploads?translation_key_prefix=prefix_" \
  -u USERNAME_OR_ACCESS_TOKEN \
  -X POST \
  -F file=@/path/to/my/file.format \
  -F file_format=format \
  -F locale_id=locale_id
curl "https://api.phrase.com/v2/projects/:project_id/locales/:id/download?file_format=file_format&translation_key_prefix=prefix_&filter_by_prefix=true" \
  -u USERNAME_OR_ACCESS_TOKEN

Proxy

Pokud je za proxy serverem, zadejte nastavení proxy serveru pomocí proměnné prostředí HTTPS_PROXY:

export HTTPS_PROXY=https://user:password@host:port

Komplexní využití

Více lokalizačních souborů pro jeden projekt

Použijte jeden soubor pro každý kód jazyka v projektu. Pokud nástroje nebo framework vynutí použití více souborů, podrobnosti o tom, jak nastavit projekt, naleznete v tématu Údržba struktur souborů.

Více projektů pro jeden lokalizační projekt

Při práci na velkém lokalizačním projektu distribuujte překlady do více projektů. Nakonfigurujte CLI pro práci s více lokalizačními soubory pro jeden lokalizační projekt.

Možnosti formátu

Některé formáty souborů umožňují specifikovat formátování pro lepší kontrolu nad syntaxí souboru. V konfiguračním souboru .phrase.yml uveďte možnosti formátu::

phrase:
  pull:
    targets:
    - file: file.xml
      params:
        format_options:
          convert_placeholder: true

  push:
    sources:
    - file: file.csv
      params:
        format_options:
          column_separator: ";"

Konfigurace pro projekty systému Android

Android nepoužívá pro vzor souborů standardní kódy jazyků ISO. Určete požadovaný vzor v souboru .phrase.yml.

Určete jednotlivé kódy jazyků výslovně v souboru .phrase.yml. Tento příklad ukazuje konfiguraci .phrase.yml 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.