我们长期用国外的主题,由于都是自己用,给客户做的企业官网我们也是承包后台这些,看得懂英文所以就没怎么汉化过,偶尔遇到要明显改成中文的,就直接改下代码就行了。但是前几天新买了一套国外主题,遇到直接修改代码会出现问题,会改变原有主题的css样式,还有就是有几处改之后也不生效。
那这种就只能去汉化语言包文件了,以下是人工翻译教程(建议人工翻译,少用软件自动翻译)。
前言:
语言包文件包括了3个文件:.pot、.po和.mo文件。
- .pot:其实和.po一样,我们翻译一般直接调用这个文件来修改;
- .po:相当于前台给人看的翻译文件;
- .mo:是一个二进制文件,相当于给电脑看的翻译文件;
由于我们改的是po文件,所以说下里面主要两个用到的参数意思:msgid和msgstr
- msgid:原文的意思;
- msgstr:译文的意思,我们就是改这个参数。
1-Wordpress语言文件:
WordPress主题或者插件的语言文件都在languages文件夹里面,国外主题一般里面默认有:
- es_ES.po、es_ES.mo、还有一个xxx.pot文件
2-汉化pot文件:
用编译器改就行,我是用Sublime Text,其他的都行。
- 先复制一份pot文件,把复制的pot副本文件直接改成zh_CN.po文件;
- Sublime Text打开zh_CN.po文件;
- 然后把里面对应的msgstr参数翻译之后保存就行;
3-服务器安装gettext模块
Linux centos服务器:
yum install gettext
4-po文件转化mo文件
- 在服务器里面新建一个文件夹:mkdir test
- 把刚才保存的zh_CN.po文件上传到test文件夹里面
- 熟悉操作的直接到languages文件夹里面转化吧
现在执行命令转化文件:
cd test msgfmt zh_CN.po -o zh_CN.mo 注:msgunfmt可以把mo转化成po,虽然基本用不到... msgunfmt zh_CN.mo -o zh_CN.po
这个时候你就能看见文件夹里面有个zh_CN.mo文件了。
5-语言包放到languages文件夹
把zh_CN.po和zh_CN.mo放到主题或者插件的languages文件夹就行了。
到此就完成了人工翻译汉化的工作。
后记:
如果主题还是英文,中文汉化没有生效?
- 主题后台重新设置下中文语言;
- 还有种情况就是主题和插件,单独用函数调用语言包文件,那么就得把对应的代码也改了。
此教程是汉化主题和插件显示在前台的,不是汉化主题插件后台设置的,因为国外某些主题依赖第三方插件框架。