性价比最高的香港ASP、PHP主机提供商
做网站,就上凡科建站

让WordPress插件支持语言本地化

Loading
0
Comodo SLL证书促销 - 免费ssl证书申请_ssl证书购买_ev ssl证书_https证书购买 - GDCA_数安时代

倡萌之前分享了 让WordPress主题支持语言本地化 的方法,今天继续简单说一下 让WordPress插件支持语言本地化。

让插件支持语言包

在插件的主文件中添加下面的代码:

1
2
3
4
function myplugin_init() {
  load_plugin_textdomain( 'wpdaxue', false , dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
add_action('plugins_loaded', 'myplugin_init');

上面的代码使用了 load_plugin_textdomain() 函数,第一个参数“wpdaxue”是自定义的 $domain,用在 __()、_e()、_x、_ex 和 _n 函数中作为末位参数,它是用来检索被翻译字符串的唯一标识符;第二个参数“dirname( plugin_basename( __FILE__ ) ) . ‘/languages/’”指明 当前插件目录下的 languages 目录为语言包所在目录。

规范编译要翻译的内容

使用  __()、_e()、_x、_ex 和 _n 函数规范需要翻译的内容,需要注意的是,它们的末位参数需要为上面我们在 load_plugin_textdomain() 自定义的 $domain 参数:wpdaxue。写法示例如下:

1
2
3
4
5
<?php  
 
    echo __( 'This is a plugin.','wpdaxue' );  
 
?>

本节内容,请参考 WordPress主题本地化

使用 POEdit 制作语言包

关于 POEdit  制作语言包的方法,请参考 WordPress主题本地化 的相关部分。在这里需要特别注意的是语言包的命名方式。和WordPress主题语言包不同,插件语言包的一般命名包含两大部分:插件主文件名+语言及国别简码。

例如 Google XML Sitemaps 的插件主文件为 sitemap.php ,那么它的语言包名字应为 sitemap-zh_CN.po 和 sitemap-zh_CN.mo :

wpdaxue.com-201304557

让WordPress识别语言包

其实就是根据WordPress根目录下的 wp-config.php 文件的 WPLANG 来调用对应的语言包的:

1
define('WPLANG', 'zh_CN');

如上,填入的是zh_CN,那么WordPress后台、主题和插件的语言都将为 简体中文(如果存在简体中文语言包的话)。

支付宝扫码打赏 微信打赏

如果文章对你有帮助,欢迎点击上方按钮打赏作者

MetInfo | 最适合企业网站建设的cms系统

关于 倡萌

一个疯狂的 WordPress 爱好者,喜欢折腾 WordPress 主题,分享 WordPress 资源。如果你也喜欢 WordPress,欢迎和我一起交流!

精彩推荐

WordPress Settings API 指南:验证、过滤和输入(二)

WordPress Settings API 指南:验证、过滤和输入(二)

WordPress 检查一篇文章是否存在

WordPress 检查一篇文章是否存在

2 条评论

  1. 哥,你的代码有错误,害我调插件调试半天 :sad:

    function myplugin_init() {
    load_plugin_textdomain( 'wpdaxue', dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
    }

    应改为

    function myplugin_init() {
    load_plugin_textdomain( 'wpdaxue',false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
    }

    你填的这个目录应该是相对于插件目录的,应是第三个参数

发表评论