我的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);
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\' );