Delphi是否支持国际化?
我已经看到我可以为项目添加不同的语言,但这似乎创建了dfm文件的多个实例。我是否正确,因此语言无法在运行时更改?
你如何处理国际化(如果你这样做)?有没有最好的做法?
答案 0 :(得分:5)
答案 1 :(得分:1)
我曾经尝试过语言的运行时更改。它工作得很好,但我需要自己编写大量代码(并绕过dfm文件)。问题是,这很麻烦,你几乎不需要这个。
更好的选择(在我看来)是创建基本语言版本并使用翻译工具用于其他语言。我们使用适用于可执行文件和dll的third party translator。它替换资源中的字符串并创建新的二进制文件。
此工具的一大优点是它显示已翻译的对话框(仅限标准窗口组件),因此如果标签太大,您可以获得直接反馈。
答案 2 :(得分:1)
Amd然后有dxgettext:
传统上是用于在不重新启动的情况下更改语言运行时的工具之一。
请注意,使用Delphi / unicode时,此软件包的代码更改量已减少(一个不再需要更改任何资源字符串使用)
答案 3 :(得分:0)
之前我一直在使用SiComponents。它们允许您独立于可执行文件更改所有文本。您可以在可执行文件中嵌入不同的语言(不推荐)或从文件加载它们。还有一个支持翻译的编辑器。它们非常好,稳定,快速。
在Delphi 2006的工具,选项,翻译工具选项下,您可以配置翻译工具,尤其是翻译库。它可以在View,Translation Manager下找到。所有翻译的字符串都是ressource字符串,可以存储在特定于语言的dll中。搜索翻译管理器的帮助会指出正确的方向。
答案 4 :(得分:-1)
我接下来推荐使用TsiLang组件(www.sicomponents.com)。我刚刚用它们从英文升级到英文+中文,可以在运行时选择,并且发现这个过程比我预期的要容易得多。最终结果并不完美,但肯定足以与之合作。