问题描述
官方提供的 sftpgo webui 的默认语言为英文,没有支持中文的语言包。实际上中文语言包已经翻译完毕,本文介绍一种在不重新编译的情况下为 sftpgo 的 webui 增加中文包的方法。
准备
- (已完成安装的跳过) 安装 sftpgo 的官方安装包,这里例子中使用的是:sftpgo_v2.6.6_windows_portable.zip 具体下载地址:https://github.com/drakkan/sftpgo/releases
- 下载已经汉化的中文资源,其实际上是一个 json 文件,可以参考这个:https://gitee.com/chenbichao/sftpgo-ryan/blob/master/static/locales/zh/translation.json
- sftpgo 服务已可以正常使用
原理
webui 的前端资源都已经在 sftpgo 的可执行文件的同级目录下存在,分别是 template 文件夹下的页面展示信息和 static 文件夹下的资源。通过直接修改 template 中的 js 代码可以增加页面中的语言选项,并在用户点击时自动下载该资源。资源数据下载后存储在浏览器的 localstorage 中,可能存在缓存。可能需要清理 localstorage 中该网址下的 i18next 开头的项。
操作步骤
- 修改 template/common/base.html 搜索 Italiano 字样,原始数据如下:
const lngs ={ en:{ nativeName:'English'}, it:{ nativeName:'Italiano'}};
将这部分修改为
const lngs ={ en:{ nativeName:'English'}, it:{ nativeName:'Italiano'}, zh:{ nativeName:'简体中文'}};
然后搜索 supportedLngs 字段,原始数据如下:
supportedLngs

