アプリのローカライズは翻訳ではなくUIデザイン
アクセス解析に便利なFirefoxアドオン「HttpFox」の日本語化をお手伝いしました。最新版にアップデートするとUIが自動的に日本語になります。
海外ソフトウェアの日本語は、
- コンテクストを無視した直訳で分かりにくい
- 利用者の生産性を落としているはず
- 効果的なローカライズ方法を実践してみたい
といつも思っていました。
そこで、会社ではチーム全員がインストールしていてお世話になっているHttpFoxの作者に2/6に打診。5/12に「準備ができたよ」と連絡をもらったので、その日のうちに2時間作業して納品。5月19日にリリースされました。
画面のコンテクストを確認しながら超訳
ソフトウェアベンダーが実際にどう多言語対応しているのかは分かりませんが、多くの場合は、使われている文字列を集めたファイルを作成し、言語ごとに切り替えて多言語対応していると思います。このファイルだけ翻訳会社に送付し、直訳しているのではないか?と思えるコンテクストを無視した分かりにくい日本語UIを多く見てきました。そこで、今回は、
- どこでいつ表示されるのか?
- UIのどの部分にどの位の大きさで表示されるのか?
- 何と一緒に表示されるのか?
- ユーザーが見る順番は?
など、コンテクストを考慮した翻訳を行ってみました。
いろいろ考えると、時には言い方を変えたり、原文では触れていないことを盛り込んだりすることも必要になります。
- 業界の標準に合わせるため
- UI上の幅に合わせるため
- 分かりやすくするため
例えば、
「HttpFox Options」→「HttpFoxオプション」
Firefoxそのものの設定画面やメニューでの表記を調べたところ、「オプション」になっていたので合わせました。
翻訳対象のソフトウェア以外にも目を向けて、統一や整合性も考慮したユーザーエクスペリエンスをデザインする必要があります。
「Automatically start watching when browser starts」→「ブラウザ起動時にモニタを開始する」
割と直訳ですが、Watchingを何にするか考えました。直訳だと「監視」になりますが、HTTPパケットは「スニッフィング」(盗聴)や「キャプチャ」する、という言い方も良く見かけます。が、このアドオンはネットワークエンジニアではなくWeb開発者が使うことが多いと思われたので、その慣習は一度忘れて、ブラウザとサーバー間の通信をデバグのためにリアルタイムで「モニタ」する、という言い方にしました。
グリッドのラベル
ここはこのアドオンの最も重要な部分なので、丁寧に訳しました。
一番左の「Started」ですが、Webサーバーへのリクエストが開始つまり送信された時間、です。「開始」だけだと、モニタを開始した時間なのか、反応が届き始めた時間なのか、が不明確です。ところが、スペース的にあまり長くはできません。最初は「開始時間」にしようとおもいましたが、下手に「開始」と入れてしまうと、かえって分かりにくいので、単純に「時間」としました。
次の「Time」は、直訳だと「時間」と訳してしまうところですが、リクエスト送信からレスポンスが戻るまでの時間なので「所要時間」が正解です。ただし、このあたりは全部2文字でシンプルにしたかったので、「何秒かかったのか」という意味を込めて「経過」としました。
6番目の「Result」は正しい表現ではなく、実は「404」「301」などのStatus Codeのことを指しています。「結果」では意味不明なので、RFCやWikipediaを調べて裏を取った上で、「ステータス」としました。
POSTで送信したデータを表示する画面の左下に、表示形式の切り替えボタンがあります。直訳だと「きれい」「生」とブロークンな表現ですが、意味的に分かりやすく「パラメータ別」(に値を分解して表形式で表示する)、と「未加工」(のままテキストで表示する)、としました。この方が分かりやすいですよね?
というわけで、ソフトウェアのローカライズは翻訳ではなくUIデザインそのものだ、と思うのです。
Excelにスクリーンショットを貼りつけて作業
まず、どの文字列がどこで使われているかを理解する必要があります。
そこで、文字が含まれる画面をExcelに貼りつけ、文字列とマッピングしました。
「モニタ」のように何度も出現する単語は別のセルに集めて、「=Z11」や「=CONCATENATE(Z11,”する”)」などとセル参照を行うことで、一元管理しています。一貫性を保ちつつ、変更を容易にしてみました。
日本語を読めない開発者がミスなく実装出来るように完全パッケージで納品
届いたXMLファイルはUTF8のテキストに、propertiesファイルはURIエンコードして、適切な日本語ロケールのフォルダに格納して納品しました。Firefoxのアドオンは以前に作ったことがあったのですが、Googleで検索して再確認しておきました。
相手はエンジニアだから適切にエンコードしてくれるだろう、と依存してはいけません。相手は日本語を読めない可能性が高いので、ケアレスミスをしても気がつかずにリリースしてしまうリスクがあります。受領してから実装するまでにどんな作業が必要なのかを理解した上で、間違える可能性を減らした状態で納品するとスムーズです。プロジェクトで分業する時も同じですね。
まとめ
- ソフトウェアのローカライズは翻訳ではなくUIデザインそのもの
- 後続タスクの内容を把握した上で納品すると全体がスムーズになる