国际化是指把原来为英文设计的计算机系统或者应用软件改写成同时支持多种语言和文化习俗的过程。
在英文中,国际化(Internationalization)被缩写为I18N,即只取首位两个字母,中间字母为18个。国际化中只处理语言的部分叫多语言化(Multilingualization)缩写为M17N。比如一个软件同时支持英语、法语、日语、俄语等多种语言。
本地化是指把计算机系统或者应用软件转变为使用并兼容某种特定语言的过程。在英文中,本地化(Localization)被缩写为L10N,即只取首位两个字母,中间字母为10个。
无论是国际化还是本地化都不是简单的语言翻译,以下是国际化和本地化中常常遇到比并且应当注意的地方:
1)界面纯文字翻译
这个就是上面提到的多语言化,即对系统或者软件界面的文字进行多语言处理。
2)文本信息翻译
除了界面文案翻译,系统或者软件附带的帮助手册、说明等文本信息也应该进行多语言处理。
3)图标设计
图标应该通用、易于接受,同时考虑地域习惯。例如,一个在美国表示乡村风格的邮箱的位图在其他地区的居民看来像是其他东西。欧洲人通常将这个位图理解成烟囱。 还要避免使用包含文本的位图,本地化图像中的文字不仅费时间,文本增长也可能成为一个问题。确保位图和图标具有文化认同性也很重要。
4)姓名地址
姓和名的先后次序,地址书写的先后次序。比如中文都是先姓后名。
5)声音使用
不适当的声音或提示可能会引起人的反感,有些国家对声音性别很敏感。
6)颜色使用
颜色和色调与民俗有关,比如红色在美国标示危险,在中国标示喜庆。
7)纸张尺寸
打印纸的尺寸因地域而不同。北美洲、玻利维亚、哥伦比亚、委内瑞拉、菲律宾与智利的官方纸张尺寸大小为8.5英寸×11英寸(215.9毫米×279.4毫米)。A4尺寸则是ISO的标准,已经于多数国家采用。
8)数字标识格式
不同国家和地区数字表示方式也存在着区别。影响数字表现的因素包括数字字符的表示、数字符号的表示、数字的类型等。
例如:一千二百三十四点五七(1234.57),在英语中的表示是1,234.57,而在德语中的表示为1.234,57。
9)日期和时间格式
日期/时间的国际化,不仅涉及到地理位置(Locale,比如星期、月份等日历本地化表示),还涉及到时区(TimeZone,针对UTC/GMT的偏移量)。时区不仅是地理位置规定,更是政治规定,比如中国从地理位置上跨5个时区,但只使用一个统一时区(id=Shanghai/Asia)。
PS:后面会有专门的文章来介绍国际化种的日期和时间格式,这里就不详细介绍了。
10)货币单位
货币格式设置必须考虑货币符号、货币符号位置和负号的位置。大多数货币使用与区域性或区域设置中的数字相同的小数点分隔符和千位分隔符。但是,在一些地方并不是这样,比如在瑞士,瑞士法郎的小数点分隔符是句点 (Sfr.127.54) 。
11)度量单位
度量单位直接关系到数值的实际表示结果。虽然度量单位存在着国际标准,但由于历史,风俗习惯等原因,很多地区及国家并不唯一使用国际标准。
例如,美国同时存在着国际通用标准制和英制两种度量制度,英制是相对更常用的度量制度,英制中的长度可以使用英寸 (inch)来表示,而国际通用标准是米和分米等; 对于重量的表示,英制使用磅(pound), 而国际标准是克与千克。软件国际化中,当存在度量习惯区别时,软件中度量相关的数据都需要根据度量单位进行合适的转换。
12)字符排序及长度
并不是所有语言都把某一个字母的大小写形式看成是等价的,重音的区别,某个符号出现与否,甚至拼写不一致性都可能导致看似等价的两个字符串实际上的不等价。字符的排序是需要根据不同地域文化确定的。同时,还应根据字符的长度调整对话框的大小和位置。
13)文本的输入和呈现
例如,阿拉伯人和希伯来人的阅读习惯是从右向左,文本输入也是从右向左,这样的习惯被称为BIDI(Bidirectionality)。
14)键盘布局
键盘上的键因国家而异,键的位置和个数也可能不一样,且某些字符并非存在于所有的键盘布局上。
15)换行和断字
亚洲 DBCS 语言的规则与西方语言的规则完全不同。例如,与大多数西方书面语言不同,中文、日语、朝鲜语和泰语不一定使用空格将一个字同下一个字区分开。泰语甚至不使用标点符号。
16)大小写转换
处理字符的大小写的的算法要注意某些语言的大小写字符之间没有一对一映射。而大多数非拉丁脚本甚至不使用小写和大写的概念。例如:中文、日语、泰语等亚洲语言文字。
参考资料:
http://www.unicode.org/
http://www.i18n.linux.org/
http://www.microsoft.com/globaldev/
http://www.linuxjournal.com/article/6176