在Spring项目中的Resource目录中创建国际化资源文件:
Resource/i18n/message.properties 默认的配置
user.login.user_not_exist=用户不存在
Resource/i18n/message_zh_CN.properties 中文配置
user.login.user_not_exist=用户不存在
Resource/i18n/message_en_US.properties 英文配置
user.login.user_not_exist=user not exist
其他语言的国际化文件的命名也需遵循java.util.Locale类中关于地区的定义,如日本Resource/i18n/message_ja_JP.properties
在Idea中可以使用Resource bundle editor插件来编辑properties文件
将ResourceBundleMessageSource对象交给Spring容器管理
@Configuration
public class Config {
@Bean
public ResourceBundleMessageSource resourceBundleMessageSource(){
ResourceBundleMessageSource resourceBundleMessageSource = new ResourceBundleMessageSource();
resourceBundleMessageSource.setBasename("i18n/message");
resourceBundleMessageSource.setDefaultEncoding("UTF-8");
return resourceBundleMessageSource;
}
}
使用
@Resource
ResourceBundleMessageSource resourceBundleMessageSource;
@Test
public void testI18n(){
String key = "user.login.user_not_exist";
String message = resourceBundleMessageSource.getMessage(key, null, Locale.CHINA);
String messageUS = resourceBundleMessageSource.getMessage(key, null, Locale.US);
System.out.println(message);
System.out.println(messageUS);
}