android多语言的纠结问题

android多语言的纠结问题,第1张

Android应用支银手薯持多语言,包括同一种语言的变种(方言),比如就英语而言有,

en-rGB    英国英语

en-rUS    美国英语

en-rCA    加拿大英语

...

如果想处理这些变种里翻译不同的地方,可以创建多份语言资源,放到应薯茄用程序源代码里对应的资源目录,这样build出apk,用户安装以后,应用程序会自动根据用户手机里的语锋者言设置选择对应的字符串显示。

/res/values-en-rGB/strings.xml

/res/values-en-rUS/strings.xml

/res/values-en-rCA/strings.xml

类似地,就西班牙语而言也有很多变种,你可以判断一下这些客户使用的是哪个变种,然后分目录存放对应的翻译。

es            一般的西班牙语(general)

es-rAR    阿根廷西班牙语

es-rBO

es-rCL

es-rCO    哥伦比亚西班牙语

es-rCR

es-rDO

es-rEC

es-rES    卡斯蒂利亚西班牙语 (西班牙人听说读写用的)  

es-rGT

es-rHN

es-rMX    墨西哥西班牙语

es-rNI

es-rPA

es-rPE

es-rPR

es-rPY

es-rSV

es-rUS    美国西班牙语

es-rUY

es-rVE

...

添加方法是有的,网上可以找到很多。不过很麻烦,以下以添加波斯语为例给你简单的说下悄李:

1、在sdkDemo.mk 中添加语言和国家的国际化的缩写代码,如伊朗:IR表示,波斯语用fa表示,这是国际化的标准,不可以随便写的。如果不知道国家与地区的缩写,可以去网上找找。

PRODUCT_LOCALES:= fa_IR en_US zh_CN en_GB fr_FR it_IT es_ES ……..

sdkDemo.mk的路径为:gingerbread\device\rockchip\sdkDemo\sdkDemo.mk.

2、在framework/base/data/font目录下添加波斯语的字库,如DroidSansArabic.ttf

3、字库加完后,就要去调用字库了,调用字库的文件是在external/skia/src/ports/SKFontHost-android.app下,

static constFontInitRec gSystemFonts[] = {

{ "DroidSans.ttf", gSansNames },

………

{

"DroidSansArabic.ttf",

gFBNames},

4、字库准备好了,还有一些makefile需要修改了。在external/icu4c/studata/ Android.mk下:

config := $(word1, \

$(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àSelect language列表下就会出现波斯语这个选项了,但是选了波斯语后,并没有出现波斯语文字。这时就需要在相应的APP下的res/下新建values-fa-rIR的文件夹,并翻译strings.xml文件即可。如主app的strings.xml路径为:gingerbread\packages\apps\Desktop2D_mbx_new\res\values-fa-rIR\strings.xml

最后,以上所有内容都加好后,一定要记得:

Make clean

Make prebuild

Make

建议你还是刷新旦握ROM来解决吧!

反首辩旦编译framework-res.apk,然后找到反编译后的文件夹,在res文件夹下有一些values的文件夹。

如图,zh-rHK是香港的繁体中灶芹文,想者扰添加语言就按照里面的格式来吧


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8161693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存