管理

Phrase Strings コネクタ (ジョブ同期)

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

Phrase Strings 統合(Strings インターフェースでは Job Sync と呼ばれます)は、Phrase TMS と Phrase Strings を接続します。この統合は、ジョブレベルとプロジェクトレベルの両方の同期をサポートしています。

  • ジョブ同期

    Strings で作成・開始され、ステータスが In progress の ジョブは、翻訳のために TMS にインポートし、翻訳後に Strings に送り返すことができます。

    きめ細かな制御を行うバッチベースのワークフローに推奨されます。

  • プロジェクトレベルの同期

    選択した Strings プロジェクト内のすべてのキーは、ジョブを作成しなくても TMS に転送されます。新しく追加または更新されたキーは、自動的に同期できるようになります。

    継続的なローカリゼーションワークフローに推奨されます。

前提条件

  • TMS と Strings の両方のアプリケーションへのアクセス

  • TMS プロジェクトで使用される言語コードは、Strings ジョブのロケールコードと一致している必要があります。

  • Strings プロジェクトのデフォルト言語は、TMS プロジェクトで定義されたソース言語と同じである必要があります。

注意

Figma ファイルは Strings ではライブファイルとして全体を表示できますが、TMS ではサポートされていません。TMS CAT エディターは、特定の Figma フレーム内の翻訳済みコンテンツを SVG 形式でのみ表示できます。

デフォルトでは、Strings から TMS に送信されたコンテンツは XLIFF 2.0 ファイルとしてインポートされます。APC を使用する場合、TMS プロジェクトテンプレートのファイルインポート設定にある File type は、XLIFF 2.0 または Auto-detect に設定する必要があります。

Strings キーの翻訳ステータスはサポートされていません。ジョブ同期は、キーが検証済みか未検証かに関わらず、現在 Strings に保存されているターゲットテキストを TMS に送信します。TMS へのインポート前に Strings で 未検証とマークされたキーは、ターゲットの翻訳に変更がない場合でも、検証済みとして Strings に戻されることがあります。

Strings プロジェクト設定の Use fallback for unverified translations は、ジョブ同期では適用されません。Strings と TMS 間でフォールバックの置換はどちらの方向にも行われないため、未検証の翻訳に対してフォールバックロケールのテキストが代用されることはありません。

Strings ジョブのインポート後に TMS で作成されるセグメントの数は、次の場合に元のキー数と異なる場合があります。

  • Strings でキーが除外済としてマークされています。除外キーはインポートされていません。

  • TMS でのジョブ作成時、XLIFF 2.0 のファイルインポート設定で Segment XLIFF オプションが有効になっています。この場合、セグメントの数が Strings のキーの数が多い可能性があります。

Strings キーには HTML エンティティを含めることができます。TMS でコネクタを設定する際は、TMS で HTML エンティティに対応する文字が表示される代わりに、HTML エンティティが保持されるよう、Enclose HTML content in CDATA オプションを有効にします。

Strings キーのソーステキストに含まれる先頭および末尾のスペースは、TMS CAT エディターには表示されません。これらのスペースはスケルトン内に保持され、ジョブが Strings に同期し直される際にソースとターゲットの両方に再挿入されます。翻訳中にスペースの数が TMS エディターに反映されないため、Strings で設定された文字数制限の検証に影響を与える可能性があります。

コネクターを使用すると、複数のプロジェクトやファイルをAPCで監視できます。各プロジェクトは、1つのAPC内で個別にモニタリングする必要があります。

APC がジョブ同期トリガーを処理する際、Strings ロケールごとに 1 つの TMS ジョブを作成します。これらのジョブのインポート順序は保証されておらず、APC ルールに割り当てられたプロジェクトテンプレートを通じて設定することもできません。このプロセスのどの段階でも、並べ替え処理は行われません。ロケールグループごとに異なる処理を適用するには、それぞれ異なるプロジェクトテンプレートを指定した個別の APC ルールを設定してください。

