翻訳の管理

ブランチ機能(Strings)

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

利用可能対象

  • BusinessおよびEnterpriseプラン

ライセンスに関する質問は、営業担当までお問い合わせください。

利用可能対象

  • Enterpriseプラン(従来のプラン)

ライセンスに関する質問は、営業担当までお問い合わせください。

注意

2025年12月10日より、新しいブランチ機能はすべての新規顧客に対してデフォルトで有効になります。

既存の顧客は、プロジェクトのブランチタブで新しいブランチ機能に切り替えを選択することで、新しいブランチモデルにオプトインできます。

従来のブランチ機能は、2026年6月1日より非推奨となります。

ブランチ機能はソフトウェアのバージョン管理に使用されます。ブランチと呼ばれるプロジェクトファイルのコピーにより、チームは編集されていないコピーを保持しながら、同時にプロジェクトの並行バージョンで作業できます。これにより、他の人のプロジェクトファイルへの変更を誤って上書きするリスクが排除されます。

新しいブランチが作成されると、メインのプロジェクトがコピーされ、そのブランチにのみ変更が加えられます。変更が完了すると、ブランチはメインプロジェクトにマージされます。複数のブランチで同時に作業でき、マージ後はブランチが自動的に削除されます。マージされたブランチは、履歴追跡を簡素化するためにマージ済みタブで利用可能です。既存のブランチからのタグは新しいブランチにコピーされます。

制限事項

  • 翻訳者とゲストを除くすべての役割ブランチビューにアクセスできます。

  • マージは元に戻せず、ブランチは復元できません。

  • ジョブは特定のブランチで作成されており、メインプロジェクトでは表示されず、その逆も同様です。ブランチがメインプロジェクトにマージされると、その中のオープンジョブは失われます。

  • レポートビューのレポートは、アクティブなブランチのステータスのみを反映します。ブランチをメインプロジェクトにマージすると、メインプロジェクトのレポートが更新されます。

  • アクティビティビューには、アクティブなブランチのアクティビティのみが含まれています。ブランチ内のアクティビティはメインプロジェクトでは表示されず、その逆も同様です。ブランチをメインプロジェクトにマージすると、そのアクティビティは失われます。

  • GitHub Syncはメインプロジェクトでのみ使用でき、ブランチでは使用できません。

  • コメントはブランチ内で作成されており、メインプロジェクトでは表示されず、その逆も同様です。

  • オーダーはブランチ内で作成されており、メインプロジェクトでは表示されず、その逆も同様です。ブランチがメインプロジェクトにマージされると、その中のオープンオーダーは失われます。

  • 翻訳者は特定のブランチに制限されることはなく、特定のロケールで作業する権限が与えられます。翻訳者はブランチの扱い方について指示を受けるべきです。

ブランチ機能を有効にする

ブランチ機能は、メインブランチを変更から保護するオプションとともに、高度なタブのプロジェクト設定で有効にされます。

有効にすると、プロジェクト画面に作業中のブランチを選択できるブランチメニューBranch Menuが表示されます。CLIでブランチを指定するには、--branchパラメータを使用します:

--branch <branch_name>

ブランチはプロジェクトのブランチタブにリストされ、作成およびマージ情報が表示されます。ブランチは削除またはマージでき、そのブランチのためにジョブを作成することもできますブランチタブから。

ヒント

新しいブランチ機能に切り替えるブランチタブでクリックして、新しいブランチインターフェースと機能にアクセスします。

プロジェクトのすべてのブランチをAPIまたはCLI経由で一覧表示するには、次のコマンドを実行します:

$ phrase branches list --project_id <project_id>

# 例:
$ phrase branches list --project_id 1d8ae641902624df63ce6fbd64ff9549$ phrase branches list <project_id>

APIまたはCLI経由でブランチを削除するには、次のコマンドを実行します:

$ phrase branches delete --project_id <project_id> --name <branch_name>

# 例:
$ phrase branches delete --project_id 1d8ae641902624df63ce6fbd64ff9549 --name test-test$ phrase branch delete <project_id> <branch_name>

ブランチを作成する(従来)

管理者、プロジェクトマネージャー、開発者の役割は、翻訳エディタで新しいブランチを作成できます。APIまたはCLI経由で。

翻訳エディタでブランチを作成するには、次の手順に従います:

  1. プロジェクトページから、ブランチタブを選択します。

  2. ブランチを作成をクリックします。

    ブランチを作成ウィンドウが開きます。

  3. ブランチの名前を指定します。

  4. ブランチを作成をクリックします。

    新しいブランチが一覧に追加されます。

APIまたはCPI経由でブランチを作成するには、次のコマンドを実行します:

$ phrase branches create --project_id <project_id> --data <data>

翻訳をプッシュする際にブランチを作成するには、次のコマンドを実行します:

$ phrase push --branch <branch_name>

ブランチを結合する(従来)

