无法使用poedit翻译wordpress插件

时间:2012-10-18 12:02:57

标签: wordpress localization wordpress-plugin

我正在尝试翻译我的wordpress插件,我已按照以下步骤操作:

  1. 首先,我使用poedit
  2. 在/ plugin / languages文件夹中创建.po文件
  3. 然后在wp-config文件中我输入了代码

    define ('WPLANG', 'ajaxEdit-aa_AA'); define('WP_LANG_DIR', $_SERVER['DOCUMENT_ROOT'].'/wordpress/wp-content/plugins/wp-ajax-edit-comments');

  4. 在文件中我编写了要翻译的代码如下:

    <?php _e('Behavior', 'ajaxEdit');?>
    

    当我从ajaxEdit移除_E()时,它正在被翻译但是当我使用ajaxEdit时,它却没有被翻译。 我该怎么做才能使用此ajaxEdit

    翻译插件

1 个答案:

答案 0 :(得分:0)

如果您使用的是文本域,并且鼓励您这样做,则需要在插件中的某个位置声明它。我认为,不知何故,当您不声明文本域时,它会使用您在wp-config.php中设置的默认值。

在我自己的插件上尝试了几个钩子后,这个对我有用,把它放在文件的最开头:

add_action('init', 'yourplugin_init');

function yourplugin_init() {
    load_plugin_textdomain('ajaxEdit','',plugin_basename( dirname( __FILE__ ) .'/languages' ));
}

第一个属性是您正在使用的文本域(与 e()或_ ()函数中的第二个参数相同,指向正确的翻译文件)。第二个是空的,它没有被使用,因为它已被弃用。然后,第三个:它是文件的位置。在此示例中,转换文件位于插件内的子目录中,这是打包它的最佳方式。所以我建议你将文件移动到该目录。请记住不要在域名中使用下划线(反正不是你的情况)。

WPLANG用于设置您的网站主要语言,插件,主题,系统后端以及具有翻译的所有内容都将使用该语言。它的典型属性是ISO-639语言代码,后跟ISO-3166国家代码,如:pt_BR,pt_PT,es_ES或es_AR。在这种情况下,即使你让它工作,你似乎也在做一些不推荐的事情。