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

Posted 一菲聪天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]);

 



以上是关于Inno Setup中多语言时,使用占位符填充的主要内容,如果未能解决你的问题,请参考以下文章

一个简单的inno setup模板

使用gettext提取c#中的多语言占位符(nopCommerce示例篇)

Java:如何使用 Map<String,String> 在文本中填充占位符?

Android多语言支持:由于占位符计数不同导致的字符串格式问题

尝试填充占位符时出现Tensorflow错误

用值动态填充列的占位符