• android学习笔记48_实现软件国际化,实现文字国际化,和图片国际化


    2013/5/11
    48_实现软件国际化
    -----------------------
    1.国际化的意思是:当软件运行在不同的语言环境的时候,会自动的显示对应的语言。
    -------------------------------------
    2.下面的例子用来适配,中文和英文两种文字。
    -----------------------------------------
    3.这里新建android项目:i18n
     a.新建下面的文件夹用于实现国际化:
     /i18n/res/drawable-en
    /i18n/res/drawable-zh
    以上两个用来实现图片国际化
    ---------------------------
     b./i18n/res/values-en
     /i18n/res/values-en/strings.xml
     <?xml version="1.0" encoding="utf-8"?>
    <resources>

        <string name="app_name">i18n</string>
        <string name="name">name</string>
        <string name="button">add</string>

    </resources>
    ----------------------------------
    /i18n/res/values-en-rUS
    /i18n/res/values-en-rUS/strings.xml
    <?xml version="1.0" encoding="utf-8"?>
    <resources>

        <string name="app_name">i18n(us)</string>
        <string name="name">name(us)</string>
        <string name="button">add(us)</string>

    </resources>
    ----------------------------------------
    /i18n/res/values-zh
    /i18n/res/values-zh/strings.xml
    <?xml version="1.0" encoding="utf-8"?>
    <resources>

        <string name="app_name">国际化</string>
        <string name="name">姓名</string>
        <string name="button">添加</string>

    </resources>
      这三个用来实现文字国际化
    ----------------------------
    c./i18n/res/layout/main.xml
     <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/name"
            />
    <!-- android:text="@string/name"这个表达式会自动的在values下的string.xml文件中取得
    然后系统会根据当前的语言环境,自动的调用values-en文件夹下string.xml文件中对应的key值对应的内容
    或者是values-zh文件夹string.xml文件中对应的key值对应的内容,注意这里创建对应语言的文件夹时:开头要用values
    比如中文:values-zh,对应语言文件夹下的xml文件不一定交string.xml,但是key和value值,一定要对应
    比如:在values-zh文件夹中有china.xml文件那么要求:
    values下的string.xml为:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>

        <string name="app_name">i18n</string>
        <string name="name">name</string>
        <string name="button">add</string>

    </resources>
    values-zh文件夹下的china.xml文件为:
    <?xml version="1.0" encoding="utf-8"?>
    <resources>

        <string name="app_name">国际化</string>
        <string name="name">姓名</string>
        <string name="button">添加</string>

    </resources>
    也就是说其他values-xxxx文件夹中的文件内容,要和values文件夹中string.xml内容的key一样
    比如:app_name,app_name
    这样才可以匹配
    一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
    当需要匹配不同国家的语言的时候:比如美国的,美式英语:这里需要在res文件夹下建立:values-en-rUS这个文件夹,其中
    r代表国家,US是java中美国的代表
    <?xml version="1.0" encoding="utf-8"?>
    <resources>

        <string name="app_name">i18n(us)</string>
        <string name="name">name(us)</string>
        <string name="button">add(us)</string>

    </resources>
    一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
    语言的识别规则:比如当系统语言设置为英式英语的时候,系统找不到,英国语言,就会使用values-en,英语这个文件夹下的文件
    如果设置为一个没有文件夹对应的语言,这时候会自动的匹配values文件夹下的文件
    一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
     -->
        <EditText
             android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            />
       
        <Button
             android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:text="@string/button"     
            />
       
          <ImageButton
             android:layout_width="wrap_content"
            android:layout_height="wrap_content" 
            android:src="@drawable/exit"     
            />
    </LinearLayout>
    ----------------------------------------
    4.针对特定的国家提供相应的文字:

    5.图片国际化。
      有些图片上面有文字:比如按钮图片:一个按钮图片上显示(退出),(exit),。。等。
      drawable-hdpi
      drawable-ldpi
      drawable-mdpi
      这三个文件夹:用来存放不同分辨率的图片
      ------------------------------------------
    6.实现图片国际化的时候,要新建:
    drawable-en:英文图片
    drawable-zh:中文图片
     文件夹,这里系统会根据自身的语言环境自动的调用不同文件中的图片
      ------------------------------------------------------------------------------------

  • 相关阅读:
    MongoDB查询语句 (增、删、改、查)
    MongoDB简单查询语句
    jquery Select Change事件
    c# 远程监控(4) 接收端 RTP包重组 分屏显示
    c# 远程监控(3) RTP协议 RTP.NET.DLL
    c# 远程监控(1) 大纲
    c# 远程监控(2) 摄像头调研及模拟
    TortoiseGit记住用户名和密码
    winform ListView和DataGridView实现分页
    制作符合平台的CodeSmith代码生产模版
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3073033.html
Copyright © 2020-2023  润新知