System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种产品多语言方案切换方法、系统、设备及介质技术方案_技高网

一种产品多语言方案切换方法、系统、设备及介质技术方案

技术编号:41375528 阅读:3 留言:0更新日期:2024-05-20 10:19
本发明专利技术提供了一种产品多语言方案切换方法、系统、设备及介质,涉及产品多语言方案切换领域,方法包括:利用工程路径下的配置文件记录多语言的配置信息,构建多语言动态库文件;基于多语言动态库文件,在运行态或组态下,根据语言身份标识与语言信息的绑定关系,切换不同语言项的身份标识查找对应的语言资源文件压缩包,并解压语言资源文件压缩包;当点击菜单栏进行多语言切换时,在运行态或组态下,在临时路径中查找待加载的精灵组件对应的语言资源文件加载解压后的语言资源文件,并同时通知多语言资源界面更改为解压后的语言资源文件,以动态切换语言。本发明专利技术能够兼容新语言的菜单栏,避免windowsAPI的内部卡死的问题。

【技术实现步骤摘要】

本专利技术涉及产品多语言方案切换领域,特别是涉及一种产品多语言方案切换方法、系统、设备及介质


技术介绍

1、为满足不同市场的需要,需要产品可以实现多种语言间的切换功能。产品多语言方案,可以满足在组态或运行态下,通过菜单项切换来转换不同语言功能。

2、在菜单中切换语言时,根据组件启动时加载的资源动态链接库文件(dynamiclinklibrary,dll),修改界面语言,但是如果修改用户界面(userinterface,ui)时,多语言dll资源也需要重新制作并替换,否则无法更新修改后的ui更改。

3、在多文档或单文档模式下,现有技术不能兼容微软在当时新创建的cmfcmenubar以及cmfctoolbar控件,如果强行替换,则会引发windowsapi的内部卡死导致整体程序的卡死。


技术实现思路

1、本专利技术的目的是提供一种产品多语言方案切换方法、系统、设备及介质,以解决在多文档或单文档模式下,windowsapi的内部卡死的问题。

2、为实现上述目的,本专利技术提供了如下方案:

3、一种产品多语言方案切换方法,包括:

4、利用工程路径下的配置文件记录多语言的配置信息,构建多语言动态库文件;所述配置信息包括语言身份标识、语言名称以及语言资源文件;一种语言资源文件对应一个语言资源文件压缩包,且所述语言资源文件压缩包内的组件名称一致;所述多语言动态库文件包括当前程序所支持的多语言类型以及每个精灵组件对应的语言资源文件;p>

5、基于所述多语言动态库文件,在运行态或组态下,根据所述语言身份标识与语言信息的绑定关系,切换不同语言项的身份标识查找对应的语言资源文件压缩包,并解压所述语言资源文件压缩包;

6、当点击菜单栏进行多语言切换时,在运行态或组态下,在临时路径中查找待加载的精灵组件对应的语言资源文件加载解压后的语言资源文件,并同时通知多语言资源界面更改为所述解压后的语言资源文件,以动态切换语言。

7、可选的,还包括:

8、运行态或组态启动时,加载当前精灵组件对应的语言资源文件;

9、当前精灵组件对应的语言资源文件加载完毕后,根据所述多语言动态库文件获取当前程序所选择的语言环境设置;

10、根据所述语言环境设置加载多语言资源界面。

11、可选的,还包括:

12、修改语言环境设置时,运动态或组态重新加载当前精灵组件对应的语言资源文件,并通过注册模块获取已启动的精灵组件的窗口句柄;

13、通过所述窗口句柄向待加载的精灵组件发送修改语言环境设置消息,并根据所述修改语言环境设置消息重新加载所述多语言资源界面。

14、可选的,还包括:

15、启动程序时,加载安装路径下的多语言动态库文件;

16、若加载成功,读取安装路径下的配置文件,并将所述配置文件中的语言身份标识与同目录下的语言资源文件压缩包进行绑定;

17、若加载失败,确定多语言动态库文件不存在。

18、可选的,初次加载所述多语言动态库文件时获取当前选定语言,并将当前选定语言对应的语言资源文件压缩包解压在临时路径下;解压后的语言资源文件的名称为原组件名称_语言资源身份标识。

19、一种产品多语言方案切换系统,包括:

20、多语言动态库文件构建模块,用于利用工程路径下的配置文件记录多语言的配置信息,构建多语言动态库文件;所述配置信息包括语言身份标识、语言名称以及语言资源文件;一种语言资源文件对应一个语言资源文件压缩包,且所述语言资源文件压缩包内的组件名称一致;所述多语言动态库文件包括当前程序所支持的多语言类型以及每个精灵组件对应的语言资源文件;

