//------------------------------------------------------------
// Game Framework
// Copyright © 2013-2021 Jiang Yin. All rights reserved.
// Homepage: https://gameframework.cn/
// Feedback: mailto:ellan@gameframework.cn
//------------------------------------------------------------
using GameFramework.Resource;
namespace GameFramework.Localization
{
///
/// 本地化管理器接口。
///
public interface ILocalizationManager : IDataProvider
{
///
/// 获取或设置本地化语言。
///
Language Language
{
get;
set;
}
///
/// 获取系统语言。
///
Language SystemLanguage
{
get;
}
///
/// 获取字典数量。
///
int DictionaryCount
{
get;
}
///
/// 获取缓冲二进制流的大小。
///
int CachedBytesSize
{
get;
}
///
/// 设置资源管理器。
///
/// 资源管理器。
void SetResourceManager(IResourceManager resourceManager);
///
/// 设置本地化数据提供者辅助器。
///
/// 本地化数据提供者辅助器。
void SetDataProviderHelper(IDataProviderHelper dataProviderHelper);
///
/// 设置本地化辅助器。
///
/// 本地化辅助器。
void SetLocalizationHelper(ILocalizationHelper localizationHelper);
///
/// 确保二进制流缓存分配足够大小的内存并缓存。
///
/// 要确保二进制流缓存分配内存的大小。
void EnsureCachedBytesSize(int ensureSize);
///
/// 释放缓存的二进制流。
///
void FreeCachedBytes();
///
/// 根据字典主键获取字典内容字符串。
///
/// 字典主键。
/// 要获取的字典内容字符串。
string GetString(string key);
///
/// 根据字典主键获取字典内容字符串。
///
/// 字典主键。
/// 字典参数 0。
/// 要获取的字典内容字符串。
string GetString(string key, object arg0);
///
/// 根据字典主键获取字典内容字符串。
///
/// 字典主键。
/// 字典参数 0。
/// 字典参数 1。
/// 要获取的字典内容字符串。
string GetString(string key, object arg0, object arg1);
///
/// 根据字典主键获取字典内容字符串。
///
/// 字典主键。
/// 字典参数 0。
/// 字典参数 1。
/// 字典参数 2。
/// 要获取的字典内容字符串。
string GetString(string key, object arg0, object arg1, object arg2);
///
/// 根据字典主键获取字典内容字符串。
///
/// 字典主键。
/// 字典参数。
/// 要获取的字典内容字符串。
string GetString(string key, params object[] args);
///
/// 是否存在字典。
///
/// 字典主键。
/// 是否存在字典。
bool HasRawString(string key);
///
/// 根据字典主键获取字典值。
///
/// 字典主键。
/// 字典值。
string GetRawString(string key);
///
/// 增加字典。
///
/// 字典主键。
/// 字典内容。
/// 是否增加字典成功。
bool AddRawString(string key, string value);
///
/// 移除字典。
///
/// 字典主键。
/// 是否移除字典成功。
bool RemoveRawString(string key);
///
/// 清空所有字典。
///
void RemoveAllRawStrings();
}
}