Altova StyleVision本地化

时间:2014-07-22 11:01:22

标签: xml xslt localization altova

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

我希望在XML中有一个标记,例如<language>en</language>,然后让XSLT从一组特定的字符串中进行选择,例如:标题,基于该值。

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

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

感谢您的反馈!

1 个答案:

答案 0 :(得分:0)

我感到愚蠢......感谢Mark Veenstra的评论,这让我明白了答案: - )

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

  

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

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

匹配源选项卡中的翻译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'就可以了。案件结束 - 这次是真实的。