WPML

了解如何通过 wpml-config.xml 语言配置文件保持 Divi 模块与 WPML 的兼容性。

本文档专为 Divi 开发团队和使用 Divi 的 Web 开发者编写。它介绍了保持 Divi Builder 与 WPML 兼容性的过程,该过程通过更新语言配置文件来完成。

本页面涉及将内容存储为兼容 Gutenberg 区块的 Divi 5(Divi 4 曾使用简码)。

Divi Builder 与 WPML 的集成工作原理

要了解 Divi Builder 如何与 WPML 配合使用,让我们先使用 Divi Builder 创建一个简单的页面。在下面的示例中,我们添加了几个模块,例如 Text(文本)、Number Counter(数字计数器)、Icon(图标)等。

使用 Divi Builder 构建的页面(线框视图)
使用 Divi Builder 构建的页面(线框视图)

要进行翻译,请前往 WPML翻译,然后在页面部分下找到该页面。选择它并单击翻译您的内容以选择翻译方式。如果您有 AI 翻译字数,则可以在几分钟内自动翻译此页面。

使用翻译仪表板翻译 Divi 页面
使用翻译仪表板翻译 Divi 页面

使用语言配置文件

在 wpml-config.xml 文件中,您可以配置以下元素:

  • 页面构建器区块
  • 自定义字段
  • 自定义分类法
  • 管理文本 / wp_options
  • 语言切换器配置

有关结构和语法的更多信息,请参阅我们的语言配置文件指南。

获取 Divi 的配置文件

配置 wpml-config.xml 文件可从使用 Divi Builder 构建的页面中提取字符串,并将它们加载到高级翻译编辑器中。使用此文件可添加新的区块类型和属性,以及删除废弃的区块类型。

您可以从我们的存储库 (在新标签页中打开)下载语言配置文件,并在配置完成后将其放置在主题的根文件夹中。

我们在自己的服务器上托管 Divi 的语言配置文件,因此它会覆盖放置在 Divi 根文件夹中的本地配置文件。这可确保配置文件始终为最新版本。

在语言配置文件中配置区块

Divi 5 使用区块语法,因此注册要翻译的 Divi 模块的过程类似于翻译 Gutenberg 区块的过程:

  • 所有区块定义都包裹在 <gutenberg-blocks> 父元素中。
  • 每个单独的区块均使用 <gutenberg-block> 元素声明,其中 type 属性对应于区块的注册名称。
  • 可翻译字段被声明为 <key> 子元素。

以 Divi Call to Action 模块为例:

<!-- wp:divi/cta {"module":{"title":"CTA","button_text":"Contact Us","button_url":"https://example.com/contact/"}} /-->

以下是它在 wpml-config.xml 中的配置方式:

语言配置文件中 Divi 区块的 xml 示例
<gutenberg-blocks>
    <gutenberg-block type="divi/cta" translate="1">
       <key name="module">
         <key name="title" />
         <key name="button_text" />
         <key name="button_url" type="link" />
       </key>
    </gutenberg-block>
</gutenberg-blocks>

该结构分解如下:

  • <gutenberg-blocks> 元素包裹所有区块定义。
  • <gutenberg-block> 元素定义单个区块类型,由 type 属性标识。translate="1" 告知 WPML 对其进行处理。
  • 每个 <key> 元素标识一个可翻译字段:纯文本字段为 title 和 button_text,链接为 button_url。
  • type="link" 属性告知 WPML 自动将该 URL 替换为链接文章或页面的翻译版本。

测试语言配置文件

要测试更新后的语言配置文件,请按以下步骤操作:

1. 设置一个同时激活了 Divi 和 WPML 的网站。确保还激活了字符串翻译和媒体翻译附加组件。

2. 要使用更新后的版本覆盖远程语言配置文件,请前往 WPML设置自定义 XML 配置。将更新后的语言配置文件内容复制到编辑器中,然后单击保存。

将更新后的文件添加到“自定义 XML 配置”选项卡
将更新后的文件添加到“自定义 XML 配置”部分

3. 创建一个新页面,并向其中添加新模块。如果您更新了现有模块的某些属性,也请将它们添加到该页面。在此示例中,我们假设 Button(按钮)模块是新添加到 Divi Builder 的。将其添加到页面,然后单击发布。

将新模块或具有更新属性的模块添加到测试页面
将新模块或具有更新属性的模块添加到测试页面

4. 要翻译带有该按钮的页面,您可以使用 WPML翻译的仪表板选项卡。另一种方法是使用高级翻译编辑器 (ATE),这在测试时非常有用:它会将模块的文本显示为页面内容下方的字段,以便您可以检查它们中的每一个是否都已进入翻译任务。要打开 ATE,请前往编辑页面,然后单击右侧边栏中语言框下方的加号图标。

使用加号打开高级翻译编辑器
使用加号打开高级翻译编辑器

5. 检查这些元素,并添加您的翻译或允许 ATE 自动翻译。

使用高级翻译编辑器进行翻译
使用高级翻译编辑器进行翻译

现在,您可以在前端查看翻译后的页面。翻译后的页面应显示所有已翻译的字符串,这意味着更新后的语言配置文件工作正常。

如果您遇到任何问题,请联系我们的兼容性开发团队。他们将很乐意检查与语言配置文件相关的问题。

测试完成后,请向我们的存储库 (在新标签页中打开)提交合并请求。我们的兼容性开发者将收到您的请求并进行审核。

已知问题

此插件与 WPML 之间没有未解决的兼容性问题。搜索所有已知问题。

作者:Amir