android平台添加新语种

平台添加新语种
大致分为以下几个步骤:
1,字库问题
首先需要客户提供对应语言的字库,也就是一些.ttf文件,
比如,添加字库, AmbikaUniN.ttf
(1)在HAS_FONTS_SUPPORT=no 的情况下,需要到frameworks/base/data/fonts/fallback_fonts.xml修改
<familyset>
 <family>
        <fileset>
             <file>AmbikaUniN.ttf</file>
        </fileset>
   </family>
</familyset>
(2)在HAS_FONTS_SUPPORT=yes的情况下,需要到frameworks/base/data/fonts/fallback_lovelyfonts.xml修改
<familyset>
      <family>
          <fileset>
            <file>ArchanaUniN.ttf</file>
          </fileset>
      </family>
</familyset>
****需要注意的一点是添加相应的第三方字库,尽量写到最前边,防止有些字库将其覆盖掉。如果想快速验证是否将该字库内置到手机可以查看手机对应目录system/fonts下边是否有对应字库资源。
2,语言包问题
               这些语言包也就是对应的字符串翻译,各个模块对应的都要有对应的String.xml翻译,这个需要将平台随便一种语言(尽量是默认的英语,因为这个语言的字串是比较全面的)导出来,得到 output.xls字串表格,提供给第三方去翻译,等翻译好之后平台导入即可。至于如何让将平台字串导出导入方法见下:
    **** 平台导入导出字串方法
          ①确保vtrunk 平台级代码修改_详表里关于语言部分的修改已经完成。
          ②确保overlay_trans 下已经放入各种语言。dailybuild misc2\custom\lang_other.tgz 可以用于这个目的。    
          ③确保要处理的语言已经规整化。现象就是strings.xml里没有msgid之类的关键字。可以在overlay_trans 下运行:                                    
                 ~/git/vanzo_team/songlixin/python_scripts/multilang/p1_translate_excel.py values-xx  
               然后提交vendor/translate_for_commit,然后先对overlay_trans 运行:git clean -fd;git co . ;再删除overlay_trans 下所有目标语言的文件,
               再将translate_for_commit复制到overlay_trans
          ④输出excel: 到一个刚刚取出的项目的 overlay_trans 下运行:
               ~/git/vanzo_team/songlixin/python_scripts/multilang/p1_translate_excel.py values-xx
               得到output.xls即为要给客户翻译的内容。
          导入 excel, 将翻译完的内容作为:input.xls 放到一个刚刚取出的项目的 overlay_trans 下,运行:
               ~/git/vanzo_team/songlixin/python_scripts/multilang/p1_translate_excel.py values-xx
               即得到vendor/translate_from_commit, 供提交。
3,ICU资源
      (1) 添加ICU资源
                把对应的txt文件放到(android L 的路径是external\icu\icu4c\source\data),(android KK 路径是 external/icu4c/data)目               录 collcurrlanglocalesregionzone这些子文件夹中。如 斯瓦希里语(坦桑尼亚)资源为sw.txt,s w_TZ.txt  并修改这些目录下的resfiles.mk文件,coll目录下的是colfiles.mk。
如果这些目录下没有这些txt文件,可以在更高android版本或者在http://site.icu-project.org/ 网站下载。
        (2) 修改编译配置文件
                  把上一步添加的 txt文件目录添加到下面文件中。   
                    JB: external\icu4c\stubdata\icudt48l-default.txt
                    KK: external\icu4c\stubdata\icu-data-default.
例如: coll/sw.res     curr/sw.res;    lang/sw.res region/sw.res   zone/sw.res     sw.res
        (3) 编译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/ icudt xxl.dat push 到手机测试
          $adb remount
          $adb push external/icu4c/icuBuild/data/out/tmp/ icuxxl.dat system/usr/icu/
          $adb reboot
*****需要注意的是一般语言的ICU资源都有,只要进去对应的文件下边确认一下即可,如果没有才经过上边的步骤增加ICU资源。
4,设置下边显示问题
     如果想要在设置下边语言列表显示出该语言,则需要到framework/base/core/res/res目录下边添加相应的资源:
     比如:values-gu-rIN  在这个目录下边添加两个文件donottranslate-cldr.xml  donottranslate-maps.xml 这两个文件可以从别的语言下边对应目录下边找到。
*****请注意,添加的语言目录一定是values-gu-rIN,只添加values-gu是没有用的,此目录只是对一些相应模块的字串的翻译,所以必须要添加上values-gu-rIN。

5,配置相应语言
到这一步,所有的都已经准备好了。只需要在文件mediatek/config/vanzo82_cwet_kk/ProjectConfig.mk.lang  配置 MTK_PRODUCT_LOCALES= = gu_IN即可,这步完成之后,那就是整体编译一次项目,烧写验证。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值