2013-03-08 161 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现在允许您查看层次结构中所有视图的开始/结束属性,布局方向,文本方向和文本对齐方式。