1. 程式人生 > >Unity功能記錄(十二) ------ 語言本地化

Unity功能記錄(十二) ------ 語言本地化

因為我們公司的產品涉及國外,所以需要中文英語兩個版本

一.建立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"];