本文主要是介绍【I2多语言】多语言快速上手,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介
- 官方API:http://www.inter-illusion.com/assets/I2LocalizationManual/I2LocalizationManual.html
- 意义:更改游戏语言(多语言支持)
快速上手
-
插件安装:
- 直接拖拽进Unity即可
-
创建语言源(Creating a Language Source):
- 方法一: 双击Assets \ Resources \ I2Languages.asset(全局起作用)
- 方法二:在场景中创建一个新的 GameObject 并添加一个 Language Source 组件(I2 \ Localization \ Source )(整个场景起作用)
-
添加语言(Adding Languages)
-
在 LanguageSource 编辑器中,选择**“语言(Languages)”选项卡**
-
点击底部**Abkhazian[ab]**选择语言—>点击Add;
-
-
添加术语(Adding Terms)
方式一:本地添加
-
选择**术语(Terms )**选项卡
-
单机**“+”按钮,输入Terms **然后创建键
-
对应位置输入文本
方式二:谷歌电子表格
-
官方教程:http://www.inter-illusion.com/assets/I2LocalizationManual/HowtolinkwithGoogleSpreadsheet.html
- 注意:需要使用个人谷歌账号,公司账号权限无法开放给所有人
-
-
本地化标签(Localizing a Label)
-
方法一:手动挂载
- 选择对应UI组件
- 添加组件:L2 Localize
- 选择适当的Tag
- 点击Term选择定义好的Term
-
代码动态挂载
public class TestLanguage : MonoBehaviour {public string termKey="win"; // 术语关键字,用于定位多语言文本public Localize Localizes;private void Start(){Localizes=GetComponent<Localize>();// 动态设置多语言文本Localizes.SetTerm(termKey);} }
-
-
游戏中更改语言
-
方式一:制作脚本写入一下代码传入语言名字作为参数
if ( LocalizationManager .HasLanguage( LanguageName )){LocalizationManager .CurrentLanguage =语言名称;}
-
示例
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();}
-
-
方式二:
- 创建Button
- 添加SetLanguage Button组件
- 设置语言(转换后的语言)
- 选择Language Source组件
- 为Button添加监听事件ApplyLanguage
-
-
动态修改游戏中的语言
比如关节展示,我们配表只有“关节”2字,那么关节1、关节2的数字就需要动态展示。
-
需要动态展示的组件挂载新的组件LocalizationParamsManager
-
需要动态展示的内容配表:我是{[名字]}
-
代码逻辑:
GetComponent<Localize>().SetTerm("keys"); GetComponent<LocalizationParamsManager>().SetParameterValue("名字","小明");
-
这篇关于【I2多语言】多语言快速上手的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!