软件的国际化与本地化

“软件的国际化”(Internationalization,即i18n)是设计或转换已有程序以使其能在不同“地方”(Locale)使用的过程;“软件的本地化”(Localization,即l10n)是针对一个特定“地方”对程序资源进行定制的过程。

软件的地方特性包含:语言文字、日期/时间格式、界面表现风格、软件使用方式和多媒体应用形式等。

语言文字是主要的地方特性。语言文字有多种划分:单字节编码的和双字节编码的;罗马字符集的和非罗马字符集的;阿拉伯顺序的和非阿拉伯顺序的,等。

软件国际化的过程是:

1)确定“特性”集合(S_set,即Speciality Set)和“地方”集合(L_set,即Locale set)

2)建立不同的“    地方特性”集合(LS_set,即Locale Speciality Set),组成软件的“国际化特性集合”(I_set,即Internationalization Set):

        I_set = { LS_set | LS_set = { SL | SL =  f ( S , L ) , S属于S_set,L属于L_set  }  }

3)用以下一种或多种方式设计/实现/发布软件产品:

(1)“编码时替换”,即:在设计/实现软件时对国际化方面不做过多考虑,当软件完成时,再将最终产品中的地方特性分别替换成不同地方版本的源码,分别编译/生成/发布不同地方版本的执行代码。

(2)“构造时联结”,即:软件引用封装地方特性的对象,它们可由操作系统、开发平台或开发者提供不同地方的实现版本,当编译/生成最终产品时,分别连接这些对象不同地方版本的实现以分别生成不同地方版本的执行代码,分别发布。

(3)“运行时选择”,即:软件元素的多种地方版本被同时实现/发布在同一可运行代码中,由用户或软件来选择该元素的不同地方版本。

易扩展性(即:使软件支持一个新地方的难易程度)是衡量软件在国际化方面设计和实现的重要质量因素。基于UNICODE(统一字符编码)的软件可以避免支持双字节编码语言时遇上的麻烦。

在特定环境下,一些未经国际化的软件亦可部分实现本地化,如:在线翻译工具对“语言敏感”代码的自动映射、操作系统对日期/时间格式的自动替换、标准系统调用提供的本地化窗口等。

对于开发工具/环境,地方化包括两个方面:

1)对应用开发者,工具/环境本身是否能表现某一地方特性

2)对应用使用者,开发者是否能利用工具/环境开发出表现某一地方特性的应用

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wfliu/archive/2006/01/20/585142.aspx

你可能感兴趣的:(语言,工具,开发工具,产品,localization)