修改字体

This commit is contained in:
bob
2025-05-27 17:57:42 +08:00
parent 7ad9f351c7
commit 8e13f19ee0
14 changed files with 100 additions and 35 deletions

View File

@@ -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" }
},
};
}
}

View File

@@ -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;
}

View File

@@ -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)