Skip to content

多言語メッセージ

ワークスペースにロケールを追加すると、1つのプッシュ、メール、バナー、アプリ内メッセージ、またはContent Blockで、異なる言語のユーザーをターゲットにできます。

前提条件

多言語メッセージの設定と使用方法の概要については、以下の動画をご覧ください。

機能 必須のユーザー権限
多言語ロケール 多言語ロケールを作成および管理するには、以下の権限が必要です。

詳細な権限:
  • ローカライゼーション設定の編集
  • ローカライゼーション設定の削除
レガシー権限:
  • 多言語設定の管理
機能 必要なユーザー権限
メッセージ タイプ CampaignsおよびCanvasesにロケールと翻訳を追加するには、以下の権限が必要です。

詳細な権限:
  • Edit Campaigns
  • Edit Canvases
レガシー権限:
  • Access Campaigns, Canvases, Cards, Content Blocks, Feature Flags, Segments, Media Library, Locations, Promotion Codes, and Preference Centers
機能 必要なユーザー権限
テンプレート ロケールと翻訳を追加するテンプレートタイプに応じて、以下の権限が必要です。

詳細な権限:
  • Edit Email Templates
  • Edit IAM Templates
  • Edit Content Block Templates
レガシー権限:
  • Access Campaigns, Canvases, Cards, Content Blocks, Feature Flags, Segments, Media Library, Locations, Promotion Codes, and Preference Centers

ロケールの使用

ステップ1: ロケールを設定する

メッセージに翻訳を追加する前に、まずサポートするロケールを作成する必要があります。ロケールは、メッセージングで利用可能な言語(およびオプションで地域)のバリアントを定義します。

ステップ2: 翻訳するコンテンツをマークする

翻訳したいテキストをLiquid翻訳タグ {% translation your_id_here %}{% endtranslation %} で囲み、タグIDを割り当てます。翻訳タグIDはメッセージ内で一意である必要があります。テキストを明確に説明するセマンティックなID名の使用を検討してください(例: {% translation header %})。

翻訳用にマークされたメッセージの例: {% translation greeting %}Hello!{% endtranslation %}

URLのローカライズ

コンテンツを翻訳する際、URLにはリンク切れを防ぐための特別な処理が必要です。

標準(静的)URL

静的URLはエディターで手動入力します(例: https://example.com)。以下の推奨事項もご確認ください。

推奨事項 理由
プロトコル(https://)は翻訳タグの外に置いてください。ドメインとパスのみを囲みます(例: example.com/en)。 翻訳者が特殊文字を誤って変更または削除し、リンク切れの原因となる可能性があります。
クエリパラメーター(例: ?utm_source=promo)は翻訳タグ内に含めないでください。 翻訳者が特殊文字を誤って変更または削除し、リンク切れの原因となる可能性があります。

両方の推奨事項に従った標準URLの例:

1
<a href="https://{% translation id_1 %}example.shop.com{% endtranslation %}">Visit our store</a>
Liquidで生成されるURL

URLがLiquidで生成される場合(例: {% landing_page_url %})、以下を推奨します。

推奨事項 理由
Liquidで生成されるURLは、ローカライズが必要な場合のみ翻訳タグで囲んでください。 Liquid構文は正しくレンダリングするために慎重に保持する必要があります。
クエリパラメーター(例: ?utm_source=promo)は翻訳タグ内に含めないでください。 翻訳者が特殊文字を誤って変更または削除し、リンク切れの原因となる可能性があります。

両方の推奨事項に従ったLiquid生成URLの例:

1
<a href="{% translation id_1 %}{% landing_page_url xyz %}{% endtranslation %}">View details</a>

HTML属性と構造

翻訳タグで囲むのは、人間が読むテキストのみにしてください。HTML属性(classstyleidなど)やその他の構造コードを囲むことは避けてください。HTML属性はレイアウト、スタイル、機能を制御します。翻訳タグで囲むと、ローカライズ版のメッセージでフォーマットやスタイルが崩れる可能性があります。

正しく囲まれたテキスト:

1
2
3
<p class="headline" style="color: red;">
  {% translation id_1 %}Welcome to our sale{% endtranslation %}
</p>
正しくない囲み方

このテキストは正しくない囲み方です:

1
2
3
4
5
{% translation id_1 %}
<p class="headline" style="color: red;">
  Welcome to our sale
</p>
{% endtranslation %}

ステップ3: メッセージにロケールを追加する

メッセージに翻訳タグを追加した後、エディターで言語を管理を選択し(メールおよびContent Blocksのドラッグ&ドロップエディターでは言語)、翻訳を追加するロケールを少なくとも1つ選択します。

デフォルトロケールまたはカスタム属性を選択するオプションを含むロケール追加ドロップダウン。

翻訳を含むContent Blocks

メッセージに翻訳が保存済みのContent Blocksが含まれている場合、それらの翻訳を再アップロードする必要はありません。保存された翻訳は、Content Blockがメッセージに追加されると自動的に適用されます。

言語を管理モーダルでは、翻訳が保存されたContent Blocksが、サポートするロケールとともにリストに表示されます。これにより、新しい翻訳を追加する前に、メッセージのどの部分がすでにローカライズされているかを確認できます。

翻訳が保存されたContent Blocksのリストを含む「言語を管理」セクション。

ステップ4: 翻訳を追加する

ロケールを選択した後、以下のいずれかの方法でメッセージに翻訳を追加します。

CSVによるアップロードまたは翻訳パートナーへの接続による翻訳追加オプションを含む「翻訳を追加」タブ。

テンプレートをダウンロードを選択して、選択した翻訳IDとロケールのマトリクスを含むCSVをダウンロードします。各ロケールの翻訳を入力してください。完成したファイルをアップロードすると、翻訳がメッセージに適用されます。

タイトル、オファーテキスト、オファー金額、CTAの翻訳タグを含むCSV。

パートナー翻訳APIを使用して、CampaignsおよびCanvasesの翻訳を管理・更新します。これは、外部システムでローカライゼーションを行っている場合や、翻訳パートナーと直接接続したい場合に便利です。

Canvasesで翻訳エンドポイントを使用するには、以下のパラメーターを含めてください。

  • workflow_id
  • step_id
  • message_variation_id

ステップ5: 翻訳をプレビューする

メッセージをプレビューするには、ユーザーとしてプレビュードロップダウンから多言語ユーザーオプションを選択します。これにより、異なるロケール定義を切り替えて、メッセージのすべての翻訳をプレビューできます。

ロケールプレビュー

翻訳の管理

Canvasステップまたはキャンペーンの複製と翻訳

Canvasステップ、Campaign、またはバリアントを複製すると、翻訳も含まれます。これはワークスペース間のコピーでも同様で、コピー先のワークスペースにロケールが定義されている場合に適用されます。CanvasまたはCampaignに変更を加える際は、翻訳を確認し、必要に応じて更新してください。

Content Blocksに翻訳を保存する

Content Blocksは、メッセージと同じ方法で多言語をサポートします。Content Blocksを作成または編集する際に、コンテンツに翻訳タグを付け、ロケールを追加し、CSVまたは翻訳APIを使用して翻訳をアップロードできます。

保存された翻訳はContent Blockに関連付けられたままです。ブロックがメッセージに追加されると、その翻訳が自動的に含まれます。

右から左に書くメッセージ

右から左に書く言語(アラビア語など)の翻訳ファイルを入力する際は、翻訳をspanで囲んで適切にフォーマットされるようにしてください。

1
{% translation your_id_here %}<span dir='rtl'>default text</span>{% endtranslation %}

メールキャンペーンでは、Brazeは各URLにトラッキング情報(クエリパラメーター)を追加してリンクを追跡します。この動作はリンクエイリアスリンクテンプレートの両方をサポートしています。

URLが翻訳タグで囲まれている場合、Brazeはトラッキング情報を追加する場所を判断できない場合があります。これが正しく機能するようにするには、URLの末尾にトラッキングを追加する場所を示す特殊文字を含める必要があります。

URLは2つの特殊文字を使用してこの動作を制御します。

  • ?はまだトラッキングがないURLにトラッキングを追加します。
  • &はURLにすでに?が含まれている場合に追加のトラッキングを追加します。URLには?を1つだけ含めることができます。
URL ?を含む 説明
標準URL いいえ URLにまだ?が含まれていない場合、閉じ翻訳タグの後に?を追加します。 <a href="https://{% translation id_1 %}example.com{% endtranslation %}?">Shop Now</a>
標準URL はい URLにすでに?が含まれている場合、URLの末尾(閉じ翻訳タグの後)に&を使用します。 <a href="https://{% translation id_1 %}example.com{% endtranslation %}?ref=4&">Shop Now</a>
Liquid生成 いいえ 生成されたURLにまだ?が含まれていない場合、閉じ翻訳タグの後に?を使用します。 <a href="{% translation id_1 %}{{ product_url }}{% endtranslation %}?">Shop Now</a>
Liquid生成 はい 生成されたURLにすでに?が含まれている場合、閉じ翻訳タグの後に&を使用します。 <a href="{% translation id_1 %}{% landing_page_url xyz %}{% endtranslation %}&">Shop Now</a>

言語設定とアクセシビリティ

まずアクセシビリティアクセシビリティ言語を参照して、WCAGのコンテキスト、チャネルとエディターの動作(ランディングページを含む)、およびメッセージレベルのアクセシビリティ設定をご確認ください。

多言語メッセージを使用する場合、ローカライズされた送信が適切な言語を宣言するように、アクセシビリティ言語を各ロケールに合わせてください。

アクセシビリティ言語の設定

アクセシビリティ言語は2つのレベルで設定できます。

メッセージレベル

メッセージレベルでは、メッセージ設定のアクセシビリティセクションでアクセシビリティ言語を設定します。言語の選択、Liquidの使用、チャネルごとの制限については、アクセシビリティ言語を参照してください。

ロケールレベル

多言語メッセージの場合、ローカライゼーション設定で各ロケールにアクセシビリティ言語を設定します。アクセシビリティセクションで {{accessibility_language}} を使用すると、ドキュメントまたはカードの言語がそれらのロケール値にマッピングされます。

新しいメッセージでそのトークンがデフォルトで表示されるかどうかは、チャネルとエディターによって異なります。たとえば、アプリ内メッセージやバナーは、ランディングページやドラッグ&ドロップメールとは動作が異なります。詳細については、アクセシビリティ言語を参照してください。

よくある質問

翻訳タグの制限は何ですか?

翻訳タグを使用する場合、以下の制限が適用されます。

  • 各メッセージには最大200個の翻訳タグを使用できます。
  • 各デフォルトテキスト(翻訳タグ間のコンテンツ)は最大2,000文字です。
  • ロケールごとの翻訳は最大409,600バイト(約409.6 KB)です。

ロケールの1つで翻訳済みコピーを変更できますか?

はい。まずCSVで編集を行い、ファイルを再度アップロードして翻訳済みコピーを変更します。

Brazeは翻訳を提供しますか?

いいえ。CSVのアップロードまたは翻訳APIを使用して、ご自身で翻訳を提供する必要があります。

翻訳タグをネストできますか?

いいえ。

HTMLメッセージ全体を翻訳タグで囲むことはできますか?

いいえ。ベストプラクティスとして、人間が読むテキストまたはローカライズが必要なコンテンツのみを囲むべきです。これにより、フォーマット、リンク、その他の非テキスト要素の破損を防ぐことができます。

また、正確な翻訳を作成し、パフォーマンスやサイズの制限を回避するために、意味的に関連する小さなテキスト単位で囲むことを検討してください。

ロケールの1つで翻訳済みコピーを変更できますか?

はい。CSVを使用している場合は、まずファイルで編集を行い、再度アップロードして翻訳済みコピーを変更します。翻訳APIを使用している場合は、更新エンドポイントを使用して変更を行います。

Brazeはどのような検証や追加チェックを行いますか?

シナリオ Brazeでの検証
メッセージに、異なるテキストにマッピングされた2つ以上の一致する翻訳IDが含まれている。 この翻訳ファイルはダウンロードされません。
翻訳ファイルに1つ以上の翻訳タグIDが欠けている。 この翻訳ファイルはアップロードされません。
翻訳ファイルにメッセージに存在しないロケールが含まれている。 この翻訳ファイルはアップロードされません。
翻訳テンプレートをダウンロードする前に、メッセージに翻訳タグを追加する必要がある。 この翻訳ファイルはダウンロードされません。
アップロードしたファイルに含まれる翻訳タグがメッセージに存在しない。 余分な翻訳はメッセージに保存されません。
メッセージに1つ以上の壊れたLiquidタグが含まれている。開始タグには{% translation your_id_here %}を使用し、翻訳タグは{% endtranslation %}で閉じてください。 この翻訳ファイルはダウンロードされません。
翻訳ファイルにメッセージ内のテキストと一致しないデフォルトテキストが含まれている。 翻訳は追加されますが、元のメッセージテキストは更新されません。
メッセージ内の1つ以上のロケールが設定で削除され、存在しなくなった。 すでに追加された翻訳はメッセージ内に引き続き存在します。メッセージから削除すると、翻訳は失われます。
翻訳タグに完全なURLまたはLiquid生成URLが含まれている。 リンク切れやリンクトラッキングの問題が発生する可能性があるため、URLを含む翻訳タグが識別されます。
翻訳タグにクエリパラメーターが含まれている。 リンク切れやリンクトラッキングの問題が発生する可能性があるため、クエリパラメーターを含む翻訳タグが識別されます。
翻訳タグにHTML属性または構造が含まれている。 スタイルやフォーマットの問題が発生する可能性があるため、HTML属性または構造を含む翻訳タグが識別されます。
New Stuff!