ILocalizationManager.cs 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 Jiang Yin. All rights reserved.
  4. // Homepage: https://gameframework.cn/
  5. // Feedback: mailto:ellan@gameframework.cn
  6. //------------------------------------------------------------
  7. using GameFramework.Resource;
  8. namespace GameFramework.Localization
  9. {
  10. /// <summary>
  11. /// 本地化管理器接口。
  12. /// </summary>
  13. public interface ILocalizationManager : IDataProvider<ILocalizationManager>
  14. {
  15. /// <summary>
  16. /// 获取或设置本地化语言。
  17. /// </summary>
  18. Language Language
  19. {
  20. get;
  21. set;
  22. }
  23. /// <summary>
  24. /// 获取系统语言。
  25. /// </summary>
  26. Language SystemLanguage
  27. {
  28. get;
  29. }
  30. /// <summary>
  31. /// 获取字典数量。
  32. /// </summary>
  33. int DictionaryCount
  34. {
  35. get;
  36. }
  37. /// <summary>
  38. /// 获取缓冲二进制流的大小。
  39. /// </summary>
  40. int CachedBytesSize
  41. {
  42. get;
  43. }
  44. /// <summary>
  45. /// 设置资源管理器。
  46. /// </summary>
  47. /// <param name="resourceManager">资源管理器。</param>
  48. void SetResourceManager(IResourceManager resourceManager);
  49. /// <summary>
  50. /// 设置本地化数据提供者辅助器。
  51. /// </summary>
  52. /// <param name="dataProviderHelper">本地化数据提供者辅助器。</param>
  53. void SetDataProviderHelper(IDataProviderHelper<ILocalizationManager> dataProviderHelper);
  54. /// <summary>
  55. /// 设置本地化辅助器。
  56. /// </summary>
  57. /// <param name="localizationHelper">本地化辅助器。</param>
  58. void SetLocalizationHelper(ILocalizationHelper localizationHelper);
  59. /// <summary>
  60. /// 确保二进制流缓存分配足够大小的内存并缓存。
  61. /// </summary>
  62. /// <param name="ensureSize">要确保二进制流缓存分配内存的大小。</param>
  63. void EnsureCachedBytesSize(int ensureSize);
  64. /// <summary>
  65. /// 释放缓存的二进制流。
  66. /// </summary>
  67. void FreeCachedBytes();
  68. /// <summary>
  69. /// 根据字典主键获取字典内容字符串。
  70. /// </summary>
  71. /// <param name="key">字典主键。</param>
  72. /// <returns>要获取的字典内容字符串。</returns>
  73. string GetString(string key);
  74. /// <summary>
  75. /// 根据字典主键获取字典内容字符串。
  76. /// </summary>
  77. /// <param name="key">字典主键。</param>
  78. /// <param name="arg0">字典参数 0。</param>
  79. /// <returns>要获取的字典内容字符串。</returns>
  80. string GetString(string key, object arg0);
  81. /// <summary>
  82. /// 根据字典主键获取字典内容字符串。
  83. /// </summary>
  84. /// <param name="key">字典主键。</param>
  85. /// <param name="arg0">字典参数 0。</param>
  86. /// <param name="arg1">字典参数 1。</param>
  87. /// <returns>要获取的字典内容字符串。</returns>
  88. string GetString(string key, object arg0, object arg1);
  89. /// <summary>
  90. /// 根据字典主键获取字典内容字符串。
  91. /// </summary>
  92. /// <param name="key">字典主键。</param>
  93. /// <param name="arg0">字典参数 0。</param>
  94. /// <param name="arg1">字典参数 1。</param>
  95. /// <param name="arg2">字典参数 2。</param>
  96. /// <returns>要获取的字典内容字符串。</returns>
  97. string GetString(string key, object arg0, object arg1, object arg2);
  98. /// <summary>
  99. /// 根据字典主键获取字典内容字符串。
  100. /// </summary>
  101. /// <param name="key">字典主键。</param>
  102. /// <param name="args">字典参数。</param>
  103. /// <returns>要获取的字典内容字符串。</returns>
  104. string GetString(string key, params object[] args);
  105. /// <summary>
  106. /// 是否存在字典。
  107. /// </summary>
  108. /// <param name="key">字典主键。</param>
  109. /// <returns>是否存在字典。</returns>
  110. bool HasRawString(string key);
  111. /// <summary>
  112. /// 根据字典主键获取字典值。
  113. /// </summary>
  114. /// <param name="key">字典主键。</param>
  115. /// <returns>字典值。</returns>
  116. string GetRawString(string key);
  117. /// <summary>
  118. /// 增加字典。
  119. /// </summary>
  120. /// <param name="key">字典主键。</param>
  121. /// <param name="value">字典内容。</param>
  122. /// <returns>是否增加字典成功。</returns>
  123. bool AddRawString(string key, string value);
  124. /// <summary>
  125. /// 移除字典。
  126. /// </summary>
  127. /// <param name="key">字典主键。</param>
  128. /// <returns>是否移除字典成功。</returns>
  129. bool RemoveRawString(string key);
  130. /// <summary>
  131. /// 清空所有字典。
  132. /// </summary>
  133. void RemoveAllRawStrings();
  134. }
  135. }