NSIS脚本的语言包文件,存放在如下目录:字体
NSIS安装目录\Contrib\Language files
在这个目录下有不少语言包,通常简体中文使用的语言包是 SimpChinese.nlf 和 SimpChinese.nsh 两个文件。ui
在NSIS脚本中,写入下面这句话,就能够调用简体中文语言包了。指针
!insertmacro MUI_LANGUAGE "SimpChinese"
不过,NSIS程序默认的简体中文语言包有不少问题。这个语言包遣词很是生硬,难以知足客户的不少定制化要求。日志
所以我决定在这个语言包的基础上,本身新写一组语言包:CustomizedChinesecode
CustomizedChinese.nlf 代码以下:进程
# ################################### # nlf file of CustomizedChinese # Author: Tsybius2014 # DateTime: 2016/04/06 # Remark: none # ################################### # Header, don't edit NLF v6 # Language ID 2052 # Font and size - dash (-) means default 字体名称与大小 宋体 9 # Codepage - dash (-) means ANSI code page ANSI 字码页 936 # RTL - anything else than RTL means LTR 由右至左书写 - # ^Branding Nullsoft Install System %s # ^SetupCaption $(^Name) 安装 # ^UninstallCaption $(^Name) 卸载 # ^LicenseSubCaption : 受权协议 # ^ComponentsSubCaption : 安装选项 # ^DirSubCaption : 安装文件夹 # ^InstallingSubCaption : 正在安装 # ^CompletedSubCaption : 已完成 # ^UnComponentsSubCaption : 卸载选项 # ^UnDirSubCaption : 卸载文件夹 # ^ConfirmSubCaption : 确认 # ^UninstallingSubCaption : 正在卸载 # ^UnCompletedSubCaption : 完成 # ^BackBtn < 上一步(&P) # ^NextBtn 下一步(&N) > # ^AgreeBtn 我接受(&I) # ^AcceptBtn 我接受“受权协议”中的条款(&A) # ^DontAcceptBtn 我不接受“受权协议”中的条款(&N) # ^InstallBtn 安装(&I) # ^UninstallBtn 卸载(&U) # ^CancelBtn 取消(&C) # ^CloseBtn 关闭(&L) # ^BrowseBtn 浏览(&B)... # ^ShowDetailsBtn 显示细节(&D) # ^ClickNext 单击 [下一步(N)] 继续。 # ^ClickInstall 单击 [安装(I)] 开始安装。 # ^ClickUninstall 单击 [卸载(U)] 开始卸载。 # ^Name 名称 # ^Completed 已完成 # ^LicenseText 在安装 $(^NameDA)以前请检阅受权协议。若是你接受协议中全部条款,单击 [我接受(I)] 。 # ^LicenseTextCB 在安装 $(^NameDA)以前请检阅受权协议。若是你接受协议中全部条款,单击下方的勾选框。 $_CLICK # ^LicenseTextRB 在安装 $(^NameDA)以前请检阅受权协议。若是你接受协议中全部条款,选择下方的第一个选项。 $_CLICK # ^UnLicenseText 在卸载 $(^NameDA)以前请检阅受权协议。若是你接受协议中全部条款,单击 [我接受(I)] 。 # ^UnLicenseTextCB 在卸载 $(^NameDA)以前请检阅受权协议。若是你接受协议中全部条款,单击下方的勾选框。 $_CLICK # ^UnLicenseTextRB 在卸载 $(^NameDA)以前请检阅受权协议。若是你接受协议中全部条款,选择下方的第一个选项。 $_CLICK # ^Custom 自定义 # ^ComponentsText 勾选你想要安装的组件,并解除勾选你不但愿安装的组件。 $_CLICK # ^ComponentsSubText1 选定安装的类型: # ^ComponentsSubText2_NoInstTypes 选定安装的组件: # ^ComponentsSubText2 或者,自定义选定想安装的组件: # ^UnComponentsText 勾选你想要卸载的组件,并解除勾选你不但愿卸载的组件。 $_CLICK # ^UnComponentsSubText1 选择卸载的类型: # ^UnComponentsSubText2_NoInstTypes 选择要卸载的组件: # ^UnComponentsSubText2 或是,选择想要卸载的可选项组件: # ^DirText 选择 $(^NameDA)要安装的文件夹。要安装到其余文件夹,单击 [浏览(B)] 并选择该文件夹。\r\n\r\n$_CLICK # ^DirSubText 目标文件夹 # ^DirBrowseText 选择要安装 $(^NameDA)的文件夹位置: # ^UnDirText 卸载向导会将 $(^NameDA)从下面的文件夹中卸载。要卸载不一样文件夹中的内容,单击 [浏览(B)] 并选择其余的文件夹。 $_CLICK # ^UnDirSubText "" # ^UnDirBrowseText 选择要卸载 $(^NameDA)的文件夹位置: # ^SpaceAvailable "可用空间: " # ^SpaceRequired "所需空间: " # ^UninstallingText 这个向导将从你的电脑卸载 $(^NameDA)。 $_CLICK # ^UninstallingSubText 卸载目录: # ^FileError 不能打开要写入的文件: \r\n\t"$0"\r\n单击 [Abort] 放弃安装,\r\n [Retry] 从新尝试写入文件,或\r\n [Ignore] 忽略这个文件。 # ^FileError_NoIgnore 不能打开要写入的文件: \r\n\t"$0"\r\n单击 [Retry] 从新尝试写入文件,或\r\n [Cancel] 取消安装。 # ^CantWrite "没法写入: " # ^CopyFailed "复制失败 " # ^CopyTo "复制到: " # ^Registering "正在注册: " # ^Unregistering "正在解除注册: " # ^SymbolNotFound "没法找到符号: " # ^CouldNotLoad "没法加载: " # ^CreateFolder "建立文件夹: " # ^CreateShortcut "建立快捷方式: " # ^CreatedUninstaller "建立卸载程序: " # ^Delete "删除文件: " # ^DeleteOnReboot "从新启动后删除: " # ^ErrorCreatingShortcut "正在建立快捷方式时发生错误: " # ^ErrorCreating "正在建立时发生错误: " # ^ErrorDecompressing "正在解压缩数据发生错误!已损坏的安装程序?" # ^ErrorRegistering "正在注册 DLL 时发生错误" # ^ExecShell "运行外部程序: " # ^Exec "运行: " # ^Extract "抽取: " # ^ErrorWriting "抽取: 没法写入文件 " # ^InvalidOpcode "安装损毁: 无效的操做代码 " # ^NoOLE "没有 OLE 用于: " # ^OutputFolder "输出目录: " # ^RemoveFolder "移除目录: " # ^RenameOnReboot "从新启动后重命名: " # ^Rename "重命名: " # ^Skipped "已跳过: " # ^CopyDetails "复制细节到剪贴板 " # ^LogInstall "日志安装进程" # byte B # kilo K # mega M # giga G
CustomizedChinese.nsh 代码以下ip
;Language: 'Chinese (Customized)' (2052) ;Translator: Tsybius2014 ;Revision date: 2016/04/06 ;Verified by: !insertmacro LANGFILE "CustomizedChinese" "Chinese (Customized)" !ifdef MUI_WELCOMEPAGE ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "欢迎使用 $(^NameDA)安装向导" ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "本向导将指引您完成 $(^NameDA)的安装。$\r$\n$\r$\n在开始安装以前,建议关闭其余全部应用程序。此操做将容许“安装程序”更新指定的系统文件,而不须要从新启动您的电脑。$\r$\n$\r$\n若您的电脑已安装 $(^NameDA)程序,请先行卸载再进行安装。$\r$\n$\r$\n$_CLICK" !endif !ifdef MUI_UNWELCOMEPAGE ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "欢迎使用 $(^NameDA)卸载向导" ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "本向导将指引您完成 $(^NameDA)的卸载。$\r$\n$\r$\n在开始卸载以前,请确认 $(^NameDA)已经关闭。$\r$\n$\r$\n$_CLICK" !endif !ifdef MUI_LICENSEPAGE ${LangFileString} MUI_TEXT_LICENSE_TITLE "受权协议" ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "在安装 $(^NameDA)以前,请阅读下面的受权协议。" ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "若是您接受本协议,单击 [我接受(I)] 继续安装。若是您选定 [取消(C)] ,安装程序将会关闭。必须接受此协议后才能安装 $(^NameDA)。" ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "若是您接受“受权协议”,选中下方的勾选框,选中后才能安装 $(^NameDA)。$_CLICK" ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "若是您接受“受权协议”,选择下方第一个选项。必需要接受协议才能安装 $(^NameDA)。$_CLICK" !endif !ifdef MUI_UNLICENSEPAGE ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "受权协议" ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "在卸载 $(^NameDA)以前,请阅读下面的责任条款。" ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "若是您接受本协议,单击 [我接受(I)] 继续卸载。若是您选定 [取消(C)] ,安装程序将会关闭。必需要接受此协议后才能卸载 $(^NameDA)。" ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "若是您接受“受权协议”,单击下方的勾选框。必需要接受协议才能卸载 $(^NameDA)。$_CLICK" ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "若是您接受“受权协议”,选择下方第一个选项。必需要接受协议才能卸载 $(^NameDA)。$_CLICK" !endif !ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "按 [PgDn] 阅读“受权协议”的其他部分。" !endif !ifdef MUI_COMPONENTSPAGE ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "选择组件" ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "选择您想要安装 $(^NameDA)的那些功能。" !endif !ifdef MUI_UNCOMPONENTSPAGE ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "选定组件" ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "选定 $(^NameDA)当中您想要卸载的功能。" !endif !ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "描述" !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "移动您的鼠标指针到组件之上,即可见到它的描述。" !else ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "移动您的鼠标指针到组件之上,即可见到它的描述。" !endif !endif !ifdef MUI_DIRECTORYPAGE ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "选择安装位置" ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "选择 $(^NameDA)的安装文件夹。" !endif !ifdef MUI_UNDIRECTORYPAGE ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "选定卸载位置" ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "选定 $(^NameDA)要卸载的文件夹。" !endif !ifdef MUI_INSTFILESPAGE ${LangFileString} MUI_TEXT_INSTALLING_TITLE "正在安装" ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA)正在安装,请等候..." ${LangFileString} MUI_TEXT_FINISH_TITLE "安装完成" ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "安装成功。" ${LangFileString} MUI_TEXT_ABORT_TITLE "安装己停止" ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "安装失败。" !endif !ifdef MUI_UNINSTFILESPAGE ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "正在卸载" ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE " $(^NameDA)正在卸载,请等候..." ${LangFileString} MUI_UNTEXT_FINISH_TITLE "卸载已完成" ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "卸载成功。" ${LangFileString} MUI_UNTEXT_ABORT_TITLE "卸载已停止" ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "卸载失败。" !endif !ifdef MUI_FINISHPAGE ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "正在完成 $(^NameDA)安装向导" ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT " $(^NameDA)已安装在您的电脑。$\r$\n$\r$\n单击 [完成(F)] 关闭此向导。" ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "您的系统须要从新启动,以便完成 $(^NameDA)的安装。如今要从新启动吗?" !endif !ifdef MUI_UNFINISHPAGE ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "正在完成 $(^NameDA)卸载向导" ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT " $(^NameDA)已从您的电脑卸载。$\r$\n$\r$\n单击 [完成] 关闭这个向导。" ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "电脑须要从新启动,以便完成 $(^NameDA)的卸载。如今想要从新启动吗?" !endif !ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "是,如今从新启动(&Y)" ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "否,我稍后再自行从新启动(&N)" ${LangFileString} MUI_TEXT_FINISH_RUN "运行 $(^NameDA)(&R)" ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "显示“自述文件”(&M)" ${LangFileString} MUI_BUTTONTEXT_FINISH "完成(&F)" !endif !ifdef MUI_STARTMENUPAGE ${LangFileString} MUI_TEXT_STARTMENU_TITLE "选择“开始菜单”文件夹" ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "选择“开始菜单”文件夹,用于建立程序的快捷方式。" ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "选择“开始菜单”文件夹,建立程序的快捷方式。如输入的菜单名称不存在于“开始菜单”中,向导会自动建立新文件夹。" ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "不建立快捷方式(&N)" !endif !ifdef MUI_UNCONFIRMPAGE ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "卸载 $(^NameDA)" ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "从您的电脑卸载 $(^NameDA)" !endif !ifdef MUI_ABORTWARNING ${LangFileString} MUI_TEXT_ABORTWARNING "您肯定要退出 $(^Name)安装程序吗?" !endif !ifdef MUI_UNABORTWARNING ${LangFileString} MUI_UNTEXT_ABORTWARNING "您肯定要退出 $(^Name)卸载吗?" !endif
将这两个文件,放置到下面目录:it
NSIS安装目录\Contrib\Language files
再在NSIS脚本中加入这句话:io
!insertmacro MUI_LANGUAGE "CustomizedChinese"
就能够应用这个新的语言包了。假定某程序定义了PRODUCT_NAME以下:基础
!define PRODUCT_NAME "X系统"
使用makensisw.exe打包完毕后,就能够看到新语言包的效果了!
注意:
一、在nsh脚本中使用$(^NameDA)和$(^Name)替换PRODUCT_NAME时,NSIS程序会在名称后面自动添加一个空格。
二、一个安装向导并非全部的文字描述都被写到语言包里,好比有些自定义的MessageBox的文字描述,就须要在NSIS脚本中自行编写。
END