Jags
Jags

Reputation: 143

I am having android application that is running on English Version Now clients want it to convert into Arabic Language

Hi I have worked on the Application that's having the English version, Now i want to convert into Arabic language & also want to change view according to Arabic language Like Right to left.

Most of the data in the App is coming from server side that is in English. Now my real question is that is there any way so that i can convert data in Arabic language @ my end so that client side. What so far i searched it is that

  1. Google translator api----> but that is paid & translation is also not up to the mark.

  2. If I have static strings in strings.xml then i can easily convert into arabic. But whole data is coming from webservice & setting into textview.

Please help

Upvotes: 4

Views: 1888

Answers (1)

Jim DeLaHunt
Jim DeLaHunt

Reputation: 11395

It sounds like you want to do three things:

  1. Allow your app to support the Arabic language as well as the English language in user interface and text content.
  2. Have your app to use right-to-left layout when displaying Arabic language UI and content.
  3. Have your app translate English language text received from a web service into Arabic at run-time.

Allowing your app to support Arabic UI and content requires you to internationalise and localise your application. This is a large and complex topic. A good place to start is the Google Development Guide, Localization.

Android supports right-to-left layout as of version 4.2 Jelly Bean. For details, see the Android 4.2 API documentation RTL Layout.

Translation of English language text to Arabic is very difficult for trained human translators. It's even harder for software to get right. The software that does a good job is rarely free. You don't say whether your English language source text is unconstrained (very very difficult), or limited to a specialised vocabulary (less difficult). I suggest you encourage the provider of your web service to provide an Arabic-language equivalent service, and then have your app use that.

Upvotes: 2

Related Questions