一种语言文件生成方法及装置的制作方法

文档序号:6385547阅读:202来源:国知局
专利名称:一种语言文件生成方法及装置的制作方法
技术领域
本发明属于移动终端技术领域,尤其涉及一种语言文件生成方法及装置。
背景技术
随着移动终端智能化技术的飞速发展,移动终端的功能越来越强大,用户可以通过网络下载自己喜欢的应用程序进行安装,以享受移动终端的智能化体验。与此同时,安卓Android系统凭借其开放性强的优势,目前逐渐取代传统的移动终端操作系统,成为了市场主流。然而,由于现有Android应用程序只预置了一些地区或国家的语言,缺少部分地区或国家的语言,因此当Android应用程序预置的语言不为用户所在地区或国家的语言时,用户对该Android应用程序操作困难,降低了用户的操作效率。

发明内容
本发明实施例的目的在于提供一种语言文件生成方法,旨在当Android应用程序预置的语言不为用户所在地区或国家的语言时,用户对该Android应用程序操作困难,降低了用户的操作效率的问题。本发明实施例是这样实现的,一种语言文件生成方法,包括获取安卓Android系统中设置的语言种类;解包所述Android系统的应用程序的安装包,生成解包文件;当所述解包文件中缺乏所述语言种类的语言文件时,抽取所述解包文件中的预置语目文件;将所述预置语言文件翻译成与设置的语言种类相同类型的语言文件,并对所述解包文件执行打包操作,以生成与所述应用程序对应的新安装包。本发明实施例的另一目的在于提供一种语言文件生成装置,包括获取单元,用于获取安卓Android系统中设置的语言种类;解包单元,用于对解包所述Android系统的应用程序的安装包,生成解包文件;抽取单元,用于当所述解包文件中缺乏所述语言种类的语言文件时,抽取所述解包文件中的预置语言文件;生成单元,用于将所述预置语言文件翻译成与设置的语言种类相同类型的语言文件,并对所述解包文件执行打包操作,以生成与所述应用程序对应的新安装包。在本发明实施例中,当解包文件中缺乏Android系统中设置的语言种类的语言文件时,抽取解包文件中的预置语言文件,将该预置语言文件翻译成与设置的语言种类相同类型的语言文件,以使应用程序的操作界面上显示与设置的语言种类相同类型的操作语言,解决了当Android应用程序预置的语言不为用户所在地区或国家的语言时,用户对应用程序操作困难的问题,从而提高了用户操作效率。


