i18n
ソフトウェアを他言語・他地域に適応できるように作ること。名前は、iで始まりnで終わる間に18文字、という略記である。
翻訳作業そのものであるローカライズ(l10n)とは別物で、i18nは技術的な土台を指す。文字列を直接書かない、文を連結で組み立てない、全面的にUnicodeを使う、ドイツ語で30%長くなってもレイアウトが崩れないようにする、といったことだ。
落とし穴は言語そのものよりも周辺にある。複数形の規則は言語ごとに違い(ポーランド語は3形)、日付や数値の書式は地域で異なり、照合順序も言語依存で、すべての名前が姓と名に分かれるわけでもない。ICUとCLDRは、これを自前で実装しなくて済むように存在する。