Android多语言与国际化

internationalization (国际化)简称 i18n,因为在i和n之间还有18个字符,localization(本地化 ),简称L10n。
一般用 语言_地区的形式表示一种语言,如 zh_CN, zh_TW.

我们建好一个android 的项目后,默认的res下面 有layout、values、drawable等目录

这些都是程序默认的资源文件目录,如果要实现多语言版本的话,我们就要添加要实现语言的对应的资源文件。

首先我们点击添加Android Xml File按钮:

Android多语言与国际化 - 意随风 - 意随风

会出现下面的界面:

Android多语言与国际化 - 意随风 - 意随风
 输入文件名:string.xml,选中Values单选框,并把下面左列表中的Region添加到左边的列表里面,并在Region输入框里输入cn,如下图:
Android多语言与国际化 - 意随风 - 意随风
 这时,上面的消息提示:如果用Region的话,需要使用语言项,和Region一样,我们把Language也添加到右面的列表里面,填入zh,如下图
Android多语言与国际化 - 意随风 - 意随风
 点击Finish按钮,资源文件就会建好了,目录:resvalues-zh-rCN(其实上面一大堆操作,就是为生成这个目录)
Android多语言与国际化 - 意随风 - 意随风
  默认生成的string.xml的代码:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Test!</string>
<string name="app_name">Test-Multilingual</string>
</resources>

修改刚刚生成的resvalues-zh-rCN目录下的string.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">测试多语言</string>
<string name="hello">你好 多语言测试</string>
</resources>

在程序运行时,如果没有找到res下相对应语言的目录,则会加载了默认的resvalues目录下的string.xml
这里只用了Values做例子,其余的Resource都可以,图片了,布局了等等
这里只是简单的介绍了一下多语言对应,剩下的大家自己深入研究吧!

原文地址:https://www.cnblogs.com/navy-wang/p/3182253.html