2016-02-13 56 views
0

将我的Spring Boot版本升级到最新版本时出现小问题。我的message.properties没有被检测到,并且国际化没有被加载,但是当我在版本1.3.0.RC1上运行时,一切正常,我的信息加载。我没有改变application.properties的内容或消息本身的位置。我在这个主题上做了大量的搜索,并且从来没有找到答案。我当前的application.properties如下所示:升级到最新版本时弹簧启动国际化不起作用

spring.thymeleaf.cache=false 
server.session.cookie.http-only=true 
spring.resources.cache-period=0 
spring.application.name=Cardinal 
spring.messages.basename=internationalization/base 
spring.mvc.locale=sv_SE 
spring.messages.fallback-to-system-locale=true 
spring.messages.encoding=UTF-8 
server.tomcat.uri-encoding=UTF-8 
spring.http.encoding.charset=UTF-8 
spring.thymeleaf.mode=HTML5 
spring.thymeleaf.encoding=UTF-8 

如您所见,它们位于名为internationalization的文件夹中,并且该文件具有base的前缀。我不知道该怎么做,并非常感谢你的帮助。祝你有一个美好的一天同修,并且可能代码永远对你有利。

+2

您是否依赖MessageSource的自动配置?如果是这样,现在必须启用一个名为'messages.properties'的文件来启用自动配置。我找不到这方面的发行说明,但我从这里的其他问题回忆起这个问题。如果您只有像“messages_sv.properties”这样的特定于语言环境的文件,那么您必须创建默认文件。 – dunni

+1

在发布公告中提到:https://spring.io/blog/2016/01/22/spring-boot-1-3-2-released。默认的messages.properties作为你没有特定翻译的地区的任何人的回退总是一个好主意 –

+0

啊哈,我明白了。我会测试这个,并且非常感谢你们。 –

回答

0

我设法在这个博客帖子https://spring.io/blog/2016/01/22/spring-boot-1-3-2-released和@Andy威尔金森我的消息组态提及具有默认messages.properties作为后备解决这个问题是这样的:

messages.properties:

index.page.title=Welcome 
page.brand=Cardinal 
signin.header=Please sign in 
signin.email.placeholder=Email 
signin.password.placeholder=Password 
signin.button.text=Sign in 
forgot.password.link.text=Forgot password 
rememberme.checkbox.text=Remember me 
navbar.header.loginbutton.text=Sign in 

messages_sv.properties:

index.page.title=Välkommem 
page.brand=Cardinal 
signin.header=Vänligen logga in 
signin.email.placeholder=E-postadress 
signin.password.placeholder=Lösenord 
signin.button.text=Logga in 
forgot.password.link.text=Glömt Lösenord? 
rememberme.checkbox.text=Kom ihåg mig 
navbar.header.loginbutton.text=Logga in 

和application.yml

server: 
    context-path: /Cardinal 
    session: 
    cookie: 
     http-only: true 
    tomcat: 
    uri-encoding: UTF-8 
    port: 8082 


spring: 
    thymeleaf: 
    cache: false 
    mode: HTML5 
    encoding: UTF-8 
    resources: 
    cache-period: 0 
    application: 
    name: Cardinal 
    messages: 
    basename: internationalization/messages 
    encoding: utf-8 
    mvc: 
    locale: sv_SE 
    http: 
    encoding: 
     charset: UTF-8 
debug: true 

希望这可以帮助有类似问题的人。