我创建了一个简单的Spring Boot应用程序,它将消息输出到stdout。这是主要的课程:
@SpringBootApplication
public class I18nTestApplication {
public static void main(String[] args) {
final ApplicationContext ctx = SpringApplication.run(I18nTestApplication.class, args);
final Locale locale = Locale.US;
System.out.println(ctx.getMessage("test", null, locale));
}
}
资源文件夹包含两个消息文件:
messages.properties:
test=This is English
messages_de.properties:
test=Das ist Deutsch
预期的程序输出为:This is English
但始终打印Das ist Deutsch
作为输出。即使我设置了任何语言环境,程序也始终将德语消息打印为输出。这里发生了什么?我犯了错误吗?
答案 0 :(得分:2)
根据您的个人资料页面中的姓名和位置,我假设您的系统区域设置为德语。
用于查找适当资源包的算法基本上在
中the documentation中的更多信息。
提供一个名为messages_en.properties的文件(甚至为空:然后在父包中查找密钥),这将按预期工作。