TinaX.I18N
# TinaX.I18N
# 简介
TinaX.I18N 为TinaX Framework提供了国际化相关功能.
使用Json (或.asset文件)定义的key/value配表 实时的区域切换 针对UGUI的扩展 package name: io.nekonya.tinax.i18n
# 设置
# 如何使用
主要服务接口:
TinaX.I18N.II18N
namespace TinaX.I18N
{
public interface II18N
{
string GetText(string key, string groupName = I18NConst.DefaultGroupName, string defaultText = null);
Task UseRegionAsync(string regionName);
void UseRegionAsync(string regionName, Action<XException> callback);
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
主要服务接口的Facade
TinaX.I18N.XI18N
1
定义一些Json文件
zh-CN-common.json
{
"data": [
{
"k": "hello",
"v": "你好"
},
{
"k":"100001",
"v":"正在启动游戏..."
}
]
}
en-US-common.json
{
"data": [
{
"k": "hello",
"v": "Hello"
},
{
"k":"100001",
"v":"Game Initalize..."
}
]
}
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
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
Json文件适用于规模稍大的项目,通常在这些项目中,I18N定义文件会在Excel中由专人配置,并通过团队内的工具导出到Json.
然后在“Project Settings”窗口中,将上述Json文件配置给对应的区域。
在代码中使用I18N文本
//c#
gameObject.GetComponent<Text>().text = i18n.GetText("hello");
1
2
2
//lua
txtMessage.text = game.I18N:GetText("100001")
1
2
2
对于不必在代码中配置的内容,我们也可以直接使用对应的组件提供本地化显示。
TinaX的大部分功能都是基于路径管理资产的,包括图片、音频、Prefab等,这也就意味着几乎所有功能都可以通过key/value形式的i18n系统来提供本地化服务。
上次更新: 2023/10/17, 14:09:52 访问次数: 0