熟悉React或则umi框架的同学肯定对useIntl很熟悉,我们常用它来实现语言国际化,一直以为它是一组平平无奇的API,事实上它并不那么简单。既然语言需要国际化,那针对国家/地区的日期、数字以及货币如何实现格式化呢?就需要用到useIntl背后的实现Intl
Intl 对象是 ECMAScript 国际化 API 的一个命名空间,它提供了精确的字符串对比、数字格式化,和日期时间格式化。Collator,NumberFormat 和 DateTimeFormat 对象的构造函数是 Intl 对象的属性。
Intl属性
collators 的构造函数,用于启用对语言敏感的字符串比较的对象。
用于启用语言敏感的日期和时间格式的对象的构造函数。
Constructor for objects that enable language-sensitive list formatting.
用于启用语言敏感数字格式的对象的构造函数。
用于启用多种敏感格式和多种语言语言规则的对象的构造函数。
Constructor for objects that enable language-sensitive relative time formatting.
Intl方法
返回规范区域名称(canonical locale name)
摘录自MDN