3

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

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

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

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

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

当我从中删除时ajaxEdit_E()它正在被翻译,但是当我使用时ajaxEdit,它没有被翻译。我应该怎么做才能使用这个翻译插件ajaxEdit

4

1 回答 1

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。在这种情况下,您似乎在做一些根本不推荐的事情,即使您让它发挥作用。

于 2013-01-17T23:12:05.623 回答