21、语言资源文件压缩包查找与解压模块,用于基于所述多语言动态库文件,在运行态或组态下,根据所述语言身份标识与语言信息的绑定关系,切换不同语言项的身份标识查找对应的语言资源文件压缩包,并解压所述语言资源文件压缩包;

22、语言动态切换模块,用于当点击菜单栏进行多语言切换时,在运行态或组态下,在临时路径中查找待加载的精灵组件对应的语言资源文件加载解压后的语言资源文件,并同时通知多语言资源界面更改为所述解压后的语言资源文件,以动态切换语言。

23、可选的,还包括:

24、加载模块,用于运行态或组态启动时,加载当前精灵组件对应的语言资源文件;

25、语言环境设置获取模块,用于当前精灵组件对应的语言资源文件加载完毕后,根据所述多语言动态库文件获取当前程序所选择的语言环境设置;

26、多语言资源界面加载模块,用于根据所述语言环境设置加载多语言资源界面。

27、可选的,还包括:

28、窗口句柄获取模块,用于修改语言环境设置时,运动态或组态重新加载当前精灵组件对应的语言资源文件,并通过注册模块获取已启动的精灵组件的窗口句柄;

29、重新加载模块,用于通过所述窗口句柄向待加载的精灵组件发送修改语言环境设置消息,并根据所述修改语言环境设置消息重新加载所述多语言资源界面。

30、一种电子设备,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行上述产品多语言方案切换方法。

31、一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现上述产品多语言方案切换方法。

32、根据本专利技术提供的具体实施例,本专利技术公开了以下技术效果:本专利技术通过配置文件记录多语言的配置信息,以构建多语言动态库文件,并在运行态或组态下,根据所述语言身份标识与语言信息的绑定关系,切换不同语言项的身份标识查找对应的语言资源文件压缩包,解压所述语言资源文件压缩包;当点击菜单栏进行多语言切换时,在运行态或组态下,在临时路径中查找待加载的精灵组件对应的语言资源文件加载解压后的语言资源文件,并同时通知多语言资源界面更改为所述解压后的语言资源文件,以动态切换语言。在整个过程中,基于语言资源文件压缩包同时更新后台精灵组件对应的语言资源文件以及前台的多语言资源界面,在切换语言资源时,直接继承cmfcmenubar以及cmfctoolbar的方式重写部分接口,以达到重新加载新语言资源的菜单栏和工具栏,无需重新加载cmfcmenubar以及cmfctoolbar,避免了windowsapi的内部卡死的问题。

本文档来自技高网...

【技术保护点】

1.一种产品多语言方案切换方法,其特征在于,包括:

2.根据权利要求1所述的产品多语言方案切换方法,其特征在于,还包括:

3.根据权利要求1所述的产品多语言方案切换方法,其特征在于,还包括:

4.根据权利要求1所述的产品多语言方案切换方法,其特征在于,还包括:

5.根据权利要求4所述的产品多语言方案切换方法,其特征在于,初次加载所述多语言动态库文件时获取当前选定语言,并将当前选定语言对应的语言资源文件压缩包解压在临时路径下;解压后的语言资源文件的名称为原组件名称_语言资源身份标识。

6.一种产品多语言方案切换系统,其特征在于,包括:

7.根据权利要求6所述的产品多语言方案切换系统,其特征在于,还包括:

8.根据权利要求6所述的产品多语言方案切换系统,其特征在于,还包括:

9.一种电子设备,其特征在于,包括存储器及处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行如权利要求1-5中任一项所述的产品多语言方案切换方法。

10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的产品多语言方案切换方法。

...

【技术特征摘要】

1.一种产品多语言方案切换方法,其特征在于,包括:

2.根据权利要求1所述的产品多语言方案切换方法,其特征在于,还包括:

3.根据权利要求1所述的产品多语言方案切换方法,其特征在于,还包括:

4.根据权利要求1所述的产品多语言方案切换方法,其特征在于,还包括:

5.根据权利要求4所述的产品多语言方案切换方法,其特征在于,初次加载所述多语言动态库文件时获取当前选定语言,并将当前选定语言对应的语言资源文件压缩包解压在临时路径下;解压后的语言资源文件的名称为原组件名称_语言资源身份标识。

6.一种产品...

【专利技术属性】
技术研发人员:刘乃玉张硕
申请(专利权)人:北京力控元通科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1