问题描述:添加一种新的语言。

问题分析:新添加一种语言需要几步,编译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添加新语言之缅甸语相关推荐

  1. android 添加新语言之缅甸语

    问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...

  2. android缅甸语,android 添加新语言之缅甸语

    问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...

  3. android缅甸语,android添加新语言之缅甸语

    问题描述:添加一种新的语言. 问题分析:新添加一种语言需要几步,编译ICU资源,添加字库,添加相应的字串资源. 解决方案: 以添加缅甸语为例.下面的方式适用于android4.0以上(包括4.0),a ...

  4. Android4.0中添加新语言实现方案(以缅甸语为例)

    查看了网上的一些 关于Android2.3实现的添加新的语言的方案.我没有验证过但发现在4.0中不适用 不适用的原因 是: Android4.0中关于 icu4c模块(处理语言国际化模块)是通过dat ...

  5. 增加字库 安卓_【Android】Android4.4添加新语言和字库

    一.修改编译配置文件 目的:让PRODUCT_LOCALES := 后面有我们需要添加的语言. 一般原生安卓代码是修改这两个文件 Android/build/target/product/langua ...

  6. Android 系统添加新语言的方法

    方法1 在 frameworks/base/core/res/res/下添加语言对应的values文件夹即可 方法2 在frameworks\base\core\java\com\android\in ...

  7. android 按键kl文件,Android添加新按键

    1.前言 在Android开发中可能会遇到添加新的按键的需求,本文将简单介绍如何在Android系统中完成一个新的按键的添加. 当系统有新的按键需要添加时,Linux内核下的键码到Android系统中 ...

  8. android 添加新用户,华为手机怎么添加新用户?华为手机添加新用户的方法

    为手机添加新用户其实就跟电脑的来宾账户差不多,新用户可以使用手机的部分功能,但是有许多权限限制. 华为手机设置隐私空间方法 打开手机的设置功能找到高级设置,在高级设置里点击"用户" ...

  9. Visual Studio 2019 添加新语言包

    步骤 找到并打开 Visual Studio Installer 点击"修改"("Modify") 点击"语言包" 勾选需要添加的语言 点击 ...

最新文章

  1. 腾讯云轻量应用服务器 开放端口
  2. 网站优化之如何提升快照的更新时间?
  3. java 泛型int_Java 泛型
  4. BlockJUnit4ClassRunner
  5. VS2010 自动化整理代码(1)--- VS正则表达替换 PK Vim
  6. Oracle数据库安装Version12c
  7. 主板有几种尺寸_工控机主板哪个牌子好?2019工控主板十大品牌排行榜
  8. 2018 Multi-University Training Contest 3: G. Interstellar Travel(凸包)
  9. Tomcat设置普通用户启动
  10. 中国移动企业文化考试试题含答案
  11. 机器视觉算法(数据结构)
  12. 苹果手机如何查看html代码,苹果手机怎么利用代号查看硬件信息
  13. 机器人动力学与控制_快速搭建“机器人动力学-参数辨识-轨迹规划-运动控制”的完整框架...
  14. 微信小程序UI框架之【weui】怎样使用
  15. 熔断器 java_SpringCloud之熔断器Hystrix的实现
  16. 原创科幻短篇《霾星》
  17. java软件官网下载汇总——JDK,eclipse,mysql,maven,idea,Git,oracle
  18. 使用Spring Boot构建微服务(文末福利)
  19. xml解析方式与效率对比
  20. 华为发布首款鸿蒙系统终端,首款鸿蒙系统终端新闻 华为正式发布鸿蒙系统

热门文章

  1. 1.JSJQ课程期末复习之复习JS
  2. 完全清理k8s以及网络插件
  3. 计算机科学与技术学习指导,计算机科学与技术专业新生学习指导.ppt
  4. PHP+MySQL无法查询中文数据
  5. cytoscape.js进阶篇
  6. APP乱象丛生致手机危机四伏
  7. forest无法扫描指定包接口问题解决
  8. Transact-SQL 语法元素之数据类型
  9. 《重庆市新型基础设施重大项目建设行动方案(2020—2022年)》来啦!
  10. PHP环境搭建(Window操作系统,使用phpstudy)