gpt4 book ai didi

internationalization - 用于自定义面板的 Inno setup i18n

转载 作者:行者123 更新时间:2023-12-04 08:21:52 25 4
gpt4 key购买 nike

我为 Inno-Setup 制作了一个自定义面板,我希望为此进行国际化。

我可以使用 *.isl 文件添加我的翻译 key 还是必须使用 [custommessages]?以及如何访问 [code] 部分中的 key 。

非使用 i18n 的 inno-setup 示例。

谢谢
汤姆

最佳答案

1. 我可以修改 isl 本地化文件吗?

如果您修改标准 *.isl 文件或创建您自己修改过的文件,这取决于您。一定要记住,如果你修改标准的,它们可能会被你安装的 Inno Setup 的新版本更新。这可能是许多人建议只在 [CustomMessages] 中创建条目的原因。部分。

但是您当然可以创建一个单独的语言文件,您将与每个 Inno Setup 更新合并,或者甚至更好,就像 Miral 建议的那样,在您自己的 *.isl 文件中指定您的自定义消息,然后在 MessagesFile 中指定您的自定义消息。 [Languages] 的参数部分在逗号分隔的文件列表末尾指定该文件:

[Languages]
Name: "en"; MessagesFile: "compiler:Default.isl,compiler:YourEnMessages.isl"
Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl,compiler:YourNlMessages.isl"

作为 MessagesFile 的引用状态范围:

When multiple files are specified, they are read in the order they are specified, thus the last message file overrides any messages in previous files.



因此,如果您仅使用 [CustomMessages] 制作 *.isl 文件部分并以上述方式在脚本中指定它们,您不会破坏任何内容,并且您将获得单独的可重用语言文件。这种自定义 *.isl 文件的结构可能看起来非常像 [CustomMessages]部分:
[CustomMessages]
SomeCustomKey=Some custom value
...

如果您要在许多设置中重复使用这些自定义消息,制作自己的语言文件可能对您更好。

2.如何从[代码]部分访问自定义消息?

通过使用 CustomMessage 功能。例如这种方式:
...

[CustomMessages]
; the following key value pair can be moved to the *.isl file into the same
; named file section, if needed; as a downside of doing that you'll need to
; keep track of changes if you update Inno Setup itself
SomeCustomKey=Some custom value

[Code]
procedure InitializeWizard;
var
S: string;
begin
S := CustomMessage('SomeCustomKey');
MsgBox(S, mbInformation, MB_OK);
end;

关于internationalization - 用于自定义面板的 Inno setup i18n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17587206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com