2025-04-21 21:14:23 +08:00

60 lines
2.0 KiB
C#

using Cysharp.Threading.Tasks;
namespace TEngine
{
public interface ILocalizationModule
{
/// <summary>
/// 获取或设置本地化语言。
/// </summary>
public Language Language { get; set; }
/// <summary>
/// 获取系统语言。
/// </summary>
public Language SystemLanguage {get;}
/// <summary>
/// 加载语言总表。
/// </summary>
public UniTask LoadLanguageTotalAsset(string assetName);
/// <summary>
/// 加载语言分表。
/// </summary>
/// <param name="language">语言类型。</param>
/// <param name="setCurrent">是否立刻设置成当前语言。</param>
/// <param name="fromInit">是否初始化Inner语言。</param>
public UniTask LoadLanguage(string language, bool setCurrent = false, bool fromInit = false);
/// <summary>
/// 检查是否存在该语言。
/// </summary>
/// <param name="language">语言。</param>
/// <returns>是否已加载。</returns>
public bool CheckLanguage(string language);
/// <summary>
/// 设置当前语言。
/// </summary>
/// <param name="language">语言名称。</param>
/// <param name="load">是否加载。</param>
/// <returns></returns>
public bool SetLanguage(Language language, bool load = false);
/// <summary>
/// 设置当前语言。
/// </summary>
/// <param name="language">语言名称。</param>
/// <param name="load">是否加载。</param>
/// <returns></returns>
public bool SetLanguage(string language, bool load = false);
/// <summary>
/// 通过语言的Id设置语言。
/// </summary>
/// <param name="languageId">语言ID。</param>
/// <returns>是否设置成功。</returns>
public bool SetLanguage(int languageId);
}
}