Android-语言国际化
参考
http://www.loc.gov/standards/iso639-2/php/code_list.php 各国语言表
Overview
Internationalization(国际化),又名I18n(因为这个单词的开头
I
和结尾n
只有有18个字母),与国际化相对的还有Localization(本地化),又名L10n(命名缘由相同)。Android 语言国际化,就是根据不同的区域(由系统设定)显示不同的语言.
Android国际化
这里我们以中文
和English
之间的国际化。
建立不同国家的values文件夹
因为我们这里要做的是中文和英文之间的国际化,所以我们这里仅仅就建立了values-en
这个目录,而values下的额strings.xml
则是我们的默认的语言(当系统的语言在程序的资源中没有被定义的话就加载此资源)。
开始进行布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"
tools:context="little_david.internationalizationdemo.MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="用户名"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="密码"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="登录"
android:textAllCaps="false"/>
</LinearLayout>
光标选中 hint
属性后按ALT+Entry
快捷键,依次的将所有的字符串都进行提取。
修改汉语为英语
编辑vlaues-en/strings.xml
文件
<!-- 这是编辑之前的文件 -->
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--这是我们的应用程序名称,不会自动生成我们需要手动添加一下-->
<string name="app_name">国际化 Demo</string>
<string name="login_username">用户名</string>
<string name="login_password">密码</string>
<string name="login_login_btn">登录</string>
</resources>
<!-- 这是修改后的文件 -->
<resources>
<!--这是我们的应用程序名称,不会自动生成我们需要手动添加一下-->
<string name="app_name">Internationalization Demo</string>
<string name="login_username">Username</string>
<string name="login_password">Password</string>
<string name="login_login_btn">Login</string>
</resources>
测试效果
在设置中修改当前语言版本为中文
修改当前系统语言为英文
总结
手动进行国际化太累了啊,我们要借助AndroidStudio的插件来帮助我们进行国际化操作。该插件的名称是
AndroidLocalizationer
。 如何使用请百度。