Android多语言应用程序

时间:2017-01-24 05:43:52

标签: android registration multilingual

Please See this Image

具有2种语言ENGLISH和ARABIC的Android应用程序,还有一个注册活动,其中包括密码和电子邮件。因此,当应用程序使用阿拉伯语时,我希望保留密码和电子邮件的英语。   它有什么解决方案吗?

如果语言环境是阿拉伯语,我只想用ENGLISH制作EMAIL和PAssword。

6 个答案:

答案 0 :(得分:2)

此概念称为本地化。要在应用程序中提供本地化支持,您需要在res目录中创建不同的值文件夹。

您需要做的是,创建每个文件夹中包含strings.xml文件的文件夹结构。

values
   strings.xml
values-ar
   strings.xml

在每个strings.xml文件中,声明一个具有相同键名的字符串,但相应地将值放在语言中。

答案 1 :(得分:1)

默认情况下,android会将英语视为主要语言,并从res ⇒ values ⇒ strings.xml加载字符串资源。如果要添加对其他语言的支持,则需要通过附加连字符和ISO语言代码来创建值文件夹。例如,如果您要添加对阿拉伯语的支持,则应创建一个名为 values-ar 的值文件夹,并在其中保留一个strings.xml文件,其中包含所有字符串翻译成法语。

HERE获得帮助

<强>更新

您可以使用数字属性限制EditText输入值。

代表。 android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ"

答案 2 :(得分:1)

我希望您为阿拉伯语和英语创建了单独的string.xml文件

valuse-ar创建string.xml文件下添加此行

<string name="email">EMAIL</string>
<string name="password">PASSWORD</string>

<强>更新

中的

<Editext
........
.......
android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ 1234567890"
......
/>

这将只允许数字英语  字母

答案 3 :(得分:0)

终于找到了解决方案: Multilingual Android app: Display English keyboard in Email & Password fields

只需添加android:imeOptions =&#34; flagForceAscii&#34;

答案 4 :(得分:0)

尝试本教程

Android构建多语言支持的应用

enter image description here

http://www.androidhive.info/2014/07/android-building-multi-language-supported-app/

答案 5 :(得分:0)

您可以在 strings.xml

中使用可翻译的属性
<string name="email" translatable="false">Email</string>