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中添加

 

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

 

posted @ 2021-01-03 21:13  Yaoyaoo  阅读(175)  评论(0)    收藏  举报