之前在很多地方都能见到I18N,特别是open source里面。I18N就是Internationalization的缩写,其原因是I和n之间一共有18个字母。
下面这些地方会需要I18N
Displaying characters for the users' native languages. Inputing characters for the users' native languages. Handling files written in popular encodings that are used for the users' native languages. Using characters from the users' native languages for file names and other items. Printing out characters from the users' native languages. Displaying messages by the program in the users' native languages. Formatting input and output of numbers, dates, money, etc., in a way that obeys customs of the users' native cultures. Classifying and sorting characters, in a way that obey customs of the users' native cultures. Using typesetting and hyphenation rules appropriate for the users' native languages.当然除了I18N还有L10N(localization) 和M17N (multilingualization),这3个之间有什么区别呢,举例说明。
L10N支持2种语言,英文和另外一种语言(例如中文);
I18N支持多种语言,但是同一时间只能是英文和一种选定的语言,例如英文+中文、英文+德文、英文+韩文等等;
M17N可以在同一时间支持多种语言,例如你可以在一个页面里看到中文、英文、德文和韩文。
(出处:http://www.sheup.com)