如何让自定义 Wordpress 插件识别 .po 和 .mo 文件?
How to make custom Wordpress plugin aware of .po and .mo files?
我正在尝试为我从头编写的插件添加翻译,但在试验了一段时间后,我不确定如何让 Wordpress 知道我的插件有可用的翻译。
我不确定还能尝试什么,所以我认为更有经验的人可以指出我可能需要更改的地方。
到目前为止我做了什么:
- 在我的插件文件中要翻译的句子中添加了
_e()
或 __()
。
- 使用 Loco Translate 插件生成
.pot
文件。
- 在 Poedit 中打开
.pot
文件,(它显示了我想要翻译的所有字符串的列表)翻译插件并从中生成 .po
和 .mo
文件。
- 已将
.pot
、.po
和 .mo
移动到 my-plugin/languages/
。
- 将文件重命名为
my-plugin-pt.po
和 my-plugin-pt.mo
。
- 将 Wordpress 站点语言更改为翻译语言。其他地方的语言都变了,但 插件仍然以英语呈现。
不确定下一步该做什么。
我创建了一个运行 load_plugin_textdomain()
while following these instructions from Wordpress 的方法,并将其作为一个操作添加到 my-plugin
__construct()
:
我的-plugin.php
public function __construct() {
// Other filters and actions...
add_action( 'plugins_loaded', array( $this, 'translation_init' ) );
} // __construct
function translation_init() {
load_plugin_textdomain( 'my-plugin', FALSE, basename( dirname( __FILE__ ) ) . '/languages/' );
}
.po
和 .mo
文件末尾的语言代码不正确。
从 -pt.po
更改为 -pt_PT.po
(对 .mo
文件执行相同操作)并且它开始完美运行。
有一个 list of the available language codes for Wordpress 在命名文件之前我应该先看一下。
我正在尝试为我从头编写的插件添加翻译,但在试验了一段时间后,我不确定如何让 Wordpress 知道我的插件有可用的翻译。
我不确定还能尝试什么,所以我认为更有经验的人可以指出我可能需要更改的地方。
到目前为止我做了什么:
- 在我的插件文件中要翻译的句子中添加了
_e()
或__()
。 - 使用 Loco Translate 插件生成
.pot
文件。 - 在 Poedit 中打开
.pot
文件,(它显示了我想要翻译的所有字符串的列表)翻译插件并从中生成.po
和.mo
文件。 - 已将
.pot
、.po
和.mo
移动到my-plugin/languages/
。 - 将文件重命名为
my-plugin-pt.po
和my-plugin-pt.mo
。 - 将 Wordpress 站点语言更改为翻译语言。其他地方的语言都变了,但 插件仍然以英语呈现。
不确定下一步该做什么。
我创建了一个运行 load_plugin_textdomain()
while following these instructions from Wordpress 的方法,并将其作为一个操作添加到 my-plugin
__construct()
:
我的-plugin.php
public function __construct() {
// Other filters and actions...
add_action( 'plugins_loaded', array( $this, 'translation_init' ) );
} // __construct
function translation_init() {
load_plugin_textdomain( 'my-plugin', FALSE, basename( dirname( __FILE__ ) ) . '/languages/' );
}
.po
和 .mo
文件末尾的语言代码不正确。
从 -pt.po
更改为 -pt_PT.po
(对 .mo
文件执行相同操作)并且它开始完美运行。
有一个 list of the available language codes for Wordpress 在命名文件之前我应该先看一下。