一种软件程序资源化处理方法及装置与流程

文档序号:17536106发布日期:2019-04-29 14:00阅读:168来源:国知局
一种软件程序资源化处理方法及装置与流程

本申请涉及计算机软件技术领域,更具体地说,尤其涉及一种软件程序资源化处理方法及装置。



背景技术:

常用的软件产品一般都是多语言的,其软件程序包可以是中文包、英文包、日文包等。在某一种语言环境下的软件程序包就是用该种语言编译的程序包。当需要编译其它语言的程序包时,需要对现有的程序包进行资源化,将其资源化为目标语言的程序包。

常用的软件程序资源化方法是,由人工逐一找出软件程序词条,将词条翻译成目标语言,再将翻译后的词条编译成软件程序包。按照上述的资源化方法,每编译一次不同语言的软件程序包,就需要由人工查找一次词条并且逐一进行翻译,其处理效率较低。



技术实现要素:

基于上述现有技术的缺陷和不足,本申请提出一种软件程序资源化处理方法及装置,能够显著提高软件程序资源化处理效率。

一种软件程序资源化处理方法,包括:

提取得到待资源化的软件程序中的词条;

识别提取到的词条中的未资源化词条,并输出所述未资源化词条;

获取所述未资源化词条的资源化结果;

根据所述待资源化的软件程序的文件格式,将所述待资源化软件程序中的已资源化词条,以及所述未资源化词条的资源化结果,整理成资源化的软件程序。

可选的,所述识别提取到的词条中的未资源化词条,并输出所述未资源化词条,包括:

依次遍历提取到的各个词条,每遍历到一个词条时,执行以下操作:

判断遍历到的词条是否存在于预设的资源化词条库中;

如果遍历到的词条不存在于预设的资源化词条库中,则确定遍历到的词条为未资源化词条;

输出识别到的未资源化词条。

可选的,所述提取得到待资源化的软件程序中的词条,包括:

获取待资源化的软件程序的资源文件;

对获取的资源文件分别进行解析处理,得到资源文件对应的词条。

可选的,所述对获取的资源文件分别进行解析处理,得到资源文件对应的词条,包括:

依次遍历获取的各个资源文件,每遍历到一个资源文件时,执行以下操作:

判断遍历到的资源文件是否为以properties作为文件后缀的文本文件,或者是xml格式的文件;

如果遍历到的资源文件是以properties作为文件后缀的文本文件,则对遍历到的资源文件以“键=值”的形式进行解析处理,得到资源文件对应的词条;

如果遍历到的资源文件是xml格式的文件,则对遍历到的资源文件以xml格式进行解析处理,得到资源文件对应的词条。

可选的,所述方法还包括:

从xml格式的资源文件对应的词条中,筛选出xml格式文件参与资源化的字段或属性名称所对应的词条。

可选的,在获取所述未资源化词条的资源化结果后,所述方法还包括:

将所述未资源化词条的资源化结果,添加到所述预设的资源化词条库中。

一种软件程序资源化处理装置,包括:

词条提取单元,用于提取得到待资源化的软件程序中的词条;

词条识别单元,用于识别提取到的词条中的未资源化词条,并输出所述未资源化词条;

数据获取单元,用于获取所述未资源化词条的资源化结果;

词条整理单元,用于根据所述待资源化的软件程序的文件格式,将所述待资源化软件程序中的已资源化词条,以及所述未资源化词条的资源化结果,整理成资源化的软件程序。

可选的,所述词条识别单元,包括:

词条遍历单元,用于依次遍历提取到的各个词条;

判断处理单元,用于判断遍历到的词条是否存在于预设的资源化词条库中;如果遍历到的词条不存在于预设的资源化词条库中,则确定遍历到的词条为未资源化词条;

词条输出单元,用于输出识别到的未资源化词条。

可选的,所述词条提取单元,包括:

文件获取单元,用于获取待资源化的软件程序的资源文件;

文件解析单元,用于对获取的资源文件分别进行解析处理,得到资源文件对应的词条。

可选的,所述装置还包括:

词条存储单元,用于将所述未资源化词条的资源化结果,添加到所述预设的资源化词条库中。

本申请提出的软件程序资源化处理方法,可以借助处理设备,自动提取待资源化软件程序的词条,以及识别提取到的词条中的未资源化词条,在获取到上述未资源化词条的资源化结果后,按照待资源化的软件程序的文件格式,将待资源化软件程序的已资源化词条和上述未资源化词条的资源化结果,整理成资源化的软件程序。上述处理过程省去了人工一一对比词条以及一一资源化词条的工作,使得程序资源化处理效率更高。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本申请实施例提供的一种软件程序资源化处理场景示意图;

