本主题包含下列小节:
本地化方法
所有 DevExpress .NET 产品都有可本地化的资源,用于呈现不同对话框、按钮标题、菜单项、确认和错误信息等。 所有这些资源字符串都可以被翻译为不同的语言,或者替换为等价词。
下面的插图展示了一些源自 XtraEditors 库的被本地化为英语和德语的编辑器。
你可以使用两种方法中的一种来本地化控件:-
创建附属资源程序集。
在创建多语言应用程序时,这是标准的方法。
-
使用 Localizer 对象。
如果你正在开发一个单一 culture 的应用程序,并且你想要把资源翻译为适当的语言,或者你只是希望把默认的资源(英语(美国))修改为等价词,那么这种方法是恰当的。
附属资源程序集(Satellite Resource Assemblies)
在开发世界通用的应用程序时,使用附属资源程序集是公共惯例。 要学习更多关于本地化的内容,请参阅 MSDN 中的 本地化应用程序。
对于我们的产品,我们有大量包含了已翻译为不同语言的本地化资源的附属资源程序集。 这些程序集可以从我们的网站免费下载,网址是: 本地化 DevExpress 程序集集合。
要使用附属资源程序集,必须把它们放置在适当的位置,以便于它们可以被公共语言运行时找到。 你可以把它们安装到 GAC(全局程序集缓存)中,或者把它们放置到你的应用程序的子文件夹中。
具体内容以及逐步操作指南,请参阅下列主题:
使用 Localizer 对象
每个 DevExpress 组件都有一个为该组件/库提供本地化字符串的、特定的 Localizer 类 (参阅下面的表格)。 这种本地化处理是简单明了的。 首先,创建相应的 Localizer 类的一个子类,并重写它的 GetLocalizedString 方法。 这个方法应该为特定的字符串资源标识符返回本地化字符串。 其次,要使用这个本地化类,就把它的一个实例指派到它的父 Localizer 类的 Active 静态属性上。
注意 |
---|
重要: 通过 Localizer 类,不是所有的字符串都可以被翻译。 某些组件包含了窗体资源(例如 XtraReports 控件有一个搜索对话框),翻译它们的唯一的途径就是创建附属程序集。 因此,通过资源本地化 是更可取的解决方案。 |
下表列出了 Localizer 类和所有 DevExpress 窗体产品的资源字符串枚举:
产品 | Localizer 类 | 资源字符串枚举 | 命名空间 |
---|---|---|---|
XtraBars | BarLocalizer | BarString | DevExpress.XtraBars.Localization |
XtraCharts | ChartLocalizer | ChartStringId | DevExpress.XtraCharts.Localization |
XtraEditors 库 | Localizer | StringId | DevExpress.XtraEditors.Controls |
XtraGrid | GridLocalizer | GridStringId | DevExpress.XtraGrid.Localization |
XtraLayout | LayoutLocalizer | LayoutStringId | DevExpress.XtraLayout.Localization |
XtraNavBar | NavBarLocalizer | NavBarStringId | DevExpress.XtraNavBar |
XtraPivotGrid | PivotGridLocalizer | PivotGridStringId | DevExpress.XtraPivotGrid.Localization |
XtraPrinting 库 | PreviewLocalizer | PreviewStringId | DevExpress.XtraPrinting.Localization |
XtraReports | ReportLocalizer | ReportStringId | DevExpress.XtraReports.Localization |
XtraScheduler | SchedulerLocalizer | SchedulerStringId | DevExpress.XtraScheduler.Localization |
XtraSpellChecker | SpellCheckerLocalizer | SpellCheckerStringId | DevExpress.XtraSpellChecker.Localization |
XtraTreeList | TreeListLocalizer | TreeListStringId | DevExpress.XtraTreeList.Localization |
XtraVerticalGrid | VGridLocalizer | VGridStringId | DevExpress.XtraVerticalGrid.Localization |
具体内容以及逐步操作指南,请参阅下列主题: