修改字体
This commit is contained in:
@@ -3,18 +3,59 @@ using UnityEngine;
|
||||
|
||||
namespace NBC
|
||||
{
|
||||
public struct LanguageInfo
|
||||
{
|
||||
public SystemLanguage Language;
|
||||
public string Name;
|
||||
public string Code;
|
||||
}
|
||||
|
||||
public class LanguageConst
|
||||
{
|
||||
public const string LanguageSaveKey = "LanguageSaveKey";
|
||||
|
||||
/// <summary>
|
||||
/// 自定义语言和名字映射关系
|
||||
/// </summary>
|
||||
public static readonly Dictionary<SystemLanguage, string> languageMap = new Dictionary<SystemLanguage, string>()
|
||||
{
|
||||
{ SystemLanguage.English, "en" },
|
||||
{ SystemLanguage.ChineseSimplified, "chs" },
|
||||
{ SystemLanguage.ChineseTraditional, "cht" },
|
||||
{ SystemLanguage.Japanese, "jp" },
|
||||
{ SystemLanguage.Korean, "kr" },
|
||||
};
|
||||
public static readonly Dictionary<SystemLanguage, LanguageInfo> languageMap =
|
||||
new Dictionary<SystemLanguage, LanguageInfo>()
|
||||
{
|
||||
{
|
||||
SystemLanguage.English,
|
||||
new LanguageInfo() { Language = SystemLanguage.English, Name = "", Code = "en" }
|
||||
},
|
||||
{
|
||||
SystemLanguage.ChineseSimplified,
|
||||
new LanguageInfo() { Language = SystemLanguage.ChineseSimplified, Name = "", Code = "zh-CN" }
|
||||
},
|
||||
{
|
||||
SystemLanguage.ChineseTraditional,
|
||||
new LanguageInfo() { Language = SystemLanguage.ChineseTraditional, Name = "", Code = "zh-TW" }
|
||||
},
|
||||
{
|
||||
SystemLanguage.Japanese,
|
||||
new LanguageInfo() { Language = SystemLanguage.Japanese, Name = "", Code = "jp" }
|
||||
},
|
||||
{
|
||||
SystemLanguage.Korean,
|
||||
new LanguageInfo() { Language = SystemLanguage.Korean, Name = "", Code = "kr" }
|
||||
},
|
||||
{
|
||||
SystemLanguage.French,
|
||||
new LanguageInfo() { Language = SystemLanguage.French, Name = "", Code = "fr" }
|
||||
},
|
||||
{
|
||||
SystemLanguage.Russian,
|
||||
new LanguageInfo() { Language = SystemLanguage.Russian, Name = "", Code = "fr" }
|
||||
},
|
||||
{
|
||||
SystemLanguage.Spanish,
|
||||
new LanguageInfo() { Language = SystemLanguage.Spanish, Name = "", Code = "fr" }
|
||||
},
|
||||
{
|
||||
SystemLanguage.Vietnamese,
|
||||
new LanguageInfo() { Language = SystemLanguage.Vietnamese, Name = "", Code = "fr" }
|
||||
},
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -46,9 +46,9 @@ namespace NBC
|
||||
|
||||
public bool UseLanguage(SystemLanguage language)
|
||||
{
|
||||
if (_languages.ContainsKey(language))
|
||||
if (_languages.TryGetValue(language, out var language1))
|
||||
{
|
||||
_currentLanguageDictionary = _languages[language];
|
||||
_currentLanguageDictionary = language1;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,26 +36,26 @@ namespace NBC
|
||||
return _currentLanguage;
|
||||
}
|
||||
|
||||
public void UseLanguage(string name)
|
||||
public void AutoUseLanguage()
|
||||
{
|
||||
foreach (var key in LanguageConst.languageMap.Keys)
|
||||
SystemLanguage language = Application.systemLanguage;
|
||||
if (PlayerPrefs.HasKey(LanguageConst.LanguageSaveKey))
|
||||
{
|
||||
var value = LanguageConst.languageMap[key];
|
||||
if (value != name) continue;
|
||||
UseLanguage(key);
|
||||
return;
|
||||
var value = PlayerPrefs.GetInt(LanguageConst.LanguageSaveKey, -1);
|
||||
if (value >= 0)
|
||||
{
|
||||
language = (SystemLanguage)value;
|
||||
}
|
||||
}
|
||||
|
||||
Debug.LogError("语言包不存在或没有添加映射关系");
|
||||
return;
|
||||
UseLanguage(language);
|
||||
}
|
||||
|
||||
|
||||
public void UseLanguage(SystemLanguage language)
|
||||
{
|
||||
_currentLanguage = language;
|
||||
if (LanguageConst.languageMap.TryGetValue(language, out var name))
|
||||
if (LanguageConst.languageMap.TryGetValue(language, out var info))
|
||||
{
|
||||
_currentCustomLanguageName = name;
|
||||
_currentCustomLanguageName = info.Code;
|
||||
}
|
||||
|
||||
foreach (var value in _lanModuleDic.Values)
|
||||
|
||||
Reference in New Issue
Block a user