使い方
「基準の言語」の欄に、英語など基準にするファイルの内容を貼るか、「ファイルを選択」で読み込みます。
「言語を追加」で翻訳ファイルを増やし、言語コード(ja・fr など)を入れます。形式は中身と拡張子から自動判定されます。
「比較する」を押すと、言語ごとの進み具合(%)と、無いキー・空の訳・未翻訳の疑い・プレースホルダーなどの件数が出ます。
検出一覧で該当のキーを確かめ、翻訳者には「CSV を書き出す」の表を渡します。
返ってきた CSV は「CSV から翻訳ファイルへ戻す」で読み込み、言語と出力形式を選んでファイルを作ります。
できること
形式を中身で判定して読む
JSON(入れ子とフラットのキー)、YAML(Rails 型の言語のルートを含む)、Java の .properties、Apple の .strings、gettext の .po(msgctxt・複数形 msgstr[n] を含む)に対応します。拡張子が無くても中身から判定します。
プレースホルダーを種類ごとに照合
{name}・{{name}}(i18next)・{0}(Java の番号付き)・%s %d %1$s %@(printf 系)と、ICU の引数名({count, plural, …} の count)を取り出し、基準と並びが違う訳を見つけます。
複数形のカテゴリを言語の規則で確認
ICU の plural に、その言語で必要なカテゴリ(例: フランス語の many)が無い場合を、Intl の CLDR 規則で判定します。ICU 全体の文法検証はしません。
言語ごとの進み具合と件数
空でなく、基準と同じでない訳の割合を言語ごとに % で表示し、問題の種類ごとに件数を数えます。
翻訳者向け CSV の往復
キー・基準の文・各言語の文を 1 表にして書き出し(Excel で開ける BOM 付き UTF-8、数式の無害化つき)、返ってきた CSV から JSON・.properties・.strings を作り直します。
ブラウザの中だけで処理
翻訳ファイルは送信されず、ブラウザ内で読んで比べます。社外に出せない文言や未公開の製品名を含むファイルにも使えます。
こんなときに
- リリース前に、英語にあるキーがほかの言語の翻訳ファイルで抜けていないか確かめたい
- Rails や i18next、Java の .properties、iOS の .strings、gettext の .po を言語間で突き合わせたい
- 翻訳者に CSV で渡し、戻ってきた訳を JSON などの翻訳ファイルに直したい
- 「{count}」「%d」などの変数名や個数が、訳で書き換わっていないか見つけたい
- 訳が長すぎて、ボタンや見出しのレイアウトを崩さないか当たりを付けたい
対応形式
読み込み
書き出し
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| 無いキー・余分なキーの検出 | 対応 | — |
| 空の訳・基準と同じ文(未翻訳の疑い)の検出 | 対応 | 「同じ」は未翻訳の疑いであり、確定ではありません |
| プレースホルダーの照合({name}・{{name}}・{0}・%s・%1$s・ICU 引数名) | 対応 | — |
| ICU plural の必要なカテゴリの有無 | 一部対応 | カテゴリの有無だけを見ます。ICU 全体の文法は検証しません |
| HTML タグの数の比較 | 対応 | タグの種類や対応は見ず、数だけを比べます |
| 訳の長さの比(UI の崩れの当たり) | 一部対応 | 文字数の比の目安です。実際の表示幅は測りません |
| 翻訳の品質(意味・自然さ)の判定 | 非対応 | — |
| 機械翻訳・翻訳メモリとの連携 | 非対応 | — |
| XLIFF・Android strings.xml・ResX などの形式 | 非対応 | 対応する 5 形式以外は読めません |
| ファイルの保存・ウェブからの取得 | 非対応 | 読み込みは貼り付けかファイル選択だけです |
制限・注意事項
- 1 ファイルは 200 万文字・キー 2 万件まで。比較するのは基準を含めて 8 ファイルまでです。
- 「同じ文」は、文字(英字や日本語など)を 2 字以上含む文だけを対象にします。記号・数字だけの値は除外します。
- 長さの比は、基準の文が空白を除いて 4 文字以上のときだけ判定します。
- ICU の完全な検証(引用符のエスケープ、ネストの文法)はしません。
- YAML は一般的な形式を読みます。同じキーが重複する YAML は読み込みを止めます。
- 複数形の訳(gettext の msgstr[n])は「キー[n]」として比べます。
プライバシーと安全性
翻訳ファイルはブラウザの中だけで読み、比べます。サーバーへの送信・保存は行わず、キーや訳の中身・ファイル名が解析ログに記録されることもありません。ページを閉じると内容は消えます。
よくある質問
翻訳ファイルの抜けを見つけるには?
JSON の入れ子のキーも比べられますか?
プレースホルダーの食い違いとは何ですか?
翻訳者に渡して、戻った CSV からファイルを作れますか?
翻訳管理サービスの代わりになりますか?
翻訳の質(意味が正しいか)も分かりますか?
関連ツール
JSON 整形・検証(JSON Studio)
JSON を貼り付けるだけで整形・1 行化・構文チェック。エラーは「何行目の何が悪いか」まで表示し、コメントや末尾カンマは自動修復できます。データは端末の外へ送信しません。
テキスト・コード Diff
変更前と変更後を貼り付けるかファイルをドロップするだけで、追加・削除された行と、行の中で変わった単語まで色分けして表示します。結果は unified 形式のパッチとしてコピー・保存でき、入力はブラウザの外へ出ません。
CSV Studio(CSV ビューア・編集・結合・分割)
Excel では重い・文字化けする CSV を、ブラウザで開いてすぐに表示・検索・編集できます。結合や分割、Shift_JIS・UTF-8(BOM 付き)・Excel・JSON での保存まで 1 画面で完結します。
UUID / ULID / NanoID / トークン生成
ページを開いた瞬間に UUID が 1 件生成済み。種類を選ぶだけで UUID v7・ULID・NanoID・ランダムトークンに切り替わり、最大 1 万件を .txt / .csv / .json で保存できます。既存の UUID や ULID を貼り付ければ、埋め込まれた時刻やバージョンも読み取れます。
正規表現テスター(Regex Tester)
パターンを入力すると、一致した箇所がテスト文字列の上で即座に色付けされます。キャプチャグループ・置換結果・パターンの意味まで一画面で確認でき、ブラウザを固まらせる危険なパターンは 1 秒で自動停止します。
コード整形・圧縮(Code Formatter)
コードを貼り付けるだけで、言語を自動判定して整形できます。インデント・1 行の幅・セミコロン・引用符・末尾カンマを選べ、JavaScript・CSS・HTML は圧縮前後のサイズと削減率も表示。入力は端末の外へ出ません。
最終更新: