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