应用国际化(1) _JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 应用国际化(1)

应用国际化(1)

 2019/1/8 15:37:41  hbxflihua  程序员俱乐部  我要评论(0)
  • 摘要:最近在做数字资产交易所的项目,项目已经趋于稳定,下一步是提供国际化支持。接下来我来讲讲国际化需要考虑哪些问题?国际化如何落地?文章仅代表个人观点,欢迎留言拍砖。应用国际化需要考虑的问题:1、前后端分离,方便国际化;2、国际化语言如何切换?3、数据库层面的国际化支持;4、提示语的国际化支持;一、前后端分离前后端分离的好处这里就不多讲了。前后端分离后,可以通过改变目录结构(如/zh代表切换到中文环境,/en代表切换到英文环境等)来进行国际化语言的切换,这个完全可以通过前端来做,后端不用做调整;二
  • 标签:

最近在做数字资产交易所的项目,项目已经趋于稳定,下一步是提供国际化支持。接下来我来讲讲国际化需要考虑哪些问题?国际化如何落地?文章仅代表个人观点,欢迎留言拍砖。

?

应用国际化需要考虑的问题:

1、前后端分离,方便国际化;

2、国际化语言如何切换?

3、数据库层面的国际化支持;

4、提示语的国际化支持;

?

一、前后端分离

? ? ? ? 前后端分离的好处这里就不多讲了。前后端分离后,可以通过改变目录结构(如/zh?代表切换到中文环境,/en代表切换到英文环境等)来进行国际化语言的切换,这个完全可以通过前端来做,后端不用做调整;

?

二、国际化语言切换

? ? ? ? 国际化语言切换需要通知到后端,好让后端返回该语言对应的响应报文。前后端开发人员在第一次会议讨论时,定下通过在url中加入语言标识(如language)来进行处理,每个接口都需要添加语言标识的参数。这个改动不是一般的大。

? ? ? ? 第一版我直接在后台加了一个Interceptor,通过拦截url中的语言标识参数来获取当前语言环境,并将该语言标识保存在ThreadLocal中。

? ? ? ? 后来我参考了亚马逊国际站的做法:将语言标识放在cookie。前端每次在切换语言时,url中带上语言标识参数,后端添加语言切换Filter,每次切换语言时,将该语言标识存储在cookie中。

?

三、数据库层面的国际化支持

? ? ? ? 因为交易所本身的特性,数字资产本身不含有语言环境的特性(比如名称、描述等等),所以业务表不需要做国际化的处理,但是有些地方,比如栏目、文章、系统参数、字典、短信模板等是需要做国际化处理的。

? ? ? ? 这里简单分成两种:全部数据国际化支持(如栏目、文章、短信模板)和部分数据国际化支持(如系统参数、字典等);

? ? ? ? 对于需要全部数据国际化支持的表,添加一个语言标识列,查询时带上这个语言标识参数即可。

? ? ? ? 对于部分数据需要国际化支持的表,如果表中有标识(或者编码)列时,在标识列添加语言标识后缀(如果没有标识列,建议添加一列);

?

四、提示语的国际化支持

? ? ? ? 在后端支持国际化语言切换后,提示语的国际化就简单多了,直接通过i18n实现。

?

本篇介绍到这里,下一篇介绍后端实现。

  • 相关文章
发表评论
用户名: 匿名