Cristiano Longo
Cristiano Longo

Reputation: 21

fallback messege file in spring boot is always "en"

I configured my web application as indicated in https://www.baeldung.com/spring-boot-internationalization#localeresolver

with setting Locale.ITALIAN as default locale for LocaleResolver bean.

I have two message files:

However, labels defined in messages_en.properties, when exists. For example with setting locale via lang=es request parameter, messages in english are shown.

The expected behaviour, if I understand, should be that if lang=en, message_en.properties should be used, where as for all other languages messages in message.properties should be used.

Suggestions?

Upvotes: 2

Views: 728

Answers (1)

Jamven
Jamven

Reputation: 513

If you use the latest version of Spring Boot (2.5.3 at the moment), the tutorial isn't as up-to-date. For example, with the latest Spring you must do additional, but simple config to override LocaleResolver bean.

Depending of your implementation, you may need to add in the application.properties file the line spring.messages.fallback-to-system-locale=false or if you overridden the "messageSource" bean, you must set messageSource.setFallbackToSystemLocale(false); in your own bean.

This way the app should work as expected, with all languages except EN using message.properties.

Upvotes: 3

Related Questions