2013-10-08 86 views
4

我已阅读How can I create a multilingual android application?Do android support multiple languages?我知道创建一个多语言的Android应用程序。但我的问题是针对不同的语言显示从右到左和从左到右的文本。如何为从右至左的语言创建多语言Android应用程序?

例如英文a TextView作为标签应位于EditText和波斯文的左侧,TextView应位于EditText的右侧。

enter image description here enter image description here

我怎么能支持从右到我的用户界面左侧的语言和用户界面?

我应该为从右到左的语言设计不同的布局吗?如何在布局中为RTL指定文件夹?像layout-rtl?或者,我如何确定语言是否正确?

有没有更简单的方法?

+0

希望这可以帮助您http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch并减缓此http://developer.android.com/guide/topics/resources/ localization.html –

回答

5

官方支持在Android 4.2中引入,请参阅RTL Layout Support。您可以通过enter link description here查询是否正在使用它。

您可以尝试在所有情况下使用相同的布局,也可以在'layout-ldrtl'中指定特定布局。

根据您的示例,如果您使用的是RelativeLayout,则需要使用android:layout_alignParentStart属性,而不是android:layout_alignParentLeft将标签从左向右自动移动。

+2

确保您还在清单中的应用程序标签内添加了android:supportsRtl =“true”。 – Ashwini

0

您可以创建一个不可翻译的单词列表,以便您知道调用这些资源时它将始终使用相同的语言。 例如:

<string name="english">English</string> 
<string name="english_fixed" translatable="false">English </string> 

在这种情况下,参考到R.string.english_fixed将始终显示相同的字符串,同时将R.string.english翻译的单词。 然后,您可以在两个不同的TextView中使用左侧和右侧的两个不同资源。

我理解这个问题吗?

相关问题