当前位置: 首页 > news >正文

界面组件DevExpress中文教程 - 如何使用UI本地化客户端工具本地化应用

DevExpress拥有.NET开发需要的所有平台控件,包含600多个UI控件、报表平台、DevExpress Dashboard eXpressApp 框架、适用于 Visual Studio的CodeRush等一系列辅助工具。

在2023年12月(v23.2),DevExpress官方发布了一个新的UI Localization Client(UI本地化客户端)工具,旨在简化基于Blazor、WinForms、WPF和ASP. NET的DevExpress应用程序。

DevExpress新旧版本帮助文档下载 可进QQ qun获取:169725316

UI本地化客户端允许您在应用程序/网站中定位未翻译的资源字符串,翻译它们,自动生成本地化资源,并预览结果。

UI本地化客户端解决的挑战

DevExpress Localization Service(本地化服务)允许您下载由DevExpress开发者社区生成的本地化资源,这简化了本地化过程,但社区来源的本地化资源可能不完整。

如果您使用过Localization Service,就会知道在应用程序中查找未翻译的资源字符串是很困难的(本地化服务不知道您的应用程序中使用了什么资源字符串)。一旦找到了未翻译的字符串,我们当前的本地化服务要求您使用本地化服务本身修改字符串,构建和下载附属组件,并在您的项目中重用它们。

正如您将在下面看到的,新UI本地化客户端消除了这些常规和耗时的步骤/任务。

新的UI本地化客户端是如何工作的?

UI Localization Client(UI本地化客户端)附加到您的应用程序,只加载那些在应用程序/网站中使用的DevExpress资源字符串(当它们在运行时出现在UI中时)。您可以定位未翻译(或错误翻译的资源字符串),随时翻译它们,自动生成所需的RESX文件,自动将它们添加到项目中,并预览结果。

特点
Visual Studio集成

从Visual Studio菜单中运行UI本地化客户端:

自动检测未翻译的资源字符串

使用此选项,您可以在应用程序中出现未翻译的资源字符串时找到它们,UI Localization Client(UI本地化客户端)在加载未翻译的字符串时识别它们。

您所需做的就是在应用程序启动时激活源跟踪:

// Do not remove the following line when using the UI Localization Client. DevExpress.Utils.Localization.XtraLocalizer.EnableTraceSource();

UI Localization Client(本地化客户端)尝试自动获取应用程序名称,但在某些应用程序(例如Web项目)中可能无法做到这一点。您应该显式地将应用程序的唯一名称指定为EnableTraceSource方法的参数,否则UI Localization Client将不会连接到应用程序。

XtraLocalizer.EnableTraceSource(applicationName: "MyApp");
自动生成本地化资源

UI Localization Client(本地化客户端)自动生成带有翻译字符串的RESX文件,并将其添加到您的项目中。您不需要修改Localization Service(本地化服务)中的资源,构建和下载附属组件,并在您的项目中重用它们。

新的本地化相关API

DevExpress.Utils.Localization.XtraLocalizer类实现了允许您在运行时(动态地)翻译或修改运输资源的API,在v23.2中实现了允许您执行以下任务的新API。

检测非翻译字符串

新的QueryLocalizedStringNonTranslated事件允许您关注应用程序/网站中需要翻译的字符串,处理此事件以查找和记录未翻译的字符串:

static Dictionary<string, string> deNotTranslatedResources = new Dictionary<string, string>(); private static void XtraLocalizer_QueryLocalizedStringNonTranslated(object sender, XtraLocalizer.QueryLocalizedStringEventArgs e) { deNotTranslatedResources.Add(e.ResourceStringID, e.InvariantString); }

如果您将本地化字符串发送给不同的部门或第三方翻译服务进行翻译,这种技术可能会很有用。

RESX文件支持

本地化机制现在支持RESX文件,您可以使用带有翻译字符串的自定义RESX文件。UserResourceManager属性的使用方法如下:

XtraLocalizer.UserResourceManager = Localization.myResources.ResourceManager;
本地化内置数据表单

您现在可以本地化在DevExpress UI控件中集成的数据表单所使用的资源字符串(例如,WinForms富文本编辑器中的BookmarkForm)。在以前的版本中,很难识别特定于内置表单的资源字符串。

