提交 33e0dc90 编写于 作者: S sunyaozu

fix intl

Signed-off-by: Nsunyaozu <sunyaozu@huawei.com>
上级 ec52511f
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
```js ```js
try { try {
I18n.System.setSystemLanguage("en"); // 将系统语言设置为 "en" I18n.System.setSystemLanguage("en"); // 将系统语言设置为 "en"
var language = I18n.System.getSystemLanguage(); // language = "en" let language = I18n.System.getSystemLanguage(); // language = "en"
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
```js ```js
try { try {
I18n.System.setSystemRegion("CN"); // 将系统国家设置为 "CN" I18n.System.setSystemRegion("CN"); // 将系统国家设置为 "CN"
var region = I18n.System.getSystemRegion(); // region = "CN" let region = I18n.System.getSystemRegion(); // region = "CN"
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -77,7 +77,7 @@ ...@@ -77,7 +77,7 @@
```js ```js
try { try {
I18n.System.setSystemLocale("zh-Hans-CN"); // 将系统Locale设置为 "zh-Hans-CN" I18n.System.setSystemLocale("zh-Hans-CN"); // 将系统Locale设置为 "zh-Hans-CN"
var locale = I18n.System.getSystemLocale(); // locale = "zh-Hans-CN" let locale = I18n.System.getSystemLocale(); // locale = "zh-Hans-CN"
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -88,9 +88,8 @@ ...@@ -88,9 +88,8 @@
调用isRTL接口获取Locale的语言是否为从右到左语言。 调用isRTL接口获取Locale的语言是否为从右到左语言。
```js ```js
try { try {
var rtl = I18n.isRTL("zh-CN"); // rtl = false let rtl = I18n.isRTL("zh-CN"); // rtl = false
rtl = I18n.isRTL("ar"); // rtl = true rtl = I18n.isRTL("ar"); // rtl = true
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
...@@ -103,10 +102,9 @@ ...@@ -103,10 +102,9 @@
调用is24HourClock接口来判断当前是否打开系统24小时制设置。 调用is24HourClock接口来判断当前是否打开系统24小时制设置。
```js ```js
try { try {
I18n.System.set24HourClock(true); I18n.System.set24HourClock(true);
var hourClock = I18n.System.is24HourClock(); // hourClock = true let hourClock = I18n.System.is24HourClock(); // hourClock = true
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -117,12 +115,11 @@ ...@@ -117,12 +115,11 @@
调用getDisplayLanguage接口获取某一语言的本地化表示。其中,language表示待本地化显示的语言,locale表示本地化的Locale,sentenceCase结果是否需要首字母大写。 调用getDisplayLanguage接口获取某一语言的本地化表示。其中,language表示待本地化显示的语言,locale表示本地化的Locale,sentenceCase结果是否需要首字母大写。
```js ```js
try { try {
var language = "en"; let language = "en";
var locale = "zh-CN"; let locale = "zh-CN";
var sentenceCase = false; let sentenceCase = false;
var localizedLanguage = I18n.System.getDisplayLanguage(language, locale, sentenceCase); // localizedLanguage = "英语" let localizedLanguage = I18n.System.getDisplayLanguage(language, locale, sentenceCase); // localizedLanguage = "英语"
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -133,12 +130,11 @@ ...@@ -133,12 +130,11 @@
调用getDisplayCountry接口获取某一国家的本地化表示。其中,country表示待本地化显示的国家,locale表示本地化的Locale,sentenceCase结果是否需要首字母大写。 调用getDisplayCountry接口获取某一国家的本地化表示。其中,country表示待本地化显示的国家,locale表示本地化的Locale,sentenceCase结果是否需要首字母大写。
```js ```js
try { try {
var country = "US"; let country = "US";
var locale = "zh-CN"; let locale = "zh-CN";
var sentenceCase = false; let sentenceCase = false;
var localizedCountry = I18n.System.getDisplayCountry(country, locale, sentenceCase); // localizedCountry = "美国" let localizedCountry = I18n.System.getDisplayCountry(country, locale, sentenceCase); // localizedCountry = "美国"
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -151,8 +147,8 @@ ...@@ -151,8 +147,8 @@
```js ```js
try { try {
var languageList = I18n.System.getSystemLanguages(); // languageList = ["en-Latn-US", "zh-Hans"] let languageList = I18n.System.getSystemLanguages(); // languageList = ["en-Latn-US", "zh-Hans"]
var countryList = I18n.System.getSystemCountries("zh"); // countryList = ["ZW", "YT", ..., "CN", "DE"], 共240个国家和地区 let countryList = I18n.System.getSystemCountries("zh"); // countryList = ["ZW", "YT", ..., "CN", "DE"], 共240个国家和地区
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -164,7 +160,7 @@ ...@@ -164,7 +160,7 @@
```js ```js
try { try {
var isSuggest = I18n.System.isSuggested("zh", "CN"); // isSuggest = true let isSuggest = I18n.System.isSuggested("zh", "CN"); // isSuggest = true
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -181,10 +177,10 @@ ...@@ -181,10 +177,10 @@
```js ```js
try { try {
I18n.System.addPreferredLanguage("en-GB", 0); // 将"en-GB"设置为系统偏好语言列表的第一个语言 I18n.System.addPreferredLanguage("en-GB", 0); // 将"en-GB"设置为系统偏好语言列表的第一个语言
var list = I18n.System.getPreferredLanguageList(); // 获取当前系统偏好语言列表 list = ["en-GB", ...] let list = I18n.System.getPreferredLanguageList(); // 获取当前系统偏好语言列表 list = ["en-GB", ...]
I18n.System.removePreferredLanguage(list.length - 1); // 移除当前系统偏好语言列表中的最后一个偏好语言 I18n.System.removePreferredLanguage(list.length - 1); // 移除当前系统偏好语言列表中的最后一个偏好语言
var firstPreferredLanguage = I18n.System.getFirstPreferredLanguage(); // firstPreferredLanguage = "en-GB" let firstPreferredLanguage = I18n.System.getFirstPreferredLanguage(); // firstPreferredLanguage = "en-GB"
var appPreferredLanguage = I18n.System.getAppPreferredLanguage(); // 当应用中包含 "en-GB"资源时,应用偏好语言为"en-GB" let appPreferredLanguage = I18n.System.getAppPreferredLanguage(); // 当应用中包含 "en-GB"资源时,应用偏好语言为"en-GB"
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -199,7 +195,7 @@ ...@@ -199,7 +195,7 @@
```js ```js
try { try {
I18n.System.setUsingLocalDigit(true); // 打开本地化数字开关 I18n.System.setUsingLocalDigit(true); // 打开本地化数字开关
var status = I18n.System.getUsingLocalDigit(); // status = true let status = I18n.System.getUsingLocalDigit(); // status = true
} catch(error) { } catch(error) {
console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`) console.error(`call i18n.System interface failed, error code: ${error.code}, message: ${error.message}`)
} }
...@@ -239,7 +235,7 @@ try { ...@@ -239,7 +235,7 @@ try {
调用getCalendar接口获取指定locale和type的时区对象(i18n为导入的模块)。其中,type表示合法的日历类型,目前合法的日历类型包括:"buddhist", "chinese", "coptic", "ethiopic", "hebrew", "gregory", "indian", "islamic_civil", "islamic_tbla", "islamic_umalqura", "japanese", "persian"。当type没有给出时,采用区域默认的日历类型。 调用getCalendar接口获取指定locale和type的时区对象(i18n为导入的模块)。其中,type表示合法的日历类型,目前合法的日历类型包括:"buddhist", "chinese", "coptic", "ethiopic", "hebrew", "gregory", "indian", "islamic_civil", "islamic_tbla", "islamic_umalqura", "japanese", "persian"。当type没有给出时,采用区域默认的日历类型。
```js ```js
var calendar = I18n.getCalendar("zh-CN", "chinese"); // 创建中文农历日历 let calendar = I18n.getCalendar("zh-CN", "chinese"); // 创建中文农历日历
``` ```
3. 设置日历对象的时间。 3. 设置日历对象的时间。
...@@ -247,9 +243,9 @@ try { ...@@ -247,9 +243,9 @@ try {
调用setTime接口设置日历对象的时间。setTime接口接收两种类型的参数。一种是传入一个Date对象,另一种是传入一个数值表示从1970.1.1 00:00:00 GMT逝去的毫秒数。 调用setTime接口设置日历对象的时间。setTime接口接收两种类型的参数。一种是传入一个Date对象,另一种是传入一个数值表示从1970.1.1 00:00:00 GMT逝去的毫秒数。
```js ```js
var date1 = new Date(); let date1 = new Date();
calendar.setTime(date1); calendar.setTime(date1);
var date2 = 1000; let date2 = 1000;
calendar.setTime(date2); calendar.setTime(date2);
``` ```
...@@ -267,7 +263,7 @@ try { ...@@ -267,7 +263,7 @@ try {
```js ```js
calendar.setTimeZone("Asia/Shanghai"); calendar.setTimeZone("Asia/Shanghai");
var timezone = calendar.getTimeZone(); // timezone = "China Standard Time" let timezone = calendar.getTimeZone(); // timezone = "China Standard Time"
``` ```
6. 设置、获取日历对象的一周起始日。 6. 设置、获取日历对象的一周起始日。
...@@ -276,7 +272,7 @@ try { ...@@ -276,7 +272,7 @@ try {
```js ```js
calendar.setFirstDayOfWeek(1); calendar.setFirstDayOfWeek(1);
var firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 1 let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 1
``` ```
7. 设置、获取日历对象第一周的最小天数。 7. 设置、获取日历对象第一周的最小天数。
...@@ -284,14 +280,14 @@ try { ...@@ -284,14 +280,14 @@ try {
```js ```js
calendar.setMinimalDaysInFirstWeek(3); calendar.setMinimalDaysInFirstWeek(3);
var minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 3 let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 3
``` ```
8. 获取日历对象的本地化显示。 8. 获取日历对象的本地化显示。
调用getDisplayName来获取日历对象的本地化显示。 调用getDisplayName来获取日历对象的本地化显示。
```js ```js
var localizedName = calendar.getDisplayName("zh-CN"); // localizedName = "农历" let localizedName = calendar.getDisplayName("zh-CN"); // localizedName = "农历"
``` ```
9. 判断某一个日期是否为周末。 9. 判断某一个日期是否为周末。
...@@ -299,8 +295,8 @@ try { ...@@ -299,8 +295,8 @@ try {
调用isWeekend接口来判断输入的Date是否为周末。 调用isWeekend接口来判断输入的Date是否为周末。
```js ```js
var date = new Date(2022, 12, 12, 12, 12, 12); let date = new Date(2022, 12, 12, 12, 12, 12);
var weekend = calendar.isWeekend(date); // weekend = false let weekend = calendar.isWeekend(date); // weekend = false
``` ```
## 电话号码格式化 ## 电话号码格式化
...@@ -329,7 +325,7 @@ try { ...@@ -329,7 +325,7 @@ try {
调用PhoneNumberFormat的构造函数来实例化电话号码格式化对象,需要传入电话号码的国家代码及格式化选项。其中,格式化选项是可选的,包括style选项,该选项的取值包括:"E164", "INTERNATIONAL", "NATIONAL", "RFC3966"。 调用PhoneNumberFormat的构造函数来实例化电话号码格式化对象,需要传入电话号码的国家代码及格式化选项。其中,格式化选项是可选的,包括style选项,该选项的取值包括:"E164", "INTERNATIONAL", "NATIONAL", "RFC3966"。
```js ```js
var phoneNumberFormat = new I18n.PhoneNumberFormat("CN", {type: "E164"}); let phoneNumberFormat = new I18n.PhoneNumberFormat("CN", {type: "E164"});
``` ```
3. 判断电话号码格式是否正确。 3. 判断电话号码格式是否正确。
...@@ -337,7 +333,7 @@ try { ...@@ -337,7 +333,7 @@ try {
调用isValidNumber接口来判断输入的电话号码的格式是否正确。 调用isValidNumber接口来判断输入的电话号码的格式是否正确。
```js ```js
var validNumber = phoneNumberFormat.isValidNumber("15812341234"); // validNumber = true let validNumber = phoneNumberFormat.isValidNumber("15812341234"); // validNumber = true
``` ```
4. 电话号码格式化。 4. 电话号码格式化。
...@@ -345,7 +341,7 @@ try { ...@@ -345,7 +341,7 @@ try {
调用电话号码格式化对象的format接口来对输入的电话号码进行格式化。 调用电话号码格式化对象的format接口来对输入的电话号码进行格式化。
```js ```js
var formattedNumber = phoneNumberFormat.format("15812341234"); // formattedNumber = "+8615812341234" let formattedNumber = phoneNumberFormat.format("15812341234"); // formattedNumber = "+8615812341234"
``` ```
## 度量衡转换 ## 度量衡转换
...@@ -371,12 +367,12 @@ try { ...@@ -371,12 +367,12 @@ try {
调用[unitConvert](../reference/apis/js-apis-i18n.md#unitconvert9)接口实现度量衡单位转换,并进行格式化显示的功能。 调用[unitConvert](../reference/apis/js-apis-i18n.md#unitconvert9)接口实现度量衡单位转换,并进行格式化显示的功能。
```js ```js
var fromUnit = {unit: "cup", measureSystem: "US"}; let fromUnit = {unit: "cup", measureSystem: "US"};
var toUnit = {unit: "liter", measureSystem: "SI"}; let toUnit = {unit: "liter", measureSystem: "SI"};
var number = 1000; let number = 1000;
var locale = "en-US"; let locale = "en-US";
var style = "long"; let style = "long";
var converttedUnit = I18n.I18NUtil.unitConvert(fromUnit, toUnit, number, locale, style); // converttedUnit = "236.588 liters" let converttedUnit = I18n.I18NUtil.unitConvert(fromUnit, toUnit, number, locale, style); // converttedUnit = "236.588 liters"
``` ```
## 字母表索引 ## 字母表索引
...@@ -406,7 +402,7 @@ try { ...@@ -406,7 +402,7 @@ try {
```js ```js
var indexUtil = I18n.getInstance("zh-CN"); let indexUtil = I18n.getInstance("zh-CN");
``` ```
3. 获取索引列表。 3. 获取索引列表。
...@@ -414,7 +410,7 @@ try { ...@@ -414,7 +410,7 @@ try {
调用getIndexList接口来获取当前Locale对应的字母表索引列表。 调用getIndexList接口来获取当前Locale对应的字母表索引列表。
```js ```js
var indexList = indexUtil.getIndexList(); // indexList = ["...", "A", "B", "C", ..., "X", "Y", "Z", "..."] let indexList = indexUtil.getIndexList(); // indexList = ["...", "A", "B", "C", ..., "X", "Y", "Z", "..."]
``` ```
4. 增加新的索引。 4. 增加新的索引。
...@@ -430,8 +426,8 @@ try { ...@@ -430,8 +426,8 @@ try {
调用getIndex接口来获取某一字符串对应的字母表索引。 调用getIndex接口来获取某一字符串对应的字母表索引。
```js ```js
var text = "access index"; let text = "access index";
var index = indexUtil.getIndex(text); // index = "A" let index = indexUtil.getIndex(text); // index = "A"
``` ```
## 获取文本断点位置 ## 获取文本断点位置
...@@ -466,8 +462,8 @@ try { ...@@ -466,8 +462,8 @@ try {
调用getLineInstance接口来实例化断行对象。 调用getLineInstance接口来实例化断行对象。
```js ```js
var locale = "en-US" let locale = "en-US"
var breakIterator = I18n.getLineInstance(locale); let breakIterator = I18n.getLineInstance(locale);
``` ```
3. 设置、访问要断行处理的文本。 3. 设置、访问要断行处理的文本。
...@@ -475,9 +471,9 @@ try { ...@@ -475,9 +471,9 @@ try {
调用setLineBreakText接口和getLineBreakText接口来设置、访问要断行处理的文本。 调用setLineBreakText接口和getLineBreakText接口来设置、访问要断行处理的文本。
```js ```js
var text = "Apple is my favorite fruit"; let text = "Apple is my favorite fruit";
breakIterator.setLineBreakText(text); breakIterator.setLineBreakText(text);
var breakText = breakIterator.getLineBreakText(); // breakText = "Apple is my favorite fruit" let breakText = breakIterator.getLineBreakText(); // breakText = "Apple is my favorite fruit"
``` ```
4. 获取断行对象当前的位置。 4. 获取断行对象当前的位置。
...@@ -485,7 +481,7 @@ try { ...@@ -485,7 +481,7 @@ try {
调用current接口来获取断行对象在当前处理文本中的位置。 调用current接口来获取断行对象在当前处理文本中的位置。
```js ```js
var pos = breakIterator.current(); // pos = 0 let pos = breakIterator.current(); // pos = 0
``` ```
5. 设置断行对象的位置。 5. 设置断行对象的位置。
...@@ -493,15 +489,15 @@ try { ...@@ -493,15 +489,15 @@ try {
系统提供了很多接口可以用于调整断行对象在处理文本中的位置,包括first, last, next, previous, following。 系统提供了很多接口可以用于调整断行对象在处理文本中的位置,包括first, last, next, previous, following。
```js ```js
var firstPos = breakIterator.first(); // 将断行对象设置到第一个分割点的位置,即文本的起始位置;firstPos = 0 let firstPos = breakIterator.first(); // 将断行对象设置到第一个分割点的位置,即文本的起始位置;firstPos = 0
var lastPos = breakIterator.last(); // 将断行对象设置到最后一个分割点的位置,即文本末尾的下一个位置;lastPos = 26 let lastPos = breakIterator.last(); // 将断行对象设置到最后一个分割点的位置,即文本末尾的下一个位置;lastPos = 26
// 将断行对象向前或向后移动一定数量的分割点。 // 将断行对象向前或向后移动一定数量的分割点。
// 当传入正数时,向后移动;当传入负数时,向前移动;当未传入数值时,则向后移动一个位置; // 当传入正数时,向后移动;当传入负数时,向前移动;当未传入数值时,则向后移动一个位置;
// 当移动超出了文本的长度范围,则返回-1; // 当移动超出了文本的长度范围,则返回-1;
var nextPos = breakIterator.next(-2); // nextPos = 12 let nextPos = breakIterator.next(-2); // nextPos = 12
var previousPos = breakIterator.previous(); // 将断行对象向前移动向前移动一个分割点,当超出文本长度范围时返回-1; previousPos = 9 let previousPos = breakIterator.previous(); // 将断行对象向前移动向前移动一个分割点,当超出文本长度范围时返回-1; previousPos = 9
// 将断行对象移动到offset指定位置的后面一个分割点。如果offset所指定的位置的下一个分割点超出了文本的长度范围,则返回-1; // 将断行对象移动到offset指定位置的后面一个分割点。如果offset所指定的位置的下一个分割点超出了文本的长度范围,则返回-1;
var followingPos = breakIterator.following(10); // followingPos = 12 let followingPos = breakIterator.following(10); // followingPos = 12
``` ```
6. 判断某个位置是否为分割点。 6. 判断某个位置是否为分割点。
...@@ -509,7 +505,7 @@ try { ...@@ -509,7 +505,7 @@ try {
调用isBoundary接口来判断一个接口是否为分割点;如果该位置是分割点,则返回true,并且将断行对象移动到该位置;如果该位置不是分割点,则返回false,并且将断行对象移动到该位置后的一个分割点。 调用isBoundary接口来判断一个接口是否为分割点;如果该位置是分割点,则返回true,并且将断行对象移动到该位置;如果该位置不是分割点,则返回false,并且将断行对象移动到该位置后的一个分割点。
```js ```js
var isboundary = breakIterator.isBoundary(5); // isboundary = false let isboundary = breakIterator.isBoundary(5); // isboundary = false
``` ```
## 获取时区 ## 获取时区
...@@ -543,16 +539,16 @@ try { ...@@ -543,16 +539,16 @@ try {
调用getTimeZone接口来获取时区对象。 调用getTimeZone接口来获取时区对象。
```js ```js
var timezone = I18n.getTimeZone(); // 使用默认参数可以获取系统时区对象。 let timezone = I18n.getTimeZone(); // 使用默认参数可以获取系统时区对象。
``` ```
获取时区ID、本地化显示、时区偏移量、某一时刻的时区偏移量信息。 获取时区ID、本地化显示、时区偏移量、某一时刻的时区偏移量信息。
```js ```js
var timezoneID = timezone.getID(); // timezoneID = "Asia/Shanghai" let timezoneID = timezone.getID(); // timezoneID = "Asia/Shanghai"
var timezoneDisplayName = timezone.getDisplayName(); // timezoneDisplayName = "中国标准时间" let timezoneDisplayName = timezone.getDisplayName(); // timezoneDisplayName = "中国标准时间"
var rawOffset = timezone.getRawOffset(); // rawOffset = 28800000 let rawOffset = timezone.getRawOffset(); // rawOffset = 28800000
var offset = timezone.getOffset(new Date()); // offset = 28800000 let offset = timezone.getOffset(new Date().getTime()); // offset = 28800000
``` ```
3. 获取系统支持的时区ID。 3. 获取系统支持的时区ID。
...@@ -561,9 +557,9 @@ try { ...@@ -561,9 +557,9 @@ try {
时区ID列表中的时区ID可以作为getTimeZone接口的参数,来创建TimeZone对象。 时区ID列表中的时区ID可以作为getTimeZone接口的参数,来创建TimeZone对象。
```js ```js
var timezoneIDs = I18n.TimeZone.getAvailableIDs(); // timezoneIDs = ["America/Adak", ...],共包含24个时区ID let timezoneIDs = I18n.TimeZone.getAvailableIDs(); // timezoneIDs = ["America/Adak", ...],共包含24个时区ID
var timezone = I18n.getTimeZone(timezoneIDs[0]); let timezone = I18n.getTimeZone(timezoneIDs[0]);
var timezoneDisplayName = timezone.getDisplayName(); // timezoneDisplayName = "夏威夷-阿留申时间" let timezoneDisplayName = timezone.getDisplayName(); // timezoneDisplayName = "夏威夷-阿留申时间"
``` ```
4. 获取系统支持的时区城市ID。 4. 获取系统支持的时区城市ID。
...@@ -573,10 +569,10 @@ try { ...@@ -573,10 +569,10 @@ try {
调用getTimezoneFromCity接口基于时区城市ID创建时区对象。 调用getTimezoneFromCity接口基于时区城市ID创建时区对象。
```js ```js
var zoneCityIDs = I18n.TimeZone.getAvailableZoneCityIDs(); // ["Auckland", "Magadan", ...] let zoneCityIDs = I18n.TimeZone.getAvailableZoneCityIDs(); // ["Auckland", "Magadan", ...]
var cityDisplayName = I18n.TimeZone.getCityDisplayName(zoneCityIDs[0], "zh-Hans"); // cityDisplayName = "奥克兰(新西兰)" let cityDisplayName = I18n.TimeZone.getCityDisplayName(zoneCityIDs[0], "zh-Hans"); // cityDisplayName = "奥克兰(新西兰)"
var timezone = I18n.TimeZone.getTimezoneFromCity(zoneCityIDs[0]); let timezone = I18n.TimeZone.getTimezoneFromCity(zoneCityIDs[0]);
var timezoneDisplayName = timezone.getDisplayName(); // timezoneDisplayName = "新西兰时间" let timezoneDisplayName = timezone.getDisplayName(); // timezoneDisplayName = "新西兰时间"
``` ```
## 获取音译对象 ## 获取音译对象
...@@ -605,7 +601,7 @@ try { ...@@ -605,7 +601,7 @@ try {
每个ID的格式为 source-destination,例如 ASCII-Latin,表示将ASCII转换为Latin的音译ID。 每个ID的格式为 source-destination,例如 ASCII-Latin,表示将ASCII转换为Latin的音译ID。
```js ```js
var ids = I18n.Transliterator.getAvailableIDs(); // ids = ["ASCII-Latin", "Accents-Any", ... ],共支持671个语言 let ids = I18n.Transliterator.getAvailableIDs(); // ids = ["ASCII-Latin", "Accents-Any", ... ],共支持671个语言
``` ```
3. 创建音译对象,获取音译字符串。 3. 创建音译对象,获取音译字符串。
...@@ -614,8 +610,8 @@ try { ...@@ -614,8 +610,8 @@ try {
调用transform接口,获取音译字符串。 调用transform接口,获取音译字符串。
```js ```js
var transliterator = I18n.Transliterator.getInstance("Any-Latn"); // Any-Latn表示将任意文本转换为Latn文本 let transliterator = I18n.Transliterator.getInstance("Any-Latn"); // Any-Latn表示将任意文本转换为Latn文本
var transformText = transliterator.transform("你好"); // transformText = "nǐ hǎo " let transformText = transliterator.transform("你好"); // transformText = "nǐ hǎo "
``` ```
## 字符类型判断 ## 字符类型判断
...@@ -649,56 +645,56 @@ try { ...@@ -649,56 +645,56 @@ try {
判断字符是否是数字。 判断字符是否是数字。
```js ```js
var isDigit = I18n.Unicode.isDigit("1"); // isDigit = true let isDigit = I18n.Unicode.isDigit("1"); // isDigit = true
isDigit = I18n.Unicode.isDigit("a"); // isDigit = false isDigit = I18n.Unicode.isDigit("a"); // isDigit = false
``` ```
判断字符是否是空格符。 判断字符是否是空格符。
```js ```js
var isSpaceChar = I18n.Unicode.isSpaceChar(" "); // isSpaceChar = true let isSpaceChar = I18n.Unicode.isSpaceChar(" "); // isSpaceChar = true
isSpaceChar = I18n.Unicode.isSpaceChar("\n"); // isSpaceChar = false isSpaceChar = I18n.Unicode.isSpaceChar("\n"); // isSpaceChar = false
``` ```
判断字符是否是空白符。 判断字符是否是空白符。
```js ```js
var isWhitespace = I18n.Unicode.isWhitespace(" "); // isWhitespace = true let isWhitespace = I18n.Unicode.isWhitespace(" "); // isWhitespace = true
isWhitespace = I18n.Unicode.isWhitespace("\n"); // isWhitespace = true isWhitespace = I18n.Unicode.isWhitespace("\n"); // isWhitespace = true
``` ```
判断字符是否是从左到右书写的文字。 判断字符是否是从左到右书写的文字。
```js ```js
var isRTL = I18n.Unicode.isRTL("مرحبًا"); // isRTL = true,阿拉伯语的文字是从左到右书写的文字 let isRTL = I18n.Unicode.isRTL("مرحبًا"); // isRTL = true,阿拉伯语的文字是从左到右书写的文字
isRTL = I18n.Unicode.isRTL("a"); // isRTL = false isRTL = I18n.Unicode.isRTL("a"); // isRTL = false
``` ```
判断字符是否是表意文字。 判断字符是否是表意文字。
```js ```js
var isIdeograph = I18n.Unicode.isIdeograph("你好"); // isIdeograph = true let isIdeograph = I18n.Unicode.isIdeograph("你好"); // isIdeograph = true
isIdeograph = I18n.Unicode.isIdeograph("a"); // isIdeograph = false isIdeograph = I18n.Unicode.isIdeograph("a"); // isIdeograph = false
``` ```
判断字符是否是字母。 判断字符是否是字母。
```js ```js
var isLetter = I18n.Unicode.isLetter("a"); // isLetter = true let isLetter = I18n.Unicode.isLetter("a"); // isLetter = true
isLetter = I18n.Unicode.isLetter("."); // isLetter = false isLetter = I18n.Unicode.isLetter("."); // isLetter = false
``` ```
判断字符是否是小写字母。 判断字符是否是小写字母。
```js ```js
var isLowerCase = I18n.Unicode.isLowerCase("a"); // isLetter = true let isLowerCase = I18n.Unicode.isLowerCase("a"); // isLetter = true
isLowerCase = I18n.Unicode.isLowerCase("A"); // isLetter = false isLowerCase = I18n.Unicode.isLowerCase("A"); // isLetter = false
``` ```
判断字符是否是大写字母。 判断字符是否是大写字母。
```js ```js
var isUpperCase = I18n.Unicode.isUpperCase("a"); // isUpperCase = false let isUpperCase = I18n.Unicode.isUpperCase("a"); // isUpperCase = false
isUpperCase = I18n.Unicode.isUpperCase("A"); // isUpperCase = true isUpperCase = I18n.Unicode.isUpperCase("A"); // isUpperCase = true
``` ```
...@@ -707,7 +703,7 @@ try { ...@@ -707,7 +703,7 @@ try {
调用getType接口获取字符的类型。 调用getType接口获取字符的类型。
```js ```js
var type = I18n.Unicode.getType("a"); // type = U_LOWER_CASE_LETTER let type = I18n.Unicode.getType("a"); // type = U_LOWER_CASE_LETTER
``` ```
## 获取日期中年月日的排列顺序 ## 获取日期中年月日的排列顺序
...@@ -732,5 +728,5 @@ try { ...@@ -732,5 +728,5 @@ try {
接口返回一个字符串,由"y","L","d"三部分组成,分别表示年、月、日,使用中划线进行拼接。例如,"y-L-d"。 接口返回一个字符串,由"y","L","d"三部分组成,分别表示年、月、日,使用中划线进行拼接。例如,"y-L-d"。
```js ```js
var order = I18n.I18NUtil.getDateOrder("zh-CN"); // order = "y-L-d",表示中文中年月日的顺序为年-月-日。 let order = I18n.I18NUtil.getDateOrder("zh-CN"); // order = "y-L-d",表示中文中年月日的顺序为年-月-日。
``` ```
\ No newline at end of file
...@@ -48,9 +48,9 @@ ...@@ -48,9 +48,9 @@
```js ```js
var locale = "zh-CN"; let locale = "zh-CN";
var options = {caseFirst: "false", calendar: "chinese", collation: "pinyin"}; let options = {caseFirst: "false", calendar: "chinese", collation: "pinyin"};
var localeObj = new Intl.Locale(locale, options); let localeObj = new Intl.Locale(locale, options);
``` ```
3. 获取Locale的字符串表示。 3. 获取Locale的字符串表示。
...@@ -58,7 +58,7 @@ ...@@ -58,7 +58,7 @@
调用toString方法来获取Locale对象的字符串表示,其中包括了语言、区域及其他选项信息。 调用toString方法来获取Locale对象的字符串表示,其中包括了语言、区域及其他选项信息。
```js ```js
var localeStr = localeObj.toString(); // localeStr = "zh-CN-u-ca-chinese-co-pinyin-kf-false let localeStr = localeObj.toString(); // localeStr = "zh-CN-u-ca-chinese-co-pinyin-kf-false
``` ```
4. 最大化区域信息。 4. 最大化区域信息。
...@@ -66,8 +66,8 @@ ...@@ -66,8 +66,8 @@
调用maximize方法来最大化区域信息,即当缺少脚本与地区信息时,对其进行补全。 调用maximize方法来最大化区域信息,即当缺少脚本与地区信息时,对其进行补全。
```js ```js
var maximizedLocale = localeObj.maximize(); let maximizedLocale = localeObj.maximize();
var maximizedLocaleStr = maximizedLocale.toString(); // localeStr = "zh-Hans-CN-u-ca-chinese-co-pinyin-kf-false let maximizedLocaleStr = maximizedLocale.toString(); // localeStr = "zh-Hans-CN-u-ca-chinese-co-pinyin-kf-false
``` ```
5. 最小化区域信息。 5. 最小化区域信息。
...@@ -75,8 +75,8 @@ ...@@ -75,8 +75,8 @@
调用minimize方法来最小化区域信息,即当存在脚本与地区信息时,对其进行删除。 调用minimize方法来最小化区域信息,即当存在脚本与地区信息时,对其进行删除。
```js ```js
var minimizedLocale = localeObj.minimize(); let minimizedLocale = localeObj.minimize();
var minimizedLocaleStr = minimizedLocale.toString(); // zh-u-ca-chinese-co-pinyin-kf-false let minimizedLocaleStr = minimizedLocale.toString(); // zh-u-ca-chinese-co-pinyin-kf-false
``` ```
## 格式化日期时间 ## 格式化日期时间
...@@ -108,14 +108,14 @@ ...@@ -108,14 +108,14 @@
一种方法是使用DateTimeFormat提供的默认构造函数,通过访问系统语言和地区设置,获取系统默认Locale,并将其作为DateTimeFormat对象内部的Locale。 一种方法是使用DateTimeFormat提供的默认构造函数,通过访问系统语言和地区设置,获取系统默认Locale,并将其作为DateTimeFormat对象内部的Locale。
```js ```js
var dateTimeFormat = new Intl.DateTimeFormat(); let dateTimeFormat = new Intl.DateTimeFormat();
``` ```
另一种方法是使用开发者提供的Locale和格式化参数来创建日期时间格式化对象。其中,格式化参数是可选的,完整的格式化参数列表见[DateTimeOptions](../reference/apis/js-apis-intl.md#datetimeoptions)。 另一种方法是使用开发者提供的Locale和格式化参数来创建日期时间格式化对象。其中,格式化参数是可选的,完整的格式化参数列表见[DateTimeOptions](../reference/apis/js-apis-intl.md#datetimeoptions)。
```js ```js
var options = {dateStyle: "full", timeStyle: "full"}; let options = {dateStyle: "full", timeStyle: "full"};
var dateTimeFormat = new Intl.DateTimeFormat("zh-CN", options); let dateTimeFormat = new Intl.DateTimeFormat("zh-CN", options);
``` ```
3. 格式化日期时间。 3. 格式化日期时间。
...@@ -123,10 +123,10 @@ ...@@ -123,10 +123,10 @@
使用DateTimeFormat的format方法对一个Date对象进行格式化,该方法会返回一个字符串作为格式化的结果。 使用DateTimeFormat的format方法对一个Date对象进行格式化,该方法会返回一个字符串作为格式化的结果。
```js ```js
var options = {dateStyle: "full", timeStyle: "full"}; let options = {dateStyle: "full", timeStyle: "full"};
var dateTimeFormat = new Intl.DateTimeFormat("zh-CN", options); let dateTimeFormat = new Intl.DateTimeFormat("zh-CN", options);
var date = new Date(2022, 12, 12, 12, 12, 12); let date = new Date(2022, 12, 12, 12, 12, 12);
var formatResult = dateTimeFormat.format(date); // formatResult = "2023年1月12日星期四 中国标准时间 下午12:12:12" let formatResult = dateTimeFormat.format(date); // formatResult = "2023年1月12日星期四 中国标准时间 下午12:12:12"
``` ```
4. 格式化时间段。 4. 格式化时间段。
...@@ -134,10 +134,10 @@ ...@@ -134,10 +134,10 @@
使用DateTimeFormat的formatRange方法对一个时间段进行格式化。该方法需要传入两个Date对象,分别表示时间段的起止日期,返回一个字符串作为格式化的结果。 使用DateTimeFormat的formatRange方法对一个时间段进行格式化。该方法需要传入两个Date对象,分别表示时间段的起止日期,返回一个字符串作为格式化的结果。
```js ```js
var startDate = new Date(2021, 11, 17, 3, 24, 0); let startDate = new Date(2021, 11, 17, 3, 24, 0);
var endDate = new Date(2021, 11, 18, 3, 24, 0); let endDate = new Date(2021, 11, 18, 3, 24, 0);
var datefmt = new Intl.DateTimeFormat("en-GB"); let datefmt = new Intl.DateTimeFormat("en-GB");
var formatRangeResult = datefmt.formatRange(startDate, endDate); // formatRangeResult = "17/12/2021-18/12/2021" let formatRangeResult = datefmt.formatRange(startDate, endDate); // formatRangeResult = "17/12/2021-18/12/2021"
``` ```
5. 访问日期时间格式化对象的相关属性。 5. 访问日期时间格式化对象的相关属性。
...@@ -145,9 +145,9 @@ ...@@ -145,9 +145,9 @@
DateTimeFormat的resolvedOptions方法会返回一个对象,该对象包含了DateTimeFormat对象的所有相关属性及其值。 DateTimeFormat的resolvedOptions方法会返回一个对象,该对象包含了DateTimeFormat对象的所有相关属性及其值。
```js ```js
var options = {dateStyle: "full", timeStyle: "full"}; let options = {dateStyle: "full", timeStyle: "full"};
var dateTimeFormat = new Intl.DateTimeFormat("zh-CN", options); let dateTimeFormat = new Intl.DateTimeFormat("zh-CN", options);
var resolvedOptions = dateTimeFormat.resolvedOptions(); // resolvedOptions = {"locale": "zh-CN", "calendar": "gregorian", "dateStyle":"full", "timeStyle":"full", "timeZone": "CST"} let resolvedOptions = dateTimeFormat.resolvedOptions(); // resolvedOptions = {"locale": "zh-CN", "calendar": "gregorian", "dateStyle":"full", "timeStyle":"full", "timeZone": "CST"}
``` ```
## 数字格式化 ## 数字格式化
...@@ -178,14 +178,14 @@ ...@@ -178,14 +178,14 @@
一种方法是使用NumberFormat提供的默认构造函数,通过访问系统的语言和地区以获取系统默认Locale并进行设置(intl为导入的模块名)。 一种方法是使用NumberFormat提供的默认构造函数,通过访问系统的语言和地区以获取系统默认Locale并进行设置(intl为导入的模块名)。
```js ```js
var numberFormat = new Intl.NumberFormat(); let numberFormat = new Intl.NumberFormat();
``` ```
另一种方法是使用开发者提供的Locale和格式化参数来创建数字格式化对象。其中,格式化参数是可选的,完整的格式化参数列表参见[NumberOptions](../reference/apis/js-apis-intl.md#numberoptions)。 另一种方法是使用开发者提供的Locale和格式化参数来创建数字格式化对象。其中,格式化参数是可选的,完整的格式化参数列表参见[NumberOptions](../reference/apis/js-apis-intl.md#numberoptions)。
```js ```js
var options = {compactDisplay: "short", notation: "compact"}; let options = {compactDisplay: "short", notation: "compact"};
var numberFormat = new Intl.NumberFormat("zh-CN", options); let numberFormat = new Intl.NumberFormat("zh-CN", options);
``` ```
3. 数字格式化。 3. 数字格式化。
...@@ -193,10 +193,10 @@ ...@@ -193,10 +193,10 @@
使用NumberFormat的format方法对传入的数字进行格式化。该方法返回一个字符串作为格式化的结果。 使用NumberFormat的format方法对传入的数字进行格式化。该方法返回一个字符串作为格式化的结果。
```js ```js
var options = {compactDisplay: "short", notation: "compact"}; let options = {compactDisplay: "short", notation: "compact"};
var numberFormat = new Intl.NumberFormat("zh-CN", options); let numberFormat = new Intl.NumberFormat("zh-CN", options);
var number = 1234.5678 let number = 1234.5678
var formatResult = numberFormat.format(number); // formatResult = "1235" let formatResult = numberFormat.format(number); // formatResult = "1235"
``` ```
4. 访问数字格式化对象的相关属性。 4. 访问数字格式化对象的相关属性。
...@@ -204,9 +204,9 @@ ...@@ -204,9 +204,9 @@
NumberFormat的resolvedOptions方法会返回一个对象,该对象包含了NumberFormat对象的所有相关属性及其值。 NumberFormat的resolvedOptions方法会返回一个对象,该对象包含了NumberFormat对象的所有相关属性及其值。
```js ```js
var options = {compactDisplay: "short", notation: "compact"}; let options = {compactDisplay: "short", notation: "compact"};
var numberFormat = new Intl.NumberFormat("zh-CN", options); let numberFormat = new Intl.NumberFormat("zh-CN", options);
var resolvedOptions = numberFormat.resolvedOptions(); // resolvedOptions = {"locale": "zh-CN", "compactDisplay": "short", "notation": "compact", "numberingSystem": "Latn"} let resolvedOptions = numberFormat.resolvedOptions(); // resolvedOptions = {"locale": "zh-CN", "compactDisplay": "short", "notation": "compact", "numberingSystem": "Latn"}
``` ```
## 字符串排序 ## 字符串排序
...@@ -237,14 +237,14 @@ ...@@ -237,14 +237,14 @@
一种方法是使用Collator提供的默认构造函数,通过访问系统的语言和地区以获取系统默认Locale并进行设置(intl为导入的模块名)。 一种方法是使用Collator提供的默认构造函数,通过访问系统的语言和地区以获取系统默认Locale并进行设置(intl为导入的模块名)。
```js ```js
var collator = new Intl.Collator(); let collator = new Intl.Collator();
``` ```
另一种方法是使用开发者提供的Locale和其他相关参数来创建Collator对象,完整的参数列表参见[CollatorOptions](../reference/apis/js-apis-intl.md#collatoroptions9)。 另一种方法是使用开发者提供的Locale和其他相关参数来创建Collator对象,完整的参数列表参见[CollatorOptions](../reference/apis/js-apis-intl.md#collatoroptions9)。
其中,sensitivity参数用于控制哪些级别的差异会被用于比较两个字符串。取值"base"表示,仅比较字符本身,不考虑重音符号、大小写差异。例如,'a' != 'b','a' == 'á','a' == 'A'。取值"accent"表示考虑重音符号,不考虑大小写的差异。例如,'a' != 'b','a' != 'á','a' == 'A'。取值"case"表示考虑大小写的差异,不考虑重音符号的差异。例如,'a' != 'b','a' == 'á','a' != 'A'。取值"variant"表示考虑重音符号、大小写等方面差异。例如'a' != 'b','a' != 'á','a' != 'A'。 其中,sensitivity参数用于控制哪些级别的差异会被用于比较两个字符串。取值"base"表示,仅比较字符本身,不考虑重音符号、大小写差异。例如,'a' != 'b','a' == 'á','a' == 'A'。取值"accent"表示考虑重音符号,不考虑大小写的差异。例如,'a' != 'b','a' != 'á','a' == 'A'。取值"case"表示考虑大小写的差异,不考虑重音符号的差异。例如,'a' != 'b','a' == 'á','a' != 'A'。取值"variant"表示考虑重音符号、大小写等方面差异。例如'a' != 'b','a' != 'á','a' != 'A'。
```js ```js
var collator= new Intl.Collator("zh-CN", {localeMatcher: "best fit", usage: "sort", sensitivity: "case"}); let collator= new Intl.Collator("zh-CN", {localeMatcher: "best fit", usage: "sort", sensitivity: "case"});
``` ```
3. 比较字符串。 3. 比较字符串。
...@@ -252,10 +252,10 @@ ...@@ -252,10 +252,10 @@
使用Collator的compare方法对传入的两个字符串进行比较。该方法返回一个数值作为比较的结果,返回-1表示第一个字符串小于第二个字符串,返回1表示第一个字符大于第二个字符串,返回0表示两个字符串相同。基于两个字符串的比较结果,开发者可以字符串集合进行排序。 使用Collator的compare方法对传入的两个字符串进行比较。该方法返回一个数值作为比较的结果,返回-1表示第一个字符串小于第二个字符串,返回1表示第一个字符大于第二个字符串,返回0表示两个字符串相同。基于两个字符串的比较结果,开发者可以字符串集合进行排序。
```js ```js
var collator= new Intl.Collator("zh-CN", {localeMatcher: "best fit", usage: "sort", sensitivity: "case"}); let collator= new Intl.Collator("zh-CN", {localeMatcher: "best fit", usage: "sort", sensitivity: "case"});
var str1 = "first string"; let str1 = "first string";
var str2 = "second string"; let str2 = "second string";
var compareResult = collator.compare(str1, str2); // compareResult = -1 let compareResult = collator.compare(str1, str2); // compareResult = -1
str1 = "first"; str1 = "first";
str2 = "First"; str2 = "First";
compareResult = collator.compare(str1, str2); // compareResult = -1 compareResult = collator.compare(str1, str2); // compareResult = -1
...@@ -266,8 +266,8 @@ ...@@ -266,8 +266,8 @@
Collator的resolvedOptions方法会返回一个对象,该对象包含了Collator对象的所有相关属性及其值。 Collator的resolvedOptions方法会返回一个对象,该对象包含了Collator对象的所有相关属性及其值。
```js ```js
var collator= new Intl.Collator("zh-CN", {localeMatcher: "best fit", usage: "sort"}); let collator= new Intl.Collator("zh-CN", {localeMatcher: "best fit", usage: "sort"});
var options = collator.resolvedOptions(); // options = {"localeMatcher": "best fit", "locale": "zh-CN", "usage": "sort", "sensitivity": "variant", "ignorePunctuation": "false", "numeric": false, "caseFirst": "false", "collation": "default"} let options = collator.resolvedOptions(); // options = {"localeMatcher": "best fit", "locale": "zh-CN", "usage": "sort", "sensitivity": "variant", "ignorePunctuation": "false", "numeric": false, "caseFirst": "false", "collation": "default"}
``` ```
## 判定单复数类别 ## 判定单复数类别
...@@ -298,13 +298,13 @@ ...@@ -298,13 +298,13 @@
一种方法是使用PluralRules提供的默认构造函数,通过访问系统的语言和地区以获取系统默认Locale并进行设置(intl为导入的模块名)。 一种方法是使用PluralRules提供的默认构造函数,通过访问系统的语言和地区以获取系统默认Locale并进行设置(intl为导入的模块名)。
```js ```js
var pluralRules = new Intl.PluralRules(); let pluralRules = new Intl.PluralRules();
``` ```
另一种方法是使用开发者提供的Locale和其他相关参数来创建单复数对象。完整的参数列表参见[PluralRulesOptions](../reference/apis/js-apis-intl.md#pluralrulesoptions9)。 另一种方法是使用开发者提供的Locale和其他相关参数来创建单复数对象。完整的参数列表参见[PluralRulesOptions](../reference/apis/js-apis-intl.md#pluralrulesoptions9)。
```js ```js
var pluralRules = new Intl.PluralRules("zh-CN", {localeMatcher: "best fit", type: "cardinal"}); let pluralRules = new Intl.PluralRules("zh-CN", {localeMatcher: "best fit", type: "cardinal"});
``` ```
3. 计算数字单复数类别。 3. 计算数字单复数类别。
...@@ -312,9 +312,9 @@ ...@@ -312,9 +312,9 @@
使用PluralRules的select方法计算传入数字的单复数类别。该方法返回一个字符串作为传入数字的类别,包括:"zero", "one", "two", "few", "many", "other"六个类别。 使用PluralRules的select方法计算传入数字的单复数类别。该方法返回一个字符串作为传入数字的类别,包括:"zero", "one", "two", "few", "many", "other"六个类别。
```js ```js
var pluralRules = new Intl.PluralRules("zh-CN", {localeMatcher: "best fit", type: "cardinal"}); let pluralRules = new Intl.PluralRules("zh-CN", {localeMatcher: "best fit", type: "cardinal"});
var number = 1234.5678 let number = 1234.5678
var categoryResult = pluralRules.select(number); // categoryResult = "other" let categoryResult = pluralRules.select(number); // categoryResult = "other"
``` ```
## 相对时间格式化 ## 相对时间格式化
...@@ -346,13 +346,13 @@ ...@@ -346,13 +346,13 @@
一种方法是使用RelativeTimeFormat提供的默认构造函数,通过访问系统的语言和地区以获取系统默认Locale并进行设置(intl为导入的模块名)。 一种方法是使用RelativeTimeFormat提供的默认构造函数,通过访问系统的语言和地区以获取系统默认Locale并进行设置(intl为导入的模块名)。
```js ```js
var relativeTimeFormat = new Intl.RelativeTimeFormat(); let relativeTimeFormat = new Intl.RelativeTimeFormat();
``` ```
另一种方法是使用开发者提供的Locale和格式化参数来创建相对时间格式化对象。其中,格式化参数是可选的,完整的参数列表参见[ RelativeTimeFormatInputOptions](../reference/apis/js-apis-intl.md#relativetimeformatinputoptions9)。 另一种方法是使用开发者提供的Locale和格式化参数来创建相对时间格式化对象。其中,格式化参数是可选的,完整的参数列表参见[ RelativeTimeFormatInputOptions](../reference/apis/js-apis-intl.md#relativetimeformatinputoptions9)。
```js ```js
var relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {numeric: "always", style: "long"}); let relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {numeric: "always", style: "long"});
``` ```
3. 相对时间格式化。 3. 相对时间格式化。
...@@ -360,10 +360,10 @@ ...@@ -360,10 +360,10 @@
使用RelativeTimeFormat的format方法对相对时间进行格式化。方法接收一个表示相对时间长度的数值和表示单位的字符串,其中单位包括:"year", "quarter", "month", "week", "day", "hour", "minute", "second"。方法返回一个字符串作为格式化的结果。 使用RelativeTimeFormat的format方法对相对时间进行格式化。方法接收一个表示相对时间长度的数值和表示单位的字符串,其中单位包括:"year", "quarter", "month", "week", "day", "hour", "minute", "second"。方法返回一个字符串作为格式化的结果。
```js ```js
var relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {numeric: "always", style: "long"}); let relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {numeric: "always", style: "long"});
var number = 2; let number = 2;
var unit = "year" let unit = "year"
var formatResult = relativeTimeFormat.format(number, unit); // 2年后 let formatResult = relativeTimeFormat.format(number, unit); // 2年后
``` ```
4. 获取相对时间格式化结果的各个部分。 4. 获取相对时间格式化结果的各个部分。
...@@ -371,10 +371,10 @@ ...@@ -371,10 +371,10 @@
获取相对时间格式化结果的各个部分,从而自定义格式化结果。 获取相对时间格式化结果的各个部分,从而自定义格式化结果。
```js ```js
var relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {numeric: "always", style: "long"}); let relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {numeric: "always", style: "long"});
var number = 2; let number = 2;
var unit = "year" let unit = "year"
var formatPartsResult = relativeTimeFormat.formatToParts(number, unit); // formatPartsResult = [{"type": "integer", "value": "2", "unit": "year"}, {"type":"literal", "value": "年后"}] let formatPartsResult = relativeTimeFormat.formatToParts(number, unit); // formatPartsResult = [{"type": "integer", "value": "2", "unit": "year"}, {"type":"literal", "value": "年后"}]
``` ```
5. 访问相对时间格式化对象的相关属性。 5. 访问相对时间格式化对象的相关属性。
...@@ -382,8 +382,8 @@ ...@@ -382,8 +382,8 @@
RelativeTimeFormat的resolvedOptions方法会返回一个对象,该对象包含了RelativeTimeFormat对象的所有相关属性及其值,完整的属性列表参见[ RelativeTimeFormatResolvedOptions](../reference/apis/js-apis-intl.md#relativetimeformatresolvedoptions8)。 RelativeTimeFormat的resolvedOptions方法会返回一个对象,该对象包含了RelativeTimeFormat对象的所有相关属性及其值,完整的属性列表参见[ RelativeTimeFormatResolvedOptions](../reference/apis/js-apis-intl.md#relativetimeformatresolvedoptions8)。
```js ```js
var relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {numeric: "always", style: "long"}); let relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {numeric: "always", style: "long"});
var options = relativeTimeFormat.resolvedOptions(); // options = {"locale": "zh-CN", "style": "long", "numeric": "always", "numberingSystem": "latn"} let options = relativeTimeFormat.resolvedOptions(); // options = {"locale": "zh-CN", "style": "long", "numeric": "always", "numberingSystem": "latn"}
``` ```
## 相关实例 ## 相关实例
......
...@@ -51,7 +51,7 @@ static getDisplayCountry(country: string, locale: string, sentenceCase?: boolean ...@@ -51,7 +51,7 @@ static getDisplayCountry(country: string, locale: string, sentenceCase?: boolean
**示例:** **示例:**
```js ```js
try { try {
var displayCountry = I18n.System.getDisplayCountry("zh-CN", "en-GB"); // displayCountry = "China" let displayCountry = I18n.System.getDisplayCountry("zh-CN", "en-GB"); // displayCountry = "China"
} catch(error) { } catch(error) {
console.error(`call System.getDisplayCountry failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getDisplayCountry failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -90,7 +90,7 @@ static getDisplayLanguage(language: string, locale: string, sentenceCase?: boole ...@@ -90,7 +90,7 @@ static getDisplayLanguage(language: string, locale: string, sentenceCase?: boole
**示例:** **示例:**
```js ```js
try { try {
var displayLanguage = I18n.System.getDisplayLanguage("zh", "en-GB"); // displayLanguage = Chinese let displayLanguage = I18n.System.getDisplayLanguage("zh", "en-GB"); // displayLanguage = Chinese
} catch(error) { } catch(error) {
console.error(`call System.getDisplayLanguage failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getDisplayLanguage failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -121,7 +121,7 @@ static getSystemLanguages(): Array&lt;string&gt; ...@@ -121,7 +121,7 @@ static getSystemLanguages(): Array&lt;string&gt;
**示例:** **示例:**
```js ```js
try { try {
var systemLanguages = I18n.System.getSystemLanguages(); // [ "en-Latn-US", "zh-Hans" ] let systemLanguages = I18n.System.getSystemLanguages(); // [ "en-Latn-US", "zh-Hans" ]
} catch(error) { } catch(error) {
console.error(`call System.getSystemLanguages failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getSystemLanguages failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -158,7 +158,7 @@ static getSystemCountries(language: string): Array&lt;string&gt; ...@@ -158,7 +158,7 @@ static getSystemCountries(language: string): Array&lt;string&gt;
**示例:** **示例:**
```js ```js
try { try {
var systemCountries = I18n.System.getSystemCountries('zh'); // systemCountries = [ "ZW", "YT", "YE", ..., "ER", "CN", "DE" ],共计240个国家或地区 let systemCountries = I18n.System.getSystemCountries('zh'); // systemCountries = [ "ZW", "YT", "YE", ..., "ER", "CN", "DE" ],共计240个国家或地区
} catch(error) { } catch(error) {
console.error(`call System.getSystemCountries failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getSystemCountries failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -196,7 +196,7 @@ static isSuggested(language: string, region?: string): boolean ...@@ -196,7 +196,7 @@ static isSuggested(language: string, region?: string): boolean
**示例:** **示例:**
```js ```js
try { try {
var res = I18n.System.isSuggested('zh', 'CN'); // res = true let res = I18n.System.isSuggested('zh', 'CN'); // res = true
} catch(error) { } catch(error) {
console.error(`call System.isSuggested failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.isSuggested failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -227,7 +227,7 @@ static getSystemLanguage(): string ...@@ -227,7 +227,7 @@ static getSystemLanguage(): string
**示例:** **示例:**
```js ```js
try { try {
var systemLanguage = I18n.System.getSystemLanguage(); // systemLanguage为当前系统语言 let systemLanguage = I18n.System.getSystemLanguage(); // systemLanguage为当前系统语言
} catch(error) { } catch(error) {
console.error(`call System.getSystemLanguage failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getSystemLanguage failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -293,7 +293,7 @@ static getSystemRegion(): string ...@@ -293,7 +293,7 @@ static getSystemRegion(): string
**示例:** **示例:**
```js ```js
try { try {
var systemRegion = I18n.System.getSystemRegion(); // 获取系统当前地区设置 let systemRegion = I18n.System.getSystemRegion(); // 获取系统当前地区设置
} catch(error) { } catch(error) {
console.error(`call System.getSystemRegion failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getSystemRegion failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -359,7 +359,7 @@ static getSystemLocale(): string ...@@ -359,7 +359,7 @@ static getSystemLocale(): string
**示例:** **示例:**
```js ```js
try { try {
var systemLocale = I18n.System.getSystemLocale(); // 获取系统当前Locale let systemLocale = I18n.System.getSystemLocale(); // 获取系统当前Locale
} catch(error) { } catch(error) {
console.error(`call System.getSystemLocale failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getSystemLocale failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -425,7 +425,7 @@ static is24HourClock(): boolean ...@@ -425,7 +425,7 @@ static is24HourClock(): boolean
**示例:** **示例:**
```js ```js
try { try {
var is24HourClock = I18n.System.is24HourClock(); // 系统24小时开关是否开启 let is24HourClock = I18n.System.is24HourClock(); // 系统24小时开关是否开启
} catch(error) { } catch(error) {
console.error(`call System.is24HourClock failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.is24HourClock failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -497,8 +497,8 @@ static addPreferredLanguage(language: string, index?: number): void ...@@ -497,8 +497,8 @@ static addPreferredLanguage(language: string, index?: number): void
**示例:** **示例:**
```js ```js
// 将语言zh-CN添加到系统偏好语言列表中 // 将语言zh-CN添加到系统偏好语言列表中
var language = 'zh-CN'; let language = 'zh-CN';
var index = 0; let index = 0;
try { try {
I18n.System.addPreferredLanguage(language, index); // 将zh-CN添加到系统偏好语言列表的第1位 I18n.System.addPreferredLanguage(language, index); // 将zh-CN添加到系统偏好语言列表的第1位
} catch(error) { } catch(error) {
...@@ -535,7 +535,7 @@ static removePreferredLanguage(index: number): void ...@@ -535,7 +535,7 @@ static removePreferredLanguage(index: number): void
**示例:** **示例:**
```js ```js
// 删除系统偏好语言列表中的第一个偏好语言 // 删除系统偏好语言列表中的第一个偏好语言
var index = 0; let index = 0;
try { try {
I18n.System.removePreferredLanguage(index); I18n.System.removePreferredLanguage(index);
} catch(error) { } catch(error) {
...@@ -568,7 +568,7 @@ static getPreferredLanguageList(): Array&lt;string&gt; ...@@ -568,7 +568,7 @@ static getPreferredLanguageList(): Array&lt;string&gt;
**示例:** **示例:**
```js ```js
try { try {
var preferredLanguageList = I18n.System.getPreferredLanguageList(); // 获取系统当前偏好语言列表 let preferredLanguageList = I18n.System.getPreferredLanguageList(); // 获取系统当前偏好语言列表
} catch(error) { } catch(error) {
console.error(`call System.getPreferredLanguageList failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getPreferredLanguageList failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -599,7 +599,7 @@ static getFirstPreferredLanguage(): string ...@@ -599,7 +599,7 @@ static getFirstPreferredLanguage(): string
**示例:** **示例:**
```js ```js
try { try {
var firstPreferredLanguage = I18n.System.getFirstPreferredLanguage(); // 获取系统当前偏好语言列表中的第一个偏好语言 let firstPreferredLanguage = I18n.System.getFirstPreferredLanguage(); // 获取系统当前偏好语言列表中的第一个偏好语言
} catch(error) { } catch(error) {
console.error(`call System.getFirstPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getFirstPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -630,7 +630,7 @@ static getAppPreferredLanguage(): string ...@@ -630,7 +630,7 @@ static getAppPreferredLanguage(): string
**示例:** **示例:**
```js ```js
try { try {
var appPreferredLanguage = I18n.System.getAppPreferredLanguage(); // 获取应用偏好语言 let appPreferredLanguage = I18n.System.getAppPreferredLanguage(); // 获取应用偏好语言
} catch(error) { } catch(error) {
console.error(`call System.getAppPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getAppPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -696,7 +696,7 @@ static getUsingLocalDigit(): boolean ...@@ -696,7 +696,7 @@ static getUsingLocalDigit(): boolean
**示例:** **示例:**
```ts ```ts
try { try {
var status = I18n.System.getUsingLocalDigit(); // 判断本地化数字开关是否打开 let status = I18n.System.getUsingLocalDigit(); // 判断本地化数字开关是否打开
} catch(error) { } catch(error) {
console.error(`call System.getUsingLocalDigit failed, error code: ${error.code}, message: ${error.message}.`) console.error(`call System.getUsingLocalDigit failed, error code: ${error.code}, message: ${error.message}.`)
} }
...@@ -776,8 +776,8 @@ setTime(date: Date): void ...@@ -776,8 +776,8 @@ setTime(date: Date): void
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("en-US", "gregory"); let calendar = I18n.getCalendar("en-US", "gregory");
var date = new Date(2021, 10, 7, 8, 0, 0, 0); let date = new Date(2021, 10, 7, 8, 0, 0, 0);
calendar.setTime(date); calendar.setTime(date);
``` ```
...@@ -798,7 +798,7 @@ setTime(time: number): void ...@@ -798,7 +798,7 @@ setTime(time: number): void
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("en-US", "gregory"); let calendar = I18n.getCalendar("en-US", "gregory");
calendar.setTime(10540800000); calendar.setTime(10540800000);
``` ```
...@@ -824,7 +824,7 @@ set(year: number, month: number, date:number, hour?: number, minute?: number, se ...@@ -824,7 +824,7 @@ set(year: number, month: number, date:number, hour?: number, minute?: number, se
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("zh-Hans"); let calendar = I18n.getCalendar("zh-Hans");
calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00 calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00
``` ```
...@@ -845,7 +845,7 @@ setTimeZone(timezone: string): void ...@@ -845,7 +845,7 @@ setTimeZone(timezone: string): void
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("zh-Hans"); let calendar = I18n.getCalendar("zh-Hans");
calendar.setTimeZone("Asia/Shanghai"); calendar.setTimeZone("Asia/Shanghai");
``` ```
...@@ -866,9 +866,9 @@ getTimeZone(): string ...@@ -866,9 +866,9 @@ getTimeZone(): string
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("zh-Hans"); let calendar = I18n.getCalendar("zh-Hans");
calendar.setTimeZone("Asia/Shanghai"); calendar.setTimeZone("Asia/Shanghai");
var timezone = calendar.getTimeZone(); // timezone = "Asia/Shanghai" let timezone = calendar.getTimeZone(); // timezone = "Asia/Shanghai"
``` ```
...@@ -888,8 +888,8 @@ getFirstDayOfWeek(): number ...@@ -888,8 +888,8 @@ getFirstDayOfWeek(): number
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("en-US", "gregory"); let calendar = I18n.getCalendar("en-US", "gregory");
var firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 1 let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 1
``` ```
...@@ -909,9 +909,9 @@ setFirstDayOfWeek(value: number): void ...@@ -909,9 +909,9 @@ setFirstDayOfWeek(value: number): void
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("zh-Hans"); let calendar = I18n.getCalendar("zh-Hans");
calendar.setFirstDayOfWeek(3); calendar.setFirstDayOfWeek(3);
var firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 3 let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 3
``` ```
...@@ -931,8 +931,8 @@ getMinimalDaysInFirstWeek(): number ...@@ -931,8 +931,8 @@ getMinimalDaysInFirstWeek(): number
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("zh-Hans"); let calendar = I18n.getCalendar("zh-Hans");
var minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 1 let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 1
``` ```
...@@ -952,9 +952,9 @@ setMinimalDaysInFirstWeek(value: number): void ...@@ -952,9 +952,9 @@ setMinimalDaysInFirstWeek(value: number): void
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("zh-Hans"); let calendar = I18n.getCalendar("zh-Hans");
calendar.setMinimalDaysInFirstWeek(3); calendar.setMinimalDaysInFirstWeek(3);
var minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 3 let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 3
``` ```
...@@ -980,9 +980,9 @@ get(field: string): number ...@@ -980,9 +980,9 @@ get(field: string): number
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("zh-Hans"); let calendar = I18n.getCalendar("zh-Hans");
calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00 calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00
hourOfDay = calendar.get("hour_of_day"); // hourOfDay = 8 let hourOfDay = calendar.get("hour_of_day"); // hourOfDay = 8
``` ```
...@@ -1008,8 +1008,8 @@ getDisplayName(locale: string): string ...@@ -1008,8 +1008,8 @@ getDisplayName(locale: string): string
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("en-US", "buddhist"); let calendar = I18n.getCalendar("en-US", "buddhist");
var calendarName = calendar.getDisplayName("zh"); // calendarName = "佛历" let calendarName = calendar.getDisplayName("zh"); // calendarName = "佛历"
``` ```
...@@ -1035,10 +1035,10 @@ isWeekend(date?: Date): boolean ...@@ -1035,10 +1035,10 @@ isWeekend(date?: Date): boolean
**示例:** **示例:**
```js ```js
var calendar = I18n.getCalendar("zh-Hans"); let calendar = I18n.getCalendar("zh-Hans");
calendar.set(2021, 11, 11, 8, 0, 0); // set time to 2021.11.11 08:00:00 calendar.set(2021, 11, 11, 8, 0, 0); // set time to 2021.11.11 08:00:00
calendar.isWeekend(); // false calendar.isWeekend(); // false
var date = new Date(2011, 11, 6, 9, 0, 0); let date = new Date(2011, 11, 6, 9, 0, 0);
calendar.isWeekend(date); // true calendar.isWeekend(date); // true
``` ```
...@@ -1063,7 +1063,7 @@ constructor(country: string, options?: PhoneNumberFormatOptions) ...@@ -1063,7 +1063,7 @@ constructor(country: string, options?: PhoneNumberFormatOptions)
**示例:** **示例:**
```js ```js
var phoneNumberFormat= new I18n.PhoneNumberFormat("CN", {"type": "E164"}); let phoneNumberFormat= new I18n.PhoneNumberFormat("CN", {"type": "E164"});
``` ```
...@@ -1089,8 +1089,8 @@ isValidNumber(number: string): boolean ...@@ -1089,8 +1089,8 @@ isValidNumber(number: string): boolean
**示例:** **示例:**
```js ```js
var phonenumberfmt = new I18n.PhoneNumberFormat("CN"); let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
var isValidNumber = phonenumberfmt.isValidNumber("15812312312"); // isValidNumber = true let isValidNumber = phonenumberfmt.isValidNumber("15812312312"); // isValidNumber = true
``` ```
...@@ -1116,8 +1116,8 @@ format(number: string): string ...@@ -1116,8 +1116,8 @@ format(number: string): string
**示例:** **示例:**
```js ```js
var phonenumberfmt = new I18n.PhoneNumberFormat("CN"); let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
var formattedPhoneNumber = phonenumberfmt.format("15812312312"); // formattedPhoneNumber = "158 1231 2312" let formattedPhoneNumber = phonenumberfmt.format("15812312312"); // formattedPhoneNumber = "158 1231 2312"
``` ```
...@@ -1144,8 +1144,8 @@ getLocationName(number: string, locale: string): string ...@@ -1144,8 +1144,8 @@ getLocationName(number: string, locale: string): string
**示例:** **示例:**
```js ```js
var phonenumberfmt = new I18n.PhoneNumberFormat("CN"); let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
var locationName = phonenumberfmt.getLocationName("15812312345", "zh-CN"); // locationName = "广东省湛江市" let locationName = phonenumberfmt.getLocationName("15812312345", "zh-CN"); // locationName = "广东省湛江市"
``` ```
...@@ -1194,7 +1194,7 @@ getInstance(locale?:string): IndexUtil ...@@ -1194,7 +1194,7 @@ getInstance(locale?:string): IndexUtil
**示例:** **示例:**
```js ```js
var indexUtil= I18n.getInstance("zh-CN"); let indexUtil= I18n.getInstance("zh-CN");
``` ```
...@@ -1217,10 +1217,10 @@ getIndexList(): Array&lt;string&gt; ...@@ -1217,10 +1217,10 @@ getIndexList(): Array&lt;string&gt;
**示例:** **示例:**
```js ```js
var indexUtil = I18n.getInstance("zh-CN"); let indexUtil = I18n.getInstance("zh-CN");
// indexList = [ "...", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", // indexList = [ "...", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
// "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "..." ] // "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "..." ]
var indexList = indexUtil.getIndexList(); let indexList = indexUtil.getIndexList();
``` ```
...@@ -1240,7 +1240,7 @@ addLocale(locale: string): void ...@@ -1240,7 +1240,7 @@ addLocale(locale: string): void
**示例:** **示例:**
```js ```js
var indexUtil = I18n.getInstance("zh-CN"); let indexUtil = I18n.getInstance("zh-CN");
indexUtil.addLocale("en-US"); indexUtil.addLocale("en-US");
``` ```
...@@ -1267,8 +1267,8 @@ getIndex(text: string): string ...@@ -1267,8 +1267,8 @@ getIndex(text: string): string
**示例:** **示例:**
```js ```js
var indexUtil= I18n.getInstance("zh-CN"); let indexUtil= I18n.getInstance("zh-CN");
var index = indexUtil.getIndex("hi"); // index = "H" let index = indexUtil.getIndex("hi"); // index = "H"
``` ```
...@@ -1294,7 +1294,7 @@ getLineInstance(locale: string): BreakIterator ...@@ -1294,7 +1294,7 @@ getLineInstance(locale: string): BreakIterator
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
``` ```
...@@ -1317,7 +1317,7 @@ setLineBreakText(text: string): void ...@@ -1317,7 +1317,7 @@ setLineBreakText(text: string): void
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); // 设置短句文本 iterator.setLineBreakText("Apple is my favorite fruit."); // 设置短句文本
``` ```
...@@ -1338,9 +1338,9 @@ getLineBreakText(): string ...@@ -1338,9 +1338,9 @@ getLineBreakText(): string
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); iterator.setLineBreakText("Apple is my favorite fruit.");
var breakText = iterator.getLineBreakText(); // breakText = "Apple is my favorite fruit." let breakText = iterator.getLineBreakText(); // breakText = "Apple is my favorite fruit."
``` ```
...@@ -1360,9 +1360,9 @@ current(): number ...@@ -1360,9 +1360,9 @@ current(): number
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); iterator.setLineBreakText("Apple is my favorite fruit.");
var currentPos = iterator.current(); // currentPos = 0 let currentPos = iterator.current(); // currentPos = 0
``` ```
...@@ -1382,9 +1382,9 @@ first(): number ...@@ -1382,9 +1382,9 @@ first(): number
**示例:** **示例:**
```js ```js
var iterator = i18n.getLineInstance("en"); let iterator = i18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); iterator.setLineBreakText("Apple is my favorite fruit.");
var firstPos = iterator.first(); // firstPos = 0 let firstPos = iterator.first(); // firstPos = 0
``` ```
...@@ -1404,9 +1404,9 @@ last(): number ...@@ -1404,9 +1404,9 @@ last(): number
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); iterator.setLineBreakText("Apple is my favorite fruit.");
var lastPos = iterator.last(); // lastPos = 27 let lastPos = iterator.last(); // lastPos = 27
``` ```
...@@ -1432,9 +1432,9 @@ next(index?: number): number ...@@ -1432,9 +1432,9 @@ next(index?: number): number
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); iterator.setLineBreakText("Apple is my favorite fruit.");
var pos = iterator.first(); // pos = 0 let pos = iterator.first(); // pos = 0
pos = iterator.next(); // pos = 6 pos = iterator.next(); // pos = 6
pos = iterator.next(10); // pos = -1 pos = iterator.next(10); // pos = -1
``` ```
...@@ -1456,9 +1456,9 @@ previous(): number ...@@ -1456,9 +1456,9 @@ previous(): number
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); iterator.setLineBreakText("Apple is my favorite fruit.");
var pos = iterator.first(); // pos = 0 let pos = iterator.first(); // pos = 0
pos = iterator.next(3); // pos = 12 pos = iterator.next(3); // pos = 12
pos = iterator.previous(); // pos = 9 pos = iterator.previous(); // pos = 9
``` ```
...@@ -1486,9 +1486,9 @@ following(offset: number): number ...@@ -1486,9 +1486,9 @@ following(offset: number): number
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); iterator.setLineBreakText("Apple is my favorite fruit.");
var pos = iterator.following(0); // pos = 6 let pos = iterator.following(0); // pos = 6
pos = iterator.following(100); // pos = -1 pos = iterator.following(100); // pos = -1
pos = iterator.current(); // pos = 27 pos = iterator.current(); // pos = 27
``` ```
...@@ -1516,9 +1516,9 @@ isBoundary(offset: number): boolean ...@@ -1516,9 +1516,9 @@ isBoundary(offset: number): boolean
**示例:** **示例:**
```js ```js
var iterator = I18n.getLineInstance("en"); let iterator = I18n.getLineInstance("en");
iterator.setLineBreakText("Apple is my favorite fruit."); iterator.setLineBreakText("Apple is my favorite fruit.");
var isBoundary = iterator.isBoundary(0); // isBoundary = true; let isBoundary = iterator.isBoundary(0); // isBoundary = true;
isBoundary = iterator.isBoundary(5); // isBoundary = false; isBoundary = iterator.isBoundary(5); // isBoundary = false;
``` ```
...@@ -1545,7 +1545,7 @@ getTimeZone(zoneID?: string): TimeZone ...@@ -1545,7 +1545,7 @@ getTimeZone(zoneID?: string): TimeZone
**示例:** **示例:**
```js ```js
var timezone = I18n.getTimeZone(); let timezone = I18n.getTimeZone();
``` ```
...@@ -1568,8 +1568,8 @@ getID(): string ...@@ -1568,8 +1568,8 @@ getID(): string
**示例:** **示例:**
```js ```js
var timezone = I18n.getTimeZone(); let timezone = I18n.getTimeZone();
var timezoneID = timezone.getID(); // timezoneID = "Asia/Shanghai" let timezoneID = timezone.getID(); // timezoneID = "Asia/Shanghai"
``` ```
...@@ -1596,8 +1596,8 @@ getDisplayName(locale?: string, isDST?: boolean): string ...@@ -1596,8 +1596,8 @@ getDisplayName(locale?: string, isDST?: boolean): string
**示例:** **示例:**
```js ```js
var timezone = I18n.getTimeZone(); let timezone = I18n.getTimeZone();
var timezoneName = timezone.getDisplayName("zh-CN", false); // timezoneName = "中国标准时间" let timezoneName = timezone.getDisplayName("zh-CN", false); // timezoneName = "中国标准时间"
``` ```
...@@ -1617,8 +1617,8 @@ getRawOffset(): number ...@@ -1617,8 +1617,8 @@ getRawOffset(): number
**示例:** **示例:**
```js ```js
var timezone = I18n.getTimeZone(); let timezone = I18n.getTimeZone();
var offset = timezone.getRawOffset(); // offset = 28800000 let offset = timezone.getRawOffset(); // offset = 28800000
``` ```
...@@ -1638,8 +1638,8 @@ getOffset(date?: number): number ...@@ -1638,8 +1638,8 @@ getOffset(date?: number): number
**示例:** **示例:**
```js ```js
var timezone = I18n.getTimeZone(); let timezone = I18n.getTimeZone();
var offset = timezone.getOffset(1234567890); // offset = 28800000 let offset = timezone.getOffset(1234567890); // offset = 28800000
``` ```
...@@ -1660,7 +1660,7 @@ static getAvailableIDs(): Array&lt;string&gt; ...@@ -1660,7 +1660,7 @@ static getAvailableIDs(): Array&lt;string&gt;
**示例:** **示例:**
```ts ```ts
// ids = ["America/Adak", "America/Anchorage", "America/Bogota", "America/Denver", "America/Los_Angeles", "America/Montevideo", "America/Santiago", "America/Sao_Paulo", "Asia/Ashgabat", "Asia/Hovd", "Asia/Jerusalem", "Asia/Magadan", "Asia/Omsk", "Asia/Shanghai", "Asia/Tokyo", "Asia/Yerevan", "Atlantic/Cape_Verde", "Australia/Lord_Howe", "Europe/Dublin", "Europe/London", "Europe/Moscow", "Pacific/Auckland", "Pacific/Easter", "Pacific/Pago-Pago"], 当前共支持24个时区 // ids = ["America/Adak", "America/Anchorage", "America/Bogota", "America/Denver", "America/Los_Angeles", "America/Montevideo", "America/Santiago", "America/Sao_Paulo", "Asia/Ashgabat", "Asia/Hovd", "Asia/Jerusalem", "Asia/Magadan", "Asia/Omsk", "Asia/Shanghai", "Asia/Tokyo", "Asia/Yerevan", "Atlantic/Cape_Verde", "Australia/Lord_Howe", "Europe/Dublin", "Europe/London", "Europe/Moscow", "Pacific/Auckland", "Pacific/Easter", "Pacific/Pago-Pago"], 当前共支持24个时区
var ids = I18n.TimeZone.getAvailableIDs(); let ids = I18n.TimeZone.getAvailableIDs();
``` ```
...@@ -1681,7 +1681,7 @@ static getAvailableZoneCityIDs(): Array&lt;string&gt; ...@@ -1681,7 +1681,7 @@ static getAvailableZoneCityIDs(): Array&lt;string&gt;
**示例:** **示例:**
```ts ```ts
// cityIDs = ["Auckland", "Magadan", "Lord Howe Island", "Tokyo", "Shanghai", "Hovd", "Omsk", "Ashgabat", "Yerevan", "Moscow", "Tel Aviv", "Dublin", "London", "Praia", "Montevideo", "Brasília", "Santiago", "Bogotá", "Easter Island", "Salt Lake City", "Los Angeles", "Anchorage", "Adak", "Pago Pago"],当前共支持24个时区城市 // cityIDs = ["Auckland", "Magadan", "Lord Howe Island", "Tokyo", "Shanghai", "Hovd", "Omsk", "Ashgabat", "Yerevan", "Moscow", "Tel Aviv", "Dublin", "London", "Praia", "Montevideo", "Brasília", "Santiago", "Bogotá", "Easter Island", "Salt Lake City", "Los Angeles", "Anchorage", "Adak", "Pago Pago"],当前共支持24个时区城市
var cityIDs = I18n.TimeZone.getAvailableZoneCityIDs(); let cityIDs = I18n.TimeZone.getAvailableZoneCityIDs();
``` ```
...@@ -1708,7 +1708,7 @@ static getCityDisplayName(cityID: string, locale: string): string ...@@ -1708,7 +1708,7 @@ static getCityDisplayName(cityID: string, locale: string): string
**示例:** **示例:**
```ts ```ts
var displayName = I18n.TimeZone.getCityDisplayName("Shanghai", "zh-CN"); // displayName = "上海(中国)" let displayName = I18n.TimeZone.getCityDisplayName("Shanghai", "zh-CN"); // displayName = "上海(中国)"
``` ```
...@@ -1734,7 +1734,7 @@ static getTimezoneFromCity(cityID: string): TimeZone ...@@ -1734,7 +1734,7 @@ static getTimezoneFromCity(cityID: string): TimeZone
**示例:** **示例:**
```ts ```ts
var timezone = I18n.TimeZone.getTimezoneFromCity("Shanghai"); let timezone = I18n.TimeZone.getTimezoneFromCity("Shanghai");
``` ```
...@@ -1759,7 +1759,7 @@ static getAvailableIDs(): string[] ...@@ -1759,7 +1759,7 @@ static getAvailableIDs(): string[]
```ts ```ts
// ids = ["ASCII-Latin", "Accents-Any", "Amharic-Latin/BGN", ...],共支持671个id // ids = ["ASCII-Latin", "Accents-Any", "Amharic-Latin/BGN", ...],共支持671个id
// 每一个id由使用中划线分割的两部分组成,格式为 source-destination // 每一个id由使用中划线分割的两部分组成,格式为 source-destination
var ids = I18n.Transliterator.getAvailableIDs(); let ids = I18n.Transliterator.getAvailableIDs();
``` ```
...@@ -1785,7 +1785,7 @@ static getInstance(id: string): Transliterator ...@@ -1785,7 +1785,7 @@ static getInstance(id: string): Transliterator
**示例:** **示例:**
```ts ```ts
var transliterator = I18n.Transliterator.getInstance("Any-Latn"); let transliterator = I18n.Transliterator.getInstance("Any-Latn");
``` ```
...@@ -1811,8 +1811,8 @@ transform(text: string): string ...@@ -1811,8 +1811,8 @@ transform(text: string): string
**示例:** **示例:**
```ts ```ts
var transliterator = I18n.Transliterator.getInstance("Any-Latn"); let transliterator = I18n.Transliterator.getInstance("Any-Latn");
var res = transliterator.transform("中国"); // res = "zhōng guó" let res = transliterator.transform("中国"); // res = "zhōng guó"
``` ```
...@@ -1841,7 +1841,7 @@ static isDigit(char: string): boolean ...@@ -1841,7 +1841,7 @@ static isDigit(char: string): boolean
**示例:** **示例:**
```js ```js
var isdigit = I18n.Unicode.isDigit("1"); // isdigit = true let isdigit = I18n.Unicode.isDigit("1"); // isdigit = true
``` ```
...@@ -1867,7 +1867,7 @@ static isSpaceChar(char: string): boolean ...@@ -1867,7 +1867,7 @@ static isSpaceChar(char: string): boolean
**示例:** **示例:**
```js ```js
var isspacechar = I18n.Unicode.isSpaceChar("a"); // isspacechar = false let isspacechar = I18n.Unicode.isSpaceChar("a"); // isspacechar = false
``` ```
...@@ -1893,7 +1893,7 @@ static isWhitespace(char: string): boolean ...@@ -1893,7 +1893,7 @@ static isWhitespace(char: string): boolean
**示例:** **示例:**
```js ```js
var iswhitespace = I18n.Unicode.isWhitespace("a"); // iswhitespace = false let iswhitespace = I18n.Unicode.isWhitespace("a"); // iswhitespace = false
``` ```
...@@ -1919,7 +1919,7 @@ static isRTL(char: string): boolean ...@@ -1919,7 +1919,7 @@ static isRTL(char: string): boolean
**示例:** **示例:**
```js ```js
var isrtl = I18n.Unicode.isRTL("a"); // isrtl = false let isrtl = I18n.Unicode.isRTL("a"); // isrtl = false
``` ```
...@@ -1945,7 +1945,7 @@ static isIdeograph(char: string): boolean ...@@ -1945,7 +1945,7 @@ static isIdeograph(char: string): boolean
**示例:** **示例:**
```js ```js
var isideograph = I18n.Unicode.isIdeograph("a"); // isideograph = false let isideograph = I18n.Unicode.isIdeograph("a"); // isideograph = false
``` ```
...@@ -1971,7 +1971,7 @@ static isLetter(char: string): boolean ...@@ -1971,7 +1971,7 @@ static isLetter(char: string): boolean
**示例:** **示例:**
```js ```js
var isletter = I18n.Unicode.isLetter("a"); // isletter = true let isletter = I18n.Unicode.isLetter("a"); // isletter = true
``` ```
...@@ -1997,7 +1997,7 @@ static isLowerCase(char: string): boolean ...@@ -1997,7 +1997,7 @@ static isLowerCase(char: string): boolean
**示例:** **示例:**
```js ```js
var islowercase = I18n.Unicode.isLowerCase("a"); // islowercase = true let islowercase = I18n.Unicode.isLowerCase("a"); // islowercase = true
``` ```
...@@ -2023,7 +2023,7 @@ static isUpperCase(char: string): boolean ...@@ -2023,7 +2023,7 @@ static isUpperCase(char: string): boolean
**示例:** **示例:**
```js ```js
var isuppercase = I18n.Unicode.isUpperCase("a"); // isuppercase = false let isuppercase = I18n.Unicode.isUpperCase("a"); // isuppercase = false
``` ```
...@@ -2049,7 +2049,7 @@ static getType(char: string): string ...@@ -2049,7 +2049,7 @@ static getType(char: string): string
**示例:** **示例:**
```js ```js
var type = I18n.Unicode.getType("a"); // type = "U_LOWERCASE_LETTER" let type = I18n.Unicode.getType("a"); // type = "U_LOWERCASE_LETTER"
``` ```
...@@ -2082,7 +2082,7 @@ static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: ...@@ -2082,7 +2082,7 @@ static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale:
**示例:** **示例:**
```js ```js
var res = I18n.I18NUtil.unitConvert({unit: "cup", measureSystem: "US"}, {unit: "liter", measureSystem: "SI"}, 1000, "en-US", "long"); // res = 236.588 liters let res = I18n.I18NUtil.unitConvert({unit: "cup", measureSystem: "US"}, {unit: "liter", measureSystem: "SI"}, 1000, "en-US", "long"); // res = 236.588 liters
``` ```
...@@ -2108,7 +2108,7 @@ static getDateOrder(locale: string): string ...@@ -2108,7 +2108,7 @@ static getDateOrder(locale: string): string
**示例:** **示例:**
```js ```js
var order = I18n.I18NUtil.getDateOrder("zh-CN"); // order = "y-L-d" let order = I18n.I18NUtil.getDateOrder("zh-CN"); // order = "y-L-d"
``` ```
...@@ -2138,7 +2138,7 @@ getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): stri ...@@ -2138,7 +2138,7 @@ getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): stri
**示例:** **示例:**
```js ```js
var countryName = I18n.getDisplayCountry("zh-CN", "en-GB", true); // countryName = true let countryName = I18n.getDisplayCountry("zh-CN", "en-GB", true); // countryName = true
countryName = I18n.getDisplayCountry("zh-CN", "en-GB"); // countryName = true countryName = I18n.getDisplayCountry("zh-CN", "en-GB"); // countryName = true
``` ```
...@@ -2169,7 +2169,7 @@ getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): st ...@@ -2169,7 +2169,7 @@ getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): st
**示例:** **示例:**
```js ```js
var languageName = I18n.getDisplayLanguage("zh", "en-GB", true); // languageName = "Chinese" let languageName = I18n.getDisplayLanguage("zh", "en-GB", true); // languageName = "Chinese"
languageName = I18n.getDisplayLanguage("zh", "en-GB"); // languageName = "Chinese" languageName = I18n.getDisplayLanguage("zh", "en-GB"); // languageName = "Chinese"
``` ```
...@@ -2192,7 +2192,7 @@ getSystemLanguage(): string ...@@ -2192,7 +2192,7 @@ getSystemLanguage(): string
**示例:** **示例:**
```js ```js
var systemLanguage = I18n.getSystemLanguage(); // 返回当前系统语言 let systemLanguage = I18n.getSystemLanguage(); // 返回当前系统语言
``` ```
...@@ -2214,7 +2214,7 @@ getSystemRegion(): string ...@@ -2214,7 +2214,7 @@ getSystemRegion(): string
**示例:** **示例:**
```js ```js
var region = I18n.getSystemRegion(); // 返回当前系统地区 let region = I18n.getSystemRegion(); // 返回当前系统地区
``` ```
...@@ -2236,7 +2236,7 @@ getSystemLocale(): string ...@@ -2236,7 +2236,7 @@ getSystemLocale(): string
**示例:** **示例:**
```js ```js
var locale = I18n.getSystemLocale(); // 返回系统Locale let locale = I18n.getSystemLocale(); // 返回系统Locale
``` ```
...@@ -2258,7 +2258,7 @@ is24HourClock(): boolean ...@@ -2258,7 +2258,7 @@ is24HourClock(): boolean
**示例:** **示例:**
```js ```js
var is24HourClock = I18n.is24HourClock(); let is24HourClock = I18n.is24HourClock();
``` ```
...@@ -2289,7 +2289,7 @@ set24HourClock(option: boolean): boolean ...@@ -2289,7 +2289,7 @@ set24HourClock(option: boolean): boolean
**示例:** **示例:**
```js ```js
// 将系统时间设置为24小时制 // 将系统时间设置为24小时制
var success = I18n.set24HourClock(true); let success = I18n.set24HourClock(true);
``` ```
...@@ -2321,9 +2321,9 @@ addPreferredLanguage(language: string, index?: number): boolean ...@@ -2321,9 +2321,9 @@ addPreferredLanguage(language: string, index?: number): boolean
**示例:** **示例:**
```js ```js
// 将语言zh-CN添加到系统偏好语言列表中 // 将语言zh-CN添加到系统偏好语言列表中
var language = 'zh-CN'; let language = 'zh-CN';
var index = 0; let index = 0;
var success = I18n.addPreferredLanguage(language, index); let success = I18n.addPreferredLanguage(language, index);
``` ```
...@@ -2354,8 +2354,8 @@ removePreferredLanguage(index: number): boolean ...@@ -2354,8 +2354,8 @@ removePreferredLanguage(index: number): boolean
**示例:** **示例:**
```js ```js
// 删除系统偏好语言列表中的第一个偏好语言 // 删除系统偏好语言列表中的第一个偏好语言
var index = 0; let index = 0;
var success = I18n.removePreferredLanguage(index); let success = I18n.removePreferredLanguage(index);
``` ```
...@@ -2377,7 +2377,7 @@ getPreferredLanguageList(): Array&lt;string&gt; ...@@ -2377,7 +2377,7 @@ getPreferredLanguageList(): Array&lt;string&gt;
**示例:** **示例:**
```js ```js
var preferredLanguageList = I18n.getPreferredLanguageList(); // 获取系统偏好语言列表 let preferredLanguageList = I18n.getPreferredLanguageList(); // 获取系统偏好语言列表
``` ```
...@@ -2399,7 +2399,7 @@ getFirstPreferredLanguage(): string ...@@ -2399,7 +2399,7 @@ getFirstPreferredLanguage(): string
**示例:** **示例:**
```js ```js
var firstPreferredLanguage = I18n.getFirstPreferredLanguage(); let firstPreferredLanguage = I18n.getFirstPreferredLanguage();
``` ```
......
...@@ -48,9 +48,9 @@ constructor() ...@@ -48,9 +48,9 @@ constructor()
**示例:** **示例:**
```js ```js
// 默认构造函数使用系统当前locale创建Locale对象 // 默认构造函数使用系统当前locale创建Locale对象
var locale = new Intl.Locale() let locale = new Intl.Locale()
// 返回系统当前localel // 返回系统当前localel
var localeID = locale.toString() let localeID = locale.toString()
``` ```
...@@ -72,8 +72,8 @@ constructor(locale: string, options?: LocaleOptions) ...@@ -72,8 +72,8 @@ constructor(locale: string, options?: LocaleOptions)
**示例:** **示例:**
```js ```js
// 创建 "zh-CN" Locale对象 // 创建 "zh-CN" Locale对象
var locale = new Intl.Locale("zh-CN") let locale = new Intl.Locale("zh-CN")
var localeID = locale.toString() // localeID = "zh-CN" let localeID = locale.toString() // localeID = "zh-CN"
``` ```
...@@ -94,8 +94,8 @@ toString(): string ...@@ -94,8 +94,8 @@ toString(): string
**示例:** **示例:**
```js ```js
// 创建 "en-GB" Locale对象 // 创建 "en-GB" Locale对象
var locale = new Intl.Locale("en-GB"); let locale = new Intl.Locale("en-GB");
var localeID = locale.toString(); // localeID = "en-GB" let localeID = locale.toString(); // localeID = "en-GB"
``` ```
...@@ -116,16 +116,16 @@ maximize(): Locale ...@@ -116,16 +116,16 @@ maximize(): Locale
**示例:** **示例:**
```js ```js
// 创建 "zh" Locale对象 // 创建 "zh" Locale对象
var locale = new Intl.Locale("zh"); let locale = new Intl.Locale("zh");
// 补齐Locale对象的脚本和地区 // 补齐Locale对象的脚本和地区
locale.maximize(); let maximizedLocale = locale.maximize();
var localeID = locale.toString(); // localeID = "zh-Hans-CN" let localeID = maximizedLocale.toString(); // localeID = "zh-Hans-CN"
// 创建 "en-US" Locale对象 // 创建 "en-US" Locale对象
locale = new Intl.Locale("en-US"); locale = new Intl.Locale("en-US");
// 补齐Locale对象的脚本 // 补齐Locale对象的脚本
locale.maximize(); maximizedLocale = locale.maximize();
localeID = locale.toString(); // localeID = "en-Latn-US" localeID = maximizedLocale.toString(); // localeID = "en-Latn-US"
``` ```
...@@ -146,16 +146,16 @@ minimize(): Locale ...@@ -146,16 +146,16 @@ minimize(): Locale
**示例:** **示例:**
```js ```js
// 创建 "zh-Hans-CN" Locale对象 // 创建 "zh-Hans-CN" Locale对象
var locale = new Intl.Locale("zh-Hans-CN"); let locale = new Intl.Locale("zh-Hans-CN");
// 去除Locale对象的脚本和地区 // 去除Locale对象的脚本和地区
locale.minimize(); let minimizedLocale = locale.minimize();
var localeID = locale.toString(); // localeID = "zh" let localeID = minimizedLocale.toString(); // localeID = "zh"
// 创建 "en-US" Locale对象 // 创建 "en-US" Locale对象
locale = new Intl.Locale("en-US"); locale = new Intl.Locale("en-US");
// 去除Locale对象的地区 // 去除Locale对象的地区
locale.minimize(); minimizedLocale = locale.minimize();
localeID = locale.toString(); // localeID = "en" localeID = minimizedLocale.toString(); // localeID = "en"
``` ```
...@@ -189,7 +189,7 @@ constructor() ...@@ -189,7 +189,7 @@ constructor()
**示例:** **示例:**
```js ```js
// 使用系统当前locale创建DateTimeFormat对象 // 使用系统当前locale创建DateTimeFormat对象
var datefmt= new Intl.DateTimeFormat(); let datefmt= new Intl.DateTimeFormat();
``` ```
...@@ -211,14 +211,14 @@ constructor(locale: string | Array&lt;string&gt;, options?: DateTimeOptions) ...@@ -211,14 +211,14 @@ constructor(locale: string | Array&lt;string&gt;, options?: DateTimeOptions)
**示例:** **示例:**
```js ```js
// 使用 "zh-CN" locale创建DateTimeFormat对象,日期风格为full,时间风格为medium // 使用 "zh-CN" locale创建DateTimeFormat对象,日期风格为full,时间风格为medium
var datefmt= new Intl.DateTimeFormat("zh-CN", { dateStyle: 'full', timeStyle: 'medium' }); let datefmt= new Intl.DateTimeFormat("zh-CN", { dateStyle: 'full', timeStyle: 'medium' });
``` ```
**示例:** **示例:**
```js ```js
// 使用 ["ban", "zh"] locale列表创建DateTimeFormat对象,因为ban为非法LocaleID,因此使用zh Locale创建DateTimeFormat对象 // 使用 ["ban", "zh"] locale列表创建DateTimeFormat对象,因为ban为非法LocaleID,因此使用zh Locale创建DateTimeFormat对象
var datefmt= new Intl.DateTimeFormat(["ban", "zh"], { dateStyle: 'full', timeStyle: 'medium' }); let datefmt= new Intl.DateTimeFormat(["ban", "zh"], { dateStyle: 'full', timeStyle: 'medium' });
``` ```
...@@ -244,10 +244,10 @@ format(date: Date): string ...@@ -244,10 +244,10 @@ format(date: Date): string
**示例:** **示例:**
```js ```js
var date = new Date(2021, 11, 17, 3, 24, 0); let date = new Date(2021, 11, 17, 3, 24, 0);
// 使用 en-GB locale创建DateTimeFormat对象 // 使用 en-GB locale创建DateTimeFormat对象
var datefmt = new Intl.DateTimeFormat("en-GB"); let datefmt = new Intl.DateTimeFormat("en-GB");
var formattedDate = datefmt.format(date); // formattedDate "17/12/2021" let formattedDate = datefmt.format(date); // formattedDate "17/12/2021"
// 使用 en-GB locale创建DateTimeFormat对象,dateStyle设置为full,timeStyle设置为medium // 使用 en-GB locale创建DateTimeFormat对象,dateStyle设置为full,timeStyle设置为medium
datefmt = new Intl.DateTimeFormat("en-GB", { dateStyle: 'full', timeStyle: 'medium' }); datefmt = new Intl.DateTimeFormat("en-GB", { dateStyle: 'full', timeStyle: 'medium' });
...@@ -278,11 +278,11 @@ formatRange(startDate: Date, endDate: Date): string ...@@ -278,11 +278,11 @@ formatRange(startDate: Date, endDate: Date): string
**示例:** **示例:**
```js ```js
var startDate = new Date(2021, 11, 17, 3, 24, 0); let startDate = new Date(2021, 11, 17, 3, 24, 0);
var endDate = new Date(2021, 11, 18, 3, 24, 0); let endDate = new Date(2021, 11, 18, 3, 24, 0);
// 使用 en-GB locale创建DateTimeFormat对象 // 使用 en-GB locale创建DateTimeFormat对象
var datefmt = new Intl.DateTimeFormat("en-GB"); let datefmt = new Intl.DateTimeFormat("en-GB");
var formattedDateRange = datefmt.formatRange(startDate, endDate); // formattedDateRange = "17/12/2021-18/12/2021" let formattedDateRange = datefmt.formatRange(startDate, endDate); // formattedDateRange = "17/12/2021-18/12/2021"
``` ```
...@@ -302,11 +302,11 @@ resolvedOptions(): DateTimeOptions ...@@ -302,11 +302,11 @@ resolvedOptions(): DateTimeOptions
**示例:** **示例:**
```js ```js
var datefmt = new Intl.DateTimeFormat("en-GB", { dateStyle: 'full', timeStyle: 'medium' }); let datefmt = new Intl.DateTimeFormat("en-GB", { dateStyle: 'full', timeStyle: 'medium' });
// 返回DateTimeFormat对象的配置项 // 返回DateTimeFormat对象的配置项
var options = datefmt.resolvedOptions(); let options = datefmt.resolvedOptions();
var dateStyle = options.dateStyle; // dateStyle = "full" let dateStyle = options.dateStyle; // dateStyle = "full"
var timeStyle = options.timeStyle; // timeStyle = "medium" let timeStyle = options.timeStyle; // timeStyle = "medium"
``` ```
...@@ -353,7 +353,7 @@ constructor() ...@@ -353,7 +353,7 @@ constructor()
**示例:** **示例:**
```js ```js
// 使用系统当前locale创建NumberFormat对象 // 使用系统当前locale创建NumberFormat对象
var numfmt = new Intl.NumberFormat(); let numfmt = new Intl.NumberFormat();
``` ```
...@@ -375,7 +375,7 @@ constructor(locale: string | Array&lt;string&gt;, options?: NumberOptions) ...@@ -375,7 +375,7 @@ constructor(locale: string | Array&lt;string&gt;, options?: NumberOptions)
**示例:** **示例:**
```js ```js
// 使用 en-GB locale创建NumberFormat对象,style设置为decimal,notation设置为scientific // 使用 en-GB locale创建NumberFormat对象,style设置为decimal,notation设置为scientific
var numfmt = new Intl.NumberFormat("en-GB", {style:'decimal', notation:"scientific"}); let numfmt = new Intl.NumberFormat("en-GB", {style:'decimal', notation:"scientific"});
``` ```
...@@ -403,8 +403,8 @@ format(number: number): string; ...@@ -403,8 +403,8 @@ format(number: number): string;
**示例:** **示例:**
```js ```js
// 使用 ["en-GB", "zh"] locale列表创建NumberFormat对象,因为en-GB为合法LocaleID,因此使用en-GB创建NumberFormat对象 // 使用 ["en-GB", "zh"] locale列表创建NumberFormat对象,因为en-GB为合法LocaleID,因此使用en-GB创建NumberFormat对象
var numfmt = new Intl.NumberFormat(["en-GB", "zh"], {style:'decimal', notation:"scientific"}); let numfmt = new Intl.NumberFormat(["en-GB", "zh"], {style:'decimal', notation:"scientific"});
var formattedNumber = numfmt.format(1223); // formattedNumber = 1.223E3 let formattedNumber = numfmt.format(1223); // formattedNumber = 1.223E3
``` ```
...@@ -425,11 +425,11 @@ resolvedOptions(): NumberOptions ...@@ -425,11 +425,11 @@ resolvedOptions(): NumberOptions
**示例:** **示例:**
```js ```js
var numfmt = new Intl.NumberFormat(["en-GB", "zh"], {style:'decimal', notation:"scientific"}); let numfmt = new Intl.NumberFormat(["en-GB", "zh"], {style:'decimal', notation:"scientific"});
// 获取NumberFormat对象配置项 // 获取NumberFormat对象配置项
var options = numfmt.resolvedOptions(); let options = numfmt.resolvedOptions();
var style = options.style; // style = decimal let style = options.style; // style = decimal
var notation = options.notation // notation = scientific let notation = options.notation // notation = scientific
``` ```
...@@ -476,7 +476,7 @@ constructor() ...@@ -476,7 +476,7 @@ constructor()
**示例:** **示例:**
```js ```js
// 使用系统locale创建Collator对象 // 使用系统locale创建Collator对象
var collator = new Intl.Collator(); let collator = new Intl.Collator();
``` ```
...@@ -498,7 +498,7 @@ constructor(locale: string | Array&lt;string&gt;, options?: CollatorOptions) ...@@ -498,7 +498,7 @@ constructor(locale: string | Array&lt;string&gt;, options?: CollatorOptions)
**示例:** **示例:**
```js ```js
// 使用 zh-CN locale创建Collator对象,localeMatcher设置为lookup,usage设置为sort // 使用 zh-CN locale创建Collator对象,localeMatcher设置为lookup,usage设置为sort
var collator = new Intl.Collator("zh-CN", {localeMatcher: "lookup", usage: "sort"}); let collator = new Intl.Collator("zh-CN", {localeMatcher: "lookup", usage: "sort"});
``` ```
...@@ -526,9 +526,9 @@ compare(first: string, second: string): number ...@@ -526,9 +526,9 @@ compare(first: string, second: string): number
**示例:** **示例:**
```js ```js
// 使用en-GB locale创建Collator对象 // 使用en-GB locale创建Collator对象
var collator = new Intl.Collator("en-GB"); let collator = new Intl.Collator("en-GB");
// 比较 "first" 和 "second" 的先后顺序 // 比较 "first" 和 "second" 的先后顺序
var compareResult = collator.compare("first", "second"); // compareResult = -1 let compareResult = collator.compare("first", "second"); // compareResult = -1
``` ```
...@@ -548,11 +548,11 @@ resolvedOptions(): CollatorOptions ...@@ -548,11 +548,11 @@ resolvedOptions(): CollatorOptions
**示例:** **示例:**
```js ```js
var collator = new Intl.Collator("zh-Hans", { usage: 'sort', ignorePunctuation: 'true' }); let collator = new Intl.Collator("zh-Hans", { usage: 'sort', ignorePunctuation: true });
// 获取Collator对象的配置项 // 获取Collator对象的配置项
var options = collator.resolvedOptions(); let options = collator.resolvedOptions();
var usage = options.usage; // usage = "sort" let usage = options.usage; // usage = "sort"
var ignorePunctuation = options.ignorePunctuation // ignorePunctuation = true let ignorePunctuation = options.ignorePunctuation // ignorePunctuation = true
``` ```
...@@ -566,7 +566,7 @@ resolvedOptions(): CollatorOptions ...@@ -566,7 +566,7 @@ resolvedOptions(): CollatorOptions
| ----------------- | ------- | ---- | ---- | ---------------------------------------- | | ----------------- | ------- | ---- | ---- | ---------------------------------------- |
| localeMatcher | string | 是 | 是 | locale匹配算法,取值范围:"best&nbsp;fit",&nbsp;"lookup"。 | | localeMatcher | string | 是 | 是 | locale匹配算法,取值范围:"best&nbsp;fit",&nbsp;"lookup"。 |
| usage | string | 是 | 是 | 比较的用途,取值范围:"sort",&nbsp;"search"。 | | usage | string | 是 | 是 | 比较的用途,取值范围:"sort",&nbsp;"search"。 |
| sensitivity | string | 是 | 是 | 表示字符串中的哪些差异会导致非零结果值,取值范围:"base",&nbsp;"accent",&nbsp;"case",&nbsp;"variant"。 | | sensitivity | string | 是 | 是 | 表示字符串中的哪些差异会导致非零结果值,取值范围:"base",&nbsp;"accent",&nbsp;"case",&nbsp;"letiant"。 |
| ignorePunctuation | boolean | 是 | 是 | 表示是否忽略标点符号,取值范围:true,&nbsp;false。 | | ignorePunctuation | boolean | 是 | 是 | 表示是否忽略标点符号,取值范围:true,&nbsp;false。 |
| collation | string | 是 | 是 | 排序规则,取值范围:"big5han",&nbsp;"compat",&nbsp;"dict",&nbsp;"direct",&nbsp;"ducet",&nbsp;"eor",&nbsp;"gb2312",&nbsp;"phonebk",&nbsp;"phonetic",&nbsp;"pinyin",&nbsp;"reformed",&nbsp;"searchjl",&nbsp;"stroke",&nbsp;"trad",&nbsp;"unihan",&nbsp;"zhuyin"。 | | collation | string | 是 | 是 | 排序规则,取值范围:"big5han",&nbsp;"compat",&nbsp;"dict",&nbsp;"direct",&nbsp;"ducet",&nbsp;"eor",&nbsp;"gb2312",&nbsp;"phonebk",&nbsp;"phonetic",&nbsp;"pinyin",&nbsp;"reformed",&nbsp;"searchjl",&nbsp;"stroke",&nbsp;"trad",&nbsp;"unihan",&nbsp;"zhuyin"。 |
| numeric | boolean | 是 | 是 | 是否使用数字排序,取值范围:true,&nbsp;false。 | | numeric | boolean | 是 | 是 | 是否使用数字排序,取值范围:true,&nbsp;false。 |
...@@ -580,14 +580,14 @@ resolvedOptions(): CollatorOptions ...@@ -580,14 +580,14 @@ resolvedOptions(): CollatorOptions
constructor() constructor()
创建PluralRules对象 创建单复数对象来计算数字的单复数类别
**系统能力**:SystemCapability.Global.I18n **系统能力**:SystemCapability.Global.I18n
**示例:** **示例:**
```js ```js
// 使用系统locale创建PluralRules对象 // 使用系统locale创建PluralRules对象
var pluralRules = new Intl.PluralRules(); let pluralRules = new Intl.PluralRules();
``` ```
...@@ -595,7 +595,7 @@ constructor() ...@@ -595,7 +595,7 @@ constructor()
constructor(locale: string | Array&lt;string&gt;, options?: PluralRulesOptions) constructor(locale: string | Array&lt;string&gt;, options?: PluralRulesOptions)
创建PluralRules对象 创建单复数对象来计算数字的单复数类别
**系统能力**:SystemCapability.Global.I18n **系统能力**:SystemCapability.Global.I18n
...@@ -609,7 +609,7 @@ constructor(locale: string | Array&lt;string&gt;, options?: PluralRulesOptions) ...@@ -609,7 +609,7 @@ constructor(locale: string | Array&lt;string&gt;, options?: PluralRulesOptions)
**示例:** **示例:**
```js ```js
// 使用 zh-CN locale创建PluralRules对象,localeMatcher设置为lookup,type设置为cardinal // 使用 zh-CN locale创建PluralRules对象,localeMatcher设置为lookup,type设置为cardinal
var pluralRules= new Intl.PluralRules("zh-CN", {"localeMatcher": "lookup", "type": "cardinal"}); let pluralRules= new Intl.PluralRules("zh-CN", {"localeMatcher": "lookup", "type": "cardinal"});
``` ```
...@@ -636,9 +636,14 @@ select(n: number): string ...@@ -636,9 +636,14 @@ select(n: number): string
**示例:** **示例:**
```js ```js
// 使用 zh-Hans locale创建PluralRules对象 // 使用 zh-Hans locale创建PluralRules对象
var pluralRules = new Intl.PluralRules("zh-Hans"); let zhPluralRules = new Intl.PluralRules("zh-Hans");
// 计算 zh-Hans locale中数字1对应的单复数类别 // 计算 zh-Hans locale中数字1对应的单复数类别
var plural = pluralRules.select(1); // plural = other let plural = zhPluralRules.select(1); // plural = other
// 使用 en-US locale创建PluralRules对象
let enPluralRules = new Intl.PluralRules("en-US");
// 计算 en-US locale中数字1对应的单复数类别
plural = enPluralRules.select(1); // plural = one
``` ```
...@@ -673,7 +678,7 @@ constructor() ...@@ -673,7 +678,7 @@ constructor()
**示例:** **示例:**
```js ```js
// 使用系统locale创建RelativeTimeFormat对象 // 使用系统locale创建RelativeTimeFormat对象
var relativetimefmt = new Intl.RelativeTimeFormat(); let relativetimefmt = new Intl.RelativeTimeFormat();
``` ```
...@@ -695,7 +700,7 @@ constructor(locale: string | Array&lt;string&gt;, options?: RelativeTimeFormatIn ...@@ -695,7 +700,7 @@ constructor(locale: string | Array&lt;string&gt;, options?: RelativeTimeFormatIn
**示例:** **示例:**
```js ```js
// 使用 zh-CN locale创建RelativeTimeFormat对象,localeMatcher设置为lookup,numeric设置为always,style设置为long // 使用 zh-CN locale创建RelativeTimeFormat对象,localeMatcher设置为lookup,numeric设置为always,style设置为long
var relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {"localeMatcher": "lookup", "numeric": "always", "style": "long"}); let relativeTimeFormat = new Intl.RelativeTimeFormat("zh-CN", {"localeMatcher": "lookup", "numeric": "always", "style": "long"});
``` ```
...@@ -723,9 +728,9 @@ format(value: number, unit: string): string ...@@ -723,9 +728,9 @@ format(value: number, unit: string): string
**示例:** **示例:**
```js ```js
// 使用 zh-CN locale创建RelativeTimeFormat对象 // 使用 zh-CN locale创建RelativeTimeFormat对象
var relativetimefmt = new Intl.RelativeTimeFormat("zh-CN"); let relativetimefmt = new Intl.RelativeTimeFormat("zh-CN");
// 计算 zh-CN locale中数字3,单位quarter的本地化表示 // 计算 zh-CN locale中数字3,单位quarter的本地化表示
var formatResult = relativetimefmt.format(3, "quarter") // formatResult = "3个季度后" let formatResult = relativetimefmt.format(3, "quarter"); // formatResult = "3个季度后"
``` ```
...@@ -753,8 +758,8 @@ formatToParts(value: number, unit: string): Array&lt;object&gt; ...@@ -753,8 +758,8 @@ formatToParts(value: number, unit: string): Array&lt;object&gt;
**示例:** **示例:**
```js ```js
// 使用 en locale创建RelativeTimeFormat对象,numeric设置为auto // 使用 en locale创建RelativeTimeFormat对象,numeric设置为auto
var relativetimefmt = new Intl.RelativeTimeFormat("en", {"numeric": "auto"}); let relativetimefmt = new Intl.RelativeTimeFormat("en", {"numeric": "auto"});
var parts = relativetimefmt.formatToParts(10, "seconds"); // parts = [ {type: "literal", value: "in"}, {type: "integer", value: 10, unit: "second"}, {type: "literal", value: "seconds"} ] let parts = relativetimefmt.formatToParts(10, "seconds"); // parts = [ {type: "literal", value: "in"}, {type: "integer", value: 10, unit: "second"}, {type: "literal", value: "seconds"} ]
``` ```
...@@ -775,10 +780,10 @@ resolvedOptions(): RelativeTimeFormatResolvedOptions ...@@ -775,10 +780,10 @@ resolvedOptions(): RelativeTimeFormatResolvedOptions
**示例:** **示例:**
```js ```js
// 使用 en-GB locale创建RelativeTimeFormat对象 // 使用 en-GB locale创建RelativeTimeFormat对象
var relativetimefmt= new Intl.RelativeTimeFormat("en-GB", { style: "short" }); let relativetimefmt= new Intl.RelativeTimeFormat("en-GB", { style: "short" });
// 获取RelativeTimeFormat对象配置项 // 获取RelativeTimeFormat对象配置项
var options = relativetimefmt.resolvedOptions(); let options = relativetimefmt.resolvedOptions();
var style = options.style; // style = "short" let style = options.style; // style = "short"
``` ```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册