0

我正在使用 Altova Stylevision 2011 Enterprise 生成一个 XSLT 文件,该文件用于生成基于一些 XML 数据的报告。我正在寻找一种添加本地化的方法。

我想在 XML 中有一个标签,<language>en</language>然后让 XSLT 根据该值从一组特定的字符串中进行选择,例如标题。

任何想法如何在 StyleVision SPS 文件中实现这一点?

我不喜欢拥有大量带有本地化静态文本的 SPS 文件(每个文件对应一种语言)的想法,因为这样我们就必须在设计更改时更新所有这些文件......

感谢您的反馈意见!

4

1 回答 1

0

我觉得自己很愚蠢……感谢 Mark Veenstra 的评论,这让我找到了明显的答案:-)

确实有一个示例项目Multiple Languages提供了几种解决我的问题的方法。案件结案 - 几乎。

它现在在 StyleVision 用户界面中工作,我选择了第二种输入文件方法。但是现在我无法通过 AltovaXML.exe 工具在命令行上生成报告。如何将第二个输入文件(我的 XML 文件包含翻译)指定给处理器?通过 -in 参数似乎只能识别一个输入文件。在生成的 XSLT 中我看到

<xsl:variable name="Translation" select="document($Translation)"/>

它与 UI 的源选项卡中的翻译 XML 的名称相匹配,并且

<xsl:value-of-select="$Translation/id("TITLE")/Translation[@Language=$XML/data/language]"/>

匹配待翻译文本的位置。目标语言在$XML/data/language.

当我做

AltovaXML.exe -xslt2 Report.xslt -in Data.xml -out Report.fo

没有为要翻译的字符串输出任何内容,也没有产生错误消息......

我现在缺少什么?

再次 - 找到了解决方案:AltovaXML 需要第二个输入文件作为参数:添加-param Translation='Localization.xml'成功了。案件结案——这次是真的。

于 2014-07-22T12:48:14.290 回答