前些时候,因为客户要求加波斯语,但是目前android2.3.1并没有这种语言,在客户要求一定要有波斯语的情况。
下面讲讲新增加一种语言的步骤:
1. 在sdkDemo.mk 中添加 语言和国家的国际化的缩写代码,如伊朗:IR表示,波斯语用fa表示,这是国际化的标准,不可以随便写的。如果不知道国家与地区的缩写,可以去网上找找。
PRODUCT_LOCALES := fa_IR
sdkDemo.mk的路径为:gingerbread\device\rockchip\sdkDemo\sdkDemo.mk.
2. 在framework/base/data/font目录下添加波斯语的字库,如DroidSansArabic.ttf
3. 字库加完后,就要去调用字库了,调用字库的文件是在external/skia/src/ports/SKFontHost-android.cpp下,
static constFontInitRec gSystemFonts[] = {
{ "DroidSans.ttf", gSansNames },
………
{"DroidSansArabic.ttf", gFBNames },
4. 字库准备好了,还有一些makefile需要修改了。在external/icu4c/studata/ Android.mk下:
config:= $(word 1, \
$(if $(findstringar,$(PRODUCT_LOCALES)),large) \
$(if$(findstring fa,$(PRODUCT_LOCALES)),large) \
5. 在frameworks/base/core/res/res/下新增加一个values-fa-rIR的文件夹,并新建一个strings.xml文件。
6.上面五步加完后,在settingsàLanguage&keyboardàSelectlanguage列表下就会出现波斯语这个选项了,但是选了波斯语后,并没有出现波斯语文字。这时就需要在相应的APP下的res/下新建values-fa-rIR的文件夹,并翻译strings.xml文件即可。