Wordpress插件本地化

blu*_*noo 8 wordpress plugins localization

我刚刚为wp构建了我的第一个插件,即使它不是一个伟大的"代码诗";)它可以正常工作.它是一个使用GalleryView 3.0 jquery插件(http://spaceforaname.com/galleryview)转换默认wp库的插件.

我唯一无法做的就是本地化.此插件的本地化意味着翻译管理界面,其中有人可以配置jquery插件选项以更改结果库的方面.

我试图关注网上出现的数百万篇教程,在论坛上阅读了很多关于这个问题的帖子,并遵循了Codex的指导原则......但仍然没有运气.

这就是我所做的:

  1. 每个文本行都在gettext函数内(___e)
  2. 使用poedit我创建了.po和.mo文件扫描插件目录(everythig没问题),然后我添加了该文件的翻译.
  3. 我将.po文件命名为NAME-OF-THE-PLUGIN-it_IT.po(.mo文件生成的名称相同)
  4. 我把翻译文件放在插件文件夹/语言中(该文件夹的名称与插件和翻译文件的名称相同)
  5. 然后我试图load_plugin_textdomain在主插件文件中添加该功能.我试过,因为没有办法让它工作.

我唯一不确定的事实是我创建的插件不是在类+构造函数之下......只是因为我在编码方面还不是很好.

但我把load_plugin_textdomain里面放了一个init add_action,像这样:

add_action('init', 'gw_load_translation_file');

function gw_load_translation_file() {
// relative path to WP_PLUGIN_DIR where the translation files will sit:
$plugin_path = dirname(plugin_basename( __FILE__ ) .'/languages' );
load_plugin_textdomain( 'gallery-view-for-wordpress', false, $plugin_path );
}
Run Code Online (Sandbox Code Playgroud)

上面的行不在逻辑中,它们只是在主插件文件中,就像那样.

这是我使用gettext函数的一个例子:

<h3><?php _e('Panel Options','gallery-view-for-wordpress') ?></h3>
Run Code Online (Sandbox Code Playgroud)

什么我不明白?

blu*_*noo 4

我的错误在于语言文件路径声明。

这个固定:

$plugin_path = dirname( plugin_basename( __FILE__ ) ) . '/languages/';
Run Code Online (Sandbox Code Playgroud)

这是错误的:

$plugin_path = dirname(plugin_basename( __FILE__ ) .'/languages' );
Run Code Online (Sandbox Code Playgroud)

我在WordPress Stack Exchange上得到了答复