【发布时间】:2011-07-21 05:53:53
【问题描述】:
我刚刚为 WordPress 构建了我的第一个插件,即使它不是一个很棒的“代码诗”,它也可以正常工作。这是一个使用 GalleryView 3.0 jQuery 插件 (http://spaceforaname.com/galleryview) 转换默认 wp 画廊的插件。
我唯一不能做的就是本地化。 此插件的本地化意味着翻译管理界面,有人可以在其中配置 jQuery 插件选项以更改生成的画廊的外观。
我尝试关注网络上数以百万计的教程,在论坛上阅读了很多关于此问题的帖子,并遵循了 codex 的指南……但仍然没有运气。
这就是我所做的:
- 每个文本行都在一个 gettext 函数内(
__和_e) - 我使用 poedit 创建了扫描插件目录的 .po 和 .mo 文件(一切正常),然后我在该文件上添加了翻译。
- 我将 .po 文件命名为 NAME-OF-THE-PLUGIN-it_IT.po(.mo 文件是用相同的名称生成的)
- 我已将翻译文件放在插件文件夹/语言中(文件夹名称与插件和翻译文件的名称相同)
- 然后我尝试在主插件文件中添加
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 );
}
上面的行不在逻辑中,它们只是在主插件文件中,就像那样。
这是我使用 gettext 函数的一个例子:
<h3><?php _e('Panel Options','gallery-view-for-wordpress') ?></h3>
我不明白什么?
【问题讨论】:
-
你的 wp-config.php 中设置了什么语言?
-
我也有这个问题。到目前为止,在谷歌上没有找到任何有用的东西——也许是最新版本的 WP 的新问题?不过,它只会影响插件似乎有点奇怪。我的尝试和 OP 之间的唯一区别是我尝试从 /plugins 根目录(与实际 plugin.php 文件的位置相同)加载 .mo 和 .po 文件。我的 wplang 设置为 fr-FR - 当前主题很好,只是不会加载文本域的插件。
-
@hollsk,我什至在这里wordpress.stackexchange.com/questions/12810/plugin-localization 也发布了这个问题,但没有运气,有人说它有效......但不适合我
-
对我来说它可以工作,我什至在塞尔维亚语上尝试过,将文件更改为 sr_RS lang。 :) 这里是 SS:efekat.com/public/images/… 我知道这是一个愚蠢的问题,但是你如何安装你的插件?
标签: wordpress plugins localization