本文主要实现的功能:
在resource下创建国际化文件
spring.messages.basename=messages
如果是多个源的话,用","相隔即可。
spring.messages.basename=messages,xxx,xxxx,xxxx
public class i18nconstant { /** * 一个例子 */ public static final string text = "devicesummary.device.type.name"; }
对应分别在三个国际化(默认、中文、英文)中加入devicesummary.device.type.name对应转换的语言
@autowired private messagesource messagesource; string msg = messagesource.getmessage(i18nconstant.text, null, locale);
locale locale1 = localecontextholder.getlocale(); // 当前request locale locale2 = requestcontextutils.getlocale(request); // 指定request locale.getlanguage() //获取当前语言
@bean public localeresolver localeresolver() { sessionlocaleresolver sessionlocaleresolver = new sessionlocaleresolver(); sessionlocaleresolver.setdefaultlocale(locale.china); return sessionlocaleresolver; }
@bean public localechangeinterceptor localechangeinterceptor() { localechangeinterceptor lci = new localechangeinterceptor(); lci.setparamname("lang"); return lci; } @override public void addinterceptors(interceptorregistry registry) { registry.addinterceptor(localechangeinterceptor()); }
url中通过参数lang就可以切换到不同语言。比如:http://localhost:8080/hello.html?lang=zh
如对本文有疑问, 点击进行留言回复!!
网友评论