このコネクタは、ジョブロケールアノテーションを使用して、対応する Phrase TMS プロジェクトに関するメタデータを Strings のジョブおよびジョブロケールに付与します。ジョブロケールアノテーションを一覧表示するための Phrase Strings API エンドポイントは、このメタデータを取得します。ジョブのターゲットロケールを一覧表示するためのエンドポイントにも、include_annotations パラメーターが true に設定されている場合、このメタデータが含まれます。アノテーション付きジョブには tms_project_id や tms_in_progress などのフィールドが含まれており、これらを使用して、リンクされた Phrase TMS プロジェクトにおける Strings ジョブのステータスを追跡できます。

TMS では、プロジェクト内で同じロケールをソース言語とターゲット言語の両方に使用することはサポートされていません。例えば、Strings ジョブで en-US をソース言語とターゲット言語の両方に使用している場合、en-US ターゲットを TMS にインポートすることはできず、ジョブ全体を完了としてマークすることもできません。TMS に同期されるジョブを Strings で作成する際は、ソースロケールをターゲットロケールとして選択しないでください。

ICU メッセージと CLDR 複数形

ICU メッセージまたは複数形を含む Strings ジョブを翻訳用に TMS に送信する場合、XLIFF 2.0 ファイルインポート設定または TMS プロジェクトテンプレートで Parse ICU messages オプションを有効にします。

使用例

コネクターにはいくつかの使用例があります。

  • TMSプロジェクトマネージャは、ファイルをオンラインリポジトリからTMSプロジェクトに直接追加できます。

  • 提出者がPhrase Stringsから直接リクエストにファイルを追加できるようにPhrase TMS提出者ポータルを設定します。

  • TMSプロジェクト自動作成(APC)を使用して、監視対象のファイルまたはフォルダの最終更新日の変更が検出されると、新しいプロジェクトが自動的に作成されます。

    • ジョブレベルの同期を行うには、APC が監視する場所をプロジェクトの jobs サブフォルダー(例: All projects / [project name] / [branch] / jobs)に設定してください。

    • プロジェクトレベルの同期を行うには、APC が監視する場所を jobs サブフォルダーを含めず、プロジェクトとブランチのパスのみ(例: All projects / [project name] / [branch])に設定してください。プロジェクトレベルの同期では Strings ジョブが開始されず、jobs:start Webhook イベントも発生しないため、Webhook ベースの監視ではなくスケジュールベースの監視を使用してください。

    • ジョブ同期の場合、APC は次のジョブ更新によってトリガーされます。

      • 新規追加キーまたは既存キーへの変更

      • Stringsの更新ジョブの納期

      備考

      ジョブを再度開いても、APCの更新にはカウントされません。

    • プロジェクトレベルの同期の場合、APC は以下によってトリガーされます。

      • 新しく追加されたキー

      • 既存のキーへの変更

    • APC 設定時に [毎回新規プロジェクト作成] を選択すると、リモートのオンライン リポジトリは原文だけでなく訳文の更新も監視できます

      訳文の更新を監視する場合、オンライン リポジトリで訳文コピーに変更が加えられると、Phrase TMSの翻訳メモリが自動的に更新されます。

    • リモートで行われた 訳文更新をTMに自動的に保存する を選択した場合、Strings訳文言語のキーテキストの変更は、関連するAPCプロジェクトで使用されるTMS翻訳メモリに自動的に更新されます。

  • TMSコネクターAPIを使用すると、通常はUIを介して手動で実行するステップを自動化できます。ウェブフックを使用すると、特定のイベント(ジョブのステータス変更など)をサードパーティのシステムに通知できます。ジョブレベルの同期では、jobs:start イベントに対して Webhook をトリガーできます。

Job Syncs ページ

Job Syncs ページでは、Phrase Strings コネクタを使用するすべてのジョブ同期設定(APC)を一元的に表示できます。これには、Strings で直接作成された同期と TMS で構成された同期の両方が含まれ、関連情報が表示されます。

