当前位置:首页 > 房产信息

intl 【第1718期】前端国际化利器 - Intl

前言

你目前的产品国际化计划是什么?今天的早读文章由@梁天培_Tim翻译授权分享。

@蒂姆·梁(Tim Liang)目前是Shopee的一名高级前端工程师,他曾在JD.COM保险杠实验室工作,该实验室是芋头块手册的编纂者之一

Intl是一个全局对象,它的主要目的是显示国际信息,它可以将字符串、数字、日期和时间转换成指定地区的格式。

国际化是应用程序无需编码就能适应各种语言和地区的一种方式。

Java开发人员不需要向代码包中添加几千字节的翻译文件。Intl有各种以locale为参数的构造函数和方法,可以根据你的需要格式化数据。以下是Intl的构成:

全局变量Intl

排序器、日期时间格式、列表格式、数字格式、复数规则和相对时间格式是在空之间命名的Intl中的构造函数。他们接受两个参数——地区和选项。区域设置必须是符合BCP 47语言标记规范的字符串或数组。如果您有兴趣了解更多关于BCP 47语言标签的信息,请参考以下摘自《市场营销网络:

BCP 47语言标签用于定义一种语言,其中包含了该语言的主要信息。一般情况下,依次包括语言代码、脚本代码、国家代码,用连字符隔开。虽然这些标签不区分大小写,但建议以大写形式编写标题大小写的脚本代码,以小写形式编写国家和地区代码,其他内容。

区域设置参数的默认值是运行时区域设置。语言环境一般写成-en(英语)、hi(印地语)、ta-in(泰米尔语-印度)。Options参数是可选的,其结构随不同的构造函数而变化,主要用于提供格式化的自定义参数。

在本文中,我们将介绍一些在命名空之间的Intl中添加的新API。这些新的API已经在Google I/O '19上发布。让我们仔细看看这些API。

国际号码。RelativeTimeFormat

RelativeTimeFormat构造函数用于将时间戳转换成人性化的短语。它将一个不可读的日期对象转换为其相对的当前时间字符串。我们来看看下面的栗子:

国际号码。相对时间格式将时间转换成英语短语

在上面的栗子中,Intl的第一个参数。RelativeTimeFormat构造函数为en。配置项目选项中的数字可以是“始终”或“自动”,其中“始终”不会将数字格式化为短语,例如,rtf.format(-1,“月”)将被格式化为1个月前的格式。

如果您想将它们格式化为泰语,可以传递如下图所示的参数:

国际号码。带有ta-in区域设置的RelativeTimeFormat构造函数

像昨天、今天、明天这样的短语可以给用户提供更好的可读性!相关功能可以在Chrome 71和FireFox 65或更高版本中体验。

国际号码。列表格式

ListFormat构造函数用于将字符串连接成有意义的短语。

国际号码。列表格式用默认配置格式化为英文

format方法可以很好地连接字符数组中的字符串。如果我们不使用列表格式应用编程接口,我们必须编写函数将、、和插入适当的位置。

我们可以通过更改选项中的配置项来自定义格式化的内容:

国际号码。列表格式是用英语格式化的,带有析取参数

将类型设置为析取使用或来连接字符串。以下是选项某些属性的可选值:

类型:可选值有连接、析取、单位,其中连接为默认值,不需要连接词时使用单位类型,如下图所示:

国际号码。列表格式是用单位参数用英语格式化的

样式:可选值为长和短(或窄)

在Chrome 72及以上可以体验到ListFormat API。

国际号码。NumberFormat

与其他高级语言不同,Java为变量的数据类型提供了灵活性。Int、float、string或object都用var声明(let和const用于块级范围)。

但是怎么才能确定一个数有多大呢?

123456789123456789 * 11 // Prints 1358024680358024700

上述运算结果的单位不应为0!似乎我们需要为大数做些额外的事情。好消息是,我们已经有了BigInt来处理大量数据。让我们用BigInt再试一次:

123456789123456789n * 11n // Prints 1358024680358024679n

现在看起来正常多了!

大数字可读性普遍较差。在这种情况下,我们可能需要使用国际号码。NumberFormat API!它通过添加特定于地区的数字分隔符来格式化数字。让我们看看它的效果:

国际号码。NumberFormat构造函数

数字格式将根据您的地区设置而有所不同。设置为en时使用逗号分隔符,设置为fr时使用空。

我们可以通过更改选项对象中的配置项来自定义格式化的内容。选项中某些参数的可选值如下:样式:可选值为十进制、货币和百分比,默认值为十进制

货币:用于指定货币样式。例如:美元,印度卢比

当前显示:可选值为符号和代码,默认值为符号

您可以单击此处查看所有可配置的项目。

国际号码。数字格式现在在Chrome、FireFox和Safari中可用。

列表中还有一个更刺激的API:intl。日期时间格式

国际号码。日期时间格式

