@ohos.i18n (国际化-I18n)(系统接口)

本模块提供系统相关的或者增强的国际化能力,包括区域管理、电话号码处理、日历等,相关接口为ECMA 402标准中未定义的补充接口。Intl模块提供了ECMA 402标准定义的基础国际化接口,与本模块共同使用可提供完整地国际化支持能力。

说明:

  • 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

  • 从API version 11开始,本模块部分接口支持在ArkTS卡片中使用。

  • 当前页面仅包含本模块的系统接口,其他公开接口参见@ohos.i18n (国际化-I18n)

导入模块

import { i18n } from '@kit.LocalizationKit';

System9+

提供系统属性获取或设置的能力。

setSystemLanguage9+

static setSystemLanguage(language: string): void

设置系统语言。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
language string 合法的语言ID
说明:
可以通过i18n.System.getSystemLanguage()接口获取系统语言。
从API version 21开始,也可以使用param工具的“param get persist.global.language”命令获取系统语言。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

// 设置系统语言
try {
  i18n.System.setSystemLanguage('zh'); // 设置系统当前语言为 "zh"
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setSystemLanguage failed, error code: ${err.code}, message: ${err.message}.`);
}

setSystemRegion9+

static setSystemRegion(region: string): void

设置系统地区。

若要监听系统地区变化,可以监听事件OHOS::EventFwk::CommonEventSupport::COMMON_EVENT_LOCALE_CHANGED。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
region string 合法的地区ID。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setSystemRegion('CN');  // 设置系统当前地区为 "CN"
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setSystemRegion failed, error code: ${err.code}, message: ${err.message}.`);
}

setSystemLocale(deprecated)

static setSystemLocale(locale: string): void

从API version 9开始支持,从API version 20开始废弃。

设置系统区域。

若要监听系统区域变化,可以监听事件OHOS::EventFwk::CommonEventSupport::COMMON_EVENT_LOCALE_CHANGED。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
locale string 表示区域ID的字符串,由语言、脚本、国家或地区组成。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setSystemLocale('zh-CN');  // 设置系统当前区域ID为 "zh-CN"
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setSystemLocale failed, error code: ${err.code}, message: ${err.message}.`);
}

set24HourClock9+

static set24HourClock(option: boolean): void

设置系统时制是否为24小时制。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
option boolean true表示设置系统时制为24小时制,false表示设置系统时制为12小时制。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

// 将系统时制设置为24小时制
try {
  i18n.System.set24HourClock(true);
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.set24HourClock failed, error code: ${err.code}, message: ${err.message}.`);
}

addPreferredLanguage9+

static addPreferredLanguage(language: string, index?: number): void

在系统偏好语言列表的指定位置添加偏好语言。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
language string 待添加的偏好语言,要求是合法的语言ID
index number 偏好语言的添加位置。默认值:系统偏好语言列表长度。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

// 将语言zh-CN添加到系统偏好语言列表中
let language = 'zh-CN';
let index = 0;
try {
  i18n.System.addPreferredLanguage(language, index); // 将zh-CN添加到系统偏好语言列表的第1位
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.addPreferredLanguage failed, error code: ${err.code}, message: ${err.message}.`);
}

removePreferredLanguage9+

static removePreferredLanguage(index: number): void

从系统偏好语言列表中移除指定位置的偏好语言。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
index number 待删除偏好语言在系统偏好语言列表中的位置。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

// 删除系统偏好语言列表中的第一个偏好语言
let index: number = 0;
try {
  i18n.System.removePreferredLanguage(index);
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.removePreferredLanguage failed, error code: ${err.code}, message: ${err.message}.`);
}

setUsingLocalDigit9+

static setUsingLocalDigit(flag: boolean): void

设置系统是否使用本地数字。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
flag boolean true表示打开本地数字开关,false表示关闭本地数字开关。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setUsingLocalDigit(true); // 打开本地化数字开关
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setUsingLocalDigit failed, error code: ${err.code}, message: ${err.message}.`);
}

setTemperatureType18+

static setTemperatureType(type: TemperatureType): void

设置系统的温度单位。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
type TemperatureType 温度单位。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
890001 Invalid parameter. Possible causes: Parameter verification failed.

说明

890001的报错信息请以接口的实际报错为准。

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setTemperatureType(i18n.TemperatureType.CELSIUS); // 设置温度单位为摄氏度
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setTemperatureType failed, error code: ${err.code}, message: ${err.message}.`);
}

