鍍金池/ 教程/ Android/ Android本地化
Android 應(yīng)用組件
使用布局文件自定義Android組件
Android通知
Android主題示例
Android JetPlayer實(shí)例
Android MediaPlayer(多媒體播放)
Android AbsoluteLayout
Android FrameLayout
Android Gestures/手勢(shì)
Android AutoCompleteTextView(自動(dòng)完成)實(shí)例
Android 資源組織和訪(fǎng)問(wèn)
Android ListView
Android GridView
Android數(shù)據(jù)備份
Android撥打電話(huà)
Android發(fā)送短信/SMS
Android ProgressDialog
SimpleCursorAdapter
Android發(fā)送電子郵件
Android Activity
Android TextView
Android事件處理
Android TableLayout
Android加載Spinner
Android內(nèi)容提供者
Android自定義字體
Android Service
Android CheckBox
Android Intent過(guò)濾器
Android LinearLayout
Android登錄實(shí)例
Android RadioButton
Android樣式和主題
Android自定義組件及屬性
Android UI控件
Android Animation(動(dòng)畫(huà))實(shí)例
Android Camera(攝像頭)
Android ToggleButton
Android Clipboard(復(fù)制/剪貼板)
Android音頻捕獲(錄音)
發(fā)布Android應(yīng)用
Android Alertdialog(警告對(duì)話(huà)框)
Android圖片效果
Android內(nèi)部存儲(chǔ)
Android基于位置服務(wù)
Android RadioGroup
Android AutoCompleteTextView
Android Bluetooth(藍(lán)牙)實(shí)例
Android RelativeLayout
Android最佳實(shí)踐
Android本地化
Android自定義組件
Android教程
Android 架構(gòu)
Android UI布局
Android Button
Android Hello World示例
Android音頻管理器實(shí)例
ArrayAdapter
Android拖放
Android碎片/片段
Android圖片切換
Android JSON解析器
Android開(kāi)發(fā)環(huán)境搭建
Android Spinner
Android樣式示例
使用活動(dòng)代碼自定義Android組件
Android ImageButton
Android EditText
Android廣播接收器

Android本地化

Android應(yīng)用程序可以在許多不同地區(qū)的許多設(shè)備上運(yùn)行。為了使應(yīng)用程序更具交互性,應(yīng)用程序應(yīng)該處理以適合應(yīng)用程序?qū)⒁褂玫恼Z(yǔ)言環(huán)境方面的文字,數(shù)字,文件等。

在本章中,我們將解釋?zhuān)绾胃鶕?jù)不同區(qū)域等應(yīng)用程序我們將本地化的應(yīng)用中定位使用的字符串,并以同樣的方式的其他東西可以本地化。

本地化字符串

為了在你的應(yīng)用程序中使用的字符串進(jìn)行本地化,使RES下一個(gè)新的文件夾名稱(chēng)為本地值(values-local),當(dāng)?shù)貙⒈惶鎿Q的區(qū)域。

例如,在意大利的情況下,值在(values-it)文件夾將在res下。這顯示在下面的圖片:

Anroid Localization Tutorial

該文件夾制成之后,從默認(rèn)的文件夾中的strings.xml復(fù)制到所創(chuàng)建的文件夾。并更改其內(nèi)容。舉例來(lái)說(shuō),已經(jīng)改變參考hello world字符串的值。

意大利, RES/VALUES-IT/STRINGS.XML

<;?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello_world">Ciao mondo!</string>
</resources>

西班牙, RES/VALUES-IT/STRINGS.XML

<;?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello_world">Hola Mundo!</string>
</resources>

法國(guó),RES/VALUES-IT/STRINGS.XML

<;?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello_world">Bonjour le monde !</string>
</resources>

除了這些語(yǔ)言,其他語(yǔ)言的區(qū)域碼已在表中給出:

Sr.No 語(yǔ)言和代碼
1 Afrikanns
代碼:af 文件夾名稱(chēng): values-af
2 Arabic
代碼:ar 文件夾名稱(chēng):values-ar
3 Bengali
代碼:bn文件夾名稱(chēng):
4 Czech
代碼:cs文件夾名稱(chēng):values-cs
5 Chinese
代碼:zh文件夾名稱(chēng): values-zh
6 German
代碼:de 文件夾名稱(chēng):values-de
7 French
代碼:fr 文件夾名稱(chēng)::values-fr
8 Japanese
代碼:ja 文件夾名稱(chēng):values-ja

例子

這里有一個(gè)例子演示如何使用字符串的本地化的。它創(chuàng)建了一個(gè)基本的應(yīng)用程序,允許根據(jù)美國(guó)和意大利地區(qū)的自定義應(yīng)用程序。

為了試驗(yàn)這個(gè)例子,可以在實(shí)際設(shè)備或模擬器運(yùn)行此應(yīng)用程序。

Steps 描述
1 使用Android Studio創(chuàng)建Android應(yīng)用程序,并將其命名為: Locals。在創(chuàng)建這個(gè)項(xiàng)目,確保目標(biāo)SDK編譯在A(yíng)ndroid SDK的最新版本或使用更高級(jí)別的API
2 修改src/MainActivity.java文件添加必要的代碼
3 修改res/layout/activity_main添加相應(yīng)的XML組件
4 修改res/values/string.xml 添加必要的字符串
5 創(chuàng)建 res/values-it/string.xml添加必要的字符串
6 運(yùn)行應(yīng)用程序并選擇運(yùn)行Android設(shè)備,并在其上安裝的應(yīng)用和驗(yàn)證結(jié)果

以下是修改后的主活動(dòng)文件的內(nèi)容 src/com.yiibai.locals/MainActivity.java.

package com.example.locals;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
   }

   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }

}

以下是修改 res/layout/activity_main.xml 的內(nèi)容

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".MainActivity" >

   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="174dp"
      android:text="@string/hello_world"
      android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

以下是 res/values/string.xml. 的內(nèi)容

<?xml version="1.0" encoding="utf-8"?>
<resources>

   <string name="app_name">Locals</string>
   <string name="action_settings">Settings</string>
   <string name="hello_world">Hello world!</string>

</resources>

以下是 res/values-it/string.xml. 的內(nèi)容

上一篇:Android主題示例下一篇:Android登錄實(shí)例