unity多语言功能



using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class LocalizationManager
{
    //单例模式 
    private static LocalizationManager _instance;

    public static LocalizationManager GetInstance
    {
        get
        {
            if (_instance == null)
            {
                _instance = new LocalizationManager();
            }

            return _instance;
        }
    }                                           

    //选择自已需要的本地语言 
    public const string language = "Chinese";


    private Dictionary<string, string> dic = new Dictionary<string, string>();
    /// <summary> 
    /// 读取配置文件,将文件信息保存到字典里 
    /// </summary> 
    public LocalizationManager()
    {
        TextAsset ta = Resources.Load<TextAsset>(language);
        string text = ta.text;

        string[] lines = text.Split("\r\n".ToCharArray());
        foreach (string line in lines)
        {
            if (string.IsNullOrEmpty(line))
                continue;
            string[] keyAndValue = line.Split('=');
            Debug.Log("==" + keyAndValue[0] + "==" + keyAndValue[1] + "==");
            dic.Add(keyAndValue[0], keyAndValue[1]);
        }
    }

    /// <summary> 
    /// 获取value 
    /// </summary> 
    /// <param name="key"></param> 
    /// <returns></returns> 
    public string GetValue(string key)
    {
        if (dic.ContainsKey(key) == false)
        {
            return null;
        }
        string value = null;
        dic.TryGetValue(key, out value);

//从txt里读出来的"\n"变成了“\\n”了,所以要重新替换一下
        return value.Replace("\\n", "\n");
    }
}


再Assest目录下的Resources文件夹里建一个Chinese.txt文件里面的内容格式如下

KEY.110001=测试1
KEY.110002=测试2



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值