gpt4 book ai didi

NSIS:在 .onInit (MUI2) 中为 MessageBox 使用选定的语言

转载 作者:行者123 更新时间:2023-12-01 04:37:37 27 4
gpt4 key购买 nike

我尝试在 .onInit 方法中获取本地化消息框,但失败并显示以下代码:

!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"

LangString Message ${LANG_ENGLISH} "This is a message."
LangString Message ${LANG_GERMAN} "Dies ist eine Nachricht"

Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
MessageBox MB_OK "$(Message)"
FunctionEnd

MessageBox 始终显示相同的语言字符串。

最佳答案

问题是,语言在 .onInit 方法之后被处理。

解决方法是将自定义代码从 .onInit 方法放入 .onGUIInit 方法。

对于 MUI2,这是按如下方式完成的:

!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit

!include "MUI2.nsh"

!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "German"

LangString Message ${LANG_ENGLISH} "This is a message."
LangString Message ${LANG_GERMAN} "Dies ist eine Nachricht"

Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd

Function myGuiInit
MessageBox MB_OK "$(Message)"
FunctionEnd

现在 MessageBox 应该显示正确本地化的消息。

关于NSIS:在 .onInit (MUI2) 中为 MessageBox 使用选定的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14305761/

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