ICU资源编译

如何编译ICU资源

如果只是测试修改后效果,执行步骤A即可;如果需要build后生效,则需要执行全部步骤
下面是KK的icu资源的路径为例子,如果是Android L请改为external/icu/icu4c/source/
A. (KK,L)需要建立临时目录,并且在临时目录中编译ICU资源
1. 在external/icu4c下新建临时目录icubuild,进入icubuild目录
mkdir external/icu4c/icuBuild
cd external/icu4c/icuBuild
2. 执行icuConfigureRun Linux命令,生成make文件
.././runConfigureICU Linux
3. 执行make -j2命令,
make -j2
4. 将生成的external/icu4c/icuBuild/data/out/tmp/icudtxxl.dat push到手机测试
adb remount
adb push external/icu4c/icuBuild/data/out/tmp/ icuxxl.dat system/usr/icu/
adb reboot

KK:icudt51l.dat
Android L:icudt53l.dat

(M)无需建立临时目录
1.进入到$AOSP/external/icu/icu4c/source/目录下的
2.在该目录下执行 ./runConfigureICU Linux命令生成MAKE文件
3.执行make INCLUDE_UNI_CORE_DATA=1

B. COPY所需文件
(KK ,L)将第一步生成的external\icu4c\icubuild\data\out\tmp\icudtxxl.dat复制到external\icu4c\stubdata下并改名为icudtxxl-all.dat,覆盖原来的同名文件。
KK版本是icudt5l.dat和icudt5l-all.dat
注意:Android L是没有icudt53l-all.dat文件的,直接把icudt53l.dat拷贝过来替换原来的文件即可。

(M)将生成的icudt55l.dat 文件拷贝到对应目录下名利如下
cp external/icu/icu4c/source/data/out/tmp/icudt55l.dat $AOSP/external/icu/icu4c/source/stubdata
C. 重新编译工程

[QUESTION]
如何修改多语显示当地日期、月份、时间格式、语言名称、地区名称翻译?

[ANSWER]
这些字符串资源可能存在的位置为:
A)问题模块内部 res/中
B) framework/base/core/res/res/
C) external/icu4c/data
可按照顺序一步步查找。

对于上述A) B)类翻译的问题 ,直接修改资源即可;

C)类翻译问题,修改icu4c/data/下资源后,

需要按照对应版本 icu4c编译方法编译,生成新的.dat 文件后修改才可生效。

可参考《MocorDroid多国语言概述》文档,该文档可通过TAM获取。文档中有详细介绍android 各版本icu4c编译方法。

PS:对于 external/icu4c/data/目录下各文件存放的翻译内容目前总结如下,
(注:每个文件中的内容包括但不限于如下所示内容)
icu4c/data/lang:语言名称翻译
icu4c/data/locales:日期、月份、am、pm 名称翻译
icu4c/data/zone:时区名称翻译
icu4c/data/region:国家名称翻译
icu4c/data/misc/numberingSystems.txt:各国 0-9 数字翻译
icu4c/data/misc/ zoneinfo64.txt:时区信息,此内容需要与 bionic/libc/zoneinfo/tzdata 版本相同
icu4c/data/misc/ supplementalData.txt:星期开始周期

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值