i18n, l10n, m17nの意味と違いがやっと分かった
以前CakePHPを使っていた時に日本語と英語に対応させる為、http://api13.cakephp.org/class/i18nとhttp://api13.cakephp.org/class/l10nを使いました。使ったんですが、このinternationalizationとlocalizationの単語、意味が似すぎてて、どういう役割分担なのか、悩みながら作ってました。
internationalization | i18n | 国際化。アプリにいろんな言語に対応出来るような機能を組み込んだり、そういう設計にしたりする事。 |
localization | l10n | 地域化。i18nで組み込んだ機能を使い、各言語に対応する事。 |
multilingualization | m17n | 多言語化。l10nで複数の言語に対応したら、ユーザーに合わせた言語の切り替えに対応する事。 |
たまたまm17nの意味が分からず調べたら、ローカライズ(地域化)とは - IT用語辞典に納得のいく説明があったので、自分用に表にまとめてみました。しかし、ちょっと細分化しすぎなんじゃないだろうか。
CakePHPは最近触ってないので、CakePHPのI18nクラスとL10nが、この通りの役割を持っているかは分かりません。CakePHPにはM17nは無いけど切り替えられる実装は出来るし。
書いた時期
2011-10-21頃。
今日も過去に書いて放置になってるやつの掘り起こし。