图2是本申请实施例提供的一种软件程序资源化处理方法的流程示意图;

图3是本申请实施例提供的另一种软件程序资源化处理方法的流程示意图;

图4是本申请实施例提供的又一种软件程序资源化处理方法的流程示意图;

图5是本申请实施例提供的再一种软件程序资源化处理方法的流程示意图;

图6是本申请实施例提供的一种软件程序资源化处理装置的结构示意图;

图7是本申请实施例提供的另一种软件程序资源化处理装置的结构示意图。

具体实施方式

本申请实施例技术方案适用于对软件程序进行资源化的应用场景。采用本申请实施例技术方案,可以提高软件程序资源化处理效率,节省人工劳动力。

参见图1所示,示出了本申请实施例技术方案所适用的一种软件程序资源化处理场景示意图。本申请实施例技术方案可用于图1所示的处理器,图1所示处理器通过执行本申请实施例技术方案,对图1所示数据库中的软件程序进行资源化处理,并且可以将资源化后的软件程序输出,或再存储到数据库中。

同时,图1所示数据库用于存储软件程序,包括待资源化的软件程序和已资源化的软件程序等。上述数据库,可以是,但不限于是任意形式存在的存储装置。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

参见图2所示,本申请实施例所公开的软件程序资源化处理方法,包括:

s201、提取得到待资源化的软件程序中的词条;

具体的,上述待资源化的软件程序,可以是图1所示的数据库中存储的,需要进行资源化的软件程序。可选的,上述待资源化的软件程序,也可以是图1所示的处理器实时接收的,需要进行资源化的软件程序。对于上述待资源化的软件程序的来源和具体内容,本申请实施例不做严格限定。

一种示例性的实现方式是,上述软件程序可以以产品包或产品程序代码包的形式存在。

上述词条,用于表示软件界面资源的信息。基于此,对软件程序进行资源化处理,具体是指对软件程序的词条进行资源化处理,以达到对软件的界面资源进行资源化处理的效果,使软件界面以符合资源化目标语言的形式呈现。

因此,在获取到待资源化的软件程序后,本申请实施例技术方案首先提取得到待资源化的软件程序中的词条。

然后,针对提取得到的词条,执行步骤s202:

s202、识别提取到的词条中的未资源化词条,并输出所述未资源化词条;

具体的,对词条进行资源化,具体是指将未资源化的词条,转换为符合目标语言形式的词条表示形式。

在提取得到上述待资源化的软件程序中的词条后,本申请实施例进一步识别所提取到的词条中的未资源化词条,即识别提取到的词条中,不是按照目标语言形式显示的词条。

同时,本申请实施例将识别到的未资源化词条输出显示,以便工作人员对未资源化词条进行资源化处理。即,将未资源化词条转换为按照目标语言形式显示。

另一种可选的实现方式是,针对上述输出的未资源化词条,也可以利用预设的资源化处理装置实现资源化处理。

对于上述提取到的词条中的已资源化的词条,

工作人员在完成对上述未资源化词条的资源化后,将资源化结果再输入到执行本申请实施例技术方案的,如图1所示的处理器。相应的,执行本申请实施例技术方案的,如图1所示的处理器执行步骤s203:

s203、获取所述未资源化词条的资源化结果;

即,上述处理器获取工作人员对未资源化词条进行资源化后的资源化结果。可选的,上述处理器可以以被动接收的方式,接收工作人员发送的,对上述未资源化词条的资源化结果,也可以以主动读取的方式,读取工作人员对未资源化词条进行资源化后的资源化结果。

s204、根据所述待资源化的软件程序的文件格式,将所述待资源化软件程序中的已资源化词条,以及所述未资源化词条的资源化结果,整理成资源化的软件程序。

具体的,在接收到上述未资源化词条的资源化结果后,本申请实施例将接收到的资源化结果,以及上述待资源化软件程序中的已资源化词条,写回到上述待资源化程序的原本程序框架中,得到资源化后的软件程序。

通过上述介绍可见,本申请实施例提出的软件程序资源化处理方法,可以借助处理设备,自动提取待资源化软件程序的词条,以及识别提取到的词条中的未资源化词条,在获取到上述未资源化词条的资源化结果后,按照待资源化的软件程序的文件格式,将待资源化软件程序的已资源化词条和上述未资源化词条的资源化结果,整理成资源化的软件程序。上述处理过程省去了人工一一对比词条以及一一资源化词条的工作,使得程序资源化处理效率更高。

下面,结合本申请其他实施例,对本申请提出的软件程序资源化处理方法进行详细介绍。

