表計算のCSV、この列だけをまとめて翻訳できませんか
表を崩さずに翻訳できます。5,000行の商品データでタイトルと説明の列を選べば訳されるのはその列だけで、商品コード、価格、在庫の列や行の順番、行数はそのまま残ります。使った分だけの支払いで、定額契約は不要です。
オンラインで実行
アカウントでログインし、当社のサーバー上で実行します。無料ツールはブラウザ内で動作しますが、これは上記の料金がKIT残高から差し引かれます。
CSV形式の表から、指定したセルや列だけを翻訳するツールです。商品名や備考欄など、表の一部の文章だけを他の言語にしたい場合に向いています。行や列の並び、数値の列はそのまま残ります。
表をまるごと翻訳してはいけない理由
商品の表には、商品コード、価格、日時のように変えてはいけない値と、説明文や宣伝文のように訳すべき文章が混ざっています。一般的な翻訳ツールに表全体を通すと、商品コードまで訳そうとしたり、日付の形式を崩したり、通貨記号を会計システムが読めない文字に変えたりします。そこでこのツールでは、どの列が言葉でどの列がデータかを先に指定します。訳されるのは指定した列だけで、行、行の順番、ほかの列は元のファイルと1バイトも変わりません。
よくある使い方
マーケットプレイスの出品者が、5,000行の商品データのうちタイトルと説明の列だけをスペイン語に訳し、商品コード、価格、在庫の列には手を付けない。営業チームが顧客管理から書き出した表のメモ欄だけを訳し、連絡先の番号や日付はそのまま残す。3か国に倉庫を持つ小売店が、在庫表の商品名の列だけを各国の言葉に訳す。調査チームがアンケートの自由回答の列を訳し、別の国の担当者が読めるようにする。仕上がったファイルは列の順番も行数も同じなので、まず数行で対応関係を確かめてから全体を送れます。
列を指定して翻訳
翻訳したい列を指定すると、その列のセルだけが翻訳されます。日付や金額、コードが入った列を対象から外せば、意図せず書き換わることがありません。
表の形は変わりません
行の並び順や列の数はそのまま保たれます。翻訳後のCSVファイルは、元のファイルと同じ形式で表計算ソフトに読み込めます。
使い方
CSVファイルをアップロードし、対象の列と翻訳先の言語を選びます。処理が終わると、同じ構造のCSVファイルが返されます。
活用例
顧客リストの備考欄を翻訳
田中大輔さんは、海外拠点と共有する顧客リストのCSVで、備考欄の列だけを翻訳し、氏名や電話番号の列はそのまま残しました。
在庫表の商品名を多言語化
株式会社山田商事は、在庫管理用のCSVから商品名の列だけを抜き出して翻訳し、海外倉庫向けの表を作成しています。
アンケート回答の自由記述を確認
合同会社みどりデザインは、海外顧客アンケートのCSVで自由記述欄だけを翻訳し、日本語で内容を確認しています。
よくある質問
数値や日付の列も翻訳されてしまいますか?
対象として指定した列のみが翻訳されます。数値や日付の列を対象から外せば、変更されません。
行の並び順は変わりませんか?
変わりません。 翻訳後も元のCSVと同じ順序・同じ列数で出力されます。
文字コードが原因で文字化けすることはありますか?
UTF-8での入出力を基本としています。Shift_JISで保存されたファイルは、事前の文字コード変換をおすすめします。
見出し行は翻訳せずに残せますか?
はい、できます。見出し行は訳すか、そのまま残すかを選べます。後の処理で英語の列名を手がかりにしている場合は、そのまま残すと安心です。
翻訳する列はどう指定しますか?
訳したい列を、列名または左から0で始まる番号で指定します。指定しない場合はすべての列が対象になるため、商品コードや価格の列がある表では、訳す列を必ず選んでください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/translate/csv \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"csv":"a,b\nHola,Mundo","target_lang":"en"}'const res = await fetch("https://api.kit.forhosting.com/translate/csv", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"csv": "a,b\nHola,Mundo",
"target_lang": "en"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/translate/csv",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"csv": "a,b\nHola,Mundo",
"target_lang": "en"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/translate/csv", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"csv":"a,b\\nHola,Mundo","target_lang":"en"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"csv":"a,b\nHola,Mundo","target_lang":"en"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/translate/csv", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"csv": "a,b\nHola,Mundo",
"target_lang": "en"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "translate.csv",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_tokens | 20000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
422 | task_failed | タスクの処理に失敗しました。このタスクは課金されません。 |
技術的な注記
料金
空のセルは対象に含まれません。1リクエスト$0.003に、翻訳したセル1件ごとの$0.0135を加えた金額です。
技術的な質問
アップロードした表は保存されますか?
翻訳の処理にのみ使用し、完了後は保存しません。
料金はどのように計算されますか?
1リクエスト$0.003に、翻訳したセル1件ごとの$0.0135を加えた金額です。空のセルはカウントされません。
複数の列をまとめて翻訳できますか?
できます。対象の列を複数指定すれば、1回のリクエストでまとめて処理します。