Internationalization と Localization の違い


自作アプリの文言の翻訳をしていてふと思ったのですが、  
Internationalization (国際化) と  
Localization (現地化) と  
どちらもほぼ同じ事のような気がしてきました。

IT 業界的には、この２つはどう違うのでしょうか？  
どう使い分ければよいでしょうか？




ざっくりいうと、i18nは多言語化対応するよ！l10nは地域にあわせて最適化するよ！みたいな感じです。

> 自作アプリの文言の翻訳をしていてふと思ったのですが、  
>  Internationalization (国際化) と  
>  Localization (現地化) と  
>  どちらもほぼ同じ事のような気がしてきました。

ほぼ同じというよりは、l10nをする際の工程にi18nはかかわります。

>
> <https://ja.wikipedia.org/wiki/%E5%9B%BD%E9%9A%9B%E5%8C%96%E3%81%A8%E5%9C%B0%E5%9F%9F%E5%8C%96>

詳しくはWikipediaを見ればより詳しく知ることができると思います。




  * L10N; Localizationはソフトウェアを１つの言語に対応させること。日本語化パッチなどがその例。
  * I18N; Internationalizationはソフトウェアを複数の言語に切り替え可能にすること。最近のソフトウェアであればメニューやダイアログなどのUI要素が切り替え可能になっている。
  * M17N; Mulitilingalizationはソフトウェアを複数の言語を同時に扱えるようにすること。Webブラウザーやエディターなどがその例で、複数の言語が混在したコンテンツも扱える。

[Mule](https://ja.wikipedia.org/wiki/Mule)（Emacsの多言語拡張）登場の際にこのような用語で議論されていたように記憶してます。

* * *

コメントより

> L10N の定義が当時と今とで変わってきているように感じています。
>
> L10N の定義は今も昔も変わらないと思います。昔はフレームワークがサポートしてなかったりやデータがそろって無かったりで L10N ==
> 言語の地域化と結果的になってしまっていただけ

以前はフレームワークでのサポートもないためバイナリパッチの形も多かったです。今はデジタル署名などでバイナリパッチが困難にもなっている反面、フレームワークでのサポートもありリソースファイルを用意するだけになっていたりもしますね。

ところでLinuxの`ls -l`でよく見かける「2月 7 2015」という日付表記、これなんかがL10Nだったりするかな、と感じています。形式はus
cultureのままで文字列のみja languageが埋め込まれています。

