android中如何修改默认语言和国家.doc

上传人:11****ws 文档编号:2989789 上传时间:2019-05-16 格式:DOC 页数:5 大小:33KB
下载 相关 举报
android中如何修改默认语言和国家.doc_第1页
第1页 / 共5页
android中如何修改默认语言和国家.doc_第2页
第2页 / 共5页
android中如何修改默认语言和国家.doc_第3页
第3页 / 共5页
android中如何修改默认语言和国家.doc_第4页
第4页 / 共5页
android中如何修改默认语言和国家.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、android 中如何修改默认语言和国家. 查了很多的网页,上面都只有写要修改 PRODUCT_LOCALES 字段.但.MK 文件太多的,我找了很久都没有找到这个字段在哪里定义的.最后发现的结果:./device/rockchip/sdkdemo/boardconfig.mk 中.这个文件夹在标准的 android 代码中属于定制文件目录,可以在相应的项目中找到对应的文件夹.修改此项.修改的方法是将默认的国家放在此字段的第一个位置. 一般默认的是英语.例如韩国:PRODUCT_LOCALES := ko_KR en_US zh_CN另附转文一篇:这个讲得详细一些,还包含另一种修改方法 ,可参

2、考.转自:http:/ 系统原版默认的语言为英文,而我们定制系统可能需要用户一开机就是简体中文。我们可以通过修改系统属性来达到默认语言的作用。这里有两种方法,需要的可以借鉴下:1、在 init.rc 或者在其他的开机初始化文件如:default.prop 中加入如下设置系统属性的代码:persist.sys.language: zhpersist.sys.country: CNpersist.sys.localevar: persist.sys.timezone: Asia/Shanghairo.product.locale.language: zhro.product.locale.regi

3、on: CN2、编译的时候,通过指明编译参数为简体中文,这样编译传统就会编译出来的系统属性文件,在系统初始化的时候将会把上面的属性给进行正确的初始化,例如:make PRODUCT-machineID-eng-zh_CN其他相关资料:1、ICU4C 简介ICU4C(ICU for C, http:/site.icu-project.org/ ) 是 ICU 在 C/C+平台下的版本, ICU(International Component for Unicode)是基于“IBM 公共许可证“的,与开源组织合作研究的, 用于支持软件国际化的开源项目。 ICU4C 提供了 C/C+平台强大的国际化

4、开发能力,软件开发者几乎可以使用 ICU4C 解决任何国际化的问题,根据各地 的风俗和语言习惯,实现对数字、货币、时间、日期、和消息的格式化、解析,对字符串进行大小写转换、整理、搜索和排序等功能,必须一提的是,ICU4C 提 供了强大的 BIDI 算法,对阿拉伯语等BIDI 语言提供了完善的支持。ICU 首先是由 Taligent 公司开发的,Taligent 公司现在被合并为 IBM?公司全球化认证中心的 Unicode 研究组,然后 ICU 由 IBM 和 开源组织合作继续开发,开源组织给与了 ICU 极大的帮助。开始 ICU 只有 Java 平台的版本,后来这个平台下的 ICU 类被吸纳

5、入 SUN 公司开发的JDK1.1,并在 JDK 以后的版本中不断改进。C+ 和 C 平台下 的 ICU 是由 JAVA 平台下的ICU 移植过来的,移植过的版本被称为 ICU4C,来支持这 C/C+两个平台下的国际化应用。ICU4J 和 ICU4C 区别不大,但由于 ICU4C 是开源的,并且紧密跟进 Unicode 标准,ICU4C 支持的 Unicode 标准总是最新的;同时,因 为 JAVA 平台的 ICU4J 的发布需要和JDK 绑定,ICU4C 支持 Unicode 标准改变的速度要比 ICU4J 快的多。2、 ANDROID 语言包Android 使用的语言包就是 ICU4C,位

6、置:external/icu4c 。Android 支持的语言有: Locale CANADALocale constant for en_CA.Locale CANADA_FRENCHLocale constant for fr_CA.Locale CHINALocale constant for zh_CN.Locale CHINESELocale constant for zh.Locale ENGLISHLocale constant for en.Locale FRANCELocale constant for fr_FR.Locale FRENCHLocale constant f

