![]() |
1
1
我曾经尝试过在运行时改变语言。它工作得很好,但我需要自己编写大量代码(并绕过dfm文件)。问题是,这很麻烦,你几乎不需要这个。 更好的选择(在我看来)是创建一个基础语言版本,并使用另一种语言的翻译工具。我们使用 third party translator 在可执行文件和DLL上工作。它替换资源中的字符串并创建新的二进制文件。 这个工具的一大优点是它显示翻译后的对话框(仅限标准的Windows组件),因此如果标签太大,您可以直接获得反馈。 |
![]() |
2
5
|
![]() |
3
1
还有dxgetext: 传统上,用于更改语言运行时而不重新启动的工具之一。 请注意,使用delphi/unicode时,此包的代码更改量已经减少(不再需要更改任何resourcestring的使用)。 |
![]() |
4
0
我一直在使用 SiComponents 以前。它们允许您独立于可执行文件更改所有文本。您可以在可执行文件中嵌入不同的语言(不推荐)或从文件中加载它们。还有一个编辑器来支持翻译。它们非常好、稳定、快速。 在Delphi2006中的工具、选项、翻译工具选项下,您可以配置翻译工具,尤其是翻译库。它可以在翻译经理的视图下找到。所有翻译后的字符串都将是资源字符串,并且可以存储在特定语言的dll中。搜索翻译管理器的帮助将为您指明正确的方向。 |
![]() |
5
-1
我赞成使用tsilang组件的建议(www.sicomponents.com)。我刚刚使用它们从仅英语升级到运行时可选的英语+中文,并且发现这个过程比我预期的要容易得多。最终的结果并不完美,但肯定是足够好的。 |
![]() |
devBem · 反应来自<FormattedMessage> 6 年前 |
![]() |
beechy · 两级国际化;资源绑定 6 年前 |
![]() |
lpt · 外语中的词云或可视化 6 年前 |
![]() |
SeaFuzz · 如何将国际化对象传递给Flutter中的子小部件 7 年前 |
![]() |
lio · 具有三个表和一个动态列的Mysql查询(i18n) 7 年前 |