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


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

    先上一段代码:

    OutFile "Language.exe"
    LoadLanguageFile "${NSISDIR}ContribLanguage filesEnglish.nlf"
    LoadLanguageFile "${NSISDIR}ContribLanguage filesSimpChinese.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语言变量。

  • 相关阅读:
    Git
    系统设计基础
    Java框架之Hibernate(二)
    Java框架之Hibernate(一)
    Java框架之Spring MVC(二)
    Java框架之Spring MVC(一)
    Java框架之Spring(五)
    Java框架之Spring(四)
    Java框架之Spring(三)
    Spring中四种实例化bean的方式
  • 原文地址:https://www.cnblogs.com/xietianjiao/p/5070198.html
Copyright © 2020-2023  润新知