This commit is contained in:
CortexCore
2025-07-11 11:45:45 +08:00
parent fc189b98cc
commit ecae0f809c
76 changed files with 237471 additions and 33136 deletions

View File

@@ -23,6 +23,10 @@ namespace Net.BITKit.Localization
/// </summary>
public event Func<string,string,UniTask> OnLanguageChangeAsync;
/// <summary>
/// 请求本地化Object
/// </summary>
public event Func<string,object,UniTask<bool>> OnLocalizeAsync;
/// <summary>
/// 语言更改完成回调,UI和World执行更新
/// </summary>
public event Action<string,string> OnLanguageChanged;
@@ -34,6 +38,7 @@ namespace Net.BITKit.Localization
/// <returns></returns>
public string GetLocalizedString(string key,string language=null);
public UniTask ChangeLanguageAsync(string newLanguage);
public UniTask LocalizeAsync(object obj);
public IDictionary<string, IDictionary<string, string>> LocalizedStrings { get; }
}
@@ -45,10 +50,21 @@ namespace Net.BITKit.Localization
public string CurrentLanguage { get; private set; }
public event Func<string, string, UniTask> OnLanguageChangeAsync;
public event Func<string, object, UniTask<bool>> OnLocalizeAsync;
public event Action<string, string> OnLanguageChanged;
private readonly ILogger<LocalizationService> _logger;
public async UniTask LocalizeAsync(object obj)
{
foreach (var func in OnLocalizeAsync.CastAsFunc())
{
if (await func.Invoke(CurrentLanguage, obj))
{
return;
}
}
}
public IDictionary<string, IDictionary<string, string>> LocalizedStrings { get; } =
new Dictionary<string, IDictionary<string, string>>();