一種基于Android系統(tǒng)的語言添加方法
【專利摘要】本發(fā)明公開一種基于Android系統(tǒng)的語言添加方法,該方法簡單,便捷,易于實(shí)現(xiàn),使得Android平臺可以很好地支持維語等其它小語種。如此一來,Android手機(jī)可以很好地在使用維語等小語種的用戶人群中推廣,使得Android手機(jī)真正實(shí)現(xiàn)支持所有語言的國際化,既增加了公司的客戶群體,也很大程度上推動了Android平臺的國際化。
【專利說明】—種基于Android系統(tǒng)的語言添加方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及語言添加【技術(shù)領(lǐng)域】,尤其涉及一種基于Android系統(tǒng)的語言添加方法。
【背景技術(shù)】
[0002]Android系統(tǒng)是一款支持多國語言的手機(jī)操作系統(tǒng),支持多國語言的特性使得Android系統(tǒng)在各地區(qū)間傳播沒有了障礙。但是,目前使用頗廣的Android4.2 “果凍豆”系統(tǒng)并不支持維語等其它小語種的顯示,致使使用維語的用戶無法使用Android手機(jī),造成了 Android手機(jī)市場的地域范圍無法擴(kuò)展到維語區(qū)域,使得Android手機(jī)無法在使用維語的用戶中推廣,不利于Android系統(tǒng)在全球范圍內(nèi)各區(qū)域的推廣。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的在于通過一種基于Android系統(tǒng)的語言添加方法,來解決以上【背景技術(shù)】部分提到的問題。
[0004]為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:
[0005]一種基于Android系統(tǒng)的語言添加方法,包括如下步驟:
[0006]A、檢查I⑶4C資源是否支持待添加的語言類型,若不支持,則執(zhí)行步驟B,若支持,則執(zhí)行步驟C ;
[0007]B、添加與所述待添加的語言類型對應(yīng)的I⑶4C資源;
[0008]C、編譯資源,生成.bat文件;
[0009]D、獲取支持所述待添加的語言類型并可用于Android系統(tǒng)的語言資源包;
[0010]E、添加所述待添加的語言類型的字庫;
[0011]F、將所述語言類型的字庫配置到Android系統(tǒng)中;
[0012]G、在Framework層和各應(yīng)用中添加所述語言類型的翻譯字串;
[0013]H、Android系統(tǒng)配置所述語言類型,編譯工程獲得支持該語言類型的Android軟件。
[0014]特別地,所述步驟C具體包括:在external/I⑶4C下建立臨時目錄icuBuild,進(jìn)A icuBuild 目錄;執(zhí)行 icuConfigureRun Linux 命令,生成 make 文件/./ runConf i gur e I CULinux ;執(zhí)行 make - j2 命令,生成 dat 文件 make - j2 ;復(fù)制 external/ICU4C/icuBuild/data/out/tmp/icudt481.dat 文件到 stubdata 下,并改名 icudt481_all.dat,覆蓋原有的同名文件;重新配置環(huán)境變量,為下一步執(zhí)行腳本做準(zhǔn)備;進(jìn)入icMc/stubdata,執(zhí)行腳本,重新生成.dat文件,其中,生成的icudt481_default.dat即為被Android系統(tǒng)使用的添加了所述語言類型資源的文件。
[0015]特別地,所述步驟G具體包括:對frameworks/base/core/res/res做翻譯,在此文件夾中添加values-ug-rCN文件夾,并把翻譯好的所述語言類型的字串放到此文件夾下;對每個app做翻譯,在每個app對應(yīng)的res目錄下建立values-ug-rCN文件夾,并把翻譯好的所述語言類型的字串放到此文件夾下。
[0016]特別地,所述步驟H具體包括:在make文件的PR0DUCT_L0CALES字段里,添加所述待添加的語言類型,編譯工程獲得支持該語言類型的Android軟件。
[0017]特別地,所述待添加的語言類型包括維語。
[0018]本發(fā)明提出的基于Android系統(tǒng)的語言添加方法簡單,便捷,易于實(shí)現(xiàn),使得Android平臺可以很好地支持維語等其它小語種。如此一來,Android手機(jī)可以很好地在使用維語等小語種的用戶人群中推廣,使得Android手機(jī)真正實(shí)現(xiàn)支持所有語言的國際化,既增加了公司的客戶群體,也很大程度上推動了 Android平臺的國際化。
【專利附圖】
【附圖說明】
[0019]圖1為本發(fā)明實(shí)施例提供的基于Android系統(tǒng)的語言添加方法流程圖。
【具體實(shí)施方式】
[0020]下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。
[0021]請參照圖1所示,圖1為本發(fā)明實(shí)施例提供的基于Android系統(tǒng)的語言添加方法流程圖。
[0022]本實(shí)施例中基于Android系統(tǒng)的語言添加方法具體包括如下步驟:
[0023]步驟S101、檢查I⑶4C資源是否支持待添加的語言類型,若不支持,則執(zhí)行步驟S102,若支持,則執(zhí)行步驟S103。
[0024]ICU4C提供了 C/C++平臺強(qiáng)大的國際化開發(fā)能力,幾乎可以使用幫助解決任何國際化的問題??梢愿鶕?jù)各地的風(fēng)俗和語言習(xí)慣,實(shí)現(xiàn)對數(shù)字、貨幣、時間、日期、和消息的格式化、解析,對字符串進(jìn)行大小寫轉(zhuǎn)換、整理、搜索和排序等功能,必須一提的是,ICU4C使用了強(qiáng)大的BIDI算法,對阿拉伯語、維語等BIDI語言提供了完善的支持。Android平臺就是使用ICU4C來實(shí)現(xiàn)多國語言中時間、日期等的顯示問題的。
[0025]步驟S103、添加與所述待添加的語言類型對應(yīng)的I⑶4C資源。
[0026]以所述待添加的語言類型為維語為例。目前ICU4C中并不支持維語,所以首先要對ICU4C添加維語資源的,使得它支持維語顯示。
[0027]Android 系統(tǒng)中,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中添加維語資源。填寫內(nèi)存根據(jù)data下對應(yīng)的維語資源文件。完成以上操作后,ICU4C中維語資源的添加與配置工作已經(jīng)完成。但這樣的資源并不能被Android系統(tǒng)使用。Android系統(tǒng)使用的I⑶4C資源需要編譯進(jìn)icudt481_default.dat才可以被Android識別并使用。
[0028]步驟S104、編譯資源,生成.bat文件。以所述待添加的語言類型為維語為例,具體步驟如下:[0029]一、在 external/ICU4C 下建立臨時目錄 icuBuild,進(jìn)入 icuBuild 目錄
[0030]mkdir external/icu4c/icuBuild
[0031]cd external/icu4c/icuBuild
[0032]二、執(zhí)行 icuConfigureRun Linux 命令,生成 make 文件
[0033]/./runConfigur e I CU Linux
[0034]三、執(zhí)行make - j2命令,生成dat文件
[0035]make - j2
[0036]四、復(fù)制external/ICU4C/icuBuild/data/out/tmp/icudt481.dat 文件到stubdata下,并改名icudt481_all.dat,覆蓋原有的同名文件。
[0037]五、重新配置環(huán)境變量,為下一步執(zhí)行腳本做準(zhǔn)備。
[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]六、進(jìn)入icu4c/stubdata,執(zhí)行腳本,重新生成.dat文件。
[0046]./icu—dat—generator, py
[0047]其中,生成的icudt481_default.dat即為被Android系統(tǒng)使用的添加了維語資源的文件。另外,以上操作均在在Iinux環(huán)境下執(zhí)行。
[0048]步驟S105、獲取支持所述待添加的語言類型并可用于Android系統(tǒng)的語言資源包。
[0049]步驟S106、添加所述待添加的語言類型的字庫。具體步驟如下:
[0050]1、復(fù)制維語字庫文件到frameworks/base/data/fonts下,將ug.ttf復(fù)制到這個目錄下。
[0051]2、在 frameworks\base\data\font\fallback—fonts, xml 中添加
[0052]
【權(quán)利要求】
1.一種基于Android系統(tǒng)的語言添加方法,其特征在于,包括如下步驟: A、檢查ICU4C資源是否支持待添加的語言類型,若不支持,則執(zhí)行步驟B,若支持,則執(zhí)行步驟C ; B、添加與所述待添加的語言類型對應(yīng)的ICU4C資源; C、編譯資源,生成.bat文件; D、獲取支持所述待添加的語言類型并可用于Android系統(tǒng)的語言資源包; E、添加所述待添加的語言類型的字庫; F、將所述語言類型的字庫配置到Android系統(tǒng)中; G、在Framework層和各應(yīng)用中添加所述語言類型的翻譯字串; H、Android系統(tǒng)配置所述語言類型,編譯工程獲得支持該語言類型的Android軟件。
2.根據(jù)權(quán)利要求1所述基于Android系統(tǒng)的語言添加方法,其特征在于,所述步驟C具體包括:在external/IQJ4C下建立臨時目錄icuBuild,進(jìn)入icuBuild目錄;執(zhí)行icuConfigureRun Linux 命令,生成 make 文件/./runConfigur e I CU Linux ;執(zhí)#于 make _ j2命令,生成 dat 文件 make - j2 ;復(fù)制 external/ICU4C/icuBuild/data/out/tmp/icudt481.dat文件到stubdata下,并改名icudt481_all.dat,覆蓋原有的同名文件;重新配置環(huán)境變量,為下一步執(zhí)行腳本做準(zhǔn)備;進(jìn)入icu4c/stubdata,執(zhí)行腳本,重新生成.dat文件,其中,生成的icudt481_default.dat即為被Android系統(tǒng)使用的添加了所述語言類型資源的文件。
3.根據(jù)權(quán)利要求2所述基于Android系統(tǒng)的語言添加方法,其特征在于,所述步驟G具體包括:對frameworks/base/core/res/res做翻譯,在此文件夾中添加values-ug-rCN文件夾,并把翻譯好的所述語言類型的字串放到此文件夾下;對每個app做翻譯,在每個app對應(yīng)的res目錄下建立values-ug-rCN文件夾,并把翻譯好的所述語言類型的字串放到此文件夾下。
4.根據(jù)權(quán)利要求3所述基于Android系統(tǒng)的語言添加方法,其特征在于,所述步驟H具體包括:在make文件的PRODUCT_LOCALES字段里,添加所述待添加的語言類型,編譯工程獲得支持該語言類型的Android軟件。
5.根據(jù)權(quán)利要求1至4之一所述基于Android系統(tǒng)的語言添加方法,其特征在于,所述待添加的語言類型包括維語。
【文檔編號】G06F9/45GK104021026SQ201410271746
【公開日】2014年9月3日 申請日期:2014年6月17日 優(yōu)先權(quán)日:2014年6月17日
【發(fā)明者】王浩 申請人:無錫久源軟件科技有限公司