Unity功能記錄(十二) ------ 語言本地化
阿新 • • 發佈:2019-01-03
因為我們公司的產品涉及國外,所以需要中文英語兩個版本
一.建立TXT指令碼,按指定格式填寫
我直接在Resources目錄下建立了,小專案還沒用AB包
注意中英文兩個TXT檔案中的key值保持一致
二.根據本機語言設定text上文字
1.讀取TXT檔案並存入Dictionary中
public SystemLanguage localLanguage = SystemLanguage.Chinese; public Dictionary<string, string> LanguageDic = new Dictionary<string, string>(); private void Awake() { localLanguage = Application.systemLanguage; TextAsset ta; if (localLanguage == SystemLanguage.Chinese || localLanguage == SystemLanguage.ChineseSimplified || localLanguage == SystemLanguage.ChineseTraditional) { ta = Resources.Load<TextAsset>("LanguageLocal/Chinese"); Debug.Log(ta); } else ta = Resources.Load<TextAsset>("LanguageLocal/English"); string text = ta.text; string[] lines = text.Split('\n'); foreach(string line in lines) { if (line == null) { continue; } string[] keyAndValue = line.Split('='); LanguageDic.Add(keyAndValue[0], keyAndValue[1]); } }
2.text設定
testText.text = LanguageDic["ApolloRecog"];