setFirstDayOfWeek18+

static setFirstDayOfWeek(type: WeekDay): void

设置系统的周起始日。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
type WeekDay 周期起始日。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
890001 Invalid parameter. Possible causes: Parameter verification failed.

说明

890001的报错信息请以接口的实际报错为准。

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setFirstDayOfWeek(i18n.WeekDay.MON); // 设置用户偏好的周起始日为周一
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setFirstDayOfWeek failed, error code: ${err.code}, message: ${err.message}.`);
}

getSystemCollations20+

static getSystemCollations(): Map<string, string>

获取系统支持的排序方式及名称。如系统语言为英文时,可以支持大写在前或小写在前的排序方式。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
Map<string, string> 系统支持的排序方式及名称。其中Map的key为表示排序方式的字符串,value为表示排序方式对应名称的字符串。支持的范围和系统语言相关。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let systemCollations: Map<string, string> = i18n.System.getSystemCollations();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getSystemCollations failed, error code: ${err.code}, message: ${err.message}.`);
}

getUsingCollation20+

static getUsingCollation(): string

获取系统当前使用的排序方式。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
string 系统当前使用的排序方式。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let usingCollation: string = i18n.System.getUsingCollation();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getUsingCollation failed, error code: ${err.code}, message: ${err.message}.`);
}

setSystemCollation20+

static setSystemCollation(identifier: string): void

设置系统的排序方式。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
identifier string 系统支持的排序方式。支持的范围可以通过getSystemCollations获取。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
8900001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setSystemCollation("zhuyin"); // 如果设置当前系统不支持的排序方式会报错
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setSystemCollation failed, error code: ${err.code}, message: ${err.message}.`);
}

getSystemNumberingSystems20+

static getSystemNumberingSystems(): Map<string, string>

获取系统支持的数字系统及示例。示例为数字0~9在对应数字系统下的显示。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
Map<string, string> 系统支持的数字系统及示例。其中Map的key为表示数字系统的字符串,value为表示数字系统对应的示例。支持的范围和系统语言相关。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let systemNumberingSystems: Map<string, string> = i18n.System.getSystemNumberingSystems();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getSystemNumberingSystems failed, error code: ${err.code}, message: ${err.message}.`);
}

setSystemNumberingSystem20+

static setSystemNumberingSystem(identifier: string):void

设置系统的数字系统。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
identifier string 系统支持的数字系统。支持的范围可以通过getSystemNumberingSystems获取。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
8900001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setSystemNumberingSystem("arab"); // 如果设置当前系统不支持的数字系统会报错
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setSystemNumberingSystem failed, error code: ${err.code}, message: ${err.message}.`);
}

getSystemNumberPatterns20+

static getSystemNumberPatterns(): Map<string, string>

获取系统支持的数字格式及示例。数字格式指数字中的千分符和小数分隔符的格式。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
Map<string, string> 系统支持的数字格式及示例。其中Map的key表示数字格式,是千分符和小数分隔符的unicode编码,value表示数字格式对应的示例。支持的范围和系统语言地区相关。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let systemNumberPatterns: Map<string, string> = i18n.System.getSystemNumberPatterns();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getSystemNumberPatterns failed, error code: ${err.code}, message: ${err.message}.`);
}

getUsingNumberPattern20+

static getUsingNumberPattern(): string

获取系统当前使用的数字格式。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
string 系统当前使用的数字格式。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let usingNumberPattern: string = i18n.System.getUsingNumberPattern();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getUsingNumberPattern failed, error code: ${err.code}, message: ${err.message}.`);
}

setSystemNumberPattern20+

static setSystemNumberPattern(pattern: string): void

设置系统的数字格式。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
pattern string 系统支持的数字格式。支持的范围可以通过getSystemNumberPatterns获取。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
8900001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setSystemNumberPattern("002e002c"); // 如果设置当前系统不支持的数字格式会报错
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setSystemNumberPattern failed, error code: ${err.code}, message: ${err.message}.`);
}

getSystemMeasurements20+

static getSystemMeasurements(): Map<string, string>

获取系统支持的度量衡及其名称。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
Map<string, string> 系统支持的度量衡及其名称。其中Map的key表示度量衡的标识,value表示度量衡的名称。支持的度量衡如下:
- metric:公制。
- uksystem:英制。
- ussystem:美制。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let systemMeasurements: Map<string, string> = i18n.System.getSystemMeasurements();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getSystemMeasurements failed, error code: ${err.code}, message: ${err.message}.`);
}

