- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ireport5.5教程之国际化
国际化意味着报表可以根据不同的地区显示不同的语言文字。报表所要显示
的不同的语言文字是存储在资源文件里。在本章中我们将介绍怎样使用内置函数
msg()来处理国际化问题。
资源文件
当我们想让一个报表实现国际化功能时 ,我们需要定位所资源文件里的名称
字符串,就是label或者叫key,key与value是一对字符串,中间用 “=”连
接。如:
Title_username=用户名
Title_phone=电话号码
保存这些key与value对的文件以 “.properties”为后缀。在运行期间,
报表引擎将会在classpath里查找以 “.properties”结尾的资源文件。如果文件
找到了 ,那么就从文件里读取相应的资源信息。资源文件的指定是通过报表属性
窗口的 “i18n”来实现的。
一般来说 ,一个资源文件名的组成包括三个部分 :一个是资源文件名 ,一个
是国家地区代码(与文件名之间以 “_”连接),最后就是文件的扩展名
“.properties”。对于默认的资源文件名来说是没有国家地区代码的。完整的
资源文件的格式如下:
resourcebundlebasename[_languagecode[_country
code[_othercode]]].properties
比如:
I18nReport_fr_CA_UNIX.properties
I18nReport_zh_CN.properties
I18nReport_en.properties
I18nReport.properties
前面格式里提到的 “othercode” (比如上面的“_UNIX”)一般不去指
定它。
在iReport中,它有能力自己去管理资源文件 ,资源文件我们需要把它和报
表文件(jrxml文件)放在同一目录,并且资源文件的名称也要与报表文件的名称
保持一致。
我们可以从主菜单的 “EditàInternationalication”的 “Localizationfiles”
打开资源文件管理窗口。如下图:
我们可以通过 “Create NewLocale”按钮创建一个新的资源文件。
创建时我们需要指定文件名及国家代码 ,创建完成之后我可以通过“Modify
file”按钮来对资源文件的内容做相应的修改。
获取本地化字符串
得到资源文件里的key所对应的vlaue我们可以通过下面的方法实现:一
种是使用JasperReports 内部的表达式str( “keyname”) ,或者是使用表达式
$R{keyname} :
$R{test.name}
在JasperReport中的国际化我们可以使用函数msg,通过使用msg函数
我们可以对取到的国际化的值做相应的格式化处理。比如我们的资源文件中一个
key/value对为:
title=my nameis{0}
此时我们需要为{0}指定具体的值 ,通过使用msg函数我们可以对这里的{0}
进行填值处理:
msg($R{title},gaojie)
这样在报表生成后最终的值就是:mynameisgaojie
我们有三种方式来使用msg函数:
PublicStringmsg(Stringpattern,Objectarg0)
PublicStringmsg(Stringpattern,Objectarg0,Objectarg1)
PublicStringmsg(Stringpattern,Objectarg0,Objectarg1,Object
arg2)
在iReport中我们可以指定所在地区,这样我们就可以控制显示的语言。点
击主菜单 “Buildàsetreportlocalor BuildàSettimezone” ,在弹
文档评论(0)