diff --git a/zh-cn/application-dev/internationalization/i18n-guidelines.md b/zh-cn/application-dev/internationalization/i18n-guidelines.md index 4b5d14f24a12c9da2cafcbc01049f214fcfabb3e..a8acb6712629a290279d144e68297ae0668bb2c9 100644 --- a/zh-cn/application-dev/internationalization/i18n-guidelines.md +++ b/zh-cn/application-dev/internationalization/i18n-guidelines.md @@ -12,18 +12,19 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 | 模块 | 接口名称 | 描述 | | -------- | -------- | -------- | -| ohos.i18n | getSystemLanguage(): string | 获取系统语言。 | -| ohos.i18n | getSystemRegion(): string | 获取系统区域。 | -| ohos.i18n | getSystemLocale(): string | 获取系统Locale。 | -| ohos.i18n | isRTL(locale: string): boolean7+ | locale对应的语言是否为从右到左语言。 | -| ohos.i18n | is24HourClock(): boolean7+ | 获取当前系统时间是否采用24小时制 | -| ohos.i18n | getDisplayLanguage(language: string, locale: string, sentenceCase?: boolean): string | 获取语言的本地化表示。 | -| ohos.i18n | getDisplayCountry(country: string, locale: string, sentenceCase?: boolean): string | 获取国家的本地化表示。 | +| ohos.i18n | getSystemLanguage():string | 获取系统语言。 | +| ohos.i18n | getSystemRegion():string | 获取系统区域。 | +| ohos.i18n | getSystemLocale():string | 获取系统Locale。 | +| ohos.i18n | isRTL(locale:string):boolean7+ | locale对应的语言是否为从右到左语言。 | +| ohos.i18n | is24HourClock():boolean7+ | 获取当前系统时间是否采用24小时制。 | +| ohos.i18n | getDisplayLanguage(language:string,locale:string,sentenceCase?:boolean):string | 获取语言的本地化表示。 | +| ohos.i18n | getDisplayCountry(country:string,locale:string,sentenceCase?:boolean):string | 获取国家的本地化表示。 | ### 开发步骤 -1. 获取系统语言 +1. 获取系统语言。 + 调用getSystemLanguage方法获取当前系统设置的语言(i18n为导入的模块)。 @@ -31,21 +32,24 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var language = i18n.getSystemLanguage(); ``` -2. 获取系统区域 +2. 获取系统区域。 + 调用getSystemRegion方法获取当前系统设置的区域 ``` var region = i18n.getSystemRegion(); ``` -3. 获取系统Locale +3. 获取系统Locale。 + 调用getSystemLocale方法获取当前系统设置的Locale ``` var locale = i18n.getSystemLocale(); ``` -4. 判断Locale的语言是否为RTL语言 +4. 判断Locale的语言是否为RTL语言。 + 调用isRTL方法获取Locale的语言是否为从右到左语言。 @@ -53,14 +57,16 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var rtl = i18n.isRTL("zh-CN"); ``` -5. 判断当前系统时间是否采用24小时制 +5. 判断当前系统时间是否采用24小时制。 + 调用is24HourClock方法来判断当前系统的时间是否采用24小时制。 ``` var hourClock = i18n.is24HourClock(); ``` -6. 获取语言的本地化表示 +6. 获取语言的本地化表示。 + 调用getDisplayLanguage方法获取某一语言的本地化表示。其中,language表示待本地化显示的语言,locale表示本地化的Locale,sentenceCase结果是否需要首字母大写。 ``` @@ -70,7 +76,8 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var localizedLanguage = i18n.getDisplayLanguage(language, locale, sentenceCase); ``` -7. 获取国家的本地化表示 +7. 获取国家的本地化表示。 + 调用getDisplayCountry方法获取某一国家的本地化表示。其中,country表示待本地化显示的国家,locale表示本地化的Locale,sentenceCase结果是否需要首字母大写。 ``` @@ -90,23 +97,24 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 | 模块 | 接口名称 | 描述 | | -------- | -------- | -------- | -| ohos.i18n | getCalendar(locale: string, type?: string): Calendar8+ | 获取指定locale和type的日历对象。 | -| ohos.i18n | setTime(date: Date): void8+ | 设置日历对象内部的时间日期。 | -| ohos.i18n | setTime(time: number): void8+ | 设置日历对象内部的时间日期。 | -| ohos.i18n | set(year: number, month: number, date: number, hour?: number, minute?: number, second?: number): void8+ | 设置日历对象的年、月、日、时、分、秒。 | -| ohos.i18n | setTimeZone(timezone: string): void8+ | 设置日历对象的时区。 | -| ohos.i18n | getTimeZone(): string8+ | 获取日历对象的时区。 | -| ohos.i18n | getFirstDayOfWeek(): number8+ | 获取日历对象的一周起始日。 | -| ohos.i18n | setFirstDayOfWeek(value: number): void8+ | 设置日历对象的一周起始日。 | -| ohos.i18n | getMinimalDaysInFirstWeek(): number8+ | 获取一年中第一周的最小天数。 | -| ohos.i18n | setMinimalDaysInFirstWeek(value: number): void8+ | 设置一年中第一周的最小天数。 | -| ohos.i18n | getDisplayName(locale: string): string8+ | 获取日历对象的本地化表示。 | -| ohos.i18n | isWeekend(date?: Date): boolean8+ | 判断给定的日期是否在日历中是周末。 | +| ohos.i18n | getCalendar(locale:string,type?:string):Calendar8+ | 获取指定locale和type的日历对象。 | +| ohos.i18n | setTime(date:Date): void8+ | 设置日历对象内部的时间日期。 | +| ohos.i18n | setTime(time:number): void8+ | 设置日历对象内部的时间日期。 | +| ohos.i18n | set(year:number,month:number,date:number,hour?:number,minute?:number,second?:number): void8+ | 设置日历对象的年、月、日、时、分、秒。 | +| ohos.i18n | setTimeZone(timezone:string): void8+ | 设置日历对象的时区。 | +| ohos.i18n | getTimeZone():string8+ | 获取日历对象的时区。 | +| ohos.i18n | getFirstDayOfWeek():number8+ | 获取日历对象的一周起始日。 | +| ohos.i18n | setFirstDayOfWeek(value:number): void8+ | 设置日历对象的一周起始日。 | +| ohos.i18n | getMinimalDaysInFirstWeek():number8+ | 获取一年中第一周的最小天数。 | +| ohos.i18n | setMinimalDaysInFirstWeek(value:number): void8+ | 设置一年中第一周的最小天数。 | +| ohos.i18n | getDisplayName(locale:string):string8+ | 获取日历对象的本地化表示。 | +| ohos.i18n | isWeekend(date?:Date):boolean8+ | 判断给定的日期是否在日历中是周末。 | ### 开发步骤 -1. 实例化日历对象 +1. 实例化日历对象。 + 调用getCalendar方法获取指定locale和type的时区对象(i18n为导入的模块)。其中,type表示合法的日历类型,目前合法的日历类型包括:"buddhist", "chinese", "coptic", "ethiopic", "hebrew", "gregory", "indian", "islamic_civil", "islamic_tbla", "islamic_umalqura", "japanese", "persian"。当type没有给出时,采用区域默认的日历类型。 @@ -114,7 +122,8 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var calendar = i18n.getCalendar("zh-CN", "gregory); ``` -2. 设置日历对象的时间 +2. 设置日历对象的时间。 + 调用setTime方法设置日历对象的时间。setTime方法接收两种类型的参数。一种是传入一个Date对象,另一种是传入一个数值表示从1970.1.1 00:00:00 GMT逝去的毫秒数。 ``` @@ -124,14 +133,16 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 calendar.setTime(date2); ``` -3. 设置日历对象的年、月、日、时、分、秒 +3. 设置日历对象的年、月、日、时、分、秒。 + 调用set方法设置日历对象的年、月、日、时、分、秒。 ``` calendar.set(2021, 12, 21, 6, 0, 0) ``` -4. 设置、获取日历对象的时区 +4. 设置、获取日历对象的时区。 + 调用setTimeZone方法和getTimeZone方法来设置、获取日历对象的时区。其中,setTimeZone方法需要传入一个字符串表示需要设置的时区。 @@ -140,7 +151,8 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var timezone = calendar.getTimeZone(); ``` -5. 设置、获取日历对象的一周起始日 +5. 设置、获取日历对象的一周起始日。 + 调用setFirstDayOfWeek方法和getFirstDayOfWeek方法设置、获取日历对象的一周起始日。其中,setFirstDayOfWeek需要传入一个数值表示一周的起始日,1代表周日,7代表周六。 @@ -165,7 +177,8 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var localizedName = calendar.getDisplayName("zh-CN"); ``` -8. 判断某一个日期是否为周末 +8. 判断某一个日期是否为周末。 + 调用isWeekend方法来判断输入的Date是否为周末。 @@ -184,14 +197,15 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 | 模块 | 接口名称 | 描述 | | -------- | -------- | -------- | -| ohos.i18n | constructor(country: string, options?: PhoneNumberFormatOptions)8+ | 实例化PhoneNumberFormat对象。 | -| ohos.i18n | isValidNumber(number: string): boolean8+ | 判断number是否是一个格式正确的电话号码。 | -| ohos.i18n | format(number: string): string8+ | 对number按照指定国家及风格进行格式化。 | +| ohos.i18n | constructor(country:string,options?:PhoneNumberFormatOptions)8+ | 实例化PhoneNumberFormat对象。 | +| ohos.i18n | isValidNumber(number:string):boolean8+ | 判断number是否是一个格式正确的电话号码。 | +| ohos.i18n | format(number:string):string8+ | 对number按照指定国家及风格进行格式化。 | ### 开发步骤 -1. 实例化电话号码格式化对象 +1. 实例化电话号码格式化对象。 + 调用PhoneNumberFormat的构造函数来实例化电话号码格式化对象,需要传入电话号码的国家代码及格式化选项。其中,格式化选项是可选的,包括style选项,该选项的取值包括:"E164", "INTERNATIONAL", "NATIONAL", "RFC3966"。 @@ -199,14 +213,16 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var phoneNumberFormat = new i18n.PhoneNubmerFormat("CN", {type: "E164"}); ``` -2. 判断电话号码格式是否正确 +2. 判断电话号码格式是否正确。 + 调用isValidNumber方法来判断输入的电话号码的格式是否正确。 ``` var validNumber = phoneNumberFormat.isValidNumber("15812341234"); ``` -3. 电话号码格式化 +3. 电话号码格式化。 + 调用电话号码格式化对象的format方法来对输入的电话号码进行格式化。 ``` @@ -223,12 +239,13 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 | 模块 | 接口名称 | 描述 | | -------- | -------- | -------- | -| ohos.i18n | unitConvert(fromUnit: UnitInfo, toUnit: UnitInfo, value: number, locale: string, style?: string): string8+ | 将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。 | +| ohos.i18n | unitConvert(fromUnit:UnitInfo,toUnit:UnitInfo,value:number,locale:string,style?:string):string8+ | 将fromUnit的单位转换为toUnit的单位,并根据区域与风格进行格式化。 | ### 开发步骤 -1. 度量衡单位转换 +1. 度量衡单位转换。 + 调用[unitConvert](../reference/apis/js-apis-intl.md)方法实现度量衡单位转换,并进行格式化显示的功能。 @@ -251,15 +268,16 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 | 模块 | 接口名称 | 描述 | | -------- | -------- | -------- | -| ohos.i18n | getInstance(locale?: string): IndexUtil8+ | 实例化字母表索引对象。 | -| ohos.i18n | getIndexList(): Array<string>8+ | 获取当前Locale的索引列表。 | -| ohos.i18n | addLocale(locale: string): void8+ | 将新的Locale对应的索引加入当前索引列表。 | -| ohos.i18n | getIndex(text: string): string8+ | 获取text对应的索引。 | +| ohos.i18n | getInstance(locale?:string):IndexUtil8+ | 实例化字母表索引对象。 | +| ohos.i18n | getIndexList():Array<string>8+ | 获取当前Locale的索引列表。 | +| ohos.i18n | addLocale(locale:string): void8+ | 将新的Locale对应的索引加入当前索引列表。 | +| ohos.i18n | getIndex(text:string):string8+ | 获取text对应的索引。 | ### 开发步骤 -1. 实例化字母表索引对象 +1. 实例化字母表索引对象。 + 调用getInstance方法来实例化特定locale对应的字母表索引对象。当locale参数为空时,实例化系统默认Locale的字母表索引对象。 @@ -267,21 +285,24 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var indexUtil = getInstance("zh-CN"); ``` -2. 获取索引列表 +2. 获取索引列表。 + 调用getIndexList方法来获取当前Locale对应的字母表索引列表。 ``` var indexList = indexUtil.getIndexList(); ``` -3. 增加新的索引 +3. 增加新的索引。 + 调用addLocale方法,将新的Locale对应的字母表索引添加到当前字母表索引列表中。 ``` indexUtil.addLocale("ar") ``` -4. 获取字符串对应的索引 +4. 获取字符串对应的索引。 + 调用getIndex方法来获取某一字符串对应的字母表索引。 ``` @@ -299,21 +320,22 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 | 模块 | 接口名称 | 描述 | | -------- | -------- | -------- | -| ohos.i18n | getLineInstance(locale: string): BreakIterator8+ | 实例化断行对象。 | -| ohos.i18n | setLineBreakText(text: string): void8+ | 设置要处理的文本。 | -| ohos.i18n | getLineBreakText(): string8+ | 获取要处理的文本。 | -| ohos.i18n | current(): number8+ | 获取当前断行对象在处理文本的位置。 | -| ohos.i18n | first(): number8+ | 将断行对象设置到第一个可断句的分割点。 | -| ohos.i18n | last(): number8+ | 将断行对象设置到最后一个可断句的分割点。 | -| ohos.i18n | next(index?: number): number8+ | 将断行对象移动index个分割点的位置。 | -| ohos.i18n | previous(): number8+ | 将断行对象移动到前一个分割点的位置。 | -| ohos.i18n | following(offset: number): number8+ | 将断行对象移动到offset指定位置的后面一个分割点的位置。 | -| ohos.i18n | isBoundary(offset: number): boolean8+ | 判断某个位置是否是分割点。 | +| ohos.i18n | getLineInstance(locale:string):BreakIterator8+ | 实例化断行对象。 | +| ohos.i18n | setLineBreakText(text:string): void8+ | 设置要处理的文本。 | +| ohos.i18n | getLineBreakText():string8+ | 获取要处理的文本。 | +| ohos.i18n | current():number8+ | 获取当前断行对象在处理文本的位置。 | +| ohos.i18n | first():number8+ | 将断行对象设置到第一个可断句的分割点。 | +| ohos.i18n | last():number8+ | 将断行对象设置到最后一个可断句的分割点。 | +| ohos.i18n | next(index?:number):number8+ | 将断行对象移动index个分割点的位置。 | +| ohos.i18n | previous():number8+ | 将断行对象移动到前一个分割点的位置。 | +| ohos.i18n | following(offset:number):number8+ | 将断行对象移动到offset指定位置的后面一个分割点的位置。 | +| ohos.i18n | isBoundary(offset:number):boolean8+ | 判断某个位置是否是分割点。 | ### 开发步骤 -1. 实例化断行对象 +1. 实例化断行对象。 + 调用getLineInstance方法来实例化断行对象。 @@ -322,7 +344,8 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var breakIterator = i18n.getLineInstance(locale); ``` -2. 设置、访问要断行处理的文本 +2. 设置、访问要断行处理的文本。 + 调用setLineBreakText方法和getLineBreakText方法来设置、访问要断行处理的文本。 @@ -332,7 +355,8 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var breakText = breakIterator.getLineBreakText(); ``` -3. 获取断行对象当前的位置 +3. 获取断行对象当前的位置。 + 调用current方法来获取断行对象在当前处理文本中的位置。 @@ -340,7 +364,8 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var pos = breakIterator.current(); ``` -4. 设置断行对象的位置 +4. 设置断行对象的位置。 + 系统提供了很多接口可以用于调整断行对象在处理文本中的位置,包括first, last, next, previous, following。 @@ -356,7 +381,8 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使 var followingPos = breakIterator.following(10); ``` -5. 判断某个位置是否为分割点 +5. 判断某个位置是否为分割点。 + 调用isBoundary方法来判断一个方法是否为分割点;如果该位置是分割点,则返回true,并且将断行对象移动到该位置;如果该位置不是分割点,则返回false,并且将断行对象移动到该位置后的一个分割点。