unity3d UGUI多語言


從Foundation插件中抽離出的多語言。原理很簡單,給Text綁定key,在程序開始時設置本地語言即可。

目錄結構:

LanguageEditor.cs:自定義編輯器;

LanguageService.cs:負責讀取語言文件供程序使用;

LanguageText.cs:綁定到Text組件中;

Resources文件夾:存放資源文件及配置文件;

Localization文件夾:語言包,所有的語言放在該目錄下,每種語言一個文件夾;根據語言設置讀取相應目錄下的語言文件;

LocalizationConfig:多語言配置文件,包含所有的語言名字。

SimpleJSON.cs:多語言的本地文件是json格式,解析json用;

由於項目中無動態設置語言需求,也就沒做在程序運行時更改語言功能。在程序啟動后先設置語言,綁定了LanguageText.cs的Text自動會根據設置的key顯示對應的語言字符。

使用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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM