用Struts開發國際化程式思路

來源:互聯網
上載者:User
程式 對於使用者來說,一個支援國際化的WEB程式具有下面幾種形式

1. 根據使用者瀏覽器自動化佈建顯示的語言(無需使用者幹預)
2. 提供使用者選擇,使用者根據自己的需要決定使用何種語言顯示
3. 結合前兩種.系統自動選擇一種語言,但同時提供使用者根據需要選擇

使用Struts開發國際化程式是一件非常便利的事情,我們來看前兩種怎麼來實現

1. 這是最簡單的方式,你不需要修改任何程式,只需要把資源檔按照各個語言翻譯一遍並把這些檔案按照國際化程式的要求命名好放置同一個目錄即可. 例如 ApplicationResource_en_US.properties ApplicationResource_zh_TW.properties . 這種方式雖然自動的給使用者佈建好要顯示的語言,但是有時候由於瀏覽器本身的問題,或者使用者自己想看其他語種的時候就沒有辦法.

2. 這是比較常見的方式,由使用者自己來選擇所要顯示的語言. 一般的情況是在首頁或者登入頁上增加語言的選項,使用者選中其中一種登入後即以使用者選擇的語言進行顯示,但是使用者登入後必須把使用者所選擇的語言儲存起來並讓程式也就是
Locale locale = new Locale(request.getParameter("locale"));
//TODO:判斷locale的有效性,無效的話不存入到sesssion中
req.getSession().setAttribute(Globals.LOCALE_KEY,locale);

好了,現在這個標籤庫現在就可以根據你儲存在session中的Locale對象來決定載入的是哪種語言, 通過看標籤庫的源碼我們就可以一目瞭然知道該標籤庫在載入資源前先從session或者該Locale對象,如果為空白則使用request.getLocale()這個值來載入對應語言的資源,因此這種做法實際上是實現了前面提到的第三種形式. 接下來就是翻譯資源檔,有如第一步講到的.

Struts架構在實現國際化應用程式的時候還是替我們想的很周到,因此你所需要做的就是翻譯.

最後切記兩點:
1. 頁面的字元集必須是UTF-8,例如:

2. 另外頁面的所有的提示資訊都應該在資源檔中定義

這兩條都是基本要求,這裡只是提醒一下:)




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.