如何在 select 语言对话框中设置默认语言?
How to set a default language on select language dialog?
我的 .nis
是这样的:
## Languages (first language is the default language)
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Dutch"
我阅读了手册,上面写着:
first language is the default language
如果我不使用 English
可以正常工作,如果我使用 English
则始终是默认语言:
如何更改默认语言?
为语言选择器对话框选择默认语言涉及 3 个步骤。
- 启动时,NSIS 尝试使用 UI 语言 the user is using 的语言 ID 初始化
$Language
。这发生在调用 .onInit
回调之前。
- 如果您正在使用 MUI 并设置了 MUI_LANGDLL_REGISTRY_* 定义并且它们在注册表中找到,那么
$Language
将在 [=14] 中强制使用该语言=]宏。如果您不想要此行为,请删除定义或定义 MUI_LANGDLL_ALWAYSSHOW
让用户覆盖它。
- 如果 LangDLL 插件认为存在代码页问题(在 ANSI 安装程序中),它会过滤掉一些语言。这可以通过定义
MUI_LANGDLL_ALLLANGUAGES
. 来关闭
如果您想忽略第 1 步,那么您必须自己强制使用该语言:
Function .onInit
StrCpy $Language ${LANG_FRENCH}
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
我的 .nis
是这样的:
## Languages (first language is the default language)
!insertmacro MUI_LANGUAGE "Portuguese"
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "French"
!insertmacro MUI_LANGUAGE "Spanish"
!insertmacro MUI_LANGUAGE "Dutch"
我阅读了手册,上面写着:
first language is the default language
如果我不使用 English
可以正常工作,如果我使用 English
则始终是默认语言:
如何更改默认语言?
为语言选择器对话框选择默认语言涉及 3 个步骤。
- 启动时,NSIS 尝试使用 UI 语言 the user is using 的语言 ID 初始化
$Language
。这发生在调用.onInit
回调之前。 - 如果您正在使用 MUI 并设置了 MUI_LANGDLL_REGISTRY_* 定义并且它们在注册表中找到,那么
$Language
将在 [=14] 中强制使用该语言=]宏。如果您不想要此行为,请删除定义或定义MUI_LANGDLL_ALWAYSSHOW
让用户覆盖它。 - 如果 LangDLL 插件认为存在代码页问题(在 ANSI 安装程序中),它会过滤掉一些语言。这可以通过定义
MUI_LANGDLL_ALLLANGUAGES
. 来关闭
如果您想忽略第 1 步,那么您必须自己强制使用该语言:
Function .onInit
StrCpy $Language ${LANG_FRENCH}
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd