# 17.8:多语言支持
ArkUI开发框架对 APP 实现多语言的支持比较友好,笔者也在第二章 第 6 节 介绍国际化的时候讲过多语言的做法,本节就实现《极简计算器》项目多语言的功能。
# 17.8.1:创建多语言资源
在 resources 目录下创建 zh
/ element
文件夹目录后,添加 string.json
文件,部分多语言添加如下所示:
{
"string": [
{
"name": "calculator",
"value": "极简计算器"
},
{
"name": "save",
"value": "存档"
},
{
"name": "clear",
"value": "清空"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
base 目录下的 string.json
文件中添加对应的英文如下:
{
"string": [
{
"name": "calculator",
"value": "Calculator"
},
{
"name": "save",
"value": "Save"
},
{
"name": "clear",
"value": "Clear"
}
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 17.8.2:使用多语言资源
对于资源的访问,笔者在第二章 第 3 节 介绍过资源的访问方式,这里就直接使用,部分代码如下所示:
Text($r("app.string.save")) // 支持多语言
.height("100%")
.layoutWeight(1)
.fontSize(24)
.fontColor(Color.Black)
.textAlign(TextAlign.Center)
.backgroundColor("#aabbcc")
.onClick(() => {
this.saveController.open();
})
Text($r("app.string.clear")) // 支持多语言
.height("100%")
.layoutWeight(1)
.fontSize(24)
.fontColor(Color.White)
.textAlign(TextAlign.Center)
.backgroundColor($r("app.color.main_theme"))
.onClick(() => {
this.expressions.splice(0, this.expressions.length);
this.expression = "0";
})
TitleBar({titleBarAttribute: {
// ...
title: $r("app.string.calculator"), // 支持多语言
// ...
}})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
请作者喝杯咖啡
©arkui.club版权所有,禁止私自转发、克隆网站。