| Name | Date | Size | #Lines | LOC | ||
|---|---|---|---|---|---|---|
| .. | - | - | ||||
| AppScope/ | 06-May-2025 | - | 34 | 32 | ||
| entry/ | 06-May-2025 | - | 2,838 | 2,625 | ||
| hvigor/ | 06-May-2025 | - | 22 | 21 | ||
| screenshots/devices/ | 06-May-2025 | - | ||||
| .gitignore | D | 06-May-2025 | 146 | 14 | 12 | |
| README_zh.md | D | 06-May-2025 | 7.4 KiB | 101 | 71 | |
| build-profile.json5 | D | 06-May-2025 | 1.1 KiB | 43 | 42 | |
| hvigorfile.ts | D | 06-May-2025 | 159 | 2 | 1 | |
| hvigorw | D | 06-May-2025 | 2.1 KiB | 62 | 28 | |
| hvigorw.bat | D | 06-May-2025 | 2.1 KiB | 79 | 60 | |
| oh-package.json5 | D | 06-May-2025 | 844 | 27 | 26 | |
| ohosTest.md | D | 06-May-2025 | 2.9 KiB | 23 | 19 |
README_zh.md
1# 国际化(仅对系统应用开放) 2 3### 介绍 4 5本示例展示了i18n,intl,resourceManager在eTS中的使用,使用相关api实现系统语言和地区设置、时间和时区设置,展示了区域格式化示例。 6 7### 效果预览 8 9|主页| 语言和地区 | 日期和时间 | 区域格式示例 | 10|--------------------------------|-------------------------------------------------------------|--------------------------------------------------|----------------------------------------------------| 11| |  |  |  | 12 13使用说明 14 151.启动应用,进入应用,首页分为三个按钮,点击**语言和地区**可以进入界面设置系统语言和地区。 16 172.点击**日期和时间**,可以进入界面设置系统时间和时区。 18 193.点击**区域格式示例**进入界面展示当前区域,当前系统语言下的时间、数字、货币、百分比、单复数、屏幕方向等信息的格式化显示。 20 21### 工程目录 22``` 23International 24├── AppScope 25│ └── app.json5 //APP信息配置文件 26├── entry/src/main //国际化应用 27│ ├── ets 28│ │ ├── entryability 29│ │ ├── compnents //公共组件 30│ │ ├── international //国际化业务 31│ │ │ └── pages //国际化业务页面 32│ │ │ │ ├── AddLanguage.ets //添加语言 33│ │ │ │ ├── DateAndTime.ets //时间和日期 34│ │ │ │ ├── EditPreferred.ets //编辑功能 35│ │ │ │ ├── Examples.ets //区域格式示例 36│ │ │ │ ├── Language.ets //语言 37│ │ │ │ ├── Region.ets //地区 38│ │ │ │ └── TimeZone.ets //区域 39│ │ ├── pages 40│ │ │ └──Index.ets //主页入口 41│ │ ├── utils //工具类 42│ └── module.json5 43``` 44### 具体实现 45 46* 本示例分为三个模块: 47 * 语言和地区模块 48 * 使用i18n接口中getDisplayCountry方法获取指定国家的本地化显示文本,getSystemRegion方法获取系统地区,getSystemLocale方法设置系统Locale,getSystemLanguage方法获取系统支持的语言列表,getPreferredLanguageList方法获取系统偏好语言列表,removePreferredLanguage方法删除系统偏好语言列表中指定位置的偏好语言。 49 * 源码链接:[IntlUtil.ts](entry/src/main/ets/utils/IntlUtil.ets),[Language.ets](entry/src/main/ets/international/pages/Language.ets),[EditPreferred.ets](entry/src/main/ets/international/pages/EditPreferred.ets) 50 * 接口参考:[@ohos.i18n](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-localization-kit/js-apis-i18n.md),[@ohos.intl](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-localization-kit/js-apis-intl.md) 51 52 * 日期和时间模块 53 * 使用i18n接口中is24HourClock方法判断系统时间是否为24小时制,getTimeZone方法获取日历对象的时区,set24HourClock方法修改系统时间的24小时制设置,setTime方法设置系统时间,setDate方法设置系统日期,getTimezone方法获取系统时区。 54 * 源码链接:[DateAndTime.ets](entry/src/main/ets/international/pages/DateAndTime.ets),[TimeZone.ets](entry/src/main/ets/international/pages/TimeZone.ets) 55 * 接口参考:[@ohos.i18n](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-localization-kit/js-apis-i18n.md),[@ohos.systemTime](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-basic-services-kit/js-apis-system-time.md) 56 57 * 区域格式示例模块 58 * 使用i18n接口中is24HourClock方法判断系统时间是否为24小时制,NumberFormat方法创建一个NumberFormat对象,getResourceManager方法获取当前应用的资源管理对。 59 * 源码链接:[Examples.ets](entry/src/main/ets/international/pages/Examples.ets),[ResourceUtil.ts](entry/src/main/ets/utils/ResourceUtil.ets) 60 * 接口参考:[@ohos.i18n](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-localization-kit/js-apis-i18n.md),[@ohos.intl](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-localization-kit/js-apis-intl.md),[@ohos.resourceManager](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-localization-kit/js-apis-resource-manager.md) 61 62#### 相关概念 63 64国际化:Intl模块包含国际化能力基础接口,i18n模块包含国际化能力增强接口,资源管理模块,根据当前configuration(语言,区域,横竖屏,mccmnc)和device capability(设备类型,分辨率)提供获取应用资源信息读取接口。三个结合一起实现语言地区设置、时区设置和国际化资源管理相关功能。 65 66### 相关权限 67 681.更新配置权限:[ohos.permission.UPDATE_CONFIGURATION](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionupdate_configuration) 69 702.设置时区权限:[ohos.permission.SET_TIME_ZONE](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionset_time_zone) 71 723.设置系统时间权限:[ohos.permission.SET_TIME](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md#ohospermissionset_time) 73 74### 依赖 75 76不涉及。 77 78### 约束与限制 79 801.本示例仅支持标准系统上运行。 81 822.本示例需要使用DevEco Studio 版本号(4.0 Release)及以上版本才可编译运行。 83 843.本示例已适配API version 10版本SDK,SDK版本号(API Version 10 Release),镜像版本号(4.0 Release)。 85 864.本示例需要使用 @ohos.i18n 系统权限的系统接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换,具体操作可参考[替换指南](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/faqs/full-sdk-switch-guide.md)。 87 885.本示例所配置的权限ohos.permission.UPDATE_CONFIGURATION、ohos.permission.SET_TIME_ZONE、ohos.permission.SET_TIME均为system_basic级别(相关权限级别可通过[权限定义列表](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/AccessToken/permissions-for-system-apps.md)查看),需要手动配置对应级别的权限签名(具体操作可查看[自动化签名方案](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/hapsigntool-overview.md))。 89 90### 下载 91 92如需单独下载本工程,执行如下命令: 93``` 94git init 95git config core.sparsecheckout true 96echo code/SystemFeature/Internationalnation/International/ > .git/info/sparse-checkout 97git remote add origin https://gitee.com/openharmony/applications_app_samples.git 98git pull origin master 99 100``` 101