软件国际化设计指南

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件国际化设计指南

1 前台应用层国际化

1.1每种语言开发一套单独的应用前台

优点:

前台界面的排版比较灵活,不同语系的排版效果可灵活变动;

缺点:

由于每种语言就是一套单独的前台系统,开发和维护的工作量比较大,新增一种语言的成本相对很高;

1.2 各种语言共用一套前台

采用资源文件的方式,将前台界面上的所有文字标签分语种分别存放,访问时通过不同的Locale取得相应的语言文字。

优点:

由于多种语言公用一套前台系统,开发和维护工作量相对较小,一旦开发完成,增加一种语言的成本很小;

缺点:

为了使多种语言共用一个版式,界面排版可能会相互影响;

注意事项:

页面、编译开发环境字符集均需要设为UTF-8;

技巧:

1) 用户没有选择语言区域时,以其操作系统中的语言和区域设置为准;

2) 一旦用户选择或更改了语言区域,则记住其选择,对本次会话和以后的会话均

使用该语言(需Cookie支持);

3) 资源文件名可与请求的url地址匹配,减少获取资源字符串时的代码量;

4) 对前台显示部分,国际化标签可采用自定义标签方式(Taglib)输出;

2后台数据层国际化

2.1 每种语言使用不同的数据

即每种语言使用一套单独的数据(单独的数据库或数据库Schema)。

优点:

技术上,由于表结构不需要设计多语言子表,大大减少了关联,插入、更新和查询过程简单,执行效率更高;

缺点:

由于数据是分离的,对资源(如限额)和其他数据(如价格等)的集中控制比较困难;

开发和维护的工作量比较大;

2.2 各种语言使用同一套数据,设计多语言子表

对含有国际化字段的表设计多语言子表,其中存放各种语言的数据。

优点:

由于多种语言公用一套数据,开发和维护工作量相对较小,一旦开发完成,新增一种语言很便捷;

数据集中,可以统一掌控产品和资源

缺点:

开发和维护的复杂性增大,查询关联增多,插入、更新成为多表操作;

注意事项:

1) (Oracle)数据库中国际化相关信息字段需采用nvarchar2类型;

2) 对于可能含有多语言的字段无法设计冗余字段;

3) 插入、更新的实现不再是简单的单条语句,需要增加判断,多表操作;

2.3各种语言使用同一套数据,且无需多语言子表

每条数据记录只存放一种语言的记录,但整个表中可存放多种语言的记录。

优点:

兼有2.1和2.2的优点;

缺点:

有一定局限性,见注意事项2);

注意事项:

1)(Oracle)数据库中,对于可能存放多种语言的字段,需采用nvarchar2类型;

2) 每条数据库记录只供一个国家或区域使用,不考虑一条记录多种语言共用

的情况。例如,对于一个旅游产品,只在特定的某个语言区域销售,不考虑同时在

两个或两个以上的语言区域销售,此种情况只要应用和数据库采用unicode字符集

即可满足要求,不需要设计多语言子表;

3 组合方案

可根据具体的应用特点,灵活组合(1.1、1.2)和(2.1、2.2、2.3),产生不同的解决方案。

参考意见:

只需要做前台标签国际化的情况:

1、没有需要国际化的后台数据;

2、需要国际化的后台数据相对固定(如城市、机场…),可把这些数据通过资源文件进

行配置;

相关文档
最新文档