「グローバリゼーション」という言葉は、経済や社会の文脈でネガティブな意味合いを持つことがある。たとえばコストの安い海外に工場が移転して国内産業が衰退し、その結果として貧富の格差が拡大するといった問題が語られる場面だ。(参考:コトバンクにおける諸定義

先日ジャーナリストの佐々木俊尚氏のツイートを見ていたらグローバリゼーションに関する話題が出てきた。

ソフトウェア分野におけるグローバリゼーションの定義は、これに近い。そしてネガティブな意味合いはなく、むしろポジティブな意味合いの方が強い。

ソフトウェアのグローバリゼーションとは、さまざまな言語や地域でソフトウェアを使えるようにすることである。その際、以下の2種類の作業が行われる。

A. インターナショナリゼーション(Internationalization、I18N、国際化)
特定の言語、地域、文化に依存しないよう、ソフトウェアを汎用化する作業である。主にプログラマーが関わる。
たとえば、あらゆる文字を扱えるようUnicodeを使ったり、翻訳され得るテキストをプログラム本体から切り離しておいたり、性や数で名詞の形が変わる言語に翻訳されても柔軟に対応できるプログラムを書いておいたりする。

B. ローカリゼーション(Localization、L10N、地域化)
特定の言語、地域、文化に合う形に特殊化する作業である。主に翻訳者が関わる。
言葉の翻訳(例:英語→日本語)が大部分であるが、ターゲットの文化に合うよう画像や映像を差し替えたり、機能(例:税金計算)を修正したりすることもある。

このAとBの関係を図示すると以下のようになる。インターナショナリゼーション(I18N)でソフトウェアの「土台」を作り、その上にローカリゼーション(L10N)で各国語の「家」を建てるようなイメージだ。そして、この2者を合わせて「グローバリゼーション」(G11N)と呼ぶ。

Intro-G11N_fig2-1
<『ソフトウェア・グローバリゼーション入門』(達人出版会、2017年)の図2.1を転載>

このうち、土台(I18N)が佐々木氏の言う「標準的なプラットフォーム」、家(L10N)が「それぞれの多様性」に相当している。



この2者の関係は、静的ではない。
各言語や文化(家)に存在する多様性のうち、土台(=プラットフォーム)に取り込めそうなものは取り込もうという努力が継続的になされている。
古くは、Unicodeのような文字コードである。おかげで日本人が使う漢字を含め、さまざまな文字が扱えるようになり、ソフトウェア上における言語文化の多様化に貢献している。あるいは、アラビア語など右から左に読む言語(RTLとも呼ぶ)にも対応できる仕組みの考案も、多様性をプラットフォーム側に取り込む努力の例だ。

さらに例を挙げると、ここ十数年ほどの間にソフトウェアで実装されつつあるのは、性や数で名詞の形が変わる言語への対応だ。
たとえば「カートに◯冊入っています」というメッセージの場合、日本語では数がいくつでもメッセージを変える必要はない。名詞に単数形も複数形もないからだ。しかし英語では単数なら「You have 1 book in your cart.」だし、複数なら「You have 5 books in your cart.」などと名詞(book/books)の形が変わる。
かつては「book(s)」のような表記も見られた。しかしきれいなやり方ではないし、英語なら単数と複数の2カテゴリーだけだが、言語によってはさらに複雑な複数形のカテゴリーを持つ言語もある(ロシア語で4カテゴリー、アラビア語で6カテゴリーとされる)。加えて、英語には名詞に性はないが、フランス語やスペイン語には男性と女性、ドイツ語にはさらに中性もある。
そこで、たとえば英語の複数形であれば、数が「1」か「それ以外」(複数やゼロ)かによって表示テキストを切り換える仕組みが作られた。具体的にはプラグラム上で以下のように書かれる(ICUの書式)。

{冊数, plural,
one {You have 1 book in your cart.}
other {You have # books in your cart.}
}

こういった仕組みはここ十数年くらいの間に広まったが、積極的に貢献している開発者には東欧の人が多い印象だ。というのも東欧では複数形が複雑な言語が用いられており、そういった言語できちんと翻訳テキストを表示させたいという動機があるのだろう。
これも多様性をプラットフォーム側に取り込む努力である。

実は「令和」も、日本文化という多様性をプラットフォームに取り込む最新の実例であった。
Unicodeには「漾廚筺岫錙廚覆標宜罎旅膸が存在する。当然、新元号の合字も欲しい。そこで改元スケジュールが発表されると、Unicodeコンソーシアムでは新元号のコードポイントを確保するなど、あらかじめ準備をした(ブログ記事)。そして新元号発表後、速やかに実装作業に入った(ブログ記事)。



このように、ソフトウェアにおける「グローバリゼーション」には、さまざまな言語や文化の多様性を、土台であるプラットフォームに取り込んでいく動的な側面もある。
もちろん日本語のように話者の多い言語に比べると、少数話者の言語は十分に取り込まれていないかもしれない。しかし東欧の開発者が「複数形」の仕組みを積極的に開発しているように、徐々にではあるが前進しつつある。そしていったんプラットフォームに取り込まれれば退歩も考えにくい。

そのためソフトウェアのグローバリゼーションは、ネガティブというより、むしろ前向きでポジティブな印象の方が強いのである。