Ray Enterprise Translation

DrupalをRay Enterprise(旧Lingotek)のクラウドベース翻訳管理システム(TMS)と統合するエンタープライズグレードの翻訳管理モジュールです。

lingotek
231 sites
50
drupal.org

インストール

Drupal 11 v11.0.3
composer require 'drupal/lingotek:^11.0'
Drupal 10, 9 v4.1.2
composer require 'drupal/lingotek:^4.1'

概要

Ray Enterprise Translationは、Drupalサイトに包括的な翻訳管理機能を提供し、Lingotekのクラウドベース翻訳管理システムとのシームレスな統合を実現します。このモジュールは、コンテンツEntity(Node、Taxonomy Term、Mediaなど)、設定Entity(Views、Block、Menuなど)、およびユーザーインターフェース文字列の翻訳をサポートしています。

このモジュールは、カスタマイズ可能なプロファイルを通じて柔軟な翻訳ワークフローを提供します。プロファイルは自動(ハンズオフ翻訳)、手動(ユーザー制御)、または無効モードに設定できます。各プロファイルには、言語固有のオーバーライドと、コンテンツのライフサイクルやビジネスコンテキストを追跡するためのIntelligence Metadataエンリッチメントを設定できます。

主な機能には、一括翻訳操作、Webhookによるリアルタイムステータス監視、ジョブベースの翻訳グループ化、DrupalのContent Moderationシステムとの深い統合が含まれます。このモジュールは、すべての翻訳アクティビティを管理するためのビジュアルダッシュボードを提供し、関連Entity検出、Paragraphs/Media翻訳、Layout Builder統合などの高度な機能をサポートしています。

Features

  • 自動または手動ワークフローでコンテンツEntityをLingotek TMSにアップロードしてプロフェッショナル翻訳を依頼
  • 完了した翻訳をダウンロードし、翻訳されたコンテンツバージョンを自動作成
  • カスタマイズ可能な自動化設定(自動アップロード、自動リクエスト、自動ダウンロード)で翻訳プロファイルを設定
  • Views、Block、Menu、カスタム設定タイプを含む設定Entityを翻訳
  • Theme、Module、インストールプロファイルからDrupalインターフェース文字列(UIテキスト)を翻訳
  • 複数Entityにわたる大量翻訳操作のための一括管理インターフェース
  • TMSからのWebhook通知によるリアルタイム翻訳ステータス追跡
  • 関連する翻訳を整理・追跡するためのジョブベース翻訳グループ化
  • 翻訳にビジネスコンテキストを追加するためのIntelligence Metadataエンリッチメント(著者、キャンペーン、ビジネスユニットなど)
  • 言語カバレッジとステータスを一目で確認できるビジュアル翻訳ダッシュボード
  • ターゲット言語ごとのきめ細かい制御のための言語固有プロファイルオーバーライド
  • 最終化された翻訳の誤った上書きを防止するターゲットロック
  • Content ModerationおよびWorkbench Moderationワークフローとの統合
  • CLIベースの翻訳操作のためのDrushコマンド
  • 埋め込みコンテンツ(Paragraphs、Media、Blockリファレンス)を翻訳するための関連Entity検出
  • Layout Builder、Metatag、Paragraphs、Cohesionを含む高度なフィールドタイプのサポート

Use Cases

自動化コンテンツ翻訳ワークフロー

コンテンツ量の多いサイトでは、Automaticプロファイルを設定して手動介入なしで翻訳を処理します。コンテンツが作成または更新されると、自動的にLingotekにアップロードし、すべての有効な言語の翻訳をリクエストし、完了した翻訳をダウンロードします。これは、複数言語間で最小限の編集監督で迅速に翻訳が必要なニュースサイト、eコマースカタログ、またはその他のサイトに最適です。

編集レビュー翻訳ワークフロー

編集管理が必要なサイトでは、Manualプロファイルを使用します。コンテンツエディターは、コンテンツが翻訳の準備ができたときに手動でアップロードをトリガーし、送信前に翻訳リクエストをレビューし、検証後にのみ翻訳をダウンロードします。これは、公開前に正確性を確認する必要がある法務、医療、または規制されたコンテンツに適しています。

コンテンツタイプ別の選択的翻訳

