通过 Loco Translate 插件在 WordPress 中翻译模板和插件文本的完整说明。 解释 WordPress 中的翻译如何工作。
您已经准备好一个网站,安装和设置了必要的插件,选择并激活了一个页面主题。 只剩下一件事 – 提供外国表达的翻译,这些表达经常出现在插件和主题中,尽管有斯洛伐克语设置,但仍以英语显示。
模板和插件代码中的翻译功能
我们在网站上遇到的各个消息来自各个插件和主题的程序文件。如果这些元素被正确编程,WordPress 会对所有进入屏幕的文本使用__ ()函数。
此函数(两个下划线)返回翻译后的文本(如果有)。 如果不存在,则返回作为第一个参数写入的基本文本。 该函数包含两个参数,它们都是String类型。
第一:文字,必填。
第二:域,可选。
实际上,它可能看起来像例如 如下:
__('Field is required', 'contact-form-7');
如果当前语言没有翻译,则此功能列出必填字段。 如果存在翻译,它将列出例如此字段是必需的,或者我们设置的任何内容。 第二个参数确保翻译的唯一性,如果例如 两个不同的插件使用相同的文本字符串。
例如,我在我的电子商店中使用了两个插件。 一个改进了订单选项(例如一些批量编辑),另一个是我们设置产品的顺序。
不幸的是,在英语中, order 和 order 会说同一个词 – Order ,因此翻译中会出现冲突:
__('order') - Objednávka
__('order') – Poradie
WordPress 会“发疯”,不知道什么时候使用Order这个词,什么时候使用Order这个词。 因此,他会在任何地方使用最后一个翻译的术语(在这种情况下 – 订单)。
但是,如果我们添加第二个参数(域),我们可以安全地分开出现的相同文本字符串:
__('order', 'order-bulk-edit') – Objednávka
__('order', 'products-order-tool') – Poradie
因此,我强烈建议您始终使用第二个函数参数。 插件和主题作者经常将第二个参数称为他们的主题或插件的名称,以确保尽可能高的唯一性。
当然,也有一些插件没有以这种正确的风格进行编程,但是文本字符串是硬编码的,在这种情况下,除了直接在代码中之外,您将无法翻译文本。
如何翻译文本?
.Po 和 .mo 文件负责文本本身的翻译。 PO 和 MO 实际上是用于翻译的特殊文本文件的扩展。
采购订单文件
.po 文件是一个文本文件(它可以在例如记事本、sublime 文本、atom 编辑器或其他文本编辑器中打开)。 它由一个介绍性标题组成,我们在其中定义了语言的基本元素(语言代码、复数形式……)。 然后他们在逆变器上互相跟随:
msgstr “原文”
msgstr “翻译文本”
原文是一个字符串,作为第一个参数传递给__()函数,翻译后的字符串在此基础上应用。
莫文件
.mo 文件是二进制编译的 .po 文件。所以它是一组人类不可读的位。 但对于处理器,是的。 对于编译,我们可以使用例如在线转换器。
我们将生成的两个文件保存在wp-content/languages文件夹中。 重要的是他们有正确的名字。
基本上,如果我们创建一个文件sk_SK.po和一个sk_SK.mo就足够了,理论上我们可以在其中存储所有要翻译的文本。
但是,为了清楚起见,它们倾向于单独存储 WordPress 内核翻译(您将在安装斯洛伐克 WordPress 本地化后收到这些翻译),但主题和插件存储在它们自己的文件夹中。
通过 Loco 翻译文本的说明
如果我们以上述方式翻译所有文本,它可能会“暂停”。
这就是为什么我们创建了比 .po 文件更人性化的插件,它们还为我们处理 .mo 格式的编译。
最著名和最常用的绝对是Loco Translate插件。它是免费提供的,它很清晰,而且很好用。 它可以直接从 WordPress 存储库( Plugins->添加新的)。
插件/主题选择翻译
安装并激活后,Loco Translate 会出现在wp-admin的左侧主栏中,通常作为最后一项。 我们可以直接选择是翻译主题还是插件。
通过点击选中的插件,所谓的 语言集,它可用,即使有百分比进度条。
如果进度条不是 100%,则为翻译不完整。 在这种情况下,翻译尚未翻译的字符串就足够了。
如果我们的语言根本不适用于给定的插件/主题,我们必须将其添加到语言集中。我们还可以将现有的 .po 文件直接上传到 Loco,Loco 将负责编译和创建 .mo 文件,这是翻译正常工作所必需的。
添加所需语言
如果插件中没有可用的斯洛伐克语(或其他所需语言),我们将单击左上角的新语言。 可能会弹出一个警告,指出没有模板,在这种情况下,我们将创建它。
Loco 运行所选插件的所有文件并“映射”各个翻译文本。
如果模板存在,它将使我们失去添加新语言的可能性:
在第没有。 1 选择您要添加的语言。 我们可以使用一种预定义的语言,也可以创建我们自己的语言(例如,如果我们需要某种非官方语言的语言,例如方言)。 然后在第 2 点中选择位置。
自定义:翻译文件保存在文件夹wp-content/languages/loco/plugin/plugin_kod_jazyka.po
系统:翻译文件存储在主语言全局文件夹中。 在更新 WordPress 内核之前,一切都正常,此时可以删除这些文件。 因此,我不建议将翻译存储在此文件夹中。
作者:这里直接在plugin文件夹下创建自己的languages文件夹。 更新插件将删除它。 我也不推荐。
文本翻译
设置完成后,点击开始翻译。 控制面板将打开:
在文本列表中,选择要翻译的文本并单击它。 它将被标记为灰色,将显示源文本,我们的任务是完成斯洛伐克语翻译。
进行任何更改后,“保存”按钮会变为蓝色,因此您可以单击它来保存更改。 我建议连续做。 在控制面板中,我们看到了撤消的可能性,这是经典的Undo ,我们从其他程序(例如 Word)中知道。
其他编译器选项
同步按钮将帮助我们添加或删除某人(或我们)将同时从插件文件中删除的文本。
通过点击带有机器人图标的Auto按钮,我们可以使用自动翻译,这将提供外部翻译引擎之一(例如 Google Translate),当然,您需要通过 Google API 链接您的帐户。 值得注意的是,今天翻译已经在大型 AI(人工智能)中使用,因此 90% 以上的翻译都是正确完成的。
在过滤翻译字段中,我们可以找到我们要翻译的特定字符串(几乎不需要翻译所有可用的文本)。 最后两个按钮显示块(如果可用)或以 HTML 格式而不是在经典编辑器中显示翻译文本。
通配符翻译
值得一提的是通配符的使用。 正因为如此,插件翻译有时会成为一种完全的魔法,因为乍一看我们不知道文本是什么。
必须保留通配符,否则可能会出现故障。 不完整的翻译。
下面的例子,我相信就足够了:
通配符通常以百分号开头 %.
在页面上的大量流量中,而不是通配符,例如 数字或动态的特定文本(例如用户名)且无法静态翻译。
这就是为什么保持它非常重要。
复数翻译
复数翻译如下:
单数文本和复数文本将出现在源文本中。
由于我们在斯洛伐克,我们对 2-4 和 5 及以上使用不同形式的复数(例如,一辆车、两辆汽车、三辆汽车、四辆汽车、五辆汽车、六辆汽车……)。 在我们国家,它不像英语那样简单,复数的不同之处在于字母s(1个词和2个词),或者不规则的形状(1英尺,2英尺)。
我们还是要区分复数,是2-4件还是5件以上。我们必须在 .po 文件的开头使用 harakiri 代码在插件外部定义它,但 Loco 会为我们处理它。我们只是切换到卡 我们将复数形状设置为 2-4 件然后卡的几个 其他,我们将复数形状设置为 5 个或更多。
我们继续这种风格,直到翻译完所有必要的字符串。
WPML 翻译
模板和插件的文本也可以通过 WPML 插件进行翻译– 通过字符串翻译。 有关更多信息,请参阅此WPML 翻译指南。
通过 WordPress.org 翻译
如果您有时间并想帮助翻译以便其他 WordPress 用户也可以使用它,可以将字符串直接翻译到 wordpress.org 。
首先,在 wordpress.org 上打开选中的插件,如 Elementor: https ://wordpress.org/plugins/elementor/#developers。
在 Development 选项卡上,您会看到一个带下划线的链接Translate Elementor Website Builder into your language 。 您会找到您的语言,并且可以为翻译设计单独的字符串。 你也可以用这种风格帮助 WordPress 社区。
WordPress 翻译 – 摘要
在本教程中,我们展示了如何在模板和插件中对各个文本进行编程以使其可翻译。 我们还展示了 PO/MO 文件的工作原理以及如何通过 Loco Translate 插件翻译文本。
Was this article helpful for you? Support me by sharing, please. 👍