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

# 1

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

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

# 2

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

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

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

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

image-20210122100244716

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

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

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

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

# 3

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

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

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

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

打包后安装,选择语言:

英文:

中文:

macOS:

posted @ 2021-02-05 11:05  xhznl  阅读(1683)  评论(4编辑  收藏  举报