翻訳の管理

ブランチ機能 (Strings)

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

利用可能対象

  • BusinessおよびEnterpriseプラン

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

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

新しいブランチが作成されるとメインの プロジェクト がコピーされ、変更はそのブランチに対してのみ行われます。変更が完了すると、ブランチはメインプロジェクトにマージされます。複数のブランチで同時に仕事を進めることができ、マージ後、ブランチは自動的に削除されます。マージされたブランチは、履歴を簡単に追跡できるように マージ済み タブに残ります。既存のブランチのタグは、新しいブランチにコピーされます。

制限事項

  • 翻訳者およびゲストを除くすべての ロール は、ブランチ機能 ビューにアクセスできます。

  • マージの取り消しや、削除されたブランチの復元はできません。

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

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

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

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

  • コメントは、ブランチで行われた場合メインプロジェクトには表示されず、その逆も同様です。

  • 注文は、ブランチで作成された場合メインプロジェクトには表示されず、その逆も同様です。ブランチがメインプロジェクトにマージされると、そのブランチ内の未完了の注文は失われます。

  • 翻訳者は特定のブランチに制限することはできませんが、特定のロケールで仕事をする権限が与えられます。翻訳者には、ブランチでの仕事の進め方を指示する必要があります。

ブランチ機能を有効

ブランチ機能は、プロジェクト設定詳細タブで有効になり、メインブランチを保護して変更を防ぐオプションがあります。

有効にすると、プロジェクト画面にブランチメニュー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>

メインブランチを保護

メインブランチを保護<1>はメインプロジェクトへの編集を制限し、すべての変更を代わりにブランチで行うことを必須にします。

有効にすると:

  • メインプロジェクトでは、ロケール、キー、翻訳を直接追加、編集、削除することはできません。

  • メインプロジェクトでは、ファイルのアップロードとスクリーンショットの管理は無効になっています。

  • ファイルをインポートする前に、ブランチを選択する必要があります。

  • 自動化はメインプロジェクトに対しては実行されません。

ブランチを作成

管理者、プロジェクトマネージャ、デザイナー、開発者の役割を持つユーザーは、ブランチタブ、API、またはCLI経由で新しいブランチを作成できます。ブランチはメインブランチだけでなく、他のどのブランチからでも作成できます。最大5レベルのブランチがサポートされています。

UIからブランチを作成するには、以下の手順に従います。

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

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

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

  3. ブランチの名前を入力します。

  4. 既存のブランチの一覧からベースブランチを選択します。

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

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

APIまたはCLI経由でブランチを作成するには、以下を実行します。

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

翻訳をプッシュする際にブランチを作成するには、以下を実行します。

$ phrase push --branch <branch_name>

ブランチを同期

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

ブランチをベースブランチと同期するには、以下の手順に従ってください。

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

    同期ページが表示され、ベースブランチと同期される競合や変更に関する情報が示されます。

  2. 検出された変更のいずれかをクリックして、同期前に確認します。

    選択した変更の詳細が記載されたテーブルが表示されます。

  3. 同期を選択し、確定して変更を適用します。

    変更はベースブランチに追加され、翻訳エディタで表示できるようになります。前回の同期に関する情報は、ブランチタブの同期済み列に表示されます。

ブランチの同期は、以下のCLIコマンドを実行してAPI経由で行うこともできます。

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

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

ブランチの結合

ブランチでの翻訳やバージョン固有の仕事が完了した後、変更をベースブランチに結合できます。すべての変更がチェーンの上位に結合されたら、最上位のブランチをメインブランチに結合できます。

結合が成功すると、結合されたブランチは自動的に削除され、履歴追跡のために結合済みタブに表示されます。

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

  • ロケール

  • キー

  • 翻訳

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

アクティブな子ブランチを持つブランチは、子ブランチが先に削除または結合されるまで結合できません。

競合

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

ブランチを結合するには、以下の手順に従います。

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

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

  2. 競合がある場合は、結合戦略を選択します。

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

    • Branch Menuブランチ名を使用を選択すると、既存の翻訳がブランチからの変更で置換されます。

  3. 結合をクリックし、確定して変更を適用します。

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

APIまたはCPI経由でブランチを結合するには、以下を実行します。

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

  • use_mainは、ブランチからの変更を拒否することで競合を解決します。use_masterもサポートされています。

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

プッシュとプル

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.