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); }
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}"); }
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}]"); }
/// <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 }
/// <summary> /// 跟据语言类型获取值 /// </summary> /// <param name="type"></param> /// <returns></returns> public string GetValue(ELangType type) { return(Mgr.Lang.Get(key, type)); }
/// <summary> /// 跟据语言类型获取值 /// </summary> /// <param name="type"></param> /// <returns></returns> public string GetValue(ELangType type) { return(GameFrameEntry.GetModule <LangModule>().Get(key, type)); }
public LangMgr() { defaultType = (ELangType)PlayerPrefs.GetInt("ELangType", (int)defaultType); }