Skip to main content

第三篇:产品本地化 — 不是翻译,是重建一半产品

进入信号:第一站选了新加坡。但你的 UI 是全中文的、支付只支持微信和支付宝、帮助中心只有中文——老外根本用不了。

本篇解决的问题:i18n/l10n 不只是把所有字符串翻译成英文——是多语言架构、支付本地化(Stripe + 东南亚本地钱包)、UX 文化适配(不只是翻译文案——是理解老外点按钮的习惯和中国人完全不同)。还有日期、时区、数字格式这些「你以为不用管的细节」。


一、i18n ≠ l10n——先搞清楚两个概念

i18n(Internationalization):让你的代码「准备好说多种语言」。核心是把所有硬编码字符串抽成可翻译的 key。

l10n(Localization):针对某个特定市场定制产品。包括翻译、支付方式、UX 习惯、营销语调、甚至定价策略。

很多中国团队以为「i18n 做完了 = 英文版做完了」。但 i18n 只是基础设施——l10n 才是真正让新加坡客户觉得「这个产品是为我们做的」的东西。


二、i18n 实战:3 天把全中文代码变成多语言

你之前所有的文案都硬编码在 React 组件里:

// 之前:中文写死在代码里
<Button>创建新白板</Button>
<Placeholder>输入团队名称…</Placeholder>
<Toast>白板已保存</Toast>

第一步:把所有文案抽成 i18n key。

// 之后:用 t() 函数引用翻译 key
<Button>{t('whiteboard.create')}</Button>
<Placeholder>{t('team.name.placeholder')}</Placeholder>
<Toast>{t('whiteboard.saved')}</Toast>

第二步:建翻译文件。

// zh.json(你原来的所有中文文案)
{
"whiteboard.create": "创建新白板",
"team.name.placeholder": "输入团队名称…",
"whiteboard.saved": "白板已保存"
}

// en.json(AI 辅助翻译 + 你人工校审)
{
"whiteboard.create": "New Whiteboard",
"team.name.placeholder": "Enter team name…",
"whiteboard.saved": "Whiteboard saved"
}

你用的工具:next-intl(Next.js 最流行的 i18n 解决方案)。3 天完成全部迁移——570 个 i18n key,英文翻译 AI 辅助一个人校对完成。


三、不止文案:四个「你以为不用管」的细节

需要适配的中文英文坑在哪
日期格式2026年7月2日Jul 2, 2026不同市场的日期顺序不同——美国是 Month/Day/Year,欧洲是 Day/Month/Year。如果你的系统把 07/02/2026 当 7 月 2 日但德国客户认 2 月 7 日——合同的截止日期就全乱了。
数字格式1,000,0001,000,000中文和英文都用千分位逗号——但德语用点(1.000.000),法语用空格(1 000 000)。
时区UTC+8UTC+8(新加坡)到 UTC-8(旧金山)所有时间存储用 UTC,显示时转换客户端时区。不要把 UTC+8 当成「默认时区」写死在逻辑里。
RTL 语言从左到右从左到右(英语),从右到左(阿拉伯语/希伯来语)支持 RTL 几乎等于重写整个 CSS。先不做 RTL 市场——等你有 10 个以上阿拉伯客户再说。

四、支付本地化:不是接一个 Stripe 就完了

你在国内只支持微信和支付宝。出海后,面临的支付选择完全不一样:

// 接 Stripe(覆盖全球信用卡 + 部分本地支付)
import Stripe from 'stripe';
const stripe = new Stripe(process.env.STRIPE_SECRET_KEY!);

const session = await stripe.checkout.sessions.create({
payment_method_types: ['card', 'paynow'], // 信用卡 + 新加坡 PayNow
line_items: [{ price: 'price_xxx', quantity: 1 }],
mode: 'subscription',
success_url: `${baseUrl}/billing/success`,
cancel_url: `${baseUrl}/billing`,
});

但 Stripe 不能覆盖所有东南亚支付场景:

市场支付习惯怎么接
新加坡信用卡 + PayNow(类似微信扫码付)Stripe 原生支持 PayNow ✅
马来西亚信用卡 + FPX 网银需要 Billplz / Stripe 的 FPX 集成
印尼GoPay / OVO(电子钱包)需要 Xendit / Midtrans
泰国PromptPay(类似支付宝)Stripe 支持 ✅
越南银行转账 + Momo需要本地聚合支付

