CLI

Using the CLI (Strings)

本コンテンツはPhrase Language AIの機械翻訳により、英語から翻訳されています。

Phrase Strings CLIツールは、APIのナビゲーションをサポートし、curlリクエストからではなく、コマンドラインからプロジェクトと翻訳を素早く管理できます。

米国データセンターを使用する場合は、ホストをphrase init --host https://api.us.app.phrase.com/v2で渡します。設定がすでに生成されている場合は、次のコードを追加します。

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

基本的な使用例

.phrase.yml 設定ファイルを編集することで、クライアントのファイルをプッシュおよびプルする方法を制御できます。

  1. プロジェクトを初期化します。

     phrase init を実行してプロジェクトを初期化します。これは、推奨ロケールファイル形式や原文ファイルなどを定義できます。

    $ phrase init
  2. ロケールファイルをアップロードします。

    ロケールファイルのアップロードには push サブコマンドを使用します。

    $ phrase push
  3. ロケールファイルをダウンロードします。

    最新のロケールファイルをダウンロードしてプロジェクトに戻すには、 pull サブコマンドを使用します。

    $ phrase pull
  4. その他のサブコマンド。

    使用可能なすべてのサブコマンドの一覧を表示するには、サブコマンドを指定せずに Phraseを実行します。特定のサブコマンドが対応しているすべてのオプションを表示させるには、 --help フラッグを使用します。

    $ phrase locales list --help

設定ファイルのサンプル。

エスケープルールと見積もりの使用例

コマンドラインで JSON オブジェクトを渡す場合、エスケープ規則と引用符の使用は、使用するシェルによって異なることがあります。

Windows シェルを使用する場合は、JSON 文字列全体を二重引用符""で囲み、JSON 内の二重引用符はバックスラッシュ \ 文字でエスケープします。以下に例を挙げます。

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

アクセスと認証

APIエンドポイントへのアクセス

クライアントは、すべての API エンドポイントへのアクセスに使用できます。たとえば、すべてのプロジェクトを一覧表示するには、次のようにします。

$ phrase projects list --access_token ACCESS_TOKEN

Phrase認証情報を使用した認証

--usernameフラッグでユーザー名を指定すると、パスワードが要求されます。

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

ユーザーまたは組織で2段階認証がアクティブ化されている場合、有効な多要素トークンを--tfaフラッグで指定する必要があります。

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

アクセストークンによる認証

環境変数の設定は、プラットフォームによって異なります。.phrase.yml設定ファイルにアクセストークンを保存することをおすすめします。

--access tokenフラッグを使用してアクセストークンを指定します。

$ phrase projects list --access_token ACCESS_TOKEN

または、PHRASE_ACCESS_TOKEN環境変数を使用してトークンを格納することもできます。

export PHRASE_ACCESS_TOKEN="ACCESS_TOKEN"

2段階認証がアクティブ化されている場合、有効な多要素トークンを--x_phrase_app_otpフラッグ経由で提供する必要があります。

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

トークンは対話モードで--tfaフラッグを使用して提供することもできます。

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

アクセストークンはデフォルトで.phrase.yml設定ファイルから読み取られますが、前述のフラッグまたは環境変数を使用することで動作を上書きでき、フラッグまたは環境変数経由で提供されたトークンが代わりに使用されます。flags経由で提供されたトークンは環境変数経由で提供されたトークンを上書きします。

プッシュとプル

push コマンドと pull コマンドを使用して、ロケールファイルのアップロードダウンロードを行います。コマンドライン引数の代わりに、プッシュとプルは、プロジェクトのルートフォルダにある .phrase.yml 設定ファイルに保存されている設定に基づきます。

push の update_translations オプションが true に設定されている場合、push によって翻訳が上書きされます。pullは常にローカルファイルの翻訳を上書きします。

一般的な 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"

push コマンドを使用して、config/locales フォルダ内のde.ymlおよびen.ymlファイルと一致する project_id で識別されるプロジェクトにロケールファイルをアップロードします。新しいキーがある場合、これらはローカライゼーションファイルに追加されます。

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

pull コマンドを使用して、project_id で識別されるプロジェクトからそれぞれのファイルパスにロケールファイルをダウンロードします。新しいキーがある場合、これらはプロジェクトに追加されます。

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

レート制限のサポート

クライアントはロケールダウンロードのレート制限をサポートしています。レート制限に到達すると、クライアントはレート制限の期限が切れるまで待機し、その後はロケールのダウンロードを続行します。クライアントはレート制限を超過していますと表示します。ダウンロードは x 秒後に再開されます。

クリーンアップののアップロード

uploads cleanup コマンドは、プロジェクト内で検出されたが、アップロードされたファイルに含まれていないキーを削除するために使用します。ロケールファイルをプッシュした後は、デフォルトロケールやその他のロケールに含まれていないすべてのキーの削除が必要になる場合があります。

$ phrase uploads cleanup --id <YOUR_UPLOAD_ID>

ファイル形式オプション

CSVなど一部のファイル形式は、アップロード時に追加のファイル形式オプションを使用できます。オプションの前に --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

翻訳キーのプレフィックス

翻訳キーのプレフィックスは、異なるプロジェクトやファイル間でのキーの衝突を防ぎ、翻訳キーのトレーサビリティを向上させます。CLIインターフェイスは、プル操作とプッシュ操作の両方でキーのプレフィックス処理をサポートします。

  • プッシュパラメータ:

    • translation_key_prefix:プッシュされる翻訳キーの先頭に、指定したプレフィックスが追加されます。

      • マジックプレースホルダー <file_path> を使用すると、 translation_key_prefix が現在のファイルパスに自動的に設定されます。パスの長さは最大255文字です。

  • プルパラメータ:

    • translation_key_prefix:このパラメータを使用すると、プル操作中に翻訳キー名からプレフィクスを差し引くことができます。

      • マジックプレースホルダー <file_path> を使用すると、 translation_key_prefix が現在のファイルパスに自動的に設定されます。パスの長さは最大255文字です。

    • filter_by_prefix:翻訳キーを取り出す前にプレフィックスに基づいてフィルタリングするboolean型オプション。

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

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

プロキシ

プロキシを使用する場合は、HTTPS_PROXY環境変数を使用してプロキシ設定を指定します。

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

複雑な使用例

複数のローカリゼーションファイルを持つプロジェクト

プロジェクトのロケールごとに 1 つのファイルを使用します。ツールやフレームワークによって複数のファイルの使用が強制される場合は、プロジェクト設定方法の詳細については、「 ファイル構造の維持 」を参照してください。

複数のプロジェクトを含むローカリゼーションプロジェクト

大規模なローカリゼーションプロジェクトでは、複数のプロジェクトに翻訳を分散させます。複数のローカリゼーションファイルを含むプロジェクトを扱うように CLI を設定します。

ファイル形式オプション

一部のファイル形式では、ファイル形式オプションを指定することで、ファイル構文をより詳細に制御できます。.phrase.yml設定ファイルでファイル形式オプションを指定します::

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

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

Android プロジェクト用設定

Android では、ファイルパターンとして標準の ISO 言語コードは使用されません.phrase.ymlで必要なパターンを指定できます。

.phrase.ymlファイルで各ロケールを明示的に指定します。次に、英語をデフォルト言語、ドイツ語ロケール、およびオーストリアドイツ語のドイツ語地域ロケールとする .phrase.yml コンフィギュレーションの例を示します。

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
この記事は役に立ちましたか?

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.