ヘルプセンターを見る

ソフトウェアのUI文字列やメールテンプレートの翻訳

管理担当:Vitalii Vlasiuk共同創業者

アプリのUI文字列やメールテンプレートは通常のドキュメントではなく、キー付き文字列のテーブルです。Transeptはこれらをテーブル構造のままインポートします。各行のキー、コンテキスト、文字数制限は保持され、エクスポート時にはアップロードしたファイルに翻訳が書き戻されます。

目次

インポートに対応している文字列ファイル形式は?

通常のドキュメントと同様に、ドロップゾーンまたはアップロードダイアログにファイルをドロップします。各文字列はそのIDをキーとする個別のブロックとして取り込まれます。エクスポート時にはこのキーをもとに、各翻訳が元の位置へと書き戻されます。

Transeptがインポートできる文字列ファイル形式と、それぞれの読み取り内容。
フォーマット主な用途・生成元Transeptが読み取る内容
CSV(.csv)メール配信プラットフォーム(Braze、Klaviyo)、スプレッドシート、TMSからのエクスポートキー列、原文列、言語ごとの列、および任意のコンテキスト列と文字数制限列
gettext PO(.po)ソフトウェアのローカライズ(Webフレームワーク、デスクトップアプリ)msgid/msgctxt(キー)、翻訳者コメント(コンテキスト)、複数形、ファイルの言語ヘッダー
XLIFF 1.2(.xlf、.xliff)CATツール、TMSプラットフォーム各trans-unitのキー(resname)とnote、ファイルの言語ペア
Transept Strings(.tstrings.json)パイプラインやAPI向けのTransept独自のキー付き形式上記すべてに加え、グループとICU複数形
  • CSV列はヘッダー名で識別されます。キーにはkey、id、またはKlaviyoのblock_id、原文にはsourceやdefault(あるいは先頭の言語列)、翻訳先には言語コードや言語名、追加情報にはcontext、location、character limitが認識されます。
  • 地域指定のある言語列もそのまま認識されます。es-MX、en-GB、fr-CA、pt_BRなどはすべて正しい言語にマッピングされます。言語コードのように見えてもTranseptが認識できない列がある場合は、無視してスキップされるのではなくインポート時に通知されるため、入力ミスによって言語が見落とされる心配はありません。
  • コンテキスト列や文字数制限列は単なる飾りではありません。コンテキストは翻訳者向けガイダンスとしてAIに渡され、文字数制限は自動の短縮・再試行によって遵守されます。

ファイル内にすでにある訳文はどうなりますか?

未加工の素材としてではなく、完了済みの作業成果として取り込まれます。CSVの入力済み言語セル、POファイルの空でないmsgstr、XLIFFの入力済みtargetは、その文字列の現在の訳文として直接反映されます。再翻訳は行われず、クレジットも請求されません。インポートされたすべての対訳ペアは翻訳メモリに追加されるため、すぐに新しい翻訳作業へと活用されます。

意図的な例外が1つあります。fuzzyのフラグが付いたPOエントリは、gettextの仕様上「下書き」とみなされるため、Transeptは機械による推測をレビュー済みの訳文へ昇格させることはせず、未翻訳としてインポートします。翻訳してエクスポートすると、入力されたmsgstrとともにfuzzyフラグは解除されます。

{{promo_code}}などのプレースホルダーはどのように翻訳から保護されますか?

テンプレートのトークン({{first_name}}や{% if %}などのLiquidタグ、%sや%(count)dなどのprintf変換指定子)は、AIがテキストを見る前にマスクされます。モデルには翻訳も順序変更も勝手な削除もできない不透明なマーカーとして渡されます。AIの出力ごとに、Transeptはマーカーを原文と照合し、マーカーが欠落した回答は修復または却下します。トークン自体の文字列は、元の状態のまま復元されます。

同じ保護機能は、Liquid形式のトークンや*|FNAME|*のようなMailchimpマージタグを含む、アップロードされたHTML、テキスト、Markdownファイルにも適用されます。ご利用のプラットフォームから貼り付けたメールテンプレートも、すべてのプレースホルダーがそのまま維持されて自動で翻訳されます。意図的な例外として、タグの「内側」にあるフォールバックテキストがあります。{{ first_name | default:"friend" }}のfriendは名が登録されていない受信者全員が読む文面であるため、周りのタグは翻訳せず、この語だけを翻訳します。

ローカライズ全体をタグや条件分岐で管理しているテンプレート(Brazeの翻訳タグやMailchimpの言語ブロックなど)には、専用のインポート手段が用意されています。詳細については、BrazeやMailchimpのメールテンプレートをご覧ください。

