界面字符串筛选方法及系统与流程

文档序号:11154570阅读:233来源:国知局
界面字符串筛选方法及系统与制造工艺

本发明涉及通信领域,尤其涉及一种界面(UI)字符串筛选方法及系统。



背景技术:

目前,机顶盒软件开发分为全功能的预言开发,以及产品开发两个阶段。预言开发阶段的软件大而全,产品开发阶段的软件简而精。在支持多语言的机顶盒产品开发阶段,需要把实际使用到的UI(界面)字符串由大量的UI字符串中筛选出来用于翻译,精准查找实际使用的UI字符串非常繁琐耗时。

通常,机顶盒软件开发会把所有可能会用到的UI字符串做成一个index(索引)列表,然后由人工根据index去做查找,人工在海量的代码中根据index一个一个的筛选确认,并且还需注意宏控制问题,这样的查找的结果完全依赖于人工,费时且容易出错。



技术实现要素:

有鉴于此,有必要针对上述UI字符串筛选由人工来完成,费时且容易出错的问题,提供一种界面字符串筛选方法及系统。

本发明提供的一种界面字符串筛选方法,包括如下步骤:

S10:在机顶盒程序开发过程中,在UI层程序中对要实际使用的UI字符串所在程序进行宏开关标记;

S20:将UI层程序输入编译器进行预编译,对UI层程序进行筛选,将标记的UI字符串所在程序筛选出来,并生成M个预编译文件;

S30:对M个预编译文件进行一一查找,将不含有索引列表文件名的预编译文件移除,全部移除后获取剩下N个预编译文件;

S40:对于索引列表中的每个索引关键词,均在N个预编译文件中进行查找,若在N个预编译文件中查找结果次数大于N,则获取该索引关键词对应UI字符串进行保留,将所有索引关键词查找完毕后,将最终保留的所有UI字符串作为结果输出。

在其中的一个实施方式中,所述步骤S20还包括:检测UI层程序存储位置,若存储在外部U盘中,则将UI层程序先缓存到机顶盒内存中再进行预编译。

在其中的一个实施方式中,所述步骤S40还包括:将N个预编译文件拼接成一个大文件。

本发明提供的一种界面字符串筛选系统,包括:

标记模块,在机顶盒程序开发过程中,在UI层程序中对要实际使用的UI字符串所在程序进行宏开关标记;

预编译处理模块,将UI层程序输入编译器进行预编译,对UI层程序进行筛选,将标记的UI字符串所在程序筛选出来,并生成M个预编译文件;

预编译文件筛选模块,对M个预编译文件进行一一查找,将不含有索引列表文件名的预编译文件移除,全部移除后获取剩下N个预编译文件;

UI字符串获取模块,对于索引列表中的每个索引关键词,均在N个预编译文件中进行查找,若在N个预编译文件中查找结果次数大于N,则获取该索引关键词对应UI字符串进行保留,将所有索引关键词查找完毕后,将最终保留的所有UI字符串作为结果输出。

在其中的一个实施方式中,所述预编译处理模块检测UI层程序存储位置,若存储在外部U盘中,则将UI层程序先缓存到机顶盒内存中再进行预编译。

在其中的一个实施方式中,所述UI字符串获取模块将N个预编译文件拼接成一个大文件。

本发明界面字符串筛选方法及系统,利用编译器的预编译功能,对进行宏开关标记的UI字符串所在程序进行预编译筛选,对UI层程序进行精简,然后通过查找索引列表文件名对所有预编译文件进行二次筛选,在筛选剩余的N个预编译文件中查找每个检索关键词,若查找结果大于N则获取该UI字符串,最终将所有获取的UI字符串作为筛选结果输出完成筛选,筛选过程无需人工操作,均自动进行,从而大大节约了人工成本,大大提高效率且不容易出错。

附图说明

图1是一个实施例中的界面字符串筛选方法的流程图;

图2是一个实施例中的界面字符串筛选系统的结构图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

机顶盒软件开发过程中,会用到编译器进行程序的编译工作,而编译器都具备有预编译功能,预编译功能可以对源程序进行筛选操作,将标记或者定义好的实际使用的程序筛选出来,精简源程序的大小,本发明利用已有的编译器,及编译器自带的预编译功能对UI字符串进行筛选,快速获取实际使用的UI字符串。

如图1是一个实施例中的界面字符串筛选方法的流程图,该方法包括如下步骤:

