最近在做数字资产交易所的项目,项目已经趋于稳定,下一步是提供国际化支持。接下来我来讲讲国际化需要考虑哪些问题?国际化如何落地?文章仅代表个人观点,欢迎留言拍砖。
应用国际化需要考虑的问题:
1、前后端分离,方便国际化;
2、国际化语言如何切换?
3、数据库层面的国际化支持;
4、提示语的国际化支持;
一、前后端分离
前后端分离的好处这里就不多讲了。前后端分离后,可以通过改变目录结构(如/zh 代表切换到中文环境,/en代表切换到英文环境等)来进行国际化语言的切换,这个完全可以通过前端来做,后端不用做调整;
二、国际化语言切换
国际化语言切换需要通知到后端,好让后端返回该语言对应的响应报文。前后端开发人员在第一次会议讨论时,定下通过在url中加入语言标识(如language)来进行处理,每个接口都需要添加语言标识的参数。这个改动不是一般的大。
第一版我直接在后台加了一个Interceptor,通过拦截url中的语言标识参数来获取当前语言环境,并将该语言标识保存在ThreadLocal中。
后来我参考了亚马逊国际站的做法:将语言标识放在cookie。前端每次在切换语言时,url中带上语言标识参数,后端添加语言切换Filter,每次切换语言时,将该语言标识存储在cookie中。
三、数据库层面的国际化支持
因为交易所本身的特性,数字资产本身不含有语言环境的特性(比如名称、描述等等),所以业务表不需要做国际化的处理,但是有些地方,比如栏目、文章、系统参数、字典、短信模板等是需要做国际化处理的。
这里简单分成两种:全部数据国际化支持(如栏目、文章、短信模板)和部分数据国际化支持(如系统参数、字典等);
对于需要全部数据国际化支持的表,添加一个语言标识列,查询时带上这个语言标识参数即可。
对于部分数据需要国际化支持的表,如果表中有标识(或者编码)列时,在标识列添加语言标识后缀(如果没有标识列,建议添加一列);
四、提示语的国际化支持
在后端支持国际化语言切换后,提示语的国际化就简单多了,直接通过i18n实现。
本篇介绍到这里,下一篇介绍后端实现。
相关推荐
国际化版本应用,国际化语言切换及系统配置应用。SPRINGMVC国际化代码应用。
java web应用国际化与分页 java web应用国际化与分页 java web应用国际化与分页
【eoeAndroid特刊】第五期:资源与应用国际化布 (其余《eoeAndroid特刊》请查阅我的资源列表) 1.源和资产(Resources and Assets) 2.Android 中可用的资源类型 3.Resources and Internationalization(资源和国际化)...
1. 国际化 国际化(internationalization),又称为i18n(因为这个单词从i到n有18个英文字母,因此命名)。对于某些应用系统而言,它需要发布到不同的国家地区,因此需要特殊的做法来支持,也即是国际化。通过国际化...
Qt应用程序国际化示例代码,包含静态加载和动态切换语言两种方式。
ios应用程序国际化,能实现语言切换,非常好用。
文档中介绍了Struts2中国际化的实现原理和使用方法,同时介绍了应用程序的国际化的实现思路和方法以及示例!
Struts 2 国际化应用
iOS国际化 应用内切换语言更新版
国际化与本地化的概念,Web应用的中文本地化,Struts框架对国际化的支持
设计Java EE应用程序-- J2EE应用程序国际化和本地化.doc
论人脸识别技术的国际化区域诉讼证据应用.pdf
Go 需要支持 i18n (国际化) 工具,但是现有的 Go 程序的国际化支持都比较冗长繁杂。i18n4go提供一个应用工作流进程 —— 从 Go 应用中提取字符串,合并他们到单个包(消除冗余),准备翻译,使底层代码容易接收他们...
android应用内和系统设置,两种设置多语言国际化。代码完整,包括切换简体,繁体中文和英文
Qt应用程序国际化工程示例
# 国际化(应用名称 文字 图片的国际化适应)附带参考链接在README.md中
本地化与国际化.zipIOS应用例子源码下载本地化与国际化.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考
iOS应用程序国际化 博客文章:http://blog.csdn.net/z251257144/article/details/8288028
能够支持多个国家或者地区的本地化应用,国际化的应用
为全面提高华北科技学院本科教育教学质量,推动教育信息化和教育国际化的建设,提出了"一体两翼双引擎"的教学发展思路,"一体"即全面提高本科教育教学质量,推进教育现代化;"两翼"即信息化、国际化;"双引擎"即抓基层、强...