ChsLocalizer.cs 15 KB

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