pfSense中文语言包制作方法

pfSense2.60版本推出后,很多Web界面的多语言显示并不完全,究其原因是因为官方未更新其多语言包,目前翻译平台提供的多语言文件还是2.50版本的。虽然已经跟开发人员进行了反馈,但截止目前,还没有更新。

pfSense从2.0开始,所有的PHP文件都使用了基于Gettext的标准进行开发,确保了程序的输出使用用户设置的语言而不是默认的英文。我们可以使用Gettext工具来抓取程序的多语言显示选项,制作po多语言包来替换系统的默认语言包,实现Web界面完全汉化的目标。gettext的使用说明,可以参考官方的使用手册

需要用到的软件:

Gettext 0.21 for Windows

Poedit for Windows

操作步骤

下载php文件

全新安装pfSense2.60版本,然后开启shell,使用Winscp软件,将”/usr/local/www”和“/etc/inc/”目录的所有文件下载到本地硬盘。

制作文件列表

运行cmd程序,进入下载文件所在的目录。运行以下命令,分别制作两个目录的列表文件php.list和inc.list。使用notepad++等文本程序,将两个文件合并到一个列表文件php.list中。

dir *.php /s/b>php.list
dir *.inc /s/b>inc.list

制作文件

安装完gettext 0.21以后,在程序的安装目录找到xgettext程序,复制到下载目录,然后执行以下命令,制作po文件。详细参数见官方使用手册。

xgettext --files-from="F:\gettext\php.list" --output=pfsense.po --language=PHP --extract-all --from-code=UTF-8

修改文件

使用notepad++打开pfsense.po文件,将不需要翻译的条目删除,根据官方的po语言文件格式,替换所有文件的目录列表形式。

翻译文件

使用poedit打开pfsense.po文件,逐项翻译并保存。保存后会自动生成pfsense.mo文件。

替换文件

将保存后的pfsense.mo文件复制到/usr/local/share/locale/zh_Hans_CN/LC_MESSAGES目录,替换原有文件。

切换显示语言

进入防火墙的Web界面,在”系统设置>常规设置”的语言选项,选中简体中文并切换。如果已经是简体中文,只需重启防火墙即可。

相关程序下载:

gettext0.21-iconv1.16-static-64

相关文章:

Poedit实现po和mo的相互转换

如何快速反编译 mo文件 

发表评论

您的电子邮箱地址不会被公开。