1# @ohos.i18n (国际化-I18n) 2 3 本模块提供系统相关的或者增强的国际化能力,包括区域管理、电话号码处理、日历等,相关接口为ECMA 402标准中未定义的补充接口。 4[Intl模块](js-apis-intl.md)提供了ECMA 402标准定义的基础国际化接口,与本模块共同使用可提供完整地国际化支持能力。 5 6> **说明:** 7> - 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> 9> - I18N模块包含国际化能力增强接口(未在ECMA 402中定义),包括区域管理、电话号码处理、日历等,国际化基础能力请参考[Intl模块](js-apis-intl.md)。 10 11 12## 导入模块 13 14```js 15import I18n from '@ohos.i18n'; 16``` 17 18 19## System<sup>9+</sup> 20 21### getDisplayCountry<sup>9+</sup> 22 23static getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string 24 25获取指定国家的本地化显示文本。 26 27**系统能力**:SystemCapability.Global.I18n 28 29**参数:** 30 31| 参数名 | 类型 | 必填 | 说明 | 32| ------------ | ------- | ---- | ---------------- | 33| country | string | 是 | 指定国家。 | 34| locale | string | 是 | 显示指定国家的区域ID。 | 35| sentenceCase | boolean | 否 | 本地化显示文本是否要首字母大写。 | 36 37**返回值:** 38 39| 类型 | 说明 | 40| ------ | ------------- | 41| string | 指定国家的本地化显示文本。 | 42 43**错误码:** 44 45以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 46 47| 错误码ID | 错误信息 | 48| ------ | ---------------------- | 49| 890001 | Unspported para value. | 50 51**示例:** 52 ```js 53 try { 54 let displayCountry = I18n.System.getDisplayCountry("zh-CN", "en-GB"); // displayCountry = "China" 55 } catch(error) { 56 console.error(`call System.getDisplayCountry failed, error code: ${error.code}, message: ${error.message}.`); 57 } 58 ``` 59 60### getDisplayLanguage<sup>9+</sup> 61 62static getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string 63 64获取指定语言的本地化显示文本。 65 66**系统能力**:SystemCapability.Global.I18n 67 68**参数:** 69 70| 参数名 | 类型 | 必填 | 说明 | 71| ------------ | ------- | ---- | ---------------- | 72| language | string | 是 | 指定语言。 | 73| locale | string | 是 | 显示指定语言的区域ID。 | 74| sentenceCase | boolean | 否 | 本地化显示文本是否要首字母大写。 | 75 76**返回值:** 77 78| 类型 | 说明 | 79| ------ | ------------- | 80| string | 指定语言的本地化显示文本。 | 81 82**错误码:** 83 84以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 85 86| 错误码ID | 错误信息 | 87| ------ | ---------------------- | 88| 890001 | Unspported para value. | 89 90**示例:** 91 ```js 92 try { 93 let displayLanguage = I18n.System.getDisplayLanguage("zh", "en-GB"); // displayLanguage = Chinese 94 } catch(error) { 95 console.error(`call System.getDisplayLanguage failed, error code: ${error.code}, message: ${error.message}.`); 96 } 97 ``` 98 99### getSystemLanguages<sup>9+</sup> 100 101static getSystemLanguages(): Array<string> 102 103获取系统支持的语言列表。语言的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。 104 105**系统能力**:SystemCapability.Global.I18n 106 107**返回值:** 108 109| 类型 | 说明 | 110| ------------------- | ------------ | 111| Array<string> | 系统支持的语言ID列表。 | 112 113**错误码:** 114 115以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 116 117| 错误码ID | 错误信息 | 118| ------ | ---------------------- | 119| 890001 | Unspported para value. | 120 121**示例:** 122 ```js 123 try { 124 let systemLanguages = I18n.System.getSystemLanguages(); // [ "en-Latn-US", "zh-Hans" ] 125 } catch(error) { 126 console.error(`call System.getSystemLanguages failed, error code: ${error.code}, message: ${error.message}.`); 127 } 128 ``` 129 130### getSystemCountries<sup>9+</sup> 131 132static getSystemCountries(language: string): Array<string> 133 134获取针对输入语言系统支持的国家或地区列表。国家或地区的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。 135 136**系统能力**:SystemCapability.Global.I18n 137 138**参数:** 139 140| 参数名 | 类型 | 必填 | 说明 | 141| -------- | ------ | ---- | ----- | 142| language | string | 是 | 语言ID。 | 143 144**返回值:** 145 146| 类型 | 说明 | 147| ------------------- | ------------ | 148| Array<string> | 系统支持的区域ID列表。 | 149 150**错误码:** 151 152以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 153 154| 错误码ID | 错误信息 | 155| ------ | ---------------------- | 156| 890001 | Unspported para value. | 157 158**示例:** 159 ```js 160 try { 161 let systemCountries = I18n.System.getSystemCountries('zh'); // systemCountries = [ "ZW", "YT", "YE", ..., "ER", "CN", "DE" ],共计240个国家或地区 162 } catch(error) { 163 console.error(`call System.getSystemCountries failed, error code: ${error.code}, message: ${error.message}.`); 164 } 165 ``` 166 167### isSuggested<sup>9+</sup> 168 169static isSuggested(language: string, region?: string): boolean 170 171判断当前语言和地区是否匹配。 172 173**系统能力**:SystemCapability.Global.I18n 174 175**参数:** 176 177| 参数名 | 类型 | 必填 | 说明 | 178| -------- | ------ | ---- | ------------- | 179| language | string | 是 | 合法的语言ID,例如zh。 | 180| region | string | 否 | 合法的地区ID,例如CN | 181 182**返回值:** 183 184| 类型 | 说明 | 185| ------- | ---------------------------------------- | 186| boolean | 返回true,表示当前语言和地区匹配;返回false,表示当前语言和地区不匹配。 | 187 188**错误码:** 189 190以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 191 192| 错误码ID | 错误信息 | 193| ------ | ---------------------- | 194| 890001 | Unspported para value. | 195 196**示例:** 197 ```js 198 try { 199 let res = I18n.System.isSuggested('zh', 'CN'); // res = true 200 } catch(error) { 201 console.error(`call System.isSuggested failed, error code: ${error.code}, message: ${error.message}.`); 202 } 203 ``` 204 205### getSystemLanguage<sup>9+</sup> 206 207static getSystemLanguage(): string 208 209获取系统语言。语言的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。 210 211**系统能力**:SystemCapability.Global.I18n 212 213**返回值:** 214 215| 类型 | 说明 | 216| ------ | ------- | 217| string | 系统语言ID。 | 218 219**错误码:** 220 221以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 222 223| 错误码ID | 错误信息 | 224| ------ | ---------------------- | 225| 890001 | Unspported para value. | 226 227**示例:** 228 ```js 229 try { 230 let systemLanguage = I18n.System.getSystemLanguage(); // systemLanguage为当前系统语言 231 } catch(error) { 232 console.error(`call System.getSystemLanguage failed, error code: ${error.code}, message: ${error.message}.`); 233 } 234 ``` 235 236### setSystemLanguage<sup>9+</sup> 237 238static setSystemLanguage(language: string): void 239 240设置系统语言。当前调用该接口不支持系统界面语言的实时刷新。 241 242此接口为系统接口。 243 244**需要权限**:ohos.permission.UPDATE_CONFIGURATION 245 246**系统能力**:SystemCapability.Global.I18n 247 248**参数:** 249 250| 参数名 | 类型 | 必填 | 说明 | 251| -------- | ------ | ---- | ----- | 252| language | string | 是 | 语言ID。 | 253 254**错误码:** 255 256以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 257 258| 错误码ID | 错误信息 | 259| ------ | ---------------------- | 260| 890001 | Unspported para value. | 261 262**示例:** 263 ```js 264 try { 265 I18n.System.setSystemLanguage('zh'); // 设置系统当前语言为 "zh" 266 } catch(error) { 267 console.error(`call System.setSystemLanguage failed, error code: ${error.code}, message: ${error.message}.`); 268 } 269 ``` 270 271### getSystemRegion<sup>9+</sup> 272 273static getSystemRegion(): string 274 275获取系统地区。地区的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。 276 277**系统能力**:SystemCapability.Global.I18n 278 279**返回值:** 280 281| 类型 | 说明 | 282| ------ | ------- | 283| string | 系统地区ID。 | 284 285**错误码:** 286 287以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 288 289| 错误码ID | 错误信息 | 290| ------ | ---------------------- | 291| 890001 | Unspported para value. | 292 293**示例:** 294 ```js 295 try { 296 let systemRegion = I18n.System.getSystemRegion(); // 获取系统当前地区设置 297 } catch(error) { 298 console.error(`call System.getSystemRegion failed, error code: ${error.code}, message: ${error.message}.`); 299 } 300 ``` 301 302### setSystemRegion<sup>9+</sup> 303 304static setSystemRegion(region: string): void 305 306设置系统区域。 307 308此接口为系统接口。 309 310**需要权限**:ohos.permission.UPDATE_CONFIGURATION 311 312**系统能力**:SystemCapability.Global.I18n 313 314**参数:** 315 316| 参数名 | 类型 | 必填 | 说明 | 317| ------ | ------ | ---- | ----- | 318| region | string | 是 | 地区ID。 | 319 320**错误码:** 321 322以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 323 324| 错误码ID | 错误信息 | 325| ------ | ---------------------- | 326| 890001 | Unspported para value. | 327 328**示例:** 329 ```js 330 try { 331 I18n.System.setSystemRegion('CN'); // 设置系统当前地区为 "CN" 332 } catch(error) { 333 console.error(`call System.setSystemRegion failed, error code: ${error.code}, message: ${error.message}.`); 334 } 335 ``` 336 337### getSystemLocale<sup>9+</sup> 338 339static getSystemLocale(): string 340 341获取系统区域。区域的详细说明参见[实例化Locale对象](../../internationalization/intl-guidelines.md#开发步骤)。 342 343**系统能力**:SystemCapability.Global.I18n 344 345**返回值:** 346 347| 类型 | 说明 | 348| ------ | ------- | 349| string | 系统区域ID。 | 350 351**错误码:** 352 353以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 354 355| 错误码ID | 错误信息 | 356| ------ | ---------------------- | 357| 890001 | Unspported para value. | 358 359**示例:** 360 ```js 361 try { 362 let systemLocale = I18n.System.getSystemLocale(); // 获取系统当前Locale 363 } catch(error) { 364 console.error(`call System.getSystemLocale failed, error code: ${error.code}, message: ${error.message}.`); 365 } 366 ``` 367 368### setSystemLocale<sup>9+</sup> 369 370static setSystemLocale(locale: string): void 371 372设置系统Locale。 373 374此接口为系统接口。 375 376**需要权限**:ohos.permission.UPDATE_CONFIGURATION 377 378**系统能力**:SystemCapability.Global.I18n 379 380**参数:** 381 382| 参数名 | 类型 | 必填 | 说明 | 383| ------ | ------ | ---- | --------------- | 384| locale | string | 是 | 指定区域ID,例如zh-CN。 | 385 386**错误码:** 387 388以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 389 390| 错误码ID | 错误信息 | 391| ------ | ---------------------- | 392| 890001 | Unspported para value. | 393 394**示例:** 395 ```js 396 try { 397 I18n.System.setSystemLocale('zh-CN'); // 设置系统当前Locale为 "zh-CN" 398 } catch(error) { 399 console.error(`call System.setSystemLocale failed, error code: ${error.code}, message: ${error.message}.`); 400 } 401 ``` 402 403### is24HourClock<sup>9+</sup> 404 405static is24HourClock(): boolean 406 407判断系统时间是否为24小时制。 408 409**系统能力**:SystemCapability.Global.I18n 410 411**返回值:** 412 413| 类型 | 说明 | 414| ------- | ---------------------------------------- | 415| boolean | 返回true,表示系统24小时开关开启;返回false,表示系统24小时开关关闭。 | 416 417**错误码:** 418 419以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 420 421| 错误码ID | 错误信息 | 422| ------ | ---------------------- | 423| 890001 | Unspported para value. | 424 425**示例:** 426 ```js 427 try { 428 let is24HourClock = I18n.System.is24HourClock(); // 系统24小时开关是否开启 429 } catch(error) { 430 console.error(`call System.is24HourClock failed, error code: ${error.code}, message: ${error.message}.`); 431 } 432 ``` 433 434### set24HourClock<sup>9+</sup> 435 436static set24HourClock(option: boolean): void 437 438修改系统时间的24小时制设置。 439 440此接口为系统接口。 441 442**需要权限**:ohos.permission.UPDATE_CONFIGURATION 443 444**系统能力**:SystemCapability.Global.I18n 445 446**参数:** 447 448| 参数名 | 类型 | 必填 | 说明 | 449| ------ | ------- | ---- | ---------------------------------------- | 450| option | boolean | 是 | option为true,表示开启系统24小时制开关;返回false,表示关闭系统24小时开关。 | 451 452**错误码:** 453 454以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 455 456| 错误码ID | 错误信息 | 457| ------ | ---------------------- | 458| 890001 | Unspported para value. | 459 460**示例:** 461 ```js 462 // 将系统时间设置为24小时制 463 try { 464 I18n.System.set24HourClock(true); 465 } catch(error) { 466 console.error(`call System.set24HourClock failed, error code: ${error.code}, message: ${error.message}.`); 467 } 468 ``` 469 470### addPreferredLanguage<sup>9+</sup> 471 472static addPreferredLanguage(language: string, index?: number): void 473 474在系统偏好语言列表中的指定位置添加偏好语言。 475 476此接口为系统接口。 477 478**需要权限**:ohos.permission.UPDATE_CONFIGURATION 479 480**系统能力**:SystemCapability.Global.I18n 481 482**参数:** 483 484| 参数名 | 类型 | 必填 | 说明 | 485| -------- | ------ | ---- | ---------- | 486| language | string | 是 | 待添加的偏好语言。 | 487| index | number | 否 | 偏好语言的添加位置。 | 488 489**错误码:** 490 491以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 492 493| 错误码ID | 错误信息 | 494| ------ | ---------------------- | 495| 890001 | Unspported para value. | 496 497**示例:** 498 ```js 499 // 将语言zh-CN添加到系统偏好语言列表中 500 let language = 'zh-CN'; 501 let index = 0; 502 try { 503 I18n.System.addPreferredLanguage(language, index); // 将zh-CN添加到系统偏好语言列表的第1位 504 } catch(error) { 505 console.error(`call System.addPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`); 506 } 507 ``` 508 509### removePreferredLanguage<sup>9+</sup> 510 511static removePreferredLanguage(index: number): void 512 513删除系统偏好语言列表中指定位置的偏好语言。 514 515此接口为系统接口。 516 517**需要权限**:ohos.permission.UPDATE_CONFIGURATION 518 519**系统能力**:SystemCapability.Global.I18n 520 521**参数:** 522 523| 参数名 | 类型 | 必填 | 说明 | 524| ----- | ------ | ---- | --------------------- | 525| index | number | 是 | 待删除偏好语言在系统偏好语言列表中的位置。 | 526 527**错误码:** 528 529以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 530 531| 错误码ID | 错误信息 | 532| ------ | ---------------------- | 533| 890001 | Unspported para value. | 534 535**示例:** 536 ```js 537 // 删除系统偏好语言列表中的第一个偏好语言 538 let index = 0; 539 try { 540 I18n.System.removePreferredLanguage(index); 541 } catch(error) { 542 console.error(`call System.removePreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`); 543 } 544 ``` 545 546### getPreferredLanguageList<sup>9+</sup> 547 548static getPreferredLanguageList(): Array<string> 549 550获取系统偏好语言列表。 551 552**系统能力**:SystemCapability.Global.I18n 553 554**返回值:** 555 556| 类型 | 说明 | 557| ------------------- | --------- | 558| Array<string> | 系统偏好语言列表。 | 559 560**错误码:** 561 562以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 563 564| 错误码ID | 错误信息 | 565| ------ | ---------------------- | 566| 890001 | Unspported para value. | 567 568**示例:** 569 ```js 570 try { 571 let preferredLanguageList = I18n.System.getPreferredLanguageList(); // 获取系统当前偏好语言列表 572 } catch(error) { 573 console.error(`call System.getPreferredLanguageList failed, error code: ${error.code}, message: ${error.message}.`); 574 } 575 ``` 576 577### getFirstPreferredLanguage<sup>9+</sup> 578 579static getFirstPreferredLanguage(): string 580 581获取偏好语言列表中的第一个偏好语言。 582 583**系统能力**:SystemCapability.Global.I18n 584 585**返回值:** 586 587| 类型 | 说明 | 588| ------ | -------------- | 589| string | 偏好语言列表中的第一个语言。 | 590 591**错误码:** 592 593以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 594 595| 错误码ID | 错误信息 | 596| ------ | ---------------------- | 597| 890001 | Unspported para value. | 598 599**示例:** 600 ```js 601 try { 602 let firstPreferredLanguage = I18n.System.getFirstPreferredLanguage(); // 获取系统当前偏好语言列表中的第一个偏好语言 603 } catch(error) { 604 console.error(`call System.getFirstPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`); 605 } 606 ``` 607 608### getAppPreferredLanguage<sup>9+</sup> 609 610static getAppPreferredLanguage(): string 611 612获取应用的偏好语言。 613 614**系统能力**:SystemCapability.Global.I18n 615 616**返回值:** 617 618| 类型 | 说明 | 619| ------ | -------- | 620| string | 应用的偏好语言。 | 621 622**错误码:** 623 624以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 625 626| 错误码ID | 错误信息 | 627| ------ | ---------------------- | 628| 890001 | Unspported para value. | 629 630**示例:** 631 ```js 632 try { 633 let appPreferredLanguage = I18n.System.getAppPreferredLanguage(); // 获取应用偏好语言 634 } catch(error) { 635 console.error(`call System.getAppPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`); 636 } 637 ``` 638 639### setUsingLocalDigit<sup>9+</sup> 640 641static setUsingLocalDigit(flag: boolean): void 642 643设置系统是否使用本地数字。 644 645此接口为系统接口。 646 647**需要权限**:ohos.permission.UPDATE_CONFIGURATION 648 649**系统能力**:SystemCapability.Global.I18n 650 651**参数:** 652 653| 参数名 | 类型 | 必填 | 说明 | 654| ---- | ------- | ---- | ------------------------------- | 655| flag | boolean | 是 | true表示打开本地数字开关,false表示关闭本地数字开关。 | 656 657**错误码:** 658 659以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 660 661| 错误码ID | 错误信息 | 662| ------ | ---------------------- | 663| 890001 | Unspported para value. | 664 665**示例:** 666 ```ts 667 try { 668 I18n.System.setUsingLocalDigit(true); // 打开本地化数字开关 669 } catch(error) { 670 console.error(`call System.setUsingLocalDigit failed, error code: ${error.code}, message: ${error.message}.`); 671 } 672 ``` 673 674### getUsingLocalDigit<sup>9+</sup> 675 676static getUsingLocalDigit(): boolean 677 678判断系统是否使用本地数字。 679 680**系统能力**:SystemCapability.Global.I18n 681 682**返回值:** 683 684| 类型 | 说明 | 685| ------- | ---------------------------------------- | 686| boolean | true表示系统当前已打开本地数字开关,false表示系统当前未打开本地数字开关。 | 687 688**错误码:** 689 690以下错误码的详细介绍请参见[ohos.i18n错误码](../errorcodes/errorcode-i18n.md)。 691 692| 错误码ID | 错误信息 | 693| ------ | ---------------------- | 694| 890001 | Unspported para value. | 695 696**示例:** 697 ```ts 698 try { 699 let status = I18n.System.getUsingLocalDigit(); // 判断本地化数字开关是否打开 700 } catch(error) { 701 console.error(`call System.getUsingLocalDigit failed, error code: ${error.code}, message: ${error.message}.`); 702 } 703 ``` 704 705 706## I18n.isRTL<sup>7+</sup> 707 708isRTL(locale: string): boolean 709 710获取是否为从右至左显示语言。 711 712**系统能力**:SystemCapability.Global.I18n 713 714**参数:** 715 716| 参数名 | 类型 | 必填 | 说明 | 717| ------ | ------ | ---- | ------- | 718| locale | string | 是 | 指定区域ID。 | 719 720**返回值:** 721 722| 类型 | 说明 | 723| ------- | ---------------------------------------- | 724| boolean | true表示该locale从右至左显示语言;false表示该locale从左至右显示语言。 | 725 726**示例:** 727 ```js 728 I18n.isRTL("zh-CN");// 中文不是RTL语言,返回false 729 I18n.isRTL("ar-EG");// 阿语是RTL语言,返回true 730 ``` 731 732 733## I18n.getCalendar<sup>8+</sup> 734 735getCalendar(locale: string, type? : string): Calendar 736 737获取日历对象。 738 739**系统能力**:SystemCapability.Global.I18n 740 741**参数:** 742 743| 参数名 | 类型 | 必填 | 说明 | 744| ------ | ------ | ---- | ---------------------------------------- | 745| locale | string | 是 | 合法的locale值,例如zh-Hans-CN。 | 746| type | string | 否 | 合法的日历类型,目前合法的类型有buddhist, chinese, coptic, ethiopic, hebrew, gregory, indian, islamic_civil, islamic_tbla, islamic_umalqura, japanese, persian。当type没有给出时,采用区域默认的日历类型。 | 747 748**返回值:** 749 750| 类型 | 说明 | 751| ---------------------- | ----- | 752| [Calendar](#calendar8) | 日历对象。 | 753 754**示例:** 755 ```js 756 I18n.getCalendar("zh-Hans", "chinese"); // 获取中国农历日历对象 757 ``` 758 759 760## Calendar<sup>8+</sup> 761 762 763### setTime<sup>8+</sup> 764 765setTime(date: Date): void 766 767设置日历对象内部的时间日期。 768 769**系统能力**:SystemCapability.Global.I18n 770 771**参数:** 772 773| 参数名 | 类型 | 必填 | 说明 | 774| ---- | ---- | ---- | ----------------- | 775| date | Date | 是 | 将要设置的日历对象的内部时间日期。 | 776 777**示例:** 778 ```js 779 let calendar = I18n.getCalendar("en-US", "gregory"); 780 let date = new Date(2021, 10, 7, 8, 0, 0, 0); 781 calendar.setTime(date); 782 ``` 783 784 785### setTime<sup>8+</sup> 786 787setTime(time: number): void 788 789设置日历对象内部的时间日期, time为从1970.1.1 00:00:00 GMT逝去的毫秒数。 790 791**系统能力**:SystemCapability.Global.I18n 792 793**参数:** 794 795| 参数名 | 类型 | 必填 | 说明 | 796| ---- | ------ | ---- | ---------------------------------------- | 797| time | number | 是 | time为从1970.1.1 00:00:00 GMT逝去的毫秒数。 | 798 799**示例:** 800 ```js 801 let calendar = I18n.getCalendar("en-US", "gregory"); 802 calendar.setTime(10540800000); 803 ``` 804 805 806### set<sup>8+</sup> 807 808set(year: number, month: number, date:number, hour?: number, minute?: number, second?: number): void 809 810设置日历对象的年、月、日、时、分、秒。 811 812**系统能力**:SystemCapability.Global.I18n 813 814**参数:** 815 816| 参数名 | 类型 | 必填 | 说明 | 817| ------ | ------ | ---- | ------ | 818| year | number | 是 | 设置的年。 | 819| month | number | 是 | 设置的月。 | 820| date | number | 是 | 设置的日。 | 821| hour | number | 否 | 设置的小时。 | 822| minute | number | 否 | 设置的分钟。 | 823| second | number | 否 | 设置的秒。 | 824 825**示例:** 826 ```js 827 let calendar = I18n.getCalendar("zh-Hans"); 828 calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00 829 ``` 830 831 832### setTimeZone<sup>8+</sup> 833 834setTimeZone(timezone: string): void 835 836设置日历对象的时区。 837 838**系统能力**:SystemCapability.Global.I18n 839 840**参数:** 841 842| 参数名 | 类型 | 必填 | 说明 | 843| -------- | ------ | ---- | ------------------------- | 844| timezone | string | 是 | 设置的时区id,如“Asia/Shanghai”。 | 845 846**示例:** 847 ```js 848 let calendar = I18n.getCalendar("zh-Hans"); 849 calendar.setTimeZone("Asia/Shanghai"); 850 ``` 851 852 853### getTimeZone<sup>8+</sup> 854 855getTimeZone(): string 856 857获取日历对象的时区。 858 859**系统能力**:SystemCapability.Global.I18n 860 861**返回值:** 862 863| 类型 | 说明 | 864| ------ | ---------- | 865| string | 日历对象的时区id。 | 866 867**示例:** 868 ```js 869 let calendar = I18n.getCalendar("zh-Hans"); 870 calendar.setTimeZone("Asia/Shanghai"); 871 let timezone = calendar.getTimeZone(); // timezone = "Asia/Shanghai" 872 ``` 873 874 875### getFirstDayOfWeek<sup>8+</sup> 876 877getFirstDayOfWeek(): number 878 879获取日历对象的一周起始日。 880 881**系统能力**:SystemCapability.Global.I18n 882 883**返回值:** 884 885| 类型 | 说明 | 886| ------ | --------------------- | 887| number | 获取一周的起始日,1代表周日,7代表周六。 | 888 889**示例:** 890 ```js 891 let calendar = I18n.getCalendar("en-US", "gregory"); 892 let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 1 893 ``` 894 895 896### setFirstDayOfWeek<sup>8+</sup> 897 898setFirstDayOfWeek(value: number): void 899 900设置每一周的起始日。 901 902**系统能力**:SystemCapability.Global.I18n 903 904**参数:** 905 906| 参数名 | 类型 | 必填 | 说明 | 907| ----- | ------ | ---- | --------------------- | 908| value | number | 是 | 设置一周的起始日,1代表周日,7代表周六。 | 909 910**示例:** 911 ```js 912 let calendar = I18n.getCalendar("zh-Hans"); 913 calendar.setFirstDayOfWeek(3); 914 let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 3 915 ``` 916 917 918### getMinimalDaysInFirstWeek<sup>8+</sup> 919 920getMinimalDaysInFirstWeek(): number 921 922获取一年中第一周的最小天数。 923 924**系统能力**:SystemCapability.Global.I18n 925 926**返回值:** 927 928| 类型 | 说明 | 929| ------ | ------------ | 930| number | 一年中第一周的最小天数。 | 931 932**示例:** 933 ```js 934 let calendar = I18n.getCalendar("zh-Hans"); 935 let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 1 936 ``` 937 938 939### setMinimalDaysInFirstWeek<sup>8+</sup> 940 941setMinimalDaysInFirstWeek(value: number): void 942 943设置一年中第一周的最小天数。 944 945**系统能力**:SystemCapability.Global.I18n 946 947**参数:** 948 949| 参数名 | 类型 | 必填 | 说明 | 950| ----- | ------ | ---- | ------------ | 951| value | number | 是 | 一年中第一周的最小天数。 | 952 953**示例:** 954 ```js 955 let calendar = I18n.getCalendar("zh-Hans"); 956 calendar.setMinimalDaysInFirstWeek(3); 957 let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 3 958 ``` 959 960 961### get<sup>8+</sup> 962 963get(field: string): number 964 965获取日历对象中与field相关联的值。 966 967**系统能力**:SystemCapability.Global.I18n 968 969**参数:** 970 971| 参数名 | 类型 | 必填 | 说明 | 972| ----- | ------ | ---- | ---------------------------------------- | 973| field | string | 是 | 通过field来获取日历对象相应的值。目前支持的field值有 era, 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, zone_offset, dst_offset, year_woy, dow_local, extended_year, julian_day, milliseconds_in_day, is_leap_month。 | 974 975**返回值:** 976 977| 类型 | 说明 | 978| ------ | ---------------------------------------- | 979| number | 与field相关联的值,如当前Calendar对象的内部日期的年份为1990,get("year")返回1990。 | 980 981**示例:** 982 ```js 983 let calendar = I18n.getCalendar("zh-Hans"); 984 calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00 985 let hourOfDay = calendar.get("hour_of_day"); // hourOfDay = 8 986 ``` 987 988 989### getDisplayName<sup>8+</sup> 990 991getDisplayName(locale: string): string 992 993获取日历对象在locale所指定的区域的名字。 994 995**系统能力**:SystemCapability.Global.I18n 996 997**参数:** 998 999| 参数名 | 类型 | 必填 | 说明 | 1000| ------ | ------ | ---- | ---------------------------------------- | 1001| locale | string | 是 | locale指定获取哪个区域下该calendar的名字,如buddhist在en-US上显示的名称为“Buddhist Calendar”。 | 1002 1003**返回值:** 1004 1005| 类型 | 说明 | 1006| ------ | ------------------- | 1007| string | 日历在locale所指示的区域的名字。 | 1008 1009**示例:** 1010 ```js 1011 let calendar = I18n.getCalendar("en-US", "buddhist"); 1012 let calendarName = calendar.getDisplayName("zh"); // calendarName = "佛历" 1013 ``` 1014 1015 1016### isWeekend<sup>8+</sup> 1017 1018isWeekend(date?: Date): boolean 1019 1020判断给定的日期是否在日历中是周末。 1021 1022**系统能力**:SystemCapability.Global.I18n 1023 1024**参数:** 1025 1026| 参数名 | 类型 | 必填 | 说明 | 1027| ---- | ---- | ---- | ---------------------------------------- | 1028| date | Date | 否 | 判断日期在日历中是否是周末。如果不传日期参数,则判断当前日期是否为周末。 | 1029 1030**返回值:** 1031 1032| 类型 | 说明 | 1033| ------- | ----------------------------------- | 1034| boolean | 当所判断的日期为周末时,返回 true,否则返回false。 | 1035 1036**示例:** 1037 ```js 1038 let calendar = I18n.getCalendar("zh-Hans"); 1039 calendar.set(2021, 11, 11, 8, 0, 0); // set time to 2021.11.11 08:00:00 1040 calendar.isWeekend(); // false 1041 let date = new Date(2011, 11, 6, 9, 0, 0); 1042 calendar.isWeekend(date); // true 1043 ``` 1044 1045 1046## PhoneNumberFormat<sup>8+</sup> 1047 1048 1049### constructor<sup>8+</sup> 1050 1051constructor(country: string, options?: PhoneNumberFormatOptions) 1052 1053创建电话号码格式化对象。 1054 1055**系统能力**:SystemCapability.Global.I18n 1056 1057**参数:** 1058 1059| 参数名 | 类型 | 必填 | 说明 | 1060| ------- | ---------------------------------------- | ---- | ---------------- | 1061| country | string | 是 | 表示电话号码所属国家或地区代码。 | 1062| options | [PhoneNumberFormatOptions](#phonenumberformatoptions9) | 否 | 电话号码格式化对象的相关选项。 | 1063 1064**示例:** 1065 ```js 1066 let phoneNumberFormat= new I18n.PhoneNumberFormat("CN", {"type": "E164"}); 1067 ``` 1068 1069 1070### isValidNumber<sup>8+</sup> 1071 1072isValidNumber(number: string): boolean 1073 1074判断传入的电话号码格式是否正确。 1075 1076**系统能力**:SystemCapability.Global.I18n 1077 1078**参数:** 1079 1080| 参数名 | 类型 | 必填 | 说明 | 1081| ------ | ------ | ---- | --------- | 1082| number | string | 是 | 待判断的电话号码。 | 1083 1084**返回值:** 1085 1086| 类型 | 说明 | 1087| ------- | ------------------------------------- | 1088| boolean | 返回true表示电话号码的格式正确,返回false表示电话号码的格式错误。 | 1089 1090**示例:** 1091 ```js 1092 let phonenumberfmt = new I18n.PhoneNumberFormat("CN"); 1093 let isValidNumber = phonenumberfmt.isValidNumber("15812312312"); // isValidNumber = true 1094 ``` 1095 1096 1097### format<sup>8+</sup> 1098 1099format(number: string): string 1100 1101对电话号码进行格式化。 1102 1103**系统能力**:SystemCapability.Global.I18n 1104 1105**参数:** 1106 1107| 参数名 | 类型 | 必填 | 说明 | 1108| ------ | ------ | ---- | ---------- | 1109| number | string | 是 | 待格式化的电话号码。 | 1110 1111**返回值:** 1112 1113| 类型 | 说明 | 1114| ------ | ---------- | 1115| string | 格式化后的电话号码。 | 1116 1117**示例:** 1118 ```js 1119 let phonenumberfmt = new I18n.PhoneNumberFormat("CN"); 1120 let formattedPhoneNumber = phonenumberfmt.format("15812312312"); // formattedPhoneNumber = "158 1231 2312" 1121 ``` 1122 1123 1124### getLocationName<sup>9+</sup> 1125 1126getLocationName(number: string, locale: string): string 1127 1128获取电话号码归属地。 1129 1130**系统能力**:SystemCapability.Global.I18n 1131 1132**参数:** 1133 1134| 参数名 | 类型 | 必填 | 说明 | 1135| ------ | ------ | ---- | ---- | 1136| number | string | 是 | 电话号码 | 1137| locale | string | 是 | 区域ID | 1138 1139**返回值:** 1140 1141| 类型 | 说明 | 1142| ------ | -------- | 1143| string | 电话号码归属地。 | 1144 1145**示例:** 1146 ```js 1147 let phonenumberfmt = new I18n.PhoneNumberFormat("CN"); 1148 let locationName = phonenumberfmt.getLocationName("15812312345", "zh-CN"); // locationName = "广东省湛江市" 1149 ``` 1150 1151 1152## PhoneNumberFormatOptions<sup>9+</sup> 1153 1154表示电话号码格式化对象可设置的属性。 1155 1156**系统能力**:SystemCapability.Global.I18n 1157 1158| 名称 | 类型 | 可读 | 可写 | 说明 | 1159| ---- | ------ | ---- | ---- | ---------------------------------------- | 1160| type | string | 是 | 是 | 表示对电话号码格式化的类型,取值范围:"E164", "INTERNATIONAL", "NATIONAL", "RFC3966"。 | 1161 1162 1163## UnitInfo<sup>8+</sup> 1164 1165度量衡单位信息。 1166 1167**系统能力**:SystemCapability.Global.I18n 1168 1169| 名称 | 类型 | 可读 | 可写 | 说明 | 1170| ------------- | ------ | ---- | ---- | ---------------------------------------- | 1171| unit | string | 是 | 是 | 单位的名称,如:"meter", "inch", "cup"等。 | 1172| measureSystem | string | 是 | 是 | 单位的度量体系,取值包括:"SI", "US", "UK"。 | 1173 1174 1175## getInstance<sup>8+</sup> 1176 1177getInstance(locale?:string): IndexUtil 1178 1179创建并返回IndexUtil对象。 1180 1181**系统能力**:SystemCapability.Global.I18n 1182 1183**参数:** 1184 1185| 参数名 | 类型 | 必填 | 说明 | 1186| ------ | ------ | ---- | ---------------------------- | 1187| locale | string | 否 | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 | 1188 1189**返回值:** 1190 1191| 类型 | 说明 | 1192| ------------------------ | --------------------- | 1193| [IndexUtil](#indexutil8) | locale对应的IndexUtil对象。 | 1194 1195**示例:** 1196 ```js 1197 let indexUtil = I18n.getInstance("zh-CN"); 1198 ``` 1199 1200 1201## IndexUtil<sup>8+</sup> 1202 1203 1204### getIndexList<sup>8+</sup> 1205 1206getIndexList(): Array<string> 1207 1208获取当前locale对应的索引列表。 1209 1210**系统能力**:SystemCapability.Global.I18n 1211 1212**返回值:** 1213 1214| 类型 | 说明 | 1215| ------------------- | ------------------ | 1216| Array<string> | 返回当前locale对应的索引列表。 | 1217 1218**示例:** 1219 ```js 1220 let indexUtil = I18n.getInstance("zh-CN"); 1221 // indexList = [ "...", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", 1222 // "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "..." ] 1223 let indexList = indexUtil.getIndexList(); 1224 ``` 1225 1226 1227### addLocale<sup>8+</sup> 1228 1229addLocale(locale: string): void 1230 1231将新的locale对应的索引加入当前索引列表。 1232 1233**系统能力**:SystemCapability.Global.I18n 1234 1235**参数:** 1236 1237| 参数名 | 类型 | 必填 | 说明 | 1238| ------ | ------ | ---- | ---------------------------- | 1239| locale | string | 是 | 包含区域设置信息的字符串,包括语言以及可选的脚本和区域。 | 1240 1241**示例:** 1242 ```js 1243 let indexUtil = I18n.getInstance("zh-CN"); 1244 indexUtil.addLocale("en-US"); 1245 ``` 1246 1247 1248### getIndex<sup>8+</sup> 1249 1250getIndex(text: string): string 1251 1252获取text对应的索引。 1253 1254**系统能力**:SystemCapability.Global.I18n 1255 1256**参数:** 1257 1258| 参数名 | 类型 | 必填 | 说明 | 1259| ---- | ------ | ---- | ------------ | 1260| text | string | 是 | 待计算索引值的输入文本。 | 1261 1262**返回值:** 1263 1264| 类型 | 说明 | 1265| ------ | ----------- | 1266| string | 输入文本对应的索引值。 | 1267 1268**示例:** 1269 ```js 1270 let indexUtil = I18n.getInstance("zh-CN"); 1271 let index = indexUtil.getIndex("hi"); // index = "H" 1272 ``` 1273 1274 1275## I18n.getLineInstance<sup>8+</sup> 1276 1277getLineInstance(locale: string): BreakIterator 1278 1279获取一个用于断句的[BreakIterator](#breakiterator8)对象。 1280 1281**系统能力**:SystemCapability.Global.I18n 1282 1283**参数:** 1284 1285| 参数名 | 类型 | 必填 | 说明 | 1286| ------ | ------ | ---- | ---------------------------------------- | 1287| locale | string | 是 | 合法的locale值,例如zh-Hans-CN。生成的[BreakIterator](#breakiterator8)将按照locale所指定的区域的规则来进行断句。 | 1288 1289**返回值:** 1290 1291| 类型 | 说明 | 1292| -------------------------------- | ----------- | 1293| [BreakIterator](#breakiterator8) | 用于进行断句的处理器。 | 1294 1295**示例:** 1296 ```js 1297 let iterator = I18n.getLineInstance("en"); 1298 ``` 1299 1300 1301## BreakIterator<sup>8+</sup> 1302 1303 1304### setLineBreakText<sup>8+</sup> 1305 1306setLineBreakText(text: string): void 1307 1308设置[BreakIterator](#breakiterator8)要处理的文本。 1309 1310**系统能力**:SystemCapability.Global.I18n 1311 1312**参数:** 1313 1314| 参数名 | 类型 | 必填 | 说明 | 1315| ---- | ------ | ---- | ----------------------- | 1316| text | string | 是 | 指定BreakIterator进行断句的文本。 | 1317 1318**示例:** 1319 ```js 1320 let iterator = I18n.getLineInstance("en"); 1321 iterator.setLineBreakText("Apple is my favorite fruit."); // 设置短句文本 1322 ``` 1323 1324 1325### getLineBreakText<sup>8+</sup> 1326 1327getLineBreakText(): string 1328 1329获取[BreakIterator](#breakiterator8)当前处理的文本。 1330 1331**系统能力**:SystemCapability.Global.I18n 1332 1333**返回值:** 1334 1335| 类型 | 说明 | 1336| ------ | ---------------------- | 1337| string | BreakIterator对象正在处理的文本 | 1338 1339**示例:** 1340 ```js 1341 let iterator = I18n.getLineInstance("en"); 1342 iterator.setLineBreakText("Apple is my favorite fruit."); 1343 let breakText = iterator.getLineBreakText(); // breakText = "Apple is my favorite fruit." 1344 ``` 1345 1346 1347### current<sup>8+</sup> 1348 1349current(): number 1350 1351获取[BreakIterator](#breakiterator8)对象在当前处理的文本中的位置。 1352 1353**系统能力**:SystemCapability.Global.I18n 1354 1355**返回值:** 1356 1357| 类型 | 说明 | 1358| ------ | --------------------------- | 1359| number | BreakIterator在当前所处理的文本中的位置。 | 1360 1361**示例:** 1362 ```js 1363 let iterator = I18n.getLineInstance("en"); 1364 iterator.setLineBreakText("Apple is my favorite fruit."); 1365 let currentPos = iterator.current(); // currentPos = 0 1366 ``` 1367 1368 1369### first<sup>8+</sup> 1370 1371first(): number 1372 1373将[BreakIterator](#breakiterator8)对象设置到第一个可断句的分割点。第一个分割点总是被处理的文本的起始位置。 1374 1375**系统能力**:SystemCapability.Global.I18n 1376 1377**返回值:** 1378 1379| 类型 | 说明 | 1380| ------ | ----------------- | 1381| number | 被处理文本的第一个分割点的偏移量。 | 1382 1383**示例:** 1384 ```js 1385 let iterator = I18n.getLineInstance("en"); 1386 iterator.setLineBreakText("Apple is my favorite fruit."); 1387 let firstPos = iterator.first(); // firstPos = 0 1388 ``` 1389 1390 1391### last<sup>8+</sup> 1392 1393last(): number 1394 1395将[BreakIterator](#breakiterator8)对象的位置设置到最后一个可断句的分割点。最后一个分割点总是被处理文本末尾的下一个位置。 1396 1397**系统能力**:SystemCapability.Global.I18n 1398 1399**返回值:** 1400 1401| 类型 | 说明 | 1402| ------ | ------------------ | 1403| number | 被处理的文本的最后一个分割点的偏移量 | 1404 1405**示例:** 1406 ```js 1407 let iterator = I18n.getLineInstance("en"); 1408 iterator.setLineBreakText("Apple is my favorite fruit."); 1409 let lastPos = iterator.last(); // lastPos = 27 1410 ``` 1411 1412 1413### next<sup>8+</sup> 1414 1415next(index?: number): number 1416 1417如果index给出,并且index是一个正数将[BreakIterator](#breakiterator8)向后移动number个可断句的分割点,如果n是一个负数,向前移动相应个分割点。若index没有给出,则相当于index = 1。 1418 1419**系统能力**:SystemCapability.Global.I18n 1420 1421**参数:** 1422 1423| 参数名 | 类型 | 必填 | 说明 | 1424| ----- | ------ | ---- | ---------------------------------------- | 1425| index | number | 否 | [BreakIterator](#breakiterator8)将要移动的分割点数,正数代表向后移动,负数代表向前移动。若index没有给出,则按照index=1处理。 | 1426 1427**返回值:** 1428 1429| 类型 | 说明 | 1430| ------ | ---------------------------------------- | 1431| number | 返回移动了index个分割点后,当前[BreakIterator](#breakiterator8)在文本中的位置。若移动index个分割点后超出了所处理的文本的长度范围,返回-1。 | 1432 1433**示例:** 1434 ```js 1435 let iterator = I18n.getLineInstance("en"); 1436 iterator.setLineBreakText("Apple is my favorite fruit."); 1437 let pos = iterator.first(); // pos = 0 1438 pos = iterator.next(); // pos = 6 1439 pos = iterator.next(10); // pos = -1 1440 ``` 1441 1442 1443### previous<sup>8+</sup> 1444 1445previous(): number 1446 1447将[BreakIterator](#breakiterator8)移动到前一个分割点处。 1448 1449**系统能力**:SystemCapability.Global.I18n 1450 1451**返回值:** 1452 1453| 类型 | 说明 | 1454| ------ | ---------------------------------------- | 1455| number | 返回移动到前一个分割点后,当前[BreakIterator](#breakiterator8)在文本中的位置。若移动index个分割点后超出了所处理的文本的长度范围,返回-1。 | 1456 1457**示例:** 1458 ```js 1459 let iterator = I18n.getLineInstance("en"); 1460 iterator.setLineBreakText("Apple is my favorite fruit."); 1461 let pos = iterator.first(); // pos = 0 1462 pos = iterator.next(3); // pos = 12 1463 pos = iterator.previous(); // pos = 9 1464 ``` 1465 1466 1467### following<sup>8+</sup> 1468 1469following(offset: number): number 1470 1471将[BreakIterator](#breakiterator8)设置到由offset指定的位置的后面一个分割点。返回移动后[BreakIterator](#breakiterator8)的位置。 1472 1473**系统能力**:SystemCapability.Global.I18n 1474 1475**参数:** 1476 1477| 参数名 | 类型 | 必填 | 说明 | 1478| ------ | ------ | ---- | ---------------------------------------- | 1479| offset | number | 是 | 将[BreakIterator](#breakiterator8)对象的位置设置到由offset所指定的位置的下一个分割点。 | 1480 1481**返回值:** 1482 1483| 类型 | 说明 | 1484| ------ | ---------------------------------------- | 1485| number | 返回[BreakIterator](#breakiterator8)移动后的位置,如果由offset所指定的位置的下一个分割点超出了文本的范围则返回-1。 | 1486 1487**示例:** 1488 ```js 1489 let iterator = I18n.getLineInstance("en"); 1490 iterator.setLineBreakText("Apple is my favorite fruit."); 1491 let pos = iterator.following(0); // pos = 6 1492 pos = iterator.following(100); // pos = -1 1493 pos = iterator.current(); // pos = 27 1494 ``` 1495 1496 1497### isBoundary<sup>8+</sup> 1498 1499isBoundary(offset: number): boolean 1500 1501如果offset所指定的文本位置是一个分割点,那么返回true,否则返回false。如果返回true, 将[BreakIterator](#breakiterator8)对象设置到offset所指定的位置, 否则相当于调用[following](#following8)(offset)。 1502 1503**系统能力**:SystemCapability.Global.I18n 1504 1505**参数:** 1506 1507| 参数名 | 类型 | 必填 | 说明 | 1508| ------ | ------ | ---- | ----------- | 1509| offset | number | 是 | 指定需要进行判断的位置 | 1510 1511**返回值:** 1512 1513| 类型 | 说明 | 1514| ------- | ------------------------------- | 1515| boolean | 如果是一个分割点返回true, 否则返回false。 | 1516 1517**示例:** 1518 ```js 1519 let iterator = I18n.getLineInstance("en"); 1520 iterator.setLineBreakText("Apple is my favorite fruit."); 1521 let isBoundary = iterator.isBoundary(0); // isBoundary = true; 1522 isBoundary = iterator.isBoundary(5); // isBoundary = false; 1523 ``` 1524 1525 1526## I18n.getTimeZone<sup>7+</sup> 1527 1528getTimeZone(zoneID?: string): TimeZone 1529 1530获取时区ID对应的时区对象。 1531 1532**系统能力**:SystemCapability.Global.I18n 1533 1534**参数:** 1535 1536| 参数名 | 类型 | 必填 | 说明 | 1537| ------ | ------ | ---- | ----- | 1538| zondID | string | 否 | 时区ID。 | 1539 1540**返回值:** 1541 1542| 类型 | 说明 | 1543| -------- | ------------ | 1544| TimeZone | 时区ID对应的时区对象。 | 1545 1546**示例:** 1547 ```js 1548 let timezone = I18n.getTimeZone(); 1549 ``` 1550 1551 1552## TimeZone 1553 1554 1555### getID 1556 1557getID(): string 1558 1559获取时区对象的ID。 1560 1561**系统能力**:SystemCapability.Global.I18n 1562 1563**返回值:** 1564 1565| 类型 | 说明 | 1566| ------ | ------------ | 1567| string | 时区对象对应的时区ID。 | 1568 1569**示例:** 1570 ```js 1571 let timezone = I18n.getTimeZone(); 1572 let timezoneID = timezone.getID(); // timezoneID = "Asia/Shanghai" 1573 ``` 1574 1575 1576### getDisplayName 1577 1578getDisplayName(locale?: string, isDST?: boolean): string 1579 1580获取时区的本地化表示。 1581 1582**系统能力**:SystemCapability.Global.I18n 1583 1584**参数:** 1585 1586| 参数名 | 类型 | 必填 | 说明 | 1587| ------ | ------- | ---- | -------------------- | 1588| locale | string | 否 | 区域ID。 | 1589| isDST | boolean | 否 | 表示获取时区对象的表示时是否考虑夏令时。 | 1590 1591**返回值:** 1592 1593| 类型 | 说明 | 1594| ------ | ------------- | 1595| string | 时区对象在指定区域的表示。 | 1596 1597**示例:** 1598 ```js 1599 let timezone = I18n.getTimeZone(); 1600 let timezoneName = timezone.getDisplayName("zh-CN", false); // timezoneName = "中国标准时间" 1601 ``` 1602 1603 1604### getRawOffset 1605 1606getRawOffset(): number 1607 1608获取时区对象表示的时区与UTC时区的偏差。 1609 1610**系统能力**:SystemCapability.Global.I18n 1611 1612**返回值:** 1613 1614| 类型 | 说明 | 1615| ------ | ------------------- | 1616| number | 时区对象表示的时区与UTC时区的偏差。 | 1617 1618**示例:** 1619 ```js 1620 let timezone = I18n.getTimeZone(); 1621 let offset = timezone.getRawOffset(); // offset = 28800000 1622 ``` 1623 1624 1625### getOffset 1626 1627getOffset(date?: number): number 1628 1629获取某一时刻时区对象表示的时区与UTC时区的偏差。 1630 1631**系统能力**:SystemCapability.Global.I18n 1632 1633**返回值:** 1634 1635| 类型 | 说明 | 1636| ------ | ----------------------- | 1637| number | 某一时刻时区对象表示的时区与UTC时区的偏差。 | 1638 1639**示例:** 1640 ```js 1641 let timezone = I18n.getTimeZone(); 1642 let offset = timezone.getOffset(1234567890); // offset = 28800000 1643 ``` 1644 1645 1646### getAvailableIDs<sup>9+</sup> 1647 1648static getAvailableIDs(): Array<string> 1649 1650获取系统支持的时区ID。 1651 1652**系统能力**:SystemCapability.Global.I18n 1653 1654**返回值:** 1655 1656| 类型 | 说明 | 1657| ------------------- | ----------- | 1658| Array<string> | 系统支持的时区ID列表 | 1659 1660**示例:** 1661 ```ts 1662 // 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"], 当前共支持24个时区 1663 let ids = I18n.TimeZone.getAvailableIDs(); 1664 ``` 1665 1666 1667### getAvailableZoneCityIDs<sup>9+</sup> 1668 1669static getAvailableZoneCityIDs(): Array<string> 1670 1671获取系统支持的时区城市ID。 1672 1673**系统能力**:SystemCapability.Global.I18n 1674 1675**返回值:** 1676 1677| 类型 | 说明 | 1678| ------------------- | ------------- | 1679| Array<string> | 系统支持的时区城市ID列表 | 1680 1681**示例:** 1682 ```ts 1683 // 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"],当前共支持24个时区城市 1684 let cityIDs = I18n.TimeZone.getAvailableZoneCityIDs(); 1685 ``` 1686 1687 1688### getCityDisplayName<sup>9+</sup> 1689 1690static getCityDisplayName(cityID: string, locale: string): string 1691 1692获取某时区城市在locale下的本地化显示。 1693 1694**系统能力**:SystemCapability.Global.I18n 1695 1696**参数:** 1697 1698| 参数名 | 类型 | 必填 | 说明 | 1699| ------ | ------ | ---- | ------ | 1700| cityID | string | 是 | 时区城市ID | 1701| locale | string | 是 | 区域ID | 1702 1703**返回值:** 1704 1705| 类型 | 说明 | 1706| ------ | ------------------ | 1707| string | 时区城市在locale下的本地化显示 | 1708 1709**示例:** 1710 ```ts 1711 let displayName = I18n.TimeZone.getCityDisplayName("Shanghai", "zh-CN"); // displayName = "上海(中国)" 1712 ``` 1713 1714 1715### getTimezoneFromCity<sup>9+</sup> 1716 1717static getTimezoneFromCity(cityID: string): TimeZone 1718 1719创建某时区城市对应的时区对象。 1720 1721**系统能力**:SystemCapability.Global.I18n 1722 1723**参数:** 1724 1725| 参数名 | 类型 | 必填 | 说明 | 1726| ------ | ------ | ---- | ------ | 1727| cityID | string | 是 | 时区城市ID | 1728 1729**返回值:** 1730 1731| 类型 | 说明 | 1732| -------- | ----------- | 1733| TimeZone | 时区城市对应的时区对象 | 1734 1735**示例:** 1736 ```ts 1737 let timezone = I18n.TimeZone.getTimezoneFromCity("Shanghai"); 1738 ``` 1739 1740 1741## Transliterator<sup>9+</sup> 1742 1743 1744### getAvailableIDs<sup>9+</sup> 1745 1746static getAvailableIDs(): string[] 1747 1748获取音译支持的ID列表。 1749 1750**系统能力**:SystemCapability.Global.I18n 1751 1752**返回值:** 1753 1754| 类型 | 说明 | 1755| -------- | ---------- | 1756| string[] | 音译支持的ID列表。 | 1757 1758**示例:** 1759 ```ts 1760 // ids = ["ASCII-Latin", "Accents-Any", "Amharic-Latin/BGN", ...],共支持671个id 1761 // 每一个id由使用中划线分割的两部分组成,格式为 source-destination 1762 let ids = I18n.Transliterator.getAvailableIDs(); 1763 ``` 1764 1765 1766### getInstance<sup>9+</sup> 1767 1768static getInstance(id: string): Transliterator 1769 1770创建音译对象。 1771 1772**系统能力**:SystemCapability.Global.I18n 1773 1774**参数:** 1775 1776| 参数名 | 类型 | 必填 | 说明 | 1777| ---- | ------ | ---- | -------- | 1778| id | string | 是 | 音译支持的ID。 | 1779 1780**返回值:** 1781 1782| 类型 | 说明 | 1783| ---------------------------------- | ----- | 1784| [Transliterator](#transliterator9) | 音译对象。 | 1785 1786**示例:** 1787 ```ts 1788 let transliterator = I18n.Transliterator.getInstance("Any-Latn"); 1789 ``` 1790 1791 1792### transform<sup>9+</sup> 1793 1794transform(text: string): string 1795 1796将输入字符串从源格式转换为目标格式。 1797 1798**系统能力**:SystemCapability.Global.I18n 1799 1800**参数:** 1801 1802| 参数名 | 类型 | 必填 | 说明 | 1803| ---- | ------ | ---- | ------ | 1804| text | string | 是 | 输入字符串。 | 1805 1806**返回值:** 1807 1808| 类型 | 说明 | 1809| ------ | -------- | 1810| string | 转换后的字符串。 | 1811 1812**示例:** 1813 ```ts 1814 let transliterator = I18n.Transliterator.getInstance("Any-Latn"); 1815 let res = transliterator.transform("中国"); // res = "zhōng guó" 1816 ``` 1817 1818 1819## Unicode<sup>9+</sup> 1820 1821 1822### isDigit<sup>9+</sup> 1823 1824static isDigit(char: string): boolean 1825 1826判断字符串char是否是数字。 1827 1828**系统能力**:SystemCapability.Global.I18n 1829 1830**参数:** 1831 1832| 参数名 | 类型 | 必填 | 说明 | 1833| ---- | ------ | ---- | ----- | 1834| char | string | 是 | 输入字符。 | 1835 1836**返回值:** 1837 1838| 类型 | 说明 | 1839| ------- | ------------------------------------ | 1840| boolean | 返回true表示输入的字符是数字,返回false表示输入的字符不是数字。 | 1841 1842**示例:** 1843 ```js 1844 let isdigit = I18n.Unicode.isDigit("1"); // isdigit = true 1845 ``` 1846 1847 1848### isSpaceChar<sup>9+</sup> 1849 1850static isSpaceChar(char: string): boolean 1851 1852判断字符串char是否是空格符。 1853 1854**系统能力**:SystemCapability.Global.I18n 1855 1856**参数:** 1857 1858| 参数名 | 类型 | 必填 | 说明 | 1859| ---- | ------ | ---- | ----- | 1860| char | string | 是 | 输入字符。 | 1861 1862**返回值:** 1863 1864| 类型 | 说明 | 1865| ------- | -------------------------------------- | 1866| boolean | 返回true表示输入的字符是空格符,返回false表示输入的字符不是空格符。 | 1867 1868**示例:** 1869 ```js 1870 let isspacechar = I18n.Unicode.isSpaceChar("a"); // isspacechar = false 1871 ``` 1872 1873 1874### isWhitespace<sup>9+</sup> 1875 1876static isWhitespace(char: string): boolean 1877 1878判断字符串char是否是空白符。 1879 1880**系统能力**:SystemCapability.Global.I18n 1881 1882**参数:** 1883 1884| 参数名 | 类型 | 必填 | 说明 | 1885| ---- | ------ | ---- | ----- | 1886| char | string | 是 | 输入字符。 | 1887 1888**返回值:** 1889 1890| 类型 | 说明 | 1891| ------- | -------------------------------------- | 1892| boolean | 返回true表示输入的字符是空白符,返回false表示输入的字符不是空白符。 | 1893 1894**示例:** 1895 ```js 1896 let iswhitespace = I18n.Unicode.isWhitespace("a"); // iswhitespace = false 1897 ``` 1898 1899 1900### isRTL<sup>9+</sup> 1901 1902static isRTL(char: string): boolean 1903 1904判断字符串char是否是从右到左语言的字符。 1905 1906**系统能力**:SystemCapability.Global.I18n 1907 1908**参数:** 1909 1910| 参数名 | 类型 | 必填 | 说明 | 1911| ---- | ------ | ---- | ----- | 1912| char | string | 是 | 输入字符。 | 1913 1914**返回值:** 1915 1916| 类型 | 说明 | 1917| ------- | ---------------------------------------- | 1918| boolean | 返回true表示输入的字符是从右到左语言的字符,返回false表示输入的字符不是从右到左语言的字符。 | 1919 1920**示例:** 1921 ```js 1922 let isrtl = I18n.Unicode.isRTL("a"); // isrtl = false 1923 ``` 1924 1925 1926### isIdeograph<sup>9+</sup> 1927 1928static isIdeograph(char: string): boolean 1929 1930判断字符串char是否是表意文字。 1931 1932**系统能力**:SystemCapability.Global.I18n 1933 1934**参数:** 1935 1936| 参数名 | 类型 | 必填 | 说明 | 1937| ---- | ------ | ---- | ----- | 1938| char | string | 是 | 输入字符。 | 1939 1940**返回值:** 1941 1942| 类型 | 说明 | 1943| ------- | ---------------------------------------- | 1944| boolean | 返回true表示输入的字符是表意文字,返回false表示输入的字符不是表意文字。 | 1945 1946**示例:** 1947 ```js 1948 let isideograph = I18n.Unicode.isIdeograph("a"); // isideograph = false 1949 ``` 1950 1951 1952### isLetter<sup>9+</sup> 1953 1954static isLetter(char: string): boolean 1955 1956判断字符串char是否是字母。 1957 1958**系统能力**:SystemCapability.Global.I18n 1959 1960**参数:** 1961 1962| 参数名 | 类型 | 必填 | 说明 | 1963| ---- | ------ | ---- | ----- | 1964| char | string | 是 | 输入字符。 | 1965 1966**返回值:** 1967 1968| 类型 | 说明 | 1969| ------- | ------------------------------------ | 1970| boolean | 返回true表示输入的字符是字母,返回false表示输入的字符不是字母。 | 1971 1972**示例:** 1973 ```js 1974 let isletter = I18n.Unicode.isLetter("a"); // isletter = true 1975 ``` 1976 1977 1978### isLowerCase<sup>9+</sup> 1979 1980static isLowerCase(char: string): boolean 1981 1982判断字符串char是否是小写字母。 1983 1984**系统能力**:SystemCapability.Global.I18n 1985 1986**参数:** 1987 1988| 参数名 | 类型 | 必填 | 说明 | 1989| ---- | ------ | ---- | ----- | 1990| char | string | 是 | 输入字符。 | 1991 1992**返回值:** 1993 1994| 类型 | 说明 | 1995| ------- | ---------------------------------------- | 1996| boolean | 返回true表示输入的字符是小写字母,返回false表示输入的字符不是小写字母。 | 1997 1998**示例:** 1999 ```js 2000 let islowercase = I18n.Unicode.isLowerCase("a"); // islowercase = true 2001 ``` 2002 2003 2004### isUpperCase<sup>9+</sup> 2005 2006static isUpperCase(char: string): boolean 2007 2008判断字符串char是否是大写字母。 2009 2010**系统能力**:SystemCapability.Global.I18n 2011 2012**参数:** 2013 2014| 参数名 | 类型 | 必填 | 说明 | 2015| ---- | ------ | ---- | ----- | 2016| char | string | 是 | 输入字符。 | 2017 2018**返回值:** 2019 2020| 类型 | 说明 | 2021| ------- | ---------------------------------------- | 2022| boolean | 返回true表示输入的字符是大写字母,返回false表示输入的字符不是大写字母。 | 2023 2024**示例:** 2025 ```js 2026 let isuppercase = I18n.Unicode.isUpperCase("a"); // isuppercase = false 2027 ``` 2028 2029 2030### getType<sup>9+</sup> 2031 2032static getType(char: string): string 2033 2034获取输入字符串的一般类别值。 2035 2036**系统能力**:SystemCapability.Global.I18n 2037 2038**参数:** 2039 2040| 参数名 | 类型 | 必填 | 说明 | 2041| ---- | ------ | ---- | ----- | 2042| char | string | 是 | 输入字符。 | 2043 2044**返回值:** 2045 2046| 类型 | 说明 | 2047| ------ | ----------- | 2048| string | 输入字符的一般类别值。 | 2049 2050**示例:** 2051 ```js 2052 let type = I18n.Unicode.getType("a"); // type = "U_LOWERCASE_LETTER" 2053 ``` 2054 2055 2056## I18NUtil<sup>9+</sup> 2057 2058 2059### unitConvert<sup>9+</sup> 2060 2061static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string 2062 2063将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。 2064 2065**系统能力**:SystemCapability.Global.I18n 2066 2067**参数:** 2068 2069| 参数名 | 类型 | 必填 | 说明 | 2070| -------- | ---------------------- | ---- | ---------------------------------------- | 2071| fromUnit | [UnitInfo](#unitinfo8) | 是 | 要被转换的单位。 | 2072| toUnit | [UnitInfo](#unitinfo8) | 是 | 要转换为的单位。 | 2073| value | number | 是 | 要被转换的单位的数量值。 | 2074| locale | string | 是 | 格式化时使用的区域参数,如:zh-Hans-CN。 | 2075| style | string | 否 | 格式化使用的风格,取值包括:"long", "short", "narrow"。 | 2076 2077**返回值:** 2078 2079| 类型 | 说明 | 2080| ------ | ----------------------- | 2081| string | 按照toUnit的单位格式化后,得到的字符串。 | 2082 2083**示例:** 2084 ```js 2085 let res = I18n.I18NUtil.unitConvert({unit: "cup", measureSystem: "US"}, {unit: "liter", measureSystem: "SI"}, 1000, "en-US", "long"); // res = 236.588 liters 2086 ``` 2087 2088 2089### getDateOrder<sup>9+</sup> 2090 2091static getDateOrder(locale: string): string 2092 2093获取某一区域的日期的年、月、日排列顺序。 2094 2095**系统能力**:SystemCapability.Global.I18n 2096 2097**参数:** 2098 2099| 参数名 | 类型 | 必填 | 说明 | 2100| ------ | ------ | ---- | ------------------------- | 2101| locale | string | 是 | 格式化时使用的区域参数,如:zh-Hans-CN。 | 2102 2103**返回值:** 2104 2105| 类型 | 说明 | 2106| ------ | ------------------- | 2107| string | 返回某一区域的日期的年、月、日排列顺序 | 2108 2109**示例:** 2110 ```js 2111 let order = I18n.I18NUtil.getDateOrder("zh-CN"); // order = "y-L-d" 2112 ``` 2113 2114 2115## I18n.getDisplayCountry<sup>(deprecated)</sup> 2116 2117getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string 2118 2119获取指定国家的本地化显示文本。 2120 2121从API version 9开始不再维护,建议使用[System.getDisplayCountry](#getdisplaycountry9)代替。 2122 2123**系统能力**:SystemCapability.Global.I18n 2124 2125**参数:** 2126 2127| 参数名 | 类型 | 必填 | 说明 | 2128| ------------ | ------- | ---- | ---------------- | 2129| country | string | 是 | 指定国家。 | 2130| locale | string | 是 | 显示指定国家的区域ID。 | 2131| sentenceCase | boolean | 否 | 本地化显示文本是否要首字母大写。 | 2132 2133**返回值:** 2134 2135| 类型 | 说明 | 2136| ------ | ------------- | 2137| string | 指定国家的本地化显示文本。 | 2138 2139**示例:** 2140 ```js 2141 let countryName = I18n.getDisplayCountry("zh-CN", "en-GB", true); // countryName = true 2142 countryName = I18n.getDisplayCountry("zh-CN", "en-GB"); // countryName = true 2143 ``` 2144 2145 2146## I18n.getDisplayLanguage<sup>(deprecated)</sup> 2147 2148getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string 2149 2150获取指定语言的本地化显示文本。 2151 2152从API version 9开始不再维护,建议使用[System.getDisplayLanguage](#getdisplaylanguage9)代替。 2153 2154**系统能力**:SystemCapability.Global.I18n 2155 2156**参数:** 2157 2158| 参数名 | 类型 | 必填 | 说明 | 2159| ------------ | ------- | ---- | ---------------- | 2160| language | string | 是 | 指定语言。 | 2161| locale | string | 是 | 显示指定语言的区域ID。 | 2162| sentenceCase | boolean | 否 | 本地化显示文本是否要首字母大写。 | 2163 2164**返回值:** 2165 2166| 类型 | 说明 | 2167| ------ | ------------- | 2168| string | 指定语言的本地化显示文本。 | 2169 2170**示例:** 2171 ```js 2172 let languageName = I18n.getDisplayLanguage("zh", "en-GB", true); // languageName = "Chinese" 2173 languageName = I18n.getDisplayLanguage("zh", "en-GB"); // languageName = "Chinese" 2174 ``` 2175 2176 2177## I18n.getSystemLanguage<sup>(deprecated)</sup> 2178 2179getSystemLanguage(): string 2180 2181获取系统语言。 2182 2183从API version 9开始不再维护,建议使用[System.getSystemLanguage](#getsystemlanguage9)代替。 2184 2185**系统能力**:SystemCapability.Global.I18n 2186 2187**返回值:** 2188 2189| 类型 | 说明 | 2190| ------ | ------- | 2191| string | 系统语言ID。 | 2192 2193**示例:** 2194 ```js 2195 let systemLanguage = I18n.getSystemLanguage(); // 返回当前系统语言 2196 ``` 2197 2198 2199## I18n.getSystemRegion<sup>(deprecated)</sup> 2200 2201getSystemRegion(): string 2202 2203获取系统地区。 2204 2205从API version 9开始不再维护,建议使用[System.getSystemRegion](#getsystemregion9)代替。 2206 2207**系统能力**:SystemCapability.Global.I18n 2208 2209**返回值:** 2210 2211| 类型 | 说明 | 2212| ------ | ------- | 2213| string | 系统地区ID。 | 2214 2215**示例:** 2216 ```js 2217 let region = I18n.getSystemRegion(); // 返回当前系统地区 2218 ``` 2219 2220 2221## I18n.getSystemLocale<sup>(deprecated)</sup> 2222 2223getSystemLocale(): string 2224 2225获取系统区域。 2226 2227从API version 9开始不再维护,建议使用[System.getSystemLocale](#getsystemlocale9)代替。 2228 2229**系统能力**:SystemCapability.Global.I18n 2230 2231**返回值:** 2232 2233| 类型 | 说明 | 2234| ------ | ------- | 2235| string | 系统区域ID。 | 2236 2237**示例:** 2238 ```js 2239 let locale = I18n.getSystemLocale(); // 返回系统Locale 2240 ``` 2241 2242 2243## I18n.is24HourClock<sup>(deprecated)</sup> 2244 2245is24HourClock(): boolean 2246 2247判断系统时间是否为24小时制。 2248 2249从API version 9开始不再维护,建议使用[System.is24HourClock](#is24hourclock9)代替。 2250 2251**系统能力**:SystemCapability.Global.I18n 2252 2253**返回值:** 2254 2255| 类型 | 说明 | 2256| ------- | ---------------------------------------- | 2257| boolean | 返回true,表示系统24小时开关开启;返回false,表示系统24小时开关关闭。 | 2258 2259**示例:** 2260 ```js 2261 let is24HourClock = I18n.is24HourClock(); 2262 ``` 2263 2264 2265## I18n.set24HourClock<sup>(deprecated)</sup> 2266 2267set24HourClock(option: boolean): boolean 2268 2269修改系统时间的24小时制设置。 2270 2271从API version 9开始不再维护,建议使用[System.set24HourClock](#set24hourclock9)代替。 2272 2273**需要权限**:ohos.permission.UPDATE_CONFIGURATION 2274 2275**系统能力**:SystemCapability.Global.I18n 2276 2277**参数:** 2278 2279| 参数名 | 类型 | 必填 | 说明 | 2280| ------ | ------- | ---- | ---------------------------------------- | 2281| option | boolean | 是 | option为true,表示开启系统24小时制开关;返回false,表示关闭系统24小时开关。 | 2282 2283**返回值:** 2284 2285| 类型 | 说明 | 2286| ------- | ----------------------------- | 2287| boolean | 返回true,表示修改成功;返回false,表示修改失败。 | 2288 2289**示例:** 2290 ```js 2291 // 将系统时间设置为24小时制 2292 let success = I18n.set24HourClock(true); 2293 ``` 2294 2295 2296## I18n.addPreferredLanguage<sup>(deprecated)</sup> 2297 2298addPreferredLanguage(language: string, index?: number): boolean 2299 2300在系统偏好语言列表中的指定位置添加偏好语言。 2301 2302从API version 8开始支持,从API version 9开始不再维护,建议使用[System.addPreferredLanguage](#addpreferredlanguage9)代替。 2303 2304**需要权限**:ohos.permission.UPDATE_CONFIGURATION 2305 2306**系统能力**:SystemCapability.Global.I18n 2307 2308**参数:** 2309 2310| 参数名 | 类型 | 必填 | 说明 | 2311| -------- | ------ | ---- | ---------- | 2312| language | string | 是 | 待添加的偏好语言。 | 2313| index | number | 否 | 偏好语言的添加位置。 | 2314 2315**返回值:** 2316 2317| 类型 | 说明 | 2318| ------- | ----------------------------- | 2319| boolean | 返回true,表示添加成功;返回false,表示添加失败。 | 2320 2321**示例:** 2322 ```js 2323 // 将语言zh-CN添加到系统偏好语言列表中 2324 let language = 'zh-CN'; 2325 let index = 0; 2326 let success = I18n.addPreferredLanguage(language, index); 2327 ``` 2328 2329 2330## I18n.removePreferredLanguage<sup>(deprecated)</sup> 2331 2332removePreferredLanguage(index: number): boolean 2333 2334删除系统偏好语言列表中指定位置的偏好语言。 2335 2336从API version 8开始支持,从API version 9开始不再维护,建议使用[System.removePreferredLanguage](#removepreferredlanguage9)代替。 2337 2338**需要权限**:ohos.permission.UPDATE_CONFIGURATION 2339 2340**系统能力**:SystemCapability.Global.I18n 2341 2342**参数:** 2343 2344| 参数名 | 类型 | 必填 | 说明 | 2345| ----- | ------ | ---- | --------------------- | 2346| index | number | 是 | 待删除偏好语言在系统偏好语言列表中的位置。 | 2347 2348**返回值:** 2349 2350| 类型 | 说明 | 2351| ------- | ----------------------------- | 2352| boolean | 返回true,表示删除成功;返回false,表示删除失败。 | 2353 2354**示例:** 2355 ```js 2356 // 删除系统偏好语言列表中的第一个偏好语言 2357 let index = 0; 2358 let success = I18n.removePreferredLanguage(index); 2359 ``` 2360 2361 2362## I18n.getPreferredLanguageList<sup>(deprecated)</sup> 2363 2364getPreferredLanguageList(): Array<string> 2365 2366获取系统偏好语言列表。 2367 2368从API version 8开始支持,从API version 9开始不再维护,建议使用[System.getPreferredLanguageList](#getpreferredlanguagelist9)代替。 2369 2370**系统能力**:SystemCapability.Global.I18n 2371 2372**返回值:** 2373 2374| 类型 | 说明 | 2375| ------------------- | --------- | 2376| Array<string> | 系统偏好语言列表。 | 2377 2378**示例:** 2379 ```js 2380 let preferredLanguageList = I18n.getPreferredLanguageList(); // 获取系统偏好语言列表 2381 ``` 2382 2383 2384## I18n.getFirstPreferredLanguage<sup>(deprecated)</sup> 2385 2386getFirstPreferredLanguage(): string 2387 2388获取偏好语言列表中的第一个偏好语言。 2389 2390从API version 8开始支持,从API version 9开始不再维护,建议使用[System.getFirstPreferredLanguage](#getfirstpreferredlanguage9)代替。 2391 2392**系统能力**:SystemCapability.Global.I18n 2393 2394**返回值:** 2395 2396| 类型 | 说明 | 2397| ------ | -------------- | 2398| string | 偏好语言列表中的第一个语言。 | 2399 2400**示例:** 2401 ```js 2402 let firstPreferredLanguage = I18n.getFirstPreferredLanguage(); 2403 ``` 2404 2405 2406## Util<sup>(deprecated)</sup> 2407 2408 2409### unitConvert<sup>(deprecated)</sup> 2410 2411static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string 2412 2413将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。 2414 2415从API version 8开始支持,从API version 9开始不再维护,建议使用[unitConvert](#unitconvert9)代替。 2416 2417**系统能力**:SystemCapability.Global.I18n 2418 2419**参数:** 2420 2421| 参数名 | 类型 | 必填 | 说明 | 2422| -------- | ---------------------- | ---- | ---------------------------------------- | 2423| fromUnit | [UnitInfo](#unitinfo8) | 是 | 要被转换的单位。 | 2424| toUnit | [UnitInfo](#unitinfo8) | 是 | 要转换为的单位。 | 2425| value | number | 是 | 要被转换的单位的数量值。 | 2426| locale | string | 是 | 格式化时使用的区域参数,如:zh-Hans-CN。 | 2427| style | string | 否 | 格式化使用的风格,取值包括:"long", "short", "narrow"。 | 2428 2429**返回值:** 2430 2431| 类型 | 说明 | 2432| ------ | ----------------------- | 2433| string | 按照toUnit的单位格式化后,得到的字符串。 | 2434 2435 2436## Character<sup>(deprecated)</sup> 2437 2438 2439### isDigit<sup>(deprecated)</sup> 2440 2441static isDigit(char: string): boolean 2442 2443判断字符串char是否是数字。 2444 2445从API version 8开始支持,从API version 9开始不再维护,建议使用[isDigit](#isdigit9)代替。 2446 2447**系统能力**:SystemCapability.Global.I18n 2448 2449**参数:** 2450 2451| 参数名 | 类型 | 必填 | 说明 | 2452| ---- | ------ | ---- | ----- | 2453| char | string | 是 | 输入字符。 | 2454 2455**返回值:** 2456 2457| 类型 | 说明 | 2458| ------- | ------------------------------------ | 2459| boolean | 返回true表示输入的字符是数字,返回false表示输入的字符不是数字。 | 2460 2461 2462### isSpaceChar<sup>(deprecated)</sup> 2463 2464static isSpaceChar(char: string): boolean 2465 2466判断字符串char是否是空格符。 2467 2468从API version 8开始支持,从API version 9开始不再维护,建议使用[isSpaceChar](#isspacechar9)代替。 2469 2470**系统能力**:SystemCapability.Global.I18n 2471 2472**参数:** 2473 2474| 参数名 | 类型 | 必填 | 说明 | 2475| ---- | ------ | ---- | ----- | 2476| char | string | 是 | 输入字符。 | 2477 2478**返回值:** 2479 2480| 类型 | 说明 | 2481| ------- | -------------------------------------- | 2482| boolean | 返回true表示输入的字符是空格符,返回false表示输入的字符不是空格符。 | 2483 2484 2485### isWhitespace<sup>(deprecated)</sup> 2486 2487static isWhitespace(char: string): boolean 2488 2489判断字符串char是否是空白符。 2490 2491从API version 8开始支持,从API version 9开始不再维护,建议使用[isWhitespace](#iswhitespace9)代替。 2492 2493**系统能力**:SystemCapability.Global.I18n 2494 2495**参数:** 2496 2497| 参数名 | 类型 | 必填 | 说明 | 2498| ---- | ------ | ---- | ----- | 2499| char | string | 是 | 输入字符。 | 2500 2501**返回值:** 2502 2503| 类型 | 说明 | 2504| ------- | -------------------------------------- | 2505| boolean | 返回true表示输入的字符是空白符,返回false表示输入的字符不是空白符。 | 2506 2507 2508### isRTL<sup>(deprecated)</sup> 2509 2510static isRTL(char: string): boolean 2511 2512判断字符串char是否是从右到左语言的字符。 2513 2514从API version 8开始支持,从API version 9开始不再维护,建议使用[isRTL](#isrtl9)代替。 2515 2516**系统能力**:SystemCapability.Global.I18n 2517 2518**参数:** 2519 2520| 参数名 | 类型 | 必填 | 说明 | 2521| ---- | ------ | ---- | ----- | 2522| char | string | 是 | 输入字符。 | 2523 2524**返回值:** 2525 2526| 类型 | 说明 | 2527| ------- | ---------------------------------------- | 2528| boolean | 返回true表示输入的字符是从右到左语言的字符,返回false表示输入的字符不是从右到左语言的字符。 | 2529 2530 2531### isIdeograph<sup>(deprecated)</sup> 2532 2533static isIdeograph(char: string): boolean 2534 2535判断字符串char是否是表意文字。 2536 2537从API version 8开始支持,从API version 9开始不再维护,建议使用[isIdeograph](#isideograph9)代替。 2538 2539**系统能力**:SystemCapability.Global.I18n 2540 2541**参数:** 2542 2543| 参数名 | 类型 | 必填 | 说明 | 2544| ---- | ------ | ---- | ----- | 2545| char | string | 是 | 输入字符。 | 2546 2547**返回值:** 2548 2549| 类型 | 说明 | 2550| ------- | ---------------------------------------- | 2551| boolean | 返回true表示输入的字符是表意文字,返回false表示输入的字符不是表意文字。 | 2552 2553 2554### isLetter<sup>(deprecated)</sup> 2555 2556static isLetter(char: string): boolean 2557 2558判断字符串char是否是字母。 2559 2560从API version 8开始支持,从API version 9开始不再维护,建议使用[isLetter](#isletter9)代替。 2561 2562**系统能力**:SystemCapability.Global.I18n 2563 2564**参数:** 2565 2566| 参数名 | 类型 | 必填 | 说明 | 2567| ---- | ------ | ---- | ----- | 2568| char | string | 是 | 输入字符。 | 2569 2570**返回值:** 2571 2572| 类型 | 说明 | 2573| ------- | ------------------------------------ | 2574| boolean | 返回true表示输入的字符是字母,返回false表示输入的字符不是字母。 | 2575 2576 2577### isLowerCase<sup>(deprecated)</sup> 2578 2579static isLowerCase(char: string): boolean 2580 2581判断字符串char是否是小写字母。 2582 2583从API version 8开始支持,从API version 9开始不再维护,建议使用[isLowerCase](#islowercase9)代替。 2584 2585**系统能力**:SystemCapability.Global.I18n 2586 2587**参数:** 2588 2589| 参数名 | 类型 | 必填 | 说明 | 2590| ---- | ------ | ---- | ----- | 2591| char | string | 是 | 输入字符。 | 2592 2593**返回值:** 2594 2595| 类型 | 说明 | 2596| ------- | ---------------------------------------- | 2597| boolean | 返回true表示输入的字符是小写字母,返回false表示输入的字符不是小写字母。 | 2598 2599 2600### isUpperCase<sup>(deprecated)</sup> 2601 2602static isUpperCase(char: string): boolean 2603 2604判断字符串char是否是大写字母。 2605 2606从API version 8开始支持,从API version 9开始不再维护,建议使用[isUpperCase](#isuppercase9)代替。 2607 2608**系统能力**:SystemCapability.Global.I18n 2609 2610**参数:** 2611 2612| 参数名 | 类型 | 必填 | 说明 | 2613| ---- | ------ | ---- | ----- | 2614| char | string | 是 | 输入字符。 | 2615 2616**返回值:** 2617 2618| 类型 | 说明 | 2619| ------- | ---------------------------------------- | 2620| boolean | 返回true表示输入的字符是大写字母,返回false表示输入的字符不是大写字母。 | 2621 2622 2623### getType<sup>(deprecated)</sup> 2624 2625static getType(char: string): string 2626 2627获取输入字符串的一般类别值。 2628 2629从API version 8开始支持,从API version 9开始不再维护,建议使用[getType](#gettype9)代替。 2630 2631**系统能力**:SystemCapability.Global.I18n 2632 2633**参数:** 2634 2635| 参数名 | 类型 | 必填 | 说明 | 2636| ---- | ------ | ---- | ----- | 2637| char | string | 是 | 输入字符。 | 2638 2639**返回值:** 2640 2641| 类型 | 说明 | 2642| ------ | ----------- | 2643| string | 输入字符的一般类别值。 | 2644