CLI

CLI 設定ファイル(Strings)の変更

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

.phrase.ymlファイルは、再利用可能なコマンドライン引数の保存に使用されます。

サポートされている引数:

  • project_id

    プロジェクトのID。

  • file_format

    原文と訳文のエントリで明示的に指定されていない場合に使用されるファイル形式。

  • per_page

    ページ分割された応答で返される項目数。

サンプルの設定ファイル

プッシュアンドプル

プッシュ

$ phrase push 

push コマンドは、ローカルのプロジェクトディレクトリで見つかったファイルをアップロードします。.phrase.ymlファイルを使用して、アップロードするファイルを指定し、追加のパラメータを設定します。<tag> プレースホルダーは、タグに基づいてキーを別のファイルをダウンロードするためにも使用できます。

プル

$ phrase pull 

push コマンドと同じですが、例外として globbing は使用できません。プレースホルダーを使用する場合は、可能な限り <locale_name> を使用してください。特定のタグを持つキーを含むファイルをプルするには、tagsパラメータを使用します。

フレーズ:
  pull:
    targets:
    - file: path/to/file/<locale_name>.yml
      パラメータ:
        tags:tag_name

<tag> プレースホルダーを使用するには、使用するタグがパラメータセクションに記載されている必要があります。

パラメータ

pushおよびpullコマンドは、.phrase.ymlファイル内で設定できます。プッシュ オプションはアップロード API エンドポイントと同じで、プル オプションはロケール ダウンロード API エンドポイントと同じです。

プッシュの例:

push:
  原文:
  - file: ./locales/en.json
    パラメータ:
      update_translations: true 

プルの例:

pull:
  targets:
  - file: "./locales/example.yml"
    パラメータ:
      include_unverified_translations: true

フォーマットオプション

ファイル形式に応じて、ファイル形式オプションをパラメータ セクションに適用できます。ファイル形式オプションは、アップロード、ダウンロード、またはその両方に適用できます。

ファイル形式の例:

パラメータ:
  format_options:
    convert_placeholder: true

ファイル形式によっては、ファイル構文をより詳細に制御できます。

フレーズ:
  pull:
    targets:
    - file: file.xml
      パラメータ:
        format_options:
          convert_placeholder: true

  push:
    原文:
    - file: file.csv
      パラメータ:
        format_options:
          column_separator: ";"

プレースホルダーとグロビング

ファイルエントリ内のパスには、次のプレースホルダーとグロビング演算子を配置できます。

  • <locale_name>

    一意のロケール名。

  • <locale_code>

     RFC 5646 準拠のロケール識別子。ロケール コードは一意である必要がないため、同じコードで異なる名前のロケールを複数存在させることができます。

  • <tag>

    タグを使用してキーをグループ化します。タグを使用すると、元のファイル構造を維持できます。

Globbing

*** はグロッブ演算子です。アスタリスク * 1 つは、パス内のすべてのフォルダをスキップします。二重アスタリスク ** は、標準的な glob 演算子のようなもので、再帰的、無網羅的なマッチングのために任意の文字に一致します。

例:

# a file pattern

./abc/**/*.yml
# システムにいくつかのファイルがある

./abc/defg/en.yml

./abc/es.yml

./fr.yml
# selects

./abc/defg/en.yml

./abc/es.yml

pull コマンドを使用してファイルをダウンロードする場合は、 ./**/*<locale_name>.ymlではなく ./abc/defg/<locale_name>.ymlのような明示的なファイルパターンを入力します。

アップロードを待機中

すべてのアップロードは非同期で処理されます。アップロードを待つには、 --wait フラグを適用します。push は、各ファイルのアップロードを待機し、失敗したか成功したかを返します。

使用事例

指定したロケールにファイルをアップロードする

en.json ファイルを指定された locale_id./locales/ ディレクトリにアップロードします (ロケールがすでに存在している必要があります)。

Update_translationsfalse に設定されているため、新しいキーと翻訳のみがインポートされます。trueに設定すると、クライアントは既存の翻訳に対するローカルの変更もインポートし、既存のコンテンツはすべて上書きされます。

