史上最佳springboot Locale 国际化方案
1、国际化资源
使用IDEA创建资源组




2、编写配置
application.yml 增加国际化目录配置

增加配置类 从请求头获取多语言关键字
/**
* 国际化配置
*
* @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 等

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 国际化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java线程池队列LinkedTransferQueue示例详解
这篇文章主要为大家介绍了Java线程池队列LinkedTransferQueue示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-12-12
实例化JFileChooser对象报空指针异常问题的解决办法
今天小编就为大家分享一篇关于实例化JFileChooser对象报空指针异常问题的解决办法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-02-02
java操作json对象出现StackOverflow错误的问题及解决
这篇文章主要介绍了java操作json对象出现StackOverflow错误的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-06-06
springcloud本地调试feign调用出现的诡异404问题及解决
这篇文章主要介绍了springcloud本地调试feign调用出现的诡异404问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03
使用Java和SpringBoot实现服务器发送事件(Server-Sent Events)
使用Java开发web应用,大多数时候我们提供的接口返回数据都是一次性完整返回,有些时候,我们也需要提供流式接口持续写出数据,以下提供一种简单的方式,本文给大家介绍了如何在Java web中实现服务器发送事件,需要的朋友可以参考下2024-02-02


最新评论