2

我正在使用 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 机制来解析本地化字符串。不幸的是,这种尝试不起作用。

有没有不同的方法来做我想做的事?有可能做这样的事情吗?

非常感谢!约翰内斯

4

1 回答 1

3

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

更多背景信息:BIRT 与国际化

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

于 2010-04-22T16:19:40.940 回答