// 添加语言
        public virtual void Add(LanguageType?type, string key, string desc, string fileName = "", string category = "")
        {
            //跳过无效的key和Desc
            if (type == null)
            {
                return;
            }
            if (key.IsInv() || desc.IsInv())
            {
                return;
            }
            int lanIndex = Enum <LanguageType> .Int(type.Value);

            if (!lanKeys.Contains(key))
            {
                lanKeys.Add(key);
            }
            if (!data.ContainsKey(lanIndex))
            {
                data.Add(lanIndex, new Dictionary <string, string>());
            }
            //添加到Key
            if (!data[lanIndex].ContainsKey(key))
            {
                data[lanIndex].Add(key, desc);
                //分类到LoadTip
                if (key.StartsWith(Const.Prefix_Lang_LoadTip))
                {
                    LoadTips.Add(key);
                }
                else if (key.StartsWith(Const.Prefix_Lang_Surname))
                {
                    AllLastNames.Add(key);
                }
                //自定义分类
                if (category != "")
                {
                    if (!categoryKey.ContainsKey(category))
                    {
                        categoryKey.Add(category, new HashList <string>());
                    }
                    categoryKey[category].Add(key);
                }
            }
            else
            {
                if (Application.isEditor)
                {
                    CLog.Error("错误!重复的组建key:" + key + " 当前语言:" + type.ToString() + "  file Name:" + fileName);
                }
                data[lanIndex][key] = desc;
            }
        }
 public static string RandLoadTip() => Get(LoadTips.Rand());