你的策略:第一阶段只接 Stripe(覆盖信用卡 + PayNow)。新加坡 + 马来西亚 + 泰国的信用卡渗透率足够你起步了。后面市场大了再加本地钱包。


五、UX 文化适配:老外点按钮的习惯和中国人不一样

你让一个美国设计师朋友看了你的英文版。她给了 10 个反馈——最重要的三个:

1. 「颜色太花——看起来不像生产力工具。」

国内 SaaS 喜欢用大面积的主题色——蓝色的导航栏、橙色的 CTA 按钮、绿色的成功提示——因为国内用户觉得「有活力」=「产品在持续更新」。但西方用户(尤其是在 B2B 协作工具这个品类里)认为:大面积高饱和色 = 「不够克制」=「像消费 App 而不是工作工具」。

Linear 和 Notion 的设计哲学是:90% 的界面是中性色(白/灰/黑),只留 10% 给你强调最重要的一个操作。这种设计传递的信息是「别担心我会消失——我就在你需要的那个角落。」

你做了三个月改版:把导航栏从蓝色改成深灰、把成功颜色的饱和度从 80% 降到 30%、把所有「圆角 + 投影」改成「无投影 + 微圆角」。

2. 「帮助信息藏太深——每个功能旁边我需要一个 Tooltip。」

中国用户遇到不懂的功能——截图、发到你的客服群里、3 分钟有人回。西方用户遇到不懂的功能——去你的帮助中心自己搜;搜不到就换软件。

你给每个功能按钮旁边加了 ? 图标 + Tooltip:

<Button>
Share
<Tooltip content="Generate a shareable link. Anyone with the link can view this board.">
<IconHelp size={14} />
</Tooltip>
</Button>

加了 37 个 Tooltip 花了 2 天。但海外客户的求助工单数量下降了 42%。

3. 「Dashboard 卡片太多——我不知道该先看哪个。」

中国用户对信息密度的容忍度高——一天看 200 条微信消息的脑子,看 8 个 Dashboard 卡片没啥。西方用户一个屏幕最多 5-6 个信息块,多了会觉得「这个软件很复杂」。

你把 Dashboard 从 8 个卡片减到 5 个——只保留最近白板、团队活跃度、存储用量、最近邀请、快捷操作。


六、英文品牌语调(Tone of Voice)——不只是「不犯错」

你的第一次英文文案是这么写的:

"CollabMind is a powerful collaborative whiteboard platform that enables teams to work together seamlessly."

这是「对」的英文——没错别字、语法正确。但它没有任何性格。Linear 的官网文案是:「Linear is a better way to build software.」——只有 8 个单词,让一个工程师读完就想注册。

你的英文语调需要回答三个问题:

  1. 你是谁? —— 「A simpler whiteboard for teams that hate complexity.」
  2. 你为谁做? —— 不是「所有团队」,是「被 Miro 的复杂功能淹没的小团队」
  3. 你的性格是什么? —— 简洁、直接、不装。像和一个同事在 Slack 里聊天,而不是像企业官网。

你改了整站文案——从「Collaborate seamlessly with your team using our powerful suite of tools」变成了「Draw. Write. Collaborate. No tutorial needed.」


七、英文版上线的 Checklist

  • ✅ 570 个 i18n key,中英文翻译完成
  • ✅ Stripe 集成(信用卡 + PayNow)
  • ✅ 日期/数字/时区适配
  • ✅ Dashboard 从 8 卡片减到 5
  • ✅ 37 个 Tooltip 帮助文案
  • ✅ 整站英文文案重写(人话,不是翻译腔)
  • ✅ 英文帮助中心上线(10 篇核心文档)
  • ✅ 英文 Terms of Service + Privacy Policy(Copy 了同品类 Notion 的模板然后改的——不要自己写)

什么时候进入下一阶段?

英文版上线了。Stripe 接好了。你给新加坡那个客户发了封邮件:「English version is live — here's your trial link.」

他回:「Awesome. I'll share it with my team. We have a brainstorming session tomorrow — perfect timing.」

进入下一阶段的信号:英文版上线了。但除了那个新加坡客户,互联网上没有任何人知道 CollabMind 的存在。你怎么让第一个陌生人发现你?

这是第四篇的内容——第一个海外客户。


本篇总结

做了什么工具/方法耗时
i18n 国际化next-intl,570 个 key3 天
支付Stripe(卡 + PayNow)1 天
UX 文化适配降色 + 37 Tooltip + 减卡片3 个月改版
英文品牌语调人话文案,不装2 天
英文帮助中心10 篇核心文档1 天