springboot项目的国际化相关问题
1.确保你的idea都是utf-8编码:

2.在resources下新建i18n文件夹,并在里面创建如下两个文件,创建完了之后他会自动合并的。

另外(这样也可以添加):


3.
上述应该在login——en——US中编辑,虽然说在哪个里面编辑都无所谓,但是我这里后续是这样,抱歉
我们继续:
在login——en——US中编辑完之后就可以在login.properties中看到:

接着在login_en_US中继续编辑:

然后我们再分别查看一下login.properties,login_zh_CN.properties和login_en_US.properties的内容



接下来,我们把剩下的匹配完:

4.我们打开MessageSourceAutoConfiguration这个类



5.写application.properties

6.在你的前端html中去添加和修改:




注意这里button默认是value
但是上述我改的效果不太好,做出了调整:



然后在这里去改变这个lang的值就可以得到相应的:
但是这个往往只是前端改变了,但是还是不可以的。
7.实现前端界面可以实现中英文切换
7.1更改前端页面的a标签

7.2在config下创建它,并编写如下代码

package com.yao.config; import org.springframework.web.servlet.LocaleResolver; import org.thymeleaf.util.StringUtils; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Locale; public class MyLocaleResolver implements LocaleResolver { //解析请求 @Override public Locale resolveLocale(HttpServletRequest request) { //获取请求中的语言参数 String language = request.getParameter("l"); //如果没有就使用默认的 Locale locale = Locale.getDefault(); //这里是spring的一个工具类 //如果请求的连接携带了国际化的参数 if(!StringUtils.isEmpty(language)){ //zh_CN String[] split = language.split("_"); //国家,地区 locale = new Locale(split[0],split[1]); } return locale; } @Override public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) { } }
7.3在MyMvcConfig中添加

最后访问页面就大功告成了


浙公网安备 33010602011771号