S10:在机顶盒程序开发过程中,在UI层程序中对要实际使用的UI字符串所在程序进行宏开关标记。

机顶盒软件程序开发过程中,对于实际使用或者需要的程序(或文件)可以进行宏开关标记,通过宏开关可以设定是否需要,这样经过编译器预编译之后就可以将宏开关标记的程序筛选出来,从而对大的程序进行精简,减少编译器的处理量和开发的工作量。在该实施例中,由于UI字符串都在UI层各个程序或者文件中,故在UI层程序中对要实际使用的UI字符串所在程序进行标记,以方便后续进行预编译筛选。

S20:将UI层程序输入编译器进行预编译,对UI层程序进行筛选,将标记的UI字符串所在程序筛选出来,并生成M个预编译文件。

标记后将UI层程序输入编译器进行预编译,预编译会根据能够识别的标记将带有标记的程序筛选出来,这样就大大精简了UI层程序。根据UI层程序文件的数量M预编译生成M个预编译文件,即预编译之后生成预编译文件的数目M与UI层初始文件数目相同。

在进行预编译时,UI层程序存储在缓存或者U盘中,如果存储在U盘中在进行预编译时会影响编译的效率,故该步骤还包括:检测UI层程序存储位置,若存储在外部U盘中,则将UI层程序先缓存到机顶盒内存中再进行预编译。

S30:对M个预编译文件进行一一查找,将不含有索引列表文件名的预编译文件移除,全部移除后获取剩下N个预编译文件。

由于所有要实际使用的UI字符串都做成一个索引列表,索引列表中含有多个索引关键字,每个索引关键字对应索引一个UI字符串。在UI层程序的每个文件中,如果该文件中含有实际要使用到的UI字符串,则该文件中会含有索引列表文件名,以便进行引用,而如果不含有实际要使用到的UI字符串则不含有索引列表文件名。预编译之后,预编译文件中如果含有索引列表文件名则说明该预编译文件中含有要实际使用到的UI字符串,则该预编译文件要保留;如果不含有索引列表文件名则说明该预编译文件中不含有要实际使用到的UI字符串,则该预编译文件要移除,以减少预编译文件的数目,全部移除后获取剩下的N个预编译文件,从而进一步的进行精简。

S40:对于索引列表中的每个索引关键词,均在N个预编译文件中进行查找,若在N个预编译文件中查找结果次数大于N,则获取该索引关键词对应UI字符串进行保留,将所有索引关键词查找完毕后,将最终保留的所有UI字符串作为结果输出。

在预编译之后,编译器会将索引列表中所有的索引关键词添加到每个预编译文件中,这样对于N个预编译文件,则每个索引关键词至少出现N次,由于每个索引关键词还对应索引一个UI字符串,如果UI字符串是实际使用到的,则索引关键词能查找到对应的UI字符串,这样查找结果次数大于N,故通过对每个索引关键词的查找,如果查找结果大于N,则说明该索引关键词对应UI字符串是要实际使用的,需要保留,再将所有索引关键词查找完毕后,将最终保留的所有UI字符串作为结果输出,即筛选完毕。

对于N个预编译文件,每个索引关键词,编译器均需要启动N次,这样编译器启动次数太多会大量耗时,为减少编译器启动的次数,该步骤还包括:将N个预编译文件拼接成一个大文件。这样对于每个索引关键词,编译器只需要启动一次即可,大大减少编译器启动次数。

该界面字符串筛选方法,利用编译器的预编译功能,对进行宏开关标记的UI字符串所在程序进行预编译筛选,对UI层程序进行精简,然后通过查找索引列表文件名对所有预编译文件进行二次筛选,在筛选剩余的N个预编译文件中查找每个检索关键词,若查找结果大于N则获取该UI字符串,最终将所有获取的UI字符串作为筛选结果输出完成筛选,筛选过程无需人工操作,均自动进行,从而大大节约了人工成本,大大提高效率且不容易出错。

同时,本发明还提供一种界面字符串筛选系统,如图2所示,该系统包括:

标记模块100,在机顶盒程序开发过程中,在UI层程序中对要实际使用的UI字符串所在程序进行宏开关标记。

