1. 程式人生 > >springboot配置il8n

springboot配置il8n

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(); } }