使用弹簧靴进行国际化。默认消息

Posted

技术标签:

【中文标题】使用弹簧靴进行国际化。默认消息【英文标题】:Internationalization with spring boot. Default messages 【发布时间】:2018-05-09 19:18:38 【问题描述】:

我想以用户理解的语言在我的页面上提供文本。 因为我不会说世界上所有的语言,而且我不太信任谷歌翻译;)我想使用默认语言。

我认为我可以在 messages_en.properties 或 messages_de.properties 中提供我知道的每种语言,对于我没有像这样提供的每种语言,都使用默认的 messages.properties。

事实证明并非如此。 这两种明确提供的语言确实可以按预期工作,但是如果我在将浏览器语言设置为波兰语时尝试访问我的网站,它会显示德语而不是我的messages.properties 中使用的英语。

我没有做任何特定的配置来使用国际化。我只是使用 thymeleaf-starter 并通过 th:text="#my.property" 引用我的消息

我是否必须进行任何配置才能使 messages.properties 成为默认值?

【问题讨论】:

docs.spring.io/spring-framework/docs/current/javadoc-api/org/… 谢谢 ;) 在我问这个问题一分钟后才发现。抱歉,有时我只是尝试在 *** 中明确地表述我的问题,以使我自己更清楚。希望答案能帮助其他人更快地找到解决方案:) 没问题。我赞成你的回答。这种技术众所周知:en.wikipedia.org/wiki/Rubber_duck_debugging 【参考方案1】:

好的,我刚刚发现问题出在哪里。

有一个属性spring.messages.fallback-to-system-locale,默认为true。这就是为什么德语消息被选为未知语言的原因。 将其设置为 false 时,默认为 message.properties。

【讨论】:

以上是关于使用弹簧靴进行国际化。默认消息的主要内容,如果未能解决你的问题,请参考以下文章

弹簧靴中的 SSEemitter vs Flux

带有弹簧靴的百里香叶缓存

使用弹簧靴时出现403,但与邮递员配合良好[重复]

使弹簧靴和角度应用程序之间的模型保持同步。备择方案?

带sitemesh的弹簧靴

弹簧靴总是使用相同的配置文件