統合機能

GitHub (Strings)

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

ヒント

Phrase TMSにおけるGitHub 統合機能の詳細については、GitHub (TMS)を参照してください。

Phrase StringsはGitHub リポジトリと統合機能し、PhraseとGitHub間でローカライズファイルを同期します。

デフォルトでは、リポジトリはGitHub OAuth Appを使用して接続されます。個人用アクセス トークンもサポートされており、主にセルフホスト型のインスタンスや、OAuth Appのインストールができない環境向けです。

前提条件

  • .phrase.yml 設定ファイルが、監視対象のブランチのルートに存在する必要があります。ファイルは、リポジトリからインポート(pull)またはエクスポート(push)するファイルを定義します。

  • リポジトリには読み取りおよび書き込みアクセスが必要です。

  • 設定ファイルの定義が正しくない場合、エラーが発生する可能性があります。ファイルに少なくとも1つのpushとpull訳文、正しいファイル形式、およびupdate_translationsパラメータの設定があることを確認してください。

  • GitHub OAuth App:

    • GitHub OAuth Appは、リポジトリを所有するGitHub 組織またはアカウントにインストールされている必要があります。

    • リポジトリはOAuth Appのインストールに含まれている必要があります。

    • 訳文の組織またはアカウントでGitHub Appをインストールまたは承認する権限が必要です。

  • GitHub アクセス トークン:

    • Classic トークン

      repoスコープが必要です(パブリックリポジトリと同期する場合はpublic_repo

    • Fine-grained トークン

      以下の権限が必要です:

      • Contents: 読み取りおよび書き込み

      • Pull requests: 読み取りおよび書き込み

    • リポジトリ設定で署名付きコミットが不要であることを確認してください。

  • GitHub で SSO が有効になっている場合は、アクセストークンも有効にする必要があります。

  • phrase_translations ブランチは保護できません。

備考

継続的な改善が行われているため、ユーザーインターフェイスは動画で紹介されているものと完全に同じではない可能性があります。

リポジトリの接続

設定ファイルが配置されたら、以下の手順に従ってリポジトリを接続します:

  1. Integrationsページから、Repo Syncまでスクロールダウンし、Configureをクリックします。

    Repo Syncsページが開きます。

  2. Add Sync/GitHubをクリックします。

    GitHub sync設定ウィンドウが開きます。

  3. ドロップダウンリストからプロジェクトを選択します。

  4. 認証方法を選択します:

    • GitHub App (recommended)

      GitHub Appがまだインストールされていない場合は、Authenticateをクリックします。認証は一度実行すれば、複数のリポジトリ同期で再利用できます。

      GitHub Appが既にインストールされている場合は、Manage installationをクリックして、対象の組織またはアカウントのアプリインストールを完了します。リポジトリへのアクセスは組織またはアカウントレベルで管理され、個々のGitHubユーザーには紐付けられません。

    • 個人用アクセストークン

      APIスコープを持つ個人用リポジトリアクセストークンを提供します。

      個人用アクセストークンを使用する場合、リポジトリへのアクセスはトークンを作成したGitHubユーザーに依存します。

    • 自分でホストしているインスタンス

      GitHubのセルフホスト型APIエンドポイントと、APIスコープを持つ個人用リポジトリアクセストークンを提供します。

    対象のリポジトリで検証済み(署名済み)コミットが必要な場合は、GitHub App認証方法を使用する必要があります。個人用アクセストークンを使用してプッシュされたコミットは署名されないため、同期は次のエラーで失敗します: \"The repository requires verified (signed) commits.\"

  5. ドロップダウンリストからGitHubリポジトリを選択します。

  6. ドロップダウンリストから、インポート(プッシュ)およびエクスポート(プル)を行うリポジトリブランチを選択します。通常はマスターブランチです。

  7. オプションで、プルリクエストのブランチ名を提供します。空欄のままにした場合、デフォルト値 phrase-translations でブランチが作成されます。

  8. Validate Configuration をクリックして、認証設定と設定ファイルが正しいことを確認します。

  9. 必要に応じて インポート動作 オプションを選択し、新規または更新されたファイルがいつプロジェクトに自動的にインポートされるかを決定します。

  10. 保存をクリックします。

    プロジェクトは選択したGitHubリポジトリに接続され、一覧に追加されました。

  11. (オプション)鉛筆アイコン をクリックして、統合機能の名前を変更します。

インポートファイル

.phrase.yml 設定 ファイル内でプッシュコマンドが正しく設定されていることを確認してください。プッシュオプションは、アップロード APIエンドポイントと同じです。

ファイルをインポートするには:

  • Repo Syncs ページから、プロジェクトを選択し、インポート Sync Import をクリックします。

    言語ファイル(設定ファイル内で原文エントリとして定義)がプロジェクトにインポートされます。

    デフォルトのロケールが存在している必要があります。

    備考

    インポート時に問題が発生した場合は、CLI クライアントを使用して .phrase.yml 設定ファイルをローカルでテストし、エラーメッセージを確認してください。

    必要に応じて、Phraseテクニカルサポートに連絡し、サポートリクエストに .phrase.yml 設定ファイルを添付してください。

エクスポートファイル

.phrase.yml 設定 ファイル内でプルコマンドが正しく設定されていることを確認してください。プルオプション(例: include_empty_translations パラメータ)は、ロケールダウンロード APIエンドポイントと同じです。

ファイルをエクスポートするには:

  1. Repo Syncs ページから、プロジェクトを選択し、エクスポート Sync Export をクリックします。

    エクスポート ウィンドウが表示されます。

  2. PR ブランチ フィールドに 訳文 ブランチを指定してください。

    リポジトリ 内の最新ファイルが、目的の ブランチ への新しいプルリクエストとして エクスポート されます。

  3. ファイルが エクスポート されたら、リポジトリ 内でプルリクエストを 結合 またはクローズし、ブランチ を削除できます。

備考

エクスポート 時に問題が発生した場合は、CLI クライアント を 使用 して .phrase.yml 設定ファイルをローカルでテストし、エラーメッセージを確認してください。

必要に応じて、Phraseテクニカルサポートに連絡し、サポートリクエストに .phrase.yml 設定ファイルを添付してください。

履歴

リポジトリ 同期では、各 Phrase Strings プロジェクト の最新の インポート および エクスポート の履歴が保持されます。

履歴を表示するには:

  • Repo Syncs ページから プロジェクト を 選択 し、History Sync History をクリックします。

    プロジェクト の インポート および エクスポート 履歴が表示されます。履歴内の エクスポート エントリには、対応する結合リクエストへのリンクが含まれています。

この記事は役に立ちましたか?

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.