我来自斯洛伐克,如果你们大多数人没有听说过,我不会感到惊讶。
然而,当涉及到报告时,这给我带来了麻烦。我们需要每个报告有 3 个(很快 4 个)语言版本:斯洛伐克语是主要语言,波兰语和英语是主要语言。
由于 pentaho 不支持波兰语和斯洛伐克语,所以将这些本地化对我来说真的很痛苦。
我要做的是:
- 用斯洛伐克语创建报告
- 写下报告中的所有短语
- 将短语发送给我们的一位合作伙伴进行翻译
- 在 pl/en 目录中创建其副本
- 在报表设计器中打开它并相应地编辑每个短语
- 另存为另一种语言版本
可以想象,这个过程非常耗时,而且容易出错。另外,每次我添加新参数来报告或更改其数据源(即 BeanShell 脚本)时,我都需要在 3 个单独的文件中执行此操作。因此,语言突变通常已经过时,远远落后于主要语言版本。
我尝试使用 OneSky 将其自动化,并做了一个执行 2 个阶段的 python 脚本:
第 1 阶段(提取和上传):
*.prpt
将文件后缀更改为*.zip
- 从文件中提取短语:
~/datadefinition.xml
,~/layout.xml
,~/styles.xml
,~/datasources/inline-ds.xml
- 将这些短语放入 *.po 文件中
- 将文件导出
*.po
到 OneSky
第 2 阶段(下载和导入):
*.prpt
将文件后缀更改为*.zip
- 从 OneSky 下载翻译后的 *.po 文件
- 遍历
~/datadefinition.xml
,~/layout.xml
,~/styles.xml
,~/datasources/inline-ds.xml
文件并用翻译替换原始短语
虽然这种方法效果很好,但它并不能翻译所有内容。这个过程仍然存在缺陷。每次我对报告的数据源进行最轻微的更改或修复小错误时,我都需要通过它。即使我只是在 SQL 代码中做一个小六,我也需要在 3 个文件中做。这当然会增加犯错的机会。
Soo,我想知道,你们是如何通过翻译报告来解决这个问题的?