【发布时间】:2018-04-25 20:02:43
【问题描述】:
我来自斯洛伐克,如果你们大多数人没有听说过,我不会感到惊讶。
但是,当涉及到报告时,这给我带来了麻烦。我们需要每个报告有 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,我想知道,你们是如何通过翻译报告来解决这个问题的?
【问题讨论】:
标签: python-2.7 pentaho pentaho-report-designer