当前位置:首页 » 安卓系统 » android语言国际化

android语言国际化

发布时间: 2024-03-02 22:18:41

A. 如何实现android国际化

android多语言实现必须是将strings.xml放在不同的文件夹目录下,由安卓系统自动去加载文字资源。Android 中要实现国际化比较简单,字符串国际化:只要在 res 文件夹下新建对应语言的 values 文件夹就好了。


例如:

1.英语环境下的,文件夹命名为:values-en

2.美国英文环境:values-en-rUS

3.中文环境为:values-zh

4.大陆地区中文环境:values-zh-cn

5.eclipse 下新建 Android 项目时,会在 res 目录下自动创建一个默认语言环境的文件夹 : values 。

6.当某一个资源没有在语言环境的对应的资源集合中找到时,就会使用 values 下的资源。若某一个语言环境没有在项目中定义语言环境,那么也会使用 values 下的资源。


android多国语言文件夹文件汇总如下:


  1. 中文(中国):values-zh-rCN

  2. 中文(台湾):values-zh-rTW

  3. 中文(香港):values-zh-rHK

  4. 英语(美国):values-en-rUS

  5. 英语(英国):values-en-rGB

  6. 英文(澳大利亚):values-en-rAU

  7. 英文(加拿大):values-en-rCA

  8. 英文(爱尔兰):values-en-rIE

  9. 英文(印度):values-en-rIN

  10. 英文(新西兰):values-en-rNZ

  11. 英文(新加坡):values-en-rSG

  12. 英文(南非):values-en-rZA

  13. 阿拉伯文(埃及):values-ar-rEG

  14. 阿拉伯文(以色列):values-ar-rIL

  15. 保加利亚文: values-bg-rBG

  16. 加泰罗尼亚文:values-ca-rES

  17. 捷克文:values-cs-rCZ

  18. 丹麦文:values-da-rDK

  19. 德文(奥地利):values-de-rAT

  20. 德文(瑞士):values-de-rCH

  21. 德文(德国):values-de-rDE

  22. 德文(列支敦士登):values-de-rLI

  23. 希腊文:values-el-rGR

  24. 西班牙文(西班牙):values-es-rES

  25. 西班牙文(美国):values-es-rUS

  26. 芬兰文(芬兰):values-fi-rFI

  27. 法文(比利时):values-fr-rBE

  28. 法文(加拿大):values-fr-rCA

  29. 法文(瑞士):values-fr-rCH

  30. 法文(法国):values-fr-rFR

  31. 希伯来文:values-iw-rIL

  32. 印地文:values-hi-rIN

  33. 克罗里亚文:values-hr-rHR

  34. 匈牙利文:values-hu-rHU

  35. 印度尼西亚文:values-in-rID

  36. 意大利文(瑞士):values-it-rCH

  37. 意大利文(意大利):values-it-rIT

  38. 日文:values-ja-rJP

  39. 韩文:values-ko-rKR

  40. 立陶宛文:valueslt-rLT

  41. 拉脱维亚文:values-lv-rLV

  42. 挪威博克马尔文:values-nb-rNO

  43. 荷兰文(比利时):values-nl-BE

  44. 荷兰文(荷兰):values-nl-rNL

  45. 波兰文:values-pl-rPL

  46. 葡萄牙文(巴西):values-pt-rBR

  47. 葡萄牙文(葡萄牙):values-pt-rPT

  48. 罗马尼亚文:values-ro-rRO

  49. 俄文:values-ru-rRU

  50. 斯洛伐克文:values-sk-rSK

  51. 斯洛文尼亚文:values-sl-rSI

  52. 塞尔维亚文:values-sr-rRS

  53. 瑞典文:values-sv-rSE

  54. 泰文:values-th-rTH

  55. 塔加洛语:values-tl-rPH

  56. 土耳其文:values--r-rTR

  57. 乌克兰文:values-uk-rUA

  58. 越南文:values-vi-rVN

B. 亲~怎么编写多语言Android手机,墨西哥西语。语言列表中目前没有。---我是一名做手机开发的小菜鸟。。

新建一个文件夹,命名为values-es-MX,在下面新建string.xml文件,添加你需要进行国际化的语言。希望对你有帮助。

C. Android国际化之多语言(配置及应用内设置)✈️

Android系统通过判断当前系统的Local配置,来使用对应的strings.xml文件

values-->strings.xml 默认语言(简体中文)

values-zh-rHK-->strings.xml 繁体中文

values-en-->strings.xml 英语

在Android系统中,系统的配置大都通过 Configuration 来管理,包括strings等等。

onCreate() 中注册

onDestroy() 中取消注册

setLanguage() 方法

通过上面的设置,可以实现不重启APP修改语言的效果

以上只是对Android多语言设置的一些小小的总结,可能有理解不周的情况,欢迎给我留言指出😄

D. Android:应用多语言切换,国际化实现

