springboot多语言国际化
时间: 2023-07-22 15:15:52 浏览: 105
Spring Boot 提供了一种简单的方式来实现多语言国际化,你可以使用 Spring Boot 的 MessageSource 和 LocaleResolver 接口来实现。
1. 在 application.properties 中添加以下配置:
```
spring.messages.basename=i18n/messages
```
其中 i18n/messages 是资源文件路径,i18n 是 internationalization 的缩写。
2. 在 resources 目录下创建 i18n 目录,并在该目录下创建 messages.properties 和 messages_zh_CN.properties 文件。
messages.properties 文件中定义了默认的英文语言翻译,messages_zh_CN.properties 文件中定义了中文翻译。
3. 在 Controller 中使用 MessageSource 和 LocaleResolver 接口获取对应语言的翻译信息。
示例代码:
```
@RestController
public class GreetingController {
@Autowired
private MessageSource messageSource;
@Autowired
private LocaleResolver localeResolver;
@GetMapping("/greeting")
public String greeting() {
Locale locale = localeResolver.resolveLocale(request);
return messageSource.getMessage("greeting.message", null, locale);
}
}
```
其中 "greeting.message" 是要翻译的信息的 key,null 是参数,locale 是当前语言环境。
4. 在前端页面中使用 thymeleaf 标签来显示翻译信息。
示例代码:
```
<h1 th:text="#{greeting.message}"></h1>
```
其中 #{greeting.message} 是 MessageSource 中配置的 key。
通过以上步骤,你就可以在 Spring Boot 应用中实现多语言国际化了。
阅读全文