思い付いたら書いとこう

97/11/11 pm 22:50

PC向け、特にWindows向けのソフトウェアの場合、ローカライズという言葉がよく使われる。Localizationというヤツね。毎回毎回、律義にこの単語を書いていると長ったらしくて仕方がないので、最初のLと最後のNを取って、間は10文字というんでL10Nと書くことが多い。同様な用いられかたをする単語にInternationalizationというのもあり、こっちは同様にI18Nと表記されるワケだ。

L10NとかI18Nといった考え方は、おおむね英語圏で開発されたソフトウェアを、他国語で使えるようにしよう、というところに端を発するので、ともするとまったく同じ意味に用いられている場合もあるが、この両者は全然別のものだと思う。中にはローカライズの作業(少なくともオレにはそう見える)を指してイネーブリングという場合もあるようだ。2バイト文字、特に漢字を使えるように、enableする、すなわちenablingというつもりなのだろう。

オレ自身の思っている言葉の定義をハッキリさせておくと、I18Nというのは、基本的にL10Nの前工程にあたるものだと思う。つまり、I18Nを施す時点では、仕向け地を意識しないのだ。どこの国に持っていって、どんな言語を対象としても、過不足なく機能するソフトウェアに仕立てる作業をいう。取りたてて○○語に翻訳、などという作業が含まれることはない。

だから、もともとのソフトウェアが英語圏で作成され、英語のLook&Feelを持っているならば、I18Nを施したあとでも見た目は英語のままで特に変化はない。だが、この時点ですでに、日本語や韓国語など英語以外の言語に根差した処理もできるようになっているのだ。単純に入出力できたり、ファイル名が扱える程度ではなく、例えば日本語の場合なら、データをあいうえおの50音順にソートするなどの機能もこの時点で保証しておくべきであろう。つまり、I18Nを経たソフトウェアは、メニューやダイアログボックスなどの、翻訳を必要とするリソースは英語のままだが、内部的には○○語版として即座に使えるもの、と言えるだろう。

PCの世界では避けて通れないPC98への対応も、この時点で入れてしまうことが充分に可能だ。おおむね対応方法も知り尽くされているし、実行時にPC/AT互換機なのか、PC98なのか判別して振る舞いを変えるように造るのは不可能ではない。むしろ、そのあと永久に同じような改造を延々と施し続けるよりも、この時点でハードウェアの違いを平滑化してしまうことにより得られるメリットは計り知れない。これはI18NとL10Nの狭間で、Platform Abstraction とでもいえるだろう。

ではL10Nはというと、これは翻訳がメインの作業だ。仕向け地で使われている言語にリソースから何からすべてを翻訳し、オンラインヘルプやマニュアル、パッケージのデザインまですべて過不足なく違和感なく翻訳しつくす。

対象とするソフトウェアによっては、○年○月○日に…などと画面上に表示される文章を補完する形で日付を入力するようなものもあるし、from ○ to × などとなっている場合は、単にfromとtoを翻訳すればいいというわけにはいかず、順序を変えるなどの作業も発生しよう。通貨なども小数点以下があったりなかったり、国によって違うので、単なる翻訳では収まらず、プログラムを改造する必要もある。この辺はL10Nの範疇だと思う。要するに、単なる翻訳を超えた、その国の文化に合わせた改修作業全般を差すものだ。日本向けをいうなら、日本語化ではなくて「日本化」といって欲しい。

こう考えてくると、enablingという言葉の指すものは非常にあいまいだ。何を必要としているのか良くわかっていないが、なにかの改造なり作業が必要だということは認識しているよ、という程度の、悪意のない英語圏の人々が好んで使う言葉と言えると思う。仮にこれを真に受けて「○○ for ×× ver 3.0 はイネーブリング済みであり、すぐに日本市場に投入可」などという報告書なんぞ見かけた場合は、ハイハイ良かったね、頑張ってね、といってサラッと流して関わらないのが身のためと言えよう。