Job Syncs ページから、Strings の管理者およびプロジェクトマネージャーユーザーは、新しいジョブ同期の設定、既存のジョブ同期の編集(有効/無効の切り替えを含む)、またはジョブ同期の削除を行うことができます。

既存のジョブ同期は、More More Menuメニューの関連オプションを使用して編集または削除できます。すべての変更は Strings と TMS の間で同期されます。ジョブ同期を削除すると、TMS内の対応するAPCが削除されます。

Job Syncsページには、左側のナビゲーションメニューのIntegrationsとJobsの両方からアクセスできます。

Stringsでのジョブ同期の設定

備考

TMSで必須のcustom fieldsが定義されている場合、Stringsからのジョブ同期の設定はサポートされていません。

StringsとTMS間のジョブ同期を基本設定で新しく設定するには、StringsのUIで以下の手順に従ってください。

  1. Integrationsページで、Job Sync統合の横にあるConfigureを選択します。

    Job Syncsページが表示されます。

  2. + New Job Syncをクリックします。

    Create new Job Syncウィンドウが表示されます。

  3. Sync Nameを入力し、Assigned Strings projectsドロップダウンからTMSに接続するStringsプロジェクトを選択します。

    同じ言語の組み合わせを持つプロジェクトのみを含めることができます。

  4. 必要に応じて、使用するTMS project templateを選択します。選択したTMSプロジェクトテンプレートは、割り当てられたStringsプロジェクトで定義されている言語セットと一致している必要があります。

    同期されたジョブは、選択したテンプレートから作成されたTMSプロジェクトに追加されます。

    • Defaultが選択されている場合、選択したStringsプロジェクトに基づいてTMSプロジェクトテンプレートが自動的に作成されます。

  5. TMSで作成するプロジェクトのTypeを選択します。

    • 継続プロジェクト

      デフォルトのオプションです。

    • 新規プロジェクト

      Stringsのジョブで変更が検出されるたびに、新しいTMSプロジェクトが作成されます。

  6. Export back to Stringsセクションで、TMSからの翻訳をStringsにエクスポートする方法を制御するためのStringsエクスポート設定を指定します。

    • 既存の翻訳を上書き

      Strings内の既存のターゲット翻訳を更新します。

    • ジョブを完了済みにする

      Strings内のジョブを自動的に完了としてマークします。

    • 未変更の翻訳をStringsで検証

      未検証としてマークされたキーは、訳文に変更がない場合、Stringsで自動的に検証されます。

  7. 必要に応じて、Advanced optionsをクリックして追加のエクスポートオプションを表示します。

    • ロケールを完了済みにする

      翻訳がStringsに同期されると、特定のロケールを完了としてマークします。

    • 新規のキーを作成し、既存のキーを更新する

      TMSからの新しいキーがStringsに作成され、既存のキーが更新されるようにします。

    • 原文が保存されたバージョンと一致した場合にのみ翻訳を適用する

      エクスポート後にStringsでソーステキストが変更された場合、翻訳が上書きされるのを防ぎます。

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

    新しいジョブ同期設定が、非アクティブなステータスでTMS Job Syncsリストに追加されます。Active列のトグルを使用して、ジョブ同期を有効にします。

ヒント

より高度な設定を行うには、Phrase TMS設定を使用してコネクタをセットアップします。

カスタムマッピングを使用している場合、変更が必要になったら、TMS側のコネクタにその変更を適用する必要があります。

Phrase TMSでStringsコネクタを作成しても、自動ジョブインポート/エクスポート用のAPCは自動的には作成されません。APCはTMSで個別に設定する必要があります。

Phrase TMS設定

組織によっては、組織のPhraseプラットフォームのID情報を使用して、Phrase Stringsコネクタがすでに自動作成されている場合があります。手動で作成する前に、Connectorsページでコネクタリストを確認してください。自動作成されたコネクタは、手動で入力したアクセストークンではなく、ログイン中のID情報を使用してサーバー側で認証されます。