異なるコンテンツタイプに異なるプロファイルを設定します。製品ページは迅速なターンアラウンドのためにAutomaticプロファイルを使用し、法務ページは慎重なレビューのためにManualプロファイルを使用できます。ブログ投稿は自動アップロードだが手動ダウンロードで翻訳の編集レビューを行うカスタムプロファイルを使用できます。

ジョブベース翻訳管理

プロジェクト管理のためにジョブIDを使用して関連する翻訳をグループ化します。すべての関連コンテンツ(ランディングページ、製品説明、マーケティング資料)を含む製品ローンチ用のジョブを作成し、ジョブ全体の進捗を追跡し、ローンチ前にすべてのピースが完了していることを確認します。

翻訳分析のためのIntelligence Metadata

Intelligence Metadataを有効にして、ビジネスユニット、キャンペーン、または地域別に翻訳コストとパフォーマンスを追跡します。プロファイルごとにメタデータを設定して翻訳コストを正しく割り当て、どのコンテンツタイプまたはキャンペーンに最も多くの翻訳投資が必要かを分析します。

マルチリージョンコンテンツ戦略

言語固有のプロファイルオーバーライドを使用して、ターゲット市場に基づいて翻訳を異なるワークフローにルーティングします。ヨーロッパ言語は1つの翻訳ベンダー/ワークフローを使用し、アジア言語は別の専門ベンダーを使用できます。異なるVaultで地域固有のTranslation Memoryを保存できます。

多言語サイトの設定翻訳

コンテンツだけでなくサイト設定も翻訳:Menu名、Blockタイトル、Views表示、フィールドラベル。設定で設定翻訳を有効にし、設定翻訳管理ページで管理して、ユーザーエクスペリエンス全体がローカライズされるようにします。

カスタムModuleのインターフェース翻訳

potxモジュールを使用したインターフェース翻訳機能を使用して、カスタムModuleとThemeからUI文字列を抽出して翻訳します。これにより、カスタム開発がコントリビュートおよびコアの翻訳と一緒に完全にローカライズされます。

Paragraphs多用サイト

Paragraphsモジュールを広範囲に使用するサイトでは、統合設定でParagraphs一括管理を有効にします。関連Entity検出は翻訳が必要なParagraphsを自動的に識別し、親コンテンツの一部として、または別々に管理できます。

最終化された翻訳のターゲットロック

新しいターゲットロック機能を使用して、最終レビュー後に翻訳をロックします。これにより、ソースコンテンツが更新されたときの誤った上書きを防ぎ、明示的にロック解除されるまで、最終化された翻訳が新しい機械翻訳で置き換えられないように保護します。

Tips

  • ダッシュボードを定期的に使用して言語間の翻訳カバレッジを監視 - 全体的な翻訳ステータスのクイックな視覚的フィードバックを提供します
  • 個々のコンテンツのプロファイル割り当てを常に変更するのではなく、異なるコンテンツワークフロー用のカスタムプロファイルを作成します
  • API問題のトラブルシューティング時にインタラクションログを一時的に有効化 - 詳細なリクエスト/レスポンスログを提供しますが、かなりのログ量を生成します
  • キャンペーンやプロジェクトの関連コンテンツをグループ化するためにジョブIDを使用 - 追跡とレポートがはるかに簡単になります
  • 異なるターゲット言語に異なる品質要件やベンダー設定がある場合は、言語固有のワークフローオーバーライドを設定します
  • 「全ダウンロードを分割」設定により、一度に1言語ずつ処理することで大規模な翻訳バッチの信頼性を向上できます
  • 高トラフィックサイトでは自動ダウンロードにQueue Workerを有効にして、翻訳ダウンロードがページ応答時間に影響を与えないようにします
  • 翻訳がレビューされ、更新前に最終化される必要がある規制または法務コンテンツにはターゲットロック機能を使用します
  • 単一のテストドキュメントをアップロードしてステータスが自動的に更新されることを確認することで、Webhook接続をテストします
  • 必須でなくてもIntelligence Metadataの使用を検討 - データは時間の経過とともに翻訳コスト分析とベンダー管理に役立ちます

Technical Details

Admin Pages 11
Ray Enterprise Translationダッシュボード /admin/lingotek

