Nsis MultiLanguage在语言选择文本框中显示语言2次

时间:2017-11-08 04:57:39

标签: nsis

我使用NSIS 3.02.1创建了我的Windows应用程序安装程序。 在语言选择文本框中,语言显示2次。

  

EX。

     

英/

     

中文(简体)/汉语(建天子)

     

俄罗斯/ Russkij ......

在我之前使用NSIS 2.46构建的设置中,这种语言设置如下:

  

     

中国

     

俄罗斯...

我不想在我的语言选择设置中更改此设置。如何在NSIS 3.02.1中的NSIS 2.46中定义语言选择设置?

1 个答案:

答案 0 :(得分:1)

如果您仍然支持Windows 95/98 / ME,那么我建议您使用NSIS v2.51,它具有NSIS v3的所有安全更新,并在语言选择对话框中提供更好的语言支持。

如果您只支持较新版本的Windows,则应将Unicode True添加到脚本中,这将在语言选择对话框中显示该语言的本机名称,并且所有系统都支持所有语言。

如果您坚持使用NSIS v3创建ANSI安装程序,那么您可以使用未记录的LANGFILE_LANGDLL_FMT定义:

OutFile test.exe
RequestExecutionLevel user

!define LANGFILE_LANGDLL_FMT "%NATIVEASCIINAME%" ; %NATIVENAME% can also be used but it will display ? in some cases.

!include "MUI2.nsh"
!insertmacro MUI_RESERVEFILE_LANGDLL
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "Swedish"
!insertmacro MUI_LANGUAGE "Russian"
!insertmacro MUI_LANGUAGE "SimpChinese"

Function .onInit
    !insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd

Section
SectionEnd