7、or fr.Locale GERMANLocale constant for de.Locale GERMANYLocale constant for de_DE.Locale ITALIANLocale constant for it.Locale ITALYLocale constant for it_IT.Locale JAPANLocale constant for ja_JP.Locale JAPANESELocale constant for ja.Locale KOREALocale constant for ko_KR.Locale KOREANLocale constant

8、for ko.Locale PRCLocale constant for zh_CN.Locale SIMPLIFIED_CHINESELocale constant for zh_CN.Locale TAIWANLocale constant for zh_TW.Locale TRADITIONAL_CHINESELocale constant for zh_TW.Locale UKLocale constant for en_GB.Locale USLocale constant for en_US.3、定制语言定制语言在 PRODUCT_LOCALES 字段里添加需要语言,如: PROD

9、UCT_LOCALES := en_US zh_CN,则系统里只有英语和汉语两种语言。然后语言的选择处理是在external/icu4c/stubdata/Android.mk 里进行的, 如下:config := $(word 1, $(if $(findstring ar,$(PRODUCT_LOCALES),large) $(if $(findstring da,$(PRODUCT_LOCALES),large) $(if $(findstring el,$(PRODUCT_LOCALES),large) $(if $(findstring fi,$(PRODUCT_LOCALES),l

10、arge) $(if $(findstring he,$(PRODUCT_LOCALES),large) $(if $(findstring hr,$(PRODUCT_LOCALES),large) $(if $(findstring hu,$(PRODUCT_LOCALES),large) $(if $(findstring id,$(PRODUCT_LOCALES),large) $(if $(findstring ko,$(PRODUCT_LOCALES),large) $(if $(findstring nb,$(PRODUCT_LOCALES),large) $(if $(finds

11、tring pt,$(PRODUCT_LOCALES),large) $(if $(findstring ro,$(PRODUCT_LOCALES),large) $(if $(findstring ru,$(PRODUCT_LOCALES),large) $(if $(findstring sk,$(PRODUCT_LOCALES),large) $(if $(findstring sr,$(PRODUCT_LOCALES),large) $(if $(findstring sv,$(PRODUCT_LOCALES),large) $(if $(findstring th,$(PRODUCT

12、_LOCALES),large) $(if $(findstring tr,$(PRODUCT_LOCALES),large) $(if $(findstring uk,$(PRODUCT_LOCALES),large) $(if $(findstring zh,$(PRODUCT_LOCALES),large) $(if $(findstring ja,$(PRODUCT_LOCALES),us-japan) $(if $(findstring it,$(PRODUCT_LOCALES),us-euro) $(if $(findstring pl,$(PRODUCT_LOCALES),us-

13、euro) $(if $(findstring cs,$(PRODUCT_LOCALES),default) $(if $(findstring de,$(PRODUCT_LOCALES),default) $(if $(findstring fr,$(PRODUCT_LOCALES),default) $(if $(findstring nl,$(PRODUCT_LOCALES),default) us)4、默认语言默认语言的选择实现是在 build/core/Makefile 里,从 PRODUCT_LOCALES 里选择第一个语言作为默认语言,如下:define default-loca

14、le $(subst _, , $(firstword $(1)endef# Selects the first locale in the list given as the argument# and returns the language (or the region)define default-locale-language $(word 2, 2, $(call default-locale, $(1)endefdefine default-locale-region $(word 3, 3, $(call default-locale, $(1)Endef . PRODUCT_

15、DEFAULT_LANGUAGE=“$(call default-locale-language,$(PRODUCT_LOCALES)“ PRODUCT_DEFAULT_REGION=“$(call default-locale-region,$(PRODUCT_LOCALES)“然后通过 build/tool/buildinfo.sh 文件将如下段写到文件 build.prop,如下:echo “ro.product.locale.language=$PRODUCT_DEFAULT_LANGUAGE“echo “ro.product.locale.region=$PRODUCT_DEFAUL

16、T_REGION“ 。因此,要改变默认语言用下面两种方法中的一种就行了:4.1、在 PRODUCT_LOCALES 字段里,将要选择的语言放在第一位,如: PRODUCT_LOCALES := en_US zh_CN 默认语言是英语;4.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。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。