一种基于差量的多项目多语言生成方法、装置、设备以及介质与流程

文档序号:31303704发布日期:2022-08-27 07:27阅读:95来源:国知局
一种基于差量的多项目多语言生成方法、装置、设备以及介质与流程

1.本发明涉及计算机技术领域,特别涉及一种基于差量的多项目多语言生成方法、装置、设备以及介质。


背景技术:

2.目前对于多个项目的多语言生成,采用的是单项目单文件配置生成方案。假设有三个项目:a、b、c,则需要三份独立的多语言配置表:项目a:多语言条目\engpor

国家三字码.demo_class_1demo1demonstra
çã
o1

.demo_class_2demo2demonstra
çã
o2

.demo_class_3demo3demonstra
çã
o3

.demo_class_a1demoa1demonstra
çã
oa1

.demo_class_a2demoa2demonstra
çã
oa2
……………
项目b:多语言条目\engpor

国家三字码.demo_class_1demo1demonstra
çã
o1

.demo_class_2demo2demonstra
çã
o2

.demo_class_3demo3demonstra
çã
o3

.demo_class_b1demob1demonstra
çã
ob1

.demo_class_b2demob2demonstra
çã
ob2
……………
项目c:多语言条目\engpor

国家三字码.demo_class_1demo1demonstra
çã
o1

.demo_class_2demo2demonstra
çã
o2

.demo_class_3demo3demonstra
çã
o3

.demo_class_c1demoa1demonstra
çã
oc1

.demo_class_c2demoa2demonstra
çã
oc2
……………
根据上述三份配置表,最后生成三组多语言文件:项目a代码如下所示:
eng.css:.demo_class_1::before { content: "demo 1";}.demo_class_2::before { content: "demo 2";}.demo_class_3::before { content: "demo 3";}.demo_class_a1::before { content: "demoa1";}.demo_class_a2::before { content: "demoa2";}

