unity3d UGUI多語言

從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

相關文章
相關標籤/搜索