示例#1
0
        public string GetFormat(string key, ELangType type, params object[] args)
        {
            string str = Get(key, type).Replace("\\n", "\n");

            str = string.Format(str, args);
            return(str);
        }
示例#2
0
        public string Get(string key, ELangType type)
        {
            if (dicLang.TryGetValue(key, out config))
            {
                switch (type)
                {
                case ELangType.ZH_CN:
                    return(config.zh_cn);

                case ELangType.ZH_TW:
                    return(config.zh_tw);

                case ELangType.EN:
                    return(config.en);

                case ELangType.JA:
                    return(config.ja);

                case ELangType.KO:
                    return(config.ko);
                }
            }
            return($"{ key}");
        }
示例#3
0
    public string Get(string key, ELangType type)
    {
        LangServerConfig config = null;
        string           str    = null;

        if (dicLang.TryGetValue(key, out config))
        {
            switch (type)
            {
            case ELangType.ZH_CN:
                str = config.zh_cn;
                break;

            case ELangType.ZH_TW:
                str = config.zh_tw;
                break;

            case ELangType.EN:
                str = config.en;
                break;

            case ELangType.JA:
                str = config.ja;
                break;

            case ELangType.KO:
                str = config.ko;
                break;
            }
        }
        if (str != null)
        {
            return(str.Replace("\\n", "\n"));
        }
        return($"Not Find[{ key}]");
    }
示例#4
0
        /// <summary>
        /// 设置本地拥有的语言库
        /// </summary>
        public void SetLocalLangLibrary(LocalELangLibrary LangLibrary, ELangType AppDefaultLangType = ELangType.ZH_CN)
        {
            localELangLibrary = LangLibrary;

#if UNITY_EDITOR
            defaultType = (ELangType)PlayerPrefs.GetInt("ELangType", (int)ELangType.ZH_CN);
#else
            defaultType = AppDefaultLangType;
            LocalELangLibrary defaultLangNeedLangLibrary = LocalELangLibrary.EN;
            int SysytemLangType = DBTSDK.AppInfoManager.Instance.GetSystemLanguage();
            CLog.Log("系统语言:" + SysytemLangType);
            switch (SysytemLangType)
            {
            case 0:
                defaultType = ELangType.EN;
                defaultLangNeedLangLibrary = LocalELangLibrary.EN;
                break;

            case 1:
                defaultType = ELangType.ZH_CN;
                defaultLangNeedLangLibrary = LocalELangLibrary.ZH_CN;
                break;

            case 2:
                defaultType = ELangType.ZH_TW;
                defaultLangNeedLangLibrary = LocalELangLibrary.ZH_TW;
                break;

            case 10:
                defaultType = ELangType.KO;
                defaultLangNeedLangLibrary = LocalELangLibrary.KO;
                break;

            case 11:
                defaultType = ELangType.JA;
                defaultLangNeedLangLibrary = LocalELangLibrary.JA;
                break;
            }
            if (defaultType == AppDefaultLangType)
            {
                CLog.Log("不属于5大语言,使用默认语言:" + AppDefaultLangType);
                return;
            }
            //判断当前选择的语言,本地是否拥有语言配置
            if (!localELangLibrary.HasFlag(defaultLangNeedLangLibrary))
            {
                Debug.Log($"本地未配置{defaultLangNeedLangLibrary}语言库,准备回退到默认语言库--{AppDefaultLangType}");
                if (defaultLangNeedLangLibrary == LocalELangLibrary.ZH_CN)
                {
                    //如果发生APP不包含简体资源 优先寻找繁体资源  然后再找默认资源
                    if (localELangLibrary.HasFlag(LocalELangLibrary.ZH_TW))
                    {
                        Debug.Log($"本地配置繁体语言库,简体手机使用繁体语言库");
                        defaultType = ELangType.ZH_TW;
                        return;
                    }
                }
                defaultType = AppDefaultLangType;
                CLog.Log($"本地版本库没有当前语言[{defaultLangNeedLangLibrary}]:改成使用默认语言[{defaultType}]");
            }
#endif
        }
示例#5
0
 /// <summary>
 /// 跟据语言类型获取值
 /// </summary>
 /// <param name="type"></param>
 /// <returns></returns>
 public string GetValue(ELangType type)
 {
     return(Mgr.Lang.Get(key, type));
 }
示例#6
0
 /// <summary>
 /// 跟据语言类型获取值
 /// </summary>
 /// <param name="type"></param>
 /// <returns></returns>
 public string GetValue(ELangType type)
 {
     return(GameFrameEntry.GetModule <LangModule>().Get(key, type));
 }
示例#7
0
 public LangMgr()
 {
     defaultType = (ELangType)PlayerPrefs.GetInt("ELangType", (int)defaultType);
 }