ChsLocalizer.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362
  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 DW5S
  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. case StringId.NavigatorNextPageButtonHint:
  85. return "下一页";
  86. case StringId.NavigatorPreviousPageButtonHint:
  87. return "上一页";
  88. case StringId.NavigatorLastButtonHint:
  89. return "尾页";
  90. case StringId.NavigatorFirstButtonHint:
  91. return "首页";
  92. }
  93. var res = base.GetLocalizedString(id);
  94. return res;
  95. }
  96. }
  97. class ChsGridLocalizer : GridLocalizer
  98. {
  99. public override string GetLocalizedString(GridStringId id)
  100. {
  101. switch (id)
  102. {
  103. case GridStringId.MenuColumnSortAscending:
  104. return "升序排列";
  105. case GridStringId.MenuColumnSortDescending:
  106. return "降序排列";
  107. case GridStringId.MenuColumnUnGroup:
  108. return "取消分组";
  109. case GridStringId.MenuColumnGroup:
  110. return "分组";
  111. case GridStringId.MenuGroupPanelShow:
  112. return "显示分组面板";
  113. case GridStringId.MenuGroupPanelHide:
  114. return "隐藏分组面板";
  115. case GridStringId.MenuColumnRemoveColumn:
  116. return "移除列";
  117. case GridStringId.MenuColumnColumnCustomization:
  118. return "列选择";
  119. case GridStringId.MenuColumnBestFit:
  120. return "最佳匹配";
  121. case GridStringId.MenuColumnBestFitAllColumns:
  122. return "最佳匹配(所有列)";
  123. case GridStringId.MenuColumnFilterEditor:
  124. return "自定义筛选";
  125. case GridStringId.MenuColumnFindFilterShow:
  126. return "显示搜索面板";
  127. case GridStringId.MenuColumnFindFilterHide:
  128. return "隐藏搜索面板";
  129. case GridStringId.MenuColumnAutoFilterRowShow:
  130. return "显示自动过滤";
  131. case GridStringId.MenuColumnAutoFilterRowHide:
  132. return "隐藏自动过滤";
  133. case GridStringId.FindNullPrompt:
  134. return "输入搜索文本...";
  135. case GridStringId.FindControlFindButton:
  136. return "搜索";
  137. case GridStringId.FindControlClearButton:
  138. return "清除";
  139. case GridStringId.FindControlNextButton:
  140. return "下一项";
  141. case GridStringId.FindControlPrevButton:
  142. return "上一项";
  143. case GridStringId.CustomizationCaption:
  144. return "自定义";
  145. case GridStringId.CustomizationFormColumnHint:
  146. return "拖拽列到此处以自定义布局";
  147. case GridStringId.GridGroupPanelText:
  148. return "拖拽列到此处以分组";
  149. case GridStringId.MenuColumnShowColumn:
  150. return "显示此列";
  151. case GridStringId.MenuColumnClearSorting:
  152. return "清除排序";
  153. case GridStringId.MenuColumnClearAllSorting:
  154. return "清除所有排序";
  155. case GridStringId.FilterPanelCustomizeButton:
  156. return "自定义";
  157. case GridStringId.FilterBuilderOkButton:
  158. return "确定";
  159. case GridStringId.FilterBuilderCancelButton:
  160. return "取消";
  161. case GridStringId.FilterBuilderApplyButton:
  162. return "应用";
  163. case GridStringId.MenuGroupPanelFullExpand:
  164. return "全部展开";
  165. case GridStringId.MenuGroupPanelFullCollapse:
  166. return "全部折叠";
  167. case GridStringId.MenuGroupPanelClearGrouping:
  168. return "清除分组";
  169. case GridStringId.FilterBuilderCaption:
  170. return "筛选条件";
  171. case GridStringId.MenuColumnClearFilter:
  172. return "取消过滤";
  173. }
  174. var res = base.GetLocalizedString(id);
  175. return res;
  176. }
  177. }
  178. class ChsBarLocalizer : BarLocalizer
  179. {
  180. public override string GetLocalizedString(BarString id)
  181. {
  182. switch (id)
  183. {
  184. case BarString.CloseButton:
  185. return "关闭";
  186. case BarString.RibbonToolbarAdd:
  187. return "添加快速访问工具栏";
  188. case BarString.RibbonToolbarRemove:
  189. return "移除快速访问工具栏";
  190. case BarString.RibbonToolbarMinimizeRibbon:
  191. return "最小化功能区";
  192. case BarString.CollapseRibbonSuperTipHeader:
  193. return "最小化任务栏(Ctrl+F1)";
  194. case BarString.CollapseRibbonSuperTipText:
  195. return "在任务栏中只显示标签名";
  196. case BarString.CustomizeToolbarText:
  197. return "自定义工具栏";
  198. case BarString.ExpandRibbonSuperTipHeader:
  199. return "展开任务栏(Ctrl+F1)";
  200. case BarString.ExpandRibbonSuperTipText:
  201. return "始终展开任务栏";
  202. case BarString.RestoreButton:
  203. return "还原";
  204. case BarString.MinimizeButton:
  205. return "最小化";
  206. case BarString.CustomizeButton:
  207. return "自定义";
  208. case BarString.ToolbarNameCaption:
  209. return "工具栏";
  210. }
  211. var res = base.GetLocalizedString(id);
  212. return res;
  213. }
  214. }
  215. class ChsDocumentManagerLocalizer : DevExpress.XtraBars.Docking2010.DocumentManagerLocalizer
  216. {
  217. public override string GetLocalizedString(DocumentManagerStringId id)
  218. {
  219. switch (id)
  220. {
  221. case DocumentManagerStringId.CommandCloseAll:
  222. return "关闭所有文档";
  223. case DocumentManagerStringId.CommandOpenedWindowsDialog:
  224. return "窗体...";
  225. case DocumentManagerStringId.ActivateDocumentButtonText:
  226. return "激活";
  227. case DocumentManagerStringId.CloseDocumentButtonText:
  228. return "关闭窗体";
  229. case DocumentManagerStringId.CloseAllDocumentsButtonText:
  230. return "关闭所有";
  231. case DocumentManagerStringId.OpenedWindowsDialogNameColumnCaption:
  232. return "名称";
  233. case DocumentManagerStringId.OpenedWindowsDialogPathColumnCaption:
  234. return "路径";
  235. case DocumentManagerStringId.OpenedWindowsDialogCaption:
  236. return "窗口";
  237. case DocumentManagerStringId.CloseAllDocumentsWarningMessage:
  238. return "确定关闭所有文档";
  239. case DocumentManagerStringId.CloseDocumentWarningMessage:
  240. return "确定关闭文档[{0}]?";
  241. }
  242. var res = base.GetLocalizedString(id);
  243. return res;
  244. }
  245. }
  246. class ChsLayoutLocalizer : LayoutLocalizer
  247. {
  248. public override string GetLocalizedString(LayoutStringId id)
  249. {
  250. switch (id)
  251. {
  252. case LayoutStringId.AddItem:
  253. return "添加项";
  254. case LayoutStringId.ShowCustomizationFormMenuText:
  255. return "定制面板";
  256. case LayoutStringId.UndoHintCaption:
  257. return "撤销(Ctrl+Z)";
  258. case LayoutStringId.RedoHintCaption:
  259. return "重复(Ctrl+Y)";
  260. case LayoutStringId.SaveHintCaption:
  261. return "保存(Ctrl+S)";
  262. case LayoutStringId.LoadHintCaption:
  263. return "加载(Ctrl+O)";
  264. case LayoutStringId.UndoButtonHintText:
  265. return "撤销上次操作";
  266. case LayoutStringId.RedoButtonHintText:
  267. return "重复上次操作";
  268. case LayoutStringId.SaveButtonHintText:
  269. return "将布局信息保存在xml文件中";
  270. case LayoutStringId.LoadButtonHintText:
  271. return "从xml文件中加载布局信息";
  272. case LayoutStringId.CustomizationFormTitle:
  273. return "自定义";
  274. case LayoutStringId.ControlGroupDefaultText:
  275. return "分组";
  276. case LayoutStringId.TreeViewPageTitle:
  277. return "树状视图";
  278. case LayoutStringId.HiddenItemsPageTitle:
  279. return "隐藏条目";
  280. case LayoutStringId.EmptySpaceItemDefaultText:
  281. return "空白区域项目";
  282. case LayoutStringId.HiddenItemsNodeText:
  283. return "隐藏数据项";
  284. case LayoutStringId.SimpleLabelItemDefaultText:
  285. return "标签";
  286. case LayoutStringId.SimpleSeparatorItemDefaultText:
  287. return "分隔符";
  288. case LayoutStringId.SplitterItemDefaultText:
  289. return "拆分器";
  290. case LayoutStringId.HideCustomizationFormMenuText:
  291. return "隐藏布局面板";
  292. case LayoutStringId.BestFitMenuText:
  293. return "最佳匹配";
  294. case LayoutStringId.LockMenuGroup:
  295. return "强制限定大小";
  296. case LayoutStringId.ResetConstraintsToDefaultsMenuItem:
  297. return "重置";
  298. case LayoutStringId.FreeSizingMenuItem:
  299. return "允许改变大小";
  300. case LayoutStringId.LockSizeMenuItem:
  301. return "锁定大小";
  302. case LayoutStringId.LockWidthMenuItem:
  303. return "锁定宽度";
  304. case LayoutStringId.LockHeightMenuItem:
  305. return "锁定高度";
  306. case LayoutStringId.RenameMenuText:
  307. return "重命名";
  308. case LayoutStringId.ShowTextMenuItem:
  309. return "显示文本";
  310. case LayoutStringId.HideTextMenuItem:
  311. return "隐藏文本";
  312. case LayoutStringId.TextPositionMenuText:
  313. return "文本位置";
  314. case LayoutStringId.TextPositionTopMenuText:
  315. return "上方";
  316. case LayoutStringId.TextPositionBottomMenuText:
  317. return "下方";
  318. case LayoutStringId.TextPositionLeftMenuText:
  319. return "左边";
  320. case LayoutStringId.TextPositionRightMenuText:
  321. return "右边";
  322. case LayoutStringId.HideItemMenutext:
  323. return "隐藏条目";
  324. case LayoutStringId.GroupItemsMenuText:
  325. return "分组";
  326. case LayoutStringId.CreateTabbedGroupMenuText:
  327. return "创建群组标签页";
  328. case LayoutStringId.CreateEmptySpaceItem:
  329. return "创建空白区域项";
  330. case LayoutStringId.UnGroupItemsMenuText:
  331. return "取消分组";
  332. case LayoutStringId.ConvertToText:
  333. return "转换为";
  334. case LayoutStringId.FlowLayoutText:
  335. return "流式布局";
  336. case LayoutStringId.RegularLayoutText:
  337. return "常规布局";
  338. case LayoutStringId.TableLayoutText:
  339. return "表格布局";
  340. case LayoutStringId.GroupStyleMenuText:
  341. return "分组样式";
  342. case LayoutStringId.UnGroupTabbedGroupMenuText:
  343. return "解除分组标签页";
  344. case LayoutStringId.AddTabMenuText:
  345. return "添加标签页";
  346. }
  347. var res = base.GetLocalizedString(id);
  348. return res;
  349. }
  350. }
  351. }