ChsLocalizer.cs 16 KB

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