對於使用者來說,一個支持國際化的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.另外頁面的所有的提示信息都應該在資源文件中定義