赞
踩
如今越来的越多的应用都走向了海外,应用走向海外需要支持不同国家的语言,这就意味着应用资源文件需要支持不同语言环境下的显示。本节就介绍一下设备语言环境变更后,如何让应用支持多语言。
ArkUI开发框架对多语言的支持比较友好,只需要在 resources
目录下创建对应国家的文件夹,名称对国家简码,例如中国为 zh
,则在 resources
下创建 zh
文件夹,然后在 zh
文件下创建对应的类别文件,笔者以文本资源支持多语言为例。
在resources目录下创建 zh
/ element
文件夹目录后,添加 string.json 文件:
笔者分别在 zh
目录下的 string.json 和 base
目录下的 string.json 中添加了一个 json 数据, name
都是 calculator , value 一个是英文一个中文。
鸿蒙OS开发 | 更多内容↓点击 | HarmonyOS与OpenHarmony技术 |
---|---|---|
鸿蒙技术文档 | 开发知识更新库gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md在这。 |
使用 resources
目录下的资源,ArkUI开发框架给我们提供了快捷方法: ()∗∗,比如要访问 ∗∗string.json∗∗ 中的资源,可以简写 ∗∗('app.string.name') ,笔者在第 3 节有介绍 $() 的使用,读者请自行查看。
在 index.ets
里使用添加的多语言,代码如下:
- @Entry @Component struct Index {
-
- build() {
- Column({space: 10}) {
- Text('多语言测试:')
- .fontSize(22)
- Text($r("app.string.calculator")) // 使用多语言
- .fontSize(22)
- }
- .padding(10)
- .width('100%')
- .height('100%')
- }
- }
让APP支持多语言可以采取资源本地化的操作,当设备语言环境变更后系统会自动读取对应的资源,当需要手动获取语言环境相关信息时,可以使用 @ohos.i18n
和 @ohos.intl
模块提供的相关 API 实现。
i18n模块
- declare namespace i18n {
- // 获取设备系统语言
- export function getSystemLanguage(): string;
- // 设置设备系统语言
- export function setSystemLanguage(language: string): boolean;
- // 获取设备系统地区
- export function getSystemRegion(): string;
- // 获取时区ID对应的时区对象
- export function getTimeZone(zoneID?: string): TimeZone;
-
- // 省略部分API
- }
- export default i18n;
i18n
主要提供的是获取系统信息,比如当前系统语言,系统区域等,预了解更多信息读者可参考官方文档或者源码,
- aboutToAppear() {
- let language = i18n.getSystemLanguage();
- console.log(language);// 输出:zh-Hans-CN
- }
intl模块
- declare namespace intl {
-
- // 区域初始化选项。
- export interface LocaleOptions {
- }
-
- // 区域信息设置对象
- export class Locale {
- }
-
- // 时间日期格式化选项。
- export interface DateTimeOptions {
- }
-
- // 日期格式化对象
- export class DateTimeFormat {
- }
-
- // 数字格式化选项
- export interface NumberOptions {
- }
-
- // 数字格式化对象
- export class NumberFormat {
- }
-
- // 省略相关 API
- }
- export default intl;
@ohos.intl
模块提供了信息在不同区域的差异化能力,比如日期显示,在不同的国家显示格式是不一样的,可以采用DateTimeFormat
获取不同的显示方式:
- aboutToAppear() {
- let date = new Date(2022, 5, 1, 17, 45, 30); // 创建日期
- var datefmt= new intl.DateTimeFormat("en-GB"); // 格式化对象
- console.log(datefmt.format(date)); // 输出01/06/2022
- }
目前还有很多小伙伴不知道要学习哪些鸿蒙技术?不知道重点掌握哪些?为了避免学习时频繁踩坑,最终浪费大量时间的。
自己学习时必须要有一份实用的鸿蒙(Harmony NEXT)资料非常有必要。 这里我推荐,根据鸿蒙开发官网梳理与华为内部人员的分享总结出的开发文档。内容包含了:【ArkTS、ArkUI、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战】等技术知识点。
废话就不多说了,接下来好好看下这份资料。
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。鸿蒙OpenHarmony知识←前往。下面是鸿蒙开发的学习路线图。
针对鸿蒙成长路线打造的鸿蒙学习文档。鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
《鸿蒙开发基础》鸿蒙OpenHarmony知识←前往
《鸿蒙开发进阶》鸿蒙OpenHarmony知识←前往
《鸿蒙开发实战》鸿蒙OpenHarmony知识←前往
鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。