Skip to content

多言語メッセージ

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

前提条件

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

ロケールの使用

ステップ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="https://{% translation id_1 %}example.shop.com{% endtranslation %}">Visit our store</a>
Liquidで生成されるURL

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

両方の推奨事項に従った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つだけ含めることができます。

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

HTMLベースのチャネル(メール、アプリ内メッセージ、バナー、ランディングページ、Content Cards)では、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)です。

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

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

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

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

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

いいえ。

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

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

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

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

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

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

New Stuff!