国际化与本地化(英文:Internationalization and Localization)通常简写为I18n和I10n。在资讯领域,通常是指调整软件,使之能适用于不同的语言和地区。
国际化是指在设计软件,将软件与特定语言及地区脱钩的过程。当软件被移植到不同的语言及地区时,软件本身不用做内部工程上的改变或修正。本地化则是指当移植软件时,加上与特定区域设置有关的信息和翻译文件的过程。
国际化和本地化之间的区别虽然微妙,但却很重要。国际化意味着产品有适用于任何地方的“潜力”;本地化则是为了更适合于“特定”地方的使用,而另外增添的特色。用一项产品来说,国际化只需做一次,但本地化则要针对不同的区域各做一次。
这两者之间是互补的,并且两者合起来才能让一个系统适用于各地。
本地化国际化面临的如下一些困难:
开发软件时,国际化和本地化对开发者是一个有挑战性的任务,特别是当软件当初设计时没有考虑这个问题时。通常作法是将文本和其他环境相关的资源与程序代码相分离。这样在理想的情况下,应对变化的环境时无需修改代码,只要修改资源,从而显著简化了工作。
开发团队需要人了解其他语言和文化;而这样的人才,可能难以寻觅。而且资源的复制也可能成为维护噩梦。例如,如果某个语言中显示给用户的信息变化了,其他的翻译版本都要随之变化。Gettext之类软件库有助于解决这一问题。
由于自由软件自由地修改和再分发,因此它比较容易国际化。当KDE拥有70个语言版本时,大多数专有软件只提供商业上有利可图的语言版本。
国际化与本地化工作的焦点包括:
u 语言
? 电子文件
? 字母。目前大部分的系统都采用Unicode为标准来解决字符编码。
? 不同的数字命名系统。
? 书写方向。譬如德语是从左到右,而波斯语、希伯来语和阿拉伯语是由右到左。
? 相同语言在不同地区的拼法差异,如美国英语、加拿大英语使用localization,而英国英语和澳洲英语使用localisation。
? 文件处理上的差异,如某些文字存在大小写,其它则否。字母顺序。
? 文字的图像表示(打印物、内含联机图片)。
? 读法(音频)
? 视频的字幕
u 文化
? 图片和颜色:这牵涉到理解和文化适宜的议题。
? 名字和称谓
? 政府给定的编码(如美国的社会安全码,英国的National Insurance number,爱沙尼亚的Isikukood及其它各国的身份证号码)和护照
? 电话号码、地址和国际邮递区号
? 货币(符号、货币标志的位置)
? 度量衡
? 纸张大小
u 书写习惯
? 日期跟时间的格式,包含各式日历。
? 时区(在国际场合会使用世界标准时间)
? 数字格式(小数点、分隔点的位置、分隔所用的字符)
? 产品和服务所要面向的法规