springboot配置il8n
阿新 • • 發佈:2019-01-14
springMvc下,配置il8n:
1.配置ResourceBundleMessageSource管理國際化資原始檔
2.在頁面使用fmt標籤取出國際化內容
springBoot下,自動配置了il8n:
1.新建目錄,存放login_zn_CN.properties (基礎名_zn_CH.properties)對應中文編碼
login_en_US.properties對應英文
login.properties對應預設
idea會自動轉成resource bundle層級,可以開啟相關介面(底部中間),設定k-v
2.配置spring.messages.basename
springBoot預設配置basename為messages,讀取根目錄下的messages.properties
這裡設定spring.messages.basename = il8n.login
3.頁面整合thymeleaf,使用#{login.btn},獲取國際化的內容
4.制定自己的LocaleResolver //Locale為區域資訊物件
自動配置的LocaleResolver預設讀取請求頭中的的地區資訊,來切換國際化內容
現在想通過點選 中文/Enlish 按鈕來切換,並且預設讀取請求頭來切換:
//通過按鈕繫結url地址,追加引數L=zh_CN 或者L=en_US來實現
public class MyLocaleResolver implements LocaleResolver { @Override public Locale resolveLocale(HttpServletRequest request) { String l = request.getParameter("L"); Locale locale = Locale.getDefault();//使用預設配置 if(!StringUtils.isEmpty(l)){ String[] split = l.split("_"); locale = new Locale(split[0],split[1]);// new Locale(語言,國家) } return locale; } @Override public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) { } }
@Bean public LocaleResolver localeResolver(){ return new MyLocaleResolver(); } }