译文会被审校,做好的页面往往不会。

一条字符串在文件里是对的,在屏幕上可能是错的——按钮里被截断、中文在词中间断行、下拉框排序不对,或者旁边是那个市场没人看得懂的日期格式。这些都不是翻译错误,但它们全都会到达客户面前。

本地化测试就是拦住这些的那一步,而且它发生在做好的产物上、在真实语境里、在那个市场真正在用的设备上

基本判断

上线后冒出来的本地化问题,多数不是翻译缺陷,而是集成缺陷——正确的文本被放进了一个从未在该语区验证过的布局、格式或代码路径。

国际化测试 vs 本地化测试

这两件事常被合并成一步,于是同样的 bug 每次上线都重来一遍。它们问的问题不同,执行的时间点也不同。

国际化(i18n)测试问的是:这套代码能不能支持任意语区。它只做一次,针对代码库,最好在翻译开始之前。界面能不能容纳更长的字符串?文案是外置的还是硬编码的?编码能不能扛住非拉丁字符?日期和数字是按语区格式化,还是默认了本土写法?

本地化(L10n)测试问的是:这个语区对不对。它按语言逐个做,针对做好的站点,在翻译之后。术语在这个市场对不对?这门语言的实际文本撑不撑得住布局?当地惯例有没有被遵守?

先做 i18n 测试,才能让 L10n 测试变便宜。 跳过它,每种语言都会把同一个结构性 bug 重新发现一遍。

清单速览

  • 国际化就绪 —— 6 项: 文案外置 · 编码 · 按语区格式化 · 布局对膨胀的容忍度 · 有需要则支持双向文字 · 伪本地化过一遍
  • 语境中的语言 —— 5 项: 术语对照术语表 · 语气与语域 · 截断与缩写 · 占位符与变量 · 法律与安全措辞
  • 排版与字体 —— 6 项: 文本膨胀 · 断行 · 字体回退 · 垂直节奏 · 图片内嵌文字 · 各断点的响应式表现
  • 功能与数据格式 —— 6 项: 日期时间 · 数字与货币 · 地址与电话格式 · 排序与搜索 · 表单校验 · 计量单位
  • 上线前最后一遍 —— 4 项: hreflang 与语言切换 · 各语区的 SEO 元数据 · 法律页与同意机制 · 目标市场真机抽查

下面逐层展开成”具体看什么”。

国际化就绪

在翻译之前做,只做一次,针对代码库。

  • 文案已外置。 模板和代码里没有硬编码的用户可见文本。抽不出来的字符串,既翻译不了也测试不了。
  • 编码全链路一致。 存储、传输、显示全程 UTF-8。用一条同时包含中日韩文字、带重音的拉丁字母和一个 emoji 的字符串去测;任何一处乱码都是管线问题,不是字体问题。
  • 格式化按语区走。 日期、数字、货币和复数形式由语区决定,而不是写死成本土市场的写法。
  • 布局容得下膨胀。 德语和法语通常比英语长 20–35%,俄语和芬兰语可能更长。定宽按钮和单行标签是最先出问题的地方。
  • 如果路线图上有从右往左书写的市场,现在就支持双向文字。 上线后再补 RTL,成本远高于现在预留。
  • 伪本地化过一遍。 把字符串替换成加了重音、拉长但仍可读的版本——[Ĉöñƒïŕɱ öŕðéŕ……]。所有硬编码字符串、截断点和布局断裂会在这一遍里全部现形,而这时候一个词都还没翻译

语境中的语言

这一层按语言逐个做,在做好的站点上。

  • 术语与术语表一致。 不是问”翻得合不合理”,而是问”这是不是这个市场已批准的用词”——对照整套内容共用的那一份清单。
  • 语气与语域和界面层级匹配。 一条微文案、一段法律条款、一句营销标题,不该读起来像同一个人用同一种腔调翻的。
  • 截断和缩写是有意为之。 凡是为了塞进空间而缩短的地方,确认短形式仍然正确且地道——而不是直接砍掉前 N 个字符。
  • 占位符和变量能正确拼装。 语序在不同语言之间会变;按英语语序拼装的句子换个语言可能不知所云。每个插值字符串都要用真实数据验。
  • 法律与安全措辞符合当地要求。 质保、隐私、安全文本要满足当地规定,而不只是翻得准。这需要本地审核,不是翻译审核。

排版与字体

  • 文本膨胀撑得住。 每个组件要用最长的真实字符串去试,不是平均长度那条。
  • 断行符合该文字系统的规则。 中文、日文、泰文不按空格断行;粗暴断行会把词劈开,日文里还可能把标点甩到行首。
  • 字体回退是选定的,不是继承来的。 如果品牌字体没有中日韩字形覆盖,客户实际看到的就是回退字体——那它就该被认真选过。
  • 垂直节奏不塌。 中日韩字形相对拉丁基线的位置不同,按英文调好的行高换成中文常常显得局促。
  • 图片里内嵌的文字要本地化或替换。 烧进图片的文字,翻译管线看不见,搜索引擎也看不见。
  • 每个断点都要看。 桌面端放得下的膨胀,常常在移动端撑破布局——而流量大头在移动端。

功能与数据格式

  • 日期与时间。 顺序、分隔符、12 或 24 小时制、时区显示。03/04 对不同读者是两个不同的日子。
  • 数字与货币。 小数点和千位分隔符在不同市场是反过来的;货币符号的位置和空格也不同。
  • 地址与电话。 字段顺序、邮编格式,以及表单到底接不接受当地的写法。
  • 排序与搜索。 字母顺序因语言而异,中日韩排序还有多种都成立的方案。搜索要能匹配用户实际的输入方式,包括不带变音符号的输入。
  • 表单校验。 只接受拉丁字母的姓名字段、假定单一国家的邮编规则、把当地有效号码判为无效的电话校验——这是最常见的转化杀手之一。
  • 计量单位。 该换算的要换算,而不是仅仅翻译过来。

上线前最后一遍

要点

国际化测试在翻译前针对代码库做一次,本地化测试再按语言在做好的站点上逐个做。在还没有任何译文的时候先跑一遍伪本地化,能一次性揪出绝大多数结构性缺陷——而且它是这份清单上最便宜的一项测试。

  • hreflang 与语言切换。 每个语区的标签正确且互指;切换器可见,并且落到对应页面而不是首页。
  • 各语区的 SEO 元数据。 标题、描述和结构化数据都做了本地化——不是留着源语言,也不是机器随便填的。
  • 法律页与同意机制。 隐私、条款、Cookie 横幅和同意文本都有当地语言版本,并满足当地要求。
  • 目标市场真机抽查。 最好由当地的人、用当地典型的设备和网络来看。渲染、字体可用性和加载表现,都和开发机上不一样。

这一步在整体里的位置

这份清单管的是验证已经做出来的东西。而决定”要验的东西有多少”的那些选择——范围、更新工作流、审校归属、术语——发生在更早的阶段,那部分在网站本地化清单里。

如果你正在筹备多语言上线,希望测试这一层被认真执行、而不是挤进最后一个迭代,我们的多语言网站与产品内容服务把它包含在工作流里。想先摸一下现状,从这里开始