国际号码。日期时间格式应用编程接口用于将日期和时间格式化为指定的语言。此应用编程接口上的新方法格式化范围可以如下使用:

const df = new Intl.DateTimeFormat('en', {year: 'numeric',month: 'short',day: 'numeric'})const startDate = new Date('01-06-2019')const endDate = new Date('10-06-2019')df.formatRange(startDate, endDate) // Prints Jun 1-10 2019

注意:formatRange函数将显示同一个月的日期。

使用此API后,您可以从代码中删除仅用于格式化日期范围的方法!

选项中有许多配置项,如时区、纪元、年、月、日、小时、分钟、秒等。

标签

本文介绍了一些新的API Intl内容:

Intl.RelativeTimeFormat API可用于为时间戳生成相对于当前时间的人性化短语。Intl.ListFormat API可用于使用 conjunction,disjunction和unit 参数把数组元素连接成短语。Intl.NumberFormat可用于使用将大数格式化为指定的语言格式。Intl.DateTimeFormat API上的 formatRange 方法可用于生成时间范围的字符串。

关于本文译者:@梁天培_蒂姆翻译:https://juejin.im/post/5d58bf496fb9a06ace524da8作者:@安基塔·马桑原文:https://blog.bitsrc.io/new-intl-apis-in-java-c50dc89d2cf3

Ta已经分享了

【1658号】Chrome专家调试法——介绍Chrome开发者工具的最佳用法

1.《intl 【第1718期】前端国际化利器 - Intl》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《intl 【第1718期】前端国际化利器 - Intl》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/fangchan/1160242.html

上一篇

中国男子在泰被杀 被谁杀中国驻泰国大使馆怎么说

下一篇

广东惠来11人疑食用河粉后中毒1人死亡 目前情况如何

瑞丽本土“6+3”如何发现的?一文看懂!附防疫时间线 究竟发生了什么?

瑞丽本土“6+3”如何发现的?一文看懂!附防疫时间线 究竟发生了什么?

3月30日0时至24时,云南省新增确诊病例6例,新增无症状感染者3例,均在瑞丽市。本土“6+3”如何发现的?现有多少密接人员?已经采取了什么防控措施?一文梳理。...

庙会时间

庙会时间

庙会是中国的一种民间宗教和习俗,通常在农历新年、元宵节和二月二日龙抬头时举行。它也是中国公平贸易的形式之一,它的形成与当地寺庙的发展和宗教活动有关。它在节日或寺庙的特定日期举行,大多位于寺庙内或附近。庙会在中国的广大地区很受欢迎。有的庙会一年一...

temporal 【泡泡图灵智库】DeepTemporalSeg:具有时间一致性的3D激光雷达语义分割

  • temporal 【泡泡图灵智库】DeepTemporalSeg:具有时间一致性的3D激光雷达语义分割
  • temporal 【泡泡图灵智库】DeepTemporalSeg:具有时间一致性的3D激光雷达语义分割
  • temporal 【泡泡图灵智库】DeepTemporalSeg:具有时间一致性的3D激光雷达语义分割

清明节高速公路免费通行时间 清明节2021年几月几号高速公路免费吗

  马上就要到2021年的清明节了,我们都知道清明节是中国的传统节日之一,这一天大家都会去扫墓,因此清明节高速公路免费通行时间对于要返现扫墓的人来说十分重要,那么清明节2021...

医保断交多长时间作废 社保停交多久会自动失效?我来告诉你答案

  • 医保断交多长时间作废 社保停交多久会自动失效?我来告诉你答案
  • 医保断交多长时间作废 社保停交多久会自动失效?我来告诉你答案
  • 医保断交多长时间作废 社保停交多久会自动失效?我来告诉你答案

95187是什么电话号码 95开头的是什么电话号码 留意:不少专用号码已经租出去

  • 95187是什么电话号码 95开头的是什么电话号码 留意:不少专用号码已经租出去
  • 95187是什么电话号码 95开头的是什么电话号码 留意:不少专用号码已经租出去
  • 95187是什么电话号码 95开头的是什么电话号码 留意:不少专用号码已经租出去

95030是什么电话 95开头的是什么电话号码 留意:不少专用号码已经租出去

  • 95030是什么电话 95开头的是什么电话号码 留意:不少专用号码已经租出去
  • 95030是什么电话 95开头的是什么电话号码 留意:不少专用号码已经租出去
  • 95030是什么电话 95开头的是什么电话号码 留意:不少专用号码已经租出去

国家税务总局云南省税务局官网 国家税务总局云南省税务局关于12366纳税服务中心对外服务时间的通知

国家税务总局云南省税务局 关于12366纳税服务中心对外服务时间的通知 亲爱的纳税人: 国家税务总局云南省税务局于2018年6月15日正式挂牌。12366税务服务中心对外服务时间为法定工作日上午9: 00至晚上11: 30,下午13: 00至晚...