• Home
Name Date Size #Lines LOC

..--

AppScope/06-May-2025-3432

entry/06-May-2025-2,8382,625

hvigor/06-May-2025-2221

screenshots/devices/06-May-2025-

.gitignoreD06-May-2025146 1412

README_zh.mdD06-May-20257.4 KiB10171

build-profile.json5D06-May-20251.1 KiB4342

hvigorfile.tsD06-May-2025159 21

hvigorwD06-May-20252.1 KiB6228

hvigorw.batD06-May-20252.1 KiB7960

oh-package.json5D06-May-2025844 2726

ohosTest.mdD06-May-20252.9 KiB2319

README_zh.md

1# 国际化(仅对系统应用开放)
2
3### 介绍
4
5本示例展示了i18n,intl,resourceManager在eTS中的使用,使用相关api实现系统语言和地区设置、时间和时区设置,展示了区域格式化示例。
6
7### 效果预览
8
9|主页| 语言和地区                                                       | 日期和时间                                            | 区域格式示例                                             |
10|--------------------------------|-------------------------------------------------------------|--------------------------------------------------|----------------------------------------------------|
11|![home](screenshots/devices/home.png) | ![language_region](screenshots/devices/language_region.png) | ![language_region](screenshots/devices/time.png) | ![language_region](screenshots/devices/format.png) |
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_CONFIGURATIONohos.permission.SET_TIME_ZONEohos.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