springboot實現國際化

2021-10-08 09:39:45 字數 2330 閱讀 2542

在spring中提供了乙個介面messagesource來實現國際化。springboot中已經對國際化做了自動配置,自動配置messagesourceautoconfiguration,接下來我們看一下該類。

@bean

@configurationproperties

(prefix =

"spring.messages"

)public messagesourceproperties messagesourceproperties()

再進入messagesourceproperties這個類中

public

class

messagesourceproperties

所以我們可以通過設定basename和encoding的值來設定國際化檔案存放的位置和編碼型別。

在專案中建立國際化檔案。

我放在了根目錄的i18n資料夾下。

在配置檔案中指定basename。

spring.messages.basename=i18n.login
這樣我們就可以從國際化資源檔案中獲取資訊了。

那麼我們又是怎樣實現切換頁面的語言的呢?

messagesourceautoconfiguration這個類中有這樣乙個方法。

@bean

@conditionalo****singbean

@conditionalonproperty

(prefix =

"spring.mvc"

, name =

"locale"

)public localeresolver localeresolver()

acceptheaderlocaleresolver localeresolver =

newacceptheaderlocaleresolver()

; localeresolver.

setdefaultlocale

(this

.mvcproperties.

getlocale()

);return localeresolver;

}

當缺少localeresolver這個 bean的時候,則從專案配置檔案中讀取spring.mvc.locale 獲取語言。所以我們可以自定義乙個類,實現localeresolver介面,來返回語言資訊。

mylocaleresolver 類

"@">中文<

/a>

"@">english<

/a>

<

/body>

<

/html>

mylocaleresolver類中,通過request獲取請求中的引數language,來判斷用哪種語言。這樣就可以實現頁面語言的切換了。

Spring Boot國際化的實現

1.建立目錄及檔案 預設配置檔案login.properties login.username 使用者名稱 英語配置檔案login en us.properties login.username username 中文配置檔案login zh cn.properties login.username...

springboot國際化配置流程

在resource下面新增i18n資料夾,下面放置轉換的檔案字尾是有規則的,預設的messages.properties,英文 messages en us.properties,中文 messages zh cn.properties。比如 configuration public class i...

Springboot的國際化頁面

2 使用resourcebundlemessagesource管理國際化資源檔案 3 在頁面使用fmt message取出國際化內容 步驟 1 編寫國際化配置檔案,抽取頁面需要顯示的國際化訊息 外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳 img 3djsma0w 1597478698...