我们长期用国外的主题,由于都是自己用,给客户做的企业官网我们也是承包后台这些,看得懂英文所以就没怎么汉化过,偶尔遇到要明显改成中文的,就直接改下代码就行了。但是前几天新买了一套国外主题,遇到直接修改代码会出现问题,会改变原有主题的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,其他的都行。

  1. 先复制一份pot文件,把复制的pot副本文件直接改成zh_CN.po文件;
  2. Sublime Text打开zh_CN.po文件;
  3. 然后把里面对应的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文件夹就行了。

到此就完成了人工翻译汉化的工作。

后记:

如果主题还是英文,中文汉化没有生效?

  • 主题后台重新设置下中文语言;
  • 还有种情况就是主题和插件,单独用函数调用语言包文件,那么就得把对应的代码也改了。

此教程是汉化主题和插件显示在前台的,不是汉化主题插件后台设置的,因为国外某些主题依赖第三方插件框架。