生成多种语言的string.xml,里面放置对应的语言,修改配置(Configuration),重启之后就会加载对应语言的string.xml。

1:在res目录下,生成对应的语言包,比如英语:

在res目录下生成了可看到生成了:

<string name="hello">你好</string>
英语:
<string name="hello">hello</string>
之后就可以使用getResource.getString(R.string.hello),这个字符串会加载相对应的配置的语言。
3:修改语言配置

修改语言配置后,需要重新启动进程,并且杀死进程。

1:有些手机是可以在设置里直接切换语言的,这个也就是Configuration改变。用户重新设置系统语言导致应用的语言也会重新设置。Configuration改变,如果在Manifest中不设置android:configChanges忽略掉配置改变,Activity会重新创建,那么我们就可以在Activity的onCreate中,重新修改语言配置。
2:切换语言后,退出应用,重新进来,你会发现又是系统设置的语言。所以需要在Application开启时,需要再次切换语言配置。

E. Android的国际化语言适配(系统语言适配+APP内部适配)

Android国际化语言适配分为两种

1.更改手机系统语言后,APP的语言也会跟着变化

2.只改变自己APP的语言,不受手机系统语言的影响,不影响其他APP的语言,可以参考微信的切换语言的效果。

只需要创建不同语言的values即可

具体操作参考  简单的Android客户端国际化(语言适配)方案

操作的时候要注意: 当选择所要切换的语言后,则进行修改Config以及重启APP,一定要将选择的语言保存到SP中,且在activity中的oncreate中将SP中存储的语言取出来重新设置Config,否则当重启APP后,还是会跟系统语言一样。 

具体操作参考  Android应脊敬明用稿轿程序内部切换语樱告言及自定义语言

F. Android国际化多语言切换

关于App国际化,之前有讲到国际化资源、字符换、布局相关,想要了解的猛戳 用力抱一下APP国际化 。借着本次重构多语言想跟大家聊一下多语言切换,多语言切换对于一款国际化App来讲是重中之重,并非难事,但是若要做好也是一件不容易的事情。

当我们做了系统的配置更改,比如说切换了系统导航或者说更改了深色模郑山式,那么我们一般的处理是也是要对Application作出处理。

如果项目中有用到ApplicationContext去getString(@StringRes int id)实现加载的提示语,那么如果只是单纯的重启界面则无法让当前的提示语跟随当前切换的语言,所以我们要么重启整个应用,要么对ApplicationContext中的Local也作出相应的更新方可,这里有一点问题,虽然Android N之后updateConfiguration是过时方法,官方给出使用createConfigurationContext代替,但是更新ApplicationContext的Local发现无效使用老版本updateConfiguration正常。

如果你发现你的应用广播通知栏适配无效,那就是context中的Local在切换语言是并未及时更新Local,这里调试一下便知,如果是Applicaiton注册的广播,那么喊高中多半情况下是没有更新ApplicationContext的Local所导致的。

多语言适配基本步骤大概就是如此了,下面看一下适配的细节问题。

[图片上传失败...(image-b42d06-1640685147639)]
还有一点Android N之后,手机系统的语言配置选项已经不是单选了,改为一个列表了,具体可以参考手机设置中的语言和输入法,所以 setLocal(@Nullable Locale loc) 方法建议不要再使用了,我相信很多人还在用,正确念谨的用法应该是 setLocals(@Nullable LocaleList locales) ,需要传递一个集合。

当你的应用使用的是androidx.appcompat:appcompat:1.2.0及以上时,BaseActivity中需要实现下面方法。

这套方案目前不在推荐,直接去替换attatchBaseContext()中的context则可,经过测试是完全正常的。

以下则是多语言操作的工具类,现在提供出来,需要的朋友可以自行进行改造。

G. Android应用程序的strings.xml文件中只能存放一些字符串常量信息。

一:是为了国际化,当需要国际化时,只需要再提供一个string.xml文件,把里面的汉子信息都修改为对应的语言(如,English),再运行程序时,android操作系统会根据用户手机的语言环境和国家来自动选择相应的string.xml文件,这时手机界面就会显示出英文。这样做国际化非常的方便。

热点内容
编译java的程序需要使用什么命令 发布:2024-11-28 09:28:03 浏览:656
python二进制utf8 发布:2024-11-28 08:56:41 浏览:253
三方网站源码 发布:2024-11-28 08:30:51 浏览:108
windows版ftp软件免费下载 发布:2024-11-28 08:25:28 浏览:857
淘宝帐号怎么改密码 发布:2024-11-28 07:46:05 浏览:12
监控未配置怎么办视频 发布:2024-11-28 07:44:41 浏览:504
android获取手机的ip 发布:2024-11-28 07:42:13 浏览:171
python打开文件窗口 发布:2024-11-28 07:36:13 浏览:556
cpu二级缓存的作用 发布:2024-11-28 07:36:12 浏览:1001
net数据库控件 发布:2024-11-28 07:32:58 浏览:99