WordPress主题和插件汉化教程

2023年5月23日教程大全wordpress,WordPress汉化

WordPress很多主题和插件都是国外制作的,可能没有中文语言提供或是部分中文。如果我们长期使用的花,可以考虑自己将其汉化一下,方便后续使用。

相关链接

Poedit汉化工具官网:https://poedit.net

文件备份:OneDrive-2023-5-23-Poedit-3.3.1-setup.exe

汉化前准备

本文教程以博主使用的这款 Luxeritas 主题为例。

Poedit汉化工具是免费使用的,建议直接在官网下载。Pro版主要是提供了自动翻译功能。一般也不建议使用自动翻译,很多翻译内容都要二次修改。

对于一些大型的主题或者插件,汉化工作还是比较多的。我们需要先进行手动翻译,然后反复的进行对照修改。

汉化前我们需要了解要汉化的主题插件提供了哪些语言,一般是使用英文汉化成中文(方便翻译)。

在绝大多数主题插件内都提供有面向翻译人员的Portable Object可移植对象,一般是.po或.pot文件后缀。

我们使用Portable Object翻译文件就可以开始汉化了。

汉化步骤

1.安装并打开Poedit汉化工具

工具安装后打开即可使用。

2.例用pot模板创建新翻译

pot模板文件一般在我们主题中都有提供。每种主题和插件的文件位置可能都不一样,需要自己根据实际情况进行查找。

一般来说可能会存在以下几个目录内:

/wp-content/languages/themes
/wp-content/languages/plugins
/wp-content/themes/主题名/languages
/wp-content/plugins/插件名/languages

我们将翻译文件下载到本地,然后使用Poedit打开。

3.选择翻译语言

打开翻译文件后会提示我们选择要翻译的语言,选择即可。

4.开始翻译

如上图左侧是原文,右侧是翻译后的内容。

将翻译内容在下方填入即可。

对于不需要翻译的内容我们保持原样复制过来,也可以选中多个后按快捷键Ctrl+B来快速复制。

后面都是比较繁琐的重复翻译步骤了。一般来说英文直接翻译过来会有很多歧义的地方,建议自己根据实际情况进行修改译文。

这里推荐几个翻译地址:

欧路词典(推荐):https://dict.eudic.net

DeepL翻译:https://www.deepl.com/translator

这两个相对来说翻译较为准确,不过仍然有大量翻译需要人工判断修改。

5.保存翻译文件

内容翻译完成后我们需要保存翻译后的文件。

保存后的.mo文件是我们主题或插件真正使用的翻译文件。.po文件是翻译对照文件,方便后续二次修改使用的。

一般来说正经的主题都会同时提供这两个文件。不过国内一些汉化的基本都是只提供.mo文件并在译文内加上自己网站之类的链接,不方便二次翻译。

 

这里有2种保存方式:

1.保存为.po翻译文件,并且同时会编译出.mo文件。

2.直接编译出.mo文件。(不推荐)

我们选择1方式另存为即可。文件名默认是语言名加后缀,例如zh_CN.po

6.上传翻译文件

保存翻译文件后我们需要将其上传到对的目录。

一般是和我们下载.po文件在同一个目录内。文件名绝大多数使用默认的zh_CN.mo即可正常读取。

但是一些存放于/wp-content/languages/目录下主题或者插件的翻译文件可能还需要加上主题名字,具体的需要参考主题插件其他翻译文件格式确定。

找不到的,去主题官方文档里查找看看。

例:twentyfifteen-zh_CN.mo

 

.mo文件反编译.po

.mo汉化文件默认是不可阅读的,文本打开里面是乱码。我们可以使用使用Poedit带的msgunfmt.exe程序来反编译.mo文件输出.po

在Poedit安装目录Poedit\GettextTools\bin中可以找到msgunfmt.exe。

.mo反编译步骤

1.打开Windows自带的CMD

2.输入d:进入D盘

3.输入cd D:\Program Files (x86)\Poedit\GettextTools\bin进入程序目录,实际目录根据自己实际情况设置。

4.将.mo文件放入D:\Program Files (x86)\Poedit\GettextTools\bin目录。

5.输入命令:msgunfmt LayerSlider-zh_CN.mo > LayerSlider-zh_CN.po反编译文件。实际文件名根据自己情况修改。

可以看到目录内已经反编译出了.po文件。

然后使用.po文件按照本文章教程进行翻译吧。

 

教程结束。

 

Posted by 柴郡猫