Tags: Posted in WP插件 我抢沙发

插件本地化的准备工作

WordPress 使用 http://en.wikipedia.org/wiki/Gettext]GNUgettext 机制来本地化。

WordPress 有两个可以被插件作者调用的函数:_e 和__

每次你输出文本,你应该使用这两个函数。__($message, $domain) 和 _e($message, $domain)

上面两个函数都用$message 作为第一个参数和一个可选的 $domain作为第二个参数。对于插件和主题的作者,第二个参数不是可选的,它应该是一个和你插件或者主题对应的唯一的名字.

举个例子,如果你开发一个叫做WordPressAutomatic Upgrade的插件,这里你可以使用 WPAU。

根据WordPressCodex,如果文本将会用在运算当中,应该使用 __ 函数。


1.创建本地化文件
第一步:下载 poEdit
到达poEdit 项目页面,然后下载,安装它就可以。
第二步:打开 poEdit 并打开菜单 文件-> 新建消息目录文档
在弹出的 ‘工程信息’ 对话框中,输入你项目的名称,这里,照下图设置 前三项都可以修改 , 。
1
第三步:输入插件的路径

点击 ‘路径’ 标签页并点击建立新条目的图标。假设你的插件在自己的子目录下并且你会把 .po保存在子目录中,输入”.”(这将告诉 poEdit 去扫描当前目录和所有子目录)。
2

第四步:设置适当的关键字
因为 WordPress 使用 _e __ 函数来本地化,所以你应该让 poEdit知道这就是它应该查找的。点击 ‘关键字’ 标签页并输入 _e __ 作为关键字,你可以通过点击 ‘新项’图标输入关键字。
3
第五步:点击 确定 并保存
记得 __($message, $domain) 和 _e($message, $domain) 中的$domain变量吗?
我们将会保存这个文件并以 $domain 作为前缀,然后语言和地区代码作为后缀。我保存为my-zh_CN.po文件
4

第六步:建立自己的插件(这里我用了CodeStylingLocalization 这个插件)
在 */ 符号下加入下面的代码(your-plugin-domain 为你设置的$domain变量 your-plugin-directory 为你插件目录 ,如果你的插件没有目录可以设为空)load_plugin_textdomain('your-plugin-domain', "/wp-content/plugins/your-plugin-directory/");例如

Plugin Name:MyCopyright
Version: 0.0.1
Plugin URI: http://www.cutefool.net
Author: xuyannan - CuteFool.net
Author URI: http://www.cutefool.net
Description: show copyright once there are letters match
.and you should config your copyright information
in this file,with this verison.
*/
load_plugin_textdomain('my','wp-content/plugins/my/');
if ( function_exists("is_plugin_page") && is_plugin_page() ) {
cutefool_showpnagzi_mainpage();
return;
}
function cutefool_add_options_page(){
add_options_page('MyCopyright','MyCopyright Config',8,'myCopyright.php','cutefool_myCopyright_mainpage');
}
function cutefool_myCopyright_mainpage(){
_e('Hello','my');
//echo "Hello ! MyCopyright is active!";
}
add_action('admin_menu', 'cutefool_add_options_page');
//add_filter('the_content', 'cutefool_showcopyright');
?>
然后就是翻译了
我习惯用EditPlus来编辑,首先打开my-zh_CN.po文件,然后打开my.php插件文件从上开始数什么地方用到的 _e(‘Hello’,'my’);(只是举例说明 _e($message, $domain))。
然后在my-zh_CN.po 文件中添加(这个例子在第20行)所以我们添加以下代码(一定要有#: php文件名:行号)#: my.php:20换行,然后添加翻译前文本,就是”Hello”格式为msgid "Hello"换行,添加翻译后文本msgstr "您好"然后用poedit打开再保存,才行。
如果包含中文,保存时一定要选择utf-8格式。
好了就这些了,这样你也可以为自己的插件添加多国语言了
参考文章:
“雪山飞猪“http://fairyfish.net/2007/09/09/ … lugin-using-poedit/
”收藏家“http://wordpress.docman.cn/index.php?id=5]http://wordpress.docman.cn/index.php?id=5
代码
my

分享&收藏

  • del.icio.us
  • Facebook
  • TwitThis
  • 百度搜藏
  • 饭否
  • 收客
  • QQ书签
  • 我挖网
  • 新浪ViVi
  • 365Key网摘
  • De.lirio.us
  • Digg
  • email
  • Google Bookmarks
  • POCO网摘
  • 豆瓣
  • 豆瓣九点
  • MSN Reporter
  • RSS
十二月 15, 2008