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

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.

Pravidla pro escapování 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

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řednictvím prostředí nebo příznaku příkazového řádku. Ukládání tajných tokenů přímo v úložišti může být bezpečnostním problémem.

Ověřování pomocí přístupového tokenu 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ředat token přímo

    phrase projects list --access_token GENERATED-JWT

Push a Pull

Použijte příkazy push a pull k nahrá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ódů jazyků. 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 odstranění klíčů, 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 pro překlad klíče

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

  • Parametry push:

    • translation_key_prefix: Určený prefix je přidán před překladové klíče, 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ů překladových klíčů 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 překladové klíče 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: cesta/k/vašemu/souboru.yml
        project_id: project_id
        params:
          locale_id: en
          translation_key_prefix: prefix_
  pull:
    targets:
      -
        file: cesta/k/vašemu/souboru.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 kód_jazyka=kód_jazyka
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:
    - soubor: soubor.xml
      params:
        formát_options:
          convert_placeholder: true

  push:
    sources:
    - soubor: soubor.csv
      params:
        formát_options:
          column_separator: ";"

Konfigurace pro projekty systému Android

Android nepoužívá standardní kódy jazyků ISO jako vzor souboru. Určete požadovaný vzor v souboru .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 v případě potřeby se vrátí 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"

  # Mapování jazyků Phrase na názvy adresářů specifické pro Android
  locale_mapping:
    en-US: values
    de-DE: values-de-rDE
    fr-FR: values-fr

  push:
    sources:
      # Zdrojový soubor je výchozí jazyk, mapovaný na 'values'
      - file: ./app/src/main/res/values/strings.xml
        params:
          locale_id: en-US # Musí odpovídat zdrojovému jazyku v Phrase

  pull:
    targets:
      # Použijte 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.