Delphi应用程序国际化和本地化



我读过有关本地化embarcadero docwiki的文档。

,但我不知道如何:

  1. 在运行时更改语言 - 例如,我将单击"应用程序"菜单将语言更改为英语或polish
  2. 在对话框中显示翻译的文本,例如:showmessage('zmieniłeśjęzyk'(;

1。有示例项目(带有Delphi的示例项目(称为RichEdit,它具有运行时间的语言变化。为了实现这一目标,使用了Reinit单元(您可以从此处拿走(,实际上可以重新加载所有资源。

它正常在这样的简单程序上工作,但是在更复杂的事情中实施可能是真正的痛苦,因为表格上的所有控件都恢复到了他们正在启动的初始状态,因此您有责任保持数据一致。

尽管在适当的实现中,所有应用程序逻辑都与GUI分开(因此TForm上没有VAR,在编辑框中没有存储用户数据等(,但它应该正常工作。

请参阅RichEdit示例的源代码,以了解如何使用Reinit.pas

2。 经典方法是使用ResourceString。在单元的接口部分或在单独单元中更高的接口部分,写下:

ResourceString
  ChangeLanguageStr = 'Zmieniłeś język';
  //another strings here

并显示消息:

ShowMessage(ChangeLanguageStr);

这些字符串将在翻译管理器中显示。

最新更新