一种基于Android系统的语言添加方法
【专利摘要】本发明公开一种基于Android系统的语言添加方法,该方法简单,便捷,易于实现,使得Android平台可以很好地支持维语等其它小语种。如此一来,Android手机可以很好地在使用维语等小语种的用户人群中推广,使得Android手机真正实现支持所有语言的国际化,既增加了公司的客户群体,也很大程度上推动了Android平台的国际化。
【专利说明】—种基于Android系统的语言添加方法
【技术领域】
[0001]本发明涉及语言添加【技术领域】,尤其涉及一种基于Android系统的语言添加方法。
【背景技术】
[0002]Android系统是一款支持多国语言的手机操作系统,支持多国语言的特性使得Android系统在各地区间传播没有了障碍。但是,目前使用颇广的Android4.2 “果冻豆”系统并不支持维语等其它小语种的显示,致使使用维语的用户无法使用Android手机,造成了 Android手机市场的地域范围无法扩展到维语区域,使得Android手机无法在使用维语的用户中推广,不利于Android系统在全球范围内各区域的推广。
【发明内容】
[0003]本发明的目的在于通过一种基于Android系统的语言添加方法,来解决以上【背景技术】部分提到的问题。
[0004]为达此目的,本发明采用以下技术方案:
[0005]一种基于Android系统的语言添加方法,包括如下步骤:
[0006]A、检查I⑶4C资源是否支持待添加的语言类型,若不支持,则执行步骤B,若支持,则执行步骤C ;
[0007]B、添加与所述待添加的语言类型对应的I⑶4C资源;
[0008]C、编译资源,生成.bat文件;
[0009]D、获取支持所述待添加的语言类型并可用于Android系统的语言资源包;
[0010]E、添加所述待添加的语言类型的字库;
[0011]F、将所述语言类型的字库配置到Android系统中;
[0012]G、在Framework层和各应用中添加所述语言类型的翻译字串;
[0013]H、Android系统配置所述语言类型,编译工程获得支持该语言类型的Android软件。
[0014]特别地,所述步骤C具体包括:在external/I⑶4C下建立临时目录icuBuild,进A icuBuild 目录;执行 icuConfigureRun Linux 命令,生成 make 文件/./ runConf i gur e I CULinux ;执行 make - j2 命令,生成 dat 文件 make - j2 ;复制 external/ICU4C/icuBuild/data/out/tmp/icudt481.dat 文件到 stubdata 下,并改名 icudt481_all.dat,覆盖原有的同名文件;重新配置环境变量,为下一步执行脚本做准备;进入icMc/stubdata,执行脚本,重新生成.dat文件,其中,生成的icudt481_default.dat即为被Android系统使用的添加了所述语言类型资源的文件。
[0015]特别地,所述步骤G具体包括:对frameworks/base/core/res/res做翻译,在此文件夹中添加values-ug-rCN文件夹,并把翻译好的所述语言类型的字串放到此文件夹下;对每个app做翻译,在每个app对应的res目录下建立values-ug-rCN文件夹,并把翻译好的所述语言类型的字串放到此文件夹下。
[0016]特别地,所述步骤H具体包括:在make文件的PR0DUCT_L0CALES字段里,添加所述待添加的语言类型,编译工程获得支持该语言类型的Android软件。
[0017]特别地,所述待添加的语言类型包括维语。
[0018]本发明提出的基于Android系统的语言添加方法简单,便捷,易于实现,使得Android平台可以很好地支持维语等其它小语种。如此一来,Android手机可以很好地在使用维语等小语种的用户人群中推广,使得Android手机真正实现支持所有语言的国际化,既增加了公司的客户群体,也很大程度上推动了 Android平台的国际化。
【专利附图】
【附图说明】
[0019]图1为本发明实施例提供的基于Android系统的语言添加方法流程图。
【具体实施方式】
[0020]下面结合附图和实施例对本发明作进一步说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
[0021]请参照图1所示,图1为本发明实施例提供的基于Android系统的语言添加方法流程图。
[0022]本实施例中基于Android系统的语言添加方法具体包括如下步骤:
[0023]步骤S101、检查I⑶4C资源是否支持待添加的语言类型,若不支持,则执行步骤S102,若支持,则执行步骤S103。
[0024]ICU4C提供了 C/C++平台强大的国际化开发能力,几乎可以使用帮助解决任何国际化的问题。可以根据各地的风俗和语言习惯,实现对数字、货币、时间、日期、和消息的格式化、解析,对字符串进行大小写转换、整理、搜索和排序等功能,必须一提的是,ICU4C使用了强大的BIDI算法,对阿拉伯语、维语等BIDI语言提供了完善的支持。Android平台就是使用ICU4C来实现多国语言中时间、日期等的显示问题的。
[0025]步骤S103、添加与所述待添加的语言类型对应的I⑶4C资源。
[0026]以所述待添加的语言类型为维语为例。目前ICU4C中并不支持维语,所以首先要对ICU4C添加维语资源的,使得它支持维语显示。
[0027]Android 系统中,ICU4C 资源存放位置是 external\ICU4C。ICU4C 文件夹下 data文件夹中存放多国语言的资源。参照阿拉伯语资源(ar.txt ar_AE.txt)添加维语资源(ug.txt ug_CN.txt)。在 data\coll\resfiles.mk 中配置维语,使得维语资源(ug.txt ug_CN.txt)可以被编译成res资源文件。lang、locales、region、zone文件夹下按照相同方法,添加维语资源。IQJ4C\stubdata\icudt481-default.txt中添加维语资源。填写内存根据data下对应的维语资源文件。完成以上操作后,ICU4C中维语资源的添加与配置工作已经完成。但这样的资源并不能被Android系统使用。Android系统使用的I⑶4C资源需要编译进icudt481_default.dat才可以被Android识别并使用。
[0028]步骤S104、编译资源,生成.bat文件。以所述待添加的语言类型为维语为例,具体步骤如下:[0029]一、在 external/ICU4C 下建立临时目录 icuBuild,进入 icuBuild 目录
[0030]mkdir external/icu4c/icuBuild
[0031]cd external/icu4c/icuBuild
[0032]二、执行 icuConfigureRun Linux 命令,生成 make 文件
[0033]/./runConfigur e I CU Linux
[0034]三、执行make - j2命令,生成dat文件
[0035]make - j2
[0036]四、复制external/ICU4C/icuBuild/data/out/tmp/icudt481.dat 文件到stubdata下,并改名icudt481_all.dat,覆盖原有的同名文件。
[0037]五、重新配置环境变量,为下一步执行脚本做准备。
[0038]export
[0039]ANDROID_EABI_TOOLCHAIN = /XXXX/ProjectPath/prebuilts/gcc/linux-x86
[0040]/arm/arm-eab1-4.6/bin
[0041]export
[0042]LD—LIBRARY—PATH = /XXXX/Pro jectPath/prebui lts/mi sc/1 inux~x86_64/ic
[0043]u-4.8
[0044]export ANDROID—BUILD—TOP = /XXXX/Pro jectPath
[0045]六、进入icu4c/stubdata,执行脚本,重新生成.dat文件。
[0046]./icu—dat—generator, py
[0047]其中,生成的icudt481_default.dat即为被Android系统使用的添加了维语资源的文件。另外,以上操作均在在Iinux环境下执行。
[0048]步骤S105、获取支持所述待添加的语言类型并可用于Android系统的语言资源包。
[0049]步骤S106、添加所述待添加的语言类型的字库。具体步骤如下:
[0050]1、复制维语字库文件到frameworks/base/data/fonts下,将ug.ttf复制到这个目录下。
[0051]2、在 frameworks\base\data\font\fallback—fonts, xml 中添加
[0052]
【权利要求】
1.一种基于Android系统的语言添加方法,其特征在于,包括如下步骤: A、检查ICU4C资源是否支持待添加的语言类型,若不支持,则执行步骤B,若支持,则执行步骤C ; B、添加与所述待添加的语言类型对应的ICU4C资源; C、编译资源,生成.bat文件; D、获取支持所述待添加的语言类型并可用于Android系统的语言资源包; E、添加所述待添加的语言类型的字库; F、将所述语言类型的字库配置到Android系统中; G、在Framework层和各应用中添加所述语言类型的翻译字串; H、Android系统配置所述语言类型,编译工程获得支持该语言类型的Android软件。
2.根据权利要求1所述基于Android系统的语言添加方法,其特征在于,所述步骤C具体包括:在external/IQJ4C下建立临时目录icuBuild,进入icuBuild目录;执行icuConfigureRun Linux 命令,生成 make 文件/./runConfigur e I CU Linux ;执#于 make _ j2命令,生成 dat 文件 make - j2 ;复制 external/ICU4C/icuBuild/data/out/tmp/icudt481.dat文件到stubdata下,并改名icudt481_all.dat,覆盖原有的同名文件;重新配置环境变量,为下一步执行脚本做准备;进入icu4c/stubdata,执行脚本,重新生成.dat文件,其中,生成的icudt481_default.dat即为被Android系统使用的添加了所述语言类型资源的文件。
3.根据权利要求2所述基于Android系统的语言添加方法,其特征在于,所述步骤G具体包括:对frameworks/base/core/res/res做翻译,在此文件夹中添加values-ug-rCN文件夹,并把翻译好的所述语言类型的字串放到此文件夹下;对每个app做翻译,在每个app对应的res目录下建立values-ug-rCN文件夹,并把翻译好的所述语言类型的字串放到此文件夹下。
4.根据权利要求3所述基于Android系统的语言添加方法,其特征在于,所述步骤H具体包括:在make文件的PRODUCT_LOCALES字段里,添加所述待添加的语言类型,编译工程获得支持该语言类型的Android软件。
5.根据权利要求1至4之一所述基于Android系统的语言添加方法,其特征在于,所述待添加的语言类型包括维语。
【文档编号】G06F9/45GK104021026SQ201410271746
【公开日】2014年9月3日 申请日期:2014年6月17日 优先权日:2014年6月17日
【发明者】王浩 申请人:无锡久源软件科技有限公司