getUsingMeasurement20+

static getUsingMeasurement(): string

获取系统当前使用的度量衡。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
string 系统当前使用的度量衡,取值及对应含义如下:
- metric:公制。
- uksystem:英制。
- ussystem:美制。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let usingMeasurement: string = i18n.System.getUsingMeasurement();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getUsingMeasurement failed, error code: ${err.code}, message: ${err.message}.`);
}

setSystemMeasurement20+

static setSystemMeasurement(identifier: string): void

设置系统的度量衡。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
identifier string 系统支持的度量衡。支持的范围可以通过getSystemMeasurements获取。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
8900001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setSystemMeasurement("uksystem"); // 如果设置当前系统不支持的度量衡会抛8900001错误码
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setSystemMeasurement failed, error code: ${err.code}, message: ${err.message}.`);
}

getSystemNumericalDatePatterns20+

static getSystemNumericalDatePatterns(): Map<string, string>

获取系统支持的数字日期格式及其示例。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
Map<string, string> 获取系统支持的数字日期格式及其示例。其中Map的key表示数字日期格式,形如dd/MM/y;value表示数字日期示例,形如18/07/2025

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let datePatterns: Map<string, string> = i18n.System.getSystemNumericalDatePatterns();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getSystemNumericalDatePatterns failed, error code: ${err.code}, message: ${err.message}.`);
}

getUsingNumericalDatePattern20+

static getUsingNumericalDatePattern(): string

获取系统当前使用的数字日期格式。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
string 系统当前使用的数字日期格式。

错误码:

以下错误码的详细介绍请参见通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let datePattern: string = i18n.System.getUsingNumericalDatePattern();
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.getUsingNumericalDatePattern failed, error code: ${err.code}, message: ${err.message}.`);
}

setSystemNumericalDatePattern20+

static setSystemNumericalDatePattern(identifier: string): void

设置系统的数字日期格式。

系统接口:此接口为系统接口。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
identifier string 系统支持的数字日期格式。支持的范围可以通过getSystemNumericalDatePatterns获取。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
201 Permission verification failed. The application does not have the permission required to call the API.
202 Permission verification failed. A non-system application calls a system API.
8900001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  i18n.System.setSystemNumericalDatePattern("dd/MM/y"); // 如果设置当前系统不支持的数字日期格式,系统会抛出8900001错误码
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call System.setSystemNumericalDatePattern failed, error code: ${err.code}, message: ${err.message}.`);
}

SystemLocaleManager10+

提供语言、地区和时区信息排序的能力。

constructor10+

constructor()

创建SystemLocaleManager对象。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

示例:

import { i18n } from '@kit.LocalizationKit';

let systemLocaleManager: i18n.SystemLocaleManager = new i18n.SystemLocaleManager();

getLanguageInfoArray10+

getLanguageInfoArray(languages: Array<string>, options?: SortOptions): Array<LocaleItem>

获取排序后的语言信息列表。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
languages Array<string> 待排序的语言列表,要求是合法的语言ID
options SortOptions 语言排序选项。

返回值:

类型 说明
Array<LocaleItem> 排序后的语言信息列表。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

// 当系统语言为zh-Hans,系统地区为CN,系统区域为zh-Hans-CN时
let systemLocaleManager: i18n.SystemLocaleManager = new i18n.SystemLocaleManager();
let languages: string[] = ["zh-Hans", "en-US", "pt", "ar"];
let sortOptions: i18n.SortOptions = {locale: "zh-Hans-CN", isUseLocalName: true, isSuggestedFirst: true};
try {
    // 排序后的语言顺序为: [zh-Hans, en-US, pt, ar]
    let sortedLanguages: Array<i18n.LocaleItem> = systemLocaleManager.getLanguageInfoArray(languages, sortOptions);
} catch(error) {
    let err: BusinessError = error as BusinessError;
    console.error(`call systemLocaleManager.getLanguageInfoArray failed, error code: ${err.code}, message: ${err.message}.`);
}

getRegionInfoArray10+

getRegionInfoArray(regions: Array<string>, options?: SortOptions): Array<LocaleItem>

获取排序后的国家或地区信息列表。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

参数:

参数名 类型 必填 说明
regions Array<string> 待排序的国家或地区列表,要求是合法的国家或地区ID。
options SortOptions 国家或地区排序选项。
区域ID的默认值为系统当前区域ID,isUseLocalName的默认值为false,isSuggestedFirst的默认值为true。

返回值:

类型 说明
Array<LocaleItem> 排序后的国家或地区信息列表。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.
401 Parameter error. Possible causes: 1.Mandatory parameters are left unspecified; 2.Incorrect parameter types.
890001 Invalid parameter. Possible causes: Parameter verification failed.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

// 当系统语言为zh-Hans,系统地区为CN,系统区域为zh-Hans-CN时
let systemLocaleManager: i18n.SystemLocaleManager = new i18n.SystemLocaleManager();
let regions: string[] = ["CN", "US", "PT", "EG"];
let sortOptions: i18n.SortOptions = {locale: "zh-Hans-CN", isUseLocalName: false, isSuggestedFirst: true};
try {
    // 排序后的地区顺序为: [CN, EG, US, PT]
    let sortedRegions: Array<i18n.LocaleItem> = systemLocaleManager.getRegionInfoArray(regions, sortOptions);
} catch(error) {
    let err: BusinessError = error as BusinessError;
    console.error(`call systemLocaleManager.getRegionInfoArray failed, error code: ${err.code}, message: ${err.message}.`);
}

getTimeZoneCityItemArray10+

static getTimeZoneCityItemArray(): Array<TimeZoneCityItem>

获取排序后的时区城市组合信息列表。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

返回值:

类型 说明
Array<TimeZoneCityItem> 排序后的时区城市组合信息列表。

错误码:

以下错误码的详细介绍请参见ohos.i18n错误码通用错误码

错误码ID 错误信息
202 Permission verification failed. A non-system application calls a system API.

示例:

import { BusinessError } from '@kit.BasicServicesKit';
import { i18n } from '@kit.LocalizationKit';

try {
  let timeZoneCityItemArray: Array<i18n.TimeZoneCityItem> = i18n.SystemLocaleManager.getTimeZoneCityItemArray();
  for (let i = 0; i < timeZoneCityItemArray.length; i++) {
      console.info(timeZoneCityItemArray[i].zoneId + ", " + timeZoneCityItemArray[i].cityId + ", " + timeZoneCityItemArray[i].cityDisplayName +
          ", " + timeZoneCityItemArray[i].offset + "\r\n");
  }
} catch(error) {
  let err: BusinessError = error as BusinessError;
  console.error(`call SystemLocaleManager.getTimeZoneCityItemArray failed, error code: ${err.code}, message: ${err.message}.`);
}

LocaleItem10+

语言或国家地区的组合信息。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

名称 类型 只读 可选 说明
id string 语言代码或国家地区代码,如"zh"、"CN"。
suggestionType SuggestionType 语言或国家地区推荐类型。
displayName string id在SystemLocaleManager的指定区域下的表示。
localName string id的本地名称。只有在表示语言相关信息时才存在该选项。

TimeZoneCityItem10+

时区城市的组合信息。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

名称 类型 只读 可选 说明
zoneId string 时区ID,例如Asia/Shanghai。
cityId string 城市ID,例如Shanghai。
cityDisplayName string 城市ID在系统区域下显示的名称。
offset number 时区ID的偏移量。
zoneDisplayName string 时区ID在系统区域下显示的名称。
rawOffset number 时区ID的固定偏移量。

SuggestionType10+

语言或国家地区的推荐类型。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

名称 说明
SUGGESTION_TYPE_NONE 0x00 非推荐语言或国家地区。
SUGGESTION_TYPE_RELATED 0x01 系统语言推荐的国家地区或系统国家地区推荐的语言。
SUGGESTION_TYPE_SIM 0x02 Sim卡国家地区推荐的语言。

SortOptions10+

语言或国家地区排序选项。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Global.I18n

名称 类型 只读 可选 说明
locale string 表示区域ID的字符串,由语言、脚本、国家或地区组成,如"zh-Hans-CN"。
默认值:系统当前区域ID。
isUseLocalName boolean true表示使用本地名称进行排序,false表示不使用本地名称进行排序。
若调用方法为getLanguageInfoArray,isUseLocalName属性默认值为true。
若调用方法为getRegionInfoArray,isUseLocalName属性默认值为false。
isSuggestedFirst boolean true表示将推荐语言或国家地区在排序结果中置顶,false表示不将推荐语言或国家地区在排序结果中置顶。
默认值:true。