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);
    }
}

主要服务接口的Facade

TinaX.I18N.XI18N

定义一些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..."
        }
    ]
}

Json文件适用于规模稍大的项目,通常在这些项目中,I18N定义文件会在Excel中由专人配置,并通过团队内的工具导出到Json.

然后在“Project Settings”窗口中,将上述Json文件配置给对应的区域。

在代码中使用I18N文本

//c#
gameObject.GetComponent<Text>().text = i18n.GetText("hello");
//lua
txtMessage.text = game.I18N:GetText("100001")

对于不必在代码中配置的内容,我们也可以直接使用对应的组件提供本地化显示。

TinaX的大部分功能都是基于路径管理资产的,包括图片、音频、Prefab等,这也就意味着几乎所有功能都可以通过key/value形式的i18n系统来提供本地化服务。

© 2017~ 随风逐叶 all right reserved,powered by Gitbook文章修订时间: 2021-07-16 13:35:54

results matching ""

    No results matching ""