在Spring项目中的Resource目录中创建国际化资源文件:

Resource/i18n/message.properties 默认的配置

  1. user.login.user_not_exist=用户不存在

Resource/i18n/message_zh_CN.properties 中文配置

  1. user.login.user_not_exist=用户不存在

Resource/i18n/message_en_US.properties 英文配置

  1. user.login.user_not_exist=user not exist

其他语言的国际化文件的命名也需遵循java.util.Locale类中关于地区的定义,如日本Resource/i18n/message_ja_JP.properties

在Idea中可以使用Resource bundle editor插件来编辑properties文件

将ResourceBundleMessageSource对象交给Spring容器管理

  1. @Configuration
  2. public class Config {
  3. @Bean
  4. public ResourceBundleMessageSource resourceBundleMessageSource(){
  5. ResourceBundleMessageSource resourceBundleMessageSource = new ResourceBundleMessageSource();
  6. resourceBundleMessageSource.setBasename("i18n/message");
  7. resourceBundleMessageSource.setDefaultEncoding("UTF-8");
  8. return resourceBundleMessageSource;
  9. }
  10. }

使用

  1. @Resource
  2. ResourceBundleMessageSource resourceBundleMessageSource;
  3. @Test
  4. public void testI18n(){
  5. String key = "user.login.user_not_exist";
  6. String message = resourceBundleMessageSource.getMessage(key, null, Locale.CHINA);
  7. String messageUS = resourceBundleMessageSource.getMessage(key, null, Locale.US);
  8. System.out.println(message);
  9. System.out.println(messageUS);
  10. }