我想翻译此插件。

该插件已被翻译成其他语言,并且它具有.pot文件,用于添加新语言(据我的描述)。

如何为我的新语言创建.po.mo文件,并使其可访问以供插件使用?我试图通过在下面的定义中插入wp-config.php文件来定义俄语:

define ('WPLANG', 'ru_RU');


#1 楼

编辑器
还有其他,但是最常用的是:Poedit,一个跨平台的gettext目录(.po文件)编辑器。
格式


.mo代表Machine Object
-编译的导出的WordPress使用的.po文件

.po代表Portable Object
-带有翻译字符串的可编辑文本文件
-基于主要.pot文件,使用从POT文件中的更新PoEdit功能
-有些人将此文件作为主要文件分发,但应仅用于翻译
用于可移植对象模板的
-可编辑的文本文件,用于从WordPress本身以及主题和插件中获取所有可翻译的字符串,并使用“从源代码更新” PoEdit函数

过程

复制.pot文件并将其重命名为.pot

引用的插件案例的示例:plugin-basename-lang_COUNTRY.po
-pt_BR表示葡萄牙语巴西,但许多语言都没有尝试变体...
-您必须使用自己的语言填写

subscribe-reloaded-pt_BR.po文件中的WPLANG必须设置为您的语言,例如wp-config.php

每次保存pt_BR文件时,PoEdit都会自动生成一个.po文件,这是WordPress使用的文件,基本上是您唯一需要上传的文件。

观察结果

如果您要进行全部或不错的部分翻译,然后将其提交给插件作者,这样他就可以将其包括在存储库中,并且您会因此而得到赞誉
不要忘记备份翻译,因为如果升级该插件将丢失您的文件
@ user17078插件的建议非常好,但是我从没用过它


评论


新的mo / po文件应生效多长时间?

– Nemo
15年12月14日在0:30

#2 楼

您可以尝试使用以下代码样式本地化插件:。您可以使用此翻译您的插件和主题。

评论


这是我见过的最好的翻译插件。这个插件可以随时拥有poedit,最好的部分是它免费且用户友好。这个答案应该至少被投票通过。

–谷歌
2014年10月2日,9:37

不复存在。

–克里斯·考克斯(Chris Cox)
2015年6月3日,11:27

这看起来是个不错的选择:wordpress.org/plugins/say-what

– jetlej
15年6月10日在18:36

@jetlej有趣,虽然对我的po文件似乎无效://

– Nemo
2015年12月14日下午0:29

#3 楼

(以下是翻译为DEUTSCH的示例。将习惯更改为您想要的习惯。)

在每个插件头中都有一个唯一的名称。
(例如:

/*
Plugin Name: my-pluginname
.......
*/


然后,在该插件的文件夹中,创建一个文件夹“ languages”;

然后,进入您的插件.php文件(位于顶部的某个位置),插入初始化代码:

class load_language 
{
    public function __construct()
    {
    add_action('init', array($this, 'load_my_transl'));
    }

     public function load_my_transl()
    {
        load_plugin_textdomain('my-pluginname', FALSE, dirname(plugin_basename(__FILE__)).'/languages/');
    }
}

$zzzz = new load_language;


,然后打开任何文本编辑器,然后插入如下代码(注意,仅添加了两个示例消息“ hello”和“ bye”,因此,您可以根据需要添加许多消息(使用类似的行)。

# English translations for PACKAGE package.
# Copyright (C) 2012 THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# Automatically generated, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: my-pluginname 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-06 13:46-0400\n"
"PO-Revision-Date: 2013-03-21 11:20+0400\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"X-Poedit-SourceCharset: iso-8859-1\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"


#: mypluginindex.php:87 (it is just a line of a note, to remind where our code appears)
msgid "mymessage1"
msgstr "Hello"

#: mypluginindex.php:88
msgid "mymessage2"
msgstr "Bye"


然后将此文件另存为“ my-pluginname-en_US.po”(请注意,.po是文件的扩展名,因此请检查您的文本编辑器程序是否尚未保存到“ my-pluginname-en_US.po.TXT”)。 br />
然后下载POEDIT软件,并打开该文件。然后编辑“翻译”字段,然后另存为“ my-pluginname-de_DE”。
将生成两个文件(如果poEdit不会自动生成第二个.mo文件,只需转到“文件”->“首选项”->“编辑器”,然后选中“自动编译.mo文件保存”),

,然后将这两个文件放入“语言”文件夹。

之后,打开wp-config.php并找到以下代码:

define ('WPLANG, '');


并更改为

define ('WPLANG, 'de_DE');


就这样。
加载WordPress时,它将读取您的插件语言文件,其前缀为-de_DE。

因此,在插件的.php文件中,而不是:

echo "Something string";


,您应该使用:

echo __("mymessage1", 'my-pluginname');



完成。现在您应该测试您的插件。

p.s。使用的链接:


codex.wordpress.org/I18n_for_WordPress_Developers
codex.wordpress.org/Translate_WordPress
codex.wordpress.org/Writing_a_Plugin
法典。 wordpress.org/Installing_WordPress_in_Your_Language


评论


我尝试了以我的主题。在header.php中,我有echo __(“ thanks-for-visiting”,'transparent');。在theme \ languages \ transparent-en_US.po中,我有msgid“ thanks-for-visinging” msgstr“您好!谢谢您的光临。环顾四周并订阅”。这会在前端输出“感谢访问”。

–史蒂夫
2014-03-10 6:09



#4 楼

您将要使用POEdit。它是用于创建.po / .mo文件的免费应用程序。

我在此处针对整个主题编写了非常深入的教程。您可以跳到步骤3-为文本域创建翻译文件。

#5 楼

我建议也http://poeditor.com/。它是基于Web的翻译工具,可与.po,.mo,.pot和其他类型的文件配合使用。

评论


一位访客提出了一项修改,指向该服务的新插件:wordpress.org/extend/plugins/poeditor

–brasofilo
13年5月17日在7:33

poeditor.com不再存在...

–密码
20-04-27在17:15