Inno Setup中多语言时,使用占位符填充

如在:
[CustomMessages]
CreateDesktopIcon=Create a Desktop icon
NameAndVersion=%1 version %2

  普通的获取CustomMessages中字段的信息,只需使用CustomMessage方法即可

var
  S: String;
begin
  S := CustomMessage('CreateDesktopIcon');
end;

S 的结果是: Create a Desktop icon

但NameAndVersion字段的内容不是固定,而是希望能动态绑定的,那么就需要使用占位符%1%2了,而动态绑定时,还需要使用FmtMessage方法:

var
  S: String;
begin
  S := FmtMessage(CustomMessage('NameAndVersion'), ['My Program', '1.0']);
end;

S 的结果是: My Program version 1.0

分别将My Program和1.0绑定到%1和%2

特别注意:FmtMessage()的第二个参数是数组类型,所以即使只有一个参数,也得用数组的形式[element1, element2] :

S := FmtMessage(SetupMessage(msgNotOnThisPlatform), ['Windows 2000']);


原文地址:https://www.cnblogs.com/tommy-huang/p/8552433.html