当数据表单为其UI元素请求资源字符串时,QueryLocalizedStringContainerResource事件将被触发,处理该事件以翻译非本地化的资源字符串或修改现有表单元素资源。

基于事件的本地化

QueryLocalizedString事件允许您为应用程序/网站中的所有DevExpress UI控件本地化资源。当DevExpress UI控件请求资源字符串并允许您根据需要翻译或修改字符串时,该事件会触发。我们添加了新的事件参数,如e.IsTranslated, e.Value, e.StringIDType等。

static private void XtraLocalizer_QueryLocalizedString(object sender, XtraLocalizer.QueryLocalizedStringEventArgs e) { if (e.StringIDType == typeof(GridStringId)) { if ((GridStringId)e.StringID == GridStringId.GridGroupPanelText) e.Value = "Gruppenregion"; } //... }
总结

DevExpress UI Localization Client可以帮助您隔离应用程序/网站中使用的字符串,这样可以很容易地识别未翻译的资源字符串,根据需要翻译它们,并构建RESX文件(并将它们包含在项目中)。

以下API允许您实现与高级本地化相关的任务:

  • XtraLocalizer.QueryLocalizedStringNonTranslated
  • XtraLocalizer.QueryLocalizedStringContainerResource
  • XtraLocalizer.UserResourceManager
http://www.jsqmd.com/news/1256529/

相关文章:

  • 2026德系车灯升级服务商甄选指南:正规合规口碑机构推荐+保定本地服务适配要点+合作避坑全FAQ详解 - 保定大拇指车灯
  • 2026深圳线下非医疗心理咨询机构综合实力权威梳理避坑指南(第三方中立测评)+FAQ - 互联网科技品牌测评
  • Pid pad xng《琵琶行》全文字母标调拼音实测案例
  • C++类细节梳理之派生和继承
  • 【Prompt Engineering核心心法】:3类结构化提示模板+4维质量评分卡,立即提升输出稳定性47%
  • 两重”建设项目清单落地,嘉利恒兴升降控制台助力各类指挥调度中心升级
  • JPMorgan、摩根士丹利案例可查,美国金融求职的专业内推如何运作? - Matthewmx
  • 【Rust中级教程】2.8. API设计原则之灵活性(flexible) Pt.4:显式析构函数的问题及3种解决方案
  • 【JAVA毕设源码分享】基于springboot房屋交易系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 深度解析:开源股票智能分析系统的架构设计与实现
  • 2026.7.23:安装Windows下的mingw工具
  • 若依项目Linux生产环境治理:文件系统权限配置实战
  • 界面控件DevExpress ASP.NET Spreadsheet组件 - 轻松集成电子表格功能!(一)
  • 2026 宁波专业家电维修商家推荐 |卓越家电安装维修:安装、维修、回收、出租一站式靠谱服务商 - 星际AI
  • 从日销5万到50万:我们用4类AI工具+2个数据中枢重构运营流(附可落地的SOP模板)
  • AI初筛+全职真人外包怎么做到“零招聘即开呼“?
  • 2026 长春管道疏通口碑 TOP5 深度测评|正规疏通公司哪家好?资质_价格_上门速度全对比 - 园子一号
  • 北美留学生求职成功率差距为何如此之大?三个核心变量决定结果 - Matthewmx
  • ZenlessZoneZero-OneDragon:5分钟掌握《绝区零》全自动游戏助手
  • 什么是Hive(新手易懂版)
  • 计算机毕业设计之天津铭嘉宠物公司在线售卖系统
  • 2026 年当下,云和诚信的玻纤嵌缝带工厂找哪家,揭秘:这小工具如何拯救你的缝隙难题 - 行业推荐官【官方】
  • 《派出你的AI同事:WorkBuddy案例实战》007:多语言翻译与本地化
  • microPython搭建webServer--(一)使用microdot库实现基本页面显示
  • 【Rust中级教程】1.6. 内存 Pt.4:静态(static)内存与‘static生命周期标注
  • CST电磁仿真:应用场景与核心用途全解析
  • 3分钟上手Cool Request:让Java开发者告别Postman的IDEA插件神器
  • 西安灞桥本地黄金回收实测测评|2026 城东居民出金避坑全攻略,30 年连锁老店全域上门无损验金 - 华金汇黄金回收
  • 7.24小记
  • 数据结构:跳表