如何更改BIRT中的默认语言环境

时间:2010-04-22 07:21:42

标签: java locale birt

我正在使用BIRT报告引擎,我目前的任务是实现报告的国际化。我们正在使用webviewer生成和下载pdf报告。有一个参数(__locale)允许我指定应该用于生成报告的语言环境。到目前为止一切正常。

但是还有一项我无法实施的要求。除了由http参数设置的语言环境之外,还应该可以指定某种回退语言环境。

采用以下示例:有两个属性文件common_en_US.properties和common_en_GB.properties。要使用的第一个语言环境应该是en_GB(__locale = en_GB)。如果common_en_GB.properties文件存在,一切正常。但是如果找不到en_GB文件,我也想告诉BIRT使用common_en_US.properties,这不能按预期工作。

我试图通过在执行BIRT之前手动设置Java默认语言环境来解决这个问题,因为我认为BIRT会使用Java机制来解析本地化字符串。不幸的是,这种尝试不起作用。

有没有不同的方法可以做我想做的事情?是否可以做这样的事情?

非常感谢! 约翰内斯

1 个答案:

答案 0 :(得分:3)

因此,当您指定区域设置时,BIRT仅查找该区域设置的属性文件。未使用默认的JVM语言环境。如果未找到属性文件,则使用应用于设计器中控件的默认文本。

更多背景信息:BIRT & Internationalization

所以你要做的是创建一个区域设置层次结构,BIRT不支持。如果您手动(通过servlet或其他POJO)呈现报告,可以通过IRunAndRenderTask强制代码中的语言环境(有一种名为setLocale的方法)