コネクタは、作成後の初期同期が完了するまでPendingというステータスを表示し、その後Activeに変わります。コネクタ設定に変更を加えた場合や、実質的な変更がなくてもコネクタ設定ページを保存した場合にも、Pending状態になります。コネクタがPendingと表示されている間は、Phrase TMSでのジョブ作成のソースとして使用できません。そのコネクタでジョブを作成する前に、ステータスがActiveに変わるまで待機してください。

  1. 設定Setup_gear.pngページで、Integrationsセクションまでスクロールします。

  2. [コネクタ]をクリックします。

    「コネクタ」ページが開きます。

  3. New connectorをクリックします。

    Create connectorページが開きます。

  4. TypeをPhrase Stringsに変更し、コネクタの名前を入力します。

  5. Stringsから取得したアカウントIDとaccess tokenを入力します。

  6. [接続テストTest connection] をクリックします。

    • 成功すると、Test connectionボタンの横に小さなチェックマークが表示されます。

  7. TMSにインポートするアイテムを選択します。

    ターゲットキーをインポートしない場合、XLIFF 2.0ファイルのFile import settingsでSegment XLIFFが選択されていれば、XLIFF 2.0ファイルをさらに分割できます。

    • 必要に応じて、高度なインポートオプションを有効または無効にします:

      • インポート時にTMSプロジェクトの原文言語を適用

        TMSプロジェクトのソース言語は、Stringsプロジェクトのデフォルト言語に関係なく適用されます。

      • 言語ごとにTMSジョブを作成

        このオプションを有効にすると、進行中のロケールに対して重複するTMSジョブが作成されるのを防ぐことができます。有効にすると、アクティブなTMSジョブの一部であるキーへの変更は、元のジョブが完了するまで再インポートされません。多言語のジョブでより細かな制御が必要な場合に推奨されます。

      • CDATA内でHTMLコンテンツをラップする

        • このオプションを使用すると、HTML エンティティが CDATA でラップされ、Strings と TMS 間の転送中に維持されます。

        • このオプションを使用すると、ICU構文とインラインHTML要素を組み合わせたコンテンツをインポートできます。

  8. エクスポート モードを選択します。

    • 必要に応じて、以下のエクスポートオプションを有効または無効にします:

      • 翻訳を上書き

        無効にすると、既存の翻訳がファイルコンテンツで更新されるのを防ぐことができます。

      • キーを新規作成または更新

        無効にすると、新しいキーの作成や既存のキーの更新を防ぐことができます。

      • 原文が一致する場合にのみ翻訳を適用

        最新のソースコンテンツと一致しない翻訳は、同期中に除外されます。これはソーステキストと翻訳間の一貫性を維持し、古い翻訳や誤った翻訳を回避するのに役立ちます。

      • 翻訳が未変更の場合にのみ検証

        未検証としてマークされたキーは、ターゲットの翻訳に変更がない場合、Stringsで自動的に検証されます。有効にすると、TMSから返されたすべての翻訳は、テキストが編集されたか、変更されずに返されたかに関係なく、Stringsで検証済みとしてマークされます。ジョブが開いている間にStringsでソーステキストが変更されたキーのみが除外され、未検証のままになります。

      • 言語を完了済みにする

        翻訳がStringsに同期されると、該当するロケールを完了としてマークします。

      • ジョブを完了済みにする

        選択した場合、最後のロケールがアップロードされて初めて、ジョブが完了としてマークされます。

  9. 指定する場合は、デフォルトのフォルダを選択します(保存後にのみ可能です)。

  10. 言語マッピングが表示され、必要に応じてカスタマイズできます。コネクタ設定において、各Stringsロケールが単一のTMSロケールへのマッピングエントリを1つだけ持つようにしてください。言語マッピングの変更は既存のジョブには影響しません。

    リストは5プロジェクトずつページ分割され、プロジェクトはアルファベット順(まずA-Z(大文字)、次にa-z(小文字))でソートされます。

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

    コネクターが「コネクター」ページの一覧に追加されます。

