博客
Tilda 表单翻译:为什么比看起来更复杂
本文内容:
为什么 Tilda 表单无法通过标准工具翻译,Weglot 和 Linguise 具体会遇到什么问题,Zero Block 中的表单是如何构建的,为什么提交后文本仍保留原始语言,以及所有这些问题如何在服务器级别解决。此外,还附有在将网站交付给客户之前进行检查的清单。
客户要求在 Tilda 上建立一个多语言网站。您连接翻译,检查页面——一切看起来都很好。
但随后您打开反馈表单:字段名称是俄语的,“发送”按钮和“请填写此字段”的错误消息也是俄语的。所有这些都出现在一个英文页面上。
大多数 Tilda 翻译解决方案都是这样工作的。这不是特定服务的错误,而是一个架构问题。
为什么 Tilda 上的表单翻译不同
Tilda 页面上的常规文本是静态的。它嵌入在 HTML 中,翻译器可以找到它,替换它,并将其呈现给用户。一切都可预测。
表单的情况则不同。Tilda通过JavaScript生成它们:页面加载后,脚本会动态创建字段、字段名称、字段内的提示和按钮。当翻译器尝试查找文本时,它可能尚未在页面上。或者它已经存在,但立即被Tilda脚本替换。
这被称为
动态内容
,而这正是大多数翻译解决方案的症结所在。
谷歌官方承认
,JavaScript渲染甚至会给索引带来问题,浏览器翻译器也面临着同样的限制。
谷歌官方承认
,JavaScript渲染甚至会给索引带来问题,浏览器翻译器也面临着同样的限制。
除了字段名称,表单还包含几类元素:
填写时的错误消息(“请输入有效的电子邮件”、“此字段为必填项”)
提交后的文本,“谢谢,我们会与您联系”
填写前字段内的提示
复选框标签,包括数据处理同意书
提交按钮
这些元素中的每一个都需要单独处理,并且每个元素都有其自身的技术特点。
特殊情况:零块中的表单
Tilda 允许通过两种方式创建表单:通过标准块和通过
零块
(具有完全布局自由的可视化构建器)。从技术上讲,它们是不同的实现,并且它们的工作逻辑也不同。
实际上,这意味着如果翻译适用于标准表单,则不能保证它适用于零区块中的表单。某些元素可能无法翻译或翻译不可预测。这不是例外,而是 Tilda 结构方式的结果:相同的功能通过几种独立的方式实现。
竞争对手具体出了什么问题
Weglot
Weglot 专注于翻译页面的静态 HTML 内容。由于 Tilda 表单是通过 JavaScript 动态创建的,因此其内容并非总是进入处理范围,这可能导致表单保留原始语言。
您可以尝试通过 Weglot 的“可视化编辑器”来解决——手动添加表单元素进行翻译。这部分有效:您可以翻译主要字段,但错误消息和提交后的文本仍将保持未翻译状态。此外,Tilda 上表单的每次更改都需要在 Weglot 中手动重新输入。
Linguise
Linguise 在浏览器端使用了一个额外的层。它与动态内容配合得更好,但仍然依赖于 Tilda 中表单加载的特性。因此,翻译可能不稳定:在某些页面上,表单显示正常,而在其他页面上,则部分显示或缺失,具体取决于块的配置。
自定义解决方案
一些机构手动解决这个问题:为每种语言复制页面,创建带有翻译字段的单独表单。这是一种可靠的方法,但它需要维护多个表单副本并在每次更改时同步它们,这增加了工作量。
Multify 如何翻译表单
Multify 作为用户和网站之间的反向代理工作:请求通过 Multify 服务器,内容在服务器上进行翻译,然后将准备好的结果发送到用户浏览器。
相关阅读
Multify如何工作:反向代理和服务器端翻译
为什么服务器端翻译与 JS 翻译器有根本区别,以及它对 SEO 和动态内容意味着什么。
阅读文章 →
Multify 不会捕获页面上动态创建的元素,而是拦截 Tilda 的响应并在服务器上翻译内容。翻译后的 HTML 会发送给用户,Tilda 脚本会以正确的语言显示表单。
所有表单元素都已翻译:
字段名称
填写前字段内的提示
提交按钮
填写时的错误消息
提交后的文本
复选框标签
同时,Tilda 表单的逻辑不会中断:与 amoCRM、Bitrix24 或任何其他 CRM 的集成将继续工作。数据照常发送。
一个单独的故事:数据处理同意
有一个表单元素需要特别注意:个人数据处理同意复选框。
在俄语网站上,它通常链接到包含 152-FZ 文本的“隐私政策”。在德语网站或面向欧洲受众的网站上,这已经是 GDPR,并且
法律措辞要求不同
:同意必须是明确的,针对每个目的单独的,没有预先填写的复选框。
这不仅仅是文本翻译。这是
法律内容的本地化
——用一个法律语境替换另一个。
Multify 将复选框文本作为普通内容进行翻译。但针对特定市场的正确法律措辞应由团队准备。这超出了自动翻译的范围。
实用建议:如果您为欧洲受众推出网站,请为该语言版本准备单独的同意文本,并将其作为“手动翻译”提交——大多数重要的工具都支持覆盖单个字符串。
表单提交后的文本
另一个容易出错的地方:用户点击按钮后看到的消息。
从技术上讲,它不是作为静态文本出现的,而是作为服务器成功响应后事件的结果。许多翻译工具会忽略这种状态:页面已翻译,但“感谢您的申请,我们将在 30 分钟内给您回电”仍然是俄语。
对于用英语填写表格的用户来说,这看起来像是一个故障,特别是如果他们不懂俄语的话。
在 Multify 中,提交后的文本会与表单的其余内容一起翻译,因为翻译适用于页面的所有状态,而不仅仅是初始加载。
顺便说一句,在 Tilda 上的在线商店中,结账也是提交表单。同样的字段,同样的错误消息,同样的确认文本。所有这些都有相同的翻译问题,只是出错的代价更高。
相关阅读
Tilda 上的多语言在线商店:发布检查清单
如何翻译目录、购物车和结账,以便来自其他国家的客户可以无障碍购买。
阅读文章 →
清单:发布多语言表单前要检查的内容
在将网站交付给客户之前,请检查每种语言的每个表单:
所有字段名称均已翻译
字段内的提示均已翻译
提交按钮已翻译
尝试提交带有空必填字段的表单 — 检查错误消息
尝试输入不正确的电子邮件 — 检查错误消息
成功提交表单 — 检查提交后的文本
数据处理同意文本符合司法管辖区
如果页面上有 Zero Block 中的表单 — 单独检查它们
这会花费每个表单10分钟,但可以避免客户打电话说“为什么表单没有翻译”。
在发布前检查表单
留下网站链接 — 我们将展示它在另一种语言(包括所有表单)中的样子。
提交申请 →
常见问题解答
为什么 Weglot 翻译整个网站,但不翻译 Tilda 表单?
Weglot 处理页面加载时已存在的 HTML。Tilda 表单通过脚本动态创建 — 当 Weglot 遍历页面时,它们的内容尚不存在。因此,它根本看不到它们。
如果将页面复制到每种语言 — 表单会被翻译吗?
是的,这可行。您为每种语言创建一个单独的包含表单的页面,并在它们之间切换用户。缺点是,每当表单有任何更改时,您都需要手动更新所有副本。对于两种语言来说,这尚可忍受,但对于五种语言来说,这已是一个严重的维护问题。
翻译后表单数据是否正确传输?
是的。翻译只影响显示文本:字段名称、提示、按钮。用户在字段中输入的数据按原样传输 — 姓名、电子邮件、电话号码发送到 CRM 时不变。与 amoCRM、Bitrix24、Google Sheets 的集成继续有效。
可以手动为特定表单元素设置文本吗?
是的。在Multify中,您可以手动为任何字符串设置翻译。这对于法律文本特别有用:同意书、政策、免责声明,因为自动翻译可能无法考虑到当地的法律背景。
总结
翻译Tilda上的表单并非“在设置中选择语言”那么简单。这是一项独立的任务,具有多个复杂级别:动态创建元素、错误状态、法律内容、同一功能的不同实现方式。
大多数工具只能部分解决或根本无法解决。如果表单翻译对您的项目至关重要,请在连接和设置所有其他内容之前,首先检查这一点。
看看您的网站用另一种语言是什么样子
留下链接 — 我们将在您的网站上直接展示演示。
查看我的网站演示 →
2026-03-23 21:24