如何在 WordPress 中翻译 Gravity Forms – 字段、通知、确认、条件逻辑
了解如何将 WordPress 网站上 Gravity Forms 表单的每个部分翻译成访客使用的各种语言。本指南涵盖字段标签、定价字段(Pricing Fields)、下拉选项、每个字段的验证消息、确认(Confirmations)、带路由的通知(Notifications with routing)、条件逻辑(Conditional Logic),以及接收提交内容的集成附加组件。它将引导您了解使用 WPML 和 GFML 附加组件的 Gravity Forms 工作流程。
开始之前
安装并激活以下插件:
- Gravity Forms。
- WPML 和 WPML 字符串翻译。
- GFML – Gravity Forms Multilingual(本页面介绍的附加组件)。
使用网站的源语言在 Gravity Forms 中构建表单。在发送表单进行翻译之前,添加您需要的所有字段(定价字段、分页结构、条件逻辑、通知和确认)。您以后随时可以更改表单并重新翻译差异部分。
自动翻译所有内容功能可为您处理此操作
如果您的网站开启了自动翻译所有内容,则无需手动发送表单进行翻译。WPML 会在后台提取并翻译新表单和更新的表单以及其余内容。下面的页面插入步骤仍然适用,但发送表单进行翻译的步骤是自动的。本页面的其余部分介绍了处于翻译部分内容:由您选择要翻译的内容模式的网站的手动操作路径(或适用于您希望在自动队列之前翻译的表单)。
发送表单进行翻译
- 打开 WPML > 翻译 > 仪表板。
- 展开 Gravity Forms 部分。
- 勾选您要翻译的表单。
- 选择一种翻译方式:PTC(推荐)、您的译者或自己翻译。
- 单击翻译。
表单及其字段、选项、通知、确认和每个字段的验证消息都会进入同一个翻译任务中。译者会在高级翻译编辑器中看到它们显示为带标签的行。
将表单插入翻译后的页面
Gravity Forms 位于页面或文章中,通常通过 Gravity Forms 区块或 [gravityform id="X" title="false"] 简码插入。处理多语言插入的方式最容易让客户感到惊讶,因此规则如下:
在页面的每个语言版本上使用相同的区块或简码。不要为每种语言创建单独的表单。
流程如下:
- 使用源语言构建一次表单。
- 发送表单进行翻译(或让自动翻译所有内容提取它)。
- 使用 Gravity Forms 区块或
[gravityform]简码将表单插入源语言页面。 - 通过 WPML > 翻译 > 仪表板翻译页面,就像翻译任何其他页面一样。表单嵌入内容会保留在翻译后的页面中。
- 当访客访问翻译后的页面时,GFML 会自动以访客的语言提供表单 – 相同的表单 ID,相同的简码,翻译后的内容。
您不需要为每种语言使用不同的表单 ID。您不需要为每种语言交换简码。翻译与源表单相关联;桥接插件会在渲染时根据页面的语言解析正确语言版本。
例外情况 – 当您确实需要为每种语言使用不同的表单时。某些网站需要为每种语言提供结构上不同的表单(不同的字段、不同的逻辑,而不仅仅是不同的文案)。在这种情况下,请构建单独的 Gravity Forms(每种语言一个),并使用该翻译的 WordPress 编辑器将每个表单的简码插入页面的匹配语言版本中。这是简码在不同语言之间产生差异的唯一情况。
页面构建器注意事项
如果您的页面是使用 Divi、Elementor 或其他页面构建器构建的,并且这些构建器将简码包装在自己的文本模块中,那么简码在翻译后可能无法始终完好无损。如果翻译后的页面显示源语言表单,请在页面构建器中打开翻译后的页面,并在其中重新插入表单的区块或简码。原生 WordPress 区块编辑器和经典编辑器没有这个问题。
字段标签和选项与定价和产品字段一起翻译
每个字段标签、占位符、下拉选项、单选选项、复选框标签和 HTML 字段内容都会出现在翻译任务中。对于 Gravity Forms 独特的定价字段(产品、数量、总计、运费),标签也会被翻译(例如将“Quantity”翻译为“Quantité”),而底层的数字处理保持不变。列表字段(List fields)、数字签名(Digital Signatures)和文件上传(File Uploads)的翻译方式相同。多项选择(Multiple Choice)和图像选择(Image Choice)(Gravity Forms 2.9 字段类型)从 GFML 1.8.3 开始支持翻译。
分页表单和对话式表单
对于分页表单,每个页面标题和分页符标题都会包含在翻译任务中。跨页分支的条件逻辑在翻译后依然有效。选项值在不同语言之间保持一致,因此显示/隐藏规则会继续在相同的数据上触发。对话式表单(一次回答一个问题的模式)会翻译每个提示和每个过渡。选择一个语言版本,走一遍对话流程,并在发布前确认每个步骤读起来都很自然。
每个字段的验证消息
Gravity Forms 中的每个字段在其高级(Advanced)选项卡中都有自己的验证消息(Validation Message)设置 – 即验证失败时显示的文本。每一条消息都会作为一行显示在高级翻译编辑器中。
如果您在翻译任务中没有看到每个字段的验证消息,则该字段可能使用的是 Gravity Forms 的默认消息(在 Forms > Settings > Form Settings 中设置),而不是单字段覆盖。您可以设置自定义的单字段消息并重新发送表单进行翻译,或者通过 WPML 字符串翻译来翻译全局默认消息。
确认 – 文本、重定向和页面
Gravity Forms 支持三种确认(Confirmation)类型,且这三种类型均支持多语言:
- 文本(Text)确认进行内联翻译。在 Gravity Forms 中编辑源语言确认 > 重新发送表单进行翻译 > 翻译后的文本将显示在每种语言中。
- 页面(Page)确认指向一个 WordPress 页面。通过 WPML 的正常页面翻译工作流程翻译该页面;访客会看到与其上下文匹配的语言版本。
- 重定向(Redirect)确认会在提交后将访客发送到一个 URL。该 URL 本身可以按语言进行翻译。在高级翻译编辑器中为每种语言设置不同的感谢页面 URL。
通知和通知路由
每个 Gravity Forms 通知(Notification)都可以按语言进行翻译:收件人邮箱(To Email)、发件人名称(From Name)、主题(Subject)、正文模板和合并标签。通知正文使用 Gravity Forms 合并标签({Name}、{Email}、{All Fields}),这些标签在翻译后会正确解析。通知路由(Notification routing)规则会根据字段值将不同的提交内容发送给不同的收件人。它们在翻译后依然有效,因为底层的选项值在不同语言之间保持一致。
翻译后,请使用每种语言发送一次测试提交,并确认通知以访客的语言送达,且合并标签替换正确。
翻译后选项值的条件逻辑
基于文本的选项(单选按钮、复选框、下拉菜单)的条件逻辑在翻译后继续起作用,因为 GFML 维护了源标签和翻译标签之间的值映射。访客在法语中看到的是“Pas encore”;底层值保持为“Not yet”;条件规则继续在“Not yet”上触发。
有一件事会破坏条件逻辑:在翻译后更改源语言选项标签,而没有重新发送表单进行翻译。此时映射会失效。通过重新发送表单即可修复此问题 – GFML 会更新值映射。
集成附加组件 – Mailchimp、ActiveCampaign、HubSpot、Zapier、Slack、Webhooks
将提交内容推送到第三方服务(Mailchimp、ActiveCampaign、HubSpot、Zapier、Slack、Webhooks 等)的 Gravity Forms 附加组件会接收访客翻译后的输入内容。法国访客的姓名和消息会以法语到达目标系统。如果映射的列表标签、管道阶段和频道名称作为表单级字符串存在,它们也会被翻译。
如果您的集成使用字段值而不是标签(例如,将下拉菜单值映射到 Mailchimp 列表),该值在不同语言中保持规范一致,因此映射不会中断。
常见陷阱
作者:Amir · 最后更新于 2026年7月2日
作者:Amir · 最后更新时间:2026年7月2日