Skip to content

多言語メッセージ

ワークスペースにロケールを追加した後、単一のプッシュ通知、メール、バナー、アプリ内メッセージ、またはコンテンツブロック内で、異なる言語のユーザーをすべてターゲットにできます。

前提条件

ロケールの使用

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

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

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

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

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

URL のローカライズ

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

標準(静的)URL

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

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

1
<a href="{% translation id_1 %}{% landing_page_url xyz%}{% endtranslation %}">Click Here</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:メッセージにロケールを追加する

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

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

翻訳を含むコンテンツブロック

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

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

翻訳が保存されたコンテンツブロックのリストがある「言語の管理」セクション。

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

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

CSV でアップロードするか、翻訳パートナーに接続するオプションがある「翻訳を追加」タブ。

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

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

パートナー翻訳 API を使用して、キャンペーンやキャンバスの翻訳を管理・更新します。外部のローカライゼーションシステムを使用している場合や、翻訳パートナーと直接接続したい場合に便利です。

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

  • workflow_id
  • step_id
  • message_variation_id

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

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

ロケールプレビュー

翻訳の管理

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

キャンバスステップ、キャンペーン、またはバリエーションを複製すると、翻訳も含まれます。ワークスペース間でコピーする場合も同様ですが、コピー先のワークスペースでロケールが定義されている必要があります。キャンバスやキャンペーンに変更を加える際には、必ず翻訳を確認し、適宜更新してください。

コンテンツブロックに翻訳を保存する

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

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

右から左に読むメッセージ

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

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

メールリンクトラッキング

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

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

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

  • ? は、まだトラッキングがない URL にトラッキングを追加します。
  • & は、URL にすでに ? が含まれている場合に追加のトラッキングを追加します。URL には ? を1つだけ含めることができます。

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

HTML ベースのチャネル(メール、アプリ内メッセージ、バナー、ランディングページ、コンテンツカード)では、Braze はレンダリングされたメッセージにアクセシビリティ言語(lang)属性を追加します。この属性は、スクリーンリーダーなどの支援技術がテキストを正しく解釈し、発音するのに役立ちます。

この属性がない場合、スクリーンリーダーはコンテンツがユーザーのデバイスセットアップ時に設定されたデフォルト言語であると想定します。メッセージが異なる言語の場合、スクリーンリーダーがすべてを正しく発音できない可能性があります。

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

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

メッセージレベル

メッセージ設定で、「アクセシビリティ」セクションに移動し、ドロップダウンから言語を選択するか、Liquid を使用してアクセシビリティ言語を動的に設定します。これはメッセージ内のすべてのコンテンツに適用されます。

ロケールレベル

多言語メッセージの場合、「ローカライゼーション設定」で各ロケールにアクセシビリティ言語を設定します。新しいメッセージが作成されると、「アクセシビリティ」セクションでデフォルトで {{accessibility_language}} が選択されます。これにより、アクセシビリティ言語がロケール設定にマッピングされます。

標準

アクセシビリティ言語は HTML の lang 属性にマッピングされます。これは WCAG 2.1 レベル A の要件(達成基準 3.1.1)です。多言語コンテンツの場合、HTML 内で lang 属性を直接使用して、個々のコンテンツブロックに言語を設定することもできます。

よくある質問

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

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

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

ロケールの翻訳文を変更できますか?

はい。まず CSV で編集を行ってから、ファイルを再度アップロードすることで翻訳文を変更できます。

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

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

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

いいえ。

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

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

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

ロケールの翻訳文を変更できますか?

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

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

New Stuff!