【问题标题】:How to translate an ListBoxItem with firemonkey?如何用 firemonkey 翻译 ListBoxItem?
【发布时间】:2013-11-08 08:26:20
【问题描述】:

我有一个从数据库表填充的列表框。我想添加一个名为“Go back”的最后一项,并以这种方式从源代码中添加它:

lbDGroup.Items.Add('GO BACK');

我有一个将“GO BACK”字符串翻译成另一种语言的 TLang 组件,但该项目没有被翻译(它总是显示“GO BACK”)。

如何将其设置为使用 TLang 进行翻译(从设计中添加的所有组件和所有显示消息都显示正确翻译)。

谢谢

【问题讨论】:

  • 您是否为GO BACK 添加了语言条目?请展示您如何“填充”列表框,以便我们重新创建问题。
  • 如果您将其硬编码为“GO BACK”,您为什么期望它会改变?正在更改的那些正在正确使用可以自动替换的属性;您正在使用嵌入在代码中的常量字符串,这与任何地方都不一样。

标签: delphi translation firemonkey listboxitem delphi-xe5


【解决方案1】:

您可以通过编程方式获取您的 GO BACK Source 的当前翻译文本:

var
  dGOBACK: string;
begin
  dGOBACK := Lang1.LangStr[Lang1.Lang].Values['GO BACK'];
  lbDGroup.Items.Add(dGOBACK);
end;

【讨论】:

    【解决方案2】:

    更简单:

    uses
      FMX.Types;
    
    begin
      lbDGroup.Items.Add(Translate('GO BACK'));
    end;
    

    在 Delphi FMX XE6 及更高版本上

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-30
      相关资源
      最近更新 更多