翻訳作業の多くは表計算ソフトの上で進みます。ところが表計算ソフトは、ある列がキーで、別の列が翻訳者の読む原文で、さらに別の列が訳すつもりのなかったメモだ、ということを知りません。どれも同じセルとして扱います。だからキーが日付になって返ってきますし、終わったはずの列に英語が残ったままになりますし、あと何が残っているのかを誰も言えなくなります。
認識できる構成
言語の列は、開いた時点で見出しから検出します。実際の書き出しに現れる形もひととおり拾います。en や ja のような素のコード、pt-BR や zh-Hans のような地域つきの変種、綴られた言語名、そして [EN]、text_en、EN_translation のように装飾された見出し。コメント列とメタデータの列も、英語と日本語の両方で見分けます。ですから開発側のやりとりが未翻訳の文字列として数えられることはありません。
翻訳ファイルに対してできること
- 進捗はファイル単位ではなく言語ごと全体で 80% 翻訳済みのファイルが、実は 4 言語は 100% で 1 言語がゼロ、ということがあります。対象列ごとに、その列の事情で報告します。
- 未翻訳の行はフィルタとして有効にすると、いま見ている言語でまだ手つかずの行だけが表に残ります。読むための数字ではなく、行くための場所です。
- 原文と同じ文字列は、別枠で数える対象列に英語をあらかじめ埋めた書き出しは、空でもなく訳されてもいない行を残します。どちらの箱にも入れず、別枠で報告します。
- 原文の列は固定、コメントはメモとして翻訳者が読み取る元を編集することは、まず意図されていません。ですから読み取り専用です。コメント列は埋めるべきセルではなく、行に添えられたメモとして表示します。
公開する前に見つかるもの
- キーの重複 — 同じ識別子を持つ行が 2 つ。あとから読まれたほうが優先され、もう一方は何も言わずに無視されます。
- キーの欠落 — キーの列が空で、どこからも参照できない行。
- 見えない文字 — キーに紛れ込んだ幅ゼロのスペースや全角スペース。見た目がまったく同じ 2 つの文字列が一致しなくなります。
- 長さの外れ値 — その言語ペアで普通に収まる長さから大きく外れた訳文。固定のしきい値ではなく、その列自身の中央値と比べて判定します。
アップロードはありません。ファイルを読み、検査し、書き出しているのはあなたのブラウザです。内容の置き場所について取り決めのある翻訳の受け渡しにおいて、それは小さな違いではありません。