使用Poedit翻译/汉化WordPress主题和插件

资讯1年前 (2023)发布 iowen
178 0 0

WordPress有非常多的主题和插件,但是很多都是老外开发的,没有默认包含中文语言包,导致很多朋友无法直接使用。一直来,倡萌都在分享一些不错的WordPress插件,然后尽可能进行汉化翻译,但是一个人的精力毕竟有限。

所以,今天分享下使用Poedit翻译/汉化WordPress主题和插件的教程,希望可以帮助到一些朋友。



PoEdit 是一款.po文件编辑器,PO即Portable Object,可跨平台对象的意思,PoEdit常用来汉化各种程序,它内置于wxWidgets工具中,可以在所有它支持的平台上运行,如Unix下的GTK+以及Windows。PoEdit提供更方便的办法编辑目录,而不用通过启动VI文本编辑器,手动编辑。

百度百科

估计谁看了百科的介绍都有点云里雾里,下面就直接进入正题吧。

下载安装Poedit

下载并安装Poedit:https://poedit.net/(建议务必到官方下载,如果实在没办法官方下载,请自己百度下载吧)安装过程就不想讲述了。

编辑和保存翻译

1、安装好以后,运行poedit,然后就可以看到如下界面,通常我们直接点击“翻译WordPress主题或插件”:


使用Poedit翻译/汉化WordPress主题和插件


2、然后会弹出一个窗口,将需要翻译的插件文件夹拖放到上面,然后按照下图选择语言,继续:


使用Poedit翻译/汉化WordPress主题和插件


3、稍等一下,Poedit就为检索到了需要翻译的字段,非常智能化。

根据倡萌的经验,我们需要修改一下“编目属性”里的“复数形式”,如下图,选择“使用自定义复数表达式”,然后填入 ‪nplurals=2; plural=(n > 1);,这样就可以确保单复数字段可以正常识别和翻译


使用Poedit翻译/汉化WordPress主题和插件


在“编目属性”的“源关键字”选项卡,我们可以看到Poedit已经自动添加了关键字,也就是只要在WordPress主题或插件中,包含了这些关键字的字段,都可以检索和翻译。一般而言,我们不需要去修改这里的设置,除非你很清楚源关键字到底是什么。


使用Poedit翻译/汉化WordPress主题和插件


4、接下来,我们就可以逐条进行翻译,上面是英文,下面就是输入中文的地方。

注意:翻译一定要非常注意高亮字段,比如下图的源文本中包含了高亮显示的 %s,我们需要原样复制到翻译中,必须确保可以正常高亮显示,否则可能会导致这条翻译无法正常生效。


使用Poedit翻译/汉化WordPress主题和插件


Poedit 的右侧栏已经包含了自动翻译建议,免费版一般采用的是微软翻译,如果你要更好的翻译质量,那可以购买他们的最高级的授权,是按年收费的。

5、翻译以后,我们第一次保存,会 弹出如下窗口,一般文件名默认即可,文件名后面的部分,简体中文为 zh_CN,繁体中文为 zh_TW


使用Poedit翻译/汉化WordPress主题和插件


保存以后,一般会同时生成一个.mo格式的文件,这个文件就是显示翻译必须的,而 .po 格式的文件是Poedit软件可编辑的格式,也就是说,我们只需要去编辑.po格式的文件,保存时会自动更新.mo文件。


使用Poedit翻译/汉化WordPress主题和插件


上传翻译到对应目录

一般而言,你保存翻译文件的时候,Poedit会智能地识别目录,然后将文件保存在插件的指定语言目录中,这样一般就可以生效了。比如上图的 search-meter/languages 目录就是Search Meter 插件的语言目录。

但是,通常我们都需要在后台更新主题和插件,这样会导致,每次更新都会删除掉语言包,为了解决这个问题,WordPress还提供了一个很好的解决办法。

  • 插件:将插件的.mo和.po文件上传到 /wp-content/languages/plugins 目录即可

  • 主题:主题默认保存的语言包,是不包含主题名称的,你会看到 zh_CN.mo 和 zh_CN.po,所以我们要修改下名字为 主题名+zh_CN(比如2020主题的语言包名字为 twentytwenty-zh_CN),然后将语言文件上传到/wp-content/languages/themes 目录即可

注:严格来说,上面说的主题名其实应该是主题注册翻译的时候设置的textdomain,通常规范的主题设置都会将textdomain设置为主题文件夹的名称。

如果你要了解更多,可以看下:《让WordPress主题支持语言本地化》

如何对新版本进行翻译

WordPress主题和插件会不断升级更新,如果我们要对新版本的主题或插件更新翻译,如何做呢?

其实很简单,只需要将之前的语言包文件复制到主题或插件自身的语言目录,然后编辑 .po 文件,点击界面的“从代码更新”即可获取到新的字段,翻译后,保存即可。


使用Poedit翻译/汉化WordPress主题和插件


设置Poedit首选项

如果你觉得每次翻译新的项目,都需要填写一些信息太麻烦了,你可以在首选项设置一些默认的设置,比如翻译者的名称和电子邮件等:



一些翻译建议

翻译最重要的就是质量。如果翻译不准确,可能会给使用者造成困扰,甚至会导致使用者误操作。所以,翻译是一项细活,翻译完了以后,还要去后台插件的界面去仔细看下,哪些句子或词语翻译不够准确,进行必要的修正。

并不是所有的主题和插件都非常规范,有时候,你会发现无法使用Poedit获取翻译字段,或者获取到的字段不完整。如果遇到这些问题,建议联系主题或插件的作者反馈,希望他们进行完善和修复。

如果你发现翻译的语言包在主题或插件的语言目录中不生效,那就尝试复制语言包到 /wp-content/languages/plugins(插件)或/wp-content/languages/themes (主题),或许就可以了。

如果你翻译汉化了主题或插件,学会分享出来,让更多人的人受益。只要人人都奉献一点爱,世界将变成美好的人间!

拓展阅读:

  • WordPress翻译中 __()、_e()、_x、_ex 和 _n 的用法及区别

  • 让WordPress主题支持语言本地化

  • 让WordPress插件支持语言本地化

  • WordPress函数:load_theme_textdomain(主题本地化)

  • WordPress函数:load_plugin_textdomain(插件本地化)

  • WordPress函数:wp_localize_script(脚本本地化)

  • 如何本地化翻译 Javascript 中的字符串

  • WordPress 使用 gettext 钩子替换本地化翻译文本

  • WordPress 5.0+ JavaScript本地化翻译

© 版权声明

相关文章

暂无评论

暂无评论...