管理

Phrase Strings Connector (Job Sync)

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

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

  • ジョブ同期

    Stringsで作成され、進捗ステータスで開始されたジョブは、翻訳用にTMSにインポートされ、翻訳後にStringsに送り返されます。デフォルトでは、Strings から TMS に送信されたジョブは XLIFF 2.0 ファイルとしてインポートされます。

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

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

    選択した Strings プロジェクト 内のすべてのキーは、ジョブ作成を必要とせずに TMS に転送されます。新しく追加または更新されたキーは、自動的に同期の対象となります。

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

前提条件

  • TMS と Strings の両方のアプリケーションへのアクセスが必要です。

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

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

注意

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

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

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

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

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

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

Strings キーには HTML エンティティを含めることができます。でコネクターをTMSに設定する際、TMSで対応する文字を表示する代わりにHTMLエンティティを保持するため、HTMLコンテンツを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を介して手動で実行するステップを自動化できます。ウェブフックを使用すると、特定のイベント(ジョブのステータス変更など)をサードパーティのシステムに通知できます。Webhooksは、ジョブレベルの同期におけるjobs:startイベントに対してトリガーできます。

ジョブ同期ページ

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

「Job Syncs」ページから、Strings の管理者およびプロジェクトマネージャーは、 を使用して新しいジョブ同期を設定したり、既存のジョブ同期を(アクティブ/非アクティブの切り替えを含めて)編集または削除したりすることができます。

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

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

Stringsでジョブ同期を設定する方法

備考

TMSでカスタムフィールドが必須として定義されている場合、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プロジェクトテンプレートを選択します。選択したTMSプロジェクトテンプレートは、割り当てられたStringsプロジェクトで定義されている言語セットと一致している必要があります。

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

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

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

    • 継続的なプロジェクト

      デフォルトオプション。

    • 新規プロジェクト

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

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

    • 既存の翻訳を上書き

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

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

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

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

      未検証とマークされたキーは、ターゲット翻訳に変更がない場合、Stringsで自動的に検証されます。

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

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

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

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

      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を使ってサーバー側でauthenticatesします。

コネクタは、作成後の初回同期が完了するまで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 ファイルの ファイルインポート設定で Segment XLIFF が選択されていれば、XLIFF 2.0 ファイルをさらにセグメント化できます。

    • 必要に応じて、詳細インポートオプションを有効または無効にします。

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

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

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

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

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

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

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

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

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

      • 翻訳を上書き

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

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

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

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

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

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

        未検証としてマークされたキーは、ターゲット翻訳に変更がない場合、Stringsで自動的に検証されます。有効にすると、TMSから返されたすべての翻訳は、テキストが編集されたか変更なしで返されたかに関わらず、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トリガーのたびにコンテンツハッシュを比較し、キーの削除を含むあらゆる変更を、再同期をトリガーする更新として扱います。

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

  • create a new project every timeモードでは、再同期によって削除後のコンテンツを反映した新しいPhrase TMSジョブバージョンが作成されますが、以前に作成されたジョブバージョンは変更されません。

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

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

問題

原因

ソリューション

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

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

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

TMSのキーが空です

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

以下のいずれか:

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

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

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

言語コードの不一致

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

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

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

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

以下のいずれか:

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

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

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

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

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

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

Stringsジョブにキーを追加し、TMSのオンラインリポジトリからジョブを再インポートしてください

ジョブのインポート/エクスポートを試みると、「Could not authenticate」エラーが表示されます。

自動作成された「created by Phrase Strings」コネクタのアクセス権限の期限切れまたは取り消し

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

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

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

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

TMSコネクタにカスタムロケールマッピングが設定されているにもかかわらず、Job Syncの保存時に「Locales are not supported by Phrase TMS: x」エラーが表示され、保存に失敗します。

Job Syncは、保存時にStringsプロジェクトのターゲットロケールを、locales natively supported by TMSのリストと直接照合して検証します。この検証では、カスタムコネクタのロケールマッピングは考慮されません。

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

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

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

プロジェクトテンプレートのプロジェクトステータスの自動化設定で、すべてのワークフロー工程で完了ではなく、すべてのジョブが「すべてのワークフロー工程で納品済み」になったらプロジェクトを「完了」としてマークするに設定してください。

手動で作成されたジョブの場合、手動エクスポートではジョブステータスが自動的に更新されないため、ジョブを手動でStringsにエクスポートし、さらにジョブステータスを納品済みに手動で変更してください。プロジェクト内のすべてのジョブが納品済みに設定されると、プロジェクトは自動的に完了としてマークされます。

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

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.