フレーズ:
  access_token:ACCESS_TOKEN
  project_id:PROJECT_ID
  file_format: nested_json

  push:
    原文:
    - file: ./locales/en.json
      パラメータ:
        update_translations: false
        locale_id:YOUR_LOCALE_ID # ロケールがリモートに存在する必要があります

Ruby on Rails: 指定されたファイル形式をアップロード

./config/locales/にある.ymlで終わるすべてのファイルをアップロードします。Ruby on Rails の YAML ファイルにはロケール情報が含まれているため、ロケールを明示的に指定する必要はありません。Update_translationstrue に設定されているため、翻訳への変更はすべてインポートされ、既存のデータは上書きされます。

フレーズ:
  push:
    原文:
    - file: ./config/locales/*.yml
      パラメータ:
        update_translations: true
        file_format: yml

iOS 文字列の一致

すべての iOS 文字列ファイルと .lproj フォルダ内の Localizable.strings という名前のファイルを照合する。

<locale_code> は、ロケールを作成および識別するために /.lproj の後で一致するすべてのコードです。

update_translations パラメータは省略され、false に設定した場合と同じ結果になります。

フレーズ:
  push:
    原文:
    - file: "./<locale_code>.lproj/Localizable.strings"
      パラメータ:
        file_format: strings

1つのローカライゼーションプロジェクトに対して複数のStringsプロジェクトを維持

翻訳をより小さなカテゴリに分割してプロジェクトの範囲を制限するために設定ファイルを編集します。

フレームワークの設定例

設定ファイルを要件に合わせて修正し、ソース管理システムまたはバージョン管理システムにチェックインします。

Rails

フレーズ:
  access_token:ACCESS_TOKEN
  project_id:PROJECT_ID
  file_format: "yml"

  push:
    原文:
    - file: "./config/locales/*.yml"

  pull:
    targets:
    - file: "./config/locales/<locale_name>.yml"

iOS の文字列

フレーズ:

  access_token:ACCESS_TOKEN
  project_id:PROJECT_ID
  file_format: "strings"

  push:
    原文:
    - file: "./<locale_code>.lproj/Localizable.strings"

  pull:
    targets:
    - file: "./<locale_code>.lproj/Localizable.strings"
    - file: "./<locale_code>.lproj/Localizable.stringsdict"
      パラメータ:
        #file_formatは上書き可能です
        file_format: "stringsdict"

Android XML

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

フレーズ:
  access_token:ACCESS_TOKEN
  project_id:PROJECT_ID
  file_format: "xml"

  push:
    原文:
    - file: "./res/values-<locale_code>/strings.xml"

  pull:
    targets:
    - file: "./res/values-<locale_code>/strings.xml"

英語をデフォルト言語に、ドイツ語ロケールを、オーストリアドイツ語のドイツ語地域ロケールを設定した例:

フレーズ:
  access_token:ACCESS_TOKEN
  project_id:PROJECT_ID
  file_format: xml
  
  pull:
    targets:
    - file: ./app/src/main/res/values/strings.xml
      パラメータ:
        file_format: xml
        # 英語用の一意のロケールID
        locale_id:LOCALE_ID
    - file: ./app/src/main/res/values-de/strings.xml
      パラメータ:
        file_format: xml
        # ドイツ語用の一意のロケールID
        locale_id:LOCALE_ID
    - file: ./app/src/main/res/values-de-rAU/strings.xml
      パラメータ:
        file_format: xml
        # オーストリア語の一意のロケールID
        locale_id:LOCALE_ID
  push:
    原文:
    - file: ./app/src/main/res/values/strings.xml
      パラメータ:
        file_format: xml
        locale_id:LOCALE_ID
    - file: ./app/src/main/res/values-de/strings.xml
      パラメータ:
        file_format: xml
        locale_id:LOCALE_ID
    - file: ./app/src/main/res/values-de-rAU/strings.xml
      パラメータ:
        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.