NSIS打包之多语言

安装包要支持日文,中文,和英文。
对于这种情况,如果使用shift-jis保存nsis脚本的话,就会出现中文乱码的问题。
针对这种情况,经过不断地尝试,需要将nsis脚本保存为utf-8 BOM格式。这样就能够支持中文 英文和日文了。

在 NSIS 中使用 LangString 实现多语言切换时,中文出现乱码的核心原因是 编码不匹配(NSIS 默认使用 ANSI 编码,而中文需要指定 UTF-8 或 GB2312 编码),而非 LangString 语法本身问题。以下是具体原因分析和完整解决方案:

一、乱码根源:NSIS 编码机制与中文需求不匹配

NSIS 历史版本默认采用 ANSI 编码(不同系统的 ANSI 编码不同,如中文 Windows 是 GB2312,日文 Windows 是 Shift_JIS),但:

  1. 若脚本文件保存为 UTF-8(无 BOM)或其他编码,NSIS 编译器无法正确解析中文字符,导致乱码;
  2. 即使脚本编码正确,若未在脚本中明确指定“中文语言对应的编码”,NSIS 会用默认 ANSI 处理,仍可能因系统编码差异出错。

二、完整解决方案:

NSIS 对中文的兼容性最佳编码是 UTF-8 with BOM(带字节顺序标记),主流编辑器(VS Code、Notepad++、Sublime)均支持:

  • Notepad:点击菜单栏「另存为」→ 选择「UTF-8-BOM」;

注意:若脚本中同时包含日文、英文,UTF-8-BOM 可兼容所有语言,无需切换编码。

NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System) 的缩写,它是一个免费的 Win32 安装、卸载系统,采用了简洁高效的脚本方式。它本来是一个由 Nullsoft 创建并用于作为 Winamp 及其插件发布的系统,但现已被上百个应用程序所应用,作为它们进行程序发布的工具。 NSIS 创建的安装程序可以进行安装、卸载、设置系统设置、解压文件等等。几乎可以做所有事情。因为它基于脚本文件,所以你可以完全控制你的安装程序的每个部分。它的脚本语言支持变量、函数、字串处理,就像是一个普通的程序语言 - 但其仅设计用来创建安装程序。 简体中文增强版除了主程序的翻译之外还把主要的文档作了翻译并修正了官方版本里简体中文语言习惯用语不合适之处。 单纯的使用脚本来编写安装程序对于大多数人来说不仅困难而且容易出错,为此,简体中文增强版里集成了一个相当好用的脚本编辑器 - VNISEdit。只需要根据向导就能轻松的做出很酷的安装程序,甚至,你还可以在向导里给你的安装程序添加启动画面、让你的安装程序在安装过程中播放音乐,而这,只需要点几下鼠标即可。除此之外,VNISEdit 附带的注册表转换插件还可以把 .reg 文件一次性的转换为 NSIS 脚本,补丁制作向导可以一次性地为你生成体积超小的补丁升级程序。简体中文增强版还在官方版本的基础上集成了一些有用的插件,比如 FindProc 可以根据可执行文件名查找进程是否在运行,这在制作补丁程序或者是汉化包时非常有用。由于各个组件在使用时各自独立,所以强烈推荐安装全部组件。 本汉化包含 restools 汉化的 VNISEdit,感谢 Restools 的无私提供。包含一些网上提供的插件,对插件的开发者表示感谢。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

helloworddm

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值