系统国际化设计方案

系统国际化设计方案

在经济全球化的驱动下,系统的国际化成为了系统各项能力形态中至关重要的一种形态。下面简单就国际化的业务以及实现提供几种思路供参考,其中部分已经在产品中进行了验证。

 

一、国际化设计要点之业务需求

 

1、首先描述业务场景:

1.1、用户通过当前的语言环境自动的选择界面展示的语种;

1.2、管理人员在录入相应的基础数据(包括物料、字典等信息)时,可以选择对应的语种进行录入,但是界面展示还是自动的语种;

1.3、系统提示信息同样需要符合当前语种;

1.4、导出的表单等模板内容也需要做相应的多语言版本。

2、针对基础数据,需要在录入界面选择多语种;针对业务流程,只需要正常显示当前语种即可。

3、基础数据分为两种: 一种为页面显示的标签数据;一种为业务相关的基础数据;

业务数据也分为两种:一种为不变的业务数据,主要为用户录入的信息,正常显示;一种为可变的业务数据,主要为与语言变化相关的日期货币等数据;

4、编码过程中的注释暂时不用考虑,但是日志、异常、提示信息需要考虑国际化。

5、通用的国际化设计需要考虑的点:

多语言:界面多语言、数据多语言

数据格式:国家、地区、时间、地址、货币

多币种:公司本位币、集团本位币、全球统一币种

多时区:UTC、多时区协同应用、多时区业务处理

多会计制度:多账簿机制、支持中国、GAAP多会计制度

多支持本地化:分层设计机制:客户级、伙伴级、行业级、本地化级、领域级

6、目前针对多语言的分析,基于文字的多语言主要体现在系统界面、数据库、输出等

系统界面:多语言*切换、或者固化配置(按角色等);

数据库:多种语言、字符集;

输出:制作标准的模板,对于头部需要进行多语言化,具体内容不用调整;

其他:后台管理配置的动态数据、服务端渲染的静态的文字、js渲染的静态文字、静态的图片。

7、制定明确的角色功能清单,示例如下:

系统国际化设计方案

 

二、国际化设计方案

 

1、采用资源文件的方式

在*.properties文件中设置语言字典

在代码片段中通过语种信息获取资源。

2、当采用的资源文件较大时,采用缓存的形式

通过命名空间以及key值,确定唯一的value;

定义FileUtil文件,遍历所有的资源文件,分类定义,分别存放于不同的map对象中。

 

点评: 方法1、2 的优点在于处理简单,但是缺点很明显,如果涉及的多语言的长度不一致,会导致页面样式混乱。

 

3、针对不同的语种对不同的页面编制多套;从浏览器、系统设置等优先级进行识别,在controller层进行跳转时对所有的页面添加语言标识并跳转。

4、按照微服务的架构,可以采用统一配置的方式,对资源文件进行统一配置管理,服务可以调用后直接渲染前端。

5、前端的静态内容可以分两类方式实现: 一种采用资源文件的方式,一种采用数据字典表存储的方式。

6、后台涉及的业务数据的国际化,需要采用多表进行保存??

 

点评:建议采用单表保存所有的国际化字典数据,然后通过ID以及语言标识来进行检索。

 

个人网站:文凡小筑(http://www.wenfans.com)同步发布,敬请关注。