修改 Android 系统默认语言版本
发布日期:2021-09-27 14:12:42 浏览次数:4 分类:技术文章

本文共 2223 字,大约阅读时间需要 7 分钟。

根据网上的资料有两种方式,1、在PRODUCT_LOCALES字段里,将要选择的语言放在第一位,如: PRODUCT_LOCALES := en_US zh_CN 默认语言是英语; 2、在persist.sys.language 和persist.sys.country 里指定语言,如下: PRODUCT_PROPERTY_OVERRIDES := / persist.sys.language=zh / persist.sys.country=CN build.prop文件的处理是在system/core/init/property_service.c。 决定使用 1 实现,这样比较简单, 但是我在工程里面找了2~3天都没找着PRODUCT_LOCALES环境变量在什么地方,最后在build/target/product/sdk.mk 里面找到了这个变量,然后修改里面的PRODUCT_LOCALES 变量PRODUCT_LOCALES := / en_US / zh_CN / zh_TW编译,并烧录文件, 发现系统语言版本还是没变化。再认真查看里面的文件,发现# OverridesPRODUCT_BRAND := genericPRODUCT_NAME := sdkPRODUCT_DEVICE := generic这里的 NAME 和编译的时候设置的 NAME 不一致,猜测估计是没有用到这里的环境变量。============================================PLATFORM_VERSION_CODENAME=RELPLATFORM_VERSION=2.1-update1TARGET_PRODUCT=ut6410TARGET_BUILD_VARIANT=engTARGET_SIMULATOR=falseTARGET_BUILD_TYPE=releaseTARGET_ARCH=armHOST_ARCH=x86HOST_OS=linuxHOST_BUILD_TYPE=releaseBUILD_ID=ECLAIR============================================现在继续查找PRODUCT_LOCALES还是没有找到,实在不行了,我查看build/target/product/core.mk发现PRODUCT_BRAND :=PRODUCT_NAME :=PRODUCT_DEVICE :=咋这几项都没写呢? 灵光一闪,是不是这个和 PRODUCT_NAME  没关系呢??我试着把PRODUCT_LOCALES := / en_US / zh_CN / zh_TW添加到这里,重新编译,烧录发现成功了~!

 

第二部分 多语言定制的方法1、多语言定制的实现步骤1)进入build/target/product目录,在languages_full.mk或languages_small.mk文件中,修改PRODUCT_LOCALES的值,来定制语言,比如PRODUCT_LOCALES := en_US zh_CN zh_TW en_GB fr_FR it_IT de_DE es_ES;2)相同目录下,修改full.mk文件的 $(call inherit-product, build/target/product/languages_small|full.mk)语句来切换所使用的文件;3)重新编译即可。2、设置默认语言的实现步骤 1)进入build/target/product目录,修改文件core.mk的PRODUCT_PROPERTY_OVERRIDES 值,例如,欲修改为默认中文,则增加 “\ persist.sys.language=zh \ persist.sys.country=CN”,增加后的语句如PRODUCT_PROPERTY_OVERRIDES := \ro.config.notification_sound=OnTheHunt.ogg \ro.config.alarm_alert=Alarm_Classic.ogg \ persist.sys.language=zh \ persist.sys.country=CN 2)重新编译即可。3、与多语言定制相关的字段及其所在的文件PREVIOUS_BUILD_CONFIG out/target/product/dream/previous_build_config.mkNO_FALLBACK_FONT的定义 device/htc/dream-sapphire/BoardConfigCommon.mkNO_FALLBACK_FONT的调用 frameworks/base/data/fonts/Android.mkextra_locales CUSTOM_LOCALES nodpi mdpi hdpi build/core/product_config.mkPRODUCT_PROPERTY_OVERRIDES build/target/product build.prop out/target/product/generic/system

 

转载于:https://www.cnblogs.com/MMLoveMeMM/articles/4106616.html

转载地址:https://blog.csdn.net/FLY_THINK2012/article/details/101840951 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Bluez HID分析
下一篇:android.mk中引用第3方 jar包的方法

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年03月27日 13时07分25秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章