當前位置:
首頁 > 最新 > 涉及國外的項目怎麼辦?帶你把項目國際化

涉及國外的項目怎麼辦?帶你把項目國際化

溫馨提示:本文閱讀需要5分鐘,建議收藏後閱讀!

各位小夥伴

今天我們來分享的就是

項目的國際化

那麼我們開始吧!

國際化的概念

在我們開發 javaWEB 項目的時候,項目可能涉及到在國外部署或者應用,也有可能會有國外的用戶對項目進行訪問,那麼在這種項目中,為客戶展現的頁面或者操作的信息就需要使用不同的語言,這就是我們所說的項目國際化

( Internationalization 簡稱: i18n ).

國際化的原理

國際化的核心基礎,就是我們在 http 請求的時候,在 request 裡面存在一個locale對象來標識用戶瀏覽器的習慣語言,我們可以通過瀏覽器的語言設置來查看用戶的瀏覽器習慣語言.

比如:

語言設置為簡體中文locale = zh_CN

語言設置為美式英文locale = en_US

對於我們在控制台輸出的信息,後台代碼往前台頁面輸出的提示信息,頁面顯示信息,我們都可以用一個代號來標識,當我們需要根據不同語言顯示的時候,我們將這個代號在不同語言中對應的值顯示.

map_CN 對象 Map

map_US 對象 Map

springMVC 國際化的實現

製作國際化資源文件(properties)

需要顯示多少種語言,就必須提前製作好每個語言對應的國際化資源文件

國際化資源文件的有個統一的命名規範:baseName+locale標識

比如:

i18n_zh_CN

代表中文資源文件

i18n_en_US

代表英文文資源文件

現在我們就把來做兩個簡單的資源文件

注意:

漢字在properties文件中是以Unicode編碼的形式存在的

國際化資源文件製作好以後,在 springmvc 的配置文件中進行國際化配置

引入spring標籤,將需要國際化的信息用標籤顯示

這是我們的在 java 後台獲取對應 key 的 value 值,jsp 頁面會通過 spring 提供國際化標籤來轉會 key 對應的 value

下面我們來測試一下效果(設置瀏覽器語言的過程就不演示了),瀏覽器語言這是中文(簡體),就是顯示漢語界面,設置英語(美式).就是出現英語.

GIF

當然在實際的項目中,我們看到一些網站上會有一些按鈕,點擊就可以切換網頁的顯示語言.下面我們來做一下.

切換網站語言

需求:

不需要更改瀏覽器的語言設置,在頁面設置一個鏈接來更改展現的語言

根據上面的學習,我們知道國際化主要是根據 http 請求裡面的 locale 對象來獲取瀏覽器設置的語言,再通過頁面來設置頁面使用哪種語言,我們需要設置一個全局變數 (session) 來保存我們鏈接跳轉需要的語言

每個 handler 都要獲取 session 裡面的語言設置 ---- 攔截器

SpringMVC 實現此種需求的原理

首先:

springmvc 默認了一個國際化解析器 (LocaleResolve) ,當我們從 http 請求的頭文件中獲取 locale 信息,就調用這個默認的解析起來解析國際化資源

對於此種需求,springmvc 支持裝備一個攔截器,來動態的修改 locale 信息,然後在攔截器裡面將 locale 信息存入 session

在頁面添加兩個鏈接附帶 locale 信息.

回顧一下操作步驟:

配置sessionLocaleReslover

配置這個攔截器,攔截帶有locale信息的參數

在 url 請求中添加 locale 信息,處理對應的國際化信息請求

其他不變,jsp 和 java 的顯示內容步驟不變

看一下頁面效果:

GIF

好了,我們的項目國際化就完成了,總體來說,國際化就是一個體力活,你想支持幾種語言你就做幾個 properties 文件,當然你要是針對幾種語言開發幾套項目,我只能說土豪,我們做朋友吧!

友情提示

難度不算太大

但是實現起來

需要很大的耐心

有時間就給自己的項目

做個國際化吧!

拜拜!

有任何問題都可以在文章留言,娜姐都看著的呢!

合作,投稿,轉載,版權問題請聯繫 李娜:Lina_Java

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java聯盟 的精彩文章:

springMVC框架的項目實戰

TAG:Java聯盟 |