为wordpress本地化翻译添加新的英语句子

时间:2014-11-04 21:34:08

标签: php wordpress-plugin wordpress

我开始尝试扩展现有插件的wordpress插件开发。

此插件有一个语言文件夹,其中包含.po和.mo文件,适用于法语和印度语。插件代码中有引用如:

<?php _e("Start Date", "pluginxyz"); ?>

我想补充一下:

<?php _e("Length of Class Block", "pluginxyz"); ?>

我不完全确定我需要做什么才能使这项工作成功。我的插件页面抛出错误:

Failed to load resource: net::ERR_CACHE_MISS http://127.0.0.1:8080/wordpress/wp-admin/admin.php?page=classes

我假设是因为在e()寻找的某个文件中找不到“类块长度”文本。我已经安装了一个插件来帮助进行本地化:https://wordpress.org/plugins/codestyling-localization/我已经使用这个工具重新扫描了2 .po文件,但我不知道在哪里或如何将“Class of Class Block”添加为我的插件的英语声明!

有人可以解释和帮助!

2 个答案:

答案 0 :(得分:1)

如需进一步开发,您可以

1解析英文定义的PO文件,并从数据中生成PO文件,或

2:将代码源“翻译”为单独的en_US.po。通过使用这种方法,该插件对于开发人员使用另一种本地语言进行进一步开发更加开放。

编辑:如果您正在寻找编辑PO / MO文件的工具,我真的推荐POEdit,当我需要将某些内容翻译成挪威文时,我会一直使用它。

答案 1 :(得分:0)

我最终弄明白了。很长的答案是安装和设置grunt-pot,它将扫描我的项目以获取PHP中的引用到_e()调用等,并将它们提取到POT文件中。然后可以使用此pot文件生成.po文件,这些文件是文本的翻译版本,然后将其编译为二进制.mo文件。

然后我想出了另一件事 - 也就是说,如果_e()无法在本地化中找到引用,那么它仍然会继续吐出那个字符串 - 所以现在,我将会做什么以及将来我能做什么继续使用grunt-pot创建一个pot文件来创建一个可分发的po和mo文件,供我的用户使用本地插件。