CSV を使用して翻訳を一括管理する方法
この機能を使用するには、有料の Klaviyo アカウントとスマート翻訳が有効になっている必要があります。
Klaviyo の外部で、CSV ファイルをエクスポートして編集し、再度インポートして翻訳を一括更新したり、他のユーザーと共同作業したりできます。
翻訳の CSV をエクスポート
単一メッセージの現在の翻訳をエクスポートするには、次の手順に従ってください:
- 更新したいメッセージ(キャンペーン メール、フロー メール、SMS、WhatsApp メッセージなど)を開きます。
- メッセージの翻訳アイコンまたはボタン、あるいは翻訳数が表示されているボタンをクリックして、翻訳エディタを開きます。メッセージがまだ翻訳されていない場合は、先に言語設定を完了してください。
- 翻訳エディターで、3点アクションメニューを開き、エクスポートをクリックします。

- エクスポート形式を選択で、CSVを選択します。ファイルをSmartlingに送信する場合は、Smartling compatibleを選択したままにします。スプレッドシートで標準のCSVを編集する場合は、選択を解除します。

- エクスポートする言語で、既存の翻訳言語をすべて含めるにはすべて選択を選択し、特定の言語を選択するにはカスタム選択を選択してください。翻訳担当者向けにソーステキストのみをエクスポートするには、ソース言語のみのオプションを選択してください。ソース言語はすべてのエクスポートに含まれます。
- エクスポートをクリックしてCSVをダウンロードしてください。
Smartling CSV
Smartling対応CSVには、以下が含まれます。

ファイルの先頭にあるSmartlingディレクティブ(以下を含む)。
# smartling.first_row_header=TRUE
# smartling.paths=2
# smartling.source_key_paths=1
# smartling.translations_in_columns=TRUE
- block_id:このメッセージ内の各翻訳可能文字列の一意の識別子です。
- ソース言語コード(例:en)– その文字列の元のソーステキスト。
- (該当する場合)選択した翻訳言語の言語列。
このファイルをそのまま使用して、文字列を Smartling にインポートできます。Smartling は CSV を自動的に解析し、文字列を抽出して、翻訳ジョブをトリガーできるようにします。
ジョブが完了したら、翻訳済みCSVをダウンロードしてください。Klaviyoにインポートする前に、先頭にある# smartling.ディレクティブ行をすべて削除し、1行目が列ヘッダーになるようにしてください。block_id列、ソース言語の列、およびサポートされている翻訳言語の列を少なくとも1つ保持してください。次に、以下の「CSVをインポート」を実行してください。
Standard CSV
標準のCSVには次の内容が含まれます。

- block_id:このメッセージ内の各翻訳可能文字列の一意の識別子です。
- source – その文字列の元のソーステキスト。
- 言語列:選択した翻訳言語ごとに1列ずつあり、言語コード(例:en、fr、es-MX)で命名されます。ソースのみのエクスポートには、翻訳言語の列は含まれません。
このファイルは、Excel、Google Sheets、または別のスプレッドシート エディタで開けます。
CSV を更新する
CSV を編集する際は、言語の列のみを作業すれば十分です。
block_id 列の値は編集、追加、削除しないでください。行に無効または欠落している block_id がある場合、その行はインポート時に無視され、翻訳は更新されません。
安全に変更できる内容
CSV 内:
- 適切な言語列を編集して、既存の翻訳を更新します。
- 言語列の空のセルに入力して、不足している翻訳を追加します。
- その言語を更新したくない場合は、言語の値を変更しないでください。
- 1 つ以上の 新しい言語列 を追加します:
- 有効な BCP-47 言語コード(例:fr-CA、de、ca)を使用してください。
- インポート時に、新しい翻訳値があるサポート対象言語が、このメッセージの翻訳エディタに追加されます。
変更してはいけない内容
次の操作は避けてください:
- block_id の値は編集または削除しないでください。
- 行を追加しないでください。各行は、メッセージ内の既存の翻訳可能な文字列に引き続き対応している必要があります。
- CSV 内のソース値は変更しないでください:
- ソースコンテンツを変更するには、Klaviyo エディタでメッセージを直接編集してから、新しい CSV をエクスポートしてください。
block_idおよびsourceの列ヘッダーは変更しないでください。Smartling CSVでは、sourceではなくソース言語の列ヘッダーを保持してください。各翻訳言語の列には、サポートされている言語コードをラベルとして付けてください。- ファイル形式を変更しないでください:
- ファイルは .csv のままにしておきます。保存します。
- UTF‐8 エンコーディングで保存してください。
各翻訳では、{{ first_name }}や{% if ... %}などのテンプレートタグを変更しないでください。これらのプレースホルダーがソースメッセージと異なる場合、検証によりインポートがブロックされます。
空のセルの処理
CSV の翻訳セルをクリアして空のままにすると、次のようになります。
- インポートでは、その空の文字列が値として扱われます。
- そのセルの既存の翻訳は、空の値で上書きされます。これにより、翻訳を実質的に削除できます。
セルをクリアすると、ソースに存在するプレースホルダーも削除される場合、検証によってインポートがブロックされます。インポートする前に、プレースホルダーを復元するか、その言語列を削除してください。
翻訳を変更しない場合は、CSV の既存の値をそのままにするか、インポート前にその言語列を完全に削除してください。
編集が完了したら、ファイルを UTF‐8 エンコードの .csv として保存してください。
CSV をインポートする
CSV を更新して保存した後:
- 同じメッセージの翻訳エディタに戻ります。
- 3点メニュー(アクション)を開き、CSVをインポートをクリックします。
- インポートモーダルで、次のいずれかを行います:

