服务器之家

服务器之家 > 正文

史上最佳springboot Locale 国际化方案

时间:2021-11-10 13:11     来源/作者:疯狂的狮子Li

 

1、国际化资源

使用IDEA创建资源组

史上最佳springboot Locale 国际化方案
史上最佳springboot Locale 国际化方案
史上最佳springboot Locale 国际化方案
史上最佳springboot Locale 国际化方案

 

2、编写配置

application.yml 增加国际化目录配置

史上最佳springboot Locale 国际化方案

增加配置类 从请求头获取多语言关键字

/**
 * 国际化配置
 *
 * @author Lion Li
 */
@Configuration
public class I18nConfig {

	@Bean
	public LocaleResolver localeResolver() {
		return new I18nLocaleResolver();
	}

	/**
	 * 获取请求头国际化信息
	 */
	static class I18nLocaleResolver implements LocaleResolver {

		@NotNull
		@Override
		public Locale resolveLocale(HttpServletRequest httpServletRequest) {
			String language = httpServletRequest.getHeader("content-language");
			Locale locale = Locale.getDefault();
			if (StrUtil.isNotBlank(language)) {
				String[] split = language.split("_");
				locale = new Locale(split[0], split[1]);
			}
			return locale;
		}

		@Override
		public void setLocale(@NotNull HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {

		}
	}
}

 

3、用法详解

在 Header 请求头 增加上下文语言参数 content-language
参数需与国际化配置文件后缀对应
如 zh_CN en_US 等

史上最佳springboot Locale 国际化方案

 

4、测试

编写测试类

/**
 * 测试国际化
 *
 * @author Lion Li
 */
@RestController
@RequestMapping("/demo/i18n")
public class TestI18nController {

	@Autowired
	private MessageSource messageSource;

	/**
	 * 通过code获取国际化内容
	 * code为 messages.properties 中的 key
	 *
	 * 测试使用 user.register.success
	 */
	@GetMapping()
	public String get(String code) {
		return messageSource.getMessage(code, new Object[]{}, LocaleContextHolder.getLocale());
	}
}

测试接口

史上最佳springboot Locale 国际化方案
史上最佳springboot Locale 国际化方案

到此这篇关于springboot Locale 国际化方案的文章就介绍到这了,更多相关springboot 国际化内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_40461281/article/details/119530634

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部