CLI

Použití 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

Tip

Pro podrobnější informace se odkažte na Developer Hub.

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
Heslo: ********

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
Heslo: ********
TFA: ********

Ověřování pomocí tokenu přístupu Strings

Označte příznakem --access_token svůj přístupový token:

$ phrase projects list --access_token ACCESS_TOKEN

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

export PHRASE_ACCESS_TOKEN="ACCESS_TOKEN"

Pokud je 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 v repozitáři kódu se doporučuje nejprve token odebrat a použít alternativní metody, jako je předání tokenu prostřednictvím prostředí nebo příznaku příkazového řádku. Ukládání tajných tokenů přímo v repozitáři může být bezpečnostní problém.

Ověřování pomocí tokenu přístupu Platformy

Tokeny API Platformy nejsou přímo akceptovány CLI Strings. Uživatelé musí nejprve vyměnit je za token přístupu k produktu s krátkou životností (JWT) a poté použít vrácený token prostřednictvím jedné z následujících možností:

  • Nastavit proměnnou prostředí

    export PHRASE_ACCESS_TOKEN="GENERATED-JWT"
    phrase projects list --access_token "$PHRASE_ACCESS_TOKEN"
  • Předávejte token přímo

    phrase projects list --access_token GENERATED-JWT

Push a Pull

Použijte příkazy push a pull 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
Nahrávání config/locales/de.yml
Nahráno config/locales/de.yml úspěšně.
Nahrávání config/locales/en.yml
Nahráno config/locales/en.yml úspěšně.

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
Stáhnuto de do config/locales/de.yml
Stáhnuto en do 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ávu přenosový limit překročen, stahování bude pokračovat za x sekund.

Údržba nahrávání

Příkaz údržby nahrávání 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

Prefix klíče překladu

Prefix klíče překladu zabraňuje kolizím klíčů napříč různými projekty nebo soubory a zlepšuje sledovatelnost klíčů překladu. CLI rozhraní podporuje zpracování prefixů klíčů pro operace pull i push.

  • Parametry push:

    • translation_key_prefix: Určený prefix je přidán na začátek klíčů překladu, které se posílají.

      • Použijte <file_path> magický zástupný znak pro automatické nastavení 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číst prefix od názvů klíčů překladu během operace pull.

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

    • filter_by_prefix: Boolean volba, která filtruje klíče překladu na základě prefixu před jejich stažením.

Příklad konfigurace souboru phrase.yml:

phrase:
  access_token: access_token
  file_format: yml
  push:
    sources:
      -
        file: path/to/your/file.yml
        project_id: project_id
        params:
          locale_id: en
          translation_key_prefix: prefix_
  pull:
    targets:
      -
        file: path/to/your/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=@/cesta/k/mému/souboru.formát \
  -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 možnosti formátu pro lepší kontrolu nad syntaxí souboru. Uveďte možnosti formátu v konfiguračním souboru .phrase.yml::

phrase:
  pull:
    targets:
    - soubor: file.xml
      params:
        formátové_možnosti:
          convert_placeholder: true

  push:
    sources:
    - soubor: file.csv
      params:
        formátové_možnosti:
          oddělovač_sloupců: ";"

Konfigurace pro projekty systému Android

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

Místo definování samostatného cíle pro každý jazyk použijte globální locale_mapping nastavení v kombinaci se zástupným znakem <locale_name>. CLI použije vlastní název z mapování pro odpovídající jazyk a vrátí se k výchozímu kódu jazyka Phrase pro všechny ostatní jazyky.

Příklad:

phrase:
  access_token: ACCESS_TOKEN
  project_id: PROJECT_ID
  file_format: "xml"

  # Přiřaďte jazyky Phrase k názvům adresářů specifickým pro Android
  locale_mapping:
    en-US: hodnoty
    de-DE: values-de-rDE
    fr-FR: hodnoty-fr

  push:
    sources:
      # Zdrojový soubor je výchozí jazyk, mapovaný na 'hodnoty'
      - soubor: ./app/src/main/res/hodnoty/řetězce.xml
        params:
          kód_jazyka_id: en-US # Musí odpovídat zdroji kódu v Phrase

  pull:
    targets:
      # Použijte <název_jazyka> zástupný znak, který bude nahrazen mapováním
      - soubor: ./app/src/main/res/<název_jazyka>/řetězce.xml
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.