12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using System.Collections.Generic;
- namespace XGame.Framework.i18n
- {
- public static class LanguageUtils
- {
- private static Dictionary<string, LanguageType> _langFlagNameMap = new Dictionary<string, LanguageType>()
- {
- {"ar",LanguageType.AR },
- {"en",LanguageType.EN },
- {"zh-cn",LanguageType.ZH_CN },
- {"zh-hk",LanguageType.ZH_HK },
- {"zh-sg",LanguageType.ZH_SG },
- };
- public static string ToName(this LanguageType flag)
- {
- switch(flag)
- {
- case LanguageType.ZH_CN:
- return "zh-cn";
- case LanguageType.ZH_HK:
- return "zh-hk";
- case LanguageType.ZH_SG:
- return "zh-sg";
- default:
- return flag.ToString().ToLower();
- }
- }
- public static LanguageType ToLanguageType(string languageName)
- {
- if (_langFlagNameMap.TryGetValue(languageName, out var langFlag))
- {
- return langFlag;
- }
- Log.Error($"多语言类型转换错误. Name:{languageName}");
- return LanguageType.NONE;
- }
- public static bool IsLanguage(string languageName)
- {
- return _langFlagNameMap.ContainsKey(languageName);
- }
- }
- }
|