網(wǎng)站開發(fā)五人分工外貿(mào)出口平臺網(wǎng)站
簡介
- 官方API:http://www.inter-illusion.com/assets/I2LocalizationManual/I2LocalizationManual.html
- 意義:更改游戲語言(多語言支持)
快速上手
-
插件安裝:
- 直接拖拽進(jìn)Unity即可
-
創(chuàng)建語言源(Creating a Language Source):
- 方法一: 雙擊Assets \ Resources \ I2Languages.asset(全局起作用)
- 方法二:在場景中創(chuàng)建一個新的 GameObject 并添加一個 Language Source 組件(I2 \ Localization \ Source )(整個場景起作用)
-
添加語言(Adding Languages)
-
在 LanguageSource 編輯器中,選擇**“語言(Languages)”選項卡**
-
點擊底部**Abkhazian[ab]**選擇語言—>點擊Add;
-
-
添加術(shù)語(Adding Terms)
方式一:本地添加
-
選擇**術(shù)語(Terms )**選項卡
-
單機(jī)**“+”按鈕,輸入Terms **然后創(chuàng)建鍵
-
對應(yīng)位置輸入文本
方式二:谷歌電子表格
-
官方教程:http://www.inter-illusion.com/assets/I2LocalizationManual/HowtolinkwithGoogleSpreadsheet.html
- 注意:需要使用個人谷歌賬號,公司賬號權(quán)限無法開放給所有人
-
-
本地化標(biāo)簽(Localizing a Label)
-
方法一:手動掛載
- 選擇對應(yīng)UI組件
- 添加組件:L2 Localize
- 選擇適當(dāng)?shù)腡ag
- 點擊Term選擇定義好的Term
-
代碼動態(tài)掛載
public class TestLanguage : MonoBehaviour {public string termKey="win"; // 術(shù)語關(guān)鍵字,用于定位多語言文本public Localize Localizes;private void Start(){Localizes=GetComponent<Localize>();// 動態(tài)設(shè)置多語言文本Localizes.SetTerm(termKey);} }
-
-
游戲中更改語言
-
方式一:制作腳本寫入一下代碼傳入語言名字作為參數(shù)
if ( LocalizationManager .HasLanguage( LanguageName )){LocalizationManager .CurrentLanguage =語言名稱;}
-
示例
public void SetLanguage(){int count = LocalizationManager.GetAllLanguages().Count; //獲取語言個數(shù)int nowId = LocalizationManager.GetAllLanguages().IndexOf(LocalizationManager.CurrentLanguage); //獲取當(dāng)前語言索引//索引遞增if (nowId < count - 1){setLanguage._Language = LocalizationManager.GetAllLanguages()[nowId + 1].ToString();}else{setLanguage._Language = "English";}setLanguage.ApplyLanguage();}
-
-
方式二:
- 創(chuàng)建Button
- 添加SetLanguage Button組件
- 設(shè)置語言(轉(zhuǎn)換后的語言)
- 選擇Language Source組件
- 為Button添加監(jiān)聽事件ApplyLanguage
-
-
動態(tài)修改游戲中的語言
? 比如關(guān)節(jié)展示,我們配表只有“關(guān)節(jié)”2字,那么關(guān)節(jié)1、關(guān)節(jié)2的數(shù)字就需要動態(tài)展示。
-
需要動態(tài)展示的組件掛載新的組件LocalizationParamsManager
-
需要動態(tài)展示的內(nèi)容配表:我是{[名字]}
-
代碼邏輯:
GetComponent<Localize>().SetTerm("keys"); GetComponent<LocalizationParamsManager>().SetParameterValue("名字","小明");
-