本地化工作正常,但仍在目录中收到“此插件未为本地化做好适当准备”的消息

时间:2016-12-07 作者:David F. Carr

我的RSVPMaker插件的几个用户提交了我重新分发的翻译/本地化文件,但由于某些原因,该页面出现在WordPress中。本应帮助翻译的组织存储库显示一条消息,说明:

此插件没有为本地化做好适当准备。

我已经看过了localization coding guidelines 几次,并努力消除我认为可能导致问题的问题,例如使用__(_e( 功能。似乎没有什么不同。

同样,我的代码实际上可以加载翻译字符串,但似乎缺少了翻译存储库正在查找的内容。很遗憾,没有调试信息。

以下是标题中的相关代码行和我的插件的前几行,它们加载本地化文件,以防您在此处发现错误:

/*
Plugin Name: RSVPMaker
Description: Schedule events, send invitations to your mailing list and track RSVPs....
Author: David F. Carr
Version: 4.3.3
Text Domain: rsvpmaker
Domain Path: /translations
*/

$locale = get_locale();

$mofile = WP_PLUGIN_DIR . \'/rsvpmaker/translations/rsvpmaker-\' . $locale . \'.mo\';

load_textdomain(\'rsvpmaker\',$mofile);

1 个回复
SO网友:David F. Carr

在几个月的沮丧之后,我几乎是在问了这个问题后马上就明白了。问题是我使用的是load\\u textdomain函数(这是我学习它的方式),而不是看起来更新/受欢迎的load\\u plugin\\u textdomain。

工作代码如下所示

function rsvpmaker_load_plugin_textdomain() {
  load_plugin_textdomain( \'rsvpmaker\', FALSE, basename( dirname( __FILE__ ) ) . \'/translations/\' );
}
add_action( \'plugins_loaded\', \'rsvpmaker_load_plugin_textdomain\' );

相关推荐

Disabling Translation Update

WordPress更新Languages文件夹中的翻译文件有两种方式:1。触发时自动更新。2、当用户在“更新”页面上请求时手动执行。有没有办法禁用这两个文件夹,这样就不能对Languages文件夹应用任何更改?