android添加新语言之缅甸语
问题描述:添加一种新的语言。
问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源。
解决方案:
以添加缅甸语为例。下面的方式适用于android4.0以上(包括4.0),android2.3的添加方式有些差异。
总共有四步。
1、编译icu资源( 语言的名称是规定的,如缅甸语的名称是my_MM,可以在维基查找。)
1)在文件external/icu4c/stubdata/icudt46l-default.txt
添加行coll/my.res
添加行 coll/my_MM.res
添加行curr/my.res
添加行lang/my.res
添加行region/my.res
添加行zone/my.res
添加行my.res
添加行my_MM.res
2) mkdir external/icu4c/icuBuild
3) cd external/icu4c/icuBuild
4) ../runConfigureICU Linux
5) make -j2
6) cp data/out/tmp/icudt48l.dat../stubdata/icudt48l-all.dat.
7) cd ../stubdata
8) ./icu_dat_generator.py
9) mm
最终编译的icu文件icudt48l.dat放在system/usr/icu/icudt48l.dat
以上的编译方式在external/icu4c/stubdata/readme.txt有详细说明。
2、添加字库
1) 把字库放到frameworks\base\data\fonts这里面
2) 在该目录的fonts.mk和Android.mk,添加代码,把字库编译进去。
3)在fallback_fonts.xml,添加相应代码。其直接目的是Resources.getSystem().getAssets().getLocales()获取到字库资源。如:
<family>
<fileset>
<filelang="my">Padauk.ttf</file>
</fileset>
</family>
字库资源的载入在这个文件: external\skia\src\ports\SkFontHost_android.cpp的gSystemFonts数组中。在android2.3,是手动添加,在4.0后,动态从system/etc/fallback_fonts.xml读取。
4) 在build/target/product/languages_full.mk中添加孟加拉语my_MM.
3、确保framework res和settings res都有缅甸语资源
4、make clean 后全编
可能遇到的问题:
1、在setting里面没有语言选项。
a) 是否生成ICU文件,进入adb shell, system/usr/icu/icudt48l.dat是否最新生成
b) framework res和settings res都有对于语言的资源
c) languages_full.mk添加对于语言
d) 语言的名称是规定的,如缅甸语的名称是my_MM,可以在维基查找。
2、在settings的语言栏有选项,但是空的。
a) System/etc下面是否新的fallback_fonts.xml
b) System/fonts是否有新的字库
android添加新语言之缅甸语相关推荐
- android 添加新语言之缅甸语
问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...
- android缅甸语,android 添加新语言之缅甸语
问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...
- android缅甸语,android添加新语言之缅甸语
问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...
- Android4.0中添加新语言实现方案(以缅甸语为例)
查看了网上的一些 关于Android2.3实现的添加新的语言的方案.我没有验证过但发现在4.0中不适用 不适用的原因 是: Android4.0中关于 icu4c模块(处理语言国际化模块)是通过dat ...
- 增加字库 安卓_【Android】Android4.4添加新语言和字库
一.修改编译配置文件 目的:让PRODUCT_LOCALES := 后面有我们需要添加的语言. 一般原生安卓代码是修改这两个文件 Android/build/target/product/langua ...
- Android 系统添加新语言的方法
方法1 在 frameworks/base/core/res/res/下添加语言对应的values文件夹即可 方法2 在frameworks\base\core\java\com\android\in ...
- android 按键kl文件,Android添加新按键
1.前言 在Android开发中可能会遇到添加新的按键的需求,本文将简单介绍如何在Android系统中完成一个新的按键的添加. 当系统有新的按键需要添加时,Linux内核下的键码到Android系统中 ...
- android 添加新用户,华为手机怎么添加新用户?华为手机添加新用户的方法
为手机添加新用户其实就跟电脑的来宾账户差不多,新用户可以使用手机的部分功能,但是有许多权限限制. 华为手机设置隐私空间方法 打开手机的设置功能找到高级设置,在高级设置里点击"用户" ...
- Visual Studio 2019 添加新语言包
步骤 找到并打开 Visual Studio Installer 点击"修改"("Modify") 点击"语言包" 勾选需要添加的语言 点击 ...
最新文章
- 腾讯云轻量应用服务器 开放端口
- 网站优化之如何提升快照的更新时间?
- java 泛型int_Java 泛型
- BlockJUnit4ClassRunner
- VS2010 自动化整理代码(1)--- VS正则表达替换 PK Vim
- Oracle数据库安装Version12c
- 主板有几种尺寸_工控机主板哪个牌子好?2019工控主板十大品牌排行榜
- 2018 Multi-University Training Contest 3: G. Interstellar Travel(凸包)
- Tomcat设置普通用户启动
- 中国移动企业文化考试试题含答案
- 机器视觉算法(数据结构)
- 苹果手机如何查看html代码,苹果手机怎么利用代号查看硬件信息
- 机器人动力学与控制_快速搭建“机器人动力学-参数辨识-轨迹规划-运动控制”的完整框架...
- 微信小程序UI框架之【weui】怎样使用
- 熔断器 java_SpringCloud之熔断器Hystrix的实现
- 原创科幻短篇《霾星》
- java软件官网下载汇总——JDK,eclipse,mysql,maven,idea,Git,oracle
- 使用Spring Boot构建微服务(文末福利)
- xml解析方式与效率对比
- 华为发布首款鸿蒙系统终端,首款鸿蒙系统终端新闻 华为正式发布鸿蒙系统