end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転します

国名の略称: ISO3166-1 言語の略称: ISO639 都道府県: JIS-X-0401/ISO3166-2:JP 市区町村: JIS-X-0402 通貨: ISO4217

で、それぞれ定義されています。 i18nを調べるついでに、まとめてみました。

※2017/7/17(mon) 通貨コードのiso4217を追加

規格 備考, 例 参考url
国名の略称 iso3166-1 usa , jpn http://ja.wikipedia.org/wiki/ISO_3166-1
言語の略称 iso639 en, jpn http://ja.wikipedia.org/wiki/ISO_639
IETF言語タグ rfc4646,4647 ja, en-US http://ja.wikipedia.org/wiki/IETF%E8%A8%80%E8%AA%9E%E3%82%BF%E3%82%B0
通貨 iso4217 yen https://www.currency-iso.org/en/home/tables/table-a1.html
都道府県コード jis x 0401 北海道=01 ググッて下さい
都道府県コード ISO 3166-2:JP 北海道=JP-01 http://ja.wikipedia.org/wiki/ISO_3166-2:JP
市町村コード jis x 0402 札幌市=011002 http://www.soumu.go.jp/main_content/000103403.xls (総務省)

JIS規格は、次のurlでも参照できます

http://www.jisc.go.jp/app/JPS/JPSO0020.html

perlでは Localesがiso3166-1 , iso639をサポート

Locales (Locales::Country , Locales::Language )
http://search.cpan.org/dist/Locales/

i18n (国際化), l10n (地域化), m17n (多言語化)とは

http://e-words.jp/w/M17N.html に記載されている通りで、ソフトウェアを多言語に対応させるには、

STEP1 I18N internationalization まず、様々な言語で利用するための設計や仕様などを組み込む国際化を行う
STEP2 L10N localization 次に、個々の言語に対し、その言語で利用するための地域化を行う
STEP3 M17N multilingualization いくつもの言語への地域化が行われ、利用者が自分の言語に合わせて言語を切り替えて利用できる状態になるのが多言語化

を行うこと。
message resourseファイルを用意するのは、L10N にあたるのかな?

CLDR と ICU

CLDR - Unicode Common Locale Data Repository
ICU - International Components for Unicode
さすが、unicode.org が、c/c++javaでしかりようできないの?
http://cldr.unicode.org/