NSIS学习记录の----NSIS多语言安装以及详解

   NSIS多语言安装,很多教程提供了详细的代码,但是代码中某些语句的含义我还是不很明白,作为一个吃螃蟹的人,我做一个解释,避免很多小伙伴和我哟U一样的误区,以下结论都是自己根据实践得来,若发现理解错误,请联系我7-7-2-7-0-6-5-4-8#qq.com(为了避免不法分子查信息,已经经过模糊处理,请把“-”去掉,”#“换成“@”)。

先上一段代码:

OutFile "Language.exe"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"
LoadLanguageFile "${NSISDIR}\Contrib\Language files\SimpChinese.nlf"

Section ""
SectionEnd

Function .onInit
    ;Language selection dialog
    Push ""
    Push ${LANG_ENGLISH}
    Push English
    Push ${LANG_SIMPCHINESE}
    Push "Simplified Chinese"
    Push ${LANG_SIMPCHINESE}
    Push "Simplified Chinese"
    Push ${LANG_SIMPCHINESE}
    Push "Simplified Chinese"
    Push ${LANG_SIMPCHINESE}
    Push "Simplified Chinese"
    Push ${LANG_SIMPCHINESE}
    Push "Simplified Chinese"
    Push ${LANG_SIMPCHINESE}
    Push "Simplified Chinese"
    Push A ; A means auto count languages
           ; for the auto count to work the first empty push (Push "") must remain
    LangDLL::LangDialog "Installer Language" "Please select the language of the installer"
    Pop $LANGUAGE
    StrCmp $LANGUAGE "cancel" 0 +2
        Abort
FunctionEnd

多语言安装的步骤是:

一、加载所需要的语言包,也就是上面的LoadlanguageFile,用到什么语言,加载什么语言;

二、语言加入堆栈,作为下面dll接口的参数,即一堆push操作,由于指针和标号问题,要亚茹一个空push “”,下面就是加入语言和语言id,即后面成对压入情况,push A中的A是all的意思,就是说下拉框要展示所有$LANGUAGE的内容,这个A可以是数字2~所有栈中的语言数;

三、调用dll对话框,

四、pop语言变量。

posted @ 2015-12-23 15:56  卖雨伞的小男孩  阅读(4368)  评论(0编辑  收藏  举报