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