【问题标题】:Installshield 12: How to share strings and translations for shared functionsInstallshield 12:如何为共享函数共享字符串和翻译
【发布时间】:2009-10-14 14:17:53
【问题描述】:

我有几种不同产品的 Installshield 12 设置(使用基于非 msi Installscript 的设置)。这些共享一些代码,我想将其放入共享的 .rul 文件中。但是,其中一些代码可以报告错误或通常向用户显示消息。

有没有办法像共享 .rul 文件一样跨项目共享字符串(及其翻译)?我看到字符串表包含在 ism 文件中,并且有点 rtfm-ing 和谷歌搜索还没有找到一种简单(甚至任何)的方法来做到这一点。

【问题讨论】:

    标签: localization internationalization installshield


    【解决方案1】:

    您可以在常规信息视图中或通过自动化界面导出和导入字符串表。如果您掌握的语言不止一种,您可能希望将其作为自动化脚本来执行,以避免让自己发疯。

    【讨论】:

    • 如果我理解正确,您所说的是,在从 ism 构建安装程序之前,我可以运行一个脚本来导入与我正在使用的其他 .rules 一起使用的字符串表主义?
    • 正确。如果您正在运行自动构建,则应该很容易将这种步骤集成到其中。如果你不是,那可能会有点痛苦。
    • 我正在运行自动构建,所以应该没问题。我只需要看看高级版附带的命令行客户端是否也可以做到这一点。感谢您的想法。
    【解决方案2】:

    我有一个 CommonIS 文件夹,其中包含项目之间共享的 .rul 和 .h 文件。其中一些函数通过@ABC 引用字符串。顺便说一句,我发现即使项目中没有定义 ABC 标识符,脚本也会编译。对于给定 IS 项目从我的公用文件夹中引用的任何函数,我手动将所需的字符串添加到 ISString 表中。我不会太频繁地添加新的常用字符串,所以它并不可怕。

    在某些情况下,我将 .rul 函数更改为接受 sz arg,而不是在函数中嵌入 @ABC。然后,当我调用该函数时,我将 @ABC 指定为 arg。

    IS 有一个自动化界面。目的(我认为)是允许您自定义构建和维护步骤(我相信在运行时无法访问)。因此,可以想象您可以创建一个新的 CommonString IS 项目,即商店。然后使用自动化界面将这些刺痛复制到需要它们的各种其他 IS 项目。

    最后,可以将 IS .ism 项目包含到您的安装程序的临时文件夹中,然后使用基于 COM 的 XML DOM 在运行时访问 ISString 表。缺点可能是您不能使用@ABC 语法来访问这些字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多