android 修改系统默认语言
如何设置电脑语言:在系统设置中选择'区域和语言'进行更改 #生活常识# #日常生活技巧# #基础电脑操作#
MTK 6.0
之前做一款桌面广告机项目时,有一个修改默认语言的需求,查找FAQ发现MTK有介绍怎么修改,如下:
默认开机语言设置
如果想把某种语言设置为开机默认语言,只需把这个语言的代码放到(Android L PRODUCT_LOCALES后面第一个即可),(Android KK MTK_PRODUCT_LOCALES的第一个即可)。在源码里搜索PRODUCT_LOCALES,如:
PRODUCT_LOCALES := en_US zh_CN fr_FR it_IT es_ES de_DE nl_NL cs_CZ pl_PL
但是会发现好多个.mk文件下都有PRODUCT_LOCALES,那么我们修改那个文件才会有效呢?
FAQ04326 如何打开语言支持计划中的语言中有提到怎么添加支持的语言,如下:
ANDROID L
MTK_PRODUCT_LOCALED这个宏已经没用了,使用的是alps\device\公司名字\项目名称\项目名字.mk中的PRODUCT_LOCALES请添加语言的时候在PRODUCT_LOCALES中添加。
例如我司自己内部的项目代号aubest52那么添加语言路径是(device\mediatek\aubest52\full_aubest52.mk中的PRODUCT_LOCALES后面添加语言)
但是我并没有在device\mediatek目录下找到,例如我修改的deivce\testdd\testdd6737m_35g_m0\full_testdd6737m_35g_m0.mk下的PRODUCT_LOCALES,为什么是这个full_testdd6737m_35g_m0.mk下的呢?因为我编译的时候选择的是这个,就是lunch命令之后选中的。
问题又来了,PRODUCT_LOCALES后面一连串的语言,系统又是怎么选择第一个作为默认开机语言的呢?
其实在out目录下的system/build.prop文件中可以看到ro.product.locale=en-US,这个属性又在buildinfo.sh文件中定义
echo "ro.product.locale=$PRODUCT_DEFAULT_LOCALE"
关于这个PRODUCT_DEFAULT_LOCALE又在build/core/Makefile下找到
PRODUCT_DEFAULT_LOCALE="$(call get-default-product-locale,$(PRODUCT_LOCALES))" \
继续查找get-default-product-locale
#Accepts a whitespace separated list of product locales such as #(en_US en_AU en_GB...) and returns the first locale in the list with #underscores replaced with hyphens. In the example above, this will #return "en-US". define get-default-product-locale $(strip $(subst _,-, $(firstword $(1)))) endef 1234567
在这里,可以看到是选择第一个。
系统默认语言是英语,如果你要修改为中文,只需把PRODUCT_LOCALES := en_US zh_CN fr_FR it_IT es_ES de_DE nl_NL cs_CZ pl_PL中zh_CN移到最前就可以了
或者你直接将build.sh中echo "ro.product.locale=zh-CN"改为你需要的语言。
网址:android 修改系统默认语言 https://www.yuejiaxmz.com/news/view/509461
相关内容
基于Android的环保生活小助手APP设计与实现(源码+lw+部署文档+讲解等)java语言python语言php语言小程序Android定制开发包修改Android系统优化
基于Android平台下的健康管理APP/基于android的健康管理系统
Android日程管理系统实训报告.docx资源
基于Android的家庭理财系统的设计与实现
Android Studio实现简单的健身系统
获取MAC端当前系统语言
开题报告(基于Android平台的手机日程管理系统).doc资源
如何自建Android账号体系和使用用户SDK
Android Studio 实现图书借阅(管理)系统