您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
wordpress插件怎么汉化
张豆焕2025-03-02WordPress教程已有人查阅
导读翻译或者说本地化 WordPress 插件和主题可以让更多的国家和地区的人使用,而 WordPress 对 i18n 的支持使这一切都变得非常简单,插件和主题的作者非常容易就能让人们把他们的插
翻译或者说本地化 WordPress 插件和主题可以让更多的国家和地区的人使用,而 WordPress 对 i18n 的支持使这一切都变得非常简单,插件和主题的作者非常容易就能让人们把他们的插件翻译成各种语言。
这篇日志首先将会详细讲解应该如何修改插件和主题,使得插件和主题能够被翻译。然后将介绍一个叫做 poEdit 的翻译软件,通过它来 本地化 WordPress 插件和主题。
WordPres 插件和主题本地化的好处和 .po 文件
WordPress 插件和主题有越多的语言版本,就会有越多的不同国家的人下载和使用。
如果 WordPress 插件和主题很流行,很多人使用,就会有用户把它翻译成不同的语言以方便其他地区的人能够使用它。当然最麻烦最原始的翻译方法就是逐行逐字的翻译源代码。不过现在采用的是简单轻便的翻译方法:通过 .po 文件。
通过 .po 文件,任何人都能翻译你的插件或者主题,只要他熟悉插件使用的原始语言。并且 .po文件还有一个好处就是,如果源代码作了任何修改,翻译者不必查看源代码来重新翻译,因为所有需要翻译的文本都会自动保存在一个后缀名为 .po 文件中,翻译者所需要做的只是重新更新下.po 文件,翻译新增或修改的部分。
下面以插件为例,详细讲解 WordPress 插件和主题翻译的所有过程:
本地化的准备工作
WordPress 使用 GNU gettext 机制来实现本地化。WordPress 有两个可以被调用的函数:_e 和__。为了使得插件或者主题能够被翻译,每次输出文本的时候,都应该使用这两个函数。
这两个函数使用方法是:__($message, $domain) 和 _e($message, $domain)
_e 和 __的区别是:_e 直接输出文本,而 __ 是返回文本,需要自己输出,所以 __ 一般用在字符串连接当中。
这两个函数都用 $message 作为第一个参数和 $domain 作为第二个参数。第一个参数就是要输出的文本,而第二个参数 $domain不是可选的,它应该是一个和你插件或者主题对应的唯一的名字,举个例子,如果你开发一个叫做 Related Posts 的插件,这里 $domain 就是related_posts,$domain 一般是在 load_plugin_textdomain 函数中定义,下面有具体介绍。
导入本地化文件
在确保输出的文本可以被本地化之后,你必须设置你的插件或者主题的 .mo 文件的路径(.mo 是编译后的 .po 文件,它是在 poEdit 保存的时候会自动产生的)。
在你插件中的代码大致如下所示:
load_plugin_textdomain('your-plugin-domain', "/wp-content/plugins/your-plugin-directory/");
函数具体语法:load_plugin_textdomain($domain, $path)
$domain 变量就是前面 __ 和 _e 函数中使用的第二个参数。$path 是定义 .mo 文件的路径。可以使用相对于 ABSPATH 的相对路径。如果插件没有自己的目录,这里也可以设置为空。
这里需要注意的一件事情是,产生的任何 .mo 文件都应该以 $domain 变量的值作为文件名的前缀。如果插件的 $domain 是 related_posts 的话,那么 .mo 文件将会被命名为 related_posts-zh_CN.mo(假设插件被翻译成中文)。
使用 poEdit 进行翻译
WordPress Codex 已经有一个非常好的如何使用 poEdit 翻译插件或者主题的 step-by-step 教程,但是我这里将通过一个实例展示这些步骤。
第一步:下载 poEdit
第二步:找一个插件翻译:这里以我写的插件 Related Posts 作为例子。
第三步:打开 poEdit 并打开菜单 File -> New catalog…
在弹出的 ‘Settings’ 对话框中,输入你项目的名称,并设置字符集为 UTF-8。
settings_project_name
第四步:输入插件的路径
在刚才的 ‘Settings’ 对话框,点击 ‘Paths’ 标签页并点击建立新条目的图标。假设插件在自己的子目录下并且你会把 .po 保存在子目录中,输入”.”(这将告诉 poEdit 去扫描当前目录和所有子目录)。
poedit_paths
第五步:设置适当的关键字
因为 WordPress 使用 _e 和 __ 函数来本地化,所以你应该让 poEdit 知道这就是它应该查找的。点击 ‘Keywords’ 标签页并输入 _e 和 __ 作为关键字,你可以通过点击 ‘New Item’ 图标输入关键字。
keywords_new_item
第六步:点击 OK 并开始翻译
点击 “Okay” 按钮并保存 .po 文件到你的插件目录下。
在你保存 .po 文件之后,会有一个窗口弹出并告诉你所有它找到相匹配的文本。
poedit_update_summary
如果你不准备翻译该插件,你可以保存.po 文件并把它和插件一起分发出去,让别人能够直接使用它进行翻译。
第七步:翻译插件
一旦所有需要翻译的文本都找到了,就该开始翻译插件了。你所做的就是只要简单的找到你想翻译的文本,并增加你自己的语言。
poedit_translate
上面的 poEdit 界面就是插件翻译界面。
第八步:保存 Catalog
还记得前面提到的 $domain 吗?举个例子,我想生成一个西班牙文的翻译文件,我将会保存这个文件并以 $domain 作为前缀,然后语言和地区代码作为后缀。在这里,$domain 是related_posts 并且语言和地区代码是 es_ES。所以文件名应该为:related_posts-es_ES。
通过保存新文件,我将自动生成一个可以让别人使用的 .po的文件,和一个可以被 WordPress 直接读取来本地化插件的 .mo 文件。
现在如果用户已经在他们的 wp-config.php 文件中设置了适当的 WPLANG 的值,他们插件的选项和输出的文本将会使他们当地的语言。
总结
本地化一个 WordPress 插件是让更多地区用户使用你的插件的一个非常好的方法。本地化首先需要插件作者保证插件能够真正本地化,之后翻译者使用 PoEdit 进行翻译。
备注:对于 WordPress 插件,建议大家使用 PoEdit 进行汉化。直接修改源代码也是可以的,但没有注意编码格式的话,可能会导致插件设置页面出现乱码。而且,插件升级之后旧文件被新文件覆盖,汉化也随之消失……使用 PoEdit 一般不会出现这些问题。
那么,使用 PoEdit 进行汉化的原理是什么呢?WordPress 使用 GNU gettext 机制来汉化,关键之处在于两个函数『 _e 和 __ 』。 PoEdit 通过识别并提取调用了这两个函数里的字符串,然后你只需要输入那些字符串所对应的中文语句,其他的交给 PoEdit 就行了,所有翻译的语句都会在 .po 文件中。
世界上只有两种插件不能被汉化:这种和那种。对于这种插件,他本身就是中文,当然不需要汉化啦。而那种插件呢,由于作者在编写插件过程中没有调用函数『 _e 和 __ 』,使得 PoEdit 无法识别其中需要被汉化的字符串,因此那种插件就不能被汉化。
这篇日志首先将会详细讲解应该如何修改插件和主题,使得插件和主题能够被翻译。然后将介绍一个叫做 poEdit 的翻译软件,通过它来 本地化 WordPress 插件和主题。
WordPres 插件和主题本地化的好处和 .po 文件
WordPress 插件和主题有越多的语言版本,就会有越多的不同国家的人下载和使用。
如果 WordPress 插件和主题很流行,很多人使用,就会有用户把它翻译成不同的语言以方便其他地区的人能够使用它。当然最麻烦最原始的翻译方法就是逐行逐字的翻译源代码。不过现在采用的是简单轻便的翻译方法:通过 .po 文件。
通过 .po 文件,任何人都能翻译你的插件或者主题,只要他熟悉插件使用的原始语言。并且 .po文件还有一个好处就是,如果源代码作了任何修改,翻译者不必查看源代码来重新翻译,因为所有需要翻译的文本都会自动保存在一个后缀名为 .po 文件中,翻译者所需要做的只是重新更新下.po 文件,翻译新增或修改的部分。
下面以插件为例,详细讲解 WordPress 插件和主题翻译的所有过程:
本地化的准备工作
WordPress 使用 GNU gettext 机制来实现本地化。WordPress 有两个可以被调用的函数:_e 和__。为了使得插件或者主题能够被翻译,每次输出文本的时候,都应该使用这两个函数。
这两个函数使用方法是:__($message, $domain) 和 _e($message, $domain)
_e 和 __的区别是:_e 直接输出文本,而 __ 是返回文本,需要自己输出,所以 __ 一般用在字符串连接当中。
这两个函数都用 $message 作为第一个参数和 $domain 作为第二个参数。第一个参数就是要输出的文本,而第二个参数 $domain不是可选的,它应该是一个和你插件或者主题对应的唯一的名字,举个例子,如果你开发一个叫做 Related Posts 的插件,这里 $domain 就是related_posts,$domain 一般是在 load_plugin_textdomain 函数中定义,下面有具体介绍。
导入本地化文件
在确保输出的文本可以被本地化之后,你必须设置你的插件或者主题的 .mo 文件的路径(.mo 是编译后的 .po 文件,它是在 poEdit 保存的时候会自动产生的)。
在你插件中的代码大致如下所示:
load_plugin_textdomain('your-plugin-domain', "/wp-content/plugins/your-plugin-directory/");
函数具体语法:load_plugin_textdomain($domain, $path)
$domain 变量就是前面 __ 和 _e 函数中使用的第二个参数。$path 是定义 .mo 文件的路径。可以使用相对于 ABSPATH 的相对路径。如果插件没有自己的目录,这里也可以设置为空。
这里需要注意的一件事情是,产生的任何 .mo 文件都应该以 $domain 变量的值作为文件名的前缀。如果插件的 $domain 是 related_posts 的话,那么 .mo 文件将会被命名为 related_posts-zh_CN.mo(假设插件被翻译成中文)。
使用 poEdit 进行翻译
WordPress Codex 已经有一个非常好的如何使用 poEdit 翻译插件或者主题的 step-by-step 教程,但是我这里将通过一个实例展示这些步骤。
第一步:下载 poEdit
第二步:找一个插件翻译:这里以我写的插件 Related Posts 作为例子。
第三步:打开 poEdit 并打开菜单 File -> New catalog…
在弹出的 ‘Settings’ 对话框中,输入你项目的名称,并设置字符集为 UTF-8。
settings_project_name
第四步:输入插件的路径
在刚才的 ‘Settings’ 对话框,点击 ‘Paths’ 标签页并点击建立新条目的图标。假设插件在自己的子目录下并且你会把 .po 保存在子目录中,输入”.”(这将告诉 poEdit 去扫描当前目录和所有子目录)。
poedit_paths
第五步:设置适当的关键字
因为 WordPress 使用 _e 和 __ 函数来本地化,所以你应该让 poEdit 知道这就是它应该查找的。点击 ‘Keywords’ 标签页并输入 _e 和 __ 作为关键字,你可以通过点击 ‘New Item’ 图标输入关键字。
keywords_new_item
第六步:点击 OK 并开始翻译
点击 “Okay” 按钮并保存 .po 文件到你的插件目录下。
在你保存 .po 文件之后,会有一个窗口弹出并告诉你所有它找到相匹配的文本。
poedit_update_summary
如果你不准备翻译该插件,你可以保存.po 文件并把它和插件一起分发出去,让别人能够直接使用它进行翻译。
第七步:翻译插件
一旦所有需要翻译的文本都找到了,就该开始翻译插件了。你所做的就是只要简单的找到你想翻译的文本,并增加你自己的语言。
poedit_translate
上面的 poEdit 界面就是插件翻译界面。
第八步:保存 Catalog
还记得前面提到的 $domain 吗?举个例子,我想生成一个西班牙文的翻译文件,我将会保存这个文件并以 $domain 作为前缀,然后语言和地区代码作为后缀。在这里,$domain 是related_posts 并且语言和地区代码是 es_ES。所以文件名应该为:related_posts-es_ES。
通过保存新文件,我将自动生成一个可以让别人使用的 .po的文件,和一个可以被 WordPress 直接读取来本地化插件的 .mo 文件。
现在如果用户已经在他们的 wp-config.php 文件中设置了适当的 WPLANG 的值,他们插件的选项和输出的文本将会使他们当地的语言。
总结
本地化一个 WordPress 插件是让更多地区用户使用你的插件的一个非常好的方法。本地化首先需要插件作者保证插件能够真正本地化,之后翻译者使用 PoEdit 进行翻译。
备注:对于 WordPress 插件,建议大家使用 PoEdit 进行汉化。直接修改源代码也是可以的,但没有注意编码格式的话,可能会导致插件设置页面出现乱码。而且,插件升级之后旧文件被新文件覆盖,汉化也随之消失……使用 PoEdit 一般不会出现这些问题。
那么,使用 PoEdit 进行汉化的原理是什么呢?WordPress 使用 GNU gettext 机制来汉化,关键之处在于两个函数『 _e 和 __ 』。 PoEdit 通过识别并提取调用了这两个函数里的字符串,然后你只需要输入那些字符串所对应的中文语句,其他的交给 PoEdit 就行了,所有翻译的语句都会在 .po 文件中。
世界上只有两种插件不能被汉化:这种和那种。对于这种插件,他本身就是中文,当然不需要汉化啦。而那种插件呢,由于作者在编写插件过程中没有调用函数『 _e 和 __ 』,使得 PoEdit 无法识别其中需要被汉化的字符串,因此那种插件就不能被汉化。
本文标签:
很赞哦! ()
下一篇:wordpress函数详解
相关教程
图文教程
lnmp安装nginx搭建wordpress的方法
1.安装nginx源,2.安装nginx3.启动nginx4.配置nginx开机自启动5.输入ip,看到nginx欢迎界面,安装成功ps:默认配置文件路径 /etc/nginx/nginx.conf默认log目录:/var/log/nginx/默认静态目录:/usr/share/nginx/html
安装wordpress主题的两种方法
WordPress是一个以PHP和MySQL为平台的自由开源的博客软件和内容管理系统。WordPress具有插件架构和模板系统。
WordPress多站点默认主题设置方法
在我们使用wordpress多站点功能时,的确方便了我们很多,可以在同一个网站上搭建多个子网站,这对于一些比较大的网站来说,wordpress多站点是非常有用的东东。
怎么添加删除WordPress后台管理菜单分隔符
下面由WordPress教程栏目给大家介绍添加删除WordPress后台管理菜单分隔符的方法,希望对需要的朋友有所帮助!
相关源码
-
(自适应响应式)法律咨询律师事务所法务pbootcms源码下载为律师事务所、法律咨询机构设计,特别适合展示法律服务、律师团队和成功案例。采用响应式技术,确保在不同设备上都能提供专业的法律信息展示和咨询服务。查看源码 -
粉色家政月嫂保姆公司pbootcms网站模板(PC+WAP)为家政服务、月嫂保姆企业打造的营销型解决方案,基于PbootCMS内核开发,采用温馨粉色主题传递行业温度。PHP7.0+高性能架构支持SQLite/MySQL双数据库查看源码 -
(自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码 -
(PC+WAP)化工材料企业环保能源绿色营销型pbootcms模板源码下载本模板为化工材料及环保能源企业设计,采用PbootCMS开发,可展示各类化工产品、环保技术及能源解决方案。查看源码 -
(自适应响应式)超市仓储仓库货架展架网站pbootcms源码下载本模板为货架展架、仓储货架行业量身打造,采用PbootCMS内核开发,充分考虑了货架产品展示和企业形象展示的需求。模板设计简洁大方,突出产品特点,能够有效展示各类货架产品的规格参数和应用场景,帮助访客快速了解企业核心业务和产品优势。查看源码 -
深蓝色风景摄影机构网站(自适应多端)pbootcms模板该模板基于PbootCMS内核开发,专为风景摄影机构、户外摄影企业设计,采用深蓝色主题传递专业与艺术感,全栈响应式架构确保PC、平板、手机端无缝适配PHP程序结合轻量级SQLite数据库也可以更换MySQL数据库查看源码
| 分享笔记 (共有 篇笔记) |

