如何让自定义Wordpress插件知道.po和.mo文件?

时间:2017-08-11 10:52:03

标签: wordpress plugins translation poedit

我正在尝试向我从头开始编写的插件添加翻译但是经过一段时间的实验我不知道如何让Wordpress意识到我的插件有可用的翻译。

我不确定还有什么可以尝试,所以我认为更有经验的人可以指出我可能需要改变的事情。

到目前为止我做了什么:

  1. 在我想要在我的插件文件中翻译的句子中添加了_e()__()
  2. 使用Loco Translate插件生成.pot文件。
  3. 在Poedit中打开.pot文件(显示了我想要翻译的所有字符串的列表)翻译的插件,并从中生成.po.mo个文件。
  4. .pot.po.mo移至my-plugin/languages/
  5. 将文件重命名为my-plugin-pt.pomy-plugin-pt.mo
  6. 将Wordpress网站语言更改为翻译语言。语言在其他地方都有所改变,但插件仍以英文呈现。
  7. 不确定下一步该怎么做。

    我创建了一个运行load_plugin_textdomain() while following these instructions from Wordpress并将其作为操作添加到my-plugin __construct()的方法:

    MY-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/' );
    }
    

1 个答案:

答案 0 :(得分:0)

.po.mo文件末尾的语言代码不正确。 已从-pt.po更改为-pt_PT.po(对.mo文件执行相同操作)并且它开始完美运行。

有一个list of the available language codes for Wordpress,我应该在首先命名文件之前先看一下。