Android開發教學
Android 開發環境配置
Android 架構
Android 應用組件
Android Hello World示例
Android 資源組織和訪問
Android Activity
Android Service
Android廣播接收器
Android內容提供者
Android碎片/片段
Android Intent過濾器
Android UI佈局
Android LinearLayout
Android RelativeLayout
Android TableLayout
Android AbsoluteLayout
Android FrameLayout
Android ListView
Android GridView
Android UI控件
Android TextView
Android EditText
Android AutoCompleteTextView
Android Button
Android ImageButton
Android CheckBox
Android ToggleButton
Android RadioButton
Android RadioGroup
Android事件處理
Android樣式和主題
Android樣式示例
Android主題示例
Android自定義組件
Android拖放
Android通知
Android基於位置服務
Android發送電子郵件
Android發送短信/SMS
Android撥打電話
發佈Android應用
ArrayAdapter
SimpleCursorAdapter
Android ProgressDialog
Android Spinner
使用活動代碼自定義Android組件
使用佈局文件自定義Android組件
Android自定義組件及屬性
Android Alertdialog(警告對話框)
Android Animation(動畫)實例
Android音頻捕獲(錄音)
Android音頻管理器實例
Android AutoCompleteTextView(自動完成)實例
Android最佳實踐
Android Bluetooth(藍牙)實例
Android Camera(攝像頭)
Android Clipboard(複製/剪貼板)
Android自定義字體
Android數據備份
Android Gestures/手勢
Android圖片效果
Android圖片切換
Android內部存儲
Android JetPlayer實例
Android JSON解析器
Android加載Spinner
Android本地化
Android登錄實例
Android MediaPlayer(多媒體播放)

Android本地化

Android應用程序可以在許多不同地區的許多設備上運行。爲了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。

在本章中,我們將解釋,如何根據不同區域等應用程序我們將本地化的應用中定位使用的字符串,並以同樣的方式的其他東西可以本地化。

本地化字符串

爲了在你的應用程序中使用的字符串進行本地化,使RES下一個新的文件夾名稱爲本地值(values-local),當地將被替換的區域。

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

Anroid

該文件夾製成之後,從默認的文件夾中的strings.xml複製到所創建的文件夾。並更改其內容。舉例來說,已經改變參考hello world字符串的值。

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

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

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

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

法國,RES/VALUES-IT/STRINGS.XML

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

除了這些語言,其他語言的區域碼已在表中給出:

Sr.No

語言和代碼

1

Afrikanns
代碼:af 文件夾名稱: values-af

2

Arabic
代碼:ar 文件夾名稱:values-ar

3

Bengali
代碼:bn文件夾名稱:

4

Czech
代碼:cs文件夾名稱:values-cs

5

Chinese
代碼:zh文件夾名稱: values-zh

6

German
代碼:de 文件夾名稱:values-de

7

French
代碼:fr 文件夾名稱::values-fr

8

Japanese
代碼:ja 文件夾名稱:values-ja

例子

這裏有一個例子演示如何使用字符串的本地化的。它創建了一個基本的應用程序,允許根據美國和意大利地區的自定義應用程序。

爲了試驗這個例子,可以在實際設備或模擬器運行此應用程序。

Steps

描述

1

使用Android Studio創建Android應用程序,並將其命名爲: Locals。在創建這個項目,確保目標SDK編譯在Android SDK的最新版本或使用更高級別的API

2

修改src/MainActivity.java文件添加必要的代碼

3

修改res/layout/activity_main添加相應的XML組件

4

修改res/values/string.xml 添加必要的字符串

5

創建 res/values-it/string.xml添加必要的字符串

6

運行應用程序並選擇運行Android設備,並在其上安裝的應用和驗證結果

以下是修改後的主活動文件的內容 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 的內容

<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" />

以下是 res/values/string.xml. 的內容

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

以下是 res/values-it/string.xml. 的內容

<string name="app_name">Locals <string name="action_settings">Settings <string name="hello_world">Ciao mondo!

以下是 AndroidManifest.xml 文件的內容

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.yiibai.locals" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.yiibai.locals.MainActivity" android:label="@string/app_name" > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />

讓我們試着來運行修改本地化應用。安裝程序AVD並啓動它,如果一切設置和應用程序都沒有問題,它會顯示以下仿真器窗口:

Anroid

現在從菜單/系統設置/語言意大利改變設置設備的語言。

現在再次打開應用程序,這時候會看到的Hello World在意大利語言。它已被證明下面::

Anroid