有点小纠结,
客户端的国际化,如果在服务器端实现,那么客户端就不用管任何事情了,所有的调用接口就行了,当有需要改一些提示语的时候,直接改后台就行了,不用让客户端再去升级,当时这样的话,后台压力就很大,文案这种东西老是会修改的,后台会很崩溃。
如果放在客户端实现国际化,服务器只用给对应的错误码,客户端根据错误码翻译成对应的提示语,这样后台就不用经常去改了,但是如果要改提示语,客户端又得去升级,真是纠结啊。~
有哪些大神,支支招~~~
6 回答
慕码人2483693
TA贡献1860条经验 获得超9个赞
1)资源的变更内容保存到服务器端
2)客户端只根据客户端的选择显示对应的语言
3)客户端最下化下载相应地语言资源包到本地,显示内容
4)在需要升级的时候发送通知给客户端,客户端下载对应的资源包到本地再解析,没有必要升级整个客户端
5)功能性的变更需要升级客户端那就另论了
翻阅古今
TA贡献1780条经验 获得超5个赞
我们是服务端和客户端都做。
服务端的好理解,就是读取文件,输出到缓存里面。
其实客户端也类似,只不过需要服务端配合,我们是客户端有一个js文件请求 /xxx/i18n.js 这个文件是服务端输出的 map 数据结构,在页面上或者 js 代码中配合一些类库(比如 Handlebars helper, I18nJs)来输出语言信息。
UYOU
TA贡献1878条经验 获得超4个赞
常改的东西 : 客户端检测系统语言发送Accept-Language,服务器端根据客户端发送的Accept-Language返回错误信息文本,要注意编码问题
不常改的东西 : 写死
一般来说错误信息什么的不常改...如果是更复杂的,很多都是Webview吧?例如各种音乐客户端那种,如果是可以离线使用的应用,可以考虑定期更新语言文件的方式,也没多大,不然断网了...
添加回答
举报
0/150
提交
取消