• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.i18n (国际化-I18n)
2
3本模块提供系统相关的或者增强的国际化能力,包括区域管理、电话号码处理、日历等,相关接口为ECMA 402标准中未定义的补充接口。[Intl模块](js-apis-intl.md)提供了ECMA 402标准定义的基础国际化接口,与本模块共同使用可提供完整地国际化支持能力。
4
5>  **说明:**
6>
7>  - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8>
9>  - 本模块接口依据[CLDR](https://cldr.unicode.org) 国际化数据库进行处理,随着CLDR演进,本模块接口处理结果可能发生变化。其中,API version 12对应[CLDR 42](https://cldr.unicode.org/index/downloads/cldr-42),具体数据变化请参考官方链接。
10>
11>  - 从API version 11开始,本模块部分接口支持在ArkTS卡片中使用。
12
13
14## 导入模块
15
16```ts
17import { i18n } from '@kit.LocalizationKit';
18```
19
20## System<sup>9+</sup>
21
22### getDisplayCountry<sup>9+</sup>
23
24static getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string
25
26文本按指定国家进行本地化显示。
27
28**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
29
30**系统能力**:SystemCapability.Global.I18n
31
32**参数:**
33
34| 参数名          | 类型      | 必填   | 说明               |
35| ------------ | ------- | ---- | ---------------- |
36| country      | string  | 是    | 用于指定国家,要求是合法的国家码。            |
37| locale       | string  | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。     |
38| sentenceCase | boolean | 否    | true表示按照首字母大写的格式显示文本,false表示按照区域默认的大小写格式显示文本。默认值:true。 |
39
40**返回值:**
41
42| 类型     | 说明            |
43| ------ | ------------- |
44| string | 按指定国家,本地化显示的文本。 |
45
46**错误码:**
47
48以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
49
50| 错误码ID  | 错误信息                   |
51| ------ | ---------------------- |
52| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
53| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
54
55> **说明**
56>
57> 890001的报错信息请以接口的实际报错为准。
58
59**示例:**
60  ```ts
61  import { BusinessError } from '@kit.BasicServicesKit';
62
63  try {
64    let displayCountry: string = i18n.System.getDisplayCountry('CN', 'en-GB'); // displayCountry = 'China'
65  } catch (error) {
66    let err: BusinessError = error as BusinessError;
67    console.error(`call System.getDisplayCountry failed, error code: ${err.code}, message: ${err.message}.`);
68  }
69  ```
70
71### getDisplayLanguage<sup>9+</sup>
72
73static getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string
74
75文本按指定语言进行本地化显示。例如,getDisplayLanguage('de', 'zh-Hans-CN')用中文显示德文,接口输出结果为:德文。
76
77**原子化服务API**: 从API version 11开始,该接口支持在原子化服务中使用。
78
79**系统能力**:SystemCapability.Global.I18n
80
81**参数:**
82
83| 参数名          | 类型      | 必填   | 说明               |
84| ------------ | ------- | ---- | ---------------- |
85| language     | string  | 是    | 指定语言,要求是合法的语言ID。            |
86| locale       | string  | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。     |
87| sentenceCase | boolean | 否    | true表示按照首字母大写的格式显示文本,false表示按照区域默认的大小写格式显示文本。默认值:true。 |
88
89**返回值:**
90
91| 类型     | 说明            |
92| ------ | ------------- |
93| string | 按指定语言,本地化显示的语言。 |
94
95**错误码:**
96
97以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
98
99| 错误码ID  | 错误信息                   |
100| ------ | ---------------------- |
101| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
102| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
103
104**示例:**
105  ```ts
106  import { BusinessError } from '@kit.BasicServicesKit';
107
108  try {
109    // 用英文形式显示中文,displayLanguage = 'Chinese'
110    let displayLanguage: string = i18n.System.getDisplayLanguage('zh', 'en-GB');
111  } catch (error) {
112    let err: BusinessError = error as BusinessError;
113    console.error(`call System.getDisplayLanguage failed, error code: ${err.code}, message: ${err.message}.`);
114  }
115  ```
116
117### getSystemLanguages<sup>9+</sup>
118
119static getSystemLanguages(): Array&lt;string&gt;
120
121获取系统支持的语言列表。
122
123从API version 11开始,该类型支持在ArkTS卡片中使用。
124
125**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
126
127**系统能力**:SystemCapability.Global.I18n
128
129**返回值:**
130
131| 类型                  | 说明           |
132| ------------------- | ------------ |
133| Array&lt;string&gt; | 系统支持的语言ID列表。 |
134
135**示例:**
136  ```ts
137  // systemLanguages = [ 'ug', 'bo', 'zh-Hant', 'en-Latn-US', 'zh-Hans' ]
138  let systemLanguages: Array<string> = i18n.System.getSystemLanguages();
139  ```
140
141### getSystemCountries<sup>9+</sup>
142
143static getSystemCountries(language: string): Array&lt;string&gt;
144
145针对输入语言,系统支持的国家或地区列表。
146
147**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
148
149**系统能力**:SystemCapability.Global.I18n
150
151**参数:**
152
153| 参数名      | 类型     | 必填   | 说明    |
154| -------- | ------ | ---- | ----- |
155| language | string | 是    | 合法的语言ID。 |
156
157**返回值:**
158
159| 类型                  | 说明           |
160| ------------------- | ------------ |
161| Array&lt;string&gt; | 系统支持某种特定语言的国家或地区列表。 |
162
163**错误码:**
164
165以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
166
167| 错误码ID  | 错误信息                   |
168| ------ | ---------------------- |
169| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
170| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
171
172> **说明**
173>
174> 890001的报错信息请以接口的实际报错为准。
175
176**示例:**
177  ```ts
178  import { BusinessError } from '@kit.BasicServicesKit';
179
180  try {
181    // systemCountries = [ 'ZW', 'YT', 'YE', ..., 'ER', 'CN', 'DE' ]
182    let systemCountries: Array<string> = i18n.System.getSystemCountries('zh');
183  } catch (error) {
184    let err: BusinessError = error as BusinessError;
185    console.error(`call System.getSystemCountries failed, error code: ${err.code}, message: ${err.message}.`);
186  }
187  ```
188
189### isSuggested<sup>9+</sup>
190
191static isSuggested(language: string, region?: string): boolean
192
193判断当前语言和地区是否匹配。
194
195**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
196
197**系统能力**:SystemCapability.Global.I18n
198
199**参数:**
200
201| 参数名      | 类型     | 必填   | 说明            |
202| -------- | ------ | ---- | ------------- |
203| language | string | 是    | 合法的语言ID,例如zh。 |
204| region   | string | 否    | 合法的地区ID,例如CN。<br>默认值:使用SIM卡国家或地区。  |
205
206**返回值:**
207
208| 类型      | 说明                                       |
209| ------- | ---------------------------------------- |
210| boolean | true表示当前语言和地区匹配,false表示当前语言和地区不匹配。 |
211
212**错误码:**
213
214以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
215
216| 错误码ID  | 错误信息                   |
217| ------ | ---------------------- |
218| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
219| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
220
221
222> **说明**
223>
224> 890001的报错信息请以接口的实际报错为准。
225
226**示例:**
227  ```ts
228  import { BusinessError } from '@kit.BasicServicesKit';
229
230  try {
231    let isSuggestedCountry: boolean = i18n.System.isSuggested('zh', 'CN'); // isSuggestedCountry = true
232  } catch (error) {
233    let err: BusinessError = error as BusinessError;
234    console.error(`call System.isSuggested failed, error code: ${err.code}, message: ${err.message}.`);
235  }
236  ```
237
238### getSystemLanguage<sup>9+</sup>
239
240static getSystemLanguage(): string
241
242获取系统语言。
243
244**原子化服务API**:从API version 11开始,该接口支持在原子化服务中使用。
245
246**卡片能力**:从API version 11开始,该接口支持在ArkTS卡片中使用。
247
248**系统能力**:SystemCapability.Global.I18n
249
250**返回值:**
251
252| 类型     | 说明      |
253| ------ | ------- |
254| string | 系统语言ID。 |
255
256**示例:**
257  ```ts
258  let systemLanguage: string = i18n.System.getSystemLanguage();
259  ```
260
261### getSystemRegion<sup>9+</sup>
262
263static getSystemRegion(): string
264
265获取系统地区。
266
267**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
268
269**系统能力**:SystemCapability.Global.I18n
270
271**返回值:**
272
273| 类型     | 说明      |
274| ------ | ------- |
275| string | 系统地区ID。 |
276
277**示例:**
278  ```ts
279  let systemRegion: string = i18n.System.getSystemRegion();
280  ```
281
282### getSystemLocale<sup>9+</sup>
283
284static getSystemLocale(): string
285
286获取系统区域ID。
287
288**原子化服务API**: 从API version 11开始,该接口支持在原子化服务中使用。
289
290**系统能力**:SystemCapability.Global.I18n
291
292**返回值:**
293
294| 类型     | 说明      |
295| ------ | ------- |
296| string | 表示区域ID的字符串。 |
297
298**示例:**
299  ```ts
300  let systemLocale: string = i18n.System.getSystemLocale();
301  ```
302
303### is24HourClock<sup>9+</sup>
304
305static is24HourClock(): boolean
306
307判断系统时间是否为24小时制。
308
309**卡片能力**:从API version 11开始,该接口支持在ArkTS卡片中使用。
310
311**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
312
313**系统能力**:SystemCapability.Global.I18n
314
315**返回值:**
316
317| 类型      | 说明                                       |
318| ------- | ---------------------------------------- |
319| boolean | true表示系统24小时开关开启,false表示系统24小时开关关闭。 |
320
321**示例:**
322  ```ts
323  let is24HourClock: boolean = i18n.System.is24HourClock();
324  ```
325
326
327### getPreferredLanguageList<sup>9+</sup>
328
329static getPreferredLanguageList(): Array&lt;string&gt;
330
331获取系统偏好语言列表。
332
333**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
334
335**系统能力**:SystemCapability.Global.I18n
336
337**返回值:**
338
339| 类型                  | 说明        |
340| ------------------- | --------- |
341| Array&lt;string&gt; | 系统偏好语言列表。 |
342
343**示例:**
344  ```ts
345  let preferredLanguageList: Array<string> = i18n.System.getPreferredLanguageList();
346  ```
347
348### getFirstPreferredLanguage<sup>9+</sup>
349
350static getFirstPreferredLanguage(): string
351
352获取系统偏好语言列表中的第一个偏好语言。
353
354**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
355
356**系统能力**:SystemCapability.Global.I18n
357
358**返回值:**
359
360| 类型     | 说明             |
361| ------ | -------------- |
362| string | 偏好语言列表中的第一个语言。 |
363
364**示例:**
365  ```ts
366  let firstPreferredLanguage: string = i18n.System.getFirstPreferredLanguage();
367  ```
368
369### setAppPreferredLanguage<sup>11+</sup>
370
371static setAppPreferredLanguage(language: string): void
372
373设置应用的偏好语言。设置偏好语言为'default'后,应用语言将跟随系统语言,应用冷启动生效。
374
375**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
376
377**系统能力**:SystemCapability.Global.I18n
378
379**参数:**
380
381| 参数名      | 类型     | 必填   | 说明    |
382| -------- | ------ | ---- | ----- |
383| language | string | 是    | 合法的语言ID或'default'。 |
384
385**错误码:**
386
387以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
388
389| 错误码ID  | 错误信息                   |
390| ------ | ---------------------- |
391| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
392| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
393
394**示例:**
395  ```ts
396  import { BusinessError } from '@kit.BasicServicesKit';
397
398  try {
399    i18n.System.setAppPreferredLanguage('zh');
400  } catch (error) {
401    let err: BusinessError = error as BusinessError;
402    console.error(`call System.setAppPreferredLanguage failed, error code: ${err.code}, message: ${err.message}.`);
403  }
404  ```
405
406### getAppPreferredLanguage<sup>9+</sup>
407
408static getAppPreferredLanguage(): string
409
410获取应用的偏好语言。
411
412**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
413
414**系统能力**:SystemCapability.Global.I18n
415
416**返回值:**
417
418| 类型     | 说明       |
419| ------ | -------- |
420| string | 应用的偏好语言。 |
421
422**示例:**
423  ```ts
424  let appPreferredLanguage: string = i18n.System.getAppPreferredLanguage();
425  ```
426
427
428### getUsingLocalDigit<sup>9+</sup>
429
430static getUsingLocalDigit(): boolean
431
432判断系统是否使用本地数字。
433
434**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
435
436**系统能力**:SystemCapability.Global.I18n
437
438**返回值:**
439
440| 类型      | 说明                                       |
441| ------- | ---------------------------------------- |
442| boolean | true表示本地数字开关已打开,false表示本地数字开关未打开。 |
443
444**示例:**
445  ```ts
446  let usingLocalDigit: boolean = i18n.System.getUsingLocalDigit();
447  ```
448
449### getSimplifiedLanguage<sup>15+</sup>
450
451static getSimplifiedLanguage(language?: string): string
452
453获取语言的简化表示。如:'en-Latn-US'的简化表示是'en','en-Latn-GB'的简化表示为'en-GB'。
454
455**原子化服务API:** 从API version 15开始,该接口支持在原子化服务中使用。
456
457**系统能力**:SystemCapability.Global.I18n
458
459**参数:**
460
461| 参数名      | 类型     | 必填   | 说明            |
462| -------- | ------ | ---- | ------------- |
463| language | string | 否    | 合法的语言ID。默认值:系统语言。 |
464
465**返回值:**
466
467| 类型      | 说明                                       |
468| ------- | ---------------------------------------- |
469| string | 不传入language时,会根据系统语言和地区判断是否存在系统支持的方言,若存在则返回方言的简化表示;若不存在,则返回系统语言的简化表示。<br>传入language时,返回language的简化表示。 |
470
471**错误码:**
472
473以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
474
475| 错误码ID  | 错误信息                   |
476| ------ | ---------------------- |
477| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
478| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
479
480**示例:**
481  ```ts
482  import { BusinessError } from '@kit.BasicServicesKit';
483
484  try {
485    // simplifiedLanguage = 'zh'
486    let simplifiedLanguage: string = i18n.System.getSimplifiedLanguage('zh-Hans-CN');
487    // simplifiedSystemLanguage = 'zh-Hans', 如果当前系统语言为简体中文
488    let simplifiedSystemLanguage: string = i18n.System.getSimplifiedLanguage();
489  } catch (error) {
490    let err: BusinessError = error as BusinessError;
491    console.error(`call System.getSimplifiedLanguage failed, error code: ${err.code}, message: ${err.message}.`);
492  }
493  ```
494
495### getTemperatureType<sup>18+</sup>
496
497static getTemperatureType(): TemperatureType
498
499获取当前用户偏好的温度单位。
500
501**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
502
503**系统能力**:SystemCapability.Global.I18n
504
505**返回值:**
506
507| 类型     | 说明            |
508| ------ | ------------- |
509| [TemperatureType](#temperaturetype18) | 温度单位。 |
510
511**示例:**
512  ```ts
513  let temperatureType: i18n.TemperatureType = i18n.System.getTemperatureType();
514  ```
515
516### getTemperatureName<sup>18+</sup>
517
518static getTemperatureName(type: TemperatureType): string
519
520获取温度单位的名称。
521
522**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
523
524**系统能力**:SystemCapability.Global.I18n
525
526**参数:**
527
528| 参数名      | 类型     | 必填   | 说明            |
529| -------- | ------ | ---- | ------------- |
530| type| [TemperatureType](#temperaturetype18) | 是    | 温度单位。 |
531
532**返回值:**
533
534| 类型      | 说明                                       |
535| ------- | ---------------------------------------- |
536| string | 返回温度单位的名称,包括celsius,fahrenheit,kelvin。 |
537
538**错误码:**
539
540以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)。
541
542| 错误码ID  | 错误信息                   |
543| ------ | ---------------------- |
544| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
545
546
547> **说明**
548>
549> 890001的报错信息请以接口的实际报错为准。
550
551**示例:**
552  ```ts
553  import { BusinessError } from '@kit.BasicServicesKit';
554
555  try {
556    // temperatureName = 'celsius'
557    let temperatureName: string = i18n.System.getTemperatureName(i18n.TemperatureType.CELSIUS);
558  } catch (error) {
559    let err: BusinessError = error as BusinessError;
560    console.error(`call System.getTemperatureName failed, error code: ${err.code}, message: ${err.message}.`);
561  }
562  ```
563
564### getFirstDayOfWeek<sup>18+</sup>
565
566static getFirstDayOfWeek(): WeekDay
567
568获取当前用户偏好的周起始日。
569
570**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
571
572**系统能力**:SystemCapability.Global.I18n
573
574**返回值:**
575
576| 类型     | 说明            |
577| ------ | ------------- |
578| [WeekDay](#weekday18) | 周起始日。 |
579
580**示例:**
581  ```ts
582  let firstDayOfWeek: i18n.WeekDay = i18n.System.getFirstDayOfWeek();
583  ```
584
585## TemperatureType<sup>18+</sup>
586
587温度单位的枚举。
588
589**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
590
591**系统能力**:SystemCapability.Global.I18n
592
593| 名称 | 值 | 说明 |
594| -------- | -------- | -------- |
595| CELSIUS | 1 | 摄氏度。 |
596| FAHRENHEIT | 2 | 华氏度。 |
597| KELVIN | 3 | 开尔文。 |
598
599## WeekDay<sup>18+</sup>
600
601周起始日的枚举,取值是周一至周日的某天。
602
603**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
604
605**系统能力**:SystemCapability.Global.I18n
606
607| 名称 | 值 | 说明 |
608| -------- | -------- | -------- |
609| MON | 1 | 周一。 |
610| TUE | 2 | 周二。 |
611| WED | 3 | 周三。 |
612| THU | 4 | 周四。 |
613| FRI | 5 | 周五。 |
614| SAT | 6 | 周六。 |
615| SUN | 7 | 周日。 |
616
617
618## i18n.isRTL
619
620isRTL(locale: string): boolean
621
622判断某区域语言是否从右到左显示。
623
624**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
625
626**系统能力**:SystemCapability.Global.I18n
627
628**参数:**
629
630| 参数名    | 类型     | 必填   | 说明      |
631| ------ | ------ | ---- | ------- |
632| locale | string | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。  |
633
634**返回值:**
635
636| 类型      | 说明                                       |
637| ------- | ---------------------------------------- |
638| boolean | true表示该区域语言从右至左显示,false表示该区域语言从左至右显示。 |
639
640**示例:**
641  ```ts
642  let isZhRTL: boolean = i18n.isRTL('zh-CN'); // 中文不是RTL语言,返回false
643  let isArRTL: boolean = i18n.isRTL('ar-EG'); // 阿语是RTL语言,返回true
644  ```
645
646## i18n.getCalendar<sup>8+</sup>
647
648getCalendar(locale: string, type? : string): Calendar
649
650获取日历对象。
651
652**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
653
654**系统能力**:SystemCapability.Global.I18n
655
656**参数:**
657
658| 参数名    | 类型     | 必填   | 说明                                       |
659| ------ | ------ | ---- | ---------------------------------------- |
660| locale | string | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成,例如zh-Hans-CN。                 |
661| 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。<br>默认值:区域默认的历法。不同取值代表的含义和不同场景下取值请参考[设置日历和历法](../../internationalization/i18n-calendar.md)。 |
662
663**返回值:**
664
665| 类型                     | 说明    |
666| ---------------------- | ----- |
667| [Calendar](#calendar8) | 日历对象。 |
668
669**示例:**
670  ```ts
671  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans', 'chinese'); // 获取中国农历日历对象
672  ```
673
674## EntityRecognizer<sup>11+</sup>
675
676### constructor<sup>11+</sup>
677
678constructor(locale?: string)
679
680创建实体识别对象。
681
682**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
683
684**系统能力**:SystemCapability.Global.I18n
685
686**参数:**
687
688| 参数名  | 类型   | 必填   | 说明                |
689| ---- | ---- | ---- | ----------------- |
690| locale | string | 否    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成,例如zh-Hans-CN。<br>默认值:系统当前区域ID。 |
691
692**错误码:**
693
694以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
695
696| 错误码ID  | 错误信息                   |
697| ------ | ---------------------- |
698| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
699| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
700
701**示例:**
702  ```ts
703  import { BusinessError } from '@kit.BasicServicesKit';
704
705  try {
706    let entityRecognizer: i18n.EntityRecognizer = new i18n.EntityRecognizer('zh-CN');
707  } catch (error) {
708    let err: BusinessError = error as BusinessError;
709    console.error(`call new i18n.EntityRecognizer failed, error code: ${err.code}, message: ${err.message}.`);
710  }
711  ```
712
713### findEntityInfo<sup>11+</sup>
714
715findEntityInfo(text: string): Array&lt;EntityInfoItem&gt;
716
717识别文本中的实体信息。
718
719**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
720
721**系统能力**:SystemCapability.Global.I18n
722
723**参数:**
724
725| 参数名  | 类型   | 必填   | 说明                |
726| ---- | ---- | ---- | ----------------- |
727| text | string | 是    | 需要被识别的文本。 |
728
729**返回值:**
730
731| 类型   | 说明                |
732| ---- | ----------------- |
733| Array&lt;[EntityInfoItem](#entityinfoitem11)&gt; | 文本中的实体信息列表。 |
734
735**错误码:**
736
737以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
738
739| 错误码ID  | 错误信息                   |
740| ------ | ---------------------- |
741| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
742
743**示例:**
744  ```ts
745  import { BusinessError } from '@kit.BasicServicesKit';
746
747  try {
748    let entityRecognizer: i18n.EntityRecognizer = new i18n.EntityRecognizer('zh-CN');
749    let phoneNumberText: string = '如有疑问,请联系158****2312';
750    // phoneNumberEntity[0].type = 'phone_number', phoneNumberEntity[0].begin = 8, phoneNumberEntity[0].end = 19
751    let phoneNumberEntity: Array<i18n.EntityInfoItem> = entityRecognizer.findEntityInfo(phoneNumberText);
752    let dateText: string = '我们2023年12月1日一起吃饭吧。';
753    // dateEntity[0].type = 'date', dateEntity[0].begin = 2, dateEntity[0].end = 12
754    let dateEntity: Array<i18n.EntityInfoItem> = entityRecognizer.findEntityInfo(dateText);
755  } catch (error) {
756    let err: BusinessError = error as BusinessError;
757    console.error(`call EntityRecognizer.findEntityInfo failed, error code: ${err.code}, message: ${err.message}.`);
758  }
759  ```
760
761## EntityInfoItem<sup>11+</sup>
762
763实体信息属性。
764
765**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
766
767**系统能力**:SystemCapability.Global.I18n
768
769| 名称  | 类型   | 可读   | 可写   | 说明                |
770| ---- | ---- | ---- | ---- | ----------------- |
771| type | string | 是    | 是    | 实体类型,当前支持phone_number和date类型。 |
772| begin | number | 是    | 是    | 实体的起始位置。 |
773| end | number | 是    | 是    | 实体的终止位置。 |
774
775## Calendar<sup>8+</sup>
776
777### setTime<sup>8+</sup>
778
779setTime(date: Date): void
780
781设置日历对象内部的时间、日期。
782
783**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
784
785**系统能力**:SystemCapability.Global.I18n
786
787**参数:**
788
789| 参数名  | 类型   | 必填   | 说明                |
790| ---- | ---- | ---- | ----------------- |
791| date | Date | 是    | 时间、日期。说明:月份从0开始计数,如0表示一月。 |
792
793**示例:**
794  ```ts
795  let calendar: i18n.Calendar = i18n.getCalendar('en-US', 'gregory');
796  let date: Date = new Date(2021, 10, 7, 8, 0, 0); // 时间日期为2021.11.07 08:00:00
797  calendar.setTime(date);
798  ```
799
800
801### setTime<sup>8+</sup>
802
803setTime(time: number): void
804
805设置日历对象内部的时间、日期。
806
807**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
808
809**系统能力**:SystemCapability.Global.I18n
810
811**参数:**
812
813| 参数名  | 类型     | 必填   | 说明                                       |
814| ---- | ------ | ---- | ---------------------------------------- |
815| time | number | 是    | time为从1970.1.1&nbsp;00:00:00&nbsp;GMT逝去的毫秒数。 |
816
817**示例:**
818  ```ts
819  let calendar: i18n.Calendar = i18n.getCalendar('en-US', 'gregory');
820  calendar.setTime(10540800000);
821  ```
822
823### set<sup>8+</sup>
824
825set(year: number, month: number, date:number, hour?: number, minute?: number, second?: number): void
826
827设置日历对象的年、月、日、时、分、秒。
828
829**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
830
831**系统能力**:SystemCapability.Global.I18n
832
833**参数:**
834
835| 参数名    | 类型     | 必填   | 说明     |
836| ------ | ------ | ---- | ------ |
837| year   | number | 是    | 设置的年。  |
838| month  | number | 是    | 设置的月。说明:月份从0开始计数,如0表示一月。  |
839| date   | number | 是    | 设置的日。  |
840| hour   | number | 否    | 设置的小时。默认值:系统小时。 |
841| minute | number | 否    | 设置的分钟。默认值:系统分钟。 |
842| second | number | 否    | 设置的秒。默认值:系统秒。 |
843
844**示例:**
845  ```ts
846  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
847  calendar.set(2021, 10, 1, 8, 0, 0); // 设置时间日期为2021.11.1 08:00:00
848  ```
849
850### setTimeZone<sup>8+</sup>
851
852setTimeZone(timezone: string): void
853
854设置日历对象的时区。
855
856**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
857
858**系统能力**:SystemCapability.Global.I18n
859
860**参数:**
861
862| 参数名      | 类型     | 必填   | 说明                        |
863| -------- | ------ | ---- | ------------------------- |
864| timezone | string | 是    | 合法的时区ID,如“Asia/Shanghai”。 |
865
866**示例:**
867  ```ts
868  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
869  calendar.setTimeZone('Asia/Shanghai');
870  ```
871
872
873### getTimeZone<sup>8+</sup>
874
875getTimeZone(): string
876
877获取日历对象的时区。
878
879**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
880
881**系统能力**:SystemCapability.Global.I18n
882
883**返回值:**
884
885| 类型     | 说明         |
886| ------ | ---------- |
887| string | 日历对象的时区ID。 |
888
889**示例:**
890  ```ts
891  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
892  calendar.setTimeZone('Asia/Shanghai');
893  let timezone: string = calendar.getTimeZone(); // timezone = 'Asia/Shanghai'
894  ```
895
896
897### getFirstDayOfWeek<sup>8+</sup>
898
899getFirstDayOfWeek(): number
900
901获取日历对象一周的起始日。
902
903**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
904
905**系统能力**:SystemCapability.Global.I18n
906
907**返回值:**
908
909| 类型     | 说明                    |
910| ------ | --------------------- |
911| number | 一周的起始日,1代表周日,7代表周六。 |
912
913**示例:**
914  ```ts
915  let calendar: i18n.Calendar = i18n.getCalendar('en-US', 'gregory');
916  let firstDayOfWeek: number = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 1
917  ```
918
919
920### setFirstDayOfWeek<sup>8+</sup>
921
922setFirstDayOfWeek(value: number): void
923
924设置一周的起始日。
925
926**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
927
928**系统能力**:SystemCapability.Global.I18n
929
930**参数:**
931
932| 参数名   | 类型     | 必填   | 说明                    |
933| ----- | ------ | ---- | --------------------- |
934| value | number | 是    | 一周起始日,1代表周日,7代表周六。 |
935
936**示例:**
937  ```ts
938  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
939  calendar.setFirstDayOfWeek(3);
940  let firstDayOfWeek: number = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 3
941  ```
942
943### getMinimalDaysInFirstWeek<sup>8+</sup>
944
945getMinimalDaysInFirstWeek(): number
946
947获取一年中第一周的最小天数。
948
949**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
950
951**系统能力**:SystemCapability.Global.I18n
952
953**返回值:**
954
955| 类型     | 说明           |
956| ------ | ------------ |
957| number | 一年中第一周的最小天数。 |
958
959**示例:**
960  ```ts
961  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
962  let minimalDaysInFirstWeek: number = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 1
963  ```
964
965
966### setMinimalDaysInFirstWeek<sup>8+</sup>
967
968setMinimalDaysInFirstWeek(value: number): void
969
970设置一年中第一周的最小天数。
971
972**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
973
974**系统能力**:SystemCapability.Global.I18n
975
976**参数:**
977
978| 参数名   | 类型     | 必填   | 说明           |
979| ----- | ------ | ---- | ------------ |
980| value | number | 是    | 一年中第一周的最小天数。 |
981
982**示例:**
983  ```ts
984  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
985  calendar.setMinimalDaysInFirstWeek(3);
986  let minimalDaysInFirstWeek: number = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 3
987  ```
988
989
990### get<sup>8+</sup>
991
992get(field: string): number
993
994获取日历对象与field相关联的值。
995
996**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
997
998**系统能力**:SystemCapability.Global.I18n
999
1000**参数:**
1001
1002| 参数名   | 类型     | 必填   | 说明                                       |
1003| ----- | ------ | ---- | ---------------------------------------- |
1004| field | string | 是    | 通过field来获取日历对象相应的值,目前支持的field值请参考下表。 |
1005
1006
1007| field名称   | 说明                                       |
1008| ----- | ---------------------------------------- |
1009| era | 纪元,例如公历中的公元前或者公元后。 |
1010| year | 年。 |
1011| month | 月。说明:月份从0开始计数,如0表示一月。 |
1012| date | 日。 |
1013| hour | 挂钟小时数。 |
1014| hour_of_day | 一天中的第几小时。 |
1015| minute | 分。 |
1016| second | 秒。 |
1017| millisecond | 毫秒。 |
1018| week_of_year | 一年中的第几周,按照星期计算周,注意:第一周的归属算法各地有区别。 |
1019| year_woy | 一年中的第几周,按照数值计算周,例如一年中前1~7日属于第一周。 |
1020| week_of_month | 一个月中的第几周,按照星期计算周。 |
1021| day_of_week_in_month | 一月中的第几周,按照数值计算周,例如1-7日属于第一周。 |
1022| day_of_year | 一年中的第几天。 |
1023| day_of_week | 一周中的第几天(星期)。 |
1024| milliseconds_in_day | 一天中的第几毫秒。 |
1025| zone_offset | 以毫秒计时的时区固定偏移量(不含夏令时)。 |
1026| dst_offset | 以毫秒计时的夏令时偏移量。 |
1027| dow_local | 本地星期。 |
1028| extended_year | 扩展的年份数值,支持负数。 |
1029| julian_day | 儒略日,与当前时区相关。 |
1030| is_leap_month | 是否为闰月。 |
1031
1032**返回值:**
1033
1034| 类型     | 说明                                       |
1035| ------ | ---------------------------------------- |
1036| number | 与field相关联的值,如当前Calendar对象的内部日期的年份为1990,get('year')返回1990。 |
1037
1038**示例:**
1039  ```ts
1040  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
1041  calendar.set(2021, 10, 1, 8, 0, 0); // 设置时间日期为2021.11.1 08:00:00
1042  let hourOfDay: number = calendar.get('hour_of_day'); // hourOfDay = 8
1043  ```
1044
1045
1046### getDisplayName<sup>8+</sup>
1047
1048getDisplayName(locale: string): string
1049
1050获取日历对象在某语言下的显示名称。
1051
1052**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1053
1054**系统能力**:SystemCapability.Global.I18n
1055
1056**参数:**
1057
1058| 参数名    | 类型     | 必填   | 说明                                       |
1059| ------ | ------ | ---- | ---------------------------------------- |
1060| locale | string | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。 |
1061
1062**返回值:**
1063
1064| 类型     | 说明                  |
1065| ------ | ------------------- |
1066| string | 日历的显示名称。如buddhist在en-US上显示的名称为“Buddhist&nbsp;Calendar”。|
1067
1068**示例:**
1069  ```ts
1070  let calendar: i18n.Calendar = i18n.getCalendar('en-US', 'buddhist');
1071  let calendarName: string = calendar.getDisplayName('zh'); // calendarName = '佛历'
1072  ```
1073
1074
1075### isWeekend<sup>8+</sup>
1076
1077isWeekend(date?: Date): boolean
1078
1079判断指定的日期在日历中是否为周末。
1080
1081**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1082
1083**系统能力**:SystemCapability.Global.I18n
1084
1085**参数:**
1086
1087| 参数名  | 类型   | 必填   | 说明                                       |
1088| ---- | ---- | ---- | ---------------------------------------- |
1089| date | Date | 否    | 时间、日期。说明:月份从0开始计数,如0表示一月。<br>默认值:系统日期。若不填,则判断当前日期是否为周末。 |
1090
1091**返回值:**
1092
1093| 类型      | 说明                                  |
1094| ------- | ----------------------------------- |
1095| boolean | true表示指定的日期是周末,false表示指定的日期不是周末。 |
1096
1097**示例:**
1098  ```ts
1099  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
1100  calendar.set(2021, 11, 11, 8, 0, 0); // 设置时间为2021.12.11 08:00:00
1101  let isWeekend: boolean = calendar.isWeekend(); // isWeekend = true
1102  let date: Date = new Date(2011, 11, 6, 9, 0, 0); // 时间日期为2011.12.06 09:00:00
1103  isWeekend = calendar.isWeekend(date); // isWeekend = false
1104  ```
1105
1106
1107### add<sup>11+</sup>
1108
1109add(field: string, amount: number): void
1110
1111将日历中的某些字段进行加减操作。
1112
1113**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1114
1115**系统能力**:SystemCapability.Global.I18n
1116
1117**参数:**
1118
1119| 参数名  | 类型   | 必填   | 说明                                       |
1120| ---- | ---- | ---- | ---------------------------------------- |
1121| field | string | 是    | 指定日历字段,目前支持的field值有&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。<br>各取值代表的含义请参考[get](#get8)。 |
1122| amount | number | 是    | 进行加减操作的具体数值。 |
1123
1124**错误码:**
1125
1126以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
1127
1128| 错误码ID  | 错误信息                   |
1129| ------ | ---------------------- |
1130| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
1131| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
1132
1133**示例:**
1134  ```ts
1135  import { BusinessError } from '@kit.BasicServicesKit';
1136
1137  try {
1138    let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
1139    calendar.set(2021, 11, 11, 8, 0, 0); // 设置时间日期为2021.12.11 08:00:00
1140    calendar.add('year', 8); // 2021 + 8
1141    let year: number = calendar.get('year'); // year = 2029
1142  } catch (error) {
1143    let err: BusinessError = error as BusinessError;
1144    console.error(`call Calendar.add failed, error code: ${err.code}, message: ${err.message}.`);
1145  }
1146  ```
1147
1148
1149### getTimeInMillis<sup>11+</sup>
1150
1151getTimeInMillis(): number
1152
1153获取当前日历的UTC毫秒数。
1154
1155**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1156
1157**系统能力**:SystemCapability.Global.I18n
1158
1159**返回值:**
1160
1161| 类型      | 说明                                  |
1162| ------- | ----------------------------------- |
1163| number | 当前日历的UTC毫秒数。 |
1164
1165**示例:**
1166  ```ts
1167  let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
1168  calendar.setTime(5000);
1169  let millisecond: number = calendar.getTimeInMillis(); // millisecond = 5000
1170  ```
1171
1172
1173### compareDays<sup>11+</sup>
1174
1175compareDays(date: Date): number
1176
1177比较日历和指定日期相差的天数。
1178
1179**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1180
1181**系统能力**:SystemCapability.Global.I18n
1182
1183**参数:**
1184
1185| 参数名  | 类型   | 必填   | 说明                                       |
1186| ---- | ---- | ---- | ---------------------------------------- |
1187| date | Date | 是    | 时间、日期。说明:月份从0开始计数,如0表示一月。 |
1188
1189**返回值:**
1190
1191| 类型      | 说明                                  |
1192| ------- | ----------------------------------- |
1193| number | 相差的天数,正数代表日历时间更早,负数代表指定时间更早。<br>按毫秒级的精度,不足一天将按一天进行计算。 |
1194
1195**错误码:**
1196
1197以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
1198
1199| 错误码ID  | 错误信息                   |
1200| ------ | ---------------------- |
1201| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
1202
1203**示例:**
1204  ```ts
1205  import { BusinessError } from '@kit.BasicServicesKit';
1206
1207  try {
1208    let calendar: i18n.Calendar = i18n.getCalendar('zh-Hans');
1209    calendar.setTime(5000);
1210    let date: Date = new Date(6000);
1211    let diff: number = calendar.compareDays(date); // diff = 1
1212  } catch (error) {
1213    let err: BusinessError = error as BusinessError;
1214    console.error(`call Calendar.compareDays failed, error code: ${err.code}, message: ${err.message}.`);
1215  }
1216  ```
1217
1218## PhoneNumberFormat<sup>8+</sup>
1219
1220
1221### constructor<sup>8+</sup>
1222
1223constructor(country: string, options?: PhoneNumberFormatOptions)
1224
1225创建电话号码格式化对象。
1226
1227**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1228
1229**系统能力**:SystemCapability.Global.I18n
1230
1231**参数:**
1232
1233| 参数名     | 类型                                       | 必填   | 说明               |
1234| ------- | ---------------------------------------- | ---- | ---------------- |
1235| country | string                                   | 是    | 表示电话号码所属国家或地区代码。 |
1236| options | [PhoneNumberFormatOptions](#phonenumberformatoptions8) | 否    | 电话号码格式化时设置的配置项。默认值:NATIONAL。  |
1237
1238**示例:**
1239  ```ts
1240  let option: i18n.PhoneNumberFormatOptions = { type: 'E164' };
1241  let phoneNumberFormat: i18n.PhoneNumberFormat = new i18n.PhoneNumberFormat('CN', option);
1242  ```
1243
1244### isValidNumber<sup>8+</sup>
1245
1246isValidNumber(number: string): boolean
1247
1248判断传入的电话号码格式是否正确。
1249
1250**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1251
1252**系统能力**:SystemCapability.Global.I18n
1253
1254**参数:**
1255
1256| 参数名    | 类型     | 必填   | 说明        |
1257| ------ | ------ | ---- | --------- |
1258| number | string | 是    | 待判断的电话号码。 |
1259
1260**返回值:**
1261
1262| 类型      | 说明                                    |
1263| ------- | ------------------------------------- |
1264| boolean | true表示电话号码的格式正确,false表示电话号码的格式错误。 |
1265
1266**示例:**
1267  ```ts
1268  let phonenumberfmt: i18n.PhoneNumberFormat = new i18n.PhoneNumberFormat('CN');
1269  let isValidNumber: boolean = phonenumberfmt.isValidNumber('158****2312'); // isValidNumber = true
1270  ```
1271
1272
1273### format<sup>8+</sup>
1274
1275format(number: string): string
1276
1277对电话号码进行格式化。
1278
1279> **说明**
1280> 从API version 12开始,支持对拨号中的号码进行格式化。
1281
1282**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1283
1284**系统能力**:SystemCapability.Global.I18n
1285
1286**参数:**
1287
1288| 参数名    | 类型     | 必填   | 说明         |
1289| ------ | ------ | ---- | ---------- |
1290| number | string | 是    | 待格式化的电话号码。 |
1291
1292**返回值:**
1293
1294| 类型     | 说明         |
1295| ------ | ---------- |
1296| string | 格式化后的电话号码。 |
1297
1298**示例:**
1299  ```ts
1300  let phonenumberfmt: i18n.PhoneNumberFormat = new i18n.PhoneNumberFormat('CN');
1301  // formattedPhoneNumber = '158 **** 2312'
1302  let formattedPhoneNumber: string = phonenumberfmt.format('158****2312');
1303
1304  // 拨号中的号码格式化
1305  let option: i18n.PhoneNumberFormatOptions = { type: 'TYPING' };
1306  let phoneNumberFmt: i18n.PhoneNumberFormat = new i18n.PhoneNumberFormat('CN', option);
1307  let phoneNumber: string = '130493';
1308  let formatResult: string = '';
1309  for (let i = 0; i < phoneNumber.length; i++) {
1310    formatResult += phoneNumber.charAt(i);
1311    formatResult = phoneNumberFmt.format(formatResult); // formatResult = '130 493'
1312  }
1313  ```
1314
1315### getLocationName<sup>9+</sup>
1316
1317getLocationName(number: string, locale: string): string
1318
1319判断电话号码归属地。
1320
1321**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1322
1323**系统能力**:SystemCapability.Global.I18n
1324
1325**参数:**
1326
1327| 参数名    | 类型     | 必填   | 说明   |
1328| ------ | ------ | ---- | ---- |
1329| number | string | 是    | 电话号码。获取其他地区号码的归属地时,需要在号码前加00+国际区号。 |
1330| locale | string | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。 |
1331
1332**返回值:**
1333
1334| 类型     | 说明       |
1335| ------ | -------- |
1336| string | 电话号码归属地。 |
1337
1338**示例:**
1339  ```ts
1340  let phonenumberfmt: i18n.PhoneNumberFormat = new i18n.PhoneNumberFormat('CN');
1341  let locationName: string = phonenumberfmt.getLocationName('158****2345', 'zh-CN'); // locationName = '广东省湛江市'
1342  let locName: string = phonenumberfmt.getLocationName('0039312****789', 'zh-CN'); // locName = '意大利'
1343  ```
1344
1345
1346## PhoneNumberFormatOptions<sup>8+</sup>
1347
1348电话号码格式化时可设置的配置项。
1349
1350**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1351
1352**系统能力**:SystemCapability.Global.I18n
1353
1354| 名称   | 类型     | 可读   | 可写   | 说明                                       |
1355| ---- | ------ | ---- | ---- | ---------------------------------------- |
1356| type | string | 是    | 是    | 表示对电话号码格式化的类型,取值包括:'E164',&nbsp;'INTERNATIONAL',&nbsp;'NATIONAL',&nbsp;'RFC3966',&nbsp;'TYPING'。<br>-在API version 8版本,type为必填项。 <br>-API version 9版本开始,type为选填项。<br>-API version 12版本开始支持TYPING,表示对拨号中的号码格式化。|
1357
1358
1359## UnitInfo<sup>8+</sup>
1360
1361度量衡单位信息。
1362
1363**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1364
1365**系统能力**:SystemCapability.Global.I18n
1366
1367| 名称            | 类型     | 可读   | 可写   | 说明                                       |
1368| ------------- | ------ | ---- | ---- | ---------------------------------------- |
1369| unit          | string | 是    | 是    | 单位的名称,如:'meter',&nbsp;'inch',&nbsp;'cup'等。 |
1370| measureSystem | string | 是    | 是    | 单位的度量体系,取值包括:'SI',&nbsp;'US',&nbsp;'UK'。 |
1371
1372
1373## i18n.getInstance<sup>8+</sup>
1374
1375getInstance(locale?: string): IndexUtil
1376
1377创建并返回IndexUtil对象。
1378
1379**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1380
1381**系统能力**:SystemCapability.Global.I18n
1382
1383**参数:**
1384
1385| 参数名    | 类型     | 必填   | 说明                           |
1386| ------ | ------ | ---- | ---------------------------- |
1387| locale | string | 否    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。<br>默认值:系统当前区域ID。 |
1388
1389**返回值:**
1390
1391| 类型                       | 说明                    |
1392| ------------------------ | --------------------- |
1393| [IndexUtil](#indexutil8) | 根据区域ID创建的IndexUtil对象。 |
1394
1395**示例:**
1396  ```ts
1397  let indexUtil: i18n.IndexUtil = i18n.getInstance('zh-CN');
1398  ```
1399
1400
1401## IndexUtil<sup>8+</sup>
1402
1403**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1404
1405### getIndexList<sup>8+</sup>
1406
1407getIndexList(): Array&lt;string&gt;
1408
1409获取当前区域的索引列表。
1410
1411**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1412
1413**系统能力**:SystemCapability.Global.I18n
1414
1415**返回值:**
1416
1417| 类型                  | 说明                 |
1418| ------------------- | ------------------ |
1419| Array&lt;string&gt; | 返回当前区域的索引列表。 |
1420
1421**示例:**
1422  ```ts
1423  let indexUtil: i18n.IndexUtil = i18n.getInstance('zh-CN');
1424  // indexList = [ '...', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N',
1425  //              'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '...' ]
1426  let indexList: Array<string> = indexUtil.getIndexList();
1427  ```
1428
1429
1430### addLocale<sup>8+</sup>
1431
1432addLocale(locale: string): void
1433
1434在当前区域的索引列表中,添加新区域的索引列表,形成复合列表。
1435
1436**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1437
1438**系统能力**:SystemCapability.Global.I18n
1439
1440**参数:**
1441
1442| 参数名    | 类型     | 必填   | 说明                           |
1443| ------ | ------ | ---- | ---------------------------- |
1444| locale | string | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。 |
1445
1446**示例:**
1447  ```ts
1448  let indexUtil: i18n.IndexUtil = i18n.getInstance('zh-CN');
1449  indexUtil.addLocale('en-US');
1450  ```
1451
1452### getIndex<sup>8+</sup>
1453
1454getIndex(text: string): string
1455
1456获取text对应的索引。
1457
1458**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1459
1460**系统能力**:SystemCapability.Global.I18n
1461
1462**参数:**
1463
1464| 参数名  | 类型     | 必填   | 说明           |
1465| ---- | ------ | ---- | ------------ |
1466| text | string | 是    | 待计算索引值的输入文本。 |
1467
1468**返回值:**
1469
1470| 类型     | 说明          |
1471| ------ | ----------- |
1472| string | 输入文本对应的索引值。 |
1473
1474**示例:**
1475  ```ts
1476  let indexUtil: i18n.IndexUtil = i18n.getInstance('zh-CN');
1477  let index: string = indexUtil.getIndex('hi'); // index = 'H'
1478  ```
1479
1480
1481## i18n.getLineInstance<sup>8+</sup>
1482
1483getLineInstance(locale: string): BreakIterator
1484
1485获取一个用于获取可换行点的[BreakIterator](#breakiterator8)对象。
1486
1487**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1488
1489**系统能力**:SystemCapability.Global.I18n
1490
1491**参数:**
1492
1493| 参数名    | 类型     | 必填   | 说明                                       |
1494| ------ | ------ | ---- | ---------------------------------------- |
1495| locale | string | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。<br>生成的[BreakIterator](#breakiterator8)将按照指定区域的规则计算可换行点的位置。 |
1496
1497**返回值:**
1498
1499| 类型                               | 说明          |
1500| -------------------------------- | ----------- |
1501| [BreakIterator](#breakiterator8) | 可换行点处理器。 |
1502
1503**示例:**
1504  ```ts
1505  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1506  ```
1507
1508
1509## BreakIterator<sup>8+</sup>
1510
1511
1512### setLineBreakText<sup>8+</sup>
1513
1514setLineBreakText(text: string): void
1515
1516设置BreakIterator要处理的文本。
1517
1518**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1519
1520**系统能力**:SystemCapability.Global.I18n
1521
1522**参数:**
1523
1524| 参数名  | 类型     | 必填   | 说明                      |
1525| ---- | ------ | ---- | ----------------------- |
1526| text | string | 是    | 指定BreakIterator获取可换行点的文本。 |
1527
1528**示例:**
1529  ```ts
1530  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1531  iterator.setLineBreakText('Apple is my favorite fruit.'); // 设置处理文本
1532  ```
1533
1534
1535### getLineBreakText<sup>8+</sup>
1536
1537getLineBreakText(): string
1538
1539获取BreakIterator当前处理的文本。
1540
1541**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1542
1543**系统能力**:SystemCapability.Global.I18n
1544
1545**返回值:**
1546
1547| 类型     | 说明                     |
1548| ------ | ---------------------- |
1549| string | BreakIterator对象正在处理的文本。 |
1550
1551**示例:**
1552  ```ts
1553  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1554  iterator.setLineBreakText('Apple is my favorite fruit.');
1555  let breakText: string = iterator.getLineBreakText(); // breakText = 'Apple is my favorite fruit.'
1556  ```
1557
1558
1559### current<sup>8+</sup>
1560
1561current(): number
1562
1563获取BreakIterator对象在处理文本中的位置。
1564
1565**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1566
1567**系统能力**:SystemCapability.Global.I18n
1568
1569**返回值:**
1570
1571| 类型     | 说明                          |
1572| ------ | --------------------------- |
1573| number | BreakIterator在当前所处理的文本中的位置。 |
1574
1575**示例:**
1576  ```ts
1577  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1578  iterator.setLineBreakText('Apple is my favorite fruit.');
1579  let currentPos: number = iterator.current(); // currentPos = 0
1580  ```
1581
1582
1583### first<sup>8+</sup>
1584
1585first(): number
1586
1587将BreakIterator移动到第一个可换行点。第一个可换行点总是在被处理文本的起始位置。
1588
1589**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1590
1591**系统能力**:SystemCapability.Global.I18n
1592
1593**返回值:**
1594
1595| 类型     | 说明                |
1596| ------ | ----------------- |
1597| number | 被处理文本的第一个可换行点的偏移量。 |
1598
1599**示例:**
1600  ```ts
1601  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1602  iterator.setLineBreakText('Apple is my favorite fruit.');
1603  let firstPos: number = iterator.first(); // firstPos = 0
1604  ```
1605
1606
1607### last<sup>8+</sup>
1608
1609last(): number
1610
1611将BreakIterator移动到最后一个可换行点。最后一个可换行点总是在被处理文本末尾的下一个位置。
1612
1613**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1614
1615**系统能力**:SystemCapability.Global.I18n
1616
1617**返回值:**
1618
1619| 类型     | 说明                 |
1620| ------ | ------------------ |
1621| number | 被处理文本的最后一个可换行点的偏移量。 |
1622
1623**示例:**
1624  ```ts
1625  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1626  iterator.setLineBreakText('Apple is my favorite fruit.');
1627  let lastPos: number = iterator.last(); // lastPos = 27
1628  ```
1629
1630
1631### next<sup>8+</sup>
1632
1633next(index?: number): number
1634
1635将BreakIterator向后移动相应个可换行点。
1636
1637**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1638
1639**系统能力**:SystemCapability.Global.I18n
1640
1641**参数:**
1642
1643| 参数名   | 类型     | 必填   | 说明                                       |
1644| ----- | ------ | ---- | ---------------------------------------- |
1645| index | number | 否    | BreakIterator将要移动的可换行点数。<br>正数代表向后移动,即将BreakIterator向后移动index个可换行点;负数代表向前移动,即向前移动相应个可换行点。<br>默认值:1。 |
1646
1647**返回值:**
1648
1649| 类型     | 说明                                       |
1650| ------ | ---------------------------------------- |
1651| number | 移动了index个可换行点后,当前BreakIterator在文本中的位置。<br>若移动index个可换行点后超出了所处理的文本的长度范围,返回-1。 |
1652
1653**示例:**
1654  ```ts
1655  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1656  iterator.setLineBreakText('Apple is my favorite fruit.');
1657  let pos: number = iterator.first(); // pos = 0
1658  pos = iterator.next(); // pos = 6
1659  pos = iterator.next(10); // pos = -1
1660  ```
1661
1662
1663### previous<sup>8+</sup>
1664
1665previous(): number
1666
1667将BreakIterator向前移动一个可换行点。
1668
1669**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1670
1671**系统能力**:SystemCapability.Global.I18n
1672
1673**返回值:**
1674
1675| 类型     | 说明                                       |
1676| ------ | ---------------------------------------- |
1677| number | 移动到前一个可换行点后,当前BreakIterator在文本中的位置。<br>若移动index个可换行点后超出了所处理的文本的长度范围,返回-1。 |
1678
1679**示例:**
1680  ```ts
1681  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1682  iterator.setLineBreakText('Apple is my favorite fruit.');
1683  let pos: number = iterator.first(); // pos = 0
1684  pos = iterator.next(3); // pos = 12
1685  pos = iterator.previous(); // pos = 9
1686  ```
1687
1688
1689### following<sup>8+</sup>
1690
1691following(offset: number): number
1692
1693将BreakIterator移动到指定位置后面一个可换行点。
1694
1695**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1696
1697**系统能力**:SystemCapability.Global.I18n
1698
1699**参数:**
1700
1701| 参数名    | 类型     | 必填   | 说明                                       |
1702| ------ | ------ | ---- | ---------------------------------------- |
1703| offset | number | 是    | 将BreakIterator移动到指定位置的后面一个可换行点。 |
1704
1705**返回值:**
1706
1707| 类型     | 说明                                       |
1708| ------ | ---------------------------------------- |
1709| number | BreakIterator移动后的位置。若offset所指定位置的下一个可换行点超出了文本的范围,则返回-1。 |
1710
1711**示例:**
1712  ```ts
1713  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1714  iterator.setLineBreakText('Apple is my favorite fruit.');
1715  let pos: number = iterator.following(0); // pos = 6
1716  pos = iterator.following(100); // pos = -1
1717  pos = iterator.current(); // pos = 27
1718  ```
1719
1720
1721### isBoundary<sup>8+</sup>
1722
1723isBoundary(offset: number): boolean
1724
1725判断指定位置是否为可换行点。
1726
1727**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1728
1729**系统能力**:SystemCapability.Global.I18n
1730
1731**参数:**
1732
1733| 参数名    | 类型     | 必填   | 说明          |
1734| ------ | ------ | ---- | ----------- |
1735| offset | number | 是    | 指定位置。 |
1736
1737**返回值:**
1738
1739| 类型      | 说明                              |
1740| ------- | ------------------------------- |
1741| boolean | true表示offset指定的文本位置是一个可换行点,false表示offset指定的文本位置不是一个可换行点。<br>返回true时,会将BreakIterator对象移动到offset指定的位置,否则相当于调用following。 |
1742
1743**示例:**
1744  ```ts
1745  let iterator: i18n.BreakIterator = i18n.getLineInstance('en');
1746  iterator.setLineBreakText('Apple is my favorite fruit.');
1747  let isBoundary: boolean = iterator.isBoundary(0); // isBoundary = true;
1748  isBoundary = iterator.isBoundary(5); // isBoundary = false;
1749  ```
1750
1751
1752## i18n.getTimeZone
1753
1754getTimeZone(zoneID?: string): TimeZone
1755
1756获取时区ID对应的时区对象。
1757
1758**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1759
1760**系统能力**:SystemCapability.Global.I18n
1761
1762**参数:**
1763
1764| 参数名    | 类型     | 必填   | 说明    |
1765| ------ | ------ | ---- | ----- |
1766| zoneID | string | 否    | 时区ID。默认值:系统时区。 |
1767
1768**返回值:**
1769
1770| 类型       | 说明           |
1771| -------- | ------------ |
1772| [TimeZone](#timezone) | 时区ID对应的时区对象。 |
1773
1774**示例:**
1775  ```ts
1776  let timezone: i18n.TimeZone = i18n.getTimeZone('Asia/Shanghai');
1777  ```
1778
1779## TimeZone
1780
1781### getID
1782
1783getID(): string
1784
1785获取时区对象的ID。
1786
1787**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1788
1789**系统能力**:SystemCapability.Global.I18n
1790
1791**返回值:**
1792
1793| 类型     | 说明           |
1794| ------ | ------------ |
1795| string | 时区对象对应的时区ID。 |
1796
1797**示例:**
1798  ```ts
1799  let timezone: i18n.TimeZone = i18n.getTimeZone('Asia/Shanghai');
1800  let timezoneID: string = timezone.getID(); // timezoneID = 'Asia/Shanghai'
1801  ```
1802
1803
1804### getDisplayName
1805
1806getDisplayName(locale?: string, isDST?: boolean): string
1807
1808获取时区对象的本地化表示。
1809
1810**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1811
1812**系统能力**:SystemCapability.Global.I18n
1813
1814**参数:**
1815
1816| 参数名    | 类型      | 必填   | 说明                   |
1817| ------ | ------- | ---- | -------------------- |
1818| locale | string  | 否    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。默认值:系统当前区域ID。                |
1819| isDST  | boolean | 否    | true表示时区对象本地化时考虑夏令时,false表示时区对象本地化时不考虑夏令时。默认值:false。 |
1820
1821**返回值:**
1822
1823| 类型     | 说明            |
1824| ------ | ------------- |
1825| string | 时区对象在指定区域的本地化表示。 |
1826
1827**示例:**
1828  ```ts
1829  let timezone: i18n.TimeZone = i18n.getTimeZone('Asia/Shanghai');
1830  let timezoneName: string = timezone.getDisplayName('zh-CN', false); // timezoneName = '中国标准时间'
1831  ```
1832
1833
1834### getRawOffset
1835
1836getRawOffset(): number
1837
1838获取时区对象表示的时区与UTC时区的偏差。
1839
1840**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1841
1842**系统能力**:SystemCapability.Global.I18n
1843
1844**返回值:**
1845
1846| 类型     | 说明                  |
1847| ------ | ------------------- |
1848| number | 时区对象表示的时区与UTC时区的偏差,单位是毫秒。 |
1849
1850**示例:**
1851  ```ts
1852  let timezone: i18n.TimeZone = i18n.getTimeZone('Asia/Shanghai');
1853  let offset: number = timezone.getRawOffset(); // offset = 28800000
1854  ```
1855
1856
1857### getOffset
1858
1859getOffset(date?: number): number
1860
1861获取某一时刻时区对象表示的时区与UTC时区的偏差。
1862
1863**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1864
1865**系统能力**:SystemCapability.Global.I18n
1866
1867**参数:**
1868
1869| 参数名    | 类型     | 必填   | 说明     |
1870| ------ | ------ | ---- | ------ |
1871| date | number | 否    | 待计算偏差的时刻,单位是毫秒。默认值:系统时间。 |
1872
1873**返回值:**
1874
1875| 类型     | 说明                      |
1876| ------ | ----------------------- |
1877| number | 某一时刻时区对象表示的时区与UTC时区的偏差。 |
1878
1879**示例:**
1880  ```ts
1881  let timezone: i18n.TimeZone = i18n.getTimeZone('Asia/Shanghai');
1882  let offset: number = timezone.getOffset(1234567890); // offset = 28800000
1883  ```
1884
1885
1886### getAvailableIDs<sup>9+</sup>
1887
1888static getAvailableIDs(): Array&lt;string&gt;
1889
1890获取系统支持的时区ID。
1891
1892**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1893
1894**系统能力**:SystemCapability.Global.I18n
1895
1896**返回值:**
1897
1898| 类型                  | 说明          |
1899| ------------------- | ----------- |
1900| Array&lt;string&gt; | 系统支持的时区ID列表。 |
1901
1902**示例:**
1903  ```ts
1904  // 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']
1905  let ids: Array<string> = i18n.TimeZone.getAvailableIDs();
1906  ```
1907
1908
1909### getAvailableZoneCityIDs<sup>9+</sup>
1910
1911static getAvailableZoneCityIDs(): Array&lt;string&gt;
1912
1913获取系统支持的时区城市ID。
1914
1915**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1916
1917**系统能力**:SystemCapability.Global.I18n
1918
1919**返回值:**
1920
1921| 类型                  | 说明            |
1922| ------------------- | ------------- |
1923| Array&lt;string&gt; | 系统支持的时区城市ID列表。 |
1924
1925**示例:**
1926  ```ts
1927  // 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']
1928  let cityIDs: Array<string> = i18n.TimeZone.getAvailableZoneCityIDs();
1929  ```
1930
1931### getCityDisplayName<sup>9+</sup>
1932
1933static getCityDisplayName(cityID: string, locale: string): string
1934
1935获取某时区城市在该区域的本地化显示。
1936
1937**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1938
1939**系统能力**:SystemCapability.Global.I18n
1940
1941**参数:**
1942
1943| 参数名    | 类型     | 必填   | 说明     |
1944| ------ | ------ | ---- | ------ |
1945| cityID | string | 是    | 时区城市ID。 |
1946| locale | string | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。  |
1947
1948**返回值:**
1949
1950| 类型     | 说明                 |
1951| ------ | ------------------ |
1952| string | 时区城市在某区域的本地化显示。 |
1953
1954**示例:**
1955  ```ts
1956  let displayName: string = i18n.TimeZone.getCityDisplayName('Shanghai', 'zh-CN'); // displayName = '上海 (中国)'
1957  ```
1958
1959
1960### getTimezoneFromCity<sup>9+</sup>
1961
1962static getTimezoneFromCity(cityID: string): TimeZone
1963
1964创建某时区城市对应的时区对象。
1965
1966**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1967
1968**系统能力**:SystemCapability.Global.I18n
1969
1970**参数:**
1971
1972| 参数名    | 类型     | 必填   | 说明     |
1973| ------ | ------ | ---- | ------ |
1974| cityID | string | 是    | 时区城市ID。 |
1975
1976**返回值:**
1977
1978| 类型       | 说明          |
1979| -------- | ----------- |
1980| TimeZone | 时区城市对应的时区对象。 |
1981
1982**示例:**
1983  ```ts
1984  let timezone: i18n.TimeZone = i18n.TimeZone.getTimezoneFromCity('Shanghai');
1985  ```
1986
1987### getTimezonesByLocation<sup>10+</sup>
1988
1989static getTimezonesByLocation(longitude: number, latitude: number): Array&lt;TimeZone&gt;
1990
1991创建某经纬度对应的时区对象数组。
1992
1993**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
1994
1995**系统能力**:SystemCapability.Global.I18n
1996
1997**参数:**
1998
1999| 参数名     | 类型     | 必填   | 说明     |
2000| --------- | ------ | ---- | ------ |
2001| longitude | number | 是    | 经度, 范围[-180, 179.9), 东经取正值, 西经取负值。 |
2002| latitude  | number | 是    | 纬度, 范围[-90, 89.9), 北纬取正值, 南纬取负值。 |
2003
2004**返回值:**
2005
2006| 类型       | 说明          |
2007| -------- | ----------- |
2008| Array&lt;[TimeZone](#timezone)&gt; | 时区对象数组。 |
2009
2010**错误码:**
2011
2012以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
2013
2014| 错误码ID  | 错误信息                   |
2015| ------ | ---------------------- |
2016| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2017| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
2018
2019
2020> **说明**
2021>
2022> 890001的报错信息请以接口的实际报错为准。
2023
2024**示例:**
2025  ```ts
2026  import { BusinessError } from '@kit.BasicServicesKit';
2027
2028  try {
2029    let timezoneArray: Array<i18n.TimeZone> = i18n.TimeZone.getTimezonesByLocation(-118.1, 34.0);
2030  } catch (error) {
2031    let err: BusinessError = error as BusinessError;
2032    console.error(`call TimeZone.getTimezonesByLocation failed, error code: ${err.code}, message: ${err.message}.`);
2033  }
2034  ```
2035
2036
2037## Transliterator<sup>9+</sup>
2038
2039
2040### getAvailableIDs<sup>9+</sup>
2041
2042static getAvailableIDs(): string[]
2043
2044获取音译支持的转换ID列表。
2045
2046**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2047
2048**系统能力**:SystemCapability.Global.I18n
2049
2050**返回值:**
2051
2052| 类型       | 说明         |
2053| -------- | ---------- |
2054| string[] | 音译支持的转换ID列表。 |
2055
2056**示例:**
2057  ```ts
2058  // 共支持742个ID。每一个ID由使用中划线分割的两部分组成,格式为 source-destination。例如ids = ['Han-Latin','Latin-ASCII', 'Amharic-Latin/BGN','Accents-Any', ...],Han-Latin表示汉语转为译拉丁文,Amharic-Latin表示阿姆哈拉语转为拉丁文。
2059  // 更多使用信息可以参考ISO-15924。
2060  let ids: string[] = i18n.Transliterator.getAvailableIDs();
2061  ```
2062
2063
2064### getInstance<sup>9+</sup>
2065
2066static getInstance(id: string): Transliterator
2067
2068创建音译对象。
2069
2070**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2071
2072**系统能力**:SystemCapability.Global.I18n
2073
2074**参数:**
2075
2076| 参数名  | 类型     | 必填   | 说明       |
2077| ---- | ------ | ---- | -------- |
2078| id   | string | 是    | 音译支持的转换ID。 |
2079
2080**返回值:**
2081
2082| 类型                                 | 说明    |
2083| ---------------------------------- | ----- |
2084| [Transliterator](#transliterator9) | 音译对象。 |
2085
2086**示例:**
2087  ```ts
2088  let transliterator: i18n.Transliterator = i18n.Transliterator.getInstance('Any-Latn');
2089  ```
2090
2091
2092### transform<sup>9+</sup>
2093
2094transform(text: string): string
2095
2096将输入字符串从源格式转换为目标格式。
2097
2098**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2099
2100**系统能力**:SystemCapability.Global.I18n
2101
2102**参数:**
2103
2104| 参数名  | 类型     | 必填   | 说明     |
2105| ---- | ------ | ---- | ------ |
2106| text | string | 是    | 输入字符串。 |
2107
2108**返回值:**
2109
2110| 类型     | 说明       |
2111| ------ | -------- |
2112| string | 转换后的字符串。 |
2113
2114**示例:**
2115  ```ts
2116  let transliterator: i18n.Transliterator = i18n.Transliterator.getInstance('Any-Latn');
2117  let wordArray = ['中国', '德国', '美国', '法国']
2118  for (let i = 0; i < wordArray.length; i++) {
2119    let transliterLatn =
2120      transliterator.transform(wordArray[i]); // transliterLatn依次为:'zhōng guó', 'dé guó', 'měi guó', 'fǎ guó'
2121  }
2122
2123  // 汉语音译去声调
2124  let transliter = i18n.Transliterator.getInstance('Any-Latn;Latin-Ascii');
2125  let transliterAscii = transliter.transform('中国'); // transliterAscii = 'zhong guo'
2126
2127  // 汉语姓氏读音
2128  let nameTransliter = i18n.Transliterator.getInstance('Han-Latin/Names');
2129  let transliterNames = nameTransliter.transform('单老师'); // transliterNames = 'shàn lǎo shī'
2130  transliterNames = nameTransliter.transform('长孙无忌'); // transliterNames = 'zhǎng sūn wú jì'
2131  ```
2132
2133
2134## Unicode<sup>9+</sup>
2135
2136**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2137
2138### isDigit<sup>9+</sup>
2139
2140static isDigit(char: string): boolean
2141
2142判断字符串char是否是数字。
2143
2144**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2145
2146**系统能力**:SystemCapability.Global.I18n
2147
2148**参数:**
2149
2150| 参数名  | 类型     | 必填   | 说明    |
2151| ---- | ------ | ---- | ----- |
2152| char | string | 是    | 输入字符串。 |
2153
2154**返回值:**
2155
2156| 类型      | 说明                                   |
2157| ------- | ------------------------------------ |
2158| boolean | true表示输入的字符是数字,false表示输入的字符不是数字。 |
2159
2160**示例:**
2161  ```ts
2162  let isDigit: boolean = i18n.Unicode.isDigit('1'); // isDigit = true
2163  ```
2164
2165
2166### isSpaceChar<sup>9+</sup>
2167
2168static isSpaceChar(char: string): boolean
2169
2170判断字符串char是否是空格符。
2171
2172**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2173
2174**系统能力**:SystemCapability.Global.I18n
2175
2176**参数:**
2177
2178| 参数名  | 类型     | 必填   | 说明    |
2179| ---- | ------ | ---- | ----- |
2180| char | string | 是    | 输入字符串。 |
2181
2182**返回值:**
2183
2184| 类型      | 说明                                     |
2185| ------- | -------------------------------------- |
2186| boolean | true表示输入的字符是空格符,false表示输入的字符不是空格符。 |
2187
2188**示例:**
2189  ```ts
2190  let isSpacechar: boolean = i18n.Unicode.isSpaceChar('a'); // isSpacechar = false
2191  ```
2192
2193
2194### isWhitespace<sup>9+</sup>
2195
2196static isWhitespace(char: string): boolean
2197
2198判断字符串char是否是空白符。
2199
2200**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2201
2202**系统能力**:SystemCapability.Global.I18n
2203
2204**参数:**
2205
2206| 参数名  | 类型     | 必填   | 说明    |
2207| ---- | ------ | ---- | ----- |
2208| char | string | 是    | 字符串。 |
2209
2210**返回值:**
2211
2212| 类型      | 说明                                     |
2213| ------- | -------------------------------------- |
2214| boolean | true表示输入的字符是空白符,false表示输入的字符不是空白符。 |
2215
2216**示例:**
2217  ```ts
2218  let isWhitespace: boolean = i18n.Unicode.isWhitespace('a'); // isWhitespace = false
2219  ```
2220
2221
2222### isRTL<sup>9+</sup>
2223
2224static isRTL(char: string): boolean
2225
2226判断字符串char是否是从右到左语言的字符。
2227
2228**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2229
2230**系统能力**:SystemCapability.Global.I18n
2231
2232**参数:**
2233
2234| 参数名  | 类型     | 必填   | 说明    |
2235| ---- | ------ | ---- | ----- |
2236| char | string | 是    | 输入字符。 |
2237
2238**返回值:**
2239
2240| 类型      | 说明                                       |
2241| ------- | ---------------------------------------- |
2242| boolean | true表示输入的字符是从右到左语言的字符,false表示输入的字符不是从右到左语言的字符。 |
2243
2244**示例:**
2245  ```ts
2246  let isRtl: boolean = i18n.Unicode.isRTL('a'); // isRtl = false
2247  ```
2248
2249
2250### isIdeograph<sup>9+</sup>
2251
2252static isIdeograph(char: string): boolean
2253
2254判断字符串char是否是表意文字。
2255
2256**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2257
2258**系统能力**:SystemCapability.Global.I18n
2259
2260**参数:**
2261
2262| 参数名  | 类型     | 必填   | 说明    |
2263| ---- | ------ | ---- | ----- |
2264| char | string | 是    | 输入字符。 |
2265
2266**返回值:**
2267
2268| 类型      | 说明                                       |
2269| ------- | ---------------------------------------- |
2270| boolean | true表示输入的字符是表意文字,false表示输入的字符不是表意文字。 |
2271
2272**示例:**
2273  ```ts
2274  let isIdeograph: boolean = i18n.Unicode.isIdeograph('a'); // isIdeograph = false
2275  ```
2276
2277
2278### isLetter<sup>9+</sup>
2279
2280static isLetter(char: string): boolean
2281
2282判断字符串char是否是字母。
2283
2284**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2285
2286**系统能力**:SystemCapability.Global.I18n
2287
2288**参数:**
2289
2290| 参数名  | 类型     | 必填   | 说明    |
2291| ---- | ------ | ---- | ----- |
2292| char | string | 是    | 输入字符。 |
2293
2294**返回值:**
2295
2296| 类型      | 说明                                   |
2297| ------- | ------------------------------------ |
2298| boolean | true表示输入的字符是字母,false表示输入的字符不是字母。 |
2299
2300**示例:**
2301  ```ts
2302  let isLetter: boolean = i18n.Unicode.isLetter('a'); // isLetter = true
2303  ```
2304
2305
2306### isLowerCase<sup>9+</sup>
2307
2308static isLowerCase(char: string): boolean
2309
2310判断字符串char是否是小写字母。
2311
2312**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2313
2314**系统能力**:SystemCapability.Global.I18n
2315
2316**参数:**
2317
2318| 参数名  | 类型     | 必填   | 说明    |
2319| ---- | ------ | ---- | ----- |
2320| char | string | 是    | 输入字符。 |
2321
2322**返回值:**
2323
2324| 类型      | 说明                                       |
2325| ------- | ---------------------------------------- |
2326| boolean | true表示输入的字符是小写字母,false表示输入的字符不是小写字母。 |
2327
2328**示例:**
2329  ```ts
2330  let isLowercase: boolean = i18n.Unicode.isLowerCase('a'); // isLowercase = true
2331  ```
2332
2333
2334### isUpperCase<sup>9+</sup>
2335
2336static isUpperCase(char: string): boolean
2337
2338判断字符串char是否是大写字母。
2339
2340**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2341
2342**系统能力**:SystemCapability.Global.I18n
2343
2344**参数:**
2345
2346| 参数名  | 类型     | 必填   | 说明    |
2347| ---- | ------ | ---- | ----- |
2348| char | string | 是    | 输入字符。 |
2349
2350**返回值:**
2351
2352| 类型      | 说明                                       |
2353| ------- | ---------------------------------------- |
2354| boolean | true表示输入的字符是大写字母,false表示输入的字符不是大写字母。 |
2355
2356**示例:**
2357  ```ts
2358  let isUppercase: boolean = i18n.Unicode.isUpperCase('a'); // isUppercase = false
2359  ```
2360
2361
2362### getType<sup>9+</sup>
2363
2364static getType(char: string): string
2365
2366获取输入字符串的一般类别值。
2367
2368**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2369
2370**系统能力**:SystemCapability.Global.I18n
2371
2372**参数:**
2373
2374| 参数名  | 类型     | 必填   | 说明    |
2375| ---- | ------ | ---- | ----- |
2376| char | string | 是    | 输入字符。 |
2377
2378**返回值:**
2379
2380| 类型     | 说明          |
2381| ------ | ----------- |
2382| string | 输入字符的一般类别值。|
2383
2384一般类别值如下,更详细的介绍可以参考Unicode标准。
2385
2386| 名称 | 值 | 说明 |
2387| ---- | -------- | ---------- |
2388| U_UNASSIGNED | U_UNASSIGNED | 表示未分配和非字符代码点对应类别。 |
2389| U_GENERAL_OTHER_TYPES | U_GENERAL_OTHER_TYPES | 与 U_UNASSIGNED 相同。 |
2390| U_UPPERCASE_LETTER | U_UPPERCASE_LETTER | 表示大写字母。 |
2391| U_LOWERCASE_LETTER | U_LOWERCASE_LETTER | 表示小写字母。  |
2392| U_TITLECASE_LETTER | U_TITLECASE_LETTER | 表示首字母大写。 |
2393| U_MODIFIER_LETTER | U_MODIFIER_LETTER | 表示字母修饰符。 |
2394| U_OTHER_LETTER | U_OTHER_LETTER | 表示其它字母,不属于大写字母、小写字母、首字母大写或修饰符字母的字母。 |
2395| U_NON_SPACING_MARK | U_NON_SPACING_MARK | 表示非间距标记,如重音符号',变音符号#。 |
2396| U_ENCLOSING_MARK | U_ENCLOSING_MARK | 表示封闭标记和能围住其它字符的标记,如圆圈、方框等。 |
2397| U_COMBINING_SPACING_MARK | U_COMBINING_SPACING_MARK | 表示间距标记,如元音符号[ ]。 |
2398| U_DECIMAL_DIGIT_NUMBER | U_DECIMAL_DIGIT_NUMBER | 表示十进制数字。 |
2399| U_LETTER_NUMBER | U_LETTER_NUMBER | 表示字母数字,罗马数字。 |
2400| U_OTHER_NUMBER | U_OTHER_NUMBER | 表示其它作为加密符号和记号的数字,非阿拉伯数字的数字表示符,如@、#、(1)、①等。 |
2401| U_SPACE_SEPARATOR | U_SPACE_SEPARATOR | 表示空白分隔符,如空格符、不间断空格、固定宽度的空白符。 |
2402| U_LINE_SEPARATOR | U_LINE_SEPARATOR | 表示行分隔符。|
2403| U_PARAGRAPH_SEPARATOR | U_PARAGRAPH_SEPARATOR | 表示段落分割符。 |
2404| U_CONTROL_CHAR | U_CONTROL_CHAR | 表示控制字符。 |
2405| U_FORMAT_CHAR | U_FORMAT_CHAR | 表示格式字符。 |
2406| U_PRIVATE_USE_CHAR | U_PRIVATE_USE_CHAR | 表示私人使用区代码点类别,例如公司 logo。 |
2407| U_SURROGATE | U_SURROGATE | 表示代理项,在UTF-16中用来表示补充字符的方法。 |
2408| U_DASH_PUNCTUATION | U_DASH_PUNCTUATION | 表示短划线标点。 |
2409| U_START_PUNCTUATION | U_START_PUNCTUATION | 表示开始标点,如左括号。 |
2410| U_END_PUNCTUATION | U_END_PUNCTUATION | 表示结束标点,如右括号。 |
2411| U_INITIAL_PUNCTUATION | U_INITIAL_PUNCTUATION | 表示前引号,如左双引号、左单引号。 |
2412| U_FINAL_PUNCTUATION | U_FINAL_PUNCTUATION | 表示后引号,如右双引号、右单引号。 |
2413| U_CONNECTOR_PUNCTUATION | U_CONNECTOR_PUNCTUATION | 表示连接符标点。 |
2414| U_OTHER_PUNCTUATION | U_OTHER_PUNCTUATION | 表示其他标点。 |
2415| U_MATH_SYMBOL | U_MATH_SYMBOL | 表示数学符号。 |
2416| U_CURRENCY_SYMBOL | U_CURRENCY_SYMBOL | 表示货币符号。 |
2417| U_MODIFIER_SYMBOL | U_MODIFIER_SYMBOL | 表示修饰符号。 |
2418| U_OTHER_SYMBOL | U_OTHER_SYMBOL | 表示其它符号。 |
2419
2420**示例:**
2421  ```ts
2422  let unicodeType: string = i18n.Unicode.getType('a'); // unicodeType = 'U_LOWERCASE_LETTER'
2423  ```
2424
2425## I18NUtil<sup>9+</sup>
2426
2427
2428### unitConvert<sup>9+</sup>
2429
2430static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string
2431
2432将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。
2433
2434**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2435
2436**系统能力**:SystemCapability.Global.I18n
2437
2438**参数:**
2439
2440| 参数名      | 类型                     | 必填   | 说明                                       |
2441| -------- | ---------------------- | ---- | ---------------------------------------- |
2442| fromUnit | [UnitInfo](#unitinfo8) | 是    | 需要转换的单位。                                 |
2443| toUnit   | [UnitInfo](#unitinfo8) | 是    | 转换成的目标单位。                                 |
2444| value    | number                 | 是    | 需要转换的单位的数量值。                             |
2445| locale   | string                 | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成,如:zh-Hans-CN。                |
2446| style    | string                 | 否    | 格式化使用的风格,取值包括:'long',&nbsp;'short',&nbsp;'narrow'。默认值:short。<br>不同取值显示效果请参考[数字与度量衡国际化](../../internationalization/i18n-numbers-weights-measures.md)。 |
2447
2448**返回值:**
2449
2450| 类型     | 说明                      |
2451| ------ | ----------------------- |
2452| string | 按照toUnit的单位格式化后,得到的字符串。 |
2453
2454**示例:**
2455  ```ts
2456  let fromUnit: i18n.UnitInfo = { unit: 'cup', measureSystem: 'US' };
2457  let toUnit: i18n.UnitInfo = { unit: 'liter', measureSystem: 'SI' };
2458  let convertResult: string =
2459    i18n.I18NUtil.unitConvert(fromUnit, toUnit, 1000, 'en-US', 'long'); // convertResult = '236.588 liters'
2460  ```
2461
2462### getDateOrder<sup>9+</sup>
2463
2464static getDateOrder(locale: string): string
2465
2466获取某区域日期中年、月、日的排列顺序。
2467
2468**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2469
2470**系统能力**:SystemCapability.Global.I18n
2471
2472**参数:**
2473
2474| 参数名    | 类型     | 必填   | 说明                        |
2475| ------ | ------ | ---- | ------------------------- |
2476| locale | string | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成,如:zh-Hans-CN。 |
2477
2478**返回值:**
2479
2480| 类型     | 说明                  |
2481| ------ | ------------------- |
2482| string | 返回该区域年、月、日的排列顺序。 |
2483
2484**示例:**
2485  ```ts
2486  let order: string = i18n.I18NUtil.getDateOrder('zh-CN'); // order = 'y-L-d'
2487  ```
2488
2489
2490### getTimePeriodName<sup>11+</sup>
2491
2492static getTimePeriodName(hour:number, locale?: string): string
2493
2494获取某区域指定时间的本地化表达。
2495
2496**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2497
2498**系统能力**:SystemCapability.Global.I18n
2499
2500**参数:**
2501
2502| 参数名    | 类型     | 必填   | 说明                        |
2503| ------ | ------ | ---- | ------------------------- |
2504| hour | number | 是    | 指定的时间,如:16。 |
2505| locale | string | 否    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。如:zh-Hans-CN。<br>默认值:系统当前区域ID。|
2506
2507**返回值:**
2508
2509| 类型     | 说明                  |
2510| ------ | ------------------- |
2511| string | 返回某区域指定时间的本地化表达。 |
2512
2513**错误码:**
2514
2515以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
2516
2517| 错误码ID  | 错误信息                   |
2518| ------ | ---------------------- |
2519| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2520| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
2521
2522**示例:**
2523  ```ts
2524  import { BusinessError } from '@kit.BasicServicesKit';
2525
2526  try {
2527    let name: string = i18n.I18NUtil.getTimePeriodName(2, 'zh-CN'); // name = '凌晨'
2528  } catch (error) {
2529    let err: BusinessError = error as BusinessError;
2530    console.error(`call I18NUtil.getTimePeriodName failed, error code: ${err.code}, message: ${err.message}.`);
2531  }
2532  ```
2533
2534### getBestMatchLocale<sup>12+</sup>
2535
2536static getBestMatchLocale(locale: string, localeList: string[]): string
2537
2538在指定区域列表中获取与某个区域最佳匹配的区域。
2539
2540**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2541
2542**系统能力**:SystemCapability.Global.I18n
2543
2544**参数:**
2545
2546| 参数名    | 类型     | 必填   | 说明                        |
2547| ------ | ------ | ---- | ------------------------- |
2548| locale | string | 是    | 待匹配的[区域ID字符串](../../internationalization/i18n-locale-culture.md#实现原理),如:zh-Hans-CN。 |
2549| localeList | string[] | 是   | 被指定的区域ID字符串列表。 |
2550
2551**返回值:**
2552
2553| 类型     | 说明                  |
2554| ------ | ------------------- |
2555| string | 与某个区域最佳匹配的区域ID。当指定区域列表中没有匹配的区域时,返回空字串。 |
2556
2557**错误码:**
2558
2559以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
2560
2561| 错误码ID  | 错误信息                   |
2562| ------ | ---------------------- |
2563| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2564| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
2565
2566**示例:**
2567
2568  ```ts
2569  import { BusinessError } from '@kit.BasicServicesKit';
2570
2571  try {
2572    let matchedLocaleId: string = i18n.I18NUtil.getBestMatchLocale('zh-Hans-CN',
2573      ['en-Latn-US', 'en-GB', 'zh-Hant-CN', 'zh-Hans-MO']); // matchedLocaleId = 'zh-Hans-MO'
2574  } catch (error) {
2575    let err: BusinessError = error as BusinessError;
2576    console.error(`call I18NUtil.getBestMatchLocale failed, error code: ${err.code}, message: ${err.message}.`);
2577  }
2578  ```
2579
2580### getThreeLetterLanguage<sup>12+</sup>
2581
2582static getThreeLetterLanguage(locale: string): string
2583
2584将语言代码由二字母转换为三字母。<br>例如,中文的二字母语言代码是zh,对应的三字母语言代码是zho,更多详细信息可参考[ISO 639](https://www.iso.org/iso-639-language-code)2585
2586**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2587
2588**系统能力**:SystemCapability.Global.I18n
2589
2590**参数:**
2591
2592| 参数名 | 类型   | 必填 | 说明                     |
2593| ------ | ------ | ---- | ------------------------ |
2594| locale | string | 是   | 待转换的语言二字母代码,如:zh。 |
2595
2596**错误码:**
2597
2598以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
2599
2600| 错误码ID | 错误信息                                                     |
2601| -------- | ------------------------------------------------------------ |
2602| 401      | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2603| 890001   | Invalid parameter. Possible causes: Parameter verification failed. |
2604
2605**示例:**
2606
2607  ```ts
2608  import { BusinessError } from '@kit.BasicServicesKit';
2609
2610  try {
2611    let language: string = i18n.I18NUtil.getThreeLetterLanguage('zh') // language = 'zho'
2612  } catch (error) {
2613    let err: BusinessError = error as BusinessError;
2614    console.error(`call I18NUtil.getThreeLetterLanguage failed, error code: ${err.code}, message: ${err.message}.`);
2615  }
2616  ```
2617
2618### getThreeLetterRegion<sup>12+</sup>
2619
2620static getThreeLetterRegion(locale: string): string
2621
2622将地区的二字母代码转换为三字母。<br>例如,中国的二字母地区代码是CN, 三字母是CHN,更多详细信息可参考[ISO 3166](https://www.iso.org/iso-3166-country-codes.html)2623
2624**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2625
2626**系统能力**:SystemCapability.Global.I18n
2627
2628**参数:**
2629
2630| 参数名 | 类型   | 必填 | 说明                     |
2631| ------ | ------ | ---- | ------------------------ |
2632| locale | string | 是   | 待转换的地区二字母代码,如:CN。 |
2633
2634**错误码:**
2635
2636以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
2637
2638| 错误码ID | 错误信息                                                     |
2639| -------- | ------------------------------------------------------------ |
2640| 401      | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2641| 890001   | Invalid parameter. Possible causes: Parameter verification failed. |
2642
2643**示例:**
2644
2645  ```ts
2646  import { BusinessError } from '@kit.BasicServicesKit';
2647
2648  try {
2649    let region: string = i18n.I18NUtil.getThreeLetterRegion('CN') // region = 'CHN'
2650  } catch (error) {
2651    let err: BusinessError = error as BusinessError;
2652    console.error(`call I18NUtil.getThreeLetterRegion failed, error code: ${err.code}, message: ${err.message}.`);
2653  }
2654  ```
2655
2656### getUnicodeWrappedFilePath<sup>18+</sup>
2657
2658static getUnicodeWrappedFilePath(path: string, delimiter?: string, locale?: intl.Locale): string
2659
2660文件路径镜像处理。<br>例如,将/data/out/tmp镜像处理后生成tmp/out/data/。
2661
2662**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
2663
2664**系统能力**:SystemCapability.Global.I18n
2665
2666**参数:**
2667
2668| 参数名 | 类型   | 必填 | 说明                     |
2669| ------ | ------ | ---- | ------------------------ |
2670| path | string | 是   | 待处理的路径,如:/data/out/tmp。 |
2671| delimiter | string | 否   | 路径分隔符,默认值:/。 |
2672| locale | [intl.Locale](./js-apis-intl.md#locale) | 否   | 区域对象,默认值:new intl.Locale([i18n.System.getSystemLocale()](#getsystemlocale9))。 |
2673
2674**错误码:**
2675
2676以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)。
2677
2678| 错误码ID | 错误信息                                                     |
2679| -------- | ------------------------------------------------------------ |
2680| 890001   | Invalid parameter. Possible causes: Parameter verification failed. |
2681
2682**示例:**
2683
2684  ```ts
2685  import { BusinessError } from '@kit.BasicServicesKit';
2686  import { intl } from '@kit.LocalizationKit';
2687
2688  try {
2689    let path: string = '/data/out/tmp';
2690    let delimiter: string = '/';
2691    let locale: intl.Locale = new intl.Locale('ar');
2692    let mirrorPath: string =
2693      i18n.I18NUtil.getUnicodeWrappedFilePath(path, delimiter, locale); // mirrorPath显示为: 'tmp/out/data/'
2694  } catch (error) {
2695    let err: BusinessError = error as BusinessError;
2696    console.error(`call I18NUtil.getUnicodeWrappedFilePath failed, error code: ${err.code}, message: ${err.message}.`);
2697  }
2698  ```
2699
2700## Normalizer<sup>10+</sup>
2701
2702
2703### getInstance<sup>10+</sup>
2704
2705static getInstance(mode: NormalizerMode): Normalizer
2706
2707获取文本标准化对象。
2708
2709**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2710
2711**系统能力**:SystemCapability.Global.I18n
2712
2713**参数:**
2714
2715| 参数名    | 类型     | 必填   | 说明                        |
2716| ------ | ------ | ---- | ------------------------- |
2717| mode | [NormalizerMode](#normalizermode10) | 是    | 文本标准化范式。 |
2718
2719**返回值:**
2720
2721| 类型     | 说明                  |
2722| ------ | ------------------- |
2723| [Normalizer](#normalizer10) | 返回指定范式的文本标准化对象。 |
2724
2725**错误码:**
2726
2727以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
2728
2729| 错误码ID  | 错误信息                   |
2730| ------ | ---------------------- |
2731| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2732
2733**示例:**
2734  ```ts
2735  import { BusinessError } from '@kit.BasicServicesKit';
2736
2737  try {
2738    let normalizer: i18n.Normalizer = i18n.Normalizer.getInstance(i18n.NormalizerMode.NFC);
2739  } catch (error) {
2740    let err: BusinessError = error as BusinessError;
2741    console.error(`call Normalizer.getInstance failed, error code: ${err.code}, message: ${err.message}.`);
2742  }
2743  ```
2744
2745
2746### normalize<sup>10+</sup>
2747
2748normalize(text: string): string
2749
2750对字符串进行标准化处理。
2751
2752**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2753
2754**系统能力**:SystemCapability.Global.I18n
2755
2756**参数:**
2757
2758| 参数名    | 类型     | 必填   | 说明                        |
2759| ------ | ------ | ---- | ------------------------- |
2760| text | string | 是    | 待标准化处理的字符串。 |
2761
2762**返回值:**
2763
2764| 类型     | 说明                  |
2765| ------ | ------------------- |
2766| string | 标准化处理后的字符串。 |
2767
2768**错误码:**
2769
2770以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
2771
2772| 错误码ID  | 错误信息                   |
2773| ------ | ---------------------- |
2774| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2775
2776**示例:**
2777  ```ts
2778  import { BusinessError } from '@kit.BasicServicesKit';
2779
2780  try {
2781    let normalizer: i18n.Normalizer = i18n.Normalizer.getInstance(i18n.NormalizerMode.NFC);
2782    let normalizedText: string = normalizer.normalize('\u1E9B\u0323'); // normalizedText = 'ẛ̣'
2783  } catch (error) {
2784    let err: BusinessError = error as BusinessError;
2785    console.error(`call Normalizer.getInstance failed, error code: ${err.code}, message: ${err.message}.`);
2786  }
2787  ```
2788
2789## NormalizerMode<sup>10+</sup>
2790
2791文本标准化范式的枚举。
2792
2793**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2794
2795**系统能力:** :SystemCapability.Global.I18n
2796
2797| 名称 | 值 | 说明 |
2798| -------- | -------- | -------- |
2799| NFC | 1 | NFC范式。 |
2800| NFD | 2 | NFD范式。 |
2801| NFKC | 3 | NFKC范式。 |
2802| NFKD | 4 | NFKD范式。 |
2803
2804
2805## HolidayManager<sup>11+</sup>
2806
2807
2808### constructor<sup>11+</sup>
2809
2810constructor(icsPath: String)
2811
2812创建HolidayManager对象。
2813
2814**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2815
2816**系统能力**:SystemCapability.Global.I18n
2817
2818**参数:**
2819
2820|   参数名  |      类型      | 必填 |     说明      |
2821| --------- | ------------- | ---- | ------------- |
2822| icsPath   | String | 是   | 在设备上有应用读取权限的iCalendar格式的ics文件路径。  |
2823
2824**错误码:**
2825
2826以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
2827
2828| 错误码ID  | 错误信息                   |
2829| ------ | ---------------------- |
2830| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2831| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
2832
2833**示例:**
2834  ```ts
2835  import { BusinessError } from '@kit.BasicServicesKit';
2836
2837  try {
2838    let holidayManager = new i18n.HolidayManager('/system/lib/US.ics');
2839  } catch (error) {
2840    let err: BusinessError = error as BusinessError;
2841    console.error(`call i18n.HolidayManager failed, error code: ${err.code}, message: ${err.message}.`);
2842  }
2843  ```
2844
2845### isHoliday<sup>11+</sup>
2846
2847isHoliday(date?: Date): boolean
2848
2849判断指定的日期是否是节假日。
2850
2851**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2852
2853**系统能力**:SystemCapability.Global.I18n
2854
2855**参数:**
2856
2857|   参数名  |      类型      | 必填 |     说明      |
2858| --------- | ---------------| ---- | ------------- |
2859| date      | Date           | 否   | 时间、日期。说明:月份从0开始计数,如0表示一月。<br>如果没有指定日期,默认为当天。|
2860
2861**返回值:**
2862
2863|       类型        |         说明          |
2864| ----------------- | ----------------------|
2865| boolean           | true表示指定的日期是节假日,false表示指定的日期不是节假日。 |
2866
2867**错误码:**
2868
2869以下错误码的详细介绍请参见[通用错误码](../errorcode-universal.md)。
2870
2871| 错误码ID  | 错误信息                   |
2872| ------ | ---------------------- |
2873| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2874
2875**示例:**
2876  ```ts
2877  import { BusinessError } from '@kit.BasicServicesKit';
2878
2879  try {
2880    // 需要将'/system/lib/US.ics'替换为实际ics文件路径
2881    let holidayManager: i18n.HolidayManager = new i18n.HolidayManager('/system/lib/US.ics');
2882    let isHoliday: boolean = holidayManager.isHoliday();
2883    isHoliday = holidayManager.isHoliday(new Date(2023, 5, 25)); // 时间日期为2023.06.25
2884  } catch (error) {
2885    let err: BusinessError = error as BusinessError;
2886    console.error(`call holidayManager.isHoliday failed, error code: ${err.code}, message: ${err.message}.`);
2887  }
2888  ```
2889
2890
2891### getHolidayInfoItemArray<sup>11+</sup>
2892
2893getHolidayInfoItemArray(year?: number): Array&lt;[HolidayInfoItem](#holidayinfoitem11)&gt;
2894
2895获取指定年的节假日信息列表。
2896
2897**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2898
2899**系统能力**:SystemCapability.Global.I18n
2900
2901**参数:**
2902
2903|   参数名  |      类型      | 必填 |     说明      |
2904| --------- | -------------  | ---- | ------------- |
2905| year      | number         | 否   | 年,例如2023。<br>如果没有指定年,默认为当年。|
2906
2907**返回值:**
2908
2909|       类型        |         说明          |
2910| ----------------- | -------------------- |
2911| Array&lt;[HolidayInfoItem](#holidayinfoitem11)&gt; | 返回节假日信息列表。 |
2912
2913**错误码:**
2914
2915以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)和[通用错误码](../errorcode-universal.md)。
2916
2917| 错误码ID  | 错误信息                   |
2918| ------ | ---------------------- |
2919| 401 | Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types. |
2920| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
2921
2922**示例:**
2923  ```ts
2924  import { BusinessError } from '@kit.BasicServicesKit';
2925
2926  try {
2927    // 需要将'/system/lib/US.ics'替换为实际ics文件路径
2928    let holidayManager: i18n.HolidayManager = new i18n.HolidayManager('/system/lib/US.ics');
2929    let holidayInfoItemArray: Array<i18n.HolidayInfoItem> = holidayManager.getHolidayInfoItemArray(2023);
2930  } catch (error) {
2931    let err: BusinessError = error as BusinessError;
2932    console.error(`call holidayManager.getHolidayInfoItemArray failed, error code: ${err.code}, message: ${err.message}.`);
2933  }
2934  ```
2935
2936## HolidayInfoItem<sup>11+</sup>
2937
2938节假日信息。
2939
2940**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2941
2942**系统能力**:SystemCapability.Global.I18n
2943
2944| 名称            | 类型             |  必填   |  说明                                   |
2945| --------------- | --------------- | ------  | --------------------------------------- |
2946| baseName        | string          |   是    | 节假日的英文名称。              |
2947| year            | number          |   是    | 节假日所在年。                   |
2948| month           | number          |   是    | 节假日所在月。          |
2949| day             | number          |   是    | 节假日所在日。                         |
2950| localNames      | Array&lt;[HolidayLocalName](#holidaylocalname11)&gt;          |   否    | 节假日的本地名称列表。          |
2951
2952## HolidayLocalName<sup>11+</sup>
2953
2954节假日本地名称。
2955
2956**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
2957
2958**系统能力**:SystemCapability.Global.I18n
2959
2960| 名称            | 类型             |  必填   |  说明                                   |
2961| --------------- | -----------------| ------  | --------------------------------------- |
2962| language        | string           |   是    | 节假日的本地语言,例如ar,en,tr。          |
2963| name            | string           |   是    | 节假日的本地名称,例如Sacrifice Feast(宰牲节)的土耳其语名称为Kurban Bayrami。      |
2964
2965
2966## i18n.getSimpleDateTimeFormatByPattern<sup>18+</sup>
2967
2968getSimpleDateTimeFormatByPattern(pattern: string, locale?: intl.Locale): SimpleDateTimeFormat
2969
2970通过模式字符串获取SimpleDateTimeFormat对象。与getSimpleDateTimeFormatBySkeleton接口获取的对象在格式化后显示差异请参考[SimpleDateTimeFormat](#simpledatetimeformat18)。
2971
2972**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
2973
2974**系统能力**:SystemCapability.Global.I18n
2975
2976**参数:**
2977
2978| 参数名    | 类型     | 必填   | 说明                                       |
2979| ------- | ----------- | ----- | ---------------------------------------- |
2980| pattern | string      | 是    | 合法的模式字符串,支持的字符及含义请参考[日期字段符号表](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)。同时,pattern支持传入自定义文本,文本内容以''标识。 |
2981| locale  | [intl.Locale](./js-apis-intl.md#locale) | 否    | 区域对象。默认值:系统区域对象。 |
2982
2983**返回值:**
2984
2985| 类型                     | 说明    |
2986| ---------------------- | ----- |
2987| [SimpleDateTimeFormat](#simpledatetimeformat18) | SimpleDateTimeFormat对象。 |
2988
2989**错误码:**
2990
2991以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)。
2992
2993| 错误码ID  | 错误信息                   |
2994| ------ | ---------------------- |
2995| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
2996
2997**示例:**
2998  ```ts
2999  import { BusinessError } from '@kit.BasicServicesKit';
3000  import { intl } from '@kit.LocalizationKit';
3001
3002  try {
3003    let locale: intl.Locale = new intl.Locale('zh-Hans-CN');
3004    let formatter: i18n.SimpleDateTimeFormat = i18n.getSimpleDateTimeFormatByPattern("'month('M')'", locale);
3005  } catch (error) {
3006    let err: BusinessError = error as BusinessError;
3007    console.error(`call i18n.getSimpleDateTimeFormatByPattern failed, error code: ${err.code}, message: ${err.message}.`);
3008  }
3009  ```
3010
3011## i18n.getSimpleDateTimeFormatBySkeleton<sup>18+</sup>
3012
3013getSimpleDateTimeFormatBySkeleton(skeleton: string, locale?: intl.Locale): SimpleDateTimeFormat
3014
3015通过框架字符串获取SimpleDateTimeFormat对象。与getSimpleDateTimeFormatByPattern接口获取的对象在格式化后显示差异请参考[SimpleDateTimeFormat](#simpledatetimeformat18)。
3016
3017**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
3018
3019**系统能力**:SystemCapability.Global.I18n
3020
3021**参数:**
3022
3023| 参数名    | 类型     | 必填   | 说明                                       |
3024| ------- | ----------- | ----- | ---------------------------------------- |
3025| skeleton | string      | 是    | 合法的框架字符串,支持的字符及含义请参考[日期字段符号表](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)。skeleton不支持传入自定义文本。 |
3026| locale  | [intl.Locale](./js-apis-intl.md#locale) | 否    | 区域对象。默认值:系统区域对象。 |
3027
3028**返回值:**
3029
3030| 类型                     | 说明    |
3031| ---------------------- | ----- |
3032| [SimpleDateTimeFormat](#simpledatetimeformat18) | SimpleDateTimeFormat对象。 |
3033
3034**错误码:**
3035
3036以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)。
3037
3038| 错误码ID  | 错误信息                   |
3039| ------ | ---------------------- |
3040| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
3041
3042**示例:**
3043  ```ts
3044  import { BusinessError } from '@kit.BasicServicesKit';
3045  import { intl } from '@kit.LocalizationKit';
3046
3047  try {
3048    let locale: intl.Locale = new intl.Locale('zh-Hans-CN');
3049    let formatter: i18n.SimpleDateTimeFormat = i18n.getSimpleDateTimeFormatBySkeleton('yMd', locale);
3050  } catch (error) {
3051    let err: BusinessError = error as BusinessError;
3052    console.error(`call i18n.getSimpleDateTimeFormatBySkeleton failed, error code: ${err.code}, message: ${err.message}.`);
3053  }
3054  ```
3055
3056## SimpleDateTimeFormat<sup>18+</sup>
3057
3058### format<sup>18+</sup>
3059
3060format(date: Date): string
3061
3062对时间、日期进行格式化。
3063
3064**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
3065
3066**系统能力**:SystemCapability.Global.I18n
3067
3068**参数:**
3069
3070| 参数名  | 类型   | 必填   | 说明                |
3071| ---- | ---- | ---- | ----------------- |
3072| date | Date | 是    | 时间、日期。说明:月份从0开始计数,如0表示一月。 |
3073
3074**返回值:**
3075
3076| 类型                     | 说明    |
3077| ---------------------- | ----- |
3078| string | 格式化后的时间、日期字符串。 |
3079
3080**示例:**
3081  ```ts
3082  import { BusinessError } from '@kit.BasicServicesKit';
3083  import { intl } from '@kit.LocalizationKit';
3084
3085  try {
3086    let locale : intl.Locale = new intl.Locale("zh-Hans-CN");
3087    let date : Date = new Date(2024, 11, 13); // 时间日期为2024.12.13
3088
3089    let formatterWithText: i18n.SimpleDateTimeFormat =
3090      i18n.getSimpleDateTimeFormatByPattern("'month('M')'", locale);
3091    let formattedDate: string = formatterWithText.format(date); // formattedDate = 'month(12)'
3092
3093    let patternFormatter: i18n.SimpleDateTimeFormat = i18n.getSimpleDateTimeFormatByPattern('yMd', locale);
3094    formattedDate = patternFormatter.format(date); // formattedDate = '20241213'
3095
3096    let skeletonFormatter: i18n.SimpleDateTimeFormat = i18n.getSimpleDateTimeFormatBySkeleton('yMd', locale);
3097    formattedDate = skeletonFormatter.format(date); // formattedDate = '2024/12/13'
3098  } catch (error) {
3099    let err: BusinessError = error as BusinessError;
3100    console.error(`call SimpleDateTimeFormat.format failed, error code: ${err.code}, message: ${err.message}.`);
3101  }
3102  ```
3103
3104
3105## i18n.getSimpleNumberFormatBySkeleton<sup>18+</sup>
3106
3107getSimpleNumberFormatBySkeleton(skeleton: string, locale?: intl.Locale): SimpleNumberFormat
3108
3109通过框架字符串获取SimpleNumberFormat对象。
3110
3111**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
3112
3113**系统能力**:SystemCapability.Global.I18n
3114
3115**参数:**
3116
3117| 参数名    | 类型     | 必填   | 说明                                       |
3118| ------- | ----------- | ----- | ---------------------------------------- |
3119| skeleton | string      | 是    | 合法的框架字符串,支持的字符及含义请参考[Number Skeletons](https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#number-skeletons)。 |
3120| locale  | [intl.Locale](./js-apis-intl.md#locale) | 否    | 区域对象。默认值:系统区域对象。 |
3121
3122**返回值:**
3123
3124| 类型                     | 说明    |
3125| ---------------------- | ----- |
3126| [SimpleNumberFormat](#simplenumberformat18) | SimpleNumberFormat对象。 |
3127
3128**错误码:**
3129
3130以下错误码的详细介绍请参见[ohos.i18n错误码](errorcode-i18n.md)。
3131
3132| 错误码ID  | 错误信息                   |
3133| ------ | ---------------------- |
3134| 890001 | Invalid parameter. Possible causes: Parameter verification failed. |
3135
3136**示例:**
3137  ```ts
3138  import { BusinessError } from '@kit.BasicServicesKit';
3139  import { intl } from '@kit.LocalizationKit';
3140
3141  try {
3142    let locale: intl.Locale = new intl.Locale('zh-Hans-CN');
3143    let formatter: i18n.SimpleNumberFormat = i18n.getSimpleNumberFormatBySkeleton('%', locale);
3144  } catch (error) {
3145    let err: BusinessError = error as BusinessError;
3146    console.error(`call SimpleDateTimeFormat.getSimpleNumberFormatBySkeleton failed, error code: ${err.code}, message: ${err.message}.`);
3147  }
3148  ```
3149
3150## SimpleNumberFormat<sup>18+</sup>
3151
3152### format<sup>18+</sup>
3153
3154format(value: number): string
3155
3156格式化数字字符串。
3157
3158**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
3159
3160**系统能力**:SystemCapability.Global.I18n
3161
3162**参数:**
3163
3164| 参数名  | 类型   | 必填   | 说明                |
3165| ---- | ---- | ---- | ----------------- |
3166| value | number | 是    | 数字对象。 |
3167
3168**返回值:**
3169
3170| 类型                     | 说明    |
3171| ---------------------- | ----- |
3172| string | 格式化后的数字字符串。 |
3173
3174**示例:**
3175  ```ts
3176  import { BusinessError } from '@kit.BasicServicesKit';
3177  import { intl } from '@kit.LocalizationKit';
3178
3179  try {
3180    let locale: intl.Locale = new intl.Locale('zh-Hans-CN');
3181    let formatter: i18n.SimpleNumberFormat = i18n.getSimpleNumberFormatBySkeleton('%', locale);
3182    let formattedNumber: string = formatter.format(10); // formattedNumber = '10%'
3183  } catch (error) {
3184    let err: BusinessError = error as BusinessError;
3185    console.error(`call SimpleNumberFormat.format failed, error code: ${err.code}, message: ${err.message}.`);
3186  }
3187  ```
3188
3189## StyledNumberFormat<sup>18+</sup>
3190
3191### constructor<sup>18+</sup>
3192
3193constructor(numberFormat: intl.NumberFormat | SimpleNumberFormat, options?: StyledNumberFormatOptions)
3194
3195创建需要富文本显示的数字格式化的对象。
3196
3197**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
3198
3199**系统能力**:SystemCapability.Global.I18n
3200
3201**参数:**
3202
3203|   参数名  |      类型      | 必填 |     说明      |
3204| --------- | ------------- | ---- | ------------- |
3205| numberFormat | [intl.NumberFormat](js-apis-intl.md#numberformat) \| [SimpleNumberFormat](#simplenumberformat18) | 是   | 用于格式化数字的对象。  |
3206| options | [StyledNumberFormatOptions](#stylednumberformatoptions18) | 否 | 指定数字格式化对象的配置项。默认值:默认的文本样式。  |
3207
3208**示例:**
3209  ```ts
3210  import { BusinessError } from '@kit.BasicServicesKit';
3211  import { intl } from '@kit.LocalizationKit';
3212
3213  try {
3214    let integerTextStyle: TextStyle = new TextStyle({ fontColor: Color.Red });
3215    let decimalTextStyle: TextStyle = new TextStyle({ fontColor: Color.Brown });
3216    let fractionTextStyle: TextStyle = new TextStyle({ fontColor: Color.Blue });
3217    let unitTextStyle: TextStyle = new TextStyle({ fontColor: Color.Green });
3218
3219    // 通过intl.NumberFormat创建StyledNumberFormat对象
3220    let numFmt: intl.NumberFormat = new intl.NumberFormat('zh', { style: 'unit', unit: 'percent' });
3221    let styledNumFmt: i18n.StyledNumberFormat = new i18n.StyledNumberFormat(numFmt, {
3222      integer: integerTextStyle,
3223      decimal: decimalTextStyle,
3224      fraction: fractionTextStyle,
3225      unit: unitTextStyle
3226    });
3227
3228    // 通过SimpleNumberFormat创建StyledNumberFormat对象
3229    let locale: intl.Locale = new intl.Locale('zh');
3230    let simpleNumFmt: i18n.SimpleNumberFormat = i18n.getSimpleNumberFormatBySkeleton('percent', locale);
3231    let styledSimpleNumFmt: i18n.StyledNumberFormat = new i18n.StyledNumberFormat(simpleNumFmt, {
3232      integer: integerTextStyle,
3233      decimal: decimalTextStyle,
3234      fraction: fractionTextStyle,
3235      unit: unitTextStyle
3236    });
3237  } catch (error) {
3238    let err: BusinessError = error as BusinessError;
3239    console.error(`call i18n.StyledNumberFormat failed, error code: ${err.code}, message: ${err.message}.`);
3240  }
3241  ```
3242
3243### format<sup>18+</sup>
3244
3245format(value: number): StyledString
3246
3247对创建的数字格式化对象处理,返回富文本对象。
3248
3249**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
3250
3251**系统能力**:SystemCapability.Global.I18n
3252
3253**参数:**
3254
3255|   参数名  |      类型      | 必填 |     说明      |
3256| --------- | ------------- | ---- | ------------- |
3257| value | number | 是 | 需要格式化的数字。  |
3258
3259**返回值:**
3260
3261|       类型        |         说明          |
3262| ----------------- | ----------------------|
3263| [StyledString](../apis-arkui/arkui-ts/ts-universal-styled-string.md#styledstring) | 返回格式化后的富文本对象。 |
3264
3265**示例:**
3266  ```ts
3267  import { BusinessError } from '@kit.BasicServicesKit';
3268  import { intl } from '@kit.LocalizationKit';
3269
3270  try {
3271    let integerTextStyle: TextStyle = new TextStyle({ fontColor: Color.Red });
3272    let decimalTextStyle: TextStyle = new TextStyle({ fontColor: Color.Brown });
3273    let fractionTextStyle: TextStyle = new TextStyle({ fontColor: Color.Blue });
3274    let unitTextStyle: TextStyle = new TextStyle({ fontColor: Color.Green });
3275
3276    // 通过intl.NumberFormat创建StyledNumberFormat对象
3277    let numFmt: intl.NumberFormat = new intl.NumberFormat('zh', { style: 'unit', unit: 'percent' });
3278    let styledNumFmt: i18n.StyledNumberFormat = new i18n.StyledNumberFormat(numFmt, {
3279      integer: integerTextStyle,
3280      decimal: decimalTextStyle,
3281      fraction: fractionTextStyle,
3282      unit: unitTextStyle
3283    });
3284    // formattedNumber.getString() 为 '1,234.568%'。显示formattedNumber时'1,234'是红色,'.'是棕色,'568'是蓝色,'%'是绿色。
3285    let formattedNumber: StyledString = styledNumFmt.format(1234.5678);
3286
3287    // 通过SimpleNumberFormat创建StyledNumberFormat对象
3288    let locale: intl.Locale = new intl.Locale('zh');
3289    let simpleNumFmt: i18n.SimpleNumberFormat = i18n.getSimpleNumberFormatBySkeleton('percent', locale);
3290    let styledSimpleNumFmt: i18n.StyledNumberFormat = new i18n.StyledNumberFormat(simpleNumFmt, {
3291      integer: integerTextStyle,
3292      decimal: decimalTextStyle,
3293      fraction: fractionTextStyle,
3294      unit: unitTextStyle
3295    });
3296    // formattedSimpleNumber.getString() 为 '1,234.5678%'。显示formattedSimpleNumber时'1,234'是红色,'.'是棕色,'5678'是蓝色,'%'是绿色。
3297    let formattedSimpleNumber: StyledString = styledSimpleNumFmt.format(1234.5678);
3298  } catch (error) {
3299    let err: BusinessError = error as BusinessError;
3300    console.error(`call StyledNumberFormat.format failed, error code: ${err.code}, message: ${err.message}.`);
3301  }
3302  ```
3303
3304## StyledNumberFormatOptions<sup>18+</sup>
3305
3306创建需要富文本显示的数字格式化的对象时,可选的配置项。
3307
3308**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。
3309
3310**系统能力**:SystemCapability.Global.I18n
3311
3312| 名称            | 类型             |  必填   |  说明                                   |
3313| --------------- | --------------- | ------  | --------------------------------------- |
3314| integer        | [TextStyle](../apis-arkui/arkui-ts/ts-universal-styled-string.md#textstyle) |   否    |  指定整数部分的文本样式。默认值:默认的文本样式。     |
3315| decimal        | [TextStyle](../apis-arkui/arkui-ts/ts-universal-styled-string.md#textstyle) |   否    |  指定小数点的文本样式。默认值:默认的文本样式。    |
3316| fraction       | [TextStyle](../apis-arkui/arkui-ts/ts-universal-styled-string.md#textstyle) |   否    |  指定小数部分的文本样式。默认值:默认的文本样式。     |
3317| unit           | [TextStyle](../apis-arkui/arkui-ts/ts-universal-styled-string.md#textstyle) |   否    |  指定单位部分的文本样式。默认值:默认的文本样式。     |
3318
3319## i18n.getDisplayCountry<sup>(deprecated)</sup>
3320
3321getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string
3322
3323获取指定国家的本地化显示文本。
3324
3325从API version 9开始不再维护,建议使用[System.getDisplayCountry](#getdisplaycountry9)代替。
3326
3327**系统能力**:SystemCapability.Global.I18n
3328
3329**参数:**
3330
3331| 参数名          | 类型      | 必填   | 说明               |
3332| ------------ | ------- | ---- | ---------------- |
3333| country      | string  | 是    | 指定国家。            |
3334| locale       | string  | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。      |
3335| sentenceCase | boolean | 否    | true表示按照首字母大写的格式显示文本,false表示按照区域默认的大小写格式显示文本。默认值:true。 |
3336
3337**返回值:**
3338
3339| 类型     | 说明            |
3340| ------ | ------------- |
3341| string | 指定国家的本地化显示文本。 |
3342
3343**示例:**
3344  ```ts
3345  let countryName: string = i18n.getDisplayCountry('zh-CN', 'en-GB', true); // countryName = 'China'
3346  countryName = i18n.getDisplayCountry('zh-CN', 'en-GB'); // countryName = 'China'
3347  ```
3348
3349## i18n.getDisplayCountry<sup>(deprecated)</sup>
3350
3351getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string
3352
3353获取指定国家的本地化显示文本。
3354
3355从API version 9开始不再维护,建议使用[System.getDisplayCountry](#getdisplaycountry9)代替。
3356
3357**系统能力**:SystemCapability.Global.I18n
3358
3359**参数:**
3360
3361| 参数名          | 类型      | 必填   | 说明               |
3362| ------------ | ------- | ---- | ---------------- |
3363| country      | string  | 是    | 指定国家。            |
3364| locale       | string  | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。      |
3365| sentenceCase | boolean | 否    | true表示按照首字母大写的格式显示文本,false表示按照区域默认的大小写格式显示文本。默认值:true。 |
3366
3367**返回值:**
3368
3369| 类型     | 说明            |
3370| ------ | ------------- |
3371| string | 指定国家的本地化显示文本。 |
3372
3373**示例:**
3374  ```ts
3375  let countryName: string = i18n.getDisplayCountry('zh-CN', 'en-GB', true); // countryName = 'China'
3376  countryName = i18n.getDisplayCountry('zh-CN', 'en-GB'); // countryName = 'China'
3377  ```
3378
3379
3380## i18n.getDisplayLanguage<sup>(deprecated)</sup>
3381
3382getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string
3383
3384获取指定语言的本地化显示文本。
3385
3386从API version 9开始不再维护,建议使用[System.getDisplayLanguage](#getdisplaylanguage9)代替。
3387
3388**系统能力**:SystemCapability.Global.I18n
3389
3390**参数:**
3391
3392| 参数名          | 类型      | 必填   | 说明               |
3393| ------------ | ------- | ---- | ---------------- |
3394| language     | string  | 是    | 指定语言。            |
3395| locale       | string  | 是    | [表示区域ID的字符串](../../internationalization/i18n-locale-culture.md#实现原理),由语言、脚本、国家或地区组成。      |
3396| sentenceCase | boolean | 否    | true表示按照首字母大写的格式显示文本,false表示按照区域默认的大小写格式显示文本。默认值:true。 |
3397
3398**返回值:**
3399
3400| 类型     | 说明            |
3401| ------ | ------------- |
3402| string | 指定语言的本地化显示文本。 |
3403
3404**示例:**
3405  ```ts
3406  let languageName: string = i18n.getDisplayLanguage('zh', 'en-GB', true); // languageName = 'Chinese'
3407  languageName = i18n.getDisplayLanguage('zh', 'en-GB'); // languageName = 'Chinese'
3408  ```
3409
3410
3411## i18n.getSystemLanguage<sup>(deprecated)</sup>
3412
3413getSystemLanguage(): string
3414
3415获取系统语言。
3416
3417从API version 9开始不再维护,建议使用[System.getSystemLanguage](#getsystemlanguage9)代替。
3418
3419**系统能力**:SystemCapability.Global.I18n
3420
3421**返回值:**
3422
3423| 类型     | 说明      |
3424| ------ | ------- |
3425| string | 系统语言ID。 |
3426
3427**示例:**
3428  ```ts
3429  let systemLanguage: string = i18n.getSystemLanguage();
3430  ```
3431
3432
3433## i18n.getSystemRegion<sup>(deprecated)</sup>
3434
3435getSystemRegion(): string
3436
3437获取系统地区。
3438
3439从API version 9开始不再维护,建议使用[System.getSystemRegion](#getsystemregion9)代替。
3440
3441**系统能力**:SystemCapability.Global.I18n
3442
3443**返回值:**
3444
3445| 类型     | 说明      |
3446| ------ | ------- |
3447| string | 系统地区ID。 |
3448
3449**示例:**
3450  ```ts
3451  let region: string = i18n.getSystemRegion();
3452  ```
3453
3454
3455## i18n.getSystemLocale<sup>(deprecated)</sup>
3456
3457getSystemLocale(): string
3458
3459获取系统区域ID。
3460
3461从API version 9开始不再维护,建议使用[System.getSystemLocale](#getsystemlocale9)代替。
3462
3463**系统能力**:SystemCapability.Global.I18n
3464
3465**返回值:**
3466
3467| 类型     | 说明      |
3468| ------ | ------- |
3469| string | 系统区域ID。 |
3470
3471**示例:**
3472  ```ts
3473  let locale: string = i18n.getSystemLocale();
3474  ```
3475
3476
3477## i18n.is24HourClock<sup>(deprecated)</sup>
3478
3479is24HourClock(): boolean
3480
3481判断系统时间是否为24小时制。
3482
3483从API version 9开始不再维护,建议使用[System.is24HourClock](#is24hourclock9)代替。
3484
3485**系统能力**:SystemCapability.Global.I18n
3486
3487**返回值:**
3488
3489| 类型      | 说明                                       |
3490| ------- | ---------------------------------------- |
3491| boolean | true表示系统24小时开关开启,false表示系统24小时开关关闭。 |
3492
3493**示例:**
3494  ```ts
3495  let is24HourClock: boolean = i18n.is24HourClock();
3496  ```
3497
3498
3499## i18n.set24HourClock<sup>(deprecated)</sup>
3500
3501set24HourClock(option: boolean): boolean
3502
3503修改系统时间的24小时制设置。
3504
3505从API version 9开始不再维护,替代接口仅支持系统应用使用。
3506
3507**需要权限**:ohos.permission.UPDATE_CONFIGURATION
3508
3509**系统能力**:SystemCapability.Global.I18n
3510
3511**参数:**
3512
3513| 参数名    | 类型      | 必填   | 说明                                       |
3514| ------ | ------- | ---- | ---------------------------------------- |
3515| option | boolean | 是    | true表示开启系统24小时制开关,false表示关闭系统24小时制开关。 |
3516
3517**返回值:**
3518
3519| 类型      | 说明                            |
3520| ------- | ----------------------------- |
3521| boolean | true表示修改成功,false表示修改失败。 |
3522
3523**示例:**
3524  ```ts
3525  // 将系统时间设置为24小时制
3526  let success: boolean = i18n.set24HourClock(true);
3527  ```
3528
3529
3530## i18n.addPreferredLanguage<sup>(deprecated)</sup>
3531
3532addPreferredLanguage(language: string, index?: number): boolean
3533
3534在系统偏好语言列表中的指定位置添加偏好语言。
3535
3536从API version 8开始支持,从API version 9开始不再维护,替代接口仅支持系统应用使用。
3537
3538**需要权限**:ohos.permission.UPDATE_CONFIGURATION
3539
3540**系统能力**:SystemCapability.Global.I18n
3541
3542**参数:**
3543
3544| 参数名      | 类型     | 必填   | 说明         |
3545| -------- | ------ | ---- | ---------- |
3546| language | string | 是    | 待添加的偏好语言。  |
3547| index    | number | 否    | 偏好语言的添加位置。默认值:系统偏好语言列表长度。 |
3548
3549**返回值:**
3550
3551| 类型      | 说明                            |
3552| ------- | ----------------------------- |
3553| boolean | true表示添加成功,false表示添加失败。 |
3554
3555**示例:**
3556  ```ts
3557  // 将语言zh-CN添加到系统偏好语言列表中
3558  let language: string = 'zh-CN';
3559  let index: number = 0;
3560  let success: boolean = i18n.addPreferredLanguage(language, index);
3561  ```
3562
3563
3564## i18n.removePreferredLanguage<sup>(deprecated)</sup>
3565
3566removePreferredLanguage(index: number): boolean
3567
3568删除系统偏好语言列表中指定位置的偏好语言。
3569
3570从API version 8开始支持,从API version 9开始不再维护,替代接口仅支持系统应用使用。
3571
3572**需要权限**:ohos.permission.UPDATE_CONFIGURATION
3573
3574**系统能力**:SystemCapability.Global.I18n
3575
3576**参数:**
3577
3578| 参数名   | 类型     | 必填   | 说明                    |
3579| ----- | ------ | ---- | --------------------- |
3580| index | number | 是    | 待删除偏好语言在系统偏好语言列表中的位置。 |
3581
3582**返回值:**
3583
3584| 类型      | 说明                            |
3585| ------- | ----------------------------- |
3586| boolean | true表示删除成功,false表示删除失败。 |
3587
3588**示例:**
3589  ```ts
3590  // 删除系统偏好语言列表中的第一个偏好语言
3591  let index: number = 0;
3592  let success: boolean = i18n.removePreferredLanguage(index);
3593  ```
3594
3595
3596## i18n.getPreferredLanguageList<sup>(deprecated)</sup>
3597
3598getPreferredLanguageList(): Array&lt;string&gt;
3599
3600获取系统偏好语言列表。
3601
3602从API version 8开始支持,从API version 9开始不再维护,建议使用[System.getPreferredLanguageList](#getpreferredlanguagelist9)代替。
3603
3604**系统能力**:SystemCapability.Global.I18n
3605
3606**返回值:**
3607
3608| 类型                  | 说明        |
3609| ------------------- | --------- |
3610| Array&lt;string&gt; | 系统偏好语言列表。 |
3611
3612**示例:**
3613  ```ts
3614  let preferredLanguageList: Array<string> = i18n.getPreferredLanguageList();
3615  ```
3616
3617
3618## i18n.getFirstPreferredLanguage<sup>(deprecated)</sup>
3619
3620getFirstPreferredLanguage(): string
3621
3622获取偏好语言列表中的第一个偏好语言。
3623
3624从API version 8开始支持,从API version 9开始不再维护,建议使用[System.getFirstPreferredLanguage](#getfirstpreferredlanguage9)代替。
3625
3626**系统能力**:SystemCapability.Global.I18n
3627
3628**返回值:**
3629
3630| 类型     | 说明             |
3631| ------ | -------------- |
3632| string | 偏好语言列表中的第一个语言。 |
3633
3634**示例:**
3635  ```ts
3636  let firstPreferredLanguage: string = i18n.getFirstPreferredLanguage();
3637  ```
3638
3639
3640## Util<sup>(deprecated)</sup>
3641
3642
3643### unitConvert<sup>(deprecated)</sup>
3644
3645unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string
3646
3647将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。
3648
3649从API version 8开始支持,从API version 9开始不再维护,建议使用[unitConvert](#unitconvert9)代替。
3650
3651**系统能力**:SystemCapability.Global.I18n
3652
3653**参数:**
3654
3655| 参数名      | 类型                     | 必填   | 说明                                       |
3656| -------- | ---------------------- | ---- | ---------------------------------------- |
3657| fromUnit | [UnitInfo](#unitinfo8) | 是    | 要被转换的单位。                                 |
3658| toUnit   | [UnitInfo](#unitinfo8) | 是    | 要转换为的单位。                                 |
3659| value    | number                 | 是    | 要被转换的单位的数量值。                             |
3660| locale   | string                 | 是    | 格式化时使用的区域ID,如:zh-Hans-CN。                |
3661| style    | string                 | 否    | 格式化使用的风格,取值包括:'long',&nbsp;'short',&nbsp;'narrow'。默认值:short。 |
3662
3663**返回值:**
3664
3665| 类型     | 说明                      |
3666| ------ | ----------------------- |
3667| string | 按照toUnit的单位格式化后,得到的字符串。 |
3668
3669
3670## Character<sup>(deprecated)</sup>
3671
3672
3673### isDigit<sup>(deprecated)</sup>
3674
3675isDigit(char: string): boolean
3676
3677判断字符串char是否是数字。
3678
3679从API version 8开始支持,从API version 9开始不再维护,建议使用[isDigit](#isdigit9)代替。
3680
3681**系统能力**:SystemCapability.Global.I18n
3682
3683**参数:**
3684
3685| 参数名  | 类型     | 必填   | 说明    |
3686| ---- | ------ | ---- | ----- |
3687| char | string | 是    | 输入字符。 |
3688
3689**返回值:**
3690
3691| 类型      | 说明                                   |
3692| ------- | ------------------------------------ |
3693| boolean | true表示输入的字符是数字,false表示输入的字符不是数字。 |
3694
3695
3696### isSpaceChar<sup>(deprecated)</sup>
3697
3698isSpaceChar(char: string): boolean
3699
3700判断字符串char是否是空格符。
3701
3702从API version 8开始支持,从API version 9开始不再维护,建议使用[isSpaceChar](#isspacechar9)代替。
3703
3704**系统能力**:SystemCapability.Global.I18n
3705
3706**参数:**
3707
3708| 参数名  | 类型     | 必填   | 说明    |
3709| ---- | ------ | ---- | ----- |
3710| char | string | 是    | 输入字符。 |
3711
3712**返回值:**
3713
3714| 类型      | 说明                                     |
3715| ------- | -------------------------------------- |
3716| boolean | true表示输入的字符是空格符,false表示输入的字符不是空格符。 |
3717
3718
3719### isWhitespace<sup>(deprecated)</sup>
3720
3721isWhitespace(char: string): boolean
3722
3723判断字符串char是否是空白符。
3724
3725从API version 8开始支持,从API version 9开始不再维护,建议使用[isWhitespace](#iswhitespace9)代替。
3726
3727**系统能力**:SystemCapability.Global.I18n
3728
3729**参数:**
3730
3731| 参数名  | 类型     | 必填   | 说明    |
3732| ---- | ------ | ---- | ----- |
3733| char | string | 是    | 输入字符。 |
3734
3735**返回值:**
3736
3737| 类型      | 说明                                     |
3738| ------- | -------------------------------------- |
3739| boolean | true表示输入的字符是空白符,false表示输入的字符不是空白符。 |
3740
3741
3742### isRTL<sup>(deprecated)</sup>
3743
3744isRTL(char: string): boolean
3745
3746判断字符串char是否是从右到左语言的字符。
3747
3748从API version 8开始支持,从API version 9开始不再维护,建议使用[isRTL](#isrtl9)代替。
3749
3750**系统能力**:SystemCapability.Global.I18n
3751
3752**参数:**
3753
3754| 参数名  | 类型     | 必填   | 说明    |
3755| ---- | ------ | ---- | ----- |
3756| char | string | 是    | 输入字符。 |
3757
3758**返回值:**
3759
3760| 类型      | 说明                                       |
3761| ------- | ---------------------------------------- |
3762| boolean | true表示输入的字符是从右到左语言的字符,false表示输入的字符不是从右到左语言的字符。 |
3763
3764
3765### isIdeograph<sup>(deprecated)</sup>
3766
3767isIdeograph(char: string): boolean
3768
3769判断字符串char是否是表意文字。
3770
3771从API version 8开始支持,从API version 9开始不再维护,建议使用[isIdeograph](#isideograph9)代替。
3772
3773**系统能力**:SystemCapability.Global.I18n
3774
3775**参数:**
3776
3777| 参数名  | 类型     | 必填   | 说明    |
3778| ---- | ------ | ---- | ----- |
3779| char | string | 是    | 输入字符。 |
3780
3781**返回值:**
3782
3783| 类型      | 说明                                       |
3784| ------- | ---------------------------------------- |
3785| boolean | true表示输入的字符是表意文字,false表示输入的字符不是表意文字。 |
3786
3787
3788### isLetter<sup>(deprecated)</sup>
3789
3790isLetter(char: string): boolean
3791
3792判断字符串char是否是字母。
3793
3794从API version 8开始支持,从API version 9开始不再维护,建议使用[isLetter](#isletter9)代替。
3795
3796**系统能力**:SystemCapability.Global.I18n
3797
3798**参数:**
3799
3800| 参数名  | 类型     | 必填   | 说明    |
3801| ---- | ------ | ---- | ----- |
3802| char | string | 是    | 输入字符。 |
3803
3804**返回值:**
3805
3806| 类型      | 说明                                   |
3807| ------- | ------------------------------------ |
3808| boolean | true表示输入的字符是字母,false表示输入的字符不是字母。 |
3809
3810
3811### isLowerCase<sup>(deprecated)</sup>
3812
3813isLowerCase(char: string): boolean
3814
3815判断字符串char是否是小写字母。
3816
3817从API version 8开始支持,从API version 9开始不再维护,建议使用[isLowerCase](#islowercase9)代替。
3818
3819**系统能力**:SystemCapability.Global.I18n
3820
3821**参数:**
3822
3823| 参数名  | 类型     | 必填   | 说明    |
3824| ---- | ------ | ---- | ----- |
3825| char | string | 是    | 输入字符。 |
3826
3827**返回值:**
3828
3829| 类型      | 说明                                       |
3830| ------- | ---------------------------------------- |
3831| boolean | true表示输入的字符是小写字母,false表示输入的字符不是小写字母。 |
3832
3833
3834### isUpperCase<sup>(deprecated)</sup>
3835
3836isUpperCase(char: string): boolean
3837
3838判断字符串char是否是大写字母。
3839
3840从API version 8开始支持,从API version 9开始不再维护,建议使用[isUpperCase](#isuppercase9)代替。
3841
3842**系统能力**:SystemCapability.Global.I18n
3843
3844**参数:**
3845
3846| 参数名  | 类型     | 必填   | 说明    |
3847| ---- | ------ | ---- | ----- |
3848| char | string | 是    | 输入字符。 |
3849
3850**返回值:**
3851
3852| 类型      | 说明                                       |
3853| ------- | ---------------------------------------- |
3854| boolean | true表示输入的字符是大写字母,false表示输入的字符不是大写字母。 |
3855
3856
3857### getType<sup>(deprecated)</sup>
3858
3859getType(char: string): string
3860
3861获取输入字符串的一般类别值。
3862
3863从API version 8开始支持,从API version 9开始不再维护,建议使用[getType](#gettype9)代替。
3864
3865**系统能力**:SystemCapability.Global.I18n
3866
3867**参数:**
3868
3869| 参数名  | 类型     | 必填   | 说明    |
3870| ---- | ------ | ---- | ----- |
3871| char | string | 是    | 输入字符。 |
3872
3873**返回值:**
3874
3875| 类型     | 说明          |
3876| ------ | ----------- |
3877| string | 输入字符的一般类别值。 |
3878