- ファイルを選択 をクリックして CSV を選択するか、
- CSV をアップロード エリアにドラッグ&ドロップしてください。
- ファイルを検証して変更内容をプレビューするには、次へをクリックしてください。
Klaviyo は validation “dry run” を実行し、次の内容を表示します:

- 更新、変更なし、または無視される行数の サマリー
- 検出された 警告またはエラー
- 概要と警告を慎重に確認してください。
- すべて正しければ、[インポート] をクリックして変更を適用してください。
インポートが成功すると、モーダルが閉じ、翻訳エディタ内の翻訳が更新されます。インポートした翻訳をレビューします。
検証中に、Klaviyo は次も確認します。
- ファイル形式とエンコード:UTF-8でエンコードされたCSVを使用してください。
- CSV列:
block_id(ソース列、またはSmartlingの場合はソース言語の列)と、少なくとも1つのサポートされている翻訳言語の列を保持してください。 - チャネルで認識されない、またはサポートされていない言語コード。
- 空の翻訳値とその他の潜在的な問題。
- ソースメッセージと異なるテンプレートタグとパーソナライゼーション用変数。
検証が失敗した場合、エラーメッセージが表示されます。CSVを修正した後にもう一度試すには、新しいファイルを選択をクリックしてください。検証によって翻訳が変更されることはありません。
インポート結果を理解する
検証後、インポートの概要に、続行した場合に起こることが表示されます。
要約数
サマリーには次のようなカウントを含めることができます:
- 更新済み:少なくとも1つの翻訳値が変更される行数。
- スキップ(変更なし):含まれるすべての翻訳値がすでに保存されている内容と一致するCSV内の行。
- 無視:最初の出現以降の重複行や、このメッセージ内に
block_idが存在しない行など、インポートされない行。
カウントは言語ごとではなく、行ごとに計算されます。例えば、CSVに2行と2つの言語列がある場合:
- 1つの言語で1行が更新された場合、更新済みの件数は1です。
- 両方の言語で1行が更新された場合でも、Updatedのカウントは1のままです。
- 両方の行が1つまたはすべての言語で更新される場合、Updatedの数は2です。
ベストプラクティス
翻訳データを正確で管理しやすい状態に保つには、次の点に注意してください。
- 最新のエクスポートから開始します。特に、メッセージ内のコンテンツや言語を変更した後は、古い CSV を再利用しないでください。
- 各エクスポートのバックアップを保持してください。変更を行う前に CSV のコピーを保存しておくと、必要に応じてロールバックできます。
- 翻訳者と調整します。どの列を編集できるか(言語列のみ)と、どの列を変更してはいけないか(block_id、source)を説明します。
- 必要に応じて、小さなバッチに分けて作業します。ファイルが非常に大きい場合は、作業を複数のメッセージに分割するか、複数回に分けて小規模なインポートを実行することを検討してください。
- サポートされている言語コードを使用してください。新しい言語列を追加する場合は、「処理できない」言語を避けるために、スマート翻訳の記事に記載されているサポート対象のBCP-47コードを使用してください。
検証警告とインポートエラーを解決する
インポートの検証中に警告またはエラーが表示された場合は、以下のセクションを確認して、その意味と修正方法を理解してください。
「必須の列がありません。」
意味:block_id列が見つからない、または名前が変更されています。あるいは、CSVが列ヘッダーではなくディレクティブ行から始まっています。
対応方法:元のエクスポートの列見出しから始め、block_idは変更せずに保持してください。インポートする前に、先頭にあるSmartlingディレクティブ行をすべて削除してください。インポートした翻訳が正しいソースコンテンツに紐付いたままになるように、ソース(またはSmartlingのソース言語列)を保持してください。
「翻訳の値が空です。空の文字列も値として扱われます。」
意味:CSV に空の翻訳値があり、空の文字列も値として扱われます。
対処方法: 続行すると、それらの空のセルによって、そのキーと言語の既存の翻訳が上書きされます。それらの翻訳を変更しない場合は、以前の値を復元するか、その言語列を削除してファイルを再インポートしてください。
「<count> キーがプロジェクトに存在しないため、インポートに含まれません。」
意味: CSV 内の一部の block_id 値がこのテンプレートに存在しません(例えば、block_id 値が手動で編集された場合)。
対応方法:これらの行は無視され、それらのキーの翻訳は変更されません。これを解決するには、それらの行を CSV から削除するか、必要に応じて新しいファイルをエクスポートしてください。
「ファイルに、競合する値を持つ重複したキーが含まれています。最初の値が使用されます。」
意味: CSV 内の 2 行以上で同じ block_id 値が使用されています(例:誤って行が重複している場合)。
対処方法: 1 行目の値が使用され、重複している残りの行は無視されます。これを解決するには、CSV から重複行を削除するか、必要に応じて新しいファイルをエクスポートしてください。
「複数の列が同じ言語として解釈されています。最後の列のみが使用され、他の列は無視されます。」
意味:CSV 内の 2 つ以上の列に同じ言語コードがある、または同じ言語に解決されます(たとえば、言語列が誤って重複していた場合など)。
実施内容:最後の重複列の値が使用され、残りの重複列は無視されます。これを解決するには、CSV から重複列を削除するか、必要に応じて新しいファイルをエクスポートしてください。
「ファイルには、このチャネルでサポートされていない言語コードの列が含まれています: <invalid language code>。これらは無視されますが、有効なロケールはインポートされます。」
意味: CSV の列ヘッダーで、サポートされていない、または認識されない言語コードが使用されています。
対処方法:新しい言語を追加するには、スマート翻訳のドキュメントにある、サポート対象のBCP-47コードのいずれかを使用してください。サポートされていないコードを含む列は無視されます。
「プロジェクトにない言語がファイルに含まれています。次の言語が翻訳エディターに追加されます:<language detected>。」
意味:CSV には、このテンプレートの現在の一部ではない言語列が含まれています。
行うべきこと:
- これらの言語を追加するには、各言語の列に新しい翻訳値を追加し、リストを確認してから、インポートをクリックして翻訳エディタに追加してください。
- 追加したくない場合は、それらの列を削除してファイルを再インポートしてください。
[ロケール列が見つかりません。]
意味: CSV には block_id と source の列が含まれていますが、他の列ヘッダーは検出されませんでした。
対処方法: 少なくとも 1 つのサポートされている言語列を追加して、もう一度お試しください。
「有効なロケール列が見つかりません。」
意味:CSV には block_id 列と source 列がありますが、有効な言語列がありません。
対処方法: 少なくとも 1 つのサポートされている言語列を追加して、もう一度お試しください。
「一部の翻訳にはプレースホルダーの不一致があります。翻訳では、ソーステキスト内のすべてのプレースホルダーが保持されるようにしてください。」
意味:翻訳に、元のメッセージと比べて、テンプレートタグが欠落している、変更されている、または余分に含まれています。
対処方法:影響を受けた翻訳で、ソースメッセージのプレースホルダーを復元し、その後CSVを保存して、修正済みのファイルを選択してください。プレースホルダーが一致するまで、インポートを続行できません。
警告のみが表示され、その影響を理解している場合は、インポートを続行できます。エラーが表示された場合は、続行する前に CSV を修正して再アップロードする必要があります。エラーが引き続き表示される場合は、翻訳エディターから新しい CSV をエクスポートし、最小限の変更を加えてから、別のインポートを試して問題を切り分けてください。
その他のリソース
- スマート翻訳を有効にする方法
メッセージのスマート翻訳を有効にして、オーディエンスの言語設定に基づき複数の言語でキャンペーンやフローを送信する方法をご確認ください。Klaviyo では、メールのコンテンツを 60 以上の言語に翻訳できます。
- スマート翻訳を使用して多言語のメールキャンペーンを作成する方法
オーディエンスの言語設定に応じて、複数の言語でメールキャンペーンを作成して送信する方法をご覧ください。Klaviyo はキャンペーンのコンテンツを 60 以上の言語に翻訳できます。
- スマート翻訳を使用して多言語 SMS キャンペーンを作成する方法
オーディエンスの言語設定に応じて、複数の言語で SMS キャンペーンを作成して送信する方法をご確認ください。Klaviyo はキャンペーンのコンテンツを 60 以上の言語に翻訳できます。
- 言語に基づいてコンテンツをカスタマイズする方法
相手の希望言語を収集する方法と、その言語でターゲットにする方法を確認します。