すべての言語にわたる翻訳ステータスの概要を提供するメインダッシュボード。各有効言語のコンテンツ翻訳カバレッジを色分けされたステータスインジケーターで視覚的に表示します。ターゲット言語の追加/削除と翻訳進捗の一覧表示をサポートしています。

翻訳設定 /admin/lingotek/settings

アカウント設定、コンテンツタイプ、設定、プロファイル、Intelligence Metadata、環境設定、統合、ユーティリティを含む、Lingotek統合のすべての側面を設定するための複数のタブを持つ包括的な設定ページです。

コンテンツ翻訳の管理 /admin/lingotek/manage

コンテンツEntity翻訳の一括管理インターフェース。複数のEntityにわたる翻訳を同時に管理するためのフィルタリング、選択、バッチ操作を提供します。

設定翻訳の管理 /admin/lingotek/config/manage

設定EntityおよびオブジェクトのTranslation用一括管理インターフェース。コンテンツ管理と同様ですが、Views、Block、フィールド設定などの設定項目用です。

ユーザーインターフェース翻訳の管理 /admin/lingotek/manage/interface-translation

Module、Theme、インストールプロファイルからのDrupal UI文字列の翻訳を管理するインターフェース。翻訳可能な文字列を抽出するためにpotxモジュールが必要です。

翻訳ジョブ /admin/lingotek/jobs

翻訳ジョブの表示と管理。ジョブは関連する翻訳を追跡・整理目的でグループ化します。

ジョブコンテンツ詳細 /admin/lingotek/job/{job_id}/content

特定の翻訳ジョブ内のコンテンツEntityを表示・管理。ジョブが事前選択されたコンテンツ管理のフィルタービューを表示します。

ジョブ設定詳細 /admin/lingotek/job/{job_id}/config

特定の翻訳ジョブ内の設定項目を表示・管理。

翻訳プロファイルを追加 /admin/lingotek/settings/profile/add

特定の自動化設定、TMSデフォルト、Intelligence Metadataオーバーライド、言語ごとのカスタマイズを持つ新しいカスタム翻訳プロファイルを作成します。

Ray Enterpriseアカウントに接続 /admin/lingotek/setup/account

Lingotekアカウントに接続するための初期セットアップページ。既存のアカウント(アクセストークンを入力)または新規アカウント(無料またはエンタープライズサインアップ)のオプションを提供します。

サポートされているLingotekロケール /admin/lingotek/supported-locales

Lingotekがサポートするすべてのロケールコードと、Drupal言語コードへのマッピングをリストするリファレンスページです。

権限 3
Lingotek Translationモジュールを管理

Lingotek Translationモジュールのすべての機能とツールを使用します。これは最も強力な権限であり、信頼できる管理者にのみ付与してください。

コンテンツにLingotek翻訳プロファイルを割り当て

ユーザーがコンテンツに翻訳プロファイルを割り当てることを許可します。ユーザーにこの権限がない場合、デフォルトのプロファイルが自動的に使用されます。

Lingotek翻訳を管理

ユーザーがコンテンツを翻訳に送信し、準備ができたら翻訳をダウンロードすることを許可します。これはコンテンツ翻訳者に必要な基本的な権限です。

Hooks 8
hook_lingotek_content_entity_translation_presave

Lingotekからダウンロード後、保存前にコンテンツEntity翻訳データを変更することをモジュールに許可

hook_lingotek_content_entity_document_upload

Lingotek TMSにアップロードする前にドキュメントデータを変更することをモジュールに許可

hook_lingotek_content_entity_get_profile

コンテンツEntityの翻訳プロファイルをオーバーライドすることをモジュールに許可

hook_lingotek_config_entity_translation_presave

保存前に設定Entity翻訳データを変更することをモジュールに許可

hook_lingotek_config_entity_document_upload

アップロード前に設定Entityドキュメントを変更することをモジュールに許可

hook_lingotek_config_object_translation_presave

保存前にシンプルな設定オブジェクト翻訳データを変更することをモジュールに許可

hook_lingotek_config_object_document_upload

アップロード前にシンプルな設定オブジェクトデータを変更することをモジュールに許可

hook_form_lingotek_management_form_alter

Lingotek管理フォームをカスタマイズするための標準Drupalフォルターhook

Drush Commands 5
drush lingotek:upload

翻訳用にコンテンツEntityをLingotek TMSにアップロード

