Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

  • A+
所属分类:Web前端
摘要

通常pc软件的安装过程中,会加入用户协议,如:下面介绍一下使用electron-builder打包应用,如何加入license。首先参考官网介绍:windows:nsis,macOS:dmg

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

# 1

通常pc软件的安装过程中,会加入用户协议,如:

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

下面介绍一下使用electron-builder打包应用,如何加入license。首先参考官网介绍:windows:nsis,macOS:dmg

# 2

官网上关于license配置说明写的不是很详细,下面是我实践总结出的正确的姿势:

最简单的方法是在你的项目/build目录下新建license.text文件,然后正常打包就可以了,无需其他设置。

注意,这里有一个中文乱码的问题,如果只考虑windows系统的话,编码可以选择ANSI,就不会乱码了。

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

但是ANSI在macOS下是不行的,所以更推荐的方案是使用 “带有BOM的UTF-8“,这样在windows,macOS下都可以使用。

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

/buildelectron-builder默认资源目录,也可以修改,比如我这里是public目录:

directories: {   buildResources: "./public", } 

这样license.text文件就放在/public目录下即可。

如果没有多语言需求的话,这样就结束了,windows,macOS通用。

# 3

如果要支持多语言,只需修改license文件名添加对应的语言代码后缀,如:license_xxx.txt。关于语言代码官网给出的参考是language code to name,这里有个错误,中文对应的是zh,实际上简体中文应该写zh_CN

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

下面在我的/public目录下新建license_en.txtlicense_zh_CN.txt

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

为了测试多语言,我增加一个语言选择配置displayLanguageSelector(正常不建议使用这个配置,默认跟随系统语言):

nsis: {   oneClick: false,   allowToChangeInstallationDirectory: true,      displayLanguageSelector: true, }, 

打包后安装,选择语言:

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

英文:

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

中文:

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持

macOS:

Electron实用技巧-electron-builder中用户协议(license)的使用及多语言支持