統合機能でサポート:

  • TMS プロジェクトテンプレート

  • TMSワークフロー

  • ジョブの概要(プロジェクトレベルの同期を使用している場合は適用されません)

  • ジョブの納期(プロジェクトレベルの同期を使用している場合は適用されません)

    Strings に設定された納期 は、TMS でプロジェクト納期を更新します。複数の異なる期限がある場合は、最も近い期限がTMSプロジェクトに適用されます。

プロジェクトの参考資料としてStringsからTMSに転送:

  • キー説明

    Stringsから転送され、TMS CATエディタのコンテキストメモビューにコンテキストメモとして表示されます。

  • 最大キー文字数

    Stringsから転送され、TMS CATエディタのコンテキストメモビューに表示されます。

  • スクリーンショット

    StringsのスクリーンショットをTMS CATエディタのコンテキストノートペインに表示するには、次の操作を行います。

    • TMSプロジェクト設定のアクセスとセキュリティセクションで、Phrase CATエディタでの外部コンテンツの読み込みを許可するオプションを有効にします。

    • コンテキストノートペインでリッチテキスト形式を選択します。

  • サポートされているファイル形式のカスタムメタデータ:

    • .XLSX

    • .CSV

    • .XLIFF 2.0

APC経由のStrings訳文更新のモニタリング

APC経由でStringsで行われる訳文更新を監視する手順は、次のとおりです。

  1. APC を設定する場合、新規プロジェクト毎回作成を選択。

    これにより、Stringsで行われた訳文更新のオンラインリポジトリを監視できます。

  2. APC セットアップの 自動化 セクションで、 訳文訳文更新はリモート エンティティに自動的に保存される を選択します。

Stringsの訳文言語コンテンツに対する変更は、APCモニタリングがトリガーされると自動的にPhrase TMS翻訳メモリに保存されます。

Phrase TMSエディタで訳文セグメントを変更することで、翻訳メモリの更新を上書きできます。これらの更新は、Phrase TMSジョブが完了するとStringsにエクスポートされます。

APCによるキー削除の動作

ジョブに含まれた後にStrings内のキーを削除しても、一度限りの手動インポートで作成されたPhrase TMSジョブには影響しません。そのジョブは、手動で再インポートされるまで変更されません。

APCによる監視が有効な場合、PhraseはポーリングまたはWebhookによる起動のたびにコンテンツのハッシュ値を比較し、キーの削除を含むあらゆる変更を、再同期を引き起こす更新として扱います。

  • 継続的プロジェクトモードでは、再同期によって既存のPhrase TMSプロジェクトまたはジョブがStringsの現在のコンテンツと一致するように更新されるため、削除されたキーのコンテンツはそのジョブから削除されます。

  • 毎回新しいプロジェクトを作成モードでは、再同期によって削除後のコンテンツを反映した新しいPhrase TMSジョブバージョンが作成されますが、以前に作成されたジョブバージョンは変更されません。

ジョブ同期のトラブルシューティング

次の表に、Strings統合機能の使用時にユーザーが遭遇する可能性のある一般的な問題の概要を示します。トラブルシューティングを行う際に考えられる原因と解決策をご紹介します。

問題

原因

ソリューション

TMS ジョブの NMTOKEN に関する警告メッセージ

キー名に望ましくない文字(スペースなど)が含まれています

警告メッセージが表示されても、翻訳コンテンツを処理してStringsにエクスポートできます。

TMSのキーが空です

原文言語に原文のないキーがジョブに含まれます

以下のいずれか:

  • セグメントを無視します。

  • Stringsジョブからキーを削除し、オンライン リポジトリから原文を再インポートします。

APCはプロジェクトを作成していません/新規ジョブを処理しています

言語コードの不一致

Strings の言語コードが TMS プロジェクトの言語コードと一致していることを確認します。

