JavaScript国际化API由Intl对象提供,包含DateTimeFormat、NumberFormat、RelativeTimeFormat、Collator和ListFormat五个构造器,依据语言标签自动适配日期、数字、相对时间、字符串排序和列表格式,但不处理文本翻译。
JavaScript中的国际化API是一组浏览器原生支持的接口,统一封装在Intl对象下,用来让程序自动适配不同语言和地区习惯,不用手动写规则。
它们都接受语言标签(如'zh-CN'、'en-US')作为参数,返回格式化器实例:
123456.78在德国显示为123.456,78,在日本显示为¥123,457
ä排在a之后,中文按拼音或笔画
Intl本身不管“你好”该翻成“Hello”还是“Bonjour”。它只管怎么把new Date()变成当地用户看得懂的日期,或者把1234.5变成符合本地习惯的数字写法。翻译文案得靠你自己准备JSON语言包,再配合t('welcome')这类函数去查。
所有格式化器都依赖语言标签(language tag),比如'zh-Hans-CN'(简体中文-中国大陆)、'pt-BR'(葡萄牙语-巴西)。可以用navigator.language获取用户系统首选语言,也可以让用户手动切换并传给新实例。
基本上就这些。不复杂但容易忽略——它不是万能翻译工具,而是帮你把时间、数字、排序这些“有规律可循”的内容,真正交还给系统本地化能力来处理。