Android-语言国际化

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文件夹

Internationalization-建立国家文件夹

因为我们这里要做的是中文和英文之间的国际化,所以我们这里仅仅就建立了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>

测试效果

在设置中修改当前语言版本为中文

修改当前系统语言为英文

Internationalization-效果图2

总结

手动进行国际化太累了啊,我们要借助AndroidStudio的插件来帮助我们进行国际化操作。该插件的名称是AndroidLocalizationer 。 如何使用请百度。

posted @ 2018-04-08 16:23  鲁迅认识的那只猹  阅读(496)  评论(0编辑  收藏  举报