ブランチに変更が加えられた後、それをメインの翻訳にマージして新しい翻訳を取り込むことができます。

マージ中にメインブランチに適用されるのは、以下のリソースへの変更のみです:

  • ロケール

  • キー

  • 翻訳

アクティビティ、ジョブ、オーダーなどの他のリソースへの変更は適用されません。

競合

競合は、リソース(翻訳、キー、またはロケール)が、ブランチが作成されてからメインプロジェクトにマージされるまでの間に、メインプロジェクトとブランチの両方で変更されたときに発生します。例えば、ブランチが作成された後にメインプロジェクトで翻訳やキー設定(複数形など)が変更されると、ブランチ内の値がメインプロジェクトの値と異なる場合があります。

ブランチをマージするには、次の手順に従ってください:

  1. プロジェクトのブランチビューから、マージするブランチを選択し、比較とマージをクリックします。

    ブランチをマージページが開きます。マージ中に変更される翻訳に関する情報は、セルをクリックすることでアクセスできます。

  2. 競合がある場合は、マージ戦略を選択してください:

    • 競合する変更を拒否し、既存の翻訳を保持するには、メインプロジェクトを使用を選択します。

    • ブランチからの変更で既存の翻訳を置き換えるには、使用するBranch Menuブランチ名を選択します。

  3. ブランチをマージをクリックします。

    ブランチがメインプロジェクトにマージされます。

APIまたはCPIを介してブランチをマージするには、次のコマンドを実行します:

$ phrase branches merge \
  --project_id <project_id> \
  --name <name> \
  --data '{"strategy":"use_main"}' \
  --access_token <token>
  • 使用_ブランチ は、ブランチからの変更を適用することで競合を解決し、指定されていない場合はデフォルトです。

  • 使用_メイン は、ブランチからの変更を拒否することで競合を解決します。使用_マスター もサポートされています。

プッシュとプル(従来)

CLIを使用する場合、--branch パラメータを使用してプッシュまたはプルするブランチを指定します。

$ phrase push --branch <branch_name>
$ phrase pull --branch <branch_name>

指定されたブランチがプロジェクトに存在しない場合、クライアントはそれを作成します。

--use-local-branch-name を使用して、アクティブなgitブランチのブランチ名を使用してプッシュおよびプルします:

$ phrase push --use-local-branch-name
$ phrase pull --use-local-branch-name

API(従来)

プロジェクト引数を取るすべてのAPIエンドポイントは、特定のプロジェクトのブランチでアクションを実行するために--branch パラメータもサポートしています:

$ phrase upload create <project_id> \

  --branch <branch_name>

  --file /path/to/my/file.json \

  --file-format json \

  --locale-id abcd1234cdef1234abcd1234cdef1234 \

  --tags awesome-feature,needs-proofreading \

  --locale-mapping "{"en": "2"}" \

  --format-options "{"foo": "bar"}" 

新しいブランチ機能

利用可能対象

  • BusinessおよびEnterpriseプラン

ライセンスに関する質問は、営業担当までお問い合わせください。

注意

2025年12月10日より、新しいブランチ機能はすべての新しい顧客に対してデフォルトで有効になります。

既存の顧客は、プロジェクトのブランチタブで新しいブランチ機能に切り替えを選択することで、新しいブランチモデルにオプトインできます。

新しいブランチ体験は、パフォーマンス、安定性、柔軟性を向上させるために再設計されたアーキテクチャと、拡張されたバージョン管理機能を導入します。これにより、チームはコンテンツの複数のバージョンを並行して作業し、長期間のブランチを最新の状態に保ち、変更をより効率的にマージできます。

新機能には:

  • マルチレベル(スタック)ブランチ

    ブランチは、メインブランチだけでなく、他の任意のブランチから作成できます。最大5つのブランチレベルがサポートされています。

  • ブランチ間の変更を同期する

    長期間実行されているブランチは、基盤ブランチに変更が蓄積されるにつれて古くなる可能性があります。新しいブランチ機能は、一貫性の欠如を防ぐのに役立つ同期機能を導入します。

作成から30日以上未マージのブランチは、Strings 管理された単語にカウントされます。

ブランチを作成する

管理者、プロジェクトマネージャ、デザイナー、開発者の役割は、ブランチタブ、API、またはCLIを介して新しいブランチを作成できます。

UIからブランチを作成するには、次の手順に従ってください:

  1. プロジェクトページから、ブランチタブを選択します。

  2. ブランチを作成をクリックします。

    ブランチを作成ウィンドウが開きます。

  3. ブランチの名前を指定します。

  4. 既存のブランチのリストから基盤ブランチを選択します。

  5. 作成をクリックします。

    新しいブランチが一覧に追加されます。

APIまたはCPI経由でブランチを作成するには、次のコマンドを実行します:

$ phrase branches create --project_id <project_id> --data <data>

