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