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<string> 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<string> | 系统支持的语言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<string> 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<string> | 系统支持某种特定语言的国家或地区列表。 | 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<string> 327 328获取系统偏好语言列表。 329 330**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 331 332**系统能力**:SystemCapability.Global.I18n 333 334**返回值:** 335 336| 类型 | 说明 | 337| ------------------- | --------- | 338| Array<string> | 系统偏好语言列表。 | 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, chinese, coptic, ethiopic, hebrew, gregory, indian, islamic_civil, islamic_tbla, islamic_umalqura, japanese, 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<EntityInfoItem> 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<[EntityInfoItem](#entityinfoitem11)> | 文本中的实体信息列表。 | 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 00:00:00 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 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值有 year, month, week_of_year, week_of_month, date, day_of_year, day_of_week, day_of_week_in_month, hour, hour_of_day, minute, second, 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", "INTERNATIONAL", "NATIONAL", "RFC3966", "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", "inch", "cup"等。 | 1227| measureSystem | string | 是 | 是 | 单位的度量体系,取值包括:"SI", "US", "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<string> 1265 1266获取当前区域的索引列表。 1267 1268**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1269 1270**系统能力**:SystemCapability.Global.I18n 1271 1272**返回值:** 1273 1274| 类型 | 说明 | 1275| ------------------- | ------------------ | 1276| Array<string> | 返回当前区域的索引列表。 | 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<string> 1746 1747获取系统支持的时区ID。 1748 1749**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1750 1751**系统能力**:SystemCapability.Global.I18n 1752 1753**返回值:** 1754 1755| 类型 | 说明 | 1756| ------------------- | ----------- | 1757| Array<string> | 系统支持的时区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<string> 1769 1770获取系统支持的时区城市ID。 1771 1772**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 1773 1774**系统能力**:SystemCapability.Global.I18n 1775 1776**返回值:** 1777 1778| 类型 | 说明 | 1779| ------------------- | ------------- | 1780| Array<string> | 系统支持的时区城市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<TimeZone> 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<[TimeZone](#timezone)> | 时区对象数组。 | 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", "short", "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<[HolidayInfoItem](#holidayinfoitem11)> 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<[HolidayInfoItem](#holidayinfoitem11)> | 返回节假日信息列表。 | 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<[HolidayLocalName](#holidaylocalname11)> | 否 | 节假日的本地名称列表。 | 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<string> 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<string> | 系统偏好语言列表。 | 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", "short", "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