我的插件的翻译不显示

时间:2021-10-05 作者:Mepsipax

我正在用这把头发拔头发:

我想为我的插件提供翻译,但他们没有出现。我遵循文档并采取了以下步骤:

使用docker设置本地wordpress将文本域添加到插件信息* Text Domain: my-plugin* Domain Path: /languages/plugin.php:

add_action( \'plugins_loaded\', \'load_i18n\' );
function load_i18n() {
  load_plugin_textdomain("my-plugin", false, dirname( plugin_basename( __FILE__ ) ) . \'/languages/\');
}
我有一个settings.php 它负责呈现插件的设置页面,并从plugin.php. 我在那里添加了这一行来测试我的翻译:<?php _e( \'Hello, dear user!\', \'my-plugin\' ); ?>

我用过wp i18n make-pot 创建pot文件。它成功地检测到设置中的行和插件信息,并创建一个my-plugin.pot 在我的插件中language 目录

我用PoEdit从pot文件创建翻译。我做了en_US.poen_US.mo 内部language 目录我翻译了设置页面中的测试字符串以及插件描述。

通过常规设置将Wordpress语言设置为en\\u US。(我也试过了define (\'WPLANG\', \'en_US\'); 在…内wp_config.php)

安装了我的插件。

翻译不会显示(显示原始文本),也不会显示在插件描述或设置页面中。我还尝试了其他钩子来加载文本域和其他语言。插件不会上载到插件库,因此翻译需要直接随插件一起提供。

1 个回复
SO网友:Mepsipax

所以我发现了自己的错误:

我没有正确阅读https://developer.wordpress.org/plugins/internationalization/localization/#translate-the-po-file

我的.mo 文件被称为en-US.mo. 但应该给他们打电话my-plugin-en-US.mo.

已解决!

相关推荐

Problems with localization

我正在创建一个插件,我已经将:define (\'WPLANG\', \'it_IT\'); 进入wp-config.php 文件插件声明标题中的插件名称之后:* Text Domain: endpoint * Domain Path: /languages/ 对于加载域:add_action( \'plugins_loaded\', \'myplugin_load_textdomain\' ); function myplugin_load_textdoma