与 ACF Pro 的兼容性由Polylang Pro提供。此集成仅适用于帖子类型和分类法。它不适用于选项页面和 ACF 块(计划在未来版本中使用)。不过,可以通过与 Be API 机构提供的选项页面集成来实现此目的,请参阅:https://wordpress.org/plugins/acf-options-for-polylang/。
(意义不大,除非管理员是不同国家的人,否则不用该功能,该功能主要针对后台的options标签说明)
1. 开始之前
要问自己的第一个问题是:“我需要翻译标签和说明吗?”
如果是,那么您需要将字段组翻译为所有语言,您应该阅读2. 翻译字段组(见下文)。如果没有,好不要翻译字段组,您可以跳到3. 翻译字段值。
2. 翻译字段组
2.1 激活字段组翻译
转到语言 > 设置 > 自定义文章类型和分类法并激活翻译,如下所示:
2.2 翻译字段组
转至自定义字段 > 字段组。
正如您在下面的屏幕截图中看到的,字段组现在是可翻译的。在翻译字段组之前,您需要激活复制工具,如下所示,它将允许您将源字段组中的所有内容复制到翻译中。
我们建议您在翻译之前使用所需的自定义字段完全创建字段组。事实上,翻译的字段组之间不存在同步。这意味着在英语字段组中进行的修改不会影响其法语翻译。
将字段组复制为另一种语言后,您只需编辑新字段组即可翻译标签和说明。
重要提示:您不得在翻译中修改字段名称值。您必须保持相同的值。
3. 翻译字段值
3.1 自定义 ACF Pro 字段行为
从 Polylang Pro 2.7 开始,您可以在为帖子(和页面以及自定义帖子类型……)创建新翻译时微调ACF Pro字段的行为方式。这直接发生在 ACF Pro 的自定义字段子菜单中(见下图)。
有四种选择:
3.1.1 忽略
创建新翻译时,您选择了“忽略”选项的每个自定义字段将在新创建的翻译中留空。
3.1.2 复制一次
当用另一种语言翻译内容(文章、页面、分类法……)时,Polylang 决定必须复制哪些自定义字段以及必须自动“翻译”哪些自定义字段。将翻译的自定义字段是:
- 图像
- 文件
- 画廊
- 发布对象
- 关系
- 页面链接
- 分类。
这意味着 Polylang 在创建新翻译时会使用正确的值预填充该字段。例如,如果翻译了“图像”自定义字段,Polylang 将尝试查找链接图像的翻译(如果存在)。当这些自定义字段包含在转发器字段中时,这也适用。如果翻译不存在,Polylang 将保持原值。
3.1.3 翻译
这与“复制一次”非常相似,尽管这些字段预计在创建翻译后进行翻译。我们建议您为您打算自行翻译或通过翻译服务(无论是手动还是自动)翻译的每个自定义字段选择此选项。
此选项仅适用于以下字段:
- 文本
- 文字区
- 所见即所得编辑器
- 嵌入
- 网址
- 电子邮件
3.1.4 同步
提醒一下,“同步”意味着对内容所做的修改会影响其所有翻译。因此,在创建翻译后,当修改帖子(或页面或分类法等)时,标记为“同步”的自定义字段将根据您要修改的值类型而表现不同。
3.1.4.1 带翻译值
如果您决定修改同步自定义字段中的翻译值,Polylang 将自动同步所有其他翻译的自定义字段。在下面的示例中,我们将帖子对象字段的英语值设置为“英语帖子”。正如您在下面的屏幕截图中看到的,其翻译的法语值“Unarticle en Français”会自动复制到翻译的法语帖子中。
3.1.4.2 使用复制值
如果您在同步自定义字段中修改复制的值(文本、数字、电子邮件、URL 自定义字段…),Polylang 将自动在翻译后的英文帖子中保留相同的值。
对布局(组、中继器、灵活内容)进行的修改将影响翻译。例如,如果您选择在法语帖子中添加灵活内容,Polylang 会自动将此灵活内容添加到翻译后的英语帖子中。如果您决定删除它,也会出现相同的行为。
注意:这些选项不适用于“布局”类型的自定义字段,但每个子字段都可以单独自定义。
重要提示:即使您已在语言 > 设置 > 同步中选择了自定义字段同步选项(请参阅ACF Pro 外部的自定义字段部分),您为每个 ACF Pro 自定义字段选择的选项也将覆盖此同步。
4. 如何调整布局字段的行为?
“布局”类型自定义字段不提供与其他 ACF 字段相同的选项范围。这就是为什么我们无法在布局字段级别包含我们自己的“翻译”选项。但是,我们仍然可以选择在布局字段中添加或删除元素是否会影响帖子、页面等的所有翻译。
这意味着我们可以决定布局字段结构的更改是否应该反映在帖子或页面的所有翻译中,或者它们是否应该保持独立。
但我们怎样才能做到这一点呢?我们将在下一节中对此进行解释。
4.1 使用子字段调整布局字段的行为
4.1.1 我想同步我的布局字段的结构
提醒一下,“同步”意味着内容(帖子、页面等)中所做的修改会影响其所有翻译。
为了实现布局字段结构的同步,必须了解子字段设置如何发挥关键作用。通过将至少一个子字段的“翻译”值设置为“翻译”或“同步”,您可以启动同步过程。请注意,只需一项此类设置即可激活同步。
4.1.2 我想保持布局字段的结构不同步
如果您希望在翻译的帖子、页面等之间保持布局字段的结构不同步,则需要确保所有子字段的翻译值设置为“忽略”或“复制一次”。
请记住,如果只有一个子字段设置为“翻译”或“同步”,它将激活同步。因此,请确保您的子字段均未设置为“翻译”或“同步”。
完成后,对一种语言版本所做的更改不会自动影响其他语言版本。此方法允许为每种语言获得不同的结构。
5.WPML配置文件
或者,您可以通过编写 wpml-config.xml 文件来配置翻译内容时每个自定义字段的行为方式。添加到此配置文件的每个自定义字段都将覆盖在“自定义字段”子菜单中选择的行为。此外,wpml-config.xml 还适用于每个插件的每个自定义字段以及您手动添加的字段。请参阅我们的文档:wpml-config.xml 文件
继续参见: