internationalization - 在 Inno Setup 中使用内置消息

标签 internationalization inno-setup

如何在 Inno Setup 中使用内置消息?

在“Default.isl”中,有一条消息“FullInstallation”,我想在我的 Inno Setup 脚本中使用它。因此,此消息已翻译为 Inno Setup 支持的所有语言。这将使我无需亲自翻译本文。

我看到“Default.isl”有一个 [CustomMessages] 部分,我可以使用这些(例如){cm:CreateDesktopIcon} (因为“CreateDesktopIcon”作为自定义消息存在)。

如何使用 [CustomMessages] 部分中未列出的其他消息之一?

最佳答案

据我所知,没有{cm:...}就像可以扩展 [Messages] 的常数一样。入口。如果我是对的,那么这取决于你想在哪里使用这样的常量。如果它在脚本部分,那么您需要使用 scripted constant使用 getter 调用 SetupMessage函数,您可以通过 this file 中列出的常量来扩展所选语言的内置消息。 .

正如您所注意到的,每个消息常量都只有 [Messages]msg 前缀。语言文件中的条目。

例如,将 WizardPreparing 消息扩展为 Description [Run] 部分条目的值,您可以这样扩展 msgWizardPreparing 常量:

[Run]
Filename: "MyProg.exe"; Description: "{code:GetDescription}"

[Code]
function GetDescription(Value: string): string;
begin
  Result := SetupMessage(msgWizardPreparing);
end;

[Code]部分,情况自然更容易,因为SetupMessage您可以直接在那里使用的功能。因此,举例来说,要显示带有展开的 CannotContinue 消息的消息框,您可以这样展开 msgCannotContinue 常量:

[Code]
procedure InitializeWizard;
var
  S: string;
begin
  S := SetupMessage(msgCannotContinue);
  MsgBox(S, mbInformation, MB_OK);
end;

关于internationalization - 在 Inno Setup 中使用内置消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20689259/

相关文章:

java - 以一种语言格式化货币,与国家无关

internationalization - 美国英语是唯一具有mmddyyyy格式的语言吗?

inno-setup - 使用 Inno Setup 替换文件中的文本

installation - 当我在 Inno Setup 中需要时,如何防止显示启动屏幕?

objective-c - NSDateFormatter 不会使用区域设置解析日期?

Java 属性文件本地化和字符编码问题

inno-setup - Inno Setup : {code: . ..} 不适用于 OutputBaseFilename?

inno-setup - Inno Setup生成的安装程序在某些系统上不显示 "Select Destination Location"页面

windows - 创新设置: How to change uninstall background color

ruby-on-rails - yaml 格式是否有命名约定?