翻訳をプッシュする際にブランチを作成するには、次のコマンドを実行します:

$ phrase push --branch <branch_name>

ブランチを同期する

同期により、作業中のブランチが元のブランチからの最新の変更と一致するように保たれます。このようにして、翻訳者は長期プロジェクトでも更新されたコンテンツのバージョンで作業できます。

ブランチを基盤ブランチと同期するには、次の手順に従ってください:

  1. ブランチタブで、目的のブランチの横にある基盤ブランチと同期をクリックします。

    同期ページが表示され、基盤ブランチと同期する必要のある変更や競合に関する情報が表示されます。

  2. 同期する前に、検出された変更のいずれかをクリックしてレビューします。

    選択した変更に関する詳細が表示されるテーブルが表示されます。

  3. 同期を選択し、変更を適用するために確認します。

    変更は基盤ブランチに追加され、翻訳エディタに表示されるようになります。最後の同期に関する情報は、同期済み列のブランチタブに表示されます。

ブランチの同期は、このCLIコマンドを実行することでAPI経由でも行うことができます:

$ フレーズ ブランチ 同期 \
  --project_id <project_id> \
  --name <branch_name> \
  --data '{"strategy":"use_main"}' \
  --access_token <token>
  • 使用_ブランチ は、ブランチからの変更を適用することで競合を解決し、指定されていない場合はデフォルトです。

  • メインを使用 は、ブランチからの変更を拒否し、ベースブランチを参照することで競合を解決します。スタックされたブランチで作業する場合、ベースブランチは必ずしも実際のメインプロジェクトブランチではありません。

ブランチを結合する

ブランチで翻訳またはバージョン固有の作業を完了した後、変更はベースブランチにマージできます。すべての変更がチェーン上でマージされると、最上位のブランチはメインブランチにマージできます。

成功したマージの後、マージされたブランチは自動的に削除され、履歴追跡のためにマージ済みタブに表示されます。

マージ中にベースブランチに適用されるのは、以下のリソースへの変更のみです:

  • ロケール

  • キー

  • 翻訳

アクティビティ、ジョブ、オーダーなどの他のリソースへの変更は適用されません。

アクティブな子ブランチを持つブランチは、子ブランチが削除または最初にマージされるまでマージできません。

競合

リソース(翻訳、キー、またはロケール)が、ブランチが作成された後または最後に同期された後に、現在のブランチとそのベースブランチの両方で変更された場合、競合が発生します。競合は、メインにマージする際だけでなく、ブランチスタックの任意のレベルで発生する可能性があります。

ブランチをマージするには、次の手順に従ってください:

  1. プロジェクトのブランチタブから、希望するブランチの横にあるベースブランチとマージをクリックします。

    マージページが開きます。マージ中に変更される翻訳に関する情報は、セルをクリックすることでアクセスできます。

  2. 競合がある場合は、マージ戦略を選択してください:

    • ベースブランチを使用を選択して、競合する変更を拒否し、既存の翻訳を保持します。

    • ブランチからの変更で既存の翻訳を置き換えるには、使用するBranch Menuブランチ名を選択します。

  3. マージをクリックし、変更を適用するために確認します。

    ブランチはベースブランチにマージされ、自動的に削除されます。マージされたブランチの履歴を確認するには、ブランチページのマージ済みタブを開きます。

APIまたはCPIを介してブランチをマージするには、次のコマンドを実行します:

$ phrase branches merge \
  --project_id <project_id> \
  --name <name> \
  --data '{"strategy":"use_main"}' \
  --access_token <token>
  • 使用_ブランチ は、ブランチからの変更を適用することで競合を解決し、指定されていない場合はデフォルトです。

  • 使用_メイン は、ブランチからの変更を拒否することで競合を解決します。使用_マスター もサポートされています。

マージアクションは、マージされたブランチも自動的に削除します。

プッシュとプル(従来)

CLIを使用する場合、--branch パラメータを使用してプッシュまたはプルするブランチを指定します。

$ phrase push --branch <branch_name>
$ phrase pull --branch <branch_name>

指定されたブランチがプロジェクトに存在しない場合、クライアントはそれを作成します。

--use-local-branch-name を使用して、アクティブなgitブランチのブランチ名を使用してプッシュおよびプルします:

$ phrase push --use-local-branch-name
$ phrase pull --use-local-branch-name

API(従来)

プロジェクト引数を取るすべてのAPIエンドポイントは、特定のプロジェクトのブランチでアクションを実行するために--branch パラメータもサポートしています:

$ phrase upload create <project_id> \

  --branch <branch_name>

  --file /path/to/my/file.json \

  --file-format json \

  --locale-id abcd1234cdef1234abcd1234cdef1234 \

  --tags awesome-feature,needs-proofreading \

  --locale-mapping "{"en": "2"}" \

  --format-options "{"foo": "bar"}" 
この記事は役に立ちましたか?

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.