また、高度にI18NとL10Nが一体化し連続性を持つならば、最終的には世界中で1つのパッケージで済むはずだ。インストール時に、その地域なり言語なりを選択するのだ。プログラムとリソースが切り離されていれば、そう難しいことでもない。Unixなどの製品ではそういう例がある。というかそれが普通だ。OS自体にLocaleの概念があり、手間が少ないというのも確かにある。だがPC向け、特にWindows向けのソフトはどうだろう?

Windows系は、OSはすべて各国語向けのものがリリースされている。そら大昔のWindows 3xは仕方ないかもしれん。パフォーマンスや容量の問題もあろう。だがWin95やらWinNTに至っても、いまだに○○語版という枕詞がなくならないってのは一体なんなんだ。そもそもサーバに○○語版ってのが存在すること自体、この製品はいいかげんにできてます、と表明しているのと同じだ。どこの国からアクセスされるか想定して作ってはならないハズのサーバで、○○語版?はて?××語版のクライアントからのアクセスは保証されないのか?というと、本当に保証されてなかったりするから脱力する。文字化けするくらいならともかく、絶対にアクセスできない開かずのディレクトリみたいなのがワンサとできてしまうぞ。どうすんだ。

話を戻して、英語圏の製品を日本の市場に持ち込む場合を考えてみよう。まぁ最初はそのまま持ってきて売るところから始まるのであろう。一部の商社や、ディストリビュータ、リセラーなどが販売代理店契約などを結び、細々と販売を始める。高級な輸入オーディオなどと同じような扱いだ。

そのうち利益が上がりはじめると、日本に子会社を設立し、本腰を入れはじめる。ここからが問題だ。そのまま英語の製品を持ってくると、日本語が表示できないばかりか、PC98で動作しなかったりするので修正を施して、日本語版として発売するのはわかる。利益を上げねばならぬ以上、そうせざるを得まい。が、それを日本の子会社で閉じた中で繰り返すことに大きな問題があるのだ。修正を施し、動作確認をした、その変更点を本社の開発元に戻さないで死蔵するのは非常にもったいない話だ。結局、日本の子会社では、I18Nを含めて、日本向けのL10Nまでを一気にやっていると言える。

米国本社と日本しか存在しないなら、また製品のラインがそう多くないなら、これでも良いかもしれないが、もっと世界中で、もっと大量の製品をということになるととうだろう。日本のみならず、ヨーロッパも、韓国、中国までも視野に入れると、人海戦術では追いつかなくなっていく。

そこで、開発元にI18N専門のエンジニアを配置するか部署を作るかして、米国以外の各国向けのロードマップをしっかりと作り、各仕向け地では翻訳主体のL10Nと、必要なら最小限の改造を行うように役割を分担するのが良いと思う。各国で発生した特殊な要求なども、必ずI18N担当者と打ち合わせの後に対応し、開発元で管理しているソースファイルに履歴が残り、次世代の製品に必ず反映されていくように工夫するのは言うまでもない。

オレの仕事は、いままでは日本向けのL10N全般だったが、韓国語だ中国語だという話が降って沸くようになるにつけ、このままじゃいかん、と思っていたのだ。常々そういう話を折りに触れてこっちのマネージャに言っていたんだが、いよいよオレも、これからはI18N専門のエンジニアとして仕事をすることになりそうだ。差し当たって、日本、韓国、中国にオレのところからI18N済みのソースが渡ることになるだろう。ヨーロッパ向けは単純に翻訳して製品化するシステムがすでにあるのでオレのゴールではないのだ。

そもそも、韓国や中国などの市場に、本社側が色気を出すようになったのも、非常に短い期間に日本市場で期待以上の成功を収めたからだというのは疑う余地がない。この点において、オレは日本の人々にとても感謝している。US本社の連中に、何度言ってもラチが開かない要求などがあって困っているなら、遠慮なく相談して欲しい。わずかでも協力するつもりだから。

メール 前へ 次へ 戻る