本篇文章主要介绍了"Android适配之适配不同语言,即国际化",主要涉及到Application方面的内容,对于Android开发感兴趣的同学可以参考一下:
Android适配之适配不同语言,即国际化概述国际化,能够让我们的app被使用不同国家地域使用,感觉是件很酷的事情。但是,市场上大部分app都没有做国际化方面的...
Android适配之适配不同语言,即国际化
概述
国际化,能够让我们的app被使用不同国家地域使用,感觉是件很酷的事情。但是,市场上大部分app都没有做国际化方面的工作,因为没有必要,大点的app,如微信,微博等也只是多适配了英语。
在开发过程中,我们在布局文件中为textview,指定android:text=”“属性时会看到类似下面的警告信息:
[I18N] Hardcoded string “admin”, should use @string resource
Google推荐我们将字符串写在strings.xml文件中,其实一方面是为了方便管理和重用,另一方面,就是为了国际化。
如何国际化?
1.创建区域设置目录和字符串文件
为了支持多国语言,在res/中创建一个额外的values目录以连字符和ISO国家代码结尾命名,比如values-es/ 是为语言代码为”es”的区域放置简单的资源文件的目录。Android会在运行时根据设备的区域设置,加载相应的资源。
若你决定支持某种语言,则需要创建资源子目录和字符串资源文件,例如:

添加不同区域语言的字符串值到相应的文件。我们还能在ADT中,看到所选的strings.xml的国旗。
点击了values-en/strings.xml文件:

点击了values-fr/strings.xml文件:

在运行时,Android系统会根据用户设备当前的区域设置,使用相应的字符串资源。如若,根据系统设置的语言找不到相关加载资源文件,则默认使用values/strings.xml文件。
例如 ,下面列举了几个不同语言对应不同的字符串资源文件。
英语,values-en/strings.xml
<resources><stringname="app_name">AnimatorTeststring><stringname="action_settings">Settingsstring><stringname="hello_world">Hello world!string>resources>
法语,values-fr/strings.xml