搜索全站
multilingual 2 分钟阅读

多语言日期、数字与单位格式:本地化格式自动化

多语言站日期(美 月/日/年 vs 欧 日/月/年)、数字(小数点/千分位)、单位(公制/英制)如何按语言自动格式化,给出 PHP/JS 实现。

U
UFO_PF 2017-08-11 · 阅读 2 分钟
多语 MULTILINGUAL
阅读提示
本文约 633 字,预计阅读 2 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:美国用户看 25/12/2026 懵了

日期/数字/单位格式地域性强:美 MM/DD/YYYY、欧 DD/MM/YYYY、中 YYYY-MM-DD;小数点逗号互逆;英里/公斤。多语言站必须按语言格式化。

原理分析:格式化 API

PHP 用 date_i18n() 按 WP 语言格式化日期;JS 用 Intl.DateTimeFormat/Intl.NumberFormat 按 locale。单位需按市场映射(英制/公制)。

保姆级实操

PHP:

echo date_i18n( get_option('date_format'), strtotime('2026-12-25') );

JS:

new Intl.NumberFormat('de-DE').format(1234.5); // 1.234,5
new Intl.DateTimeFormat('en-US').format(new Date());

单位:按语言决定 km/mi 显示(见单位篇)。

常见坑

  1. 硬编码格式,不本地。
  2. JS 用 toLocaleString 未传 locale,随浏览器。
  3. 案例:某站德文日期用美式,改 date_i18n 后本地。
  4. 小数点逗号混,数据错。
  5. 单位不换,欧洲看英里懵。

总结

判断标准:日期/数字/单位按语言格式化。行动清单:date_i18n → Intl 格式化 → 单位映射 → 验各语 → 测试。详见多语言站点的货币符号与千分位。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。