Vim昔語/翻訳編

ソフトウェアの翻訳は単に英語に堪能なだけでは足りないかも、という思い出話。

ソフトウェアの翻訳は単に英語に堪能なだけでは足りないかも、という思い出話。

Vimの魅力の一つに充実した有用なドキュメントがある。ここまでドキュメントが充実ししかも有用なオープンソースソフトウェアは実はかなり珍しい。しかしそれが英語であっては、日本人にとって無いも同然というのもまた事実だ。個人的には苦手ではあるものの読むだけならば辞書片手に頑張ればいいじゃんと思うのだが、なかなかそうもいかないらしい。

ある日、いつものようにmattnさんが「訳したんだけど」とtutorの翻訳を送ってきた。tutorというのはVimのチュートリアルドキュメントで、書かれているとおりに1時間未満の訓練をすることで基本的なVim操作を覚えられる、というなかなか価値の高いドキュメントだ。それをmattnさんが訳したのでレビューして欲しいとのこと。さっそく幾つか気になるところを直しつつ、mattnさんが意図的に訳さなかったであろう部分にとまどった。おそらく詩だと思われる原文はこうだった。

—> 1) Roses are red,
—> 2) Mud is fun,
—> 3) Violets are blue,
—> 4) I have a car,
—> 5) Clocks tell time,
—> 6) Sugar is sweet
—> 7) And so are you.

2.6節「行の操作」の対象例文なので訳さなくてもチュートリアルに支障はなかったが、意味がわからないよりはわかるほうが良いだろうと訳すことにした。が、どうしても7行目の雰囲気がでない。6行目の”sweet”には「甘い」以外に「すてき」とかの意味があるので、7行目にかかってロマンチックで洒落た雰囲気があるのだが、どうしてもその雰囲気を伝える訳がでない。そこで英語の得意な友人に相談したところ次のような大変満足の行く訳となった。

—> 1) バラは赤い、
—> 2) つまらないものは楽しい、
—> 3) スミレは青い、
—> 4) 私は車をもっている、
—> 5) 時計が時刻を告げる、
—> 6) 砂糖は甘い
—> 7) オマエモナー

ロマンチックはぶち壊しだが洒落た雰囲気は伝わってくる。ただ本当にもったいないことだが、あまりちゃんと読まれていないのかもしれない。このチュートリアルのこの文言を指摘してきた人はあまり多くはない。

Vimの翻訳すべき文章には大きく分けて二種類ある。一つはtutorのように英語を恐れさえしなければたいがいは訳せるもの。これにはリファレンスマニュアルやユーザマニュアルが含まれ、メニューなども含めて良いだろう。マニュアルは文章ごとに原著者によっては訳しやすかったりそうでなかったりの違いはあり(Bramの英語は読みやすい)、また量が膨大なのでたしかに大変でもあるが平均的には別段難しいということはない。私も最初は少し関わったが、vimdoc-jaプロジェクトのメンバー(特に膨大な量のユーザマニュアルを手がけた清水さんの名前を紹介しておきたい)が頑張ってくれたおかげで、日本語に翻訳されたマニュアルが利用できる。

Vimの翻訳すべき文章のもう一つはVimの画面に表示されるメッセージだ。英語自体はマニュアルよりもはるかに簡単で量も比較的少ないが、自惚れでもなんでもなく当時は私を除けばmattnさんにしか翻訳はできない、そういう難しさがあったと思う。その難しさとは英語の文面だけでは解釈できないことによるのだが、その一端をいくつかの例から解説してみよう。

ID原文実際の訳文
001E817: Blowfish big/little endian use wrongE817: Blowfish暗号のビッグ/リトルエンディアンが間違っています
002E716: Key not present in Dictionary: %sE716: 辞書型にキーが存在しません: %s
003
number changes  when               saved
通番   変更数   変更時期           保存済

001は序の口、Blowfishが暗号アルゴリズムの一つだと知っていればすぐにわかる。エンディアンもプログラマなら一般教養の範囲だ。002は普通の英語ではDictionaryとKeyの間の関連が説明できないためやや難しい。鍵のかかった辞書? evalの辞書型(Perlにおける連想配列)だとわかればすんなり訳せる。003は最も難度の高いものの一つ。ソースコード中の利用場所とその周辺を読みといて始めて適切な訳が決定される。ちなみにこれはアンドゥリストのヘッダーに相当する部分だった。やっかいなのは003タイプの原文が自分が使ったことも見たことのない機能のものであるケースで、その場合はかなりの時間をソースコードとマニュアル(原文)とのにらめっこに費やすことになる。つまり翻訳に際してコンピュータそのもの、各種OS、ツール、プログラミング、ソフトウェア(Vim)とソースコード、etc…そういう知識が必要になる。いやどんな翻訳でも訳者には幅広い興味と造詣があるに越したことはないと思う。

もちろんリテラルに翻訳してしまうことはできるし、そういうものも世の中には少なくない。だけど自分が翻訳するにあたって、たとえ英語が苦手だからといってそうしてしまうのか…私はできなかった。もちろんいまだに変な訳は残っているし、全部に満足の行く翻訳を付けられたわけではない。でもせっかく手間暇をかけるのだからできるだけユーザにわかりやすく、できればちょっとでも楽しんでもらいたいものだ。

実は、メッセージの原文は時間と共にわかりやすく改善されている。そのため最初にメッセージを訳した時よりも、難しい訳ははるかに減っている。見慣れたということも多少はあるかもしれないが、こんなところでもVimは進歩し続けているのだ。

以下、続くかもしれない。

ちなみに「オマエモナー」と訳した友人は生粋の2ちゃんねらーである。