当前位置: 首页 > news >正文

【I2多语言】多语言快速上手

简介

  1. 官方API:http://www.inter-illusion.com/assets/I2LocalizationManual/I2LocalizationManual.html
  2. 意义:更改游戏语言(多语言支持)

快速上手

  1. 插件安装:

    1. 直接拖拽进Unity即可
  2. 创建语言源(Creating a Language Source):

    1. 方法一: 双击Assets \ Resources \ I2Languages.asset(全局起作用)
    2. 方法二:在场景中创建一个新的 GameObject 并添加一个 Language Source 组件(I2 \ Localization \ Source )(整个场景起作用)
  3. 添加语言(Adding Languages)

    1. 在 LanguageSource 编辑器中,选择**“语言(Languages)”选项卡**

    2. 点击底部**Abkhazian[ab]**选择语言—>点击Add;

      请添加图片描述

  4. 添加术语(Adding Terms)

    方式一:本地添加

    1. 选择**术语(Terms )**选项卡

    2. 单机**“+”按钮,输入Terms **然后创建键

    3. 对应位置输入文本

    请添加图片描述

    方式二:谷歌电子表格

    1. 官方教程:http://www.inter-illusion.com/assets/I2LocalizationManual/HowtolinkwithGoogleSpreadsheet.html

      1. 注意:需要使用个人谷歌账号,公司账号权限无法开放给所有人
  5. 本地化标签(Localizing a Label)

    1. 方法一:手动挂载

      1. 选择对应UI组件
      2. 添加组件:L2 Localize
      3. 选择适当的Tag
      4. 点击Term选择定义好的Term
    2. 代码动态挂载

      public class TestLanguage : MonoBehaviour
      {public string termKey="win"; // 术语关键字,用于定位多语言文本public Localize Localizes;private void Start(){Localizes=GetComponent<Localize>();// 动态设置多语言文本Localizes.SetTerm(termKey);}
      }
      
  6. 游戏中更改语言

    1. 方式一:制作脚本写入一下代码传入语言名字作为参数

      if ( LocalizationManager .HasLanguage( LanguageName )){LocalizationManager .CurrentLanguage =语言名称;}
      
      1. 示例

            public void SetLanguage(){int count = LocalizationManager.GetAllLanguages().Count;  //获取语言个数int nowId = LocalizationManager.GetAllLanguages().IndexOf(LocalizationManager.CurrentLanguage);  //获取当前语言索引//索引递增if (nowId < count - 1){setLanguage._Language = LocalizationManager.GetAllLanguages()[nowId + 1].ToString();}else{setLanguage._Language = "English";}setLanguage.ApplyLanguage();}
        
    2. 方式二:

      1. 创建Button
      2. 添加SetLanguage Button组件
        1. 设置语言(转换后的语言)
        2. 选择Language Source组件
      3. 为Button添加监听事件ApplyLanguage
  7. 动态修改游戏中的语言

    ​ 比如关节展示,我们配表只有“关节”2字,那么关节1、关节2的数字就需要动态展示。

    1. 需要动态展示的组件挂载新的组件LocalizationParamsManager

    2. 需要动态展示的内容配表:我是{[名字]}

    3. 代码逻辑:

      GetComponent<Localize>().SetTerm("keys");
      GetComponent<LocalizationParamsManager>().SetParameterValue("名字","小明");
      

相关文章:

【I2多语言】多语言快速上手

简介 官方API&#xff1a;http://www.inter-illusion.com/assets/I2LocalizationManual/I2LocalizationManual.html意义&#xff1a;更改游戏语言&#xff08;多语言支持&#xff09; 快速上手 插件安装&#xff1a; 直接拖拽进Unity即可 创建语言源&#xff08;Creating a …...

【野火i.MX6ULL开发板】开发板连接网络(WiFi)与 SSH 登录、上电自动登录、设置静态IP、板子默认参数

0、前言 参考之前自己写的&#xff1a; http://t.csdnimg.cn/g60P8 参考资料&#xff1a; [野火]《Linux基础与应用开发实战指南——基于i.MX6ULL开发板》_20230323 从野火官网下载 参考博客&#xff1a; http://t.csdnimg.cn/8uh4O 参考官方文档&#xff1a; https://doc.…...

【数据库原理】(10)数据定义功能

SQL 数据定义功能包括定义模式、定义表、定义索引和定义视图,其语句如表所示。 一.创建、删除模式 1.创建模式 (Create Schema) 用途&#xff1a;创建模式是为了在数据库中定义一个新的命名空间&#xff0c;它可以包含多个数据库对象。 语法&#xff1a; CREATE SCHEMA &…...

GnuTLS recv error (-110): The TLS connection was non-properly terminated.

bug 解决方案&#xff1a;参考 GnuTLS recv error (-110): The TLS connection was non-properly terminated. 解决方案&#xff1a; apt-get install gnutls-bin git config --global http.sslVerify false git config --global http.postBuffer 1048576000参考...

hive sql 和 spark sql的区别

Hive SQL 和 Spark SQL 都是用于在大数据环境中处理结构化数据的工具&#xff0c;但它们有一些关键的区别&#xff1a; 底层计算引擎&#xff1a; Hive SQL&#xff1a;Hive 是建立在 Hadoop 生态系统之上的&#xff0c;使用 MapReduce 作为底层计算引擎。因此&#xff0c;它的…...

SparkStreaming基础解析(四)

1、 Spark Streaming概述 1.1 Spark Streaming是什么 Spark Streaming用于流式数据的处理。Spark Streaming支持的数据输入源很多&#xff0c;例如&#xff1a;Kafka、Flume、Twitter、ZeroMQ和简单的TCP套接字等等。数据输入后可以用Spark的高度抽象原语如&#xff1a;map、…...

HTML---JavaScript操作DOM对象

目录 文章目录 本章目标 一.DOM对象概念 二.节点访问方法 常用方法&#xff1a; 层次关系访问节点 三.节点信息 四.节点的操作方法 操作节点的属性 创建节点 删除替换节点 五.节点操作样式 style属性 class-name属性 六.获取元素位置 总结 本章目标 了解DOM的分类和节点间的…...

ChatGPT扩展系列之网易数帆ChatBI

在当今数字化快速发展的时代,数据已经成为业务经营与管理决策的核心驱要素。无论是跨国大企业还是新兴创业公司,正确、迅速地洞察数据已经变得至关重要。然而,传统的BI工具往往对用户有一定的技术门槛,需要熟练的操作技能和复杂的查询语句,这使得大部分的企业员工难以深入…...

1.10号io网络

信号量&#xff08;信号灯集&#xff09; 1> 信号灯集主要完成进程间同步工作&#xff0c;将多个信号灯&#xff0c;放在一个信号灯集中&#xff0c;每个信号灯控制一个进程 2> 每个灯维护了一个value值&#xff0c;当value值等于0时&#xff0c;申请该资源的进程处于阻…...

基于JAVA+SpringBoot的高校学术报告系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 智慧高校学术报告系统…...

单机部署Rancher

上次已经安装完毕了k8s了&#xff0c;但是想要界面化的管理&#xff0c;离不开界面工具&#xff0c;首推就是rancher&#xff0c;本文介绍安装rancher的安装&#xff0c;也可以将之前安装的k8s管理起来。 已经安装完毕docker和docker-ce的可以直接从第三部分开始。 一、基础准…...

linux 命令

ps: 命令用来查看系统上的进程信息。 查看内存 cat /proc/进程id/maps...

MySQL数据库进阶|SQL优化|开发手册

系列专栏&#xff1a;MySQL数据库进阶 前言 在看此篇前&#xff0c;建议先阅读MySQL索引&#xff0c;对索引有个基本了解&#xff1a;MySQL数据库进阶-索引-CSDN博客 在进行SQL优化前&#xff0c;我们必须先了解SQL查询的性能分析&#xff0c;为什么这条SQL慢&#xff0c;慢在…...

一文了解Git(所有命令)附带图片

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 其他…...

Hex2Bin转换软件、Bootloader 、OTA加密升级 、STM32程序加密、其他MCU同样适用

说明&#xff1a;这个工具可以将 Hex 文件 转换为 Bin 格式文件&#xff0c;软件是按自己开发 STM32 OAT 功能需求开发的一款辅助 上位机软件。 文中的介绍时 bootloader boot 文档在补充完善中... 有兴趣的朋友可留言探讨。 1. 软件功能&#xff1a; 1.生成 bin&#x…...

Hadoop之mapreduce参数大全-6

126.指定 Map 任务运行的节点标签表达式 mapreduce.map.node-label-expression 是 Hadoop MapReduce 框架中的一个配置属性&#xff0c;用于指定 Map 任务运行的节点标签表达式。节点标签是在 Hadoop 集群中为节点分配的用户定义的标签&#xff0c;可用于将 Map 任务限制在特定…...

Vue开发中,在实现单页面应用(SPA)前端路由时的hash模式和history模式的区别及详细介绍

文章目录 一、前言二、hash模式hashchange 事件&#xff1a; 三、history模式方法&#xff1a;1、history.go()&#xff1a;2、history.back()&#xff1a;3、history.forward()&#xff1a;4、History.replaceState()5、History.pushState()popState 事件 四、nginx配置五、原…...

功能强大的免费SSL证书

一、数据加密的重要性 免费SSL证书的核心作用在于对网站的数据传输进行加密处理。当一个网站部署了SSL证书后&#xff0c;它能够将HTTP协议升级至HTTPS&#xff0c;这意味着所有在客户端&#xff08;如浏览器&#xff09;与服务器之间传输的信息都将被高强度的加密算法所保护。…...

在Vue中使用Web Worker详细教程

1.什么是Web Worker? Web Worker 是2008年h5提供的新功能&#xff0c;每一个新功能都是为了解决原有技术的的痛点&#xff0c;那么这个痛点是什么呢&#xff1f; 1.1 JavaScript的单线程 JavaScript 为什么要设计成单线程&#xff1f; 这与js的工作内容有关&#xff1a;js只…...

四、C#高级特性(动态类型与Expando类)

在C#中&#xff0c;动态类型和ExpandoObject类是两个与运行时类型系统相关的特性&#xff0c;它们提供了更灵活的数据处理能力。 动态类型 动态类型是一种特殊的类型&#xff0c;允许你在运行时解析和操作对象的成员&#xff0c;而不需要在编译时知道这些成员的细节。使用动态…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

css的定位(position)详解:相对定位 绝对定位 固定定位

在 CSS 中&#xff0c;元素的定位通过 position 属性控制&#xff0c;共有 5 种定位模式&#xff1a;static&#xff08;静态定位&#xff09;、relative&#xff08;相对定位&#xff09;、absolute&#xff08;绝对定位&#xff09;、fixed&#xff08;固定定位&#xff09;和…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...