在本申请的另一个实施例中公开了,参见图3所示,所述识别提取到的词条中的未资源化词条,并输出所述未资源化词条,包括:

s302、依次遍历提取到的各个词条;

每遍历到一个词条时,执行以下操作:

s303、判断遍历到的词条是否存在于预设的资源化词条库中;

具体的,上述预设的资源化词条库,是指存储已经资源化后的词条的数据库。例如,假设本申请实施例提出的软件程序资源化处理方法的目的是将中文的软件程序资源化成英文的软件程序时,上述资源化词条库,即是指存储已经资源化成英文形式的词条的数据库。

同时,根据词条的属性不同,词条可以是普通的词条或一词多义词条。上述一词多义词条,是指同一词条可能在不同应用场景中表示不同的词义。相应的,上述词条库也可以是普通词条库或者是一词多义词条库。在上述的普通词条库中,存储的是普通的词条,在上述的一词多义词条库中,存储的是一词多义词条。

可以理解,上述预设的资源化词条库,是指存储已经资源化成目标语言形式的词条的数据库。则当词条存在于上述预设的资源化词条库中时,说明该词条已经资源化完毕;当词条不存在于上述预设的资源化词条库中时,说明该词条尚未进行资源化。

因此,判断词条是否存在于预设的资源化词条库中,是判断词条是否已经资源化的可行实现方式。

按照上述的遍历及判断方法,如果遍历到的词条不存在于预设的资源化词条库中,则执行步骤s304、确定遍历到的词条为未资源化词条;

此时,继续执行步骤s305、输出识别到的未资源化词条;

相反,如果遍历到的词条存在于预设的资源化词条库中,则返回执行步骤s302继续遍历下一个词条;以及执行步骤s303。

进一步的,图3所示的方法实施例中的步骤s301、s306、s307分别对应图2所示的方法实施例中的步骤s201、s203、s204,其具体内容请参见图2所示的方法实施例的内容,此处不再赘述。

可选的,参见图4所示,在本申请的另一个实施例中还公开了,所述提取得到待资源化的软件程序中的词条,包括:

s401、获取待资源化的软件程序的资源文件;

具体的,本申请实施例从指定的软件程序中,或指定的软件程序存储路径中,读取得到资源文件。其中,上述资源文件,尤其是指软件程序的界面资源文件。

s402、对获取的资源文件分别进行解析处理,得到资源文件对应的词条。

具体的,待资源化的软件程序的资源文件有多个,本申请实施例一一对其进行解析处理,得到各个资源文件对应的词条。

以上述待资源化的软件程序为java软件程序为例,java软件程序的资源文件可能为以properties作为文件后缀的文本文件,或者是xml格式的文件。对这两种文件分别进行解析处理,都可以得到对应的词条。

上述对获取的资源文件进行解析处理得到资源文件对应的词条的一种示例性实现方式是,当从该java软件程序中获取到资源文件后,依次遍历获取的各个资源文件,每遍历到一个资源文件时,判断遍历到的资源文件是否为以properties作为文件后缀的文本文件,或者是xml格式的文件;

如果遍历到的资源文件是以properties作为文件后缀的文本文件,则对遍历到的该资源文件以“键=值”的形式进行解析,得到该资源文件对应的词条。

如果遍历到的资源文件是xml格式的文件,则对遍历到的该资源文件以xml格式进行解析处理,得到该资源文件对应的词条。

进一步的,在将xml格式的资源文件以节点的形式进行解析,得到xml格式的资源文件对应的词条后,本申请实施例进一步从中筛选出xml格式文件参与资源化的字段或属性名称所对应的词条。

具体的,在xml格式的文件中,可能有些字段或属性名称所对应的词条并不需要进行资源化处理,因此,本申请实施例在将xml格式的资源文件解析为词条后,进一步从中筛选参与资源化的字段或属性名称对应的词条,用于后续进行资源化处理,可以节省资源,避免无意义的工作量。

在此基础上,当执行图4所示的软件程序资源化处理方法中的步骤s405、根据所述待资源化的软件程序的文件格式,将所述待资源化软件程序中的已资源化词条,以及所述未资源化词条的资源化结果,整理成资源化的软件程序时,具体是按照待资源化的软件程序的文件格式,将资源化后的词条写回到软件程序框架中,得到资源化后的软件程序。

当待资源化软件程序的资源文件是以properties作为文件后缀的文本文件对应的词条时,从普通词条库中读取对应的词条后,以“键=值”的形式将读取的词条写回到软件程序框架中;

