{"id":1579,"date":"2016-10-04T15:12:00","date_gmt":"2016-10-04T13:12:00","guid":{"rendered":"http:\/\/blog.rabahi.net\/?page_id=1579"},"modified":"2016-10-04T17:29:01","modified_gmt":"2016-10-04T15:29:01","slug":"java-spring-locale","status":"publish","type":"page","link":"https:\/\/blog.rabahi.net\/?page_id=1579","title":{"rendered":"Java Spring &#8211; Locale"},"content":{"rendered":"<div id=\"toc_container\" class=\"no_bullets\"><p class=\"toc_title\">Contents<\/p><ul class=\"toc_list\"><li><a href=\"#Prerequistes\"><span class=\"toc_number toc_depth_1\">1<\/span> Prerequistes<\/a><\/li><li><a href=\"#Configuration\"><span class=\"toc_number toc_depth_1\">2<\/span> Configuration<\/a><ul><li><a href=\"#WebMvcConfigjava\"><span class=\"toc_number toc_depth_2\">2.1<\/span> WebMvcConfig.java<\/a><\/li><li><a href=\"#Resources\"><span class=\"toc_number toc_depth_2\">2.2<\/span> Resources<\/a><\/li><li><a href=\"#JSP\"><span class=\"toc_number toc_depth_2\">2.3<\/span> JSP<\/a><\/li><\/ul><\/li><\/ul><\/div>\n<h1><span id=\"Prerequistes\">Prerequistes<\/span><\/h1>\n<p>Please read : <a href=\"?page_id=1549\">Java spring &#8211; quickstart<\/a><\/p>\n<h1><span id=\"Configuration\">Configuration<\/span><\/h1>\n<h2><span id=\"WebMvcConfigjava\">WebMvcConfig.java<\/span><\/h2>\n<p>In WebMvcConfig.java, add the following beans :<\/p>\n<pre lang=\"java\">\r\n  @Bean\r\n  public MessageSource messageSource() {\r\n    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();\r\n    messageSource.setBasename(\"classpath:messages\");\r\n    messageSource.setDefaultEncoding(\"UTF-8\");\r\n    return messageSource;\r\n  }\r\n  @Bean\r\n  public LocaleResolver localeResolver(){\r\n    CookieLocaleResolver resolver = new CookieLocaleResolver();\r\n    resolver.setDefaultLocale(new Locale(\"en\"));  \r\n    return resolver;\r\n  }\r\n\r\n<\/pre>\n<p>Still WebMvcConfig.java, register interceptor:<\/p>\n<pre lang=\"java\">\r\n  @Override\r\n  public void addInterceptors(InterceptorRegistry registry) {\r\n    LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();\r\n    interceptor.setParamName(\"lang\");\r\n    registry.addInterceptor(interceptor);\r\n  }\r\n<\/pre>\n<h2><span id=\"Resources\">Resources<\/span><\/h2>\n<p>Create the following file src\/main\/resources\/messages_en.properties :<\/p>\n<pre lang=\"properties\">\r\nlabel.message=message from message_en.properties\r\n<\/pre>\n<p>Create the following file src\/main\/resources\/messages_fr.properties :<\/p>\n<pre lang=\"properties\">\r\nlabel.message=message from message_fr.properties\r\n<\/pre>\n<h2><span id=\"JSP\">JSP<\/span><\/h2>\n<p>In your jsp file, you can change language like this :<\/p>\n<pre lang=\"html\">\r\n<a href=\"?lang=en\" id=\"lang-en\">en<\/a> \r\n| \r\n<a href=\"?lang=fr\" id=\"lang-fr\">fr<\/a>\r\n<\/span>\r\n<\/pre>\n<p>and print message like this :<\/p>\n<pre lang=\"html\">\r\n<%@ taglib uri=\"http:\/\/www.springframework.org\/tags\" prefix=\"spring\"%>\r\n\r\n<spring:message code=\"label.message\"\/>\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Contents1 Prerequistes2 Configuration2.1 WebMvcConfig.java2.2 Resources2.3 JSP Prerequistes Please read : Java spring &#8211; quickstart Configuration WebMvcConfig.java In WebMvcConfig.java, add the following beans : @Bean public MessageSource messageSource() { ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource(); messageSource.setBasename(&#8220;classpath:messages&#8221;); messageSource.setDefaultEncoding(&#8220;UTF-8&#8221;); return messageSource; } @Bean public LocaleResolver localeResolver(){ CookieLocaleResolver resolver = new CookieLocaleResolver(); resolver.setDefaultLocale(new Locale(&#8220;en&#8221;)); return resolver; } Still WebMvcConfig.java, register [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1547,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1579","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1579"}],"version-history":[{"count":2,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1579\/revisions"}],"predecessor-version":[{"id":1618,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1579\/revisions\/1618"}],"up":[{"embeddable":true,"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=\/wp\/v2\/pages\/1547"}],"wp:attachment":[{"href":"https:\/\/blog.rabahi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}