Friday, May 15, 2015

Spring Boot Internationalization with Default Locale for Message Strings

How to add Spring Boot Internationalization with Default Locale for Storing Message Strings such as Validation Messages in a message.properties file 


 This article will show you how to use a properties file to define static text in your application such as for validation message.

All the code is appended at the bottom of the article. 


Add Default locale and Message Source beans to your Application class 



 Add these classes to set your default locale and configure the location of your message properties file

 
Add beans to your Spring Boot Application class
Add locale and MessageSource beans to your Application Class


Add a Service and Interface to retrieve message text 


 This service will pull the default locale from the session and then get the message text from your properties file using the messageSource.

Create Service to get messages by locale
Add a service to get the msgs in your props file


In your controller, use the Message service to get the message text 


 You will inject the message service in the controller and then pass in the id to get the value from the props file


Inject svc and get message from i18n props file
Inject service into your controller and get the message



Create the message.properties file in the locale folder 


 In resources, create the locale folder and then create a file called messages_en_US.properties

Create localized message props file
Create message properties file



Review the code here


You can view all the code here: Link to Github Gist here