Unity功能记录(十二) ------ 语言本地化

因为我们公司的产品涉及国外,所以需要中文英语两个版本

一.创建TXT脚本,按指定格式填写

我直接在Resources目录下创建了,小项目还没用AB包

Unity功能记录(十二) ------ 语言本地化_第1张图片

注意中英文两个TXT文件中的key值保持一致

Unity功能记录(十二) ------ 语言本地化_第2张图片

二.根据本机语言设置text上文字

1.读取TXT文件并存入Dictionary中

 public SystemLanguage localLanguage = SystemLanguage.Chinese;
    public Dictionary LanguageDic = new Dictionary();
    private void Awake()
    {
        localLanguage = Application.systemLanguage;
        TextAsset ta;
        if (localLanguage == SystemLanguage.Chinese ||
       localLanguage == SystemLanguage.ChineseSimplified ||
       localLanguage == SystemLanguage.ChineseTraditional)
        {
            ta = Resources.Load("LanguageLocal/Chinese");
            Debug.Log(ta);
        }
        else
            ta = Resources.Load("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"];

 

你可能感兴趣的:(unity)