当待资源化软件程序的资源文件是xml文件时,首先从一词多义词条库中读取对应的词条,然后判断当前xml资源文件节点的属性或字段是否满足一词多义规则,满足则采用该一词多义词条库中的词条,写回到软件程序框架中;如果不满足,则从普通词条库中读取对应的词条,然后以xml格式写回到软件程序框架中。

图4所示的软件程序资源化处理方法中的步骤s403~s405分别对应图2所示的方法实施例中的步骤s202~s204,其具体内容请参见图2所示的方法实施例的内容,此处不再赘述。

可选的,在本申请另一个实施例中还公开了,参见图5所示,在执行步骤s506、获取所述未资源化词条的资源化结果之后,本申请实施例所提出的软件程序资源化处理方法还包括:

s507、将所述未资源化词条的资源化结果,添加到所述预设的资源化词条库中。

具体的,本申请实施例设定,在对未资源化的词条进行资源化后,在将资源化后的词条用于对待资源化软件程序进行资源化的同时,本申请实施例还将待资源化词条的资源化结果添加到上述预设的资源化词条库中,以便实现对资源化词条库的不断维护和丰富,便于后续软件程序资源化时使用。

图5所示的方法实施例中的步骤s501~s506、s508分别对应图3所示的方法实施例中的步骤s301~s306、s307,其具体内容请参见图3所示的方法实施例的内容,此处不再赘述。

本申请另一实施例还公开了一种软件程序资源化处理装置,参见图6所示,该装置包括:

词条提取单元100,用于提取得到待资源化的软件程序中的词条;

词条识别单元110,用于识别提取到的词条中的未资源化词条,并输出所述未资源化词条;

数据获取单元120,用于获取所述未资源化词条的资源化结果;

词条整理单元130,用于根据所述待资源化的软件程序的文件格式,将所述待资源化软件程序中的已资源化词条,以及所述未资源化词条的资源化结果,整理成资源化的软件程序。

可选的,在本申请的另一个实施例中还公开了,参见图7所示,所述词条识别单元110,包括:

词条遍历单元1101,用于依次遍历提取到的各个词条;

判断处理单元1102,用于判断遍历到的词条是否存在于预设的资源化词条库中;如果遍历到的词条不存在于预设的资源化词条库中,则确定遍历到的词条为未资源化词条;

词条输出单元1103,用于输出识别到的未资源化词条。

可选的,在本申请的另一个实施例中还公开了,所述词条提取单元,包括:

文件获取单元,用于获取待资源化的软件程序的资源文件;

文件解析单元,用于对获取的资源文件分别进行解析处理,得到资源文件对应的词条。

其中,所述文件解析单元对获取的资源文件分别进行解析处理,得到资源文件对应的词条时,具体用于:

依次遍历获取的各个资源文件,每遍历到一个资源文件时,执行以下操作:

判断遍历到的资源文件是否为以properties作为文件后缀的文本文件,或者是xml格式的文件;

如果遍历到的资源文件是以properties作为文件后缀的文本文件,则对遍历到的资源文件以“键=值”的形式进行解析处理,得到资源文件对应的词条;

如果遍历到的资源文件是xml格式的文件,则对遍历到的资源文件以xml格式进行解析处理,得到资源文件对应的词条。

进一步的,所述文件解析单元还用于:

从xml格式的资源文件对应的词条中,筛选出xml格式文件参与资源化的字段或属性名称所对应的词条。

可选的,在本申请的另一个实施例中还公开了,所述软件程序资源化处理装置,还包括:

词条存储单元,用于将所述未资源化词条的资源化结果,添加到所述预设的资源化词条库中。

具体的,上述各个软件程序资源化处理装置的各个实施例中的各个单元的具体工作内容,请参见上述方法实施例的内容,此处不再赘述。

对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本申请各实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。

本申请各实施例种装置及终端中的模块和子模块可以根据实际需要进行合并、划分和删减。

本申请所提供的几个实施例中,应该理解到,所揭露的终端,装置和方法,可以通过其它的方式实现。例如,以上所描述的终端实施例仅仅是示意性的,例如,模块或子模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个子模块或模块可以结合或者可以集成到另一个模块,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

作为分离部件说明的模块或子模块可以是或者也可以不是物理上分开的,作为模块或子模块的部件可以是或者也可以不是物理模块或子模块,即可以位于一个地方,或者也可以分布到多个网络模块或子模块上。可以根据实际的需要选择其中的部分或者全部模块或子模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块或子模块可以集成在一个处理模块中,也可以是各个模块或子模块单独物理存在,也可以两个或两个以上模块或子模块集成在一个模块中。上述集成的模块或子模块既可以采用硬件的形式实现,也可以采用软件功能模块或子模块的形式实现。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件单元,或者二者的结合来实施。软件单元可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1