【Java】SpringBoot+Freemarker 国际化的问题
问题描述
现在有个需求,在后台管理可以切换系统的语言,而不是说根据用户所在的区域而自动选择。有点类似于Wordpress的那个语言选择,如图:
图片来源:https://www.wpdaxue.com/admin...
自己尝试过哪些方法
在网上查了一圈,都是根据用户所在区域或者浏览器的语言而自动切换,现在需要的是,用户设置之后,一直保持这个语言的状态,也就是说在任何地方都是这个语言。保存用户设置已经做好了,用的key-value来存储的,也就是说,可以加个language为key的数据。
回答
页面是Freemarker render出来的吗?如果是的话,所有模板中的需要多语言的文字,在翻译时,不要按照系统locale来,而按照你存在key-value里的language来翻译就可以了,因为这个使用非常频繁,通常会缓存下来,直到下次修改语言的时候再刷新下。
如果这个语言设置是每个登录用户独立设置的,则还需要把这个语言设置存在当前用户的设置里,也就是翻译时要先去当前登录用户,再根据当前登录用户查到用户设置的语言。
以上是 【Java】SpringBoot+Freemarker 国际化的问题 的全部内容, 来源链接: utcz.com/a/90010.html