SaaS 国际化:本地化与多币种定价的工程取舍
把 SaaS 翻译成英文只是国际化的第一步。本文聚焦真正影响用户决策的三件事:本地化文案的工程化、多币种定价、与 hreflang/SEO 协同。
i18n 工程结构
推荐做法:把所有用户可见文本抽到资源文件(JSON / ARB / Strings),按 locale 切分。前端用 react-i18next、next-intl 或同类库;后端 API 错误信息也走资源文件。避免把翻译散落在组件 JSX 中。
多币种定价的两种思路
思路 A:按地区显示当地货币的固定价格,不实时汇率换算(Notion、Linear 用法)。优点是稳定、用户感知公平,缺点是各地价格策略需要业务团队维护。思路 B:基础货币 + 实时汇率(Stripe Tax + 自动汇率插件)。优点是工程简单,缺点是用户看到的是非整数价格。建议选 A,让定价成为产品决策而非汇率噪音。
hreflang 与 SEO 协同
每个语言版本的页面必须有自指 canonical 与对应语言的 hreflang。中文页 canonical 不要指向英文页。sitemap 中只放已经翻译完成的页面,半成品页要么 noindex 要么不提交。如果用 /zh/ /en/ 路径,URL 结构稳定,最适合 SEO。
踩过的坑
(1) 把翻译写在数据库字段而不是资源文件,导致前端无法做静态加载与回退;(2) 用单一全局 locale 状态,导致服务端渲染时拿不到正确语言;(3) 忘了翻译 metadata(title/description),导致 Google 英文搜索结果显示中文。