AIチャットアシスタントにスプレッドシートごと翻訳を頼む人は少なくありません。ドイツ語ストアを開く前のShopifyエクスポート、仕入先のカタログ、ヘルプセンター記事の一覧などです。どこまでうまくいき、どこで止まるのかを知りたくて、2026年10月20日に1つのモデルへ1つの長いCSVを渡し、返ってきたすべてのセルを確認しました。

テストの内容

使ったのは、400行・20列の架空のShopify商品エクスポートです。翻訳が必要なのは、Title、Body (HTML)、Image Alt Text、SEO Title、SEO Descriptionの5列。Handle、Variant SKU、価格、画像リンクを含む残りの15列は、一切変更しないことが条件でした。大半の行はタイトルが空のバリエーション行で、これはShopifyのエクスポートによくある形であり、モデルが落としてしまいがちな行でもあります。

人が使うときと同じように、2文の指示を添えてAPI経由でGPT-6.1 Solに貼り付け、同じファイルを自社のCSV・Excel翻訳にも通しました。

結果

GPT-6.1 Sol(1回のプロンプト) NoCutoff
元の位置で返された行 400行中400行 400行中400行
保護した15列での変更 0 0
HTMLタグが変わった説明文 0 0
翻訳されたテキストセル 800セル中800セル 800セル中790セル
所要時間 9分(1回の返信) 14ブロック
費用 $0.55 $0.17
いずれも1回ずつの実行(2026年10月20日)。返信の上限を64,000トークンに設定し、API経由で実施。

チャットモデルは正確でした。空のバリエーション行も、ハンドルも、タグも、すべて残していました。一方、NoCutoffのツールは10個のセルを元のままにしています。モデルが「Field Merino Beanie」のような商品名だと判断したためで、ドイツ語としては妥当な判断です。

どこで止まるのか

返信に必要だった出力は45,326トークンで、1行あたり約113トークンでした。翻訳後のファイル全体を、変更しない列も含めて回答として返す必要があるため、ファイルが大きくなるほど回答も長くなります。このペースで計算すると、次のようになります。

  • 400行:約45,000トークン。収まります。
  • 560行:約64,000トークン。今回設定した上限です。
  • 2,000行:約225,000トークン。1回の返信には収まりません。

これは2回目の測定ではなく、計算によるものです。以前行った4つの長い作業の調査では、2,000件のメッセージのトークを翻訳させたところ同じ上限に達し、3つのモデルのうち2つが、その旨を伝えないままメッセージの途中で止まりました。チャットアプリの返信上限は、通常APIよりも低く設定されています。

ファイルを分割すると効果的な理由

翻訳ツールの場合、モデルにファイルそのものを書き出させる必要はありません。CSVをセル単位で読み込み、選択した列のテキストだけを小さなブロックに分けて送信し、返ってきた内容を確認したうえで、元ファイルのコピーに翻訳を書き込めばよいのです。ハンドルや価格は元のファイルから一切出ないため変わることがなく、返信が長すぎて上限に達する心配もありません。当ツールでは、翻訳の前にHTMLタグをマーカーに置き換え、すべてのマーカーが戻ってきたかを確認します。プレースホルダーやブランド名が保持されなかったセルがあれば、その一覧も表示します。

翻訳済みCSVを自分で確認する方法

  1. 行数を元ファイルと比べ、最終行のIDまたはハンドルも照合します。
  2. 2つのファイルを並べて開き、ID、SKU、価格の列がまったく同じであることを確認します。
  3. HTML列で <li> などのタグをいくつか検索し、件数を比べます。
  4. 本番に取り込む前に、テスト用ストアやシートのコピーでインポートを試します。

おすすめの代替手段

数百行ほどであれば、このテストのとおり高性能なチャットモデルでも対応できます。ただし、結果は必ず確認してください。商品カタログ全体なら、CSV・Excel翻訳で最初の数行を無料で翻訳でき、ファイル全体も一回払いの $5 で翻訳できます。アプリの文字列ファイルには、ローカライズファイル翻訳がJSON、PO、stringsファイルに同じように対応しています。

方法とデータ

**日付:**2026年10月20日。**アクセス方法:**OpenRouterのchat completions API(ChatGPTアプリではありません)。

**入力:**このテスト用にスクリプトで作成した架空のShopify商品エクスポート。160商品、400行(バリエーションごとに1行で、大半はタイトルと説明が空)、20列。説明は段落、リスト、太字、いくつかの絵文字を含むHTML。127,637バイト。

**チャットモデル:**openai/gpt-6.1-sol。2文の指示とファイル全体を入れた1通のユーザーメッセージのみで、システムプロンプトなし、temperatureは既定値、返信の上限(max_tokens)は64,000。実行は1回のみのため、別の回では結果が変わる可能性があります。

**ツール:**NoCutoffのCSV・Excel翻訳。同じ5列と翻訳先言語を指定し、google/gemini-3.8-flashを使用、最大60セルずつのブロックで処理。

**スクリプトによる測定:**返された行(ハンドルとSKUで照合)、列数、保護した15列のすべてのセル、各説明文のHTMLタグの並び、変更されたセルと元のままのセル。**費用:**2回の実行の合計で$0.73。

出典

  1. RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Files — IETF
  2. OpenRouter API reference — OpenRouter