公开/公告号CN103617046A
专利类型发明专利
公开/公告日2014-03-05
原文格式PDF
申请/专利权人 用友软件股份有限公司;
申请/专利号CN201310683283.X
发明设计人 夏荣福;
申请日2013-12-12
分类号G06F9/44(20060101);
代理机构11249 北京中恒高博知识产权代理有限公司;
代理人刘洪京
地址 100094 北京市海淀区北清路68号用友软件园
入库时间 2024-02-19 22:14:31
法律状态公告日
法律状态信息
法律状态
2017-05-24
授权
授权
2015-12-30
著录事项变更 IPC(主分类):G06F9/44 变更前: 变更后: 申请日:20131212
著录事项变更
2014-04-02
实质审查的生效 IPC(主分类):G06F9/44 申请日:20131212
实质审查的生效
2014-03-05
公开
公开
技术领域
本发明涉及数据处理技术领域,尤其涉及一种扫描和提取目标系统源代码中待翻译的资源的方法和装置。
背景技术
近几年随着用友PLM系统方案在企业中广泛应用,PLM系统在相关行业与领域也逐渐的完善与成熟。许多公司决定PLM将在未来的一定时期进入国外市场,这就直接给PLM系统本身提出了国际化的要求。CAD集成接口作为PLM系统中一部分,就面临国际化的过程中支持多语种的要求。大体上说,国际化CAD集成接口应具备如下特征:
1、能支持超过一种以上的特定区域语言;
2、在特定区域,应用程序和服务会有不同的表现(例如天气、购物服务可能都会从本地供应商获取数据源);
3、符合本地居民使用习惯,如日期、时间格式、货币符号、历法、等等。
另外,现有的众多CAD集成接口编译环境基于Microsoft Visual Studio C++(下简称MSVC),要实现CAD集成接口的国际化多语言的支持,重点需要考虑MSVC项目工程的特点和MSVC代码文件支持,根据目前的数据检索分析来看没有发现能直接有效解决这一需求的工具。
CAD集成接口实现国际化的过程中,主要是问题是目前正在应用的系统当初的设计时没有考虑到多语种支持的需求。在此基础上提供国际化的多语种支持,需要考虑的问题主要有以下三个方面:
1.增加可扩展性
国际化可扩展性是指当软件系统应用于一个新的国家或地区时,软件有一套高效的机制与方法支持该地区的本地化要求。同时可扩展性还意味着这种支持对原有系统功能影响较小,对适应新的需求修改所造成的风险可控。
2.减少工作量
软件系统引入国际化应尽可能的减少设计与维护的工作量。新的语种的引入和支持,尽量减少和不修改原有的程序设计和源码。
3.减少对系统的影响
软件国际化的支持不可避免的会对已有系统造成影响。特别是现有的CAD集成接口系统在最初设计时没有考虑到软件国际化的情况。在本次设计国际化的过程中要求可能的保证软件国际化的独立性与模块化。从而减少对已有正在应用的系统影响力。
4.在现有CAD集成接口源代码中很多界面显示的数据,采用的即时定义的方式(即在需要使用时,直接在源代码中就近的位置定义需要显示的数据),在增加系统的可扩展性和减少对现有系统影响的原则下,这给国际化多语种支持带了很大困难。
本发明应用于PDM(产品数据管理系统)的CAD(计算机辅助设计)集成接口产品设计和开发。是CAD集成接口开发所使用技术之一。本发明的目的就是针对现有技术上的不足,提供一种扫描和提取目标系统源代码中待翻译的资源的方法和装置。实现的国际化多语种支持的目的。
发明内容
鉴于现有技术存在的不足,本发明的目的旨在提供一种扫描和提取目标系统源代码中待翻译的资源的方法和装置,解决了装置存在的上述弊端。
本发明通过如下技术方案实现:
一种扫描和提取目标系统源代码中待翻译的资源的方法,包括:
步骤1、读取并解析程序原始资源文件;
步骤2、检测确认所述程序原始资源文件是否是有效性的待翻译资源文件,并将有效性的待翻译资源文件储存到待翻译资源文件存储模块;
步骤3、扫描程序源代码并提取待转换的资源元数据;
步骤4、将所述待转换的资源元数据通过类正则表达式来确认其是否需要参数化处理:若无需参数化处理,则检测确认所述待转换的资源元数据是否是有效性的待翻译资源文件,并将有效性的待翻译资源文件储存到待翻译资源文件存储模块;若需要参数化处理,则执行步骤5;
步骤5、将需要参数化处理的所述待转换的资源元数据参数化,并检测确认参数化的待转换的资源元数据是否为有效的待翻译资源,并将有效性的待翻译资源文件储存到待翻译资源文件存储装置;否则,直接丢弃。
步骤6、等待所述目标系统待翻译资源处理完成之后,结束。
一种扫描和提取目标系统源代码中待翻译的资源的装置,包括:
读取和解析模块,用于读取并解析程序原始资源文件;
有效性检测模块以及待翻译资源文件存储模块,所述有效性检测模块用于检测确认是否是有效性的待翻译资源文件,并将有效性的待翻译资源文件储存到待翻译资源文件存储模块,所述待翻译资源文件存储模块用于储存有效性的待翻译资源文件;
扫描和提取模块,用于扫描程序源代码并提取待转换的资源元数据;
类正则表达式判断模块,用于将所述待转换的资源元数据通过类正则表达式来确认其是否需要参数化处理,若无需参数化处理,则通过有效性检测模块检测确认所述待转换的资源元数据是否是有效性的待翻译资源文件,并将有效性的待翻译资源文件储存到待翻译资源文件存储装置;
参数化模块,用于将需要参数化处理的所述待转换的资源元数据参数化,然后,通过有效性检测模块检测确认参数化的待转换的资源元数据是否为有效的待翻译资源,并将有效性的待翻译资源文件储存到待翻译资源文件存储装置;
结束控制模块,用于等待所述目标系统待翻译资源处理完成之后,控制所述装置结束运行。
本发明还提供了:
所述类正则表达式是一个简化的非严格的正则表达式类库。
所述有效性检测模块通过数据查重算法、数据格式校验和资源权重算法以保证提取待翻译资源的质量和数量。
所述参数化处理模块有效地解决字符或字符串串联在多语言翻译过程中引用的语义错误和歧义。
附图说明
图1是本发明提供的多语种支持下的程序启动流程;
图2是本发明提供的扫描/提取待翻译资源的方法流程和模块图。
具体实施方式
下面结合附图和实施例对本发明的技术方案作进一步的说明。
程序实现国际化多语言支持即程序在运行时根据本地系统语言配置自动加载适用用户所使用的计算机系统语言,从而满足用户使用和阅读习惯。
多语言切换一般流程在软件启动时,读取语言配置文件(该配置文件保存了软件支持的语种列表,以及当前用户选择的语种配置信息),获取当前的语种配置。如果软件是第一次启动,则默认配置语种为:zh_CN(当然,默认语言用户可自行去配置)。然后,根据当前语种,设置当前线程的语言,这样每个窗体初始化的时候就采用的当前的语种,读取相应的语言资源文本。 当用户选择要切换的目标语种时,设置线程语言为该语种,并将该语种写入资源配置文件(保存,下次启动时加载),同时触发消息事件, 用户界面通过响应消息,完成多语言文本的切换,此时的切换只针对非弹出式的用户界面,而弹出式的界面只需在弹出时通过动态加载语言资源文本进行显示即可。
参考附图1,一种实现国际化多语言支持的方法,可分为以下步骤:
1、在软件启动时,读取语言配置文件,所述配置文件保存了所述软件支持的语种列表以及当前用户选择的语种配置信息;
2、获取当前的语种配置,如果软件是第一次启动,则默认语种配置为中文,所述默认语种配置可被用户自行设置;
3、根据当前语种配置,设置当前线程的语言;
4、读取当前的语种配置相应的语言资源文本;
5、当用户选择要切换的目标语种时,设置线程语言为所述要切换的目标语种并将所述要切换的目标语种写入配置文件,所述写入被保存下次启动时被加载;
6、触发消息事件,用户界面通过响应消息完成多语言文本的切换,所述切换只针对非弹出式的用户界面,而弹出式的界面在弹出时通过动态加载语言资源文本进行显示。
在附图1 程序启动时检查语言配置,并读取对应的目标言语的资源。在加载目标语种的资源后,设置工作线程。动态的改变和设置用户界面显示。
要实现多语种的支持首先需要提取现在程序的资源文档时的显示字符和源代码中定义的显示变量。将这些显示字符或字符串形成显示待翻译的资源文件,方便翻译工作和程序维护开发工作同时进行,且不影响到现有程序的开发和维护工作。这也是国际化多语种的支持最核心的模块之一,即本设计所要陈述的装置内容。在启动多语言生成工具时,首先使用本设计所描述的装置进行扫描和提取目标软件系统源代码工程中待翻译的资源。
参考附图2,其执行流程如下:
第一方面,读取、解析程序原始资源文件(101),通过数据有效性检查单元(104)检测确认是否是有效性的待翻译资源文件。如果是储存在到待翻译资源文件(105)。
第二方面,扫描程序源代码(102)提取可以待转换的资源信息,如果找到待转换的资源元数据,通过类正则表达(类正则表达式是为了满足国际化多语言的支持实际使用需要而实现的一个简化、非严格正则表达式类库)来确认是否是需要参数化处理(103)的资源。如是通过参数化处理单元(106),将资源元数据参数化,然后通过数据有效性检查单元(104)检测确认是否为有效的待翻译资源,如果是储存在到待翻译资源文件(105),否直接丢弃。如果不需要参数处理直接通过数据有效性检查单元(104)检测确认是否是有效性的待翻译资源。如果是储存在到待翻译资源文件(105),否直接丢弃。
等待所有软件系统待翻译资源处理完成之后结束本单元的工作。
在103单元中,处理装置判断是否需要参数化,采用自主设计的类正则表达式的方式处理。
在104单元中,处理装置会通过数据查重算法、数据格式校验和资源权重等算法来保证提取的待翻译资源的质量和数量。
在106单元,参数化处理单元,通过有效的参数化处理,可以有效的解决字符或字符串串联在多语言翻译过程中引用的语义错误和歧义。
综上,参考附图2,本发明提供了一种扫描和提取目标系统源代码中待翻译的资源的方法,包括:
步骤1、读取并解析程序原始资源文件;
步骤2、检测确认所述程序原始资源文件是否是有效性的待翻译资源文件,并将有效性的待翻译资源文件储存到待翻译资源文件存储模块;
步骤3、扫描程序源代码并提取待转换的资源元数据;
步骤4、将所述待转换的资源元数据通过类正则表达式来确认其是否需要参数化处理:若无需参数化处理,则检测确认所述待转换的资源元数据是否是有效性的待翻译资源文件,并将有效性的待翻译资源文件储存到待翻译资源文件存储模块;若需要参数化处理,则执行步骤5;
步骤5、将需要参数化处理的所述待转换的资源元数据参数化,并检测确认参数化的待转换的资源元数据是否为有效的待翻译资源,并将有效性的待翻译资源文件储存到待翻译资源文件存储装置;否则,直接丢弃。
步骤6、等待所述目标系统待翻译资源处理完成之后,结束。
在本发明的另一方面,参看附图2,本发明提供了一种扫描和提取目标系统源代码中待翻译的资源的装置,包括:
读取和解析模块,用于读取并解析程序原始资源文件;
有效性检测模块以及待翻译资源文件存储模块,所述有效性检测模块用于检测确认是否是有效性的待翻译资源文件,并将有效性的待翻译资源文件储存到待翻译资源文件存储模块,所述待翻译资源文件存储模块用于储存有效性的待翻译资源文件;
扫描和提取模块,用于扫描程序源代码并提取待转换的资源元数据;
类正则表达式判断模块,用于将所述待转换的资源元数据通过类正则表达式来确认其是否需要参数化处理,若无需参数化处理,则通过有效性检测模块检测确认所述待转换的资源元数据是否是有效性的待翻译资源文件,并将有效性的待翻译资源文件储存到待翻译资源文件存储装置;
参数化模块,用于将需要参数化处理的所述待转换的资源元数据参数化,然后,通过有效性检测模块检测确认参数化的待转换的资源元数据是否为有效的待翻译资源,并将有效性的待翻译资源文件储存到待翻译资源文件存储装置;
结束控制模块,用于等待所述目标系统待翻译资源处理完成之后,控制所述装置结束运行。
在本发明的一个实施例中,可以通过字符串联接来缩短串的长度。该方法允许把一个资源分解到几个字符串中。但是这样做有一定的危险,请注意表1给出的示例:
表1 通过字符串联接来缩短串的长度的方法:
。
当代码执行字符串 1 + 字符串 2 的操作时,本地化版本将出现错误因为两个字符串组成的信息构不成一个句子。一个解决方法是把字符串 1 分别与字符串 2 和字符串 3 组合保存在资源文件中并去掉字符串 1。
相比于现有技术,本发明具有如下有益效果:
1. 本装置采用独立模块,直接提取和解析目标软件系统的原始待翻译信息。能深度解决目标软件系统在支持国际化过程的系统界面交互语言问题,使用界面交互语言更加本地化的,符合当地的用语习惯。
2. 可以实现软件系统的开发维护与国际化多语言支持在同步两个工作组中进行。最大限度的减少软件工程师在进行现在目标系统开发和维护工作量。
3. 通过算法分析处理能,优化目标软件用户界面交互语言资源。进行参化参数化待翻译资源,从而使翻译的目标系统的本地化语言更符合,当地的用语习惯。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
机译: 一种提取嵌入在应用程序源代码中的业务规则的系统和方法
机译: 一种提取嵌入在应用程序源代码中的业务规则的系统和方法
机译: 用于压缩和解压缩彩色数字视频数据的视频电信系统和方法技术领域本发明涉及一种用于压缩电信系统视频中数字彩色视频数据的方法,该方法具有用于生成视频信号的装置,该装置是用于生成视频信号的装置。将视频信号转换为多个彩色视频帧速率,每个帧图像由多个扫描线组成,扫描线由多个像素组成,图像中的每个像素由彩色数字分量组成(该方法包括确定功能的步骤);基于彩色数字(b)的三个分量中的至少一个的亮度像素,基于两个像素之间的亮度差异,针对当前图像表的扫描线中的至少大部分像素,确定至少一个参数决策。与每条扫描线中至少一个像素相距预定距离的像素,以及至少(c)比较决策参数与