我来自斯洛伐克,如果大多数人都没有听说过,我不会感到惊讶。
但是,在报告方面,这会给我带来麻烦。我们需要每个报告有3个(很快4个)语言版本:斯洛伐克语是主要语言,而不是波兰语和英语。
由于pentaho不支持波兰语或斯洛伐克语,因此保持这些本地化对我来说真的很痛苦。
我的工作是:
您可以想象,该过程非常耗时且容易出错。另外,每次我添加新参数来报告或更改其数据源(这是BeanShell脚本)时,我需要在3个独立的文件中执行此操作。因此,语言变异通常是过时的,远远落后于主要语言版本。
我曾尝试使用OneSky自动化它并执行了一个执行两个阶段的python脚本:
第1阶段(提取并上传):
*.prpt
个文件修改为*.zip
~/datadefinition.xml
,~/layout.xml
,~/styles.xml
,~/datasources/inline-ds.xml
*.po
文件导出到OneSky 第2阶段(下载和导入):
*.prpt
个文件修改为*.zip
~/datadefinition.xml
,~/layout.xml
,~/styles.xml
,~/datasources/inline-ds.xml
个文件,并通过翻译替换原始短语虽然这种方法很好,但它并不能解决所有问题。这个过程仍然存在缺陷。每当我对报告的数据源做出最微小的改变或修复小错误时,我都需要经历它。即使我只是在SQL代码中做了一个小的六,我需要在3个文件中完成它。这当然会增加错误的机会。
Soo,我想知道,你们是如何通过翻译报告来解决这个问题的呢?
答案 0 :(得分:0)
我将分享我们正在遵循的非常简单的方法。
1)create a properties file with key value format for each language for resource labels(for static values)
2)put it into resources folder(report-designer/resources/)
3)Based on the parameter you can specify which properties file to select and you can specify keys into value field so that it can understand which value to display in which language.
4)if you need to convert the data which are coming from database,you have to design data warehouse specify all the mappings,accordingly it can fetch the data.
5)For converting dates and currency symbols or number format you can use inbuilt functions which can handle all this things,i am using mysql and mysql has translation functions which can handle all such things.
这里很难解释整个过程,但是如果你能从中得到并且想到它对你有用。