国际化与本地化
在信息技术领域,国际化与在地化(英语:internationalization and localization)是指修改软体使之能适应目标市场的语言、地区差异以及技术需要。
“localization”的各地常用译名 | |
---|---|
中国大陆 | 本地化、本土化 |
台湾 | 在地化、本土化 |
港澳 | 本地化 |
此条目可参照英语维基百科相应条目来扩充。 (2023年10月4日) |
国际化是指在设计软体,将软体与特定语言及地区脱钩的过程。当软体被移植到不同的语言及地区时,软体本身不用做内部工程上的改变或修正。本地化则是指当移植软体时,加上与特定区域设置有关的资讯和翻译文件的过程。
国际化和在地化之间的区别虽然微妙,但却很重要。国际化意味着产品有适用于任何地方的“潜力”;在地化则是为了更适合于“特定”地方的使用,而另外增添的特色。用一项产品来说,国际化只需做一次,但在地化则要针对不同的区域各做一次。这两者之间是互补的,并且两者合起来才能让一个系统适用于各地。
基于他们的英文单字长度过长,常被分别简称成i18n(18意味著在“internationalization”这个单字中,i和n之间有18个字母)及L10n。使用大写的L以利区分i18n中的i和L10n中的1。
在如微软及IBM等企业中,则会使用全球化(globalization)来表示此两者的合称。[1][2]在英文中,也会使用g11n做为简称。也有使用缩写GILT(globalization、internationalization、localization和translation),即“全球化、国际化、在地化和翻译”[3]。
范围
国际化与本地化工作的焦点包括:
- 语言
- 文化
- 书写习惯
- 产品和服务所要面向的法规
只属于本地化的主题有:
困难
开发软件时,国际化和本地化对开发者是一个有挑战性的任务,特别是当软件当初设计时没有考虑这个问题时。通常作法是将文本和其他环境相关的资源与程序代码相分离。这样在理想的情况下,应对变化的环境时无需修改代码,只要修改资源,从而显著简化了工作。
开发团队需要人了解其他语言和文化;而这样的人才,可能难以寻觅。而且资源的复制也可能成为维护恶梦。例如,如果某个语言中显示给用户的信息变化了,其他的翻译版本都要随之变化。Gettext之类软件库有助于解决这一问题。
自由软件自由地修改和再分发,因此比较容易国际化,例如KDE拥有70个语言版本。然而大多数专有软件只提供商业上有利可图的语言版本。
区域设置(locale)
计算机中一套定义用户的语言、国家和用于定义用户希望在其用户界面上看到的各种可以改变的选择的参数集合。通常一个 locale 标识符至少包括一个语言标识符和一个区域标识符。
在 UNIX 和 Windows 中,locale 的控制是不同的。在 UNIX 下,通常通过环境变量来控制 locale。这些环境变量包括:LANG
, LC_ALL
, LC_CTYPE
, LC_TIME
, 等等。你可以通过改变这些环境变量来控制你的程序或者命令所表现出来的 locale,前提是这些程序或者命令必须是已经被国际化的和本地化的。在 Windows 下,你可以通过改变控制面板上的“语言/区域”中的区域的值来设定 Windows 的当前用户的 locale。
参见
参考文献
- ^ IBM Globalization web site. [2008-07-17]. (原始内容存档于2016-03-31).
- ^ Microsoft Globalization Step-by-Step Guide. [2008-07-17]. (原始内容存档于2008-07-24).
- ^ 王均松. 本地化行业术语GILT核心概念考. 中国科技术语. 2017, 19 (1): 56–58 [2018-10-11]. (原始内容存档于2020-11-14).