From 6f7441b1af96b5e043873883d50f353208b67745 Mon Sep 17 00:00:00 2001
From: king_he <6384784@qq.com>
Date: Wed, 22 Jun 2022 03:12:01 +0000
Subject: [PATCH] update
zh-cn/application-dev/internationalization/i18n-guidelines.md. Signed-off-by:
king_he <6384784@qq.com>
---
.../internationalization/i18n-guidelines.md | 138 +++++++++++-------
1 file changed, 82 insertions(+), 56 deletions(-)
diff --git a/zh-cn/application-dev/internationalization/i18n-guidelines.md b/zh-cn/application-dev/internationalization/i18n-guidelines.md
index 4b5d14f24a..6ce615d785 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. 获取系统语言
+
调用getSystemLanguage方法获取当前系统设置的语言(i18n为导入的模块)。
@@ -32,6 +33,7 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使
```
2. 获取系统区域
+
调用getSystemRegion方法获取当前系统设置的区域
```
@@ -39,6 +41,7 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使
```
3. 获取系统Locale
+
调用getSystemLocale方法获取当前系统设置的Locale
```
@@ -46,6 +49,7 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使
```
4. 判断Locale的语言是否为RTL语言
+
调用isRTL方法获取Locale的语言是否为从右到左语言。
@@ -54,6 +58,7 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使
```
5. 判断当前系统时间是否采用24小时制
+
调用is24HourClock方法来判断当前系统的时间是否采用24小时制。
```
@@ -61,6 +66,7 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使
```
6. 获取语言的本地化表示
+
调用getDisplayLanguage方法获取某一语言的本地化表示。其中,language表示待本地化显示的语言,locale表示本地化的Locale,sentenceCase结果是否需要首字母大写。
```
@@ -71,6 +77,7 @@ I18n开发指导提供了未在ECMA 402中定义的国际化能力接口的使
```
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,并且将断行对象移动到该位置后的一个分割点。
--
GitLab