por.css:.demo_class_1::before { content: "demonstra
çã
o 1";}.demo_class_2::before { content: "demonstra
çã
o 2";}.demo_class_3::before { content: "demonstra
çã
o 3";}.demo_class_a1::before { content: "demonstra
çã
o a1";}.demo_class_a2::before { content: "demonstra
çã
o a2";}

项目b的代码如下:eng.css:.demo_class_1::before { content: "demo 1";}
.demo_class_2::before { content: "demo 2";}.demo_class_3::before { content: "demo 3";}.demo_class_b1::before { content: "demo b1";}.demo_class_b2::before { content: "demo b2";}

por.css:.demo_class_1::before { content: "demonstra
çã
o 1";}.demo_class_2::before { content: "demonstra
çã
o 2";}.demo_class_3::before { content: "demonstra
çã
o 3";}.demo_class_b1::before { content: "demonstra
çã
o b1";}.demo_class_b2::before { content: "demonstra
çã
o b2";}

项目c的代码如下:eng.css:.demo_class_1::before { content: "demo 1";}.demo_class_2::before { content: "demo 2";}.demo_class_3::before {

content: "demo 3";}.demo_class_c1::before { content: "demo c1";}.demo_class_c2::before { content: "demo c2";}

por.css:.demo_class_1::before { content: "demonstra
çã
o 1";}.demo_class_2::before { content: "demonstra
çã
o 2";}.demo_class_3::before { content: "demonstra
çã
o 3";}.demo_class_c1::before { content: "demonstra
çã
o c1";}.demo_class_c2::before { content: "demonstra
çã
o c2";}

上述方案的缺点很明显:1、运维成本高——调整公共的多语言条目;(.demo_class_1、.demo_class_2、.demo_class_3)需要同时更新所有项目的多语言配置表2、维护易出错——同时更新多个配置表,项目越多就越容易出现错误和疏漏。


技术实现要素:

3.本发明要解决的技术问题,在于提供一种基于差量的多项目多语言生成方法、装置、设备以及介质,采用差量配置模式,降低了项目运维成本,减少了配置维护错漏,同时也进一步优化了生成的多语言包的总大小。
4.第一方面,本发明提供了一种基于差量的多项目多语言生成方法,包括:将所有项目中的公共条目进行提取,生成一份基础配置表,将每一个项目减去公共条目后生成其对应的差量配置表;若一条目需要配置,则该条目同时存在于所述基础配置表以及差量配置表中;
每个项目根据基础配置表和项目差量配置表生成多语言文件。
5.进一步地,在基础配置表以及差量配置表中采用国家三字码标志列名。
6.进一步地,还包括:若一项目不需要某一种语言的多语言文件,则将该项目的差量配置表中移除该语言对应的列。
7.第二方面,本发明提供了一种基于差量的多项目多语言生成装置,包括:配置表模块,将所有项目中的公共条目进行提取,生成一份基础配置表,将每一个项目减去公共条目后生成其对应的差量配置表;条目设置模块,若一条目需要配置,则该条目同时存在于所述基础配置表以及差量配置表中;生成模块,每个项目根据基础配置表和项目差量配置表生成多语言文件。
8.进一步地,在基础配置表以及差量配置表中采用国家三字码标志列名。
9.进一步地,还包括维护模块,若一项目不需要某一种语言的多语言文件,则将该项目的差量配置表中移除该语言对应的列。
10.第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
11.第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
12.本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:使用基础配置表+差量配置表的模式,解决了运维在调整公共多语言条目时需要同时更新多个配置表的问题,明确了更新对象,同时极大的减少了运维过程中的错漏率。另外,通过调整差量配置表的国家三字码数量,进一步优化了最终生成的项目多语言包的总大小。
13.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
14.下面参照附图结合实施例对本发明作进一步的说明。
15.图1为本发明实施例一中方法中的流程图;图2为本发明实施例二中装置的结构示意图。
具体实施方式
16.本技术实施例中的技术方案,总体思路如下:1、所有的公共条目维护一份基础配置表,每一个项目单独维护一份差量配置表:基础配置表:多语言条目 \ engpor

国家三字码.demo_class_1demo 1demonstra
çã
o 1

.demo_class_2demo2demonstra
çã
o2

.demo_class_3demo3demonstra
çã
o3
……………
项目a的差量配置表:多语言条目\engpor

国家三字码.demo_class_a1demoa1demonstra
çã
oa1

.demo_class_a2demoa2demonstra
çã
oa2
……………
项目b的差量配置表:多语言条目\engpor

国家三字码.demo_class_b1demob1demonstra
çã
ob1

.demo_class_b2demob2demonstra
çã
ob2
……………
项目c的差量配置表:多语言条目\engpor

国家三字码.demo_class_c1democ1demonstra
çã
oc1

.demo_class_c2democ2demonstra
çã
oc2
……………
2、如果是公共条目变动,则只需要更新基础配置表,如果是某一个项目的多语言条目变动(新增、删除、更新),则仅需要调整对应的项目差量配置表即可;3、如果一个条目在基础配置表和项目的差量配置表中同时存在,则表示生成该项目的多语言文件时该条目需要使用项目的差量配置表的配置;例如:在项目a中增加“.demo_class_1”,项目b中增加“.demo_class_2”,项目c中增加“.demo_class_3”项目a:多语言条目\engpor

国家三字码.demo_class_1demo1-ademonstra
çã
o1-a

.demo_class_a1demoa1demonstra
çã
oa1

.demo_class_a2demoa2demonstra
çã
oa2
……………
项目b:多语言条目\engpor

国家三字码.demo_class_2demo2-bdemonstra
çã
o2-b

.demo_class_b1demob1demonstra
çã
ob1

.demo_class_b2demob2demonstra
çã
ob2
……………
项目c:多语言条目\engpor

国家三字码.demo_class_3demo3-cdemonstra
çã
o3-c

.demo_class_c1democ1demonstra
çã
oc1

.demo_class_c2democ2demonstra
çã
oc2
……………
4、如果项目不需要某一种语言的多语言文件,只需要在项目的差量配置表中移除该语言对应国家三字码所在的列即可,差量配置表中三字码的数量就对应了项目所需要的多语言文件的数量,这将决定最终生成的项目多语言包的总大小;例如:基础配置表中包含5种语言配置:英语(eng)、葡萄牙语(por)、西班牙语(spa)、日语(jpn)、韩语(kor)项目a的差量配置表中包含3种语言配置:英语(eng)、葡萄牙语(por)、西班牙语(spa)项目b的差量配置表中包含4种语言配置:英语(eng)、葡萄牙语(por)、西班牙语(spa)、日语(jpn)项目c的差量配置表中包含5种语言配置:英语(eng)、葡萄牙语(por)、西班牙语(spa)、日语(jpn)、韩语(kor)生成的多语言文件:项目a:eng.css、por.css、spa.css项目b:eng.css、por.css、spa.css、jpn.css项目c:eng.css、por.css、spa.css、jpn.css、kor.css5、生成程序根据上述规则,基于基础配置表和项目差量配置表生成多语言文件。
17.项目a代码如下:eng.css:.demo_class_1::before{ content:"demo1-a";}.demo_class_2::before{ content:"demo2";}.demo_class_3::before{ content:"demo3";}.demo_class_a1::before{ content:"demoa1";
}.demo_class_a2::before { content: "demoa2";}

por.css:.demo_class_1::before { content: "demonstra
çã
o 1-a";}.demo_class_2::before { content: "demonstra
çã
o 2";}.demo_class_3::before { content: "demonstra
çã
o 3";}.demo_class_a1::before { content: "demonstra
çã
o a1";}.demo_class_a2::before { content: "demonstra
çã
o a2";}

项目b代码如下:eng.css:.demo_class_1::before { content: "demo 1";}.demo_class_2::before { content: "demo 2-b";}.demo_class_3::before { content: "demo 3";}.demo_class_b1::before { content: "demo b1";}.demo_class_b2::before { content: "demo b2";}

por.css:.demo_class_1::before { content: "demonstra
çã
o 1";}.demo_class_2::before { content: "demonstra
çã
o 2-b";}.demo_class_3::before { content: "demonstra
çã
o 3";}.demo_class_b1::before { content: "demonstra
çã
o b1";}.demo_class_b2::before { content: "demonstra
çã
o b2";}

项目c代码如下:eng.css:.demo_class_1::before { content: "demo 1";}.demo_class_2::before { content: "demo 2";}.demo_class_3::before { content: "demo 3-c";}.demo_class_c1::before { content: "demo c1";}.demo_class_c2::before { content: "demo c2";}

por.css:.demo_class_1::before { content: "demonstra
çã
o 1";
}.demo_class_2::before { content: "demonstra
çã
o 2";}.demo_class_3::before { content: "demonstra
çã
o 3-c";}.demo_class_c1::before { content: "demonstra
çã
o c1";}.demo_class_c2::before { content: "demonstra
çã
o c2";}

实施例一如图1所示,本实施例列举了一种基于差量的多项目多语言生成方法,包括:将所有项目中的公共条目进行提取,生成一份基础配置表,将每一个项目减去公共条目后生成其对应的差量配置表,在基础配置表以及差量配置表中采用国家三字码标志列名;若一条目需要配置,则该条目同时存在于所述基础配置表以及差量配置表中;每个项目根据基础配置表和项目差量配置表生成多语言文件;若一项目不需要某一种语言的多语言文件,则将该项目的差量配置表中移除该语言对应的列,如果项目不需要某一种语言的多语言文件,只需要在项目的差量配置表中移除该语言对应国家三字码所在的列即可,差量配置表中三字码的数量就对应了项目所需要的多语言文件的数量,这将决定最终生成的项目多语言包的总大小。
18.基于同一发明构思,本技术还提供了与实施例一中的方法对应的装置,详见实施例二。
19.实施例二如图2所示,在本实施例中提供了一种基于差量的多项目多语言生成装置,包括:配置表模块,将所有项目中的公共条目进行提取,生成一份基础配置表,将每一个项目减去公共条目后生成其对应的差量配置表,在基础配置表以及差量配置表中采用国家三字码标志列名;条目设置模块,若一条目需要配置,则该条目同时存在于所述基础配置表以及差量配置表中;生成模块,每个项目根据基础配置表和项目差量配置表生成多语言文件;维护模块,若一项目不需要某一种语言的多语言文件,则将该项目的差量配置表中移除该语言对应的列,如果项目不需要某一种语言的多语言文件,只需要在项目的差量配置表中移除该语言对应国家三字码所在的列即可,差量配置表中三字码的数量就对应了项目所需要的多语言文件的数量,这将决定最终生成的项目多语言包的总大小。
20.由于本发明实施例二所介绍的装置,为实施本发明实施例一的方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
21.基于同一发明构思,本技术提供了实施例一对应的电子设备实施例,详见实施例三。
22.实施例三本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。
23.由于本实施例所介绍的电子设备为实施本技术实施例一中方法所采用的设备,故而基于本技术实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本技术实施例中的方法不再详细介绍。只要本领域所属技术人员实施本技术实施例中的方法所采用的设备,都属于本技术所欲保护的范围。
24.基于同一发明构思,本技术提供了实施例一对应的存储介质,详见实施例四。
25.实施例四本实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,可以实现实施例一中任一实施方式。
26.本技术实施例中提供的技术方案,至少具有如下技术效果或优点:使用基础配置表+差量配置表的模式,解决了运维在调整公共多语言条目时需要同时更新多个配置表的问题,明确了更新对象,同时极大的减少了运维过程中的错漏率。另外,通过调整差量配置表的国家三字码数量,进一步优化了最终生成的项目多语言包的总大小。
27.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
28.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
29.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
30.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
31.虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1