图1是本发明实施例提供的语言文件生成方法的实现流程图;图2是本发明实施例提供的语言文件生成方法步骤S102具体实现流程图;图3是本发明实施例提供的语言文件生成装置的结构框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。在本发明实施例中,当解包文件中缺乏Android系统中设置的语言种类的语言文件时,抽取解包文件中的预置语言文件,将该预置语言文件翻译成与设置的语言种类相同类型的语言文件,以使应用程序的操作界面上显示与设置的语言种类相同类型的操作语言,解决了当Android应用程序预置的语言不为用户所在地区或国家的语言时,用户对应用程序操作困难的问题,从而提高了用户操作效率。图1示出了本发明实施例提供的一种语言文件生成方法的实现流程,详述如下在步骤SlOl中,获取安卓Android系统中设置的语言种类。在本实施例中,获取安卓Android系统中设置的语言种类,可在Android系统配置文件中,通过关键字段查询,直接获取到用户设置的语言种类。作为本发明的一个优选实施例,实时获取Android系统中设置的语言种类。在本实施例中,可通过设置一个监听控件,当系统接收到用户设置语言种类的指令时,触发启动监听控件,以使监听控件监听到用户设置语言种类的广播信息,实时捕获用户设置的语言种类,从而完成了 Android系统中设置的语言种类的实时获取,便于当用户对语言种类重新设置时,重新将预置语言文件翻译成与设置的语言种类相同类型的语言文件。在步骤S102中,对Android系统的应用程序的安装包进行解包,生成解包文件。在本实施例中,应用程序的安装包即为安卓安装包(Android Package,APK),在后台将全部应用程序的安装包进行解包,可采用现有技术的任一种解包方式,对安装包进行解包,生成解包文件。如通过ZIP的方式解包,也可以通过RAR的方式完成解包,具体解包方式,在此不做限制。作为本发明的一个优先实施例,图2示出了步骤S102的具体实施流程在步骤S201中,显示应用程序列表,该应用程序列表中包括移动终端安装的应用程序。在本实施例中,在移动终端的界面上显示移动终端安装的应用程序,由于应用程序比较多,可以通过在界面上绘制一个图表,以应用程序的功能作为应用程序的归类标识,根据归类标识可以查看同一功能类型的应用程序,以便用户进行指定的操作。在步骤S202中,检测用户在应用程序列表中指定的应用程序。在本实施例中,用户在该应用程序列表中指定的应用程序,指定的方式包括但不限于触摸或者按键,通过对用户的指定操作检测,接收用户的指定结果。在步骤S203中,将用户在应用程序列表中指定的应用程序的安装包进行解包。
在本实施例中,可采用现有技术的任一种解包方式,对安装包进行解包,生成解包文件。如通过ZIP的方式解包,也可以通过RAR的方式完成解包,具体解包方式,在此不做限制。在移动终端的显示界面上应用程序列表,用户根据个人需要对应用程序进行解包,避免了系统在后台将全部应用程序的安装包进行解包,从而节省了解包时间,并提高了解包的准确率和效率。作为本发明另一个实施例,也可以先执行步骤S102,再执行步骤S101,步骤S102和步骤SlOl具体的实施过程,在上述实施例已有说明,在此不做赘述。在步骤S103中,当解包文件中缺乏语言种类的语言文件时,抽取该解包文件中的预置语言文件。在本实施例中,解包后生成解包文件,解包文件中包括所有未经编译的资源的子文件夹,子文件夹中包括了应用程序的安装包中的语言文件。在本实施例中,由于子文件夹的命名都遵循安卓协议规定,因此可根据子文件夹的命名判断子文件夹中语言文件的语言种类。如子文件夹命名为values-zh-rCN,表示子文件夹中语言文件的语言种类为简体中文,子文件夹命名为values-en-rUK,表示子文件夹中语言文件的语言种类为英式英语,由于语言种类过多,在此不一一赘述。在本实施例中,为便于说明,以实际应用为例,当用户设置的语言种类为简体中文时,解包后,对子文件夹的命名进行检测,当没有检测到values-zh-rCN时,表示这个Android系统的应用程序的解包文件中缺乏语言种类的语言文件。在步骤S104中,将预置语言文件翻译成与设置的语言种类相同类型的语言文件,并对解包文件执行打包操作,以生成应用程序对应的新安装包。在本实施例中,根据语言种类生成语言文件,具体地,检测子文件夹名为参值数(Values)的子文件夹,检测该子文件夹中定义字符串(string)文件。需要说明的是,由于Android协议规定strings, xml是Android系统为开发者提供的存储字符串内容的XML文件,在应用程序中开发者按语言种类定义字符串内容,因此strings, xml是Android系统的应用程序的安装包的语言文件。在本实施例中,检测到strings, xml后,采用预置的编译器打开strings, xml,由于strings, xml是遵循安卓协议规定,因此strings, xml的格式都是统一的,如〈stringname=〃字符串变量名〃〉定义值〈/string〉,string name表示字符串变量名,通过XML调用语句,以每个字符串变量名作为引用变量,调出每个字符串变量对应的定义值。在本实施例中,根据语言种类确定翻译语言,可采用现有技术的任一种翻译方式,将预置语言文件翻译成与设置的语言种类相同类型的语言文件。如通过预设多语言翻译的API接口,联网到数据库进行查询,并接收翻译结果,也以通过内置的语言翻译工具进行翻译,具体翻译方式,在此不做限制。在本实施例中,按翻译语言将每个字符串变量名对应的定义值进行翻译得到翻译定义值,再对字符串变量名对应的定义值进行重新定义,具体地,在预置语言文件上,根据定义值进行检测替换,当定义值相同时,将翻译定义值替换定义值,在预置语言文件上完成了每个字符串变量名对应的定义值的替换,从而完成了根据语言种类生成语言文件。为便于说明,以实际应用为例,如预置语言文件中的语句为〈string name=〃title_activity_main〃>MainActivity〈/string〉,
其中“title_activity_main”为字符串变量名,“MainActivity”为字符串变量名对应的定义值,当获取设置的语言种类为简体中文时,然后按简体中文对字符串变量名对应的定义值进行翻译,也就是将“MainActivity”进行翻译成简体中文,从而得出“MainActivity”对应的翻译定义值为主界面。在预置语言文件上,根据“MainActivity”进行检测替换,当检测到定义值为MainActivity时,将“MainActivity”替换为主界面。可选地,也可以记录下字符串变量的行数,根据行数确定需要替换的定义值在文件的具体行数,将当定义值相同时,将翻译定义值替换该定义值,从而减少了全篇检测的步骤,节省了用户时间,提高了替换的效率。在本实施例中,对解包文件执行打包操作,以生成应用程序对应的新安装包,从而保持现有的android系统的调用程序,便于android系统后续对应用程序对应的新安装包的调用。作为本发明的一个优先实施例,根据语言种类在Android系统的应用程序的安装 包中生成语言子文件夹,在该语言子文件夹下根据该语言种类生成语言文件。在本实施例中,在Android系统的应用程序的安装包中根据语言种类生成语言子文件夹,具体地,拷贝子文件夹名为Values子文件夹中的数据,以生成语言子文件夹,并将语言子文件夹设置为默认语言文件夹,再在默认语言文件夹中,将预置语言文件的每个字符串变量名对应的定义值进行翻译和替换,得到与设置的语言种类相同类型的语言文件,从而既保留了预置语言文件,也生成了需要的语言文件,具体翻译和替换在上述实施例已有说明,在此不做赘述。作为本发明的一个优选实施例,根据国家语言的文件命名规定对所述语言子文件夹进行命名,当语言文件为简体中文时,子文件夹命名为values-zh-rCN ;当语言文件为繁
体中文时,子文件夹命名为values-zh-rTW,由于语言种类过多,在此不--赘述,通过国家
语言的文件命名规定对语言文件进行命名,便于android系统根据当前设置的语言环境,自动让APK寻找对应的语言文件。作为本发明的一个优选实施例,当应用程序下载完毕时,执行语言文件生成的步骤。在本实施例中,具体可设置一个监听控件,将应用程序下载完成的广播信息作为触发条件,当在系统中监听关于应用程序下载完成的广播信息时,执行语言文件生成的步骤,从而当应用程序下载完成时,获取安卓Android系统中设置的语言种类,对应用程序的安装包进行解包,当解包文件中缺乏语言种类的语言文件时,抽取解包文件中预置语言文件翻译成与设置的语言种类相同类型的语言文件,从而快速生成用户需要的语言文件。图3示出了本发明实施例提供的一种语言文件生成装置的结构框图,该装置可以运行于采用Android系统的终端,包括但不限于移动终端。为了便于说明,仅示出了与本实施例相关的部分。参照图3,该装置包括获取单元31,用于获取安卓Android系统中设置的语言种类。解包单元32,用于解包Android系统的应用程序的安装包,生成解包文件。抽取单元33,用于当解包文件中缺乏该语言种类的语言文件时,抽取该解包文件中的预置语言文件。
生成单元34,用于将预置语言文件翻译成与设置的语言种类相同类型的语言文件,并对解包文件执行打包操作,以生成与应用程序对应的新安装包。具体地,在该装置中,获取单元31还用于实时获取Android系统中设置的语言种类。具体地,在该装置中,解包单元32,包括显示子单元321,用于显示应用程序列表,该应用程序列表中包括移动终端安装的应用程序。检测子单元322,用于检测用户在应用程序列表中指定的应用程序。解包子单元323,用于将用户在该应用程序列表中指定的应用程序的安装包进行解包。进一步地,在该装置中,生成单元34还用于根据语言种类在Android系统的应用程序的安装包中生成语言子文件夹,在该语言子文件夹下根据该语言种类生成语言文件。进一步地,在该装置中,还包括执行单元35,用于当应用程序下载完毕时,执行语言文件生成的步骤。在本发明实施例中,当解包文件中缺乏Android系统中设置的语言种类的语言文件时,抽取解包文件中的预置语言文件,将该预置语言文件翻译成与设置的语言种类相同类型的语言文件,以使应用程序的操作界面上显示与设置的语言种类相同类型的操作语言,解决了当Android应用程序预置的语言不为用户所在地区或国家的语言时,用户对应用程序操作困难的问题,从而提高了用户操作效率。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种语言文件生成方法,其特征在于,包括获取安卓Android系统中设置的语言种类;解包所述Android系统的应用程序的安装包,生成解包文件;当所述解包文件中缺乏所述语言种类的语言文件时,抽取所述解包文件中的预置语言文件;将所述预置语言文件翻译成与设置的语言种类相同类型的语言文件,并对所述解包文件执行打包操作,以生成与所述应用程序对应的新安装包。
2.如权利要求1所述的方法,其特征在于,获取安卓Android系统中设置的语言种类, 具体为实时获取Android系统中设置的语言种类。
3.如权利要求1所述的方法,其特征在于,所述解包所述Android系统的应用程序的安装包,具体为显示应用程序列表,所述应用程序列表中包括移动终端安装的应用程序;检测用户在所述应用程序列表中指定的应用程序;将所述用户在所述应用程序列表中指定的应用程序的安装包进行解包。
4.如权利要求1所述的方法,其特征在于,所述方法包括根据所述语言种类在所述Android系统的应用程序的安装包中生成语言子文件夹,在所述语言子文件夹下根据所述语言种类生成语言文件。
5.如权利要求1所述的方法,其特征在于,所述方法还包括当应用程序下载完毕时,执行语言文件生成的步骤。
6.一种语言文件生成装置,其特征在于,包括获取单元,用于获取安卓Android系统中设置的语言种类;解包单元,用于对解包所述Android系统的应用程序的安装包,生成解包文件;抽取单元,用于当所述解包文件中缺乏所述语言种类的语言文件时,抽取所述解包文件中的预置语言文件;生成单元,用于将所述预置语言文件翻译成与设置的语言种类相同类型的语言文件, 并对所述解包文件执行打包操作,以生成与所述应用程序对应的新安装包。
7.如权利要求6所述的装置,其特征在于,所述获取单元还用于实时获取Android系统中设置的语言种类。
8.如权利要求6所述的装置,其特征在于,所述解包单元,包括显示子单元,用于显示应用程序列表,所述应用程序列表中包括移动终端安装的应用程序;检测子单元,用于检测用户在所述应用程序列表中指定的应用程序;解包子单元,用于将所述用户在所述应用程序列表中指定的应用程序的安装包进行解包。
9.如权利要求6所述的装置,其特征在于,所述生成单元还用于根据所述语言种类在所述Android系统的应用程序的安装包中生成语言子文件夹,在所述语言子文件夹下根据所述语言种类生成语言文件。
10.如权利要求6所述的装置,其特征在于,所述方法包括执 行单元,用于当应用程序下载完毕时,执行语言文件生成的步骤。
全文摘要
本发明适用于移动终端技术领域,提供了一种语言文件生成方法及装置,包括获取安卓Android系统中设置的语言种类;解包所述Android系统的应用程序的安装包,生成解包文件;当所述解包文件中缺乏所述语言种类的语言文件时,抽取所述解包文件中的预置语言文件;将所述预置语言文件翻译成与设置的语言种类相同类型的语言文件,并对所述解包文件执行打包操作,以生成与所述应用程序对应的新安装包。在本发明实施例中,将预置语言文件翻译成与设置的语言种类相同类型的语言文件,解决了当Android应用程序预置的语言不为用户所在地区或国家的语言时,用户对应用程序操作困难的问题,从而提高了用户操作效率。
文档编号G06F9/44GK103019736SQ20121057502
公开日2013年4月3日 申请日期2012年12月26日 优先权日2012年12月26日
发明者高才 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1