本文主要描述在SpringBoot项目的后端增加国际化的支持。
1. 在src/main/resources目录下新建i18n目录并在该目录下增加国际化文件。其中,目录i18n可选且目录名可以自定义。国际化文件的文件名为messages.properties,该文件为默认的语言文件,当需要增加对其他语言的国际化支持时,需要增加对应语言的国际化文件。例如添加对中文的支持时,文件名为messages_zh_CN.properties,其他语言可仿照该格式添加。
2. 国际化文件中的内容为key-value格式,key在各个国际化文件中一致,value的值为对应语言展示的内容。value中可以带有位置参数,如:
test.value=国际化测试{0}
3. SpringBoot国际化文件中增加国际化的配置项:
spring.messages.basename=i18n/messages
其中,i18n和messages分别对应1中的i18n目录及国际化文件的名字。
4. 在需要添加国际化支持的bean中注入org.springframework.context.MessageSource的实例:
@Autowired
private MessageSource messageSource;
5. 通过如下方式获取国际化的字符串表示:
String i18nStr = messageSource.getMessage("test.value", argsArray, LocaleContextHolder.getLocale());
其中argsArray为字符串数组,test.value对应的key中的参数从该数组中取值;LocaleContextHolder.getLocale()获取当前线程所在上下文的地区信息。