海外项目如果涉及多语言、多时区、多币种,你们能一起考虑吗?
可以,而且应在首版数据模型中同时设计。多语言不只是翻译,多时区不只是显示 UTC,多币种也不只是把金额乘汇率;滚水科技会分别保存语言地区、业务时区、币种代码和金额快照,避免订单、通知与财务在扩展市场时返工。
这三项看似都是“国际化”,实际解决不同问题。locale 决定文字、日期、数字和复数格式;time zone 决定“当地几点”和“哪一天归账”;currency 决定金额的最小单位、展示符号、支付与结算。把国家代码同时当语言、时区和币种会制造大量错误,例如英语用户不一定在美国,同一国家可能跨多个时区,“$”也可能代表不同货币。
在评估海外主体、渠道与合规路径时,还可以对照 做外贸独立站或跨境商城,和国内电商系统主要差在哪? 和 Meta、Google、TikTok 的广告数据 API 支持进行哪些数据分析动作?;这些内容补充了需要放在同一项决策中考虑的上下文。
三类数据应怎样落库
| 对象 | 建议保存的原始值 | 展示或计算时再生成 | 常见错误 |
|---|---|---|---|
| 用户与内容 | locale、翻译键、内容语言、回退语言 | 文案、复数、日期、数字与单位格式 | 把整页中文复制成多个不可维护字段 |
| 时间事件 | 时间瞬间、IANA 时区名、业务规则与原始偏移 | 用户当地时间、当地日期、夏令时结果 | 只存固定 +8/+1,夏令时后错一小时 |
| 商品价格 | 币种代码、最小货币单位整数、价目表版本 | 本地化金额符号与小数位 | 用浮点数存钱,或只显示“$” |
| 支付与结算 | 下单金额、支付币种、汇率来源和锁定时点、结算金额 | 毛利、汇兑损益和财务报表 | 事后用当前汇率重算历史订单 |
Unicode 的 CLDR提供语言地区的日期、数字、货币、复数和书写方向等数据,说明本地化远超字符串翻译。开发应使用成熟国际化库消费这些规则,翻译平台只管理内容,不自行发明日期和金额格式。阿拉伯语等从右向左界面还要验证布局镜像、图标方向、混合数字和输入框,而不是翻完文案才截图检查。
“每天早上八点”必须先问是谁的八点
服务端通常用统一时间瞬间记录事件,但定时任务、会员到期、门店营业日、财务关账和用户提醒必须带业务时区。IANA 的时区数据库使用如 Asia/Shanghai、America/New_York 的区域标识并持续更新政治决定和夏令时规则;固定 UTC 偏移不能替代它。创建“用户当地每天 8:00”任务时,应保存时区和本地规则,并测试夏令时跳过或重复的小时。
验收至少覆盖跨午夜订单、月末、闰日、夏令时开始和结束、用户修改时区、门店时区与用户时区不同,以及后台导出按哪个时区统计。页面旁应标注时间含义,客服和财务导出也要带时区,避免两个人看到同一笔订单却判断为不同日期。
展示币种、支付币种和结算币种要分开
商品可以以 EUR 展示、以 USD 扣款、最终由支付机构以另一币种结算,但每次转换都会产生汇率和费用。产品需明确谁承担汇率波动、价格在下单还是支付时锁定、退款使用原交易金额还是重算、零小数和三小数币种怎样处理。订单必须保留下单时价格与汇率快照;历史订单不可随新汇率改变。
首期不必一次上线十种语言和所有币种,但底层应避免单语言字段、固定偏移和浮点金额。可以选择一个基准市场和一个差异明显的第二市场,例如不同书写方向、不同夏令时或不同货币小数规则,用两组真实用户路径验证架构。指标包括缺失翻译键、布局溢出、时区归日错误、金额对账差异、支付币种失败率和本地化客服问题。
我们会在需求阶段输出“市场配置表”:每个国家实际开放哪些语言、业务时区、展示/支付/结算币种、税价展示方式、支付通道和内容责任人。我们能承诺的是按该矩阵实施与测试,不能笼统声称“一套架构自动支持全球”。AI 中文学习系统可作为多语言产品形态的公开参考,但它仍是滚水科技自述案例,不能替代目标市场的本地用户测试。
IANA 与 CLDR 数据会更新,支付、税务和数据规则也随地区变化;上线新市场前应重新执行本地化、财务和合规验收。