我正在进行插件开发,我想本地化我的插件名称和描述,以便这两条信息以其他WordPress开发人员的母语(如果支持的话)显示在WP Admin Dashboard中当前安装的插件列表上。到目前为止,我已经设法做到了这一点,但我注意到翻译并不总是显示出来。例如,如果禁用插件,则名称和描述将以原始/英语显示,而不是以与WordPress实例的语言匹配的语言显示。
有一秒钟,我认为这甚至不可能,但后来我注意到插件Hello Dolly(即将预装并最初禁用)的描述是用我的语言显示的(确切地说是克罗地亚语)。我还尝试禁用Akismet Anti-Spam插件,该插件的描述在启用时也以我的语言显示,即使禁用后,它仍以我的语言翻译。
因此,我的问题是如何设置插件,使其名称和描述在WP Admin Dashboard中当前安装的插件列表上显示为翻译,即使该插件已禁用?
最合适的回答,由SO网友:Tom J Nowell 整理而成
Hello Dolly是一种特殊的边缘情况,它本身不会转换。相反,它被认为是WordPress代码库的一部分,在WP核心语言文件中有一个翻译过的标题。
相反,要翻译插件名称,您需要一个映射到textdomain
在插件中指定,包含插件名称。这需要在wp-content/languages/plugins
文件夹或插件中的适当位置。e、 g.对于mytestplugin
可能是mytestplugin/mytextdomain-en_US.mo
哪里mytextdomain
是您在插件标题中指定的内容。
这是通过_get_plugin_data_markup_translate
(它对hello dolly有一个特殊的覆盖),并使用load_plugin_textdomain
.