2013-03-08 164 views
1

在android中有各種語言字符串可用的本地化版本。 我需要本地化阿拉伯語言的佈局。 例子: 在英語中我的佈局是: 名稱(文本字段):名稱(EditText上) 但對於阿拉伯語這將是: 名稱(EditText上):名稱(文本字段) 是否有這個在android系統的方式,或做我必須做出不同的佈局來本地化阿拉伯語。Android本地化阿拉伯語言

回答

2

好像你正在尋找此最近添加到Android: http://android-developers.blogspot.de/2013/03/native-rtl-support-in-android-42.html

大概是早期版本的Android系統,你需要對你自己在這裏執行一些邏輯。請看這裏下一個鏈接的建議: http://developer.android.com/guide/topics/resources/localization.html

這樣你可能可以有一個阿拉伯語的具體佈局,在「設計靈活的佈局」部分解釋。看看下面的網站本地化代碼: http://colincooper.net/blog/2011/02/17/android-supported-language-and-locales/

1

採取RTL佈局的優勢鏡像,只需進行以下修改您的應用程序:

申報應用清單,您的應用程序支持RTL鏡像。 具體來說,將android:supportsRtl =「true」添加到清單文件中的元素。

將所有應用程序的「左/右」佈局屬性更改爲新的「開始/結束」等效項。 如果您的應用是Android 4.2(應用的targetSdkVersion或minSdkVersion爲17或更高),那麼您應該使用「開始」和「結束」而不是「左側」和「右側」。例如,android:paddingLeft應該成爲android:paddingStart。 如果您希望您的應用程序能夠使用早於Android 4.2的版本(應用程序的targetSdkVersion或minSdkVersion爲16或更小),則除了「左」和「右」之外,還應該添加「開始」和「結束」。例如,您可以同時使用android:paddingLeft和android:paddingStart。 爲了更精確地控制LTR和RTL模式下的應用UI,Android 4.2包含以下新API以幫助管理View組件:

android:layoutDirection - 用於設置組件佈局方向的屬性。 android:textDirection - 用於設置組件文本方向的屬性。 android:textAlignment - 用於設置組件文本對齊的屬性。 getLayoutDirectionFromLocale() - 獲取語言環境指定方向的方法 您甚至可以創建自定義版本的佈局,可繪製和其他資源,以便在使用從右至左的腳本時進行顯示。只需使用資源限定符「ldrtl」來標記資源,即「從右向左佈局方向」。要調試和優化自定義的從右到左佈局,HierarchyViewer現在允許您查看層次結構中所有視圖的開始/結束屬性,佈局方向,文本方向和文本對齊方式。