国际化支持概念与理解

上传人:鲁** 文档编号:508441342 上传时间:2024-03-02 格式:DOC 页数:3 大小:128KB
返回 下载 相关 举报
国际化支持概念与理解_第1页
第1页 / 共3页
国际化支持概念与理解_第2页
第2页 / 共3页
国际化支持概念与理解_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《国际化支持概念与理解》由会员分享,可在线阅读,更多相关《国际化支持概念与理解(3页珍藏版)》请在金锄头文库上搜索。

1、国际化支持概念与理解国际化支持Globalization(G11N)首先明确G11N的概念划分,只有一个公式:|G11N=I18N+L10N其中I18N指的是internationalization,L10N指的是localization。其实i18n和110n区别还是挺大的,i18n更多指的是在编程技术上支持产品实现国际化,而110n则指的是本地化相关,包括翻译质量等等这些。将这两点划分开才能更好地理解国际化支持的内容。i18n支持定义首先在做java国际化支持分析之前,先给出我司关于i18n支持程度的一个定义:,level1:输入输出产品安装相关,包括键盘输入法、路径等等level2:与l

2、ocale相关的,比如日历,日期,数字格式,排序,currency等level3:就是指的string抽取,以及layout显示相关。三者并没有上下级层级关系,而是并行的。区分i18nsupportedlocales和l10nsupportedlocales明确了i18n和l10n的各自概念范围,那么就有一个问题了,这两者所对应的支持locale是否是一致的呢?这个大概公说公有理婆说婆有理吧,但是明确这两者的区别还是蛮重要的,如下图所示:L=vel3tmeforma:numb-ErbmiEtI珈ircjrrecysortng*/1sungErler-alLamondateformal可以看出,

3、i18nsupportedlocales影响的是level2的支持范围,而l10nsupportedlocales则影响的是level3在很多情况下,由于产品的市场覆盖和预算要求,只能支持部分locale的本地化,但是产品又希望在英文的产品界面下,的用户有比较友好的展示,比如日历和数字等等,这种情况下,两个localesupport的集合就有了不一致。但并非所有的产品经理都觉得在rr=F;IIharkIIIr=vf;llh3rtoral7prfimans1?英文页面上展示非英文的数字格式等是合理的需求,所以此时两者的取值集合是一致的。持范围。够对其他localeInraliysrlia叶wri

4、finrrirprti-n总的来说,虽然两个localeset的取值集合可能会一致,但是从概念的角度来说,还是应该明确地区分,同时也建议程序员在设计i18nframework的时候,将两者分开,以保留更多的灵活度,当然,由于分开的设计也可能会引入各自localefallback行为的不一致,这一点会在后面详细讨论。locale解析在此之前在locale被解析之前,有一些规范化的工作可能会有必要,譬如说locale字串本身的格式化和locale的定制化映射,具体取决于所用的编程语言和技术框架,例如java就无需这些处理,但是比如extjs可能就需要开发人员特殊注意。locale规范化包括两个方面

5、:1) locale字串大小写2) 下划线还是短横线:dashvsunderscore?定制映射表譬如extjs无法处理一些常见的locale映射,例如:zh-Hant-TW-zh-TWzh-Hans-CN-zh-CN因此在这种情况下,可能需要将locale进行映射,拿到映射的locale进入下一步的解析工作。其实本质上这个定制的映射表也就是一种localefallback行为的定义。localefallback这一节是我比较不喜欢的章节localefallback我个人还是比较喜欢java的fallback行为的,定义的很清晰很规范,因此在这里我也主要讲一下java的fallback机制吧。

6、在搞明白java的fallback机制之前,首先要了解locale的格式组成。localelocale的BCP47标准BasicBCP47LanguageTagStructureScript:Greek站Language:GreekExlensfonrUnicodelocals-Greekfewercasenumerals可见一共可以由下面几个部分:LanguageScriptCountry(region)VariantExtensionsPrivateUse常见的locale大概就到variant就很长了以zh-Hans-CN为例,zh就是language,Hans就是script,CN就是

7、country(region)部分了。结构直接用L-S-C-V代表了比较简洁明了Javalocalefallback机制知道了LSCV,后面就非常简单啦就是一个rule+2个特例:个rule是指:FirstkeepL&S,removeV,Cinorder;ThenletS=NULL,RemoveV,Cinorder.L-S-C-VL-S-CL-SL-C-VL-CL两个特例是指zh-cn/zh-tw和另外一个norwegian的语言,如下。L(“zh”),S(“Hant”),C(“TW”)L(“zh”),S(“Hant”)L(“zh”),C(“TW”)L(“zh”)norwegian:L(“I,5nb”),C(NO”),V(“POSIX”)L(no”),C(NO”),V(“POSIX”)L(nb”),C(“NO”)L(no”),C(“NO”)L(nb”)L(no”)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号