Delphi ITE:资源 ID 何时可以更改?
我正在研究 Delphi ITE(集成翻译环境)来添加多语言支持在我的应用程序中。我担心 ITE 生成的资源 DLL 的有效性问题。换句话说,当主应用程序被重新编译或(可能)更改时,部署已编译的资源 DLL 是安全的。
问题:
- 如果我只是多次重建主/主机项目而不更改 - 字符串 ID 可以更改吗?我需要调用“更新本地化项目”吗?
- 如果我更改(并重新编译)主项目,但不更改资源字符串和 DFM - 字符串 ID 可以更改吗?我需要调用“更新本地化项目”吗?
- 如果我通过添加或删除资源字符串和/或 DFM 来更改主项目 - 字符串 ID 可以更改吗?我需要调用“更新本地化项目”吗?
这个问题的主要原因是我想知道用我的软件的新更新版本发送旧翻译是否安全。为每个版本的软件保留无数个版本的资源 DLL 确实很痛苦。
这个问题的第二个原因:Delphi ITE 中似乎有一个错误,如 这个问题。
I'm looking into Delphi ITE (Integrated Translation Environment) to add multi-language support in my app. I'm concerned about validity issues for resource DLLs, which is generated by ITE. In other words, when it is safe to deploy already compiled resource DLL, if main application was recompiled or (possibly) changed.
Questions:
- If I just rebuild main/host project multiply times without changing - can IDs of strings change? Will I need to invoke "Update localized projects"?
- If I change (and recompile) main project, but without changing resourcestrings and DFMs - can IDs of strings change? Will I need to invoke "Update localized projects"?
- If I change main project by adding or removing resourcestrings and/or DFMs - can IDs of strings change? Will I need to invoke "Update localized projects"?
Main reason for this question is that I want to know if it is safe to ship old translations with new updated version of my software. It would be really painfull to keep zillions of versions of resource DLLs for each version of software.
Second reason for this question: it seems that there is a bug in Delphi ITE, as highlighted in this question.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据我的经验,是的,它们的更改频率可能比您希望的要高。我想这可能取决于哪些单元被重新编译以及按什么顺序,或者类似的东西。 IIRC,两次重新编译可能不会产生完全相同的可执行文件。我养成了每次需要使用新的可执行文件部署资源 DLL 时更新它们的习惯。
In my experience, yes, they can change more often then you would like. I guess it could depends on which units gets recompiled and in which order, or something alike. IIRC, two recompilation may not lead to exactly the same executable as well. I got the habit to update the resource DLLs everytime I need to deploy them with a new executable.