Android 5.0 设置语言的增加和删除

在修改Android5.0源码中的settings时,想删除settings中的不想关语言,只留下中文和英文两种语言,语言设置功能页面是在LocalePicker.java文件中,该类继承了framework/base/core/java/com/android/internal/app/LocalePicker.java,可是发现在settings源码中并没用语言列表数组,后来发现了 配置文件:build/target/product/languages_full.mk|languages_small.mk|locales_full.mk

这是locales_full.mk文件

PRODUCT_LOCALES := en_US cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG eo_EU es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_IN

$(call inherit-product, build/target/product/languages_full.mk)

这是languages_full.mk

#PRODUCT_LOCALES := en_AU en_US en_IN fr_FR it_IT es_ES et_EE de_DE nl_NL cs_CZ pl_PL ja_JP zh_TW zh_CN zh_HK ru_RU ko_KR nb_NO es_US da_DK el_GR tr_TR pt_PT pt_BR rm_CH sv_SE bg_BG ca_ES en_GB fi_FI hi_IN hr_HR hu_HU in_ID iw_IL lt_LT lv_LV ro_RO sk_SK sl_SI sr_RS uk_UA vi_VN tl_PH ar_EG fa_IR th_TH sw_TZ ms_MY af_ZA zu_ZA am_ET hi_IN en_XA ar_XB fr_CA km_KH lo_LA ne_NP si_LK mn_MN hy_AM az_AZ ka_GE my_MM mr_IN ml_IN is_IS mk_MK ky_KG eu_ES gl_ES bn_BD ta_IN kn_IN te_IN uz_UZ ur_PK kk_KZ

这些文件很容易理解,我们只需要把不想关的语言注释掉,留下英文和中文。
直接修改locales_full.mk文件

#PRODUCT_LOCALES := en_US cs_CZ da_DK de_AT de_CH de_DE de_LI el_GR en_AU en_CA en_GB en_NZ en_SG eo_EU es_ES fr_CA fr_CH fr_BE fr_FR it_CH it_IT ja_JP ko_KR nb_NO nl_BE nl_NL pl_PL pt_PT ru_RU sv_SE tr_TR zh_CN zh_HK zh_TW am_ET hi_IN

PRODUCT_LOCALES := en_US zh_CN

#$(call inherit-product, build/target/product/languages_full.mk)

编译后重新运行settings,发现语言设置里面只有两种语言了,而且生成的镜像文件小了几十兆

如果要添加相关语言的话也是在这些文件上修改详情请参考
http://www.eoeandroid.com/thread-46129-1-1.html?_dsign=53c0cdb0

以上只是个人观点,如有错误请指出,谢谢!

猜你喜欢

转载自blog.csdn.net/u014774589/article/details/50480622
今日推荐