APC が継続的なプロジェクトとして設定されている場合、プロジェクト作成後にプロジェクト テンプレートに変更を加えても、既存のプロジェクトには適用されません。したがって、継続プロジェクトに直接変更を加える必要があります。

APCはジョブ/ロケールを処理済と見なします

ジョブ開始後にテンプレートが変更されると、APC履歴で処理済とみなされる場合があります。そのため、次への反復のためにジョブの更新が必要になる場合があります。

以下のいずれか:

  • ジョブへの新規キーの追加またはジョブの既存キーの更新

  • Strings でのジョブの納期の変更

エラー:429 要求が多すぎます(Strings API制限)

APCの数を減らし、モニタリング頻度を減らしましょう。

Stringsプロジェクト内の既存のキーがTMSジョブに存在しません

特定のキーがStringsジョブに追加されていませんでした

Stringsジョブにキーを追加し、TMSでオンラインリポジトリからジョブを再インポートします。

ジョブのインポート/エクスポートを試みると、「認証できませんでした」というエラーが表示されます。

自動作成された「Phrase Stringsによって作成」コネクタのアクセストークンが期限切れであるか、取り消されています。

TMSで新しいPhrase Stringsコネクタを作成し、既存のAPCを新しいコネクタに再リンクして、モニターをトリガーします。

APCまたは手動でインポートまたは再インポートしようとしても、完了として表示されていないにもかかわらず、Stringsジョブが見つかりません。

そのジョブはすでにTMSプロジェクトにインポートされていましたが、そのプロジェクトはその後、完了または完全に削除されることなくゴミ箱に移動されました。プロジェクトは技術的にはまだ進行中のため、ジョブは再インポート用に解放されません。

さらにトラブルシューティングを行う前に、Stringsでジョブのロケールの横にある注釈を確認し、そのジョブがすでにTMSにインポートされているかどうかを確かめてください。リンクされたプロジェクトがゴミ箱に見つかった場合は、プロジェクトを復元して直接作業を続けるか、プロジェクトが不要な場合はジョブとプロジェクトをキャンセルするか、purge=trueパラメータを使用してAPI経由でプロジェクトを完全に削除し、APCがそれをアクティブなバージョンと見なさないようにしてください。

TMSコネクタにカスタムロケールマッピングが設定されているにもかかわらず、「ロケールはPhrase TMSでサポートされていません: x」というエラーが発生し、ジョブ同期を保存できません。

ジョブ同期は、保存時にStringsプロジェクトのターゲットロケールを、TMSでネイティブサポートされているロケールのリストと直接照合して検証します。この検証では、カスタムコネクタのロケールマッピングは考慮されません。

TMSでネイティブにサポートされていないターゲットロケールを持つStringsプロジェクトの場合は、Stringsからではなく、TMSで直接Stringsコネクタを使用し、カスタム言語マッピングを構成してください。

ジョブがTMSでdeliveredステータスを示していても、翻訳はStringsにエクスポートされません。

プロジェクトまたはテンプレートには、すべてのジョブが配信された時点ではなく、すべてのジョブが事前翻訳された時点でプロジェクト(およびそのジョブ)を完了/配信済みとしてマークするプロジェクトステータスの自動化設定があります。これにより、Stringsへのエクスポート処理を実行しないままジョブが配信済みステータスになるため、自動化サービスはエクスポートをスケジュールせず、翻訳はStringsに送信されません。

プロジェクトテンプレートのProject status automation設定で、completed in all their workflow stepsではなくMark project as 'completed' once all jobs are" を "delivered in all their workflow stepsに設定してください。

手動で作成したジョブは、Stringsに手動でエクスポートしたうえで、ジョブのステータスをdeliveredに変更してください。手動エクスポートでは、ジョブのステータスは自動的に更新されません。プロジェクト内のすべてのジョブがdeliveredに設定されると、プロジェクトは自動的にcompletedとしてマークされます。

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

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.