I18N 國際化

http://blog.sina.com.cn/s/blog_6c7e59770101p7w9.htmlhtml

1、I18N 在 J2EE 中的應用java

【轉載:http://blog.csdn.net/changzhang/article/details/2164753】web

1. 加 standard.jar 和 jstl.jar 文件到/WEB-INF/libjsp

 

2. 配置web.xml文件,加入以下內容:編碼

<context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name>
        <param-value>messages.page.resource</param-value><!--assign package & prefix -->
</context-param> 

.net

3. 編寫國際化文件 resource_zh_CN.properties 並放之於/WEB-INF/classes(src) 對應的包裏面xml

 

4. 將 properties 文件進行編碼,cmd:native2ascii resource_zh_CN.txt resource_zh_CN.properties(.txt -> .properties,不然出現亂碼)htm

 

5. 設置語言地區blog

(1) web.xml 內設置ci

<context-param>
        <param-name>javax.servlet.jsp.jstl.fmt.fallbackLocale</param-name>
        <param-value>en</param-value>
</context-param>  

(2) 在 jsp 頁面設置(locale 寫入了另外的配置文件,可經過發來的請求讀取 locale 值)

<fmt:setLocale value="zh_CN"/>

 

6. jsp文件應用

<%@ page contentType="text/html;charset=UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<html>
...
<fmt:message key="test" /><!--可用於 html 和 JS 中-->
...
</html>

 

2、I18N 在 J2SE 中的應用

【參考:http://blog.csdn.net/haiyan0106/article/details/2257725】

一、引入必要的文件

import java.util.Locale;
import java.util.ResourceBundle;

 

二、將 properties 文件放置於 src 目錄下(不然 Cann't find Bundle for base name)

 

三、Locale、ResourceBundle的設置

Locale locale = new Locale("en", "US"); 

ResourceBundle resb = ResourceBundle.getBundle(src, locale);

myName = resb.getString(MY_NAME_KEY).trim();

Locale 指明本地化狀況,決定從"property_en.properties"中去讀取配置項。若不存在,則默認從"property.properties" 中獲取。

ResourceBundle在遇到「#」行(註釋)時會忽略。

getString() 自動讀取資源文件中相應的 key 值,讀取失敗的時配置項會使用缺省值。【最方便的地方】

相關文章
相關標籤/搜索