1.在application.properties文件下配置国际化文件路径
spring.messages.basename=i18n.login
2.配置国际化文件
2.1 在resources目录下创建i18n路径
2.2 配置默认文件login.properties
user=用户|ユーザー
pass=密码|パスワード
2.3 配置中国区文件login_zh_CN.properties
user=用户
pass=密码
2.3 配置日本区文件login_ja_JP.properties
user=ユーザー
pass=パスワード
3.配置区域解析
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.springframework.context.annotation.Bean;
import org.springframework.util.StringUtils;
import org.springframework.web.servlet.LocaleResolver;
import java.util.Locale;
public class MyLocalResolver implements LocaleResolver {
/**
* 解析请求
*/
@Override
public Locale resolveLocale(HttpServletRequest request) {
//获取请求参数
String lang = request.getParameter("l");
//如果没有就用默认的
Locale locale = Locale.getDefault();
//如果请求链接携带了国际化的参数
if (!StringUtils.isEmpty(lang)){
//zh_CN
String[] split = lang.split("_");
//国家,地区
locale= new Locale(split[0], split[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
}
/**
* 自定义国际化主键就生效了
*/
@Bean
public LocaleResolver localeResolver(){
return new MyLocalResolver();
}
}
注:浏览器访问页面默认以浏览器语言为标准,如需要切换语言,需自己编写切换语言逻辑