drush lingotek:check-upload

LingotekでのコンテンツEntityのアップロードステータスを確認

drush lingotek:request-translations

LingotekからコンテンツEntityの翻訳をリクエスト

drush lingotek:check-translations-statuses

コンテンツEntityの翻訳ステータスを確認

drush lingotek:download-translations

コンテンツEntityの完了した翻訳をダウンロード

Troubleshooting 10
翻訳が自動的にダウンロードされない

翻訳プロファイルでauto_downloadが有効になっていることを確認します。Lingotek通知コールバックURLが正しく設定されていることを確認します(設定 > ユーティリティで表示)。ダウンロードにQueue Workerを使用している場合は、Cronが定期的に実行されていることを確認します。DrupalログでAPIエラーを確認します。

コンテンツがLingotekにアップロードされない

設定 > コンテンツでコンテンツタイプのLingotek翻訳が有効になっていることを確認します。割り当てられたプロファイルが「Disabled」ではないことを確認します。Entityにソース言語が設定されており、バンドルでContent Translationが有効になっていることを確認します。APIログを確認します(設定 > ログでインタラクションログを有効化)。

エラー:アクセストークンが無効または期限切れ

設定 > アカウントに移動し、「デフォルトを編集」または「アクセストークンを更新」を使用して、Lingotekアカウントから新しい有効なアクセストークンを入力します。

翻訳が表示されるがフィールドが空

設定 > コンテンツ > [コンテンツタイプ] > 編集で特定のフィールドがLingotek翻訳に有効になっていることを確認します。一部のフィールドタイプには特定のフィールドプロセッサーが必要です - フィールドタイプがサポートされていることを確認します。

Webhook通知が受信されない

コールバックURLがインターネットからアクセス可能であることを確認します(ファイアウォール設定を確認)。設定 > ユーティリティに表示されるURLはLingotekサーバーから到達可能でなければなりません。「通知コールバックURLを更新」を使用して登録を更新します。

プロファイルを削除できない

プロファイルは使用中です。管理インターフェースでこのプロファイルを使用しているコンテンツを確認します(プロファイルでフィルター)。また、プロファイルがデフォルトとして設定されている可能性のあるコンテンツタイプ設定も確認します。削除前にすべての使用を変更します。

設定項目が設定管理に表示されない

設定 > 設定で特定の設定タイプの設定翻訳を有効にします。有効にされた設定マッパーのみが管理インターフェースに表示されます。

インターフェース翻訳にはpotxモジュールが必要

potxモジュールをインストールして有効にします:composer require drupal/potx && drush en potx。インターフェース翻訳機能は翻訳可能な文字列を抽出するためにpotxに依存しています。

Paragraphs翻訳が正しく同期されない

設定 > 統合で「Paragraphsの一括管理を有効化」を有効にします。ParagraphsタイプレベルでContent Translationが有効になっていることを確認します。ParagraphリファレンスフィールドがLingotek翻訳用にマークされていることを確認します。

環境切り替えによるドキュメント重複

環境を切り替える前(dev→staging→production)、設定 > ユーティリティの「すべての関連付けを解除」ユーティリティを使用して、すべてのローカルLingotek関連付けを削除します。これにより、新しい環境がTMSに重複ドキュメントを作成することを防ぎます。

Security Notes 6
  • 「administer lingotek」権限は、アカウント切断やメタデータ削除を含むすべてのLingotek機能への完全なアクセスを提供します - 信頼できる管理者にのみ付与してください
  • APIアクセストークンは機密認証情報として扱う必要があります - Lingotek TMSアカウントへの完全なアクセスを提供します
  • Webhookエンドポイント(/lingotek/notify)は公開アクセス可能ですが、リクエストがLingotekからのものであることを検証します - サーバーのファイアウォールがLingotek IP範囲からの受信リクエストを許可していることを確認してください
  • 翻訳プロファイルは翻訳を自動公開するように設定できます - コンテンツワークフローへの影響と、翻訳に公開前の編集レビューが必要かどうかを検討してください
  • 連絡先情報付きでIntelligence Metadataを使用する場合、このデータはLingotek TMSに送信され保存されることに注意してください
  • すべての翻訳の関連付けを解除することは元に戻せない重要な操作です - データベースバックアップを取った上で慎重に使用してください