按用户真实所见衡量翻译完整度:A/B/C 三桶法

Forest Liu · 多家公司数据营销负责人#translation-coverage#localization#shopify

摘要

一个报告"已翻译 100%"的店铺,用户看到的仍是半英文。按来源分桶(A:结构化字段,B:主题 locale JSON,C:硬编码/第三方)衡量渲染可见文本后发现,某个 unknown 来源——Cookie 横幅——占某商品页 29,718 个可见字符的 63.9%。

快速答案

用渲染页面的可见文本衡量翻译完整度,而不是字段覆盖。把每段可见字符串分成 A(结构化字段)、B(主题 locale JSON)、C(硬编码/第三方),分桶算覆盖率,再把 C 桶逐项消灭。一次审计中,某个 unknown 来源占了页面可见文本的 63.9%。

我们的翻译系统一度报告"已翻译 100%",可线上店铺给顾客看的还是满屏英文。差距不在翻译质量,而在度量指标——"字段覆盖"和"用户真实看到的渲染内容"是两回事,而我们量错了那个。

那个骗人的 100%

Shopify 翻译应用处理的是结构化字段:商品、页面、博客。当每个字段都有译文时,系统就宣布全站完成。但一个渲染出来的页面,文字来源远不止应用够得到的字段——主题硬编码、第三方 App、横幅。用户不读我们的数据库,他们读页面。

诊断:给可见文本分桶

我们把指标倒过来,改量访客真正看到的文字。页面上每一段可见文本都归入三个桶之一:

  • A——结构化字段。商品、页面、博客内容,翻译应用够得着。
  • B——主题 locale JSON。存在主题语言文件里的界面文案;可翻译,但不在商品数据字段里。
  • C——硬编码与第三方。写死在主题里的文字和第三方 App 的内容;默认够不到,需要专门的翻译通道或人工登记。

审计结果

在某个商品页上,我们量到 29,718 字符的可见文本。真正吓人的是来源构成:其中一个来源——这里指的是 Cookie 同意横幅——被标记为 unknown,却占了这个页面可见文本的 63.9%。问题从来不在可翻译字段,而在翻译器看不见的那些来源。

为什么这很重要

A 桶 B 桶全绿、C 桶烂着,用户看到的仍然是半英文页面。分桶把"翻没翻"变成一个有归属、有修法的来源问题,每个字符串都有负责人和解决方案。换了度量标准,工作方式也变了:我们不再相信应用报的字段覆盖率,每次本地化迭代都以抓取页面开场,而不是打开看板。这个审计跑起来很便宜,而且它衡量的是顾客的体验,不是我们自己的内部账本。

可复用清单:完整度审计 4 步

  1. 抓取渲染文本。按用户看到的样子抓页面。
  2. 按来源归类。把每段字符串分进 A、B、C。
  3. 分桶算覆盖率。各自算各自的,别再信一个全局百分比。
  4. 逐项消灭 C。给硬编码字符串和第三方 App 加专门翻译通道,直到 C 桶清空。

当你按用户所见来度量,"已翻译 100%"就不再是看板上的自欺。而我们的本地化工具正是这样报告覆盖率的。

关于系统说明:iport 平台持续迭代。本文涉及的系统功能、界面或流程为该文写作时的版本,可能与最新版本存在出入;系统细节介绍以最新版为准。

常见问题

为什么翻译系统报 100%,页面却还是英文?

翻译应用覆盖的是结构化字段(商品、页面、博客)。渲染页面还从主题硬编码和第三方 App 取文本——这些是翻译器够不到的来源,所以字段覆盖与可见完整度会分道扬镳。

A/B/C 三桶具体指什么?

A 是翻译器够得到的结构化字段。B 是主题 locale JSON 里的界面文案——可翻译,但在商品数据之外。C 是主题硬编码文本与第三方 App 内容——默认够不到,需要专门通道。

怎么修 C 桶?

给硬编码字符串和第三方 App 建专门的翻译通道,或人工登记,或把它们替换成结构化内容——然后重跑审计,直到 C 桶清空。

继续阅读