您的位置:首页 > 移动开发 > Android开发

Android多语言支持

2016-10-09 13:02 239 查看

引言

走向国际是现在App的主流方向,一款App 要想做大就得放眼世界,不仅仅要占领国内市场,也要占领国外的市场。这就对App提出了一个新的要求——支持多国语言。

解决方案

关于如何解决这个问题,在谷歌的官方Training文档中其实已经告诉我们了。网址如下:

https://developer.android.com/training/basics/supporting-devices/languages.html

我来简要的说明一下那一堆堆的Words。

第一步: 在AS中将目录结构由平时用Android转为Project(为什么要切换?不切换你在第二步创建文件夹是看不到的);



第二步: 在对应Moduleres 文件夹下创建新的文件夹(例如values-zh:用来适配中文语言的,默认的values是适配英文的);

第三步: 在 values-zh 里面创建资源文件 strings.xml来存储字符串;



第四步: 切回Android结构目录,可以看到values包下的strings.xml有2个;



其中:

strings.xml文件:

<resources>
<string name="app_name">SupportMultLanguages</string>
<string name="hello_world">Hello World!</string>
</resources>


strings.xml(zh)文件:

<resources>
<string name="hello_world">你好,世界</string>
</resources>


第五步: 在引用字符串的时候都从资源文件里获取即可。

activity_main布局文件:

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />


最后,切换语言即可自动调用不同的语言包下的strings.xml的字符串。

或许这就是为什么最好把字符串都提取到资源文件里的缘故吧。

最后

也许有的小伙伴会说我不知道那些语言对应的缩写啊。莫急,其实常用的就这么几个

中文:zh

英语:en(默认)

法语:fr

德语:de

什么?!还不够?!上我的大杀器http://www.loc.gov/standards/iso639-2/php/code_list.php
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android 多语言