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

Podrobnější informace naleznete v 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
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í tokenu přístupu Strings

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 token nejprve 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 do úložiště může být bezpečnostní problém.

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

Tokeny API Platform nejsou přímo přijímány rozhraním Strings CLI. Uživatelé musí nejprve vyměnit je za krátkodobý token přístupu k produktu (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ředat token přímo

    phrase projects list --access_token GENERATED-JWT

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.

Chcete-li automaticky odstranit klíče v Phrase Strings, když jsou odebrány ze zdrojového souboru, přidejte parametr delete_unmentioned_keys: true do sekce push konfiguračního souboru .phrase.yml. Tento parametr musí být umístěn na úrovni push, jako sourozenec sources, nikoli vnořen pod params. Tento parametr odstraní jakýkoli klíč v projektu Phrase, který v synchronizovaném souboru chybí. Použijte toto pouze v případě, že zdrojový soubor obsahuje všechny klíče pro projekt.

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

Předpona 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 operace pull i push.

  • Parametry push:

    • translation_key_prefix: Zadaný prefix se přidá před klíč překladu, který je nahráván.

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

  • Parametry stažení:

    • translation_key_prefix: Tento parametr umožňuje odečíst prefix od názvů klíčů překladu během operace stažení.

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

    • filter_by_prefix: Logická možnost, 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=@/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.

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

Příklad:

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

  # Mapovat kódy jazyka Phrase na názvy adresářů specifické pro Android
  locale_mapping:
    en-US: values
    de-DE: values-de-rDE
    fr-FR: values-fr

  push:
    sources:
      # Zdroj soubor je výchozí jazyk, mapovaný na 'values'
      - file: ./app/src/main/res/values/strings.xml
        params:
          locale_id: en-US # Musí odpovídat zdroj kód jazyka v Phrase

  pull:
    targets:
      # Použít zástupný znak <locale_name>, který bude nahrazen mapováním
      - file: ./app/src/main/res/<locale_name>/Strings.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.