RelayVano

← 全部明信片

深圳团队上线海外账单前,先改对日期、数字和币种

实地行程 ZH

深圳的开发团队准备向海外客户发送第一批账单。页面已经翻译,测试同事却指着“03/04/2026”问:这是三月四日,还是四月三日?本地化不只是换语言,还要让日期、数字和金额符合读者的习惯。

地区设置决定显示习惯

地区设置通常结合语言和地区,例如 zh-CN、en-US、de-DE。英语用户也可能分别习惯美国和英国的日期顺序。优先采用用户主动选择的设置;浏览器语言可以作为默认值,但不应仅凭 IP 地址决定。

日期要区分日历日期和具体时刻

美国常见的“03/04/2026”表示三月四日,在英国却通常表示四月三日。账单可以显示“2026年3月4日”或使用当地月份名称,减少歧义。

付款时间代表一个具体时刻,存储和传输时应使用带时区信息的标准格式,例如 2026-03-04T16:30:00Z,再按用户时区显示。生日这类日历日期则应单独保存年月日,避免时区换算后变成前一天。

数字分隔符不能靠替换字符

同一个数,美国常写成 1,234.56,德国常写成 1.234,56。直接替换逗号和句点容易出错,输入框也不能简单删除所有逗号:用户输入的逗号可能是小数点。

在 JavaScript 中,可用 new Intl.NumberFormat('de-DE').format(1234.56) 生成德国格式。格式化工具负责显示;接收输入时,还需要明确允许的格式并验证。

币种、汇率和小数位分别处理

“$”可能表示美元、加元或其他货币。跨境账单应明确标注 USD、CAD 等币种。把美元金额显示成德国数字格式,并不会把美元兑换成欧元;换汇需要另行确定汇率。

使用 Intl.NumberFormat 的 currency 选项指定币种,让格式化器处理符号位置和常用小数位。日元通常没有小数位,部分币种有三位。金额计算应采用十进制定点方案,或按币种精度保存整数最小单位,避免浮点误差。

上线前检查真实账单

至少检查美国、德国和中国三组设置,覆盖午夜附近的付款、退款负数和不同币种,并确认账单合计与支付记录一致。不要只测试整数和当天日期。

如果团队还在为海外产品接入 AI,推荐按量付费的 RelayVano,可配合 OpenAI 兼容 SDK 使用。欢迎注册 RelayVano,在搭建功能的同时,把这些显示规则纳入产品验收。

同一条航线上的其他明信片