文字列ドキュメントをレビューするには?

文字列ドキュメントを開くと、エディターのヘッダーに文字列ボタンが表示されます。このボタンを押すとグリッドが開きます。グリッド内には文字列ごとに1行ずつ、キー、原文、訳文が並んで表示され、キーやテキストでフィルターをかけたり、インラインで編集したりできます(セルを選択して入力し、Enterキーを押します)。AIリライト、コメント、変更履歴などの高度な機能が必要な場合は、各行の矢印を押すと、フルエディターの該当ブロックへ直接ジャンプできます。

ファイルで指定された文字数制限は、各訳文セルの下にリアルタイムカウンターとして表示されます。エクスポート時にエラーとなるのではなく、入力中に文字数超過を確認できます。

翻訳済みファイルをエクスポートするには?

文字列ドキュメントのエクスポートメニューには、通常の形式に加えて2つの項目が表示されます。

  • 元のファイル(翻訳済み):アップロードされたCSV、PO、XLIFFの該当セルやエントリに訳文を書き戻したファイルです。列の並び順、コメント、書式設定、引用符の細かな仕様に至るまで、アップロード時とバイト単位で一致した状態が保たれるため、元のシステムへとそのまま読み込めます。
  • 文字列ファイル(キー付き):文字列IDをキーとして全言語の訳文を1つのファイルにまとめた、Transeptの.tstrings.json形式です。キーをもとに再インポートするパイプラインやスクリプトに適した形式です。
  • 「翻訳データ」配下にあるTMX、XLIFF、CSVの項目でも、文字列ドキュメントの場合は各行が文字列IDをキーとして管理されるため、CATツールに書き出して読み戻しても文字列の対応関係が崩れません。

1つのファイルから複数の言語へ一度に翻訳できますか?

はい、できます。複数の言語列を含むCSVをインポートすると、言語ごとに1件のドキュメントとしてグループ化されて取り込まれます。入力済みのセルも含め、各列が言語バージョンへと変換されます。グループ全体に対してワークフローを1回実行するだけで未翻訳部分が補完され、あとは1回エクスポートするだけです。「元のファイル」形式でエクスポートすれば、CSV内のすべての言語列に訳文が入力されたファイルを1回のダウンロードで取得できます。

アップロード、各言語への展開、翻訳、再エクスポートまでをスクリプトから自動で行う場合は、APIをご利用ください。

よくある質問✦

BrazeなどのESPからエクスポートした翻訳CSVを直接インポートできますか?

はい、できます。キーの列と各言語の列で構成されたESPの翻訳エクスポートファイルは、まさにTranseptが対応しているCSV形式です。各列はヘッダーに基づいてマッピングされ、既存の訳文は完了済みの作業成果として取り込まれます。また、エクスポート時には同じファイルに訳文が書き出されるため、元のプラットフォームへそのまま再アップロードできます。

POファイル内のfuzzyエントリはどうなりますか?

未翻訳としてインポートされます。gettextは「この訳文は推測によるものであり、本番環境で使用してはならない」という意味でエントリにfuzzyフラグを付けます。Transeptはその仕様を尊重し、推測をレビュー済みの訳文へ昇格させることはしません。Transeptでエントリを翻訳してエクスポートすると、新しいmsgstrが書き込まれ、fuzzyフラグは解除されます。

XLIFFの原文内にフォーマットタグが含まれている場合、インポートできますか?

現時点では対応していません。原文にインラインのマークアップタグが含まれるtrans-unitは、タグが文字化けした状態でインポートされるのを防ぐため、インポート時にユニット名とともに一覧でエラーとして除外されます。UI文字列で一般的なプレーンテキストのtrans-unitは問題なくインポートできます。

翻訳メモリ全体をエクスポートできますか?

はい、できます。エディターのサイドバーにある「メモリ」パネルのインポートの隣にエクスポートボタンがあり、アカウントでアクセスできるすべてのデータを、あらゆるCATツールで読み込めるTMXファイルとしてダウンロードできます。インポートしたデータや蓄積したデータは、いつでも自由に取り出せます。

文字列ファイルのインポートにクレジットは消費されますか?

いいえ、消費されません。インポートは無料であり、ファイル内にすでにある訳文も無料で反映されます。クレジットが消費されるのは、TranseptのAIが文字列を翻訳またはチェックするときだけです。

機能を見る✦

解決しない場合は、アプリ内のLiteressに質問するか、[email protected]までご連絡ください。