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