From 385de69cb97ba41641c04fbca093541ae00095dd Mon Sep 17 00:00:00 2001 From: Alex-Rachel <574809918@qq.com> Date: Tue, 18 Mar 2025 00:20:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=84=E8=8C=83=E5=8C=96LocalizationModule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GameScripts/Procedure/ProcedureLaunch.cs | 5 +- .../Manager/LocalizationManager_Sources.cs | 4 +- .../LocalizationModule/ILocalizationModule.cs | 60 ++++ .../ILocalizationModule.cs.meta | 3 + .../LocalizationModule/LocalizationManager.cs | 312 ++++++++++++++++ .../LocalizationManager.cs.meta | 11 + .../LocalizationModule/LocalizationModule.cs | 332 +++--------------- .../LocalizationModule.cs.meta | 14 +- ...zationHelper.cs => LocalizationUtility.cs} | 4 +- ...er.cs.meta => LocalizationUtility.cs.meta} | 0 10 files changed, 454 insertions(+), 291 deletions(-) create mode 100644 UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/ILocalizationModule.cs create mode 100644 UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/ILocalizationModule.cs.meta create mode 100644 UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationManager.cs create mode 100644 UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationManager.cs.meta rename UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/{DefaultLocalizationHelper.cs => LocalizationUtility.cs} (98%) rename UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/{DefaultLocalizationHelper.cs.meta => LocalizationUtility.cs.meta} (100%) diff --git a/UnityProject/Assets/GameScripts/Procedure/ProcedureLaunch.cs b/UnityProject/Assets/GameScripts/Procedure/ProcedureLaunch.cs index 5d5ca944..7ce04602 100644 --- a/UnityProject/Assets/GameScripts/Procedure/ProcedureLaunch.cs +++ b/UnityProject/Assets/GameScripts/Procedure/ProcedureLaunch.cs @@ -50,7 +50,8 @@ namespace Procedure return; } - Language language = LocalizationModule.Instance.Language; + ILocalizationModule localizationModule = ModuleSystem.GetModule(); + Language language = localizationModule.Language; if (Utility.PlayerPrefs.HasSetting(Constant.Setting.Language)) { try @@ -75,7 +76,7 @@ namespace Procedure Utility.PlayerPrefs.Save(); } - LocalizationModule.Instance.Language = language; + localizationModule.Language = language; Log.Info("Init language settings complete, current language is '{0}'.", language.ToString()); } diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Manager/LocalizationManager_Sources.cs b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Manager/LocalizationManager_Sources.cs index f6dbd915..03710655 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Manager/LocalizationManager_Sources.cs +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/Core/Manager/LocalizationManager_Sources.cs @@ -66,10 +66,10 @@ namespace TEngine.Localization } Debug.Log("I2LocalizationManager 加载编辑器资源数据"); - var sourceAsset = UnityEditor.AssetDatabase.LoadAssetAtPath(DefaultLocalizationHelper.I2GlobalSourcesEditorPath); + var sourceAsset = UnityEditor.AssetDatabase.LoadAssetAtPath(LocalizationUtility.I2GlobalSourcesEditorPath); if (sourceAsset == null) { - Debug.LogError($"错误 没有找到编辑器下的资源 {DefaultLocalizationHelper.I2GlobalSourcesEditorPath}"); + Debug.LogError($"错误 没有找到编辑器下的资源 {LocalizationUtility.I2GlobalSourcesEditorPath}"); return null; } diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/ILocalizationModule.cs b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/ILocalizationModule.cs new file mode 100644 index 00000000..eec97ab4 --- /dev/null +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/ILocalizationModule.cs @@ -0,0 +1,60 @@ +using Cysharp.Threading.Tasks; + +namespace TEngine +{ + public interface ILocalizationModule + { + /// + /// 获取或设置本地化语言。 + /// + public Language Language { get; set; } + + /// + /// 获取系统语言。 + /// + public Language SystemLanguage {get;} + + /// + /// 加载语言总表。 + /// + public UniTask LoadLanguageTotalAsset(string assetName); + + /// + /// 加载语言分表。 + /// + /// 语言类型。 + /// 是否立刻设置成当前语言。 + /// 是否初始化Inner语言。 + public UniTask LoadLanguage(string language, bool setCurrent = false, bool fromInit = false); + + /// + /// 检查是否存在该语言。 + /// + /// 语言。 + /// 是否已加载。 + public bool CheckLanguage(string language); + + /// + /// 设置当前语言。 + /// + /// 语言名称。 + /// 是否加载。 + /// + public bool SetLanguage(Language language, bool load = false); + + /// + /// 设置当前语言。 + /// + /// 语言名称。 + /// 是否加载。 + /// + public bool SetLanguage(string language, bool load = false); + + /// + /// 通过语言的Id设置语言。 + /// + /// 语言ID。 + /// 是否设置成功。 + public bool SetLanguage(int languageId); + } +} \ No newline at end of file diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/ILocalizationModule.cs.meta b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/ILocalizationModule.cs.meta new file mode 100644 index 00000000..dbd3020a --- /dev/null +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/ILocalizationModule.cs.meta @@ -0,0 +1,3 @@ +fileFormatVersion: 2 +guid: 6803cf6a42a24545aac1c07f7f0ef466 +timeCreated: 1742227577 \ No newline at end of file diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationManager.cs b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationManager.cs new file mode 100644 index 00000000..05ddaec1 --- /dev/null +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationManager.cs @@ -0,0 +1,312 @@ +using UnityEngine; +using Object = UnityEngine.Object; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using Cysharp.Threading.Tasks; +using TEngine.Localization; + +namespace TEngine +{ + /// + /// 本地化组件。 + /// + [DisallowMultipleComponent] + public sealed class LocalizationManager : MonoBehaviour, IResourceManager_Bundles + { + private string _defaultLanguage = "Chinese"; + + [SerializeField] + private TextAsset innerLocalizationCsv; + + private LanguageSource _languageSource; + + private LanguageSourceData _sourceData + { + get + { + if (_languageSource == null) + { + _languageSource = gameObject.AddComponent(); + } + + return _languageSource.SourceData; + } + } + + [SerializeField] + private List allLanguage = new List(); + + /// + /// 模拟平台运行时 编辑器资源不加载。 + /// + [SerializeField] + private bool useRuntimeModule = true; + + private string _currentLanguage; + + /// + /// 获取或设置本地化语言。 + /// + public Language Language + { + get => LocalizationUtility.GetLanguage(_currentLanguage); + set => SetLanguage(LocalizationUtility.GetLanguageStr(value)); + } + + /// + /// 获取系统语言。 + /// + public Language SystemLanguage => LocalizationUtility.SystemLanguage; + + private IResourceModule _resourceModule; + + /// + /// 游戏框架组件初始化。 + /// + private void Awake() + { + _resourceModule = ModuleSystem.GetModule(); + if (_resourceModule == null) + { + Log.Fatal("Resource component is invalid."); + return; + } + + LocalizationModule localizationModule = new LocalizationModule(); + localizationModule.Bind(this); + ModuleSystem.RegisterModule(localizationModule); + } + + private void Start() + { + RootModule rootModule = RootModule.Instance; + if (rootModule == null) + { + Log.Fatal("Base component is invalid."); + return; + } + + _defaultLanguage = LocalizationUtility.GetLanguageStr( + rootModule.EditorLanguage != Language.Unspecified ? rootModule.EditorLanguage : SystemLanguage); + + AsyncInit().Forget(); + } + + private async UniTask AsyncInit() + { + if (string.IsNullOrEmpty(_defaultLanguage)) + { + Log.Fatal($"Must set defaultLanguage."); + return false; + } +#if UNITY_EDITOR + if (!useRuntimeModule) + { + Localization.LocalizationManager.RegisterSourceInEditor(); + UpdateAllLanguages(); + SetLanguage(_defaultLanguage); + } + else + { + _sourceData.Awake(); + await LoadLanguage(_defaultLanguage, true, true); + } +#else + _sourceData.Awake(); + await LoadLanguage(_defaultLanguage, true, true); +#endif + return true; + } + + /// + /// 加载语言总表。 + /// + public async UniTask LoadLanguageTotalAsset(string assetName) + { +#if UNITY_EDITOR + if (!useRuntimeModule) + { + Log.Warning($"禁止在此模式下 动态加载语言"); + return; + } +#endif + TextAsset assetTextAsset = await _resourceModule.LoadAssetAsync(assetName); + + if (assetTextAsset == null) + { + Log.Warning($"没有加载到语言总表"); + return; + } + + Log.Info($"加载语言总表成功"); + + UseLocalizationCSV(assetTextAsset.text, true); + } + + /// + /// 加载语言分表。 + /// + /// 语言类型。 + /// 是否立刻设置成当前语言。 + /// 是否初始化Inner语言。 + public async UniTask LoadLanguage(string language, bool setCurrent = false, bool fromInit = false) + { +#if UNITY_EDITOR + if (!useRuntimeModule) + { + Log.Warning($"禁止在此模式下 动态加载语言 {language}"); + return; + } +#endif + TextAsset assetTextAsset; + + if (!fromInit) + { + var assetName = GetLanguageAssetName(language); + + assetTextAsset = await _resourceModule.LoadAssetAsync(assetName); + } + else + { + if (innerLocalizationCsv == null) + { + Log.Warning($"请使用I2Localization.asset导出CSV创建内置多语言."); + return; + } + + assetTextAsset = innerLocalizationCsv; + } + + if (assetTextAsset == null) + { + Log.Warning($"没有加载到目标语言资源 {language}"); + return; + } + + Log.Info($"加载语言成功 {language}"); + + UseLocalizationCSV(assetTextAsset.text, !setCurrent); + if (setCurrent) + { + SetLanguage(language); + } + } + + private string GetLanguageAssetName(string language) + { + return $"{LocalizationUtility.I2ResAssetNamePrefix}{language}"; + } + + /// + /// 检查并初始化所有语言的Id。 + /// + private void UpdateAllLanguages() + { + this.allLanguage.Clear(); + List allLanguages = Localization.LocalizationManager.GetAllLanguages(); + foreach (var language in allLanguages) + { + var newLanguage = Regex.Replace(language, @"[\r\n]", ""); + this.allLanguage.Add(newLanguage); + } + } + + /// + /// 检查是否存在该语言。 + /// + /// 语言。 + /// 是否已加载。 + public bool CheckLanguage(string language) + { + return allLanguage.Contains(language); + } + + /// + /// 设置当前语言。 + /// + /// 语言名称。 + /// 是否加载。 + /// + public bool SetLanguage(Language language, bool load = false) + { + return SetLanguage(LocalizationUtility.GetLanguageStr(language), load); + } + + /// + /// 设置当前语言。 + /// + /// 语言名称。 + /// 是否加载。 + /// + public bool SetLanguage(string language, bool load = false) + { + if (!CheckLanguage(language)) + { + if (load) + { + LoadLanguage(language, true).Forget(); + return true; + } + + Log.Warning($"当前没有这个语言无法切换到此语言 {language}"); + return false; + } + + if (_currentLanguage == language) + { + return true; + } + + Log.Info($"设置当前语言 = {language}"); + Localization.LocalizationManager.CurrentLanguage = language; + _currentLanguage = language; + return true; + } + + /// + /// 通过语言的Id设置语言。 + /// + /// 语言ID。 + /// 是否设置成功。 + public bool SetLanguage(int languageId) + { + if (languageId < 0 || languageId >= allLanguage.Count) + { + Log.Warning($"Error languageIndex. Could not set and check {languageId} Language.Count = {allLanguage.Count}."); + return false; + } + + var language = allLanguage[languageId]; + return SetLanguage(language); + } + + private void UseLocalizationCSV(string text, bool isLocalizeAll = false) + { + _sourceData.Import_CSV(string.Empty, text, eSpreadsheetUpdateMode.Merge, ','); + if (isLocalizeAll) + { + Localization.LocalizationManager.LocalizeAll(); + } + + UpdateAllLanguages(); + } + + /// + /// 语言模块加载资源接口。 + /// + /// 资源定位地址。 + /// 资源类型。 + /// 返回资源实例。 + public T LoadFromBundle(string path) where T : Object + { + var assetObject = _resourceModule.LoadAsset(path); + if (assetObject != null) + { + return assetObject; + } + + Log.Error($"Localization could not load {path} assetsType :{typeof(T).Name}."); + return null; + } + } +} \ No newline at end of file diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationManager.cs.meta b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationManager.cs.meta new file mode 100644 index 00000000..4a6e0972 --- /dev/null +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationManager.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 706e6317a59f61044b2805be79f6b284 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationModule.cs b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationModule.cs index 78b8a20d..8e65c385 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationModule.cs +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationModule.cs @@ -1,329 +1,113 @@ -using UnityEngine; -using Object = UnityEngine.Object; -using System.Collections.Generic; -using System.Text.RegularExpressions; -using Cysharp.Threading.Tasks; -using TEngine.Localization; -using UnityEngine.Serialization; +using Cysharp.Threading.Tasks; namespace TEngine { /// - /// 本地化组件。 + /// 本地化管理模块,负责多语言资源的加载和切换。 /// - [DisallowMultipleComponent] - public sealed class LocalizationModule : MonoBehaviour, IResourceManager_Bundles + public class LocalizationModule : Module, ILocalizationModule { - #region GetInstance - - private static LocalizationModule _instance = null; - - public static LocalizationModule Instance - { - get - { - if (_instance == null) - { - _instance = FindObjectOfType(); - } - - return _instance; - } - } - - #endregion - - private string _defaultLanguage = "Chinese"; - - [SerializeField] - private TextAsset innerLocalizationCsv; - - private LanguageSource _languageSource; - - private LanguageSourceData _sourceData - { - get - { - if (_languageSource == null) - { - _languageSource = gameObject.AddComponent(); - } - - return _languageSource.SourceData; - } - } - - [SerializeField] - private List allLanguage = new List(); + // 实际的本地化管理器实例。 + private LocalizationManager _localizationManager; /// - /// 模拟平台运行时 编辑器资源不加载。 + /// 绑定具体的本地化管理器实现。 /// - [SerializeField] - private bool useRuntimeModule = true; - - private string _currentLanguage; + /// 要绑定的本地化管理器实例。 + public void Bind(LocalizationManager localizationManager) + { + _localizationManager = localizationManager; + } + + /// + /// 模块初始化方法。 + /// + public override void OnInit() + { + } /// - /// 获取或设置本地化语言。 + /// 模块关闭方法。 + /// + public override void Shutdown() + { + UnityEngine.Object.Destroy(_localizationManager); + } + + /// + /// 当前使用的语言(可读写)。 /// public Language Language { - get => DefaultLocalizationHelper.GetLanguage(_currentLanguage); - set => SetLanguage(DefaultLocalizationHelper.GetLanguageStr(value)); + get => _localizationManager.Language; + set => _localizationManager.Language = value; } /// - /// 获取系统语言。 + /// 获取系统默认语言。 /// - public Language SystemLanguage => DefaultLocalizationHelper.SystemLanguage; - - private IResourceModule _resourceModule; + public Language SystemLanguage => _localizationManager.SystemLanguage; /// - /// 游戏框架组件初始化。 - /// - private void Awake() - { - _instance = this; - _resourceModule = ModuleSystem.GetModule(); - if (_resourceModule == null) - { - Log.Fatal("Resource component is invalid."); - return; - } - } - - private void Start() - { - RootModule rootModule = RootModule.Instance; - if (rootModule == null) - { - Log.Fatal("Base component is invalid."); - return; - } - - _defaultLanguage = DefaultLocalizationHelper.GetLanguageStr( - rootModule.EditorLanguage != Language.Unspecified ? rootModule.EditorLanguage : SystemLanguage); - - AsyncInit().Forget(); - } - - private async UniTask AsyncInit() - { - if (string.IsNullOrEmpty(_defaultLanguage)) - { - Log.Fatal($"Must set defaultLanguage."); - return false; - } -#if UNITY_EDITOR - if (!useRuntimeModule) - { - LocalizationManager.RegisterSourceInEditor(); - UpdateAllLanguages(); - SetLanguage(_defaultLanguage); - } - else - { - _sourceData.Awake(); - await LoadLanguage(_defaultLanguage, true, true); - } -#else - _sourceData.Awake(); - await LoadLanguage(_defaultLanguage, true, true); -#endif - return true; - } - - /// - /// 加载语言总表。 + /// 加载完整的语言资源包。 /// + /// 要加载的资源包名称 public async UniTask LoadLanguageTotalAsset(string assetName) { -#if UNITY_EDITOR - if (!useRuntimeModule) - { - Log.Warning($"禁止在此模式下 动态加载语言"); - return; - } -#endif - TextAsset assetTextAsset = await _resourceModule.LoadAssetAsync(assetName); - - if (assetTextAsset == null) - { - Log.Warning($"没有加载到语言总表"); - return; - } - - Log.Info($"加载语言总表成功"); - - UseLocalizationCSV(assetTextAsset.text, true); + await _localizationManager.LoadLanguageTotalAsset(assetName); } /// - /// 加载语言分表。 + /// 加载指定语言的本地化资源。 /// - /// 语言类型。 - /// 是否立刻设置成当前语言。 - /// 是否初始化Inner语言。 + /// 要加载的语言。 + /// 是否设置为当前语言。 + /// 是否来自初始化流程。 public async UniTask LoadLanguage(string language, bool setCurrent = false, bool fromInit = false) { -#if UNITY_EDITOR - if (!useRuntimeModule) - { - Log.Warning($"禁止在此模式下 动态加载语言 {language}"); - return; - } -#endif - TextAsset assetTextAsset; - - if (!fromInit) - { - var assetName = GetLanguageAssetName(language); - - assetTextAsset = await _resourceModule.LoadAssetAsync(assetName); - } - else - { - if (innerLocalizationCsv == null) - { - Log.Warning($"请使用I2Localization.asset导出CSV创建内置多语言."); - return; - } - - assetTextAsset = innerLocalizationCsv; - } - - if (assetTextAsset == null) - { - Log.Warning($"没有加载到目标语言资源 {language}"); - return; - } - - Log.Info($"加载语言成功 {language}"); - - UseLocalizationCSV(assetTextAsset.text, !setCurrent); - if (setCurrent) - { - SetLanguage(language); - } - } - - private string GetLanguageAssetName(string language) - { - return $"{DefaultLocalizationHelper.I2ResAssetNamePrefix}{language}"; + await _localizationManager.LoadLanguage(language, setCurrent, fromInit); } /// - /// 检查并初始化所有语言的Id。 + /// 检查指定语言是否可用。 /// - private void UpdateAllLanguages() - { - this.allLanguage.Clear(); - List allLanguages = LocalizationManager.GetAllLanguages(); - foreach (var language in allLanguages) - { - var newLanguage = Regex.Replace(language, @"[\r\n]", ""); - this.allLanguage.Add(newLanguage); - } - } - - /// - /// 检查是否存在该语言。 - /// - /// 语言。 - /// 是否已加载。 + /// 要检查的语言名称。 + /// 如果语言可用返回true,否则false。 public bool CheckLanguage(string language) { - return allLanguage.Contains(language); + return _localizationManager.CheckLanguage(language); } /// - /// 设置当前语言。 + /// 设置当前语言(通过枚举值)。 /// - /// 语言名称。 - /// 是否加载。 - /// + /// 要设置的语言枚举值。 + /// 是否立即加载语言资源。 + /// 设置是否成功。 public bool SetLanguage(Language language, bool load = false) { - return SetLanguage(DefaultLocalizationHelper.GetLanguageStr(language), load); + return _localizationManager.SetLanguage(language, load); } /// - /// 设置当前语言。 + /// 设置当前语言(通过字符串)。 /// - /// 语言名称。 - /// 是否加载。 - /// + /// 要设置的语言名称。 + /// 是否立即加载语言资源。 + /// 设置是否成功。 public bool SetLanguage(string language, bool load = false) { - if (!CheckLanguage(language)) - { - if (load) - { - LoadLanguage(language, true).Forget(); - return true; - } - - Log.Warning($"当前没有这个语言无法切换到此语言 {language}"); - return false; - } - - if (_currentLanguage == language) - { - return true; - } - - Log.Info($"设置当前语言 = {language}"); - LocalizationManager.CurrentLanguage = language; - _currentLanguage = language; - return true; + return _localizationManager.SetLanguage(language, load); } /// - /// 通过语言的Id设置语言。 + /// 设置当前语言(通过语言ID)。 /// - /// 语言ID。 - /// 是否设置成功。 + /// 要设置的语言ID。 + /// 设置是否成功。 public bool SetLanguage(int languageId) { - if (languageId < 0 || languageId >= allLanguage.Count) - { - Log.Warning($"Error languageIndex. Could not set and check {languageId} Language.Count = {allLanguage.Count}."); - return false; - } - - var language = allLanguage[languageId]; - return SetLanguage(language); - } - - private void UseLocalizationCSV(string text, bool isLocalizeAll = false) - { - _sourceData.Import_CSV(string.Empty, text, eSpreadsheetUpdateMode.Merge, ','); - if (isLocalizeAll) - { - LocalizationManager.LocalizeAll(); - } - - UpdateAllLanguages(); - } - - /// - /// 语言模块加载资源接口。 - /// - /// 资源定位地址。 - /// 资源类型。 - /// 返回资源实例。 - public T LoadFromBundle(string path) where T : Object - { - var assetObject = _resourceModule.LoadAsset(path); - if (assetObject != null) - { - return assetObject; - } - - Log.Error($"Localization could not load {path} assetsType :{typeof(T).Name}."); - return null; + return _localizationManager.SetLanguage(languageId); } } -} \ No newline at end of file +} diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationModule.cs.meta b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationModule.cs.meta index 4a6e0972..415f5ae4 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationModule.cs.meta +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationModule.cs.meta @@ -1,11 +1,3 @@ -fileFormatVersion: 2 -guid: 706e6317a59f61044b2805be79f6b284 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: +fileFormatVersion: 2 +guid: 4a1b4797d76240fea12088db6216553e +timeCreated: 1742227941 \ No newline at end of file diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/DefaultLocalizationHelper.cs b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationUtility.cs similarity index 98% rename from UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/DefaultLocalizationHelper.cs rename to UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationUtility.cs index ba3f0daf..7ab6ff71 100644 --- a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/DefaultLocalizationHelper.cs +++ b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationUtility.cs @@ -6,7 +6,7 @@ namespace TEngine /// /// 默认本地化辅助器。 /// - public class DefaultLocalizationHelper + public class LocalizationUtility { #if UNITY_EDITOR public const string I2GlobalSourcesEditorPath = "Assets/Editor/I2Localization/I2Languages.asset"; @@ -74,7 +74,7 @@ namespace TEngine private static readonly Dictionary s_LanguageMap = new Dictionary(); private static readonly Dictionary s_LanguageStrMap = new Dictionary(); - static DefaultLocalizationHelper() + static LocalizationUtility() { RegisterLanguageMap(Language.English); RegisterLanguageMap(Language.ChineseSimplified, "Chinese"); diff --git a/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/DefaultLocalizationHelper.cs.meta b/UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationUtility.cs.meta similarity index 100% rename from UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/DefaultLocalizationHelper.cs.meta rename to UnityProject/Assets/TEngine/Runtime/Module/LocalizationModule/LocalizationUtility.cs.meta