翻訳JSONを表で編集
言語別のJSONオブジェクトを追加し、同じキーの訳文を表で見比べて手動で編集します。翻訳用CSVを作成し、編集したCSVを読み込めます。全言語・全キーを表・CSVでコピーでき、編集内容は1言語ならJSON、複数言語ならZIPで保存できます。CSVの新しいキーは追加を確認してから反映します。表示の絞り込みは出力範囲を変えず、数値や配列などは保持します。自動翻訳は行いません。
できること
同じキーを言語別に確認
各JSONの文字列を同じキーで並べます。不足している値や編集した行を絞り込めます。
CSVで訳文を受け渡す
翻訳用CSVを作成し、編集したCSVを読み込めます。キーと対象の言語列で値を対応付けます。
構造を保ってJSONを作成
文字列の編集を元のJSONへ反映します。1言語はJSON、複数言語はJSONをまとめたZIPで取得できます。
使い方
言語別JSONを追加
JSONファイルを選ぶか、フォルダーから追加します。言語名と、比較の基準にする言語を確認してください。
同じキーの訳文を編集
検索や状態の絞り込みを使い、対象の言語へ入力します。プレースホルダーの不一致や、存在しない値を確認してください。
必要ならCSVで受け渡す
「CSVで受け渡す」から翻訳用CSVを作成できます。編集済みのCSVを読み込むと、含まれる言語とキーの値を反映します。
言語別JSONを作成して保存
「言語別JSONを作成」で、全キーの編集内容を反映します。CSVから新しいキーが増えた場合は、追加を含めるか確認してください。
こんなときに便利
複数言語の不足を補う
同じキーを各言語で見比べ、不足している言語の訳文を入力します。
訳文を表で受け渡す
JSONの構造を直接編集せず、CSVで訳文を受け渡して元のJSONへ反映します。
キー・値・CSVの扱い
キーはJSON内の場所を表す
表のキーはJSON Pointerです。/で階層を分け、キー自体の/は~1、~は~0と表します。ドットを含むキーと入れ子のキーは別のものとして保ちます。
不足と空文字を区別
不足は、その言語のJSONに文字列のキーが存在しない状態です。存在する空の文字列は不足に含めません。数値・真偽値・配列は表の編集対象にせず保持します。
基準言語とプレースホルダー
基準言語と{name}・{{name}}の名前を比較します。不一致を確認できますが、ICUの複数形やselectなどの形式は未対応として残します。訳文を自動生成・修正する機能ではありません。
表示の絞り込みと出力範囲
検索・状態の絞り込み・ページ移動は表示だけを変えます。JSONとCSVは、読み込んだ全言語・全キーの編集内容を対象に作成します。
CSVの新しいキー
読み込んだどのJSONにもないキーがCSVに含まれる場合、JSON作成前に追加を確認します。別言語に存在するキーの不足を補う編集とは区別します。
よくある質問
自動的に翻訳してくれますか?
自動翻訳は行いません。言語ごとの値を見比べ、手動で編集するためのツールです。
数値や配列などはどうなりますか?
オブジェクト内の文字列だけを表へ取り出します。数値・真偽値・配列・nullは保持し、配列内の文字列も編集対象にはしません。
CSVではどの列を編集しますか?
key列はJSON Pointer、言語名の列は訳文です。読み込んでいる言語と一致する列名を使ってください。comment列は読み飛ばし、再出力時も空欄になります。
CSVの空欄はどう扱われますか?
その言語にもともとあるキーなら空文字へ変更します。存在しないキーの空欄は追加せず、CSVにない言語の編集値は保持します。
プレースホルダーの注意が残っていても作成できますか?
作成できます。注意は翻訳の確認を助ける表示で、翻訳の正しさを保証するものではありません。不一致や未対応形式を確認してから利用してください。
絞り込んだ行だけが保存されますか?
いいえ。検索・絞り込み・表示ページにかかわらず、全キーの編集内容を出力します。
元のJSONの構造と衝突する場合は?
数値や配列を文字列に置き換えたり、文字列の下へ新しい階層を作る編集は反映できません。入力やCSVで変更・追加したキーを確認してください。
入力と結果
- 入力
- 言語別のJSONオブジェクト。CSVはJSONを読み込んだ後の受け渡しに使います。
- 編集
- オブジェクト内の文字列をキーと対応付けます。元の入力ファイルは上書きしません。
- JSON出力
- 1言語は言語名.json。複数言語はtranslations.zipへ言語別JSONをまとめます。
- CSV出力
- translations.csv。key・言語名・comment列で、UTF-8のBOM付きCSVを作成します。