從Foundation插件中抽離出的多語言。原理很簡單,給Text綁定key,在程序開始時設置本地語言便可。json
目錄結構:編輯器
LanguageEditor.cs:自定義編輯器;this
LanguageService.cs:負責讀取語言文件供程序使用;spa
LanguageText.cs:綁定到Text組件中;插件
Resources文件夾:存放資源文件及配置文件;code
Localization文件夾:語言包,全部的語言放在該目錄下,每種語言一個文件夾;根據語言設置讀取相應目錄下的語言文件;orm
LocalizationConfig:多語言配置文件,包含全部的語言名字。blog
SimpleJSON.cs:多語言的本地文件是json格式,解析json用;資源
因爲項目中無動態設置語言需求,也就沒作在程序運行時更改語言功能。在程序啓動後先設置語言,綁定了LanguageText.cs的Text自動會根據設置的key顯示對應的語言字符。it
使用demo:
1 using UnityEngine; 2 using UnityEngine.UI; 3 using System.Collections; 4 using Language; 5 6 public class Test : MonoBehaviour { 7 8 // Use this for initialization 9 10 void Awake () { 11 LanguageService.Instance.Language = new LanguageInfo ("English"); 12 } 13 14 void Start() 15 { 16 GameObject textPrefab = (GameObject)Resources.Load ("Text"); 17 GameObject textObj = (GameObject)Instantiate (textPrefab); 18 textObj.transform.SetParent (this.transform); 19 textObj.transform.localPosition = Vector3.zero; 20 } 21 }
Demo下載地址:
連接: http://pan.baidu.com/s/1dD70xah 密碼: rw4r