• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.i18n (国际化-I18n)
2
3 本模块提供系统相关的或者增强的国际化能力,包括区域管理、电话号码处理、日历等,相关接口为ECMA 402标准中未定义的补充接口。
4[Intl模块](js-apis-intl.md)提供了ECMA 402标准定义的基础国际化接口,与本模块共同使用可提供完整地国际化支持能力。
5
6>  **说明:**
7>  - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9>  - I18N模块包含国际化能力增强接口(未在ECMA 402中定义),包括区域管理、电话号码处理、日历等,国际化基础能力请参考[Intl模块](js-apis-intl.md)。
10
11
12## 导入模块
13
14```js
15import I18n from '@ohos.i18n';
16```
17
18
19## System<sup>9+</sup>
20
21### getDisplayCountry<sup>9+</sup>
22
23static getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string
24
25获取指定国家的本地化显示文本。
26
27**系统能力**:SystemCapability.Global.I18n
28
29**参数:**
30
31| 参数名          | 类型      | 必填   | 说明               |
32| ------------ | ------- | ---- | ---------------- |
33| country      | string  | 是    | 指定国家。            |
34| locale       | string  | 是    | 显示指定国家的区域ID。     |
35| sentenceCase | boolean | 否    | 本地化显示文本是否要首字母大写。 |
36
37**返回值:**
38
39| 类型     | 说明            |
40| ------ | ------------- |
41| string | 指定国家的本地化显示文本。 |
42
43**错误码:**
44
45以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
46
47| 错误码ID  | 错误信息                   |
48| ------ | ---------------------- |
49| 890001 | Unspported para value. |
50
51**示例:**
52  ```js
53  try {
54    let displayCountry = I18n.System.getDisplayCountry("zh-CN", "en-GB"); // displayCountry = "China"
55  } catch(error) {
56    console.error(`call System.getDisplayCountry failed, error code: ${error.code}, message: ${error.message}.`);
57  }
58  ```
59
60### getDisplayLanguage<sup>9+</sup>
61
62static getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string
63
64获取指定语言的本地化显示文本。
65
66**系统能力**:SystemCapability.Global.I18n
67
68**参数:**
69
70| 参数名          | 类型      | 必填   | 说明               |
71| ------------ | ------- | ---- | ---------------- |
72| language     | string  | 是    | 指定语言。            |
73| locale       | string  | 是    | 显示指定语言的区域ID。     |
74| sentenceCase | boolean | 否    | 本地化显示文本是否要首字母大写。 |
75
76**返回值:**
77
78| 类型     | 说明            |
79| ------ | ------------- |
80| string | 指定语言的本地化显示文本。 |
81
82**错误码:**
83
84以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
85
86| 错误码ID  | 错误信息                   |
87| ------ | ---------------------- |
88| 890001 | Unspported para value. |
89
90**示例:**
91  ```js
92  try {
93    let displayLanguage = I18n.System.getDisplayLanguage("zh", "en-GB"); // displayLanguage = Chinese
94  } catch(error) {
95    console.error(`call System.getDisplayLanguage failed, error code: ${error.code}, message: ${error.message}.`);
96  }
97  ```
98
99### getSystemLanguages<sup>9+</sup>
100
101static getSystemLanguages(): Array&lt;string&gt;
102
103获取系统支持的语言列表。语言的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。
104
105**系统能力**:SystemCapability.Global.I18n
106
107**返回值:**
108
109| 类型                  | 说明           |
110| ------------------- | ------------ |
111| Array&lt;string&gt; | 系统支持的语言ID列表。 |
112
113**错误码:**
114
115以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
116
117| 错误码ID  | 错误信息                   |
118| ------ | ---------------------- |
119| 890001 | Unspported para value. |
120
121**示例:**
122  ```js
123  try {
124    let systemLanguages = I18n.System.getSystemLanguages(); // [ "en-Latn-US", "zh-Hans" ]
125  } catch(error) {
126    console.error(`call System.getSystemLanguages failed, error code: ${error.code}, message: ${error.message}.`);
127  }
128  ```
129
130### getSystemCountries<sup>9+</sup>
131
132static getSystemCountries(language: string): Array&lt;string&gt;
133
134获取针对输入语言系统支持的国家或地区列表。国家或地区的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。
135
136**系统能力**:SystemCapability.Global.I18n
137
138**参数:**
139
140| 参数名      | 类型     | 必填   | 说明    |
141| -------- | ------ | ---- | ----- |
142| language | string | 是    | 语言ID。 |
143
144**返回值:**
145
146| 类型                  | 说明           |
147| ------------------- | ------------ |
148| Array&lt;string&gt; | 系统支持的区域ID列表。 |
149
150**错误码:**
151
152以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
153
154| 错误码ID  | 错误信息                   |
155| ------ | ---------------------- |
156| 890001 | Unspported para value. |
157
158**示例:**
159  ```js
160  try {
161    let systemCountries = I18n.System.getSystemCountries('zh'); // systemCountries = [ "ZW", "YT", "YE", ..., "ER", "CN", "DE" ],共计240个国家或地区
162  } catch(error) {
163    console.error(`call System.getSystemCountries failed, error code: ${error.code}, message: ${error.message}.`);
164  }
165  ```
166
167### isSuggested<sup>9+</sup>
168
169static isSuggested(language: string, region?: string): boolean
170
171判断当前语言和地区是否匹配。
172
173**系统能力**:SystemCapability.Global.I18n
174
175**参数:**
176
177| 参数名      | 类型     | 必填   | 说明            |
178| -------- | ------ | ---- | ------------- |
179| language | string | 是    | 合法的语言ID,例如zh。 |
180| region   | string | 否    | 合法的地区ID,例如CN  |
181
182**返回值:**
183
184| 类型      | 说明                                       |
185| ------- | ---------------------------------------- |
186| boolean | 返回true,表示当前语言和地区匹配;返回false,表示当前语言和地区不匹配。 |
187
188**错误码:**
189
190以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
191
192| 错误码ID  | 错误信息                   |
193| ------ | ---------------------- |
194| 890001 | Unspported para value. |
195
196**示例:**
197  ```js
198  try {
199    let res = I18n.System.isSuggested('zh', 'CN');  // res = true
200  } catch(error) {
201    console.error(`call System.isSuggested failed, error code: ${error.code}, message: ${error.message}.`);
202  }
203  ```
204
205### getSystemLanguage<sup>9+</sup>
206
207static getSystemLanguage(): string
208
209获取系统语言。语言的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。
210
211**系统能力**:SystemCapability.Global.I18n
212
213**返回值:**
214
215| 类型     | 说明      |
216| ------ | ------- |
217| string | 系统语言ID。 |
218
219**错误码:**
220
221以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
222
223| 错误码ID  | 错误信息                   |
224| ------ | ---------------------- |
225| 890001 | Unspported para value. |
226
227**示例:**
228  ```js
229  try {
230    let systemLanguage = I18n.System.getSystemLanguage();  // systemLanguage为当前系统语言
231  } catch(error) {
232    console.error(`call System.getSystemLanguage failed, error code: ${error.code}, message: ${error.message}.`);
233  }
234  ```
235
236### setSystemLanguage<sup>9+</sup>
237
238static setSystemLanguage(language: string): void
239
240设置系统语言。当前调用该接口不支持系统界面语言的实时刷新。
241
242此接口为系统接口。
243
244**需要权限**:ohos.permission.UPDATE_CONFIGURATION
245
246**系统能力**:SystemCapability.Global.I18n
247
248**参数:**
249
250| 参数名      | 类型     | 必填   | 说明    |
251| -------- | ------ | ---- | ----- |
252| language | string | 是    | 语言ID。 |
253
254**错误码:**
255
256以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
257
258| 错误码ID  | 错误信息                   |
259| ------ | ---------------------- |
260| 890001 | Unspported para value. |
261
262**示例:**
263  ```js
264  try {
265    I18n.System.setSystemLanguage('zh'); // 设置系统当前语言为 "zh"
266  } catch(error) {
267    console.error(`call System.setSystemLanguage failed, error code: ${error.code}, message: ${error.message}.`);
268  }
269  ```
270
271### getSystemRegion<sup>9+</sup>
272
273static getSystemRegion(): string
274
275获取系统地区。地区的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。
276
277**系统能力**:SystemCapability.Global.I18n
278
279**返回值:**
280
281| 类型     | 说明      |
282| ------ | ------- |
283| string | 系统地区ID。 |
284
285**错误码:**
286
287以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
288
289| 错误码ID  | 错误信息                   |
290| ------ | ---------------------- |
291| 890001 | Unspported para value. |
292
293**示例:**
294  ```js
295  try {
296    let systemRegion = I18n.System.getSystemRegion(); // 获取系统当前地区设置
297  } catch(error) {
298    console.error(`call System.getSystemRegion failed, error code: ${error.code}, message: ${error.message}.`);
299  }
300  ```
301
302### setSystemRegion<sup>9+</sup>
303
304static setSystemRegion(region: string): void
305
306设置系统区域。
307
308此接口为系统接口。
309
310**需要权限**:ohos.permission.UPDATE_CONFIGURATION
311
312**系统能力**:SystemCapability.Global.I18n
313
314**参数:**
315
316| 参数名    | 类型     | 必填   | 说明    |
317| ------ | ------ | ---- | ----- |
318| region | string | 是    | 地区ID。 |
319
320**错误码:**
321
322以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
323
324| 错误码ID  | 错误信息                   |
325| ------ | ---------------------- |
326| 890001 | Unspported para value. |
327
328**示例:**
329  ```js
330  try {
331    I18n.System.setSystemRegion('CN');  // 设置系统当前地区为 "CN"
332  } catch(error) {
333    console.error(`call System.setSystemRegion failed, error code: ${error.code}, message: ${error.message}.`);
334  }
335  ```
336
337### getSystemLocale<sup>9+</sup>
338
339static getSystemLocale(): string
340
341获取系统区域。区域的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。
342
343**系统能力**:SystemCapability.Global.I18n
344
345**返回值:**
346
347| 类型     | 说明      |
348| ------ | ------- |
349| string | 系统区域ID。 |
350
351**错误码:**
352
353以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
354
355| 错误码ID  | 错误信息                   |
356| ------ | ---------------------- |
357| 890001 | Unspported para value. |
358
359**示例:**
360  ```js
361  try {
362    let systemLocale = I18n.System.getSystemLocale();  // 获取系统当前Locale
363  } catch(error) {
364    console.error(`call System.getSystemLocale failed, error code: ${error.code}, message: ${error.message}.`);
365  }
366  ```
367
368### setSystemLocale<sup>9+</sup>
369
370static setSystemLocale(locale: string): void
371
372设置系统Locale。
373
374此接口为系统接口。
375
376**需要权限**:ohos.permission.UPDATE_CONFIGURATION
377
378**系统能力**:SystemCapability.Global.I18n
379
380**参数:**
381
382| 参数名    | 类型     | 必填   | 说明              |
383| ------ | ------ | ---- | --------------- |
384| locale | string | 是    | 指定区域ID,例如zh-CN。 |
385
386**错误码:**
387
388以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
389
390| 错误码ID  | 错误信息                   |
391| ------ | ---------------------- |
392| 890001 | Unspported para value. |
393
394**示例:**
395  ```js
396  try {
397    I18n.System.setSystemLocale('zh-CN');  // 设置系统当前Locale为 "zh-CN"
398  } catch(error) {
399    console.error(`call System.setSystemLocale failed, error code: ${error.code}, message: ${error.message}.`);
400  }
401  ```
402
403### is24HourClock<sup>9+</sup>
404
405static is24HourClock(): boolean
406
407判断系统时间是否为24小时制。
408
409**系统能力**:SystemCapability.Global.I18n
410
411**返回值:**
412
413| 类型      | 说明                                       |
414| ------- | ---------------------------------------- |
415| boolean | 返回true,表示系统24小时开关开启;返回false,表示系统24小时开关关闭。 |
416
417**错误码:**
418
419以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
420
421| 错误码ID  | 错误信息                   |
422| ------ | ---------------------- |
423| 890001 | Unspported para value. |
424
425**示例:**
426  ```js
427  try {
428    let is24HourClock = I18n.System.is24HourClock();  // 系统24小时开关是否开启
429  } catch(error) {
430    console.error(`call System.is24HourClock failed, error code: ${error.code}, message: ${error.message}.`);
431  }
432  ```
433
434### set24HourClock<sup>9+</sup>
435
436static set24HourClock(option: boolean): void
437
438修改系统时间的24小时制设置。
439
440此接口为系统接口。
441
442**需要权限**:ohos.permission.UPDATE_CONFIGURATION
443
444**系统能力**:SystemCapability.Global.I18n
445
446**参数:**
447
448| 参数名    | 类型      | 必填   | 说明                                       |
449| ------ | ------- | ---- | ---------------------------------------- |
450| option | boolean | 是    | option为true,表示开启系统24小时制开关;返回false,表示关闭系统24小时开关。 |
451
452**错误码:**
453
454以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
455
456| 错误码ID  | 错误信息                   |
457| ------ | ---------------------- |
458| 890001 | Unspported para value. |
459
460**示例:**
461  ```js
462  // 将系统时间设置为24小时制
463  try {
464    I18n.System.set24HourClock(true);
465  } catch(error) {
466    console.error(`call System.set24HourClock failed, error code: ${error.code}, message: ${error.message}.`);
467  }
468  ```
469
470### addPreferredLanguage<sup>9+</sup>
471
472static addPreferredLanguage(language: string, index?: number): void
473
474在系统偏好语言列表中的指定位置添加偏好语言。
475
476此接口为系统接口。
477
478**需要权限**:ohos.permission.UPDATE_CONFIGURATION
479
480**系统能力**:SystemCapability.Global.I18n
481
482**参数:**
483
484| 参数名      | 类型     | 必填   | 说明         |
485| -------- | ------ | ---- | ---------- |
486| language | string | 是    | 待添加的偏好语言。  |
487| index    | number | 否    | 偏好语言的添加位置。 |
488
489**错误码:**
490
491以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
492
493| 错误码ID  | 错误信息                   |
494| ------ | ---------------------- |
495| 890001 | Unspported para value. |
496
497**示例:**
498  ```js
499  // 将语言zh-CN添加到系统偏好语言列表中
500  let language = 'zh-CN';
501  let index = 0;
502  try {
503    I18n.System.addPreferredLanguage(language, index); // 将zh-CN添加到系统偏好语言列表的第1位
504  } catch(error) {
505    console.error(`call System.addPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`);
506  }
507  ```
508
509### removePreferredLanguage<sup>9+</sup>
510
511static removePreferredLanguage(index: number): void
512
513删除系统偏好语言列表中指定位置的偏好语言。
514
515此接口为系统接口。
516
517**需要权限**:ohos.permission.UPDATE_CONFIGURATION
518
519**系统能力**:SystemCapability.Global.I18n
520
521**参数:**
522
523| 参数名   | 类型     | 必填   | 说明                    |
524| ----- | ------ | ---- | --------------------- |
525| index | number | 是    | 待删除偏好语言在系统偏好语言列表中的位置。 |
526
527**错误码:**
528
529以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
530
531| 错误码ID  | 错误信息                   |
532| ------ | ---------------------- |
533| 890001 | Unspported para value. |
534
535**示例:**
536  ```js
537  // 删除系统偏好语言列表中的第一个偏好语言
538  let index = 0;
539  try {
540    I18n.System.removePreferredLanguage(index);
541  } catch(error) {
542    console.error(`call System.removePreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`);
543  }
544  ```
545
546### getPreferredLanguageList<sup>9+</sup>
547
548static getPreferredLanguageList(): Array&lt;string&gt;
549
550获取系统偏好语言列表。
551
552**系统能力**:SystemCapability.Global.I18n
553
554**返回值:**
555
556| 类型                  | 说明        |
557| ------------------- | --------- |
558| Array&lt;string&gt; | 系统偏好语言列表。 |
559
560**错误码:**
561
562以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
563
564| 错误码ID  | 错误信息                   |
565| ------ | ---------------------- |
566| 890001 | Unspported para value. |
567
568**示例:**
569  ```js
570  try {
571    let preferredLanguageList = I18n.System.getPreferredLanguageList(); // 获取系统当前偏好语言列表
572  } catch(error) {
573    console.error(`call System.getPreferredLanguageList failed, error code: ${error.code}, message: ${error.message}.`);
574  }
575  ```
576
577### getFirstPreferredLanguage<sup>9+</sup>
578
579static getFirstPreferredLanguage(): string
580
581获取偏好语言列表中的第一个偏好语言。
582
583**系统能力**:SystemCapability.Global.I18n
584
585**返回值:**
586
587| 类型     | 说明             |
588| ------ | -------------- |
589| string | 偏好语言列表中的第一个语言。 |
590
591**错误码:**
592
593以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
594
595| 错误码ID  | 错误信息                   |
596| ------ | ---------------------- |
597| 890001 | Unspported para value. |
598
599**示例:**
600  ```js
601  try {
602    let firstPreferredLanguage = I18n.System.getFirstPreferredLanguage();  // 获取系统当前偏好语言列表中的第一个偏好语言
603  } catch(error) {
604    console.error(`call System.getFirstPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`);
605  }
606  ```
607
608### getAppPreferredLanguage<sup>9+</sup>
609
610static getAppPreferredLanguage(): string
611
612获取应用的偏好语言。
613
614**系统能力**:SystemCapability.Global.I18n
615
616**返回值:**
617
618| 类型     | 说明       |
619| ------ | -------- |
620| string | 应用的偏好语言。 |
621
622**错误码:**
623
624以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
625
626| 错误码ID  | 错误信息                   |
627| ------ | ---------------------- |
628| 890001 | Unspported para value. |
629
630**示例:**
631  ```js
632  try {
633    let appPreferredLanguage = I18n.System.getAppPreferredLanguage(); // 获取应用偏好语言
634  } catch(error) {
635    console.error(`call System.getAppPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`);
636  }
637  ```
638
639### setUsingLocalDigit<sup>9+</sup>
640
641static setUsingLocalDigit(flag: boolean): void
642
643设置系统是否使用本地数字。
644
645此接口为系统接口。
646
647**需要权限**:ohos.permission.UPDATE_CONFIGURATION
648
649**系统能力**:SystemCapability.Global.I18n
650
651**参数:**
652
653| 参数名  | 类型      | 必填   | 说明                              |
654| ---- | ------- | ---- | ------------------------------- |
655| flag | boolean | 是    | true表示打开本地数字开关,false表示关闭本地数字开关。 |
656
657**错误码:**
658
659以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
660
661| 错误码ID  | 错误信息                   |
662| ------ | ---------------------- |
663| 890001 | Unspported para value. |
664
665**示例:**
666  ```ts
667  try {
668    I18n.System.setUsingLocalDigit(true); // 打开本地化数字开关
669  } catch(error) {
670    console.error(`call System.setUsingLocalDigit failed, error code: ${error.code}, message: ${error.message}.`);
671  }
672  ```
673
674### getUsingLocalDigit<sup>9+</sup>
675
676static getUsingLocalDigit(): boolean
677
678判断系统是否使用本地数字。
679
680**系统能力**:SystemCapability.Global.I18n
681
682**返回值:**
683
684| 类型      | 说明                                       |
685| ------- | ---------------------------------------- |
686| boolean | true表示系统当前已打开本地数字开关,false表示系统当前未打开本地数字开关。 |
687
688**错误码:**
689
690以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。
691
692| 错误码ID  | 错误信息                   |
693| ------ | ---------------------- |
694| 890001 | Unspported para value. |
695
696**示例:**
697  ```ts
698  try {
699    let status = I18n.System.getUsingLocalDigit();  // 判断本地化数字开关是否打开
700  } catch(error) {
701    console.error(`call System.getUsingLocalDigit failed, error code: ${error.code}, message: ${error.message}.`);
702  }
703  ```
704
705
706## I18n.isRTL<sup>7+</sup>
707
708isRTL(locale: string): boolean
709
710获取是否为从右至左显示语言。
711
712**系统能力**:SystemCapability.Global.I18n
713
714**参数:**
715
716| 参数名    | 类型     | 必填   | 说明      |
717| ------ | ------ | ---- | ------- |
718| locale | string | 是    | 指定区域ID。 |
719
720**返回值:**
721
722| 类型      | 说明                                       |
723| ------- | ---------------------------------------- |
724| boolean | true表示该locale从右至左显示语言;false表示该locale从左至右显示语言。 |
725
726**示例:**
727  ```js
728  I18n.isRTL("zh-CN");// 中文不是RTL语言,返回false
729  I18n.isRTL("ar-EG");// 阿语是RTL语言,返回true
730  ```
731
732
733## I18n.getCalendar<sup>8+</sup>
734
735getCalendar(locale: string, type? : string): Calendar
736
737获取日历对象。
738
739**系统能力**:SystemCapability.Global.I18n
740
741**参数:**
742
743| 参数名    | 类型     | 必填   | 说明                                       |
744| ------ | ------ | ---- | ---------------------------------------- |
745| locale | string | 是    | 合法的locale值,例如zh-Hans-CN。                 |
746| type   | string | 否    | 合法的日历类型,目前合法的类型有buddhist,&nbsp;chinese,&nbsp;coptic,&nbsp;ethiopic,&nbsp;hebrew,&nbsp;gregory,&nbsp;indian,&nbsp;islamic_civil,&nbsp;islamic_tbla,&nbsp;islamic_umalqura,&nbsp;japanese,&nbsp;persian。当type没有给出时,采用区域默认的日历类型。 |
747
748**返回值:**
749
750| 类型                     | 说明    |
751| ---------------------- | ----- |
752| [Calendar](#calendar8) | 日历对象。 |
753
754**示例:**
755  ```js
756  I18n.getCalendar("zh-Hans", "chinese"); // 获取中国农历日历对象
757  ```
758
759
760## Calendar<sup>8+</sup>
761
762
763### setTime<sup>8+</sup>
764
765setTime(date: Date): void
766
767设置日历对象内部的时间日期。
768
769**系统能力**:SystemCapability.Global.I18n
770
771**参数:**
772
773| 参数名  | 类型   | 必填   | 说明                |
774| ---- | ---- | ---- | ----------------- |
775| date | Date | 是    | 将要设置的日历对象的内部时间日期。 |
776
777**示例:**
778  ```js
779  let calendar = I18n.getCalendar("en-US", "gregory");
780  let date = new Date(2021, 10, 7, 8, 0, 0, 0);
781  calendar.setTime(date);
782  ```
783
784
785### setTime<sup>8+</sup>
786
787setTime(time: number): void
788
789设置日历对象内部的时间日期, time为从1970.1.1 00:00:00 GMT逝去的毫秒数。
790
791**系统能力**:SystemCapability.Global.I18n
792
793**参数:**
794
795| 参数名  | 类型     | 必填   | 说明                                       |
796| ---- | ------ | ---- | ---------------------------------------- |
797| time | number | 是    | time为从1970.1.1&nbsp;00:00:00&nbsp;GMT逝去的毫秒数。 |
798
799**示例:**
800  ```js
801  let calendar = I18n.getCalendar("en-US", "gregory");
802  calendar.setTime(10540800000);
803  ```
804
805
806### set<sup>8+</sup>
807
808set(year: number, month: number, date:number, hour?: number, minute?: number, second?: number): void
809
810设置日历对象的年、月、日、时、分、秒。
811
812**系统能力**:SystemCapability.Global.I18n
813
814**参数:**
815
816| 参数名    | 类型     | 必填   | 说明     |
817| ------ | ------ | ---- | ------ |
818| year   | number | 是    | 设置的年。  |
819| month  | number | 是    | 设置的月。  |
820| date   | number | 是    | 设置的日。  |
821| hour   | number | 否    | 设置的小时。 |
822| minute | number | 否    | 设置的分钟。 |
823| second | number | 否    | 设置的秒。  |
824
825**示例:**
826  ```js
827  let calendar = I18n.getCalendar("zh-Hans");
828  calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00
829  ```
830
831
832### setTimeZone<sup>8+</sup>
833
834setTimeZone(timezone: string): void
835
836设置日历对象的时区。
837
838**系统能力**:SystemCapability.Global.I18n
839
840**参数:**
841
842| 参数名      | 类型     | 必填   | 说明                        |
843| -------- | ------ | ---- | ------------------------- |
844| timezone | string | 是    | 设置的时区id,如“Asia/Shanghai”。 |
845
846**示例:**
847  ```js
848  let calendar = I18n.getCalendar("zh-Hans");
849  calendar.setTimeZone("Asia/Shanghai");
850  ```
851
852
853### getTimeZone<sup>8+</sup>
854
855getTimeZone(): string
856
857获取日历对象的时区。
858
859**系统能力**:SystemCapability.Global.I18n
860
861**返回值:**
862
863| 类型     | 说明         |
864| ------ | ---------- |
865| string | 日历对象的时区id。 |
866
867**示例:**
868  ```js
869  let calendar = I18n.getCalendar("zh-Hans");
870  calendar.setTimeZone("Asia/Shanghai");
871  let timezone = calendar.getTimeZone(); // timezone = "Asia/Shanghai"
872  ```
873
874
875### getFirstDayOfWeek<sup>8+</sup>
876
877getFirstDayOfWeek(): number
878
879获取日历对象的一周起始日。
880
881**系统能力**:SystemCapability.Global.I18n
882
883**返回值:**
884
885| 类型     | 说明                    |
886| ------ | --------------------- |
887| number | 获取一周的起始日,1代表周日,7代表周六。 |
888
889**示例:**
890  ```js
891  let calendar = I18n.getCalendar("en-US", "gregory");
892  let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 1
893  ```
894
895
896### setFirstDayOfWeek<sup>8+</sup>
897
898setFirstDayOfWeek(value: number): void
899
900设置每一周的起始日。
901
902**系统能力**:SystemCapability.Global.I18n
903
904**参数:**
905
906| 参数名   | 类型     | 必填   | 说明                    |
907| ----- | ------ | ---- | --------------------- |
908| value | number | 是    | 设置一周的起始日,1代表周日,7代表周六。 |
909
910**示例:**
911  ```js
912  let calendar = I18n.getCalendar("zh-Hans");
913  calendar.setFirstDayOfWeek(3);
914  let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 3
915  ```
916
917
918### getMinimalDaysInFirstWeek<sup>8+</sup>
919
920getMinimalDaysInFirstWeek(): number
921
922获取一年中第一周的最小天数。
923
924**系统能力**:SystemCapability.Global.I18n
925
926**返回值:**
927
928| 类型     | 说明           |
929| ------ | ------------ |
930| number | 一年中第一周的最小天数。 |
931
932**示例:**
933  ```js
934  let calendar = I18n.getCalendar("zh-Hans");
935  let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 1
936  ```
937
938
939### setMinimalDaysInFirstWeek<sup>8+</sup>
940
941setMinimalDaysInFirstWeek(value: number): void
942
943设置一年中第一周的最小天数。
944
945**系统能力**:SystemCapability.Global.I18n
946
947**参数:**
948
949| 参数名   | 类型     | 必填   | 说明           |
950| ----- | ------ | ---- | ------------ |
951| value | number | 是    | 一年中第一周的最小天数。 |
952
953**示例:**
954  ```js
955  let calendar = I18n.getCalendar("zh-Hans");
956  calendar.setMinimalDaysInFirstWeek(3);
957  let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 3
958  ```
959
960
961### get<sup>8+</sup>
962
963get(field: string): number
964
965获取日历对象中与field相关联的值。
966
967**系统能力**:SystemCapability.Global.I18n
968
969**参数:**
970
971| 参数名   | 类型     | 必填   | 说明                                       |
972| ----- | ------ | ---- | ---------------------------------------- |
973| field | string | 是    | 通过field来获取日历对象相应的值。目前支持的field值有&nbsp;era,&nbsp;year,&nbsp;month,&nbsp;week_of_year,&nbsp;week_of_month,&nbsp;date,&nbsp;day_of_year,&nbsp;day_of_week,&nbsp;day_of_week_in_month,&nbsp;hour,&nbsp;hour_of_day,&nbsp;minute,&nbsp;second,&nbsp;millisecond,&nbsp;zone_offset,&nbsp;dst_offset,&nbsp;year_woy,&nbsp;dow_local,&nbsp;extended_year,&nbsp;julian_day,&nbsp;milliseconds_in_day,&nbsp;is_leap_month。 |
974
975**返回值:**
976
977| 类型     | 说明                                       |
978| ------ | ---------------------------------------- |
979| number | 与field相关联的值,如当前Calendar对象的内部日期的年份为1990,get("year")返回1990。 |
980
981**示例:**
982  ```js
983  let calendar = I18n.getCalendar("zh-Hans");
984  calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00
985  let hourOfDay = calendar.get("hour_of_day"); // hourOfDay = 8
986  ```
987
988
989### getDisplayName<sup>8+</sup>
990
991getDisplayName(locale: string): string
992
993获取日历对象在locale所指定的区域的名字。
994
995**系统能力**:SystemCapability.Global.I18n
996
997**参数:**
998
999| 参数名    | 类型     | 必填   | 说明                                       |
1000| ------ | ------ | ---- | ---------------------------------------- |
1001| locale | string | 是    | locale指定获取哪个区域下该calendar的名字,如buddhist在en-US上显示的名称为“Buddhist&nbsp;Calendar”。 |
1002
1003**返回值:**
1004
1005| 类型     | 说明                  |
1006| ------ | ------------------- |
1007| string | 日历在locale所指示的区域的名字。 |
1008
1009**示例:**
1010  ```js
1011  let calendar = I18n.getCalendar("en-US", "buddhist");
1012  let calendarName = calendar.getDisplayName("zh"); // calendarName = "佛历"
1013  ```
1014
1015
1016### isWeekend<sup>8+</sup>
1017
1018isWeekend(date?: Date): boolean
1019
1020判断给定的日期是否在日历中是周末。
1021
1022**系统能力**:SystemCapability.Global.I18n
1023
1024**参数:**
1025
1026| 参数名  | 类型   | 必填   | 说明                                       |
1027| ---- | ---- | ---- | ---------------------------------------- |
1028| date | Date | 否    | 判断日期在日历中是否是周末。如果不传日期参数,则判断当前日期是否为周末。 |
1029
1030**返回值:**
1031
1032| 类型      | 说明                                  |
1033| ------- | ----------------------------------- |
1034| boolean | 当所判断的日期为周末时,返回&nbsp;true,否则返回false。 |
1035
1036**示例:**
1037  ```js
1038  let calendar = I18n.getCalendar("zh-Hans");
1039  calendar.set(2021, 11, 11, 8, 0, 0); // set time to 2021.11.11 08:00:00
1040  calendar.isWeekend(); // false
1041  let date = new Date(2011, 11, 6, 9, 0, 0);
1042  calendar.isWeekend(date); // true
1043  ```
1044
1045
1046## PhoneNumberFormat<sup>8+</sup>
1047
1048
1049### constructor<sup>8+</sup>
1050
1051constructor(country: string, options?: PhoneNumberFormatOptions)
1052
1053创建电话号码格式化对象。
1054
1055**系统能力**:SystemCapability.Global.I18n
1056
1057**参数:**
1058
1059| 参数名     | 类型                                       | 必填   | 说明               |
1060| ------- | ---------------------------------------- | ---- | ---------------- |
1061| country | string                                   | 是    | 表示电话号码所属国家或地区代码。 |
1062| options | [PhoneNumberFormatOptions](#phonenumberformatoptions9) | 否    | 电话号码格式化对象的相关选项。  |
1063
1064**示例:**
1065  ```js
1066  let phoneNumberFormat= new I18n.PhoneNumberFormat("CN", {"type": "E164"});
1067  ```
1068
1069
1070### isValidNumber<sup>8+</sup>
1071
1072isValidNumber(number: string): boolean
1073
1074判断传入的电话号码格式是否正确。
1075
1076**系统能力**:SystemCapability.Global.I18n
1077
1078**参数:**
1079
1080| 参数名    | 类型     | 必填   | 说明        |
1081| ------ | ------ | ---- | --------- |
1082| number | string | 是    | 待判断的电话号码。 |
1083
1084**返回值:**
1085
1086| 类型      | 说明                                    |
1087| ------- | ------------------------------------- |
1088| boolean | 返回true表示电话号码的格式正确,返回false表示电话号码的格式错误。 |
1089
1090**示例:**
1091  ```js
1092  let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
1093  let isValidNumber = phonenumberfmt.isValidNumber("15812312312"); // isValidNumber = true
1094  ```
1095
1096
1097### format<sup>8+</sup>
1098
1099format(number: string): string
1100
1101对电话号码进行格式化。
1102
1103**系统能力**:SystemCapability.Global.I18n
1104
1105**参数:**
1106
1107| 参数名    | 类型     | 必填   | 说明         |
1108| ------ | ------ | ---- | ---------- |
1109| number | string | 是    | 待格式化的电话号码。 |
1110
1111**返回值:**
1112
1113| 类型     | 说明         |
1114| ------ | ---------- |
1115| string | 格式化后的电话号码。 |
1116
1117**示例:**
1118  ```js
1119  let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
1120  let formattedPhoneNumber = phonenumberfmt.format("15812312312"); // formattedPhoneNumber = "158 1231 2312"
1121  ```
1122
1123
1124### getLocationName<sup>9+</sup>
1125
1126getLocationName(number: string, locale: string): string
1127
1128获取电话号码归属地。
1129
1130**系统能力**:SystemCapability.Global.I18n
1131
1132**参数:**
1133
1134| 参数名    | 类型     | 必填   | 说明   |
1135| ------ | ------ | ---- | ---- |
1136| number | string | 是    | 电话号码 |
1137| locale | string | 是    | 区域ID |
1138
1139**返回值:**
1140
1141| 类型     | 说明       |
1142| ------ | -------- |
1143| string | 电话号码归属地。 |
1144
1145**示例:**
1146  ```js
1147  let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
1148  let locationName = phonenumberfmt.getLocationName("15812312345", "zh-CN"); // locationName = "广东省湛江市"
1149  ```
1150
1151
1152## PhoneNumberFormatOptions<sup>9+</sup>
1153
1154表示电话号码格式化对象可设置的属性。
1155
1156**系统能力**:SystemCapability.Global.I18n
1157
1158| 名称   | 类型     | 可读   | 可写   | 说明                                       |
1159| ---- | ------ | ---- | ---- | ---------------------------------------- |
1160| type | string | 是    | 是    | 表示对电话号码格式化的类型,取值范围:"E164",&nbsp;"INTERNATIONAL",&nbsp;"NATIONAL",&nbsp;"RFC3966"。 |
1161
1162
1163## UnitInfo<sup>8+</sup>
1164
1165度量衡单位信息。
1166
1167**系统能力**:SystemCapability.Global.I18n
1168
1169| 名称            | 类型     | 可读   | 可写   | 说明                                       |
1170| ------------- | ------ | ---- | ---- | ---------------------------------------- |
1171| unit          | string | 是    | 是    | 单位的名称,如:"meter",&nbsp;"inch",&nbsp;"cup"等。 |
1172| measureSystem | string | 是    | 是    | 单位的度量体系,取值包括:"SI",&nbsp;"US",&nbsp;"UK"。 |
1173
1174
1175## getInstance<sup>8+</sup>
1176
1177getInstance(locale?:string): IndexUtil
1178
1179创建并返回IndexUtil对象。
1180
1181**系统能力**:SystemCapability.Global.I18n
1182
1183**参数:**
1184
1185| 参数名    | 类型     | 必填   | 说明                           |
1186| ------ | ------ | ---- | ---------------------------- |
1187| locale | string | 否    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 |
1188
1189**返回值:**
1190
1191| 类型                       | 说明                    |
1192| ------------------------ | --------------------- |
1193| [IndexUtil](#indexutil8) | locale对应的IndexUtil对象。 |
1194
1195**示例:**
1196  ```js
1197  let indexUtil = I18n.getInstance("zh-CN");
1198  ```
1199
1200
1201## IndexUtil<sup>8+</sup>
1202
1203
1204### getIndexList<sup>8+</sup>
1205
1206getIndexList(): Array&lt;string&gt;
1207
1208获取当前locale对应的索引列表。
1209
1210**系统能力**:SystemCapability.Global.I18n
1211
1212**返回值:**
1213
1214| 类型                  | 说明                 |
1215| ------------------- | ------------------ |
1216| Array&lt;string&gt; | 返回当前locale对应的索引列表。 |
1217
1218**示例:**
1219  ```js
1220  let indexUtil = I18n.getInstance("zh-CN");
1221  // indexList = [ "...", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
1222  //              "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "..." ]
1223  let indexList = indexUtil.getIndexList();
1224  ```
1225
1226
1227### addLocale<sup>8+</sup>
1228
1229addLocale(locale: string): void
1230
1231将新的locale对应的索引加入当前索引列表。
1232
1233**系统能力**:SystemCapability.Global.I18n
1234
1235**参数:**
1236
1237| 参数名    | 类型     | 必填   | 说明                           |
1238| ------ | ------ | ---- | ---------------------------- |
1239| locale | string | 是    | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 |
1240
1241**示例:**
1242  ```js
1243  let indexUtil = I18n.getInstance("zh-CN");
1244  indexUtil.addLocale("en-US");
1245  ```
1246
1247
1248### getIndex<sup>8+</sup>
1249
1250getIndex(text: string): string
1251
1252获取text对应的索引。
1253
1254**系统能力**:SystemCapability.Global.I18n
1255
1256**参数:**
1257
1258| 参数名  | 类型     | 必填   | 说明           |
1259| ---- | ------ | ---- | ------------ |
1260| text | string | 是    | 待计算索引值的输入文本。 |
1261
1262**返回值:**
1263
1264| 类型     | 说明          |
1265| ------ | ----------- |
1266| string | 输入文本对应的索引值。 |
1267
1268**示例:**
1269  ```js
1270  let indexUtil = I18n.getInstance("zh-CN");
1271  let index = indexUtil.getIndex("hi");  // index = "H"
1272  ```
1273
1274
1275## I18n.getLineInstance<sup>8+</sup>
1276
1277getLineInstance(locale: string): BreakIterator
1278
1279获取一个用于断句的[BreakIterator](#breakiterator8)对象。
1280
1281**系统能力**:SystemCapability.Global.I18n
1282
1283**参数:**
1284
1285| 参数名    | 类型     | 必填   | 说明                                       |
1286| ------ | ------ | ---- | ---------------------------------------- |
1287| locale | string | 是    | 合法的locale值,例如zh-Hans-CN。生成的[BreakIterator](#breakiterator8)将按照locale所指定的区域的规则来进行断句。 |
1288
1289**返回值:**
1290
1291| 类型                               | 说明          |
1292| -------------------------------- | ----------- |
1293| [BreakIterator](#breakiterator8) | 用于进行断句的处理器。 |
1294
1295**示例:**
1296  ```js
1297  let iterator = I18n.getLineInstance("en");
1298  ```
1299
1300
1301## BreakIterator<sup>8+</sup>
1302
1303
1304### setLineBreakText<sup>8+</sup>
1305
1306setLineBreakText(text: string): void
1307
1308设置[BreakIterator](#breakiterator8)要处理的文本。
1309
1310**系统能力**:SystemCapability.Global.I18n
1311
1312**参数:**
1313
1314| 参数名  | 类型     | 必填   | 说明                      |
1315| ---- | ------ | ---- | ----------------------- |
1316| text | string | 是    | 指定BreakIterator进行断句的文本。 |
1317
1318**示例:**
1319  ```js
1320  let iterator = I18n.getLineInstance("en");
1321  iterator.setLineBreakText("Apple is my favorite fruit."); // 设置短句文本
1322  ```
1323
1324
1325### getLineBreakText<sup>8+</sup>
1326
1327getLineBreakText(): string
1328
1329获取[BreakIterator](#breakiterator8)当前处理的文本。
1330
1331**系统能力**:SystemCapability.Global.I18n
1332
1333**返回值:**
1334
1335| 类型     | 说明                     |
1336| ------ | ---------------------- |
1337| string | BreakIterator对象正在处理的文本 |
1338
1339**示例:**
1340  ```js
1341  let iterator = I18n.getLineInstance("en");
1342  iterator.setLineBreakText("Apple is my favorite fruit.");
1343  let breakText = iterator.getLineBreakText(); // breakText = "Apple is my favorite fruit."
1344  ```
1345
1346
1347### current<sup>8+</sup>
1348
1349current(): number
1350
1351获取[BreakIterator](#breakiterator8)对象在当前处理的文本中的位置。
1352
1353**系统能力**:SystemCapability.Global.I18n
1354
1355**返回值:**
1356
1357| 类型     | 说明                          |
1358| ------ | --------------------------- |
1359| number | BreakIterator在当前所处理的文本中的位置。 |
1360
1361**示例:**
1362  ```js
1363  let iterator = I18n.getLineInstance("en");
1364  iterator.setLineBreakText("Apple is my favorite fruit.");
1365  let currentPos = iterator.current(); // currentPos = 0
1366  ```
1367
1368
1369### first<sup>8+</sup>
1370
1371first(): number
1372
1373将[BreakIterator](#breakiterator8)对象设置到第一个可断句的分割点。第一个分割点总是被处理的文本的起始位置。
1374
1375**系统能力**:SystemCapability.Global.I18n
1376
1377**返回值:**
1378
1379| 类型     | 说明                |
1380| ------ | ----------------- |
1381| number | 被处理文本的第一个分割点的偏移量。 |
1382
1383**示例:**
1384  ```js
1385  let iterator = I18n.getLineInstance("en");
1386  iterator.setLineBreakText("Apple is my favorite fruit.");
1387  let firstPos = iterator.first(); // firstPos = 0
1388  ```
1389
1390
1391### last<sup>8+</sup>
1392
1393last(): number
1394
1395将[BreakIterator](#breakiterator8)对象的位置设置到最后一个可断句的分割点。最后一个分割点总是被处理文本末尾的下一个位置。
1396
1397**系统能力**:SystemCapability.Global.I18n
1398
1399**返回值:**
1400
1401| 类型     | 说明                 |
1402| ------ | ------------------ |
1403| number | 被处理的文本的最后一个分割点的偏移量 |
1404
1405**示例:**
1406  ```js
1407  let iterator = I18n.getLineInstance("en");
1408  iterator.setLineBreakText("Apple is my favorite fruit.");
1409  let lastPos = iterator.last(); // lastPos = 27
1410  ```
1411
1412
1413### next<sup>8+</sup>
1414
1415next(index?: number): number
1416
1417如果index给出,并且index是一个正数将[BreakIterator](#breakiterator8)向后移动number个可断句的分割点,如果n是一个负数,向前移动相应个分割点。若index没有给出,则相当于index = 1。
1418
1419**系统能力**:SystemCapability.Global.I18n
1420
1421**参数:**
1422
1423| 参数名   | 类型     | 必填   | 说明                                       |
1424| ----- | ------ | ---- | ---------------------------------------- |
1425| index | number | 否    | [BreakIterator](#breakiterator8)将要移动的分割点数,正数代表向后移动,负数代表向前移动。若index没有给出,则按照index=1处理。 |
1426
1427**返回值:**
1428
1429| 类型     | 说明                                       |
1430| ------ | ---------------------------------------- |
1431| number | 返回移动了index个分割点后,当前[BreakIterator](#breakiterator8)在文本中的位置。若移动index个分割点后超出了所处理的文本的长度范围,返回-1。 |
1432
1433**示例:**
1434  ```js
1435  let iterator = I18n.getLineInstance("en");
1436  iterator.setLineBreakText("Apple is my favorite fruit.");
1437  let pos = iterator.first(); // pos = 0
1438  pos = iterator.next(); // pos = 6
1439  pos = iterator.next(10); // pos = -1
1440  ```
1441
1442
1443### previous<sup>8+</sup>
1444
1445previous(): number
1446
1447将[BreakIterator](#breakiterator8)移动到前一个分割点处。
1448
1449**系统能力**:SystemCapability.Global.I18n
1450
1451**返回值:**
1452
1453| 类型     | 说明                                       |
1454| ------ | ---------------------------------------- |
1455| number | 返回移动到前一个分割点后,当前[BreakIterator](#breakiterator8)在文本中的位置。若移动index个分割点后超出了所处理的文本的长度范围,返回-1。 |
1456
1457**示例:**
1458  ```js
1459  let iterator = I18n.getLineInstance("en");
1460  iterator.setLineBreakText("Apple is my favorite fruit.");
1461  let pos = iterator.first(); // pos = 0
1462  pos = iterator.next(3); // pos = 12
1463  pos = iterator.previous(); // pos = 9
1464  ```
1465
1466
1467### following<sup>8+</sup>
1468
1469following(offset: number): number
1470
1471将[BreakIterator](#breakiterator8)设置到由offset指定的位置的后面一个分割点。返回移动后[BreakIterator](#breakiterator8)的位置。
1472
1473**系统能力**:SystemCapability.Global.I18n
1474
1475**参数:**
1476
1477| 参数名    | 类型     | 必填   | 说明                                       |
1478| ------ | ------ | ---- | ---------------------------------------- |
1479| offset | number | 是    | 将[BreakIterator](#breakiterator8)对象的位置设置到由offset所指定的位置的下一个分割点。 |
1480
1481**返回值:**
1482
1483| 类型     | 说明                                       |
1484| ------ | ---------------------------------------- |
1485| number | 返回[BreakIterator](#breakiterator8)移动后的位置,如果由offset所指定的位置的下一个分割点超出了文本的范围则返回-1。 |
1486
1487**示例:**
1488  ```js
1489  let iterator = I18n.getLineInstance("en");
1490  iterator.setLineBreakText("Apple is my favorite fruit.");
1491  let pos = iterator.following(0); // pos = 6
1492  pos = iterator.following(100); // pos = -1
1493  pos = iterator.current(); // pos = 27
1494  ```
1495
1496
1497### isBoundary<sup>8+</sup>
1498
1499isBoundary(offset: number): boolean
1500
1501如果offset所指定的文本位置是一个分割点,那么返回true,否则返回false。如果返回true, 将[BreakIterator](#breakiterator8)对象设置到offset所指定的位置, 否则相当于调用[following](#following8)(offset)。
1502
1503**系统能力**:SystemCapability.Global.I18n
1504
1505**参数:**
1506
1507| 参数名    | 类型     | 必填   | 说明          |
1508| ------ | ------ | ---- | ----------- |
1509| offset | number | 是    | 指定需要进行判断的位置 |
1510
1511**返回值:**
1512
1513| 类型      | 说明                              |
1514| ------- | ------------------------------- |
1515| boolean | 如果是一个分割点返回true,&nbsp;否则返回false。 |
1516
1517**示例:**
1518  ```js
1519  let iterator = I18n.getLineInstance("en");
1520  iterator.setLineBreakText("Apple is my favorite fruit.");
1521  let isBoundary = iterator.isBoundary(0); // isBoundary = true;
1522  isBoundary = iterator.isBoundary(5); // isBoundary = false;
1523  ```
1524
1525
1526## I18n.getTimeZone<sup>7+</sup>
1527
1528getTimeZone(zoneID?: string): TimeZone
1529
1530获取时区ID对应的时区对象。
1531
1532**系统能力**:SystemCapability.Global.I18n
1533
1534**参数:**
1535
1536| 参数名    | 类型     | 必填   | 说明    |
1537| ------ | ------ | ---- | ----- |
1538| zondID | string | 否    | 时区ID。 |
1539
1540**返回值:**
1541
1542| 类型       | 说明           |
1543| -------- | ------------ |
1544| TimeZone | 时区ID对应的时区对象。 |
1545
1546**示例:**
1547  ```js
1548  let timezone = I18n.getTimeZone();
1549  ```
1550
1551
1552## TimeZone
1553
1554
1555### getID
1556
1557getID(): string
1558
1559获取时区对象的ID。
1560
1561**系统能力**:SystemCapability.Global.I18n
1562
1563**返回值:**
1564
1565| 类型     | 说明           |
1566| ------ | ------------ |
1567| string | 时区对象对应的时区ID。 |
1568
1569**示例:**
1570  ```js
1571  let timezone = I18n.getTimeZone();
1572  let timezoneID = timezone.getID(); // timezoneID = "Asia/Shanghai"
1573  ```
1574
1575
1576### getDisplayName
1577
1578getDisplayName(locale?: string, isDST?: boolean): string
1579
1580获取时区的本地化表示。
1581
1582**系统能力**:SystemCapability.Global.I18n
1583
1584**参数:**
1585
1586| 参数名    | 类型      | 必填   | 说明                   |
1587| ------ | ------- | ---- | -------------------- |
1588| locale | string  | 否    | 区域ID。                |
1589| isDST  | boolean | 否    | 表示获取时区对象的表示时是否考虑夏令时。 |
1590
1591**返回值:**
1592
1593| 类型     | 说明            |
1594| ------ | ------------- |
1595| string | 时区对象在指定区域的表示。 |
1596
1597**示例:**
1598  ```js
1599  let timezone = I18n.getTimeZone();
1600  let timezoneName = timezone.getDisplayName("zh-CN", false); // timezoneName = "中国标准时间"
1601  ```
1602
1603
1604### getRawOffset
1605
1606getRawOffset(): number
1607
1608获取时区对象表示的时区与UTC时区的偏差。
1609
1610**系统能力**:SystemCapability.Global.I18n
1611
1612**返回值:**
1613
1614| 类型     | 说明                  |
1615| ------ | ------------------- |
1616| number | 时区对象表示的时区与UTC时区的偏差。 |
1617
1618**示例:**
1619  ```js
1620  let timezone = I18n.getTimeZone();
1621  let offset = timezone.getRawOffset(); // offset = 28800000
1622  ```
1623
1624
1625### getOffset
1626
1627getOffset(date?: number): number
1628
1629获取某一时刻时区对象表示的时区与UTC时区的偏差。
1630
1631**系统能力**:SystemCapability.Global.I18n
1632
1633**返回值:**
1634
1635| 类型     | 说明                      |
1636| ------ | ----------------------- |
1637| number | 某一时刻时区对象表示的时区与UTC时区的偏差。 |
1638
1639**示例:**
1640  ```js
1641  let timezone = I18n.getTimeZone();
1642  let offset = timezone.getOffset(1234567890); // offset = 28800000
1643  ```
1644
1645
1646### getAvailableIDs<sup>9+</sup>
1647
1648static getAvailableIDs(): Array&lt;string&gt;
1649
1650获取系统支持的时区ID。
1651
1652**系统能力**:SystemCapability.Global.I18n
1653
1654**返回值:**
1655
1656| 类型                  | 说明          |
1657| ------------------- | ----------- |
1658| Array&lt;string&gt; | 系统支持的时区ID列表 |
1659
1660**示例:**
1661  ```ts
1662  // 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个时区
1663  let ids = I18n.TimeZone.getAvailableIDs();
1664  ```
1665
1666
1667### getAvailableZoneCityIDs<sup>9+</sup>
1668
1669static getAvailableZoneCityIDs(): Array&lt;string&gt;
1670
1671获取系统支持的时区城市ID。
1672
1673**系统能力**:SystemCapability.Global.I18n
1674
1675**返回值:**
1676
1677| 类型                  | 说明            |
1678| ------------------- | ------------- |
1679| Array&lt;string&gt; | 系统支持的时区城市ID列表 |
1680
1681**示例:**
1682  ```ts
1683  // 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个时区城市
1684  let cityIDs = I18n.TimeZone.getAvailableZoneCityIDs();
1685  ```
1686
1687
1688### getCityDisplayName<sup>9+</sup>
1689
1690static getCityDisplayName(cityID: string, locale: string): string
1691
1692获取某时区城市在locale下的本地化显示。
1693
1694**系统能力**:SystemCapability.Global.I18n
1695
1696**参数:**
1697
1698| 参数名    | 类型     | 必填   | 说明     |
1699| ------ | ------ | ---- | ------ |
1700| cityID | string | 是    | 时区城市ID |
1701| locale | string | 是    | 区域ID   |
1702
1703**返回值:**
1704
1705| 类型     | 说明                 |
1706| ------ | ------------------ |
1707| string | 时区城市在locale下的本地化显示 |
1708
1709**示例:**
1710  ```ts
1711  let displayName = I18n.TimeZone.getCityDisplayName("Shanghai", "zh-CN"); // displayName = "上海(中国)"
1712  ```
1713
1714
1715### getTimezoneFromCity<sup>9+</sup>
1716
1717static getTimezoneFromCity(cityID: string): TimeZone
1718
1719创建某时区城市对应的时区对象。
1720
1721**系统能力**:SystemCapability.Global.I18n
1722
1723**参数:**
1724
1725| 参数名    | 类型     | 必填   | 说明     |
1726| ------ | ------ | ---- | ------ |
1727| cityID | string | 是    | 时区城市ID |
1728
1729**返回值:**
1730
1731| 类型       | 说明          |
1732| -------- | ----------- |
1733| TimeZone | 时区城市对应的时区对象 |
1734
1735**示例:**
1736  ```ts
1737  let timezone = I18n.TimeZone.getTimezoneFromCity("Shanghai");
1738  ```
1739
1740
1741## Transliterator<sup>9+</sup>
1742
1743
1744### getAvailableIDs<sup>9+</sup>
1745
1746static getAvailableIDs(): string[]
1747
1748获取音译支持的ID列表。
1749
1750**系统能力**:SystemCapability.Global.I18n
1751
1752**返回值:**
1753
1754| 类型       | 说明         |
1755| -------- | ---------- |
1756| string[] | 音译支持的ID列表。 |
1757
1758**示例:**
1759  ```ts
1760  // ids = ["ASCII-Latin", "Accents-Any", "Amharic-Latin/BGN", ...],共支持671个id
1761  // 每一个id由使用中划线分割的两部分组成,格式为 source-destination
1762  let ids = I18n.Transliterator.getAvailableIDs();
1763  ```
1764
1765
1766### getInstance<sup>9+</sup>
1767
1768static getInstance(id: string): Transliterator
1769
1770创建音译对象。
1771
1772**系统能力**:SystemCapability.Global.I18n
1773
1774**参数:**
1775
1776| 参数名  | 类型     | 必填   | 说明       |
1777| ---- | ------ | ---- | -------- |
1778| id   | string | 是    | 音译支持的ID。 |
1779
1780**返回值:**
1781
1782| 类型                                 | 说明    |
1783| ---------------------------------- | ----- |
1784| [Transliterator](#transliterator9) | 音译对象。 |
1785
1786**示例:**
1787  ```ts
1788  let transliterator = I18n.Transliterator.getInstance("Any-Latn");
1789  ```
1790
1791
1792### transform<sup>9+</sup>
1793
1794transform(text: string): string
1795
1796将输入字符串从源格式转换为目标格式。
1797
1798**系统能力**:SystemCapability.Global.I18n
1799
1800**参数:**
1801
1802| 参数名  | 类型     | 必填   | 说明     |
1803| ---- | ------ | ---- | ------ |
1804| text | string | 是    | 输入字符串。 |
1805
1806**返回值:**
1807
1808| 类型     | 说明       |
1809| ------ | -------- |
1810| string | 转换后的字符串。 |
1811
1812**示例:**
1813  ```ts
1814  let transliterator = I18n.Transliterator.getInstance("Any-Latn");
1815  let res = transliterator.transform("中国"); // res = "zhōng guó"
1816  ```
1817
1818
1819## Unicode<sup>9+</sup>
1820
1821
1822### isDigit<sup>9+</sup>
1823
1824static isDigit(char: string): boolean
1825
1826判断字符串char是否是数字。
1827
1828**系统能力**:SystemCapability.Global.I18n
1829
1830**参数:**
1831
1832| 参数名  | 类型     | 必填   | 说明    |
1833| ---- | ------ | ---- | ----- |
1834| char | string | 是    | 输入字符。 |
1835
1836**返回值:**
1837
1838| 类型      | 说明                                   |
1839| ------- | ------------------------------------ |
1840| boolean | 返回true表示输入的字符是数字,返回false表示输入的字符不是数字。 |
1841
1842**示例:**
1843  ```js
1844  let isdigit = I18n.Unicode.isDigit("1");  // isdigit = true
1845  ```
1846
1847
1848### isSpaceChar<sup>9+</sup>
1849
1850static isSpaceChar(char: string): boolean
1851
1852判断字符串char是否是空格符。
1853
1854**系统能力**:SystemCapability.Global.I18n
1855
1856**参数:**
1857
1858| 参数名  | 类型     | 必填   | 说明    |
1859| ---- | ------ | ---- | ----- |
1860| char | string | 是    | 输入字符。 |
1861
1862**返回值:**
1863
1864| 类型      | 说明                                     |
1865| ------- | -------------------------------------- |
1866| boolean | 返回true表示输入的字符是空格符,返回false表示输入的字符不是空格符。 |
1867
1868**示例:**
1869  ```js
1870  let isspacechar = I18n.Unicode.isSpaceChar("a");  // isspacechar = false
1871  ```
1872
1873
1874### isWhitespace<sup>9+</sup>
1875
1876static isWhitespace(char: string): boolean
1877
1878判断字符串char是否是空白符。
1879
1880**系统能力**:SystemCapability.Global.I18n
1881
1882**参数:**
1883
1884| 参数名  | 类型     | 必填   | 说明    |
1885| ---- | ------ | ---- | ----- |
1886| char | string | 是    | 输入字符。 |
1887
1888**返回值:**
1889
1890| 类型      | 说明                                     |
1891| ------- | -------------------------------------- |
1892| boolean | 返回true表示输入的字符是空白符,返回false表示输入的字符不是空白符。 |
1893
1894**示例:**
1895  ```js
1896  let iswhitespace = I18n.Unicode.isWhitespace("a");  // iswhitespace = false
1897  ```
1898
1899
1900### isRTL<sup>9+</sup>
1901
1902static isRTL(char: string): boolean
1903
1904判断字符串char是否是从右到左语言的字符。
1905
1906**系统能力**:SystemCapability.Global.I18n
1907
1908**参数:**
1909
1910| 参数名  | 类型     | 必填   | 说明    |
1911| ---- | ------ | ---- | ----- |
1912| char | string | 是    | 输入字符。 |
1913
1914**返回值:**
1915
1916| 类型      | 说明                                       |
1917| ------- | ---------------------------------------- |
1918| boolean | 返回true表示输入的字符是从右到左语言的字符,返回false表示输入的字符不是从右到左语言的字符。 |
1919
1920**示例:**
1921  ```js
1922  let isrtl = I18n.Unicode.isRTL("a");  // isrtl = false
1923  ```
1924
1925
1926### isIdeograph<sup>9+</sup>
1927
1928static isIdeograph(char: string): boolean
1929
1930判断字符串char是否是表意文字。
1931
1932**系统能力**:SystemCapability.Global.I18n
1933
1934**参数:**
1935
1936| 参数名  | 类型     | 必填   | 说明    |
1937| ---- | ------ | ---- | ----- |
1938| char | string | 是    | 输入字符。 |
1939
1940**返回值:**
1941
1942| 类型      | 说明                                       |
1943| ------- | ---------------------------------------- |
1944| boolean | 返回true表示输入的字符是表意文字,返回false表示输入的字符不是表意文字。 |
1945
1946**示例:**
1947  ```js
1948  let isideograph = I18n.Unicode.isIdeograph("a");  // isideograph = false
1949  ```
1950
1951
1952### isLetter<sup>9+</sup>
1953
1954static isLetter(char: string): boolean
1955
1956判断字符串char是否是字母。
1957
1958**系统能力**:SystemCapability.Global.I18n
1959
1960**参数:**
1961
1962| 参数名  | 类型     | 必填   | 说明    |
1963| ---- | ------ | ---- | ----- |
1964| char | string | 是    | 输入字符。 |
1965
1966**返回值:**
1967
1968| 类型      | 说明                                   |
1969| ------- | ------------------------------------ |
1970| boolean | 返回true表示输入的字符是字母,返回false表示输入的字符不是字母。 |
1971
1972**示例:**
1973  ```js
1974  let isletter = I18n.Unicode.isLetter("a");  // isletter = true
1975  ```
1976
1977
1978### isLowerCase<sup>9+</sup>
1979
1980static isLowerCase(char: string): boolean
1981
1982判断字符串char是否是小写字母。
1983
1984**系统能力**:SystemCapability.Global.I18n
1985
1986**参数:**
1987
1988| 参数名  | 类型     | 必填   | 说明    |
1989| ---- | ------ | ---- | ----- |
1990| char | string | 是    | 输入字符。 |
1991
1992**返回值:**
1993
1994| 类型      | 说明                                       |
1995| ------- | ---------------------------------------- |
1996| boolean | 返回true表示输入的字符是小写字母,返回false表示输入的字符不是小写字母。 |
1997
1998**示例:**
1999  ```js
2000  let islowercase = I18n.Unicode.isLowerCase("a");  // islowercase = true
2001  ```
2002
2003
2004### isUpperCase<sup>9+</sup>
2005
2006static isUpperCase(char: string): boolean
2007
2008判断字符串char是否是大写字母。
2009
2010**系统能力**:SystemCapability.Global.I18n
2011
2012**参数:**
2013
2014| 参数名  | 类型     | 必填   | 说明    |
2015| ---- | ------ | ---- | ----- |
2016| char | string | 是    | 输入字符。 |
2017
2018**返回值:**
2019
2020| 类型      | 说明                                       |
2021| ------- | ---------------------------------------- |
2022| boolean | 返回true表示输入的字符是大写字母,返回false表示输入的字符不是大写字母。 |
2023
2024**示例:**
2025  ```js
2026  let isuppercase = I18n.Unicode.isUpperCase("a");  // isuppercase = false
2027  ```
2028
2029
2030### getType<sup>9+</sup>
2031
2032static getType(char: string): string
2033
2034获取输入字符串的一般类别值。
2035
2036**系统能力**:SystemCapability.Global.I18n
2037
2038**参数:**
2039
2040| 参数名  | 类型     | 必填   | 说明    |
2041| ---- | ------ | ---- | ----- |
2042| char | string | 是    | 输入字符。 |
2043
2044**返回值:**
2045
2046| 类型     | 说明          |
2047| ------ | ----------- |
2048| string | 输入字符的一般类别值。 |
2049
2050**示例:**
2051  ```js
2052  let type = I18n.Unicode.getType("a"); // type = "U_LOWERCASE_LETTER"
2053  ```
2054
2055
2056## I18NUtil<sup>9+</sup>
2057
2058
2059### unitConvert<sup>9+</sup>
2060
2061static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string
2062
2063将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。
2064
2065**系统能力**:SystemCapability.Global.I18n
2066
2067**参数:**
2068
2069| 参数名      | 类型                     | 必填   | 说明                                       |
2070| -------- | ---------------------- | ---- | ---------------------------------------- |
2071| fromUnit | [UnitInfo](#unitinfo8) | 是    | 要被转换的单位。                                 |
2072| toUnit   | [UnitInfo](#unitinfo8) | 是    | 要转换为的单位。                                 |
2073| value    | number                 | 是    | 要被转换的单位的数量值。                             |
2074| locale   | string                 | 是    | 格式化时使用的区域参数,如:zh-Hans-CN。                |
2075| style    | string                 | 否    | 格式化使用的风格,取值包括:"long",&nbsp;"short",&nbsp;"narrow"。 |
2076
2077**返回值:**
2078
2079| 类型     | 说明                      |
2080| ------ | ----------------------- |
2081| string | 按照toUnit的单位格式化后,得到的字符串。 |
2082
2083**示例:**
2084  ```js
2085  let res = I18n.I18NUtil.unitConvert({unit: "cup", measureSystem: "US"}, {unit: "liter", measureSystem: "SI"}, 1000, "en-US", "long"); // res = 236.588 liters
2086  ```
2087
2088
2089### getDateOrder<sup>9+</sup>
2090
2091static getDateOrder(locale: string): string
2092
2093获取某一区域的日期的年、月、日排列顺序。
2094
2095**系统能力**:SystemCapability.Global.I18n
2096
2097**参数:**
2098
2099| 参数名    | 类型     | 必填   | 说明                        |
2100| ------ | ------ | ---- | ------------------------- |
2101| locale | string | 是    | 格式化时使用的区域参数,如:zh-Hans-CN。 |
2102
2103**返回值:**
2104
2105| 类型     | 说明                  |
2106| ------ | ------------------- |
2107| string | 返回某一区域的日期的年、月、日排列顺序 |
2108
2109**示例:**
2110  ```js
2111  let order = I18n.I18NUtil.getDateOrder("zh-CN");  // order = "y-L-d"
2112  ```
2113
2114
2115## I18n.getDisplayCountry<sup>(deprecated)</sup>
2116
2117getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string
2118
2119获取指定国家的本地化显示文本。
2120
2121从API version 9开始不再维护,建议使用[System.getDisplayCountry](#getdisplaycountry9)代替。
2122
2123**系统能力**:SystemCapability.Global.I18n
2124
2125**参数:**
2126
2127| 参数名          | 类型      | 必填   | 说明               |
2128| ------------ | ------- | ---- | ---------------- |
2129| country      | string  | 是    | 指定国家。            |
2130| locale       | string  | 是    | 显示指定国家的区域ID。     |
2131| sentenceCase | boolean | 否    | 本地化显示文本是否要首字母大写。 |
2132
2133**返回值:**
2134
2135| 类型     | 说明            |
2136| ------ | ------------- |
2137| string | 指定国家的本地化显示文本。 |
2138
2139**示例:**
2140  ```js
2141  let countryName = I18n.getDisplayCountry("zh-CN", "en-GB", true); // countryName = true
2142  countryName = I18n.getDisplayCountry("zh-CN", "en-GB"); // countryName = true
2143  ```
2144
2145
2146## I18n.getDisplayLanguage<sup>(deprecated)</sup>
2147
2148getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string
2149
2150获取指定语言的本地化显示文本。
2151
2152从API version 9开始不再维护,建议使用[System.getDisplayLanguage](#getdisplaylanguage9)代替。
2153
2154**系统能力**:SystemCapability.Global.I18n
2155
2156**参数:**
2157
2158| 参数名          | 类型      | 必填   | 说明               |
2159| ------------ | ------- | ---- | ---------------- |
2160| language     | string  | 是    | 指定语言。            |
2161| locale       | string  | 是    | 显示指定语言的区域ID。     |
2162| sentenceCase | boolean | 否    | 本地化显示文本是否要首字母大写。 |
2163
2164**返回值:**
2165
2166| 类型     | 说明            |
2167| ------ | ------------- |
2168| string | 指定语言的本地化显示文本。 |
2169
2170**示例:**
2171  ```js
2172  let languageName = I18n.getDisplayLanguage("zh", "en-GB", true); // languageName = "Chinese"
2173  languageName = I18n.getDisplayLanguage("zh", "en-GB"); // languageName = "Chinese"
2174  ```
2175
2176
2177## I18n.getSystemLanguage<sup>(deprecated)</sup>
2178
2179getSystemLanguage(): string
2180
2181获取系统语言。
2182
2183从API version 9开始不再维护,建议使用[System.getSystemLanguage](#getsystemlanguage9)代替。
2184
2185**系统能力**:SystemCapability.Global.I18n
2186
2187**返回值:**
2188
2189| 类型     | 说明      |
2190| ------ | ------- |
2191| string | 系统语言ID。 |
2192
2193**示例:**
2194  ```js
2195  let systemLanguage = I18n.getSystemLanguage(); // 返回当前系统语言
2196  ```
2197
2198
2199## I18n.getSystemRegion<sup>(deprecated)</sup>
2200
2201getSystemRegion(): string
2202
2203获取系统地区。
2204
2205从API version 9开始不再维护,建议使用[System.getSystemRegion](#getsystemregion9)代替。
2206
2207**系统能力**:SystemCapability.Global.I18n
2208
2209**返回值:**
2210
2211| 类型     | 说明      |
2212| ------ | ------- |
2213| string | 系统地区ID。 |
2214
2215**示例:**
2216  ```js
2217  let region = I18n.getSystemRegion(); // 返回当前系统地区
2218  ```
2219
2220
2221## I18n.getSystemLocale<sup>(deprecated)</sup>
2222
2223getSystemLocale(): string
2224
2225获取系统区域。
2226
2227从API version 9开始不再维护,建议使用[System.getSystemLocale](#getsystemlocale9)代替。
2228
2229**系统能力**:SystemCapability.Global.I18n
2230
2231**返回值:**
2232
2233| 类型     | 说明      |
2234| ------ | ------- |
2235| string | 系统区域ID。 |
2236
2237**示例:**
2238  ```js
2239  let locale = I18n.getSystemLocale(); // 返回系统Locale
2240  ```
2241
2242
2243## I18n.is24HourClock<sup>(deprecated)</sup>
2244
2245is24HourClock(): boolean
2246
2247判断系统时间是否为24小时制。
2248
2249从API version 9开始不再维护,建议使用[System.is24HourClock](#is24hourclock9)代替。
2250
2251**系统能力**:SystemCapability.Global.I18n
2252
2253**返回值:**
2254
2255| 类型      | 说明                                       |
2256| ------- | ---------------------------------------- |
2257| boolean | 返回true,表示系统24小时开关开启;返回false,表示系统24小时开关关闭。 |
2258
2259**示例:**
2260  ```js
2261  let is24HourClock = I18n.is24HourClock();
2262  ```
2263
2264
2265## I18n.set24HourClock<sup>(deprecated)</sup>
2266
2267set24HourClock(option: boolean): boolean
2268
2269修改系统时间的24小时制设置。
2270
2271从API version 9开始不再维护,建议使用[System.set24HourClock](#set24hourclock9)代替。
2272
2273**需要权限**:ohos.permission.UPDATE_CONFIGURATION
2274
2275**系统能力**:SystemCapability.Global.I18n
2276
2277**参数:**
2278
2279| 参数名    | 类型      | 必填   | 说明                                       |
2280| ------ | ------- | ---- | ---------------------------------------- |
2281| option | boolean | 是    | option为true,表示开启系统24小时制开关;返回false,表示关闭系统24小时开关。 |
2282
2283**返回值:**
2284
2285| 类型      | 说明                            |
2286| ------- | ----------------------------- |
2287| boolean | 返回true,表示修改成功;返回false,表示修改失败。 |
2288
2289**示例:**
2290  ```js
2291  // 将系统时间设置为24小时制
2292  let success = I18n.set24HourClock(true);
2293  ```
2294
2295
2296## I18n.addPreferredLanguage<sup>(deprecated)</sup>
2297
2298addPreferredLanguage(language: string, index?: number): boolean
2299
2300在系统偏好语言列表中的指定位置添加偏好语言。
2301
2302从API version 8开始支持,从API version 9开始不再维护,建议使用[System.addPreferredLanguage](#addpreferredlanguage9)代替。
2303
2304**需要权限**:ohos.permission.UPDATE_CONFIGURATION
2305
2306**系统能力**:SystemCapability.Global.I18n
2307
2308**参数:**
2309
2310| 参数名      | 类型     | 必填   | 说明         |
2311| -------- | ------ | ---- | ---------- |
2312| language | string | 是    | 待添加的偏好语言。  |
2313| index    | number | 否    | 偏好语言的添加位置。 |
2314
2315**返回值:**
2316
2317| 类型      | 说明                            |
2318| ------- | ----------------------------- |
2319| boolean | 返回true,表示添加成功;返回false,表示添加失败。 |
2320
2321**示例:**
2322  ```js
2323  // 将语言zh-CN添加到系统偏好语言列表中
2324  let language = 'zh-CN';
2325  let index = 0;
2326  let success = I18n.addPreferredLanguage(language, index);
2327  ```
2328
2329
2330## I18n.removePreferredLanguage<sup>(deprecated)</sup>
2331
2332removePreferredLanguage(index: number): boolean
2333
2334删除系统偏好语言列表中指定位置的偏好语言。
2335
2336从API version 8开始支持,从API version 9开始不再维护,建议使用[System.removePreferredLanguage](#removepreferredlanguage9)代替。
2337
2338**需要权限**:ohos.permission.UPDATE_CONFIGURATION
2339
2340**系统能力**:SystemCapability.Global.I18n
2341
2342**参数:**
2343
2344| 参数名   | 类型     | 必填   | 说明                    |
2345| ----- | ------ | ---- | --------------------- |
2346| index | number | 是    | 待删除偏好语言在系统偏好语言列表中的位置。 |
2347
2348**返回值:**
2349
2350| 类型      | 说明                            |
2351| ------- | ----------------------------- |
2352| boolean | 返回true,表示删除成功;返回false,表示删除失败。 |
2353
2354**示例:**
2355  ```js
2356  // 删除系统偏好语言列表中的第一个偏好语言
2357  let index = 0;
2358  let success = I18n.removePreferredLanguage(index);
2359  ```
2360
2361
2362## I18n.getPreferredLanguageList<sup>(deprecated)</sup>
2363
2364getPreferredLanguageList(): Array&lt;string&gt;
2365
2366获取系统偏好语言列表。
2367
2368从API version 8开始支持,从API version 9开始不再维护,建议使用[System.getPreferredLanguageList](#getpreferredlanguagelist9)代替。
2369
2370**系统能力**:SystemCapability.Global.I18n
2371
2372**返回值:**
2373
2374| 类型                  | 说明        |
2375| ------------------- | --------- |
2376| Array&lt;string&gt; | 系统偏好语言列表。 |
2377
2378**示例:**
2379  ```js
2380  let preferredLanguageList = I18n.getPreferredLanguageList(); // 获取系统偏好语言列表
2381  ```
2382
2383
2384## I18n.getFirstPreferredLanguage<sup>(deprecated)</sup>
2385
2386getFirstPreferredLanguage(): string
2387
2388获取偏好语言列表中的第一个偏好语言。
2389
2390从API version 8开始支持,从API version 9开始不再维护,建议使用[System.getFirstPreferredLanguage](#getfirstpreferredlanguage9)代替。
2391
2392**系统能力**:SystemCapability.Global.I18n
2393
2394**返回值:**
2395
2396| 类型     | 说明             |
2397| ------ | -------------- |
2398| string | 偏好语言列表中的第一个语言。 |
2399
2400**示例:**
2401  ```js
2402  let firstPreferredLanguage = I18n.getFirstPreferredLanguage();
2403  ```
2404
2405
2406## Util<sup>(deprecated)</sup>
2407
2408
2409### unitConvert<sup>(deprecated)</sup>
2410
2411static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string
2412
2413将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。
2414
2415从API version 8开始支持,从API version 9开始不再维护,建议使用[unitConvert](#unitconvert9)代替。
2416
2417**系统能力**:SystemCapability.Global.I18n
2418
2419**参数:**
2420
2421| 参数名      | 类型                     | 必填   | 说明                                       |
2422| -------- | ---------------------- | ---- | ---------------------------------------- |
2423| fromUnit | [UnitInfo](#unitinfo8) | 是    | 要被转换的单位。                                 |
2424| toUnit   | [UnitInfo](#unitinfo8) | 是    | 要转换为的单位。                                 |
2425| value    | number                 | 是    | 要被转换的单位的数量值。                             |
2426| locale   | string                 | 是    | 格式化时使用的区域参数,如:zh-Hans-CN。                |
2427| style    | string                 | 否    | 格式化使用的风格,取值包括:"long",&nbsp;"short",&nbsp;"narrow"。 |
2428
2429**返回值:**
2430
2431| 类型     | 说明                      |
2432| ------ | ----------------------- |
2433| string | 按照toUnit的单位格式化后,得到的字符串。 |
2434
2435
2436## Character<sup>(deprecated)</sup>
2437
2438
2439### isDigit<sup>(deprecated)</sup>
2440
2441static isDigit(char: string): boolean
2442
2443判断字符串char是否是数字。
2444
2445从API version 8开始支持,从API version 9开始不再维护,建议使用[isDigit](#isdigit9)代替。
2446
2447**系统能力**:SystemCapability.Global.I18n
2448
2449**参数:**
2450
2451| 参数名  | 类型     | 必填   | 说明    |
2452| ---- | ------ | ---- | ----- |
2453| char | string | 是    | 输入字符。 |
2454
2455**返回值:**
2456
2457| 类型      | 说明                                   |
2458| ------- | ------------------------------------ |
2459| boolean | 返回true表示输入的字符是数字,返回false表示输入的字符不是数字。 |
2460
2461
2462### isSpaceChar<sup>(deprecated)</sup>
2463
2464static isSpaceChar(char: string): boolean
2465
2466判断字符串char是否是空格符。
2467
2468从API version 8开始支持,从API version 9开始不再维护,建议使用[isSpaceChar](#isspacechar9)代替。
2469
2470**系统能力**:SystemCapability.Global.I18n
2471
2472**参数:**
2473
2474| 参数名  | 类型     | 必填   | 说明    |
2475| ---- | ------ | ---- | ----- |
2476| char | string | 是    | 输入字符。 |
2477
2478**返回值:**
2479
2480| 类型      | 说明                                     |
2481| ------- | -------------------------------------- |
2482| boolean | 返回true表示输入的字符是空格符,返回false表示输入的字符不是空格符。 |
2483
2484
2485### isWhitespace<sup>(deprecated)</sup>
2486
2487static isWhitespace(char: string): boolean
2488
2489判断字符串char是否是空白符。
2490
2491从API version 8开始支持,从API version 9开始不再维护,建议使用[isWhitespace](#iswhitespace9)代替。
2492
2493**系统能力**:SystemCapability.Global.I18n
2494
2495**参数:**
2496
2497| 参数名  | 类型     | 必填   | 说明    |
2498| ---- | ------ | ---- | ----- |
2499| char | string | 是    | 输入字符。 |
2500
2501**返回值:**
2502
2503| 类型      | 说明                                     |
2504| ------- | -------------------------------------- |
2505| boolean | 返回true表示输入的字符是空白符,返回false表示输入的字符不是空白符。 |
2506
2507
2508### isRTL<sup>(deprecated)</sup>
2509
2510static isRTL(char: string): boolean
2511
2512判断字符串char是否是从右到左语言的字符。
2513
2514从API version 8开始支持,从API version 9开始不再维护,建议使用[isRTL](#isrtl9)代替。
2515
2516**系统能力**:SystemCapability.Global.I18n
2517
2518**参数:**
2519
2520| 参数名  | 类型     | 必填   | 说明    |
2521| ---- | ------ | ---- | ----- |
2522| char | string | 是    | 输入字符。 |
2523
2524**返回值:**
2525
2526| 类型      | 说明                                       |
2527| ------- | ---------------------------------------- |
2528| boolean | 返回true表示输入的字符是从右到左语言的字符,返回false表示输入的字符不是从右到左语言的字符。 |
2529
2530
2531### isIdeograph<sup>(deprecated)</sup>
2532
2533static isIdeograph(char: string): boolean
2534
2535判断字符串char是否是表意文字。
2536
2537从API version 8开始支持,从API version 9开始不再维护,建议使用[isIdeograph](#isideograph9)代替。
2538
2539**系统能力**:SystemCapability.Global.I18n
2540
2541**参数:**
2542
2543| 参数名  | 类型     | 必填   | 说明    |
2544| ---- | ------ | ---- | ----- |
2545| char | string | 是    | 输入字符。 |
2546
2547**返回值:**
2548
2549| 类型      | 说明                                       |
2550| ------- | ---------------------------------------- |
2551| boolean | 返回true表示输入的字符是表意文字,返回false表示输入的字符不是表意文字。 |
2552
2553
2554### isLetter<sup>(deprecated)</sup>
2555
2556static isLetter(char: string): boolean
2557
2558判断字符串char是否是字母。
2559
2560从API version 8开始支持,从API version 9开始不再维护,建议使用[isLetter](#isletter9)代替。
2561
2562**系统能力**:SystemCapability.Global.I18n
2563
2564**参数:**
2565
2566| 参数名  | 类型     | 必填   | 说明    |
2567| ---- | ------ | ---- | ----- |
2568| char | string | 是    | 输入字符。 |
2569
2570**返回值:**
2571
2572| 类型      | 说明                                   |
2573| ------- | ------------------------------------ |
2574| boolean | 返回true表示输入的字符是字母,返回false表示输入的字符不是字母。 |
2575
2576
2577### isLowerCase<sup>(deprecated)</sup>
2578
2579static isLowerCase(char: string): boolean
2580
2581判断字符串char是否是小写字母。
2582
2583从API version 8开始支持,从API version 9开始不再维护,建议使用[isLowerCase](#islowercase9)代替。
2584
2585**系统能力**:SystemCapability.Global.I18n
2586
2587**参数:**
2588
2589| 参数名  | 类型     | 必填   | 说明    |
2590| ---- | ------ | ---- | ----- |
2591| char | string | 是    | 输入字符。 |
2592
2593**返回值:**
2594
2595| 类型      | 说明                                       |
2596| ------- | ---------------------------------------- |
2597| boolean | 返回true表示输入的字符是小写字母,返回false表示输入的字符不是小写字母。 |
2598
2599
2600### isUpperCase<sup>(deprecated)</sup>
2601
2602static isUpperCase(char: string): boolean
2603
2604判断字符串char是否是大写字母。
2605
2606从API version 8开始支持,从API version 9开始不再维护,建议使用[isUpperCase](#isuppercase9)代替。
2607
2608**系统能力**:SystemCapability.Global.I18n
2609
2610**参数:**
2611
2612| 参数名  | 类型     | 必填   | 说明    |
2613| ---- | ------ | ---- | ----- |
2614| char | string | 是    | 输入字符。 |
2615
2616**返回值:**
2617
2618| 类型      | 说明                                       |
2619| ------- | ---------------------------------------- |
2620| boolean | 返回true表示输入的字符是大写字母,返回false表示输入的字符不是大写字母。 |
2621
2622
2623### getType<sup>(deprecated)</sup>
2624
2625static getType(char: string): string
2626
2627获取输入字符串的一般类别值。
2628
2629从API version 8开始支持,从API version 9开始不再维护,建议使用[getType](#gettype9)代替。
2630
2631**系统能力**:SystemCapability.Global.I18n
2632
2633**参数:**
2634
2635| 参数名  | 类型     | 必填   | 说明    |
2636| ---- | ------ | ---- | ----- |
2637| char | string | 是    | 输入字符。 |
2638
2639**返回值:**
2640
2641| 类型     | 说明          |
2642| ------ | ----------- |
2643| string | 输入字符的一般类别值。 |
2644