随风逐叶 随风逐叶
首页
  • Quick Reference (opens new window)
  • EgretEngine开发者文档 (opens new window)
  • TinaX框架
  • SSH教程
  • VSCode插件开发
关于
  • 分类
  • 标签
  • 归档

rontian

从事游戏开发10多年的老菜鸟一枚!
首页
  • Quick Reference (opens new window)
  • EgretEngine开发者文档 (opens new window)
  • TinaX框架
  • SSH教程
  • VSCode插件开发
关于
  • 分类
  • 标签
  • 归档
  • 框架简介
  • TinaX.Core
  • 基于TinaX创建一个扩展库
  • TinaX.VFS
  • TinaX.UIKit
  • TinaX.I18N
    • TinaX.Lua
    • XLua

    • Google.Protobuf
    • Lua-Protobuf
    • 一些优秀的第三方库

    目录

    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

    主要服务接口的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

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

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

    在代码中使用I18N文本

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

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

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

    上次更新: 2023/10/17, 14:09:52 访问次数: 0
    TinaX.UIKit
    TinaX.Lua

    ← TinaX.UIKit TinaX.Lua→

    最近更新
    01
    一些Shell常用的功能写法整理
    10-20
    02
    删除git仓库submodule的步骤
    10-20
    03
    django基本命令
    10-16
    更多文章>
    Copyright © 2017-2025 随风逐叶
    沪ICP备18008791号-1 | 沪公网安备31011502401077号

    网站访问总次数: 0次
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式