Home
JavaEE
Java GUI
Framework
DHtml
Android
插画
教程下载

ATOM 2.0   RSS 2.0
Add to iGoogle Add to Live.com
  • 今天终于收到金山快盘的邀请码
  • 利用最短ie判断在不同浏览器上播放背景音乐
  • 对插画方面的一点感受与回忆
  • 网上看到的两个死里逃生的图片,记录一下
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 对Android在互联网应用开发上的纠结
  • 收藏夹中的书签都没了,决定写一个自已的书签管理器
  • 测试自已整理的本机的webapps客户端发送博文能否成功。
  • 今天开通了糖果社区,附几个激活码
  • 终于可以实现我的多个微博实时同步了
  • 备案和现场拍照就是对站长们的瞎折腾
  • 昨天借用飞姐的佳作做的一个浪漫爱情网页
  • 有几个腾讯微博的邀请码(实时更新)
  • BB的网站移到了GAE-JAVA上了
  • 一个基于GAE Python Web.py和JQuery的留言本程序
  • 类许愿墙的一个告白网站和一个电子书网站
  • Android中用Bitmap获取图片中某个区域的图象
  • 对暴力破解带密码的QQ相册的可行性分析
  • 对淘宝web旺旺版一些通讯接口的研究

用了Struts这么久才发觉,i18n国际化的一个问题

posted by David Chen at April 16, 2008, 1:03 AM    

struts是根据ie的语言来定位语言文件的,而不是根据语言和国家来定的,

有一个系统,默认语言是zh_TW,但也有可能是zh_HK,zh_CN和en_US, 这时候,假如定义默认的Language.properties
是zh_TW,同时有一个zh_CN.properties, 那么zh_TW浏览器打开页面的时候,struts选择的是zh_CN这个
资源文件.

例, new Locale(String language, String country)
Language.properties // 繁体 zh-TW
Language_zh_CN.properties // 简体 zh-CN
Language_en_US.properties // 英语 en-US
这时,如果ie的语言设置为 zh-HK, 即上面3个properties没有zh_HK,
这时候struts会使用Language_zh_CN.properties作语言,因为zh是language, hk是country,
但当ie语言设置为 aa-bb 的时候,会用Language.properties做语言,因为语言aa 找不到。
配置: web.xml
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>
/WEB-INF/struts/config-global.xml,
/WEB-INF/struts/config-globalforwards.xml,
/WEB-INF/struts/config-formbeans.xml,
/WEB-INF/struts/config-actionmappings.xml
</param-value>
</init-param>
<init-param>
<param-name>application</param-name>
<param-value>Language</param-value>
</init-param>
</servlet>

struts-config
<message-resources parameter="Language" />

用ant处理,就可以不用定义多个繁体的文件了, zh_HK, zh_TW都不用定义,只要有Language.property就行了.
只要在 native2ascii 的调用完毕后,再copy两个文件出来就行了,这样在classpath中就多了两个语言文件.
<target name="native2ascii">
<delete verbose="true">
<fileset dir="${targetclassdir}" includes="Language*.properties" />
</delete>
<native2ascii encoding="UTF-8" src="${sourcedir}" dest="${targetclassdir}" includes="Language*.properties" />
<copy file="${targetclassdir}/Language.properties"
overwrite="true" tofile="${targetclassdir}/Language_zh_HK.properties" />
<copy file="${targetclassdir}/Language.properties"
overwrite="true" tofile="${targetclassdir}/Language_zh_TW.properties" />
</target>
Labels:   JavaEE    Framework    Struts  
Trackback:   http://cwq.iou1314.com/struts-i18n_a307
微博最近更新
[2010-07-31 16:33]    今天下午又将昨天赢的哎齐出来了,郁闷,一进一出,要有入没出才行啊。
[2010-07-31 07:40]    昨晚又去啊泄度开台,呢次赢左差唔多3旧水,下周星期一请假,回郁南去转社保和入党资料。
本站内的任何文章,只代表个人意见或学习所用,如有版权声明,请尊重作者的劳动成果,在转载时请保留原始链接并注明出处。
Power by David's PhpCms, © 2007 - 2010 CWQ.IOU1314.COM All Rights Reserved.