机顶盒软件程序开发过程中,对于实际使用或者需要的程序(或文件)可以进行宏开关标记,通过宏开关可以设定是否需要,这样经过编译器预编译之后就可以将宏开关标记的程序筛选出来,从而对大的程序进行精简,减少编译器的处理量和开发的工作量。在该实施例中,由于UI字符串都在UI层各个程序或者文件中,故标记模块100在UI层程序中对要实际使用的UI字符串所在程序进行标记,以方便后续进行预编译筛选。

预编译处理模块200,将UI层程序输入编译器进行预编译,对UI层程序进行筛选,将标记的UI字符串所在程序筛选出来,并生成M个预编译文件。

标记后预编译处理模块200将UI层程序输入编译器进行预编译,预编译会根据能够识别的标记将带有标记的程序筛选出来,这样就大大精简了UI层程序。预编译处理模块200根据UI层程序文件的数量M预编译生成M个预编译文件,即预编译之后生成预编译文件的数目M与UI层初始文件数目相同。

在进行预编译时,UI层程序存储在缓存或者U盘中,如果存储在U盘中在进行预编译时会影响编译的效率,预编译处理模块200检测UI层程序存储位置,若存储在外部U盘中,则将UI层程序先缓存到机顶盒内存中再进行预编译。

预编译文件筛选模块300,对M个预编译文件进行一一查找,将不含有索引列表文件名的预编译文件移除,全部移除后获取剩下N个预编译文件。

由于所有要实际使用的UI字符串都做成一个索引列表,索引列表中含有多个索引关键字,每个索引关键字对应索引一个UI字符串。在UI层程序的每个文件中,如果该文件中含有实际要使用到的UI字符串,则该文件中会含有索引列表文件名,以便进行引用,而如果不含有实际要使用到的UI字符串则不含有索引列表文件名。预编译之后,预编译文件中如果含有索引列表文件名则说明该预编译文件中含有要实际使用到的UI字符串,则该预编译文件要保留;如果不含有索引列表文件名则说明该预编译文件中不含有要实际使用到的UI字符串,则该预编译文件要移除,以减少预编译文件的数目,全部移除后获取剩下的N个预编译文件,从而进一步的进行精简。

UI字符串获取模块400,对于索引列表中的每个索引关键词,均在N个预编译文件中进行查找,若在N个预编译文件中查找结果次数大于N,则获取该索引关键词对应UI字符串进行保留,将所有索引关键词查找完毕后,将最终保留的所有UI字符串作为结果输出。

在预编译之后,编译器会将索引列表中所有的索引关键词添加到每个预编译文件中,这样对于N个预编译文件,则每个索引关键词至少出现N次,由于每个索引关键词还对应索引一个UI字符串,如果UI字符串是实际使用到的,则索引关键词能查找到对应的UI字符串,这样查找结果次数大于N,故UI字符串获取模块400通过对每个索引关键词的查找,如果查找结果大于N,则说明该索引关键词对应UI字符串是要实际使用的,需要保留,再将所有索引关键词查找完毕后,将最终保留的所有UI字符串作为结果输出,即筛选完毕。

对于N个预编译文件,每个索引关键词,编译器均需要启动N次,这样编译器启动次数太多会大量耗时,为减少编译器启动的次数,UI字符串获取模块400将N个预编译文件拼接成一个大文件。这样对于每个索引关键词,编译器只需要启动一次即可,大大减少编译器启动次数。

该界面字符串筛选系统,利用编译器的预编译功能,预编译处理模块200对进行宏开关标记的UI字符串所在程序进行预编译筛选,对UI层程序进行精简,然后预编译文件筛选模块300通过查找索引列表文件名对所有预编译文件进行二次筛选,UI字符串获取模块400在筛选剩余的N个预编译文件中查找每个检索关键词,若查找结果大于N则获取该UI字符串,最终将所有获取的UI字符串作为筛选结果输出完成筛选,筛选过程无需人工操作,均自动进行,从而大大节约了人工成本,大大提高效率且不容易出错。

本发明界面字符串筛选方法及系统,利用编译器的预编译功能,对进行宏开关标记的UI字符串所在程序进行预编译筛选,对UI层程序进行精简,然后通过查找索引列表文件名对所有预编译文件进行二次筛选,在筛选剩余的N个预编译文件中查找每个检索关键词,若查找结果大于N则获取该UI字符串,最终将所有获取的UI字符串作为筛选结果输出完成筛选,筛选过程无需人工操作,均自动进行,从而大大节约了人工成本,大大提高效率且不容易出错。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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