ChsLocalizer.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. using DevExpress.XtraBars.Docking2010;
  2. using DevExpress.XtraBars.Localization;
  3. using DevExpress.XtraEditors;
  4. using DevExpress.XtraEditors.Controls;
  5. using DevExpress.XtraGrid.Localization;
  6. using DevExpress.XtraLayout.Localization;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. public static class ChsLocalizer
  13. {
  14. /// <summary>
  15. /// UI控件本地化
  16. /// </summary>
  17. public static void UseChs()
  18. {
  19. //GridControl
  20. GridLocalizer.Active = new ChsGridLocalizer();
  21. //Bar
  22. BarLocalizer.Active = new ChsBarLocalizer();
  23. //DocumentManager
  24. DocumentManagerLocalizer.Active = new ChsDocumentManagerLocalizer();
  25. //LayoutControl
  26. LayoutLocalizer.Active = new ChsLayoutLocalizer();
  27. //Control
  28. Localizer.Active = new ChsControlLocalizer();
  29. }
  30. }
  31. class ChsControlLocalizer : Localizer
  32. {
  33. public override string GetLocalizedString(StringId id)
  34. {
  35. switch (id)
  36. {
  37. case StringId.TextEditMenuUndo:
  38. return "撤销";
  39. case StringId.TextEditMenuCut:
  40. return "剪切";
  41. case StringId.TextEditMenuCopy:
  42. return "复制";
  43. case StringId.TextEditMenuPaste:
  44. return "粘贴";
  45. case StringId.TextEditMenuDelete:
  46. return "删除";
  47. case StringId.TextEditMenuSelectAll:
  48. return "全选";
  49. case StringId.XtraMessageBoxYesButtonText:
  50. return "是";
  51. case StringId.XtraMessageBoxNoButtonText:
  52. return "否";
  53. case StringId.XtraMessageBoxOkButtonText:
  54. return "确定";
  55. case StringId.XtraMessageBoxCancelButtonText:
  56. return "取消";
  57. case StringId.XtraMessageBoxRetryButtonText:
  58. return "重试";
  59. case StringId.NavigatorTextStringFormat:
  60. return "Record {0} of {1}";
  61. case StringId.SearchControlNullValuePrompt:
  62. return "输入搜索文本...";
  63. case StringId.TabHeaderButtonClose:
  64. return "关闭选项卡";
  65. }
  66. var res = base.GetLocalizedString(id);
  67. return res;
  68. }
  69. }
  70. class ChsGridLocalizer : GridLocalizer
  71. {
  72. public override string GetLocalizedString(GridStringId id)
  73. {
  74. switch (id)
  75. {
  76. case GridStringId.MenuColumnSortAscending:
  77. return "升序排列";
  78. case GridStringId.MenuColumnSortDescending:
  79. return "降序排列";
  80. case GridStringId.MenuColumnUnGroup:
  81. return "取消分组";
  82. case GridStringId.MenuColumnGroup:
  83. return "分组";
  84. case GridStringId.MenuGroupPanelShow:
  85. return "显示分组面板";
  86. case GridStringId.MenuGroupPanelHide:
  87. return "隐藏分组面板";
  88. case GridStringId.MenuColumnRemoveColumn:
  89. return "移除列";
  90. case GridStringId.MenuColumnColumnCustomization:
  91. return "列选择";
  92. case GridStringId.MenuColumnBestFit:
  93. return "最佳匹配";
  94. case GridStringId.MenuColumnBestFitAllColumns:
  95. return "最佳匹配(所有列)";
  96. case GridStringId.MenuColumnFilterEditor:
  97. return "自定义筛选";
  98. case GridStringId.MenuColumnFindFilterShow:
  99. return "显示搜索面板";
  100. case GridStringId.MenuColumnFindFilterHide:
  101. return "隐藏搜索面板";
  102. case GridStringId.MenuColumnAutoFilterRowShow:
  103. return "显示自动过滤";
  104. case GridStringId.MenuColumnAutoFilterRowHide:
  105. return "隐藏自动过滤";
  106. case GridStringId.FindNullPrompt:
  107. return "输入搜索文本...";
  108. case GridStringId.FindControlFindButton:
  109. return "搜索";
  110. case GridStringId.FindControlClearButton:
  111. return "清除";
  112. case GridStringId.FindControlNextButton:
  113. return "下一项";
  114. case GridStringId.FindControlPrevButton:
  115. return "上一项";
  116. case GridStringId.CustomizationCaption:
  117. return "自定义";
  118. case GridStringId.CustomizationFormColumnHint:
  119. return "拖拽列到此处以自定义布局";
  120. case GridStringId.GridGroupPanelText:
  121. return "拖拽列到此处以分组";
  122. case GridStringId.MenuColumnShowColumn:
  123. return "显示此列";
  124. case GridStringId.MenuColumnClearSorting:
  125. return "清除排序";
  126. case GridStringId.MenuColumnClearAllSorting:
  127. return "清除所有排序";
  128. case GridStringId.FilterPanelCustomizeButton:
  129. return "自定义";
  130. case GridStringId.FilterBuilderOkButton:
  131. return "确定";
  132. case GridStringId.FilterBuilderCancelButton:
  133. return "取消";
  134. case GridStringId.FilterBuilderApplyButton:
  135. return "应用";
  136. case GridStringId.MenuGroupPanelFullExpand:
  137. return "全部展开";
  138. case GridStringId.MenuGroupPanelFullCollapse:
  139. return "全部折叠";
  140. case GridStringId.MenuGroupPanelClearGrouping:
  141. return "清除分组";
  142. case GridStringId.FilterBuilderCaption:
  143. return "筛选条件";
  144. case GridStringId.MenuColumnClearFilter:
  145. return "取消过滤";
  146. }
  147. var res = base.GetLocalizedString(id);
  148. return res;
  149. }
  150. }
  151. class ChsBarLocalizer : BarLocalizer
  152. {
  153. public override string GetLocalizedString(BarString id)
  154. {
  155. switch (id)
  156. {
  157. case BarString.CloseButton:
  158. return "关闭";
  159. case BarString.RibbonToolbarAdd:
  160. return "添加快速访问工具栏";
  161. case BarString.RibbonToolbarRemove:
  162. return "移除快速访问工具栏";
  163. case BarString.RibbonToolbarMinimizeRibbon:
  164. return "最小化功能区";
  165. case BarString.CollapseRibbonSuperTipHeader:
  166. return "最小化任务栏(Ctrl+F1)";
  167. case BarString.CollapseRibbonSuperTipText:
  168. return "在任务栏中只显示标签名";
  169. case BarString.CustomizeToolbarText:
  170. return "自定义工具栏";
  171. case BarString.ExpandRibbonSuperTipHeader:
  172. return "展开任务栏(Ctrl+F1)";
  173. case BarString.ExpandRibbonSuperTipText:
  174. return "始终展开任务栏";
  175. case BarString.RestoreButton:
  176. return "还原";
  177. case BarString.MinimizeButton:
  178. return "最小化";
  179. case BarString.CustomizeButton:
  180. return "自定义";
  181. case BarString.ToolbarNameCaption:
  182. return "工具栏";
  183. }
  184. var res = base.GetLocalizedString(id);
  185. return res;
  186. }
  187. }
  188. class ChsDocumentManagerLocalizer : DevExpress.XtraBars.Docking2010.DocumentManagerLocalizer
  189. {
  190. public override string GetLocalizedString(DocumentManagerStringId id)
  191. {
  192. switch (id)
  193. {
  194. case DocumentManagerStringId.CommandCloseAll:
  195. return "关闭所有文档";
  196. case DocumentManagerStringId.CommandOpenedWindowsDialog:
  197. return "窗体...";
  198. case DocumentManagerStringId.ActivateDocumentButtonText:
  199. return "激活";
  200. case DocumentManagerStringId.CloseDocumentButtonText:
  201. return "关闭窗体";
  202. case DocumentManagerStringId.CloseAllDocumentsButtonText:
  203. return "关闭所有";
  204. case DocumentManagerStringId.OpenedWindowsDialogNameColumnCaption:
  205. return "名称";
  206. case DocumentManagerStringId.OpenedWindowsDialogPathColumnCaption:
  207. return "路径";
  208. case DocumentManagerStringId.OpenedWindowsDialogCaption:
  209. return "窗口";
  210. case DocumentManagerStringId.CloseAllDocumentsWarningMessage:
  211. return "确定关闭所有文档";
  212. case DocumentManagerStringId.CloseDocumentWarningMessage:
  213. return "确定关闭文档[{0}]?";
  214. }
  215. var res = base.GetLocalizedString(id);
  216. return res;
  217. }
  218. }
  219. class ChsLayoutLocalizer : LayoutLocalizer
  220. {
  221. public override string GetLocalizedString(LayoutStringId id)
  222. {
  223. switch (id)
  224. {
  225. case LayoutStringId.AddItem:
  226. return "添加项";
  227. case LayoutStringId.ShowCustomizationFormMenuText:
  228. return "定制面板";
  229. case LayoutStringId.UndoHintCaption:
  230. return "撤销(Ctrl+Z)";
  231. case LayoutStringId.RedoHintCaption:
  232. return "重复(Ctrl+Y)";
  233. case LayoutStringId.SaveHintCaption:
  234. return "保存(Ctrl+S)";
  235. case LayoutStringId.LoadHintCaption:
  236. return "加载(Ctrl+O)";
  237. case LayoutStringId.UndoButtonHintText:
  238. return "撤销上次操作";
  239. case LayoutStringId.RedoButtonHintText:
  240. return "重复上次操作";
  241. case LayoutStringId.SaveButtonHintText:
  242. return "将布局信息保存在xml文件中";
  243. case LayoutStringId.LoadButtonHintText:
  244. return "从xml文件中加载布局信息";
  245. case LayoutStringId.CustomizationFormTitle:
  246. return "自定义";
  247. case LayoutStringId.ControlGroupDefaultText:
  248. return "分组";
  249. case LayoutStringId.TreeViewPageTitle:
  250. return "树状视图";
  251. case LayoutStringId.HiddenItemsPageTitle:
  252. return "隐藏条目";
  253. case LayoutStringId.EmptySpaceItemDefaultText:
  254. return "空白区域项目";
  255. case LayoutStringId.HiddenItemsNodeText:
  256. return "隐藏数据项";
  257. case LayoutStringId.SimpleLabelItemDefaultText:
  258. return "标签";
  259. case LayoutStringId.SimpleSeparatorItemDefaultText:
  260. return "分隔符";
  261. case LayoutStringId.SplitterItemDefaultText:
  262. return "拆分器";
  263. case LayoutStringId.HideCustomizationFormMenuText:
  264. return "隐藏布局面板";
  265. case LayoutStringId.BestFitMenuText:
  266. return "最佳匹配";
  267. case LayoutStringId.LockMenuGroup:
  268. return "强制限定大小";
  269. case LayoutStringId.ResetConstraintsToDefaultsMenuItem:
  270. return "重置";
  271. case LayoutStringId.FreeSizingMenuItem:
  272. return "允许改变大小";
  273. case LayoutStringId.LockSizeMenuItem:
  274. return "锁定大小";
  275. case LayoutStringId.LockWidthMenuItem:
  276. return "锁定宽度";
  277. case LayoutStringId.LockHeightMenuItem:
  278. return "锁定高度";
  279. case LayoutStringId.RenameMenuText:
  280. return "重命名";
  281. case LayoutStringId.ShowTextMenuItem:
  282. return "显示文本";
  283. case LayoutStringId.HideTextMenuItem:
  284. return "隐藏文本";
  285. case LayoutStringId.TextPositionMenuText:
  286. return "文本位置";
  287. case LayoutStringId.TextPositionTopMenuText:
  288. return "上方";
  289. case LayoutStringId.TextPositionBottomMenuText:
  290. return "下方";
  291. case LayoutStringId.TextPositionLeftMenuText:
  292. return "左边";
  293. case LayoutStringId.TextPositionRightMenuText:
  294. return "右边";
  295. case LayoutStringId.HideItemMenutext:
  296. return "隐藏条目";
  297. case LayoutStringId.GroupItemsMenuText:
  298. return "分组";
  299. case LayoutStringId.CreateTabbedGroupMenuText:
  300. return "创建群组标签页";
  301. case LayoutStringId.CreateEmptySpaceItem:
  302. return "创建空白区域项";
  303. case LayoutStringId.UnGroupItemsMenuText:
  304. return "取消分组";
  305. case LayoutStringId.ConvertToText:
  306. return "转换为";
  307. case LayoutStringId.FlowLayoutText:
  308. return "流式布局";
  309. case LayoutStringId.RegularLayoutText:
  310. return "常规布局";
  311. case LayoutStringId.TableLayoutText:
  312. return "表格布局";
  313. case LayoutStringId.GroupStyleMenuText:
  314. return "分组样式";
  315. case LayoutStringId.UnGroupTabbedGroupMenuText:
  316. return "解除分组标签页";
  317. case LayoutStringId.AddTabMenuText:
  318. return "添加标签页";
  319. }
  320. var res = base.GetLocalizedString(id);
  321. return res;
  322. }
  323. }