zoukankan      html  css  js  c++  java
  • 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 。 如何使用请百度。

  • 相关阅读:
    iOS网络编程开发-数据加密
    iOS网络编程开发GET请求和POST请求
    iOS网络编程开发—HTTP协议
    iOS网络编程开发—网络编程基础
    iOS多线程技术—自定义NSOperation
    iOS多线程技术—NSOperation用法
    大家一起和snailren学java-(一)对象导论
    大家一起和snailren学java-(序)
    Hadoop 2.7.0模拟分布式实验环境搭建[亲测]
    LeetCode:103Binary Tree Zigzag Level Order Traversal
  • 原文地址:https://www.cnblogs.com/slyfox/p/8745702.html
Copyright © 2011-2022 走看看