歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android 國際化與資源自適應

國際化很重要!  就算再有困難,再有挫折,該實施時,也要堅定實現國際化!(7.23 動車劫 溫家寶會見中外記者都堅持有翻譯隨同)

說起Android SDK國際化,通常只需要將界面文字翻譯成不同語言,然後將相應的資源文件放到各種語言特定國際化資源目錄

資源的自適應性  主要指單獨為每一種環境設置資源,例如對480*320 和 854 * 480 兩種分辨率的手機設置兩種XML布局文件.

 1.  對於界面的字符串國際化,實際就是為應用程序提供不同語言的字符串,  對於開發人員要做的確是,為保存各種語言的字符串資源建立國際化目錄,然後將相應的資源文件放到這些目錄中, 國際化目錄的規則如下:

   資源目錄  +  國際化配置選項

其中資源目錄是指  res  目錄中的子目錄,例如 values,layout等,國際化配置選擇項包含很多部分,中間用 " - " 分隔。例如要實現不同語言和地區的國際化,這些配置選項包括語言代號和地區代號。 表示中文和中國的配置選項是 zh-rCN; 表示英文和美國的配置選項是en-rUS.  表示zh 和 en 表示中文和英文;CN  和 US 表示中國和美國;  前面的r 是必須的,

為了區分地區部分,不能單獨指定地區,但可以單獨指定語言。

步驟:

   1.  在res 目錄中建立兩個文件夾:  values-zh-rCN  和 values-en-rUS。 並在這兩個目錄中各建立一個strings.xml,  內容如下:

      values-zh-rCN  目錄中的 strings.xml 文件

      <resources>

            <string   name="ok">確定</string>

            <string name="cancel">取消</string>

           <string name="ignore">忽略</string>

    </resources>

    values-en-rUS  目錄中的strings.xml 文件

    <resources>

              <string   name="ok">OK</string>

              <string name="cancel">Cancel</string>

             <string name="ignore">Ignore</string>

    </resources>

包括values目錄下strings.xml文件,雖然有3 個strings.xml文件,但不會沖突。

2.  其他的資源目錄也可以采用同樣的方式處理語言和地區的國際化,例如在res 目錄中建立兩個目錄: drawable-zh-rCN  和 drawable-en-rUS,並在這兩個目錄中分別放一個flag.jpg,  然後可以正常引用這個圖像資源, 代碼:

 <ImageView   android:id="@+id/iv"   android:layout_width="100dp"  android:layout_height="80dp"  android:src="@drawable/flag"  />

如果當前的語言環境未找到相應的資源,如德文,Android 系統會根據具體的資源做出相應的處理,對於字符串資源,如果該資源不存在,會顯示該資源在R類中生成的ID值(以十進制顯示)

 可以從如下地址獲得完整的語言和地區的配置選項:

獲得語言配置選項 http://www.loc.gov/standards/iso639-2/php/code_list.php

獲得地區配置選項 http://www.iso-org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html

除了可以使用資源目錄的方式外,第二種方式是:    使用  Locale  對象獲得當前的語言環境, 然後根據語言環境決定讀取哪個資源文件中的資源,使用這種方式可以將資源文件存放在  assets  目錄 。要注意,這裡的CN 和 US前面未加前綴 r.代碼也在ch13_i18n中,設置title會隨著當前語言環境的變化而變化

示意圖

  

具體代碼參見 ch13_i18n 工程

Copyright © Linux教程網 All Rights Reserved