国际化-I18n

2024-01-23 15:50 更新

本模块提供系统相关的或者增强的国际化能力,包括区域管理、电话号码处理、日历等,相关接口为ECMA 402标准中未定义的补充接口。

Intl模块提供了ECMA 402标准定义的基础国际化接口,与本模块共同使用可提供完整地国际化支持能力。

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

  • I18N模块包含国际化能力增强接口(未在ECMA 402中定义),包括区域管理、电话号码处理、日历等,国际化基础能力请参考Intl模块

导入模块

  1. import I18n from '@ohos.i18n';

System9+

getDisplayCountry9+

static getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string

获取指定国家的本地化显示文本。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

country

string

指定国家。

locale

string

显示指定国家的区域ID。

sentenceCase

boolean

本地化显示文本是否要首字母大写。

返回值:

类型

说明

string

指定国家的本地化显示文本。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let displayCountry = I18n.System.getDisplayCountry("zh-CN", "en-GB"); // displayCountry = "China"
  3. } catch(error) {
  4. console.error(`call System.getDisplayCountry failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getDisplayLanguage9+

static getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string

获取指定语言的本地化显示文本。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

language

string

指定语言。

locale

string

显示指定语言的区域ID。

sentenceCase

boolean

本地化显示文本是否要首字母大写。

返回值:

类型

说明

string

指定语言的本地化显示文本。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let displayLanguage = I18n.System.getDisplayLanguage("zh", "en-GB"); // displayLanguage = Chinese
  3. } catch(error) {
  4. console.error(`call System.getDisplayLanguage failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getSystemLanguages9+

static getSystemLanguages(): Array<string>

获取系统支持的语言列表。语言的详细说明参见实例化Locale对象

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

Array<string>

系统支持的语言ID列表。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let systemLanguages = I18n.System.getSystemLanguages(); // [ "en-Latn-US", "zh-Hans" ]
  3. } catch(error) {
  4. console.error(`call System.getSystemLanguages failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getSystemCountries9+

static getSystemCountries(language: string): Array<string>

获取针对输入语言系统支持的国家或地区列表。国家或地区的详细说明参见实例化Locale对象

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

language

string

语言ID。

返回值:

类型

说明

Array<string>

系统支持的区域ID列表。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let systemCountries = I18n.System.getSystemCountries('zh'); // systemCountries = [ "ZW", "YT", "YE", ..., "ER", "CN", "DE" ],共计240个国家或地区
  3. } catch(error) {
  4. console.error(`call System.getSystemCountries failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

isSuggested9+

static isSuggested(language: string, region?: string): boolean

判断当前语言和地区是否匹配。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

language

string

合法的语言ID,例如zh。

region

string

合法的地区ID,例如CN

返回值:

类型

说明

boolean

返回true,表示当前语言和地区匹配;返回false,表示当前语言和地区不匹配。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let res = I18n.System.isSuggested('zh', 'CN'); // res = true
  3. } catch(error) {
  4. console.error(`call System.isSuggested failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getSystemLanguage9+

static getSystemLanguage(): string

获取系统语言。语言的详细说明参见实例化Locale对象

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

系统语言ID。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let systemLanguage = I18n.System.getSystemLanguage(); // systemLanguage为当前系统语言
  3. } catch(error) {
  4. console.error(`call System.getSystemLanguage failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getSystemRegion9+

static getSystemRegion(): string

获取系统地区。地区的详细说明参见实例化Locale对象

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

系统地区ID。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let systemRegion = I18n.System.getSystemRegion(); // 获取系统当前地区设置
  3. } catch(error) {
  4. console.error(`call System.getSystemRegion failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getSystemLocale9+

static getSystemLocale(): string

获取系统区域。区域的详细说明参见实例化Locale对象

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

系统区域ID。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let systemLocale = I18n.System.getSystemLocale(); // 获取系统当前Locale
  3. } catch(error) {
  4. console.error(`call System.getSystemLocale failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

is24HourClock9+

static is24HourClock(): boolean

判断系统时间是否为24小时制。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

boolean

返回true,表示系统24小时开关开启;返回false,表示系统24小时开关关闭。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let is24HourClock = I18n.System.is24HourClock(); // 系统24小时开关是否开启
  3. } catch(error) {
  4. console.error(`call System.is24HourClock failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getPreferredLanguageList9+

static getPreferredLanguageList(): Array<string>

获取系统偏好语言列表。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

Array<string>

系统偏好语言列表。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let preferredLanguageList = I18n.System.getPreferredLanguageList(); // 获取系统当前偏好语言列表
  3. } catch(error) {
  4. console.error(`call System.getPreferredLanguageList failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getFirstPreferredLanguage9+

static getFirstPreferredLanguage(): string

获取偏好语言列表中的第一个偏好语言。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

偏好语言列表中的第一个语言。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let firstPreferredLanguage = I18n.System.getFirstPreferredLanguage(); // 获取系统当前偏好语言列表中的第一个偏好语言
  3. } catch(error) {
  4. console.error(`call System.getFirstPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getAppPreferredLanguage9+

static getAppPreferredLanguage(): string

获取应用的偏好语言。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

应用的偏好语言。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let appPreferredLanguage = I18n.System.getAppPreferredLanguage(); // 获取应用偏好语言
  3. } catch(error) {
  4. console.error(`call System.getAppPreferredLanguage failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

getUsingLocalDigit9+

static getUsingLocalDigit(): boolean

判断系统是否使用本地数字。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

boolean

true表示系统当前已打开本地数字开关,false表示系统当前未打开本地数字开关。

错误码:

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

错误码ID

错误信息

890001

param value not valid

示例:

  1. try {
  2. let status = I18n.System.getUsingLocalDigit(); // 判断本地化数字开关是否打开
  3. } catch(error) {
  4. console.error(`call System.getUsingLocalDigit failed, error code: ${error.code}, message: ${error.message}.`);
  5. }

I18n.isRTL

isRTL(locale: string): boolean

获取是否为从右至左显示语言。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

locale

string

指定区域ID。

返回值:

类型

说明

boolean

true表示该locale从右至左显示语言;false表示该locale从左至右显示语言。

示例:

  1. I18n.isRTL("zh-CN");// 中文不是RTL语言,返回false
  2. I18n.isRTL("ar-EG");// 阿语是RTL语言,返回true

I18n.getCalendar8+

getCalendar(locale: string, type? : string): Calendar

获取日历对象。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

locale

string

合法的locale值,例如zh-Hans-CN。

type

string

合法的日历类型,目前合法的类型有buddhist, chinese, coptic, ethiopic, hebrew, gregory, indian, islamic_civil, islamic_tbla, islamic_umalqura, japanese, persian。当type没有给出时,采用区域默认的日历类型。

返回值:

类型

说明

Calendar

日历对象。

示例:

  1. I18n.getCalendar("zh-Hans", "chinese"); // 获取中国农历日历对象

Calendar8+

setTime8+

setTime(date: Date): void

设置日历对象内部的时间日期。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

date

Date

将要设置的日历对象的内部时间日期。

示例:

  1. let calendar = I18n.getCalendar("en-US", "gregory");
  2. let date = new Date(2021, 10, 7, 8, 0, 0, 0);
  3. calendar.setTime(date);

setTime8+

setTime(time: number): void

设置日历对象内部的时间日期, time为从1970.1.1 00:00:00 GMT逝去的毫秒数。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

time

number

time为从1970.1.1 00:00:00 GMT逝去的毫秒数。

示例:

  1. let calendar = I18n.getCalendar("en-US", "gregory");
  2. calendar.setTime(10540800000);

set8+

set(year: number, month: number, date:number, hour?: number, minute?: number, second?: number): void

设置日历对象的年、月、日、时、分、秒。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

year

number

设置的年。

month

number

设置的月。

date

number

设置的日。

hour

number

设置的小时。

minute

number

设置的分钟。

second

number

设置的秒。

示例:

  1. let calendar = I18n.getCalendar("zh-Hans");
  2. calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00

setTimeZone8+

setTimeZone(timezone: string): void

设置日历对象的时区。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

timezone

string

设置的时区id,如“Asia/Shanghai”。

示例:

  1. let calendar = I18n.getCalendar("zh-Hans");
  2. calendar.setTimeZone("Asia/Shanghai");

getTimeZone8+

getTimeZone(): string

获取日历对象的时区。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

日历对象的时区id。

示例:

  1. let calendar = I18n.getCalendar("zh-Hans");
  2. calendar.setTimeZone("Asia/Shanghai");
  3. let timezone = calendar.getTimeZone(); // timezone = "Asia/Shanghai"

getFirstDayOfWeek8+

getFirstDayOfWeek(): number

获取日历对象的一周起始日。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

number

获取一周的起始日,1代表周日,7代表周六。

示例:

  1. let calendar = I18n.getCalendar("en-US", "gregory");
  2. let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 1

setFirstDayOfWeek8+

setFirstDayOfWeek(value: number): void

设置每一周的起始日。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

value

number

设置一周的起始日,1代表周日,7代表周六。

示例:

  1. let calendar = I18n.getCalendar("zh-Hans");
  2. calendar.setFirstDayOfWeek(3);
  3. let firstDayOfWeek = calendar.getFirstDayOfWeek(); // firstDayOfWeek = 3

getMinimalDaysInFirstWeek8+

getMinimalDaysInFirstWeek(): number

获取一年中第一周的最小天数。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

number

一年中第一周的最小天数。

示例:

  1. let calendar = I18n.getCalendar("zh-Hans");
  2. let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 1

setMinimalDaysInFirstWeek8+

setMinimalDaysInFirstWeek(value: number): void

设置一年中第一周的最小天数。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

value

number

一年中第一周的最小天数。

示例:

  1. let calendar = I18n.getCalendar("zh-Hans");
  2. calendar.setMinimalDaysInFirstWeek(3);
  3. let minimalDaysInFirstWeek = calendar.getMinimalDaysInFirstWeek(); // minimalDaysInFirstWeek = 3

get8+

get(field: string): number

获取日历对象中与field相关联的值。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

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。

返回值:

类型

说明

number

与field相关联的值,如当前Calendar对象的内部日期的年份为1990,get("year")返回1990。

示例:

  1. let calendar = I18n.getCalendar("zh-Hans");
  2. calendar.set(2021, 10, 1, 8, 0, 0); // set time to 2021.10.1 08:00:00
  3. let hourOfDay = calendar.get("hour_of_day"); // hourOfDay = 8

getDisplayName8+

getDisplayName(locale: string): string

获取日历对象在locale所指定的区域的名字。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

locale

string

locale指定获取哪个区域下该calendar的名字,如buddhist在en-US上显示的名称为“Buddhist Calendar”。

返回值:

类型

说明

string

日历在locale所指示的区域的名字。

示例:

  1. let calendar = I18n.getCalendar("en-US", "buddhist");
  2. let calendarName = calendar.getDisplayName("zh"); // calendarName = "佛历"

isWeekend8+

isWeekend(date?: Date): boolean

判断给定的日期是否在日历中是周末。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

date

Date

判断日期在日历中是否是周末。如果不传日期参数,则判断当前日期是否为周末。

返回值:

类型

说明

boolean

当所判断的日期为周末时,返回 true,否则返回false。

示例:

  1. let calendar = I18n.getCalendar("zh-Hans");
  2. calendar.set(2021, 11, 11, 8, 0, 0); // set time to 2021.11.11 08:00:00
  3. calendar.isWeekend(); // false
  4. let date = new Date(2011, 11, 6, 9, 0, 0);
  5. calendar.isWeekend(date); // true

PhoneNumberFormat8+

constructor8+

constructor(country: string, options?: PhoneNumberFormatOptions)

创建电话号码格式化对象。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

country

string

表示电话号码所属国家或地区代码。

options

PhoneNumberFormatOptions

电话号码格式化对象的相关选项。

示例:

  1. let phoneNumberFormat= new I18n.PhoneNumberFormat("CN", {"type": "E164"});

isValidNumber8+

isValidNumber(number: string): boolean

判断传入的电话号码格式是否正确。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

number

string

待判断的电话号码。

返回值:

类型

说明

boolean

返回true表示电话号码的格式正确,返回false表示电话号码的格式错误。

示例:

  1. let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
  2. let isValidNumber = phonenumberfmt.isValidNumber("123****8911"); // isValidNumber = true

format8+

format(number: string): string

对电话号码进行格式化。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

number

string

待格式化的电话号码。

返回值:

类型

说明

string

格式化后的电话号码。

示例:

  1. let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
  2. let formattedPhoneNumber = phonenumberfmt.format("123****8911"); // formattedPhoneNumber = "123 **** 8911"

getLocationName9+

getLocationName(number: string, locale: string): string

获取电话号码归属地。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

number

string

电话号码

locale

string

区域ID

返回值:

类型

说明

string

电话号码归属地。

示例:

  1. let phonenumberfmt = new I18n.PhoneNumberFormat("CN");
  2. let locationName = phonenumberfmt.getLocationName("123****8911", "zh-CN");

PhoneNumberFormatOptions9+

表示电话号码格式化对象可设置的属性。

系统能力:SystemCapability.Global.I18n

名称

类型

可读

可写

说明

type

string

表示对电话号码格式化的类型,取值范围:"E164", "INTERNATIONAL", "NATIONAL", "RFC3966"。

UnitInfo8+

度量衡单位信息。

系统能力:SystemCapability.Global.I18n

名称

类型

可读

可写

说明

unit

string

单位的名称,如:"meter", "inch", "cup"等。

measureSystem

string

单位的度量体系,取值包括:"SI", "US", "UK"。

getInstance8+

getInstance(locale?:string): IndexUtil

创建并返回IndexUtil对象。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

locale

string

包含区域设置信息的字符串,包括语言以及可选的脚本和区域。

返回值:

类型

说明

IndexUtil

locale对应的IndexUtil对象。

示例:

  1. let indexUtil = I18n.getInstance("zh-CN");

IndexUtil8+

getIndexList8+

getIndexList(): Array<string>

获取当前locale对应的索引列表。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

Array<string>

返回当前locale对应的索引列表。

示例:

  1. let indexUtil = I18n.getInstance("zh-CN");
  2. // indexList = [ "...", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N",
  3. // "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "..." ]
  4. let indexList = indexUtil.getIndexList();

addLocale8+

addLocale(locale: string): void

将新的locale对应的索引加入当前索引列表。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

locale

string

包含区域设置信息的字符串,包括语言以及可选的脚本和区域。

示例:

  1. let indexUtil = I18n.getInstance("zh-CN");
  2. indexUtil.addLocale("en-US");

getIndex8+

getIndex(text: string): string

获取text对应的索引。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

text

string

待计算索引值的输入文本。

返回值:

类型

说明

string

输入文本对应的索引值。

示例:

  1. let indexUtil = I18n.getInstance("zh-CN");
  2. let index = indexUtil.getIndex("hi"); // index = "H"

I18n.getLineInstance8+

getLineInstance(locale: string): BreakIterator

获取一个用于断句的BreakIterator对象。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

locale

string

合法的locale值,例如zh-Hans-CN。生成的BreakIterator将按照locale所指定的区域的规则来进行断句。

返回值:

类型

说明

BreakIterator

用于进行断句的处理器。

示例:

  1. let iterator = I18n.getLineInstance("en");

BreakIterator8+

setLineBreakText8+

setLineBreakText(text: string): void

设置BreakIterator要处理的文本。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

text

string

指定BreakIterator进行断句的文本。

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit."); // 设置短句文本

getLineBreakText8+

getLineBreakText(): string

获取BreakIterator当前处理的文本。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

BreakIterator对象正在处理的文本

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit.");
  3. let breakText = iterator.getLineBreakText(); // breakText = "Apple is my favorite fruit."

current8+

current(): number

获取BreakIterator对象在当前处理的文本中的位置。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

number

BreakIterator在当前所处理的文本中的位置。

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit.");
  3. let currentPos = iterator.current(); // currentPos = 0

first8+

first(): number

BreakIterator对象设置到第一个可断句的分割点。第一个分割点总是被处理的文本的起始位置。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

number

被处理文本的第一个分割点的偏移量。

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit.");
  3. let firstPos = iterator.first(); // firstPos = 0

last8+

last(): number

BreakIterator对象的位置设置到最后一个可断句的分割点。最后一个分割点总是被处理文本末尾的下一个位置。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

number

被处理的文本的最后一个分割点的偏移量

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit.");
  3. let lastPos = iterator.last(); // lastPos = 27

next8+

next(index?: number): number

如果index给出,并且index是一个正数将BreakIterator向后移动number个可断句的分割点,如果n是一个负数,向前移动相应个分割点。若index没有给出,则相当于index = 1。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

index

number

BreakIterator将要移动的分割点数,正数代表向后移动,负数代表向前移动。若index没有给出,则按照index=1处理。

返回值:

类型

说明

number

返回移动了index个分割点后,当前BreakIterator在文本中的位置。若移动index个分割点后超出了所处理的文本的长度范围,返回-1。

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit.");
  3. let pos = iterator.first(); // pos = 0
  4. pos = iterator.next(); // pos = 6
  5. pos = iterator.next(10); // pos = -1

previous8+

previous(): number

BreakIterator移动到前一个分割点处。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

number

返回移动到前一个分割点后,当前BreakIterator在文本中的位置。若移动index个分割点后超出了所处理的文本的长度范围,返回-1。

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit.");
  3. let pos = iterator.first(); // pos = 0
  4. pos = iterator.next(3); // pos = 12
  5. pos = iterator.previous(); // pos = 9

following8+

following(offset: number): number

BreakIterator设置到由offset指定的位置的后面一个分割点。返回移动后BreakIterator的位置。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

offset

number

BreakIterator对象的位置设置到由offset所指定的位置的下一个分割点。

返回值:

类型

说明

number

返回BreakIterator移动后的位置,如果由offset所指定的位置的下一个分割点超出了文本的范围则返回-1。

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit.");
  3. let pos = iterator.following(0); // pos = 6
  4. pos = iterator.following(100); // pos = -1
  5. pos = iterator.current(); // pos = 27

isBoundary8+

isBoundary(offset: number): boolean

如果offset所指定的文本位置是一个分割点,那么返回true,否则返回false。如果返回true, 将BreakIterator对象设置到offset所指定的位置, 否则相当于调用following(offset)。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

offset

number

指定需要进行判断的位置

返回值:

类型

说明

boolean

如果是一个分割点返回true, 否则返回false。

示例:

  1. let iterator = I18n.getLineInstance("en");
  2. iterator.setLineBreakText("Apple is my favorite fruit.");
  3. let isBoundary = iterator.isBoundary(0); // isBoundary = true;
  4. isBoundary = iterator.isBoundary(5); // isBoundary = false;

I18n.getTimeZone

getTimeZone(zoneID?: string): TimeZone

获取时区ID对应的时区对象。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

zondID

string

时区ID。

返回值:

类型

说明

TimeZone

时区ID对应的时区对象。

示例:

  1. let timezone = I18n.getTimeZone();

TimeZone

getID

getID(): string

获取时区对象的ID。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

时区对象对应的时区ID。

示例:

  1. let timezone = I18n.getTimeZone();
  2. let timezoneID = timezone.getID(); // timezoneID = "Asia/Shanghai"

getDisplayName

getDisplayName(locale?: string, isDST?: boolean): string

获取时区的本地化表示。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

locale

string

区域ID。

isDST

boolean

表示获取时区对象的表示时是否考虑夏令时。

返回值:

类型

说明

string

时区对象在指定区域的表示。

示例:

  1. let timezone = I18n.getTimeZone();
  2. let timezoneName = timezone.getDisplayName("zh-CN", false); // timezoneName = "中国标准时间"

getRawOffset

getRawOffset(): number

获取时区对象表示的时区与UTC时区的偏差。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

number

时区对象表示的时区与UTC时区的偏差,单位是毫秒。

示例:

  1. let timezone = I18n.getTimeZone();
  2. let offset = timezone.getRawOffset(); // offset = 28800000

getOffset

getOffset(date?: number): number

获取某一时刻时区对象表示的时区与UTC时区的偏差。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

date

number

待计算偏差的时刻,单位是毫秒。

默认值:系统时间。

返回值:

类型

说明

number

某一时刻时区对象表示的时区与UTC时区的偏差。

示例:

  1. let timezone = I18n.getTimeZone();
  2. let offset = timezone.getOffset(1234567890); // offset = 28800000

getAvailableIDs9+

static getAvailableIDs(): Array<string>

获取系统支持的时区ID。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

Array<string>

系统支持的时区ID列表。

示例:

  1. // 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个时区
  2. let ids = I18n.TimeZone.getAvailableIDs();

getAvailableZoneCityIDs9+

static getAvailableZoneCityIDs(): Array<string>

获取系统支持的时区城市ID。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

Array<string>

系统支持的时区城市ID列表。

示例:

  1. // 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个时区城市
  2. let cityIDs = I18n.TimeZone.getAvailableZoneCityIDs();

getCityDisplayName9+

static getCityDisplayName(cityID: string, locale: string): string

获取某时区城市在locale下的本地化显示。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

cityID

string

时区城市ID。

locale

string

区域ID。

返回值:

类型

说明

string

时区城市在locale下的本地化显示。

示例:

  1. let displayName = I18n.TimeZone.getCityDisplayName("Shanghai", "zh-CN"); // displayName = "上海(中国)"

getTimezoneFromCity9+

static getTimezoneFromCity(cityID: string): TimeZone

创建某时区城市对应的时区对象。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

cityID

string

时区城市ID。

返回值:

类型

说明

TimeZone

时区城市对应的时区对象。

示例:

  1. let timezone = I18n.TimeZone.getTimezoneFromCity("Shanghai");

Transliterator9+

getAvailableIDs9+

static getAvailableIDs(): string[]

获取音译支持的ID列表。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string[]

音译支持的ID列表。

示例:

  1. // ids共支持671个。每一个id由使用中划线分割的两部分组成,格式为 source-destination。例如ids = ["Han-Latin","Latin-ASCII", "Amharic-Latin/BGN","Accents-Any", ...],Han-Latin表示汉语转为译拉丁文,Amharic-Latin表示阿姆哈拉语转为拉丁文。
  2. // 更多使用信息可以参考ISO-15924。
  3. let ids = I18n.Transliterator.getAvailableIDs();

getInstance9+

static getInstance(id: string): Transliterator

创建音译对象。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

id

string

音译支持的ID。

返回值:

类型

说明

Transliterator

音译对象。

示例:

  1. let transliterator = I18n.Transliterator.getInstance("Any-Latn");

transform9+

transform(text: string): string

将输入字符串从源格式转换为目标格式。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

text

string

输入字符串。

返回值:

类型

说明

string

转换后的字符串。

示例:

  1. let transliterator = I18n.Transliterator.getInstance("Any-Latn");
  2. let res = transliterator.transform("中国"); // res = "zhōng guó"

Unicode9+

isDigit9+

static isDigit(char: string): boolean

判断字符串char是否是数字。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是数字,返回false表示输入的字符不是数字。

示例:

  1. let isdigit = I18n.Unicode.isDigit("1"); // isdigit = true

isSpaceChar9+

static isSpaceChar(char: string): boolean

判断字符串char是否是空格符。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是空格符,返回false表示输入的字符不是空格符。

示例:

  1. let isspacechar = I18n.Unicode.isSpaceChar("a"); // isspacechar = false

isWhitespace9+

static isWhitespace(char: string): boolean

判断字符串char是否是空白符。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是空白符,返回false表示输入的字符不是空白符。

示例:

  1. let iswhitespace = I18n.Unicode.isWhitespace("a"); // iswhitespace = false

isRTL9+

static isRTL(char: string): boolean

判断字符串char是否是从右到左语言的字符。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是从右到左语言的字符,返回false表示输入的字符不是从右到左语言的字符。

示例:

  1. let isrtl = I18n.Unicode.isRTL("a"); // isrtl = false

isIdeograph9+

static isIdeograph(char: string): boolean

判断字符串char是否是表意文字。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是表意文字,返回false表示输入的字符不是表意文字。

示例:

  1. let isideograph = I18n.Unicode.isIdeograph("a"); // isideograph = false

isLetter9+

static isLetter(char: string): boolean

判断字符串char是否是字母。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是字母,返回false表示输入的字符不是字母。

示例:

  1. let isletter = I18n.Unicode.isLetter("a"); // isletter = true

isLowerCase9+

static isLowerCase(char: string): boolean

判断字符串char是否是小写字母。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是小写字母,返回false表示输入的字符不是小写字母。

示例:

  1. let islowercase = I18n.Unicode.isLowerCase("a"); // islowercase = true

isUpperCase9+

static isUpperCase(char: string): boolean

判断字符串char是否是大写字母。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是大写字母,返回false表示输入的字符不是大写字母。

示例:

  1. let isuppercase = I18n.Unicode.isUpperCase("a"); // isuppercase = false

getType9+

static getType(char: string): string

获取输入字符串的一般类别值。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

string

输入字符的一般类别值。

示例:

  1. let type = I18n.Unicode.getType("a"); // type = "U_LOWERCASE_LETTER"

I18NUtil9+

unitConvert9+

static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string

将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

fromUnit

UnitInfo

要被转换的单位。

toUnit

UnitInfo

要转换为的单位。

value

number

要被转换的单位的数量值。

locale

string

格式化时使用的区域参数,如:zh-Hans-CN。

style

string

格式化使用的风格,取值包括:"long", "short", "narrow"。

返回值:

类型

说明

string

按照toUnit的单位格式化后,得到的字符串。

示例:

  1. let res = I18n.I18NUtil.unitConvert({unit: "cup", measureSystem: "US"}, {unit: "liter", measureSystem: "SI"}, 1000, "en-US", "long"); // res = 236.588 liters

getDateOrder9+

static getDateOrder(locale: string): string

获取某一区域的日期的年、月、日排列顺序。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

locale

string

格式化时使用的区域参数,如:zh-Hans-CN。

返回值:

类型

说明

string

返回某一区域的日期的年、月、日排列顺序

示例:

  1. let order = I18n.I18NUtil.getDateOrder("zh-CN"); // order = "y-L-d"

I18n.getDisplayCountry(deprecated)

getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string

获取指定国家的本地化显示文本。

从API version 9开始不再维护,建议使用System.getDisplayCountry代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

country

string

指定国家。

locale

string

显示指定国家的区域ID。

sentenceCase

boolean

本地化显示文本是否要首字母大写。

返回值:

类型

说明

string

指定国家的本地化显示文本。

示例:

  1. let countryName = I18n.getDisplayCountry("zh-CN", "en-GB", true); // countryName = true
  2. countryName = I18n.getDisplayCountry("zh-CN", "en-GB"); // countryName = true

I18n.getDisplayLanguage(deprecated)

getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string

获取指定语言的本地化显示文本。

从API version 9开始不再维护,建议使用System.getDisplayLanguage代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

language

string

指定语言。

locale

string

显示指定语言的区域ID。

sentenceCase

boolean

本地化显示文本是否要首字母大写。

返回值:

类型

说明

string

指定语言的本地化显示文本。

示例:

  1. let languageName = I18n.getDisplayLanguage("zh", "en-GB", true); // languageName = "Chinese"
  2. languageName = I18n.getDisplayLanguage("zh", "en-GB"); // languageName = "Chinese"

I18n.getSystemLanguage(deprecated)

getSystemLanguage(): string

获取系统语言。

从API version 9开始不再维护,建议使用System.getSystemLanguage代替。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

系统语言ID。

示例:

  1. let systemLanguage = I18n.getSystemLanguage(); // 返回当前系统语言

I18n.getSystemRegion(deprecated)

getSystemRegion(): string

获取系统地区。

从API version 9开始不再维护,建议使用System.getSystemRegion代替。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

系统地区ID。

示例:

  1. let region = I18n.getSystemRegion(); // 返回当前系统地区

I18n.getSystemLocale(deprecated)

getSystemLocale(): string

获取系统区域。

从API version 9开始不再维护,建议使用System.getSystemLocale代替。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

系统区域ID。

示例:

  1. let locale = I18n.getSystemLocale(); // 返回系统Locale

I18n.is24HourClock(deprecated)

is24HourClock(): boolean

判断系统时间是否为24小时制。

从API version 9开始不再维护,建议使用System.is24HourClock代替。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

boolean

返回true,表示系统24小时开关开启;返回false,表示系统24小时开关关闭。

示例:

  1. let is24HourClock = I18n.is24HourClock();

I18n.set24HourClock(deprecated)

set24HourClock(option: boolean): boolean

修改系统时间的24小时制设置。

从API version 9开始不再维护,建议使用System.set24HourClock代替。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

option

boolean

option为true,表示开启系统24小时制开关;返回false,表示关闭系统24小时开关。

返回值:

类型

说明

boolean

返回true,表示修改成功;返回false,表示修改失败。

示例:

  1. // 将系统时间设置为24小时制
  2. let success = I18n.set24HourClock(true);

I18n.addPreferredLanguage(deprecated)

addPreferredLanguage(language: string, index?: number): boolean

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

从API version 8开始支持,从API version 9开始不再维护,建议使用System.addPreferredLanguage代替。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

language

string

待添加的偏好语言。

index

number

偏好语言的添加位置。

返回值:

类型

说明

boolean

返回true,表示添加成功;返回false,表示添加失败。

示例:

  1. // 将语言zh-CN添加到系统偏好语言列表中
  2. let language = 'zh-CN';
  3. let index = 0;
  4. let success = I18n.addPreferredLanguage(language, index);

I18n.removePreferredLanguage(deprecated)

removePreferredLanguage(index: number): boolean

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

从API version 8开始支持,从API version 9开始不再维护,建议使用System.removePreferredLanguage代替。

需要权限:ohos.permission.UPDATE_CONFIGURATION

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

index

number

待删除偏好语言在系统偏好语言列表中的位置。

返回值:

类型

说明

boolean

返回true,表示删除成功;返回false,表示删除失败。

示例:

  1. // 删除系统偏好语言列表中的第一个偏好语言
  2. let index = 0;
  3. let success = I18n.removePreferredLanguage(index);

I18n.getPreferredLanguageList(deprecated)

getPreferredLanguageList(): Array<string>

获取系统偏好语言列表。

从API version 8开始支持,从API version 9开始不再维护,建议使用System.getPreferredLanguageList代替。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

Array<string>

系统偏好语言列表。

示例:

  1. let preferredLanguageList = I18n.getPreferredLanguageList(); // 获取系统偏好语言列表

I18n.getFirstPreferredLanguage(deprecated)

getFirstPreferredLanguage(): string

获取偏好语言列表中的第一个偏好语言。

从API version 8开始支持,从API version 9开始不再维护,建议使用System.getFirstPreferredLanguage代替。

系统能力:SystemCapability.Global.I18n

返回值:

类型

说明

string

偏好语言列表中的第一个语言。

示例:

  1. let firstPreferredLanguage = I18n.getFirstPreferredLanguage();

Util(deprecated)

unitConvert(deprecated)

static unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string

将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。

从API version 8开始支持,从API version 9开始不再维护,建议使用unitConvert代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

fromUnit

UnitInfo

要被转换的单位。

toUnit

UnitInfo

要转换为的单位。

value

number

要被转换的单位的数量值。

locale

string

格式化时使用的区域参数,如:zh-Hans-CN。

style

string

格式化使用的风格,取值包括:"long", "short", "narrow"。

返回值:

类型

说明

string

按照toUnit的单位格式化后,得到的字符串。

Character(deprecated)

isDigit(deprecated)

static isDigit(char: string): boolean

判断字符串char是否是数字。

从API version 8开始支持,从API version 9开始不再维护,建议使用isDigit代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是数字,返回false表示输入的字符不是数字。

isSpaceChar(deprecated)

static isSpaceChar(char: string): boolean

判断字符串char是否是空格符。

从API version 8开始支持,从API version 9开始不再维护,建议使用isSpaceChar代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是空格符,返回false表示输入的字符不是空格符。

isWhitespace(deprecated)

static isWhitespace(char: string): boolean

判断字符串char是否是空白符。

从API version 8开始支持,从API version 9开始不再维护,建议使用isWhitespace代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是空白符,返回false表示输入的字符不是空白符。

isRTL(deprecated)

static isRTL(char: string): boolean

判断字符串char是否是从右到左语言的字符。

从API version 8开始支持,从API version 9开始不再维护,建议使用isRTL代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是从右到左语言的字符,返回false表示输入的字符不是从右到左语言的字符。

isIdeograph(deprecated)

static isIdeograph(char: string): boolean

判断字符串char是否是表意文字。

从API version 8开始支持,从API version 9开始不再维护,建议使用isIdeograph代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是表意文字,返回false表示输入的字符不是表意文字。

isLetter(deprecated)

static isLetter(char: string): boolean

判断字符串char是否是字母。

从API version 8开始支持,从API version 9开始不再维护,建议使用isLetter代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是字母,返回false表示输入的字符不是字母。

isLowerCase(deprecated)

static isLowerCase(char: string): boolean

判断字符串char是否是小写字母。

从API version 8开始支持,从API version 9开始不再维护,建议使用isLowerCase代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是小写字母,返回false表示输入的字符不是小写字母。

isUpperCase(deprecated)

static isUpperCase(char: string): boolean

判断字符串char是否是大写字母。

从API version 8开始支持,从API version 9开始不再维护,建议使用isUpperCase代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

boolean

返回true表示输入的字符是大写字母,返回false表示输入的字符不是大写字母。

getType(deprecated)

static getType(char: string): string

获取输入字符串的一般类别值。

从API version 8开始支持,从API version 9开始不再维护,建议使用getType代替。

系统能力:SystemCapability.Global.I18n

参数:

参数名

类型

必填

说明

char

string

输入字符。

返回值:

类型

说明

string

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号