读书人

欢乐编程-知识培训-Struts1.x学习-I18

发布时间: 2012-12-17 09:31:40 作者: rapoo

快乐编程-知识培训-Struts1.x学习-I18N国际化-006

目标:学会使用struts1.x的国际化操作

说明:项目或产品“见人说人话,见鬼说鬼话”,多语言版本需求

对象:适合自学者、初学者、兴趣爱好者。

理念:先行动(Coding),后理解(Thinking);在最短的时间内采取最大量的Coding。分享越多,收获越大

--------------------------------------------------------

一、在strutsConfig.xml配置文件中配置

<!-- ================ Message Resources Definitions ================ --><message-resources parameter="MessageResources" />

?二、编写多语言版本的资源文件

MessageResources.properties(默认资源文件)

raky.train.login.page.title=\u767B\u5F55\u9875\u9762raky.train.login.form.username=\u7528   \u6237\uFF1Araky.train.login.form.password=\u5BC6   \u7801\uFF1Araky.train.login.form.button.submit=\u786E\u5B9Araky.train.login.form.button.reset=\u91CD\u7F6Eraky.train.login.form.back=\u8FD4\u56DEraky.train.success.page.title=\u6210\u529F\u9875\u9762raky.train.failure.page.title=\u5931\u8D25\u9875\u9762raky.train.failure.page.error=\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF\u5566

MessageResources_zh_CN.properties(中文资源文件)

raky.train.login.page.title=\u767B\u5F55\u9875\u9762raky.train.login.form.username=\u7528   \u6237\uFF1Araky.train.login.form.password=\u5BC6   \u7801\uFF1Araky.train.login.form.button.submit=\u786E\u5B9Araky.train.login.form.button.reset=\u91CD\u7F6Eraky.train.login.form.back=\u8FD4\u56DEraky.train.success.page.title=\u6210\u529F\u9875\u9762raky.train.failure.page.title=\u5931\u8D25\u9875\u9762raky.train.failure.page.error=\u7528\u6237\u540D\u6216\u5BC6\u7801\u9519\u8BEF\u5566

?MessageResources_en_US.properties(美式英语资源文件)

raky.train.login.page.title=login pageraky.train.login.form.username=username:raky.train.login.form.password=password:raky.train.login.form.button.submit=submitraky.train.login.form.button.reset=resetraky.train.login.form.back=backraky.train.success.page.title=success pageraky.train.failure.page.title=failure pageraky.train.failure.page.error=username or password is error

?注意:1、资源文件的命名方式;2、中文需要编码转换(方法一,在eclipse中写,自动转换;方法二:利用%JAVA_HOM%\bin\native2ascii工具手动转换)

native2ascii 工具将带有本机编码字符(非拉丁、数字和非单一码字符)的文件转换成带有Unicode编码字符的文件,也可以将Unicode编码的文件转换为本地编码的文件用法: native2ascii [-reverse] [-encoding encoding] [inputfile [outputfile]]正向转换  native2ascii  xxx.properties   yyy.properties  反向转换  native2ascii  yyy.properties   xxx.properties (其中xxx.properties包含中文)

?三、在页面使用资源文件

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%><%@ taglib uri="http://struts.apache.org/tags-html-el" prefix="html-el" %><%@ taglib uri="http://struts.apache.org/tags-bean-el" prefix="bean-el"%><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title><bean-el:message key="raky.train.login.page.title"/></title></head><body><html-el:form action="/login" method="post"><table><tr><td><bean-el:message key="raky.train.login.form.username"/></td><td><html-el:text property="username"  maxlength="40" size="18" /></td></tr><tr><td><bean-el:message key="raky.train.login.form.password"/></td><td><html-el:password property="password"  maxlength="40" size="18" /></td></tr><tr><td colspan="2" align="center"><html-el:submit property="submitValue" ><bean-el:message key="raky.train.login.form.button.submit"/></html-el:submit><html-el:reset property="resetValue" ><bean-el:message key="raky.train.login.form.button.reset"/></html-el:reset></td></tr></table></html-el:form></body></html>

?四、在浏览器中配置language,每个浏览器会有差异,比如FireFox 工具-->选项-->内容-->语言

本案例仅限于中文和英文,如果支持其他语言,需要自定义相关语言的资源文件。

?

?

读书人网 >编程

热点推荐