多言語情報処理のキラーアプリ

ソフトウェアの国際化が進んでいる。 海外のウェブサイトで、 ごく部分的に日本語が使われているページに出会ったことはないだろうか? コンテンツは外国語なのに、 メニューや見出しの部分だけ日本語になっているものである。

その手のページは、 CMS (Contents Management System)を使って動的に作られたもののはずだ。 最近のCMSは国際化されているものも多く、 その手のシステムはリクエストを出したブラウザのロケール情報 (国や言語を表わす情報) に合ったページを生成しようとする。 その結果、CMSの持つ雛型の部分だけが日本語化されるため、 中途半端に翻訳されたコンテンツが送られて来る、ということになる。

l10n、i18n、m17n

ところで本稿に関連したキーワードをまずおさえておこう。 そのキーワードとは、「現地語化(各国語化)」、「国際化」、「多言語化」 の3つである。

まず現地語化もしくは各国語化(localization)である。 先頭の「l」と最後の「n」の間に10文字あることから「l10n」と省略される。 各国語化は、 例えば英語のソフトウェアを改良して日本語のメッセージを出すようにしたり、 日本語の文書を扱えるように改造したりすることを指す。 海外のソフトウェアを日本語化して利用しはじめた初期のころには、 多言語あるいは他言語での利用を意識することは少なく、 目先の改造としてこの戦略が多用される傾向にあった。

次に国際化(internationalization)。 「l10n」同様、「i」と「n」の間に18文字あるため「i18n」と略される。 国際化とは、アプリケーションを簡単に多言語化したり、 手早く各国語化したりできるようにするための仕組みを整備することだ。 各国語のフォントを整備したり、 様々な文字を入力するための入力システムを提供したり、 あるいはそれらのための基本ライブラリやツールの整備を意味している。

そして多言語化(multilingualization)、これは「m17n」となる。 多言語化とは、そのソフトウェアが「同時に」複数の言語を扱えることをいう。 また複数の言語を扱えるとは、 文字や単語を表示したり入力できるというだけでなく、 各言語の文法に応じた禁則処理を実現したり、 日付、通貨単位の表記方法なども柔軟に扱えることを指す。

誤解を恐れずに簡単に説明すると、 l10nは場当たり的な日本語化、 i10nは日本語化と中国語化を共通のフレームワークで実現する方法、 そしてm17nは日本語・英語・中国語をひとつの画面に表示したり入力できるようにすること、 である。 国際化に加えて、多言語化というチャレンジがこれまで長い時間をかけて進められてきているのだ。

加速するソフトウェアの国際化

ソフトウェアの国際化が進んだ要因は、 市場がグローバルになったからである。 ソフトウェアがインターネットで流通し、 世界規模で情報化が進んだ現在では、 ひとつの地域だけを考えていればよい時代ではなくなった。

各国が現地語でソフトウェアを利用したいというニーズは高く、 当初は各国で独自に現地語化していた。 しかし重複する部分は国際化のフレームワークでまとめていこう、 という発想はソフトウェア工学的に自然なものである。 現在では国際化に向けたソフトウェアの仕組みも整備が進んでおり、 はじめから国際化対応を考慮して開発されるソフトウェアも多い。


多言語化されているソフトウェアの例 (クリックで拡大)

多言語化は本当に必要か?

現地語化(各国語化)のニーズは切実なもので、 また国際化も自然な過程で導出されてきた技術である。 多言語化も、技術的にはとても興味深いテーマである。 しかし多言語化は本当に必要なのだろうか。

オフラインのメディアとしては、 身近なところに多言語化された情報処理を見つけることができる。 例えば電化製品の取扱説明書である。 世界に輸出されて使用されるような商品の取扱説明書には、 同じ内容を様々な言語で説明している。 こういった説明書を作るソフトウェアは多言語化されている必要があるだろう。

残念ながら、多言語化ソフトウェアのニーズはまだそれほど一般的ではない。 しかし国際的な情報流通の速度は急激に加速しており、 国際交流はこれからさらに活発になっていくことが推測される。 そうなったとき、多言語化情報処理の技術が今後は重要になっていくだろう。

筆者は、多言語情報処理のキラーアプリケーションは翻訳分野にあると考える。 翻訳機能を組み込んだ情報処理ツールが欲しい。 各国語で記述できるワープロだけでなく、 国際会議を支援するグループウェアや各国語が行き交うコミュニケーションツールの必要性は、 今後ますます増えるにちがいない。

多言語を用いた情報処理の課題は、 そもそも多言語を同時に操れる能力を持つ人間が非常に少ないため、 コンテンツやツールを多言語化してもひとりでは検証しにくいことにある。 国際的なコミュニケーションを支援する多言語化アプリケーションの登場を期待したい。

  • OSSの国際化フレームワーク 「gettext」(英語)
  • 国際化ソフトウェア開発支援ツール 「World Wide Navi」: ソフトウェアのソースコードを解析し、 国際化するための作業を支援するソフトウェア開発ツール。
  • 多言語化ソフトウェアの技術開発を進めている 「m17n.org: 多言語化機構
  • 2003年3月に日本政府が作成したアジア・ブロードバンド計画におけるプロジェクトのひとつ、 「 多言語翻訳プラットフォームの実証実験