App Development

App Localisation for Arabic and the Gulf: What Breaks When You Translate an App Instead of Localising It

SKIMBOX Team

Arabic needs six plural forms where English needs two, and a layout built with left and right instead of leading and trailing will not mirror at all. Here is what actually breaks in an Arabic app build, and what the work costs. Ours start from around AED 4,000.

App Localisation for Arabic and the Gulf: What Breaks When You Translate an App Instead of Localising It

There is a version of this project that costs very little and a version that costs a great deal, and the difference was decided before anyone wrote a word of Arabic. It was decided by whether the app was built with leading and trailing layout constraints or with left and right.

That is the honest shape of Arabic app localisation. The translation is the small part. What surrounds it is layout engineering, grammar rules that English does not have, and a set of decisions about which parts of your interface must not mirror. This article covers what actually breaks, drawn from Apple's, Google's and Unicode's own documentation.

We already cover the website side in our guide to multilingual website development and the video side in our guide to Arabic voiceover and subtitling. This one is about native apps, where the mechanics are genuinely different.

Does UAE law require an Arabic app?

We found no requirement that private-sector apps offer Arabic. What the UAE government does publish is that Arabic is the official language, that five other languages have status in the courts, and that road, traffic and commercial outlet signage must be in Arabic and English [14].

The adjacent document people reach for is the National Policy for Digital Accessibility, and it does not help here either. It binds government entities and private companies when they are transacting digitally with government, and its subject is accessibility rather than language choice.

So this is a commercial decision. Make it the way our multilingual website guide argues: from the evidence you already own. The language of enquiries in your inbox and on WhatsApp, device language in your analytics, which segments convert and which stall. No official UAE source publishes language usage percentages, so anyone quoting you one has taken it from somewhere they should not have.

Right to left is a layout problem, not a text problem

Both platforms will mirror your interface automatically, but only if it was built in a way that lets them. Apple's engineering guidance is direct: use the Auto Layout leading and trailing attributes rather than the left and right attributes, and most of the interface appears mirrored in right-to-left languages [2]. Apple's design guidance adds that system-provided components flip automatically, so an app using standard elements and standard layouts might need no changes at all [1].

Android's equivalent has two halves. Add the supportsRtl flag to the application element in your manifest, then replace left and right attributes with start and end throughout your layouts, covering gravity, padding, margins, drawables and alignment [3]. Where both are present and the app targets a recent API, start and end take precedence [3]. For screens needing genuinely different treatment you can supply direction-specific resources in a layout-ldrtl folder, which the system loads for Arabic, Persian and Hebrew [3].

Android's own caveat is worth quoting in spirit: not everything mirrors on its own. Some framework elements do not support right-to-left direction and need explicit handling, and automatic drawable mirroring works for simple graphics whose mirroring is a straightforward flip, with complex multi-element drawables needing deliberate attention [3].

What must never flip

Logos, clocks, photographs and media player controls must not flip, and mirroring one of them is more noticeable than failing to mirror something that should. Apple is unambiguous about the categories: do not flip logos or universal signs and marks, and a flipped logo confuses people and can carry legal consequences [1]. Clocks look the same regardless of reading direction, because clocks work the same everywhere [1]. Photographs, illustrations and general artwork should not be flipped, since flipping changes an image's meaning, and flipping a copyrighted image may be a violation [1].

Material Design agrees and adds specifics. Media controls for video and audio players are always left to right [4]. Clock icons, circular refresh icons and clockwise progress indicators are not mirrored [4].

What should flip is anything expressing direction or reading order. Apple's list covers icons representing text or reading direction, icons showing forward or backward motion, and controls that help people navigate items in a fixed order, which is why a back button points right in Arabic [1]. Controls that refer to an actual direction keep pointing that way [1].

One detail deserves attention because it undermines the idea that this can be handled with a single flag. Material Design states that linear progress indicators should move right to left for most right-to-left languages, and then excepts Hebrew [4]. Right to left is a family of behaviours, not a switch.

Arabic grammar breaks English-shaped workflows

Arabic uses six grammatical plural categories where English uses two, which is the single clearest thing separating translating an app from localising one.

The Unicode CLDR publishes the exact rules [5]. For Arabic: zero when the count is nought, one when it is one, two when it is two, few when the count modulo one hundred falls between three and ten, many when it falls between eleven and ninety-nine, and other for the remaining cases, including exact hundreds.

Apple confirms this in its own documentation, stating that Arabic has different plural forms for the zero, one, two, few, many and other categories, and noting that although Russian also uses a category named many, the rules for which numbers fall into it differ from Arabic's [6].

Look at where those middle categories sit. Few covers three to ten. Many covers eleven to ninety-nine. Those are the quantities real interfaces display constantly: items in a basket, unread messages, days remaining, results found. A translation process built around English's singular-and-plural model has nowhere to put them, so Arabic strings either get forced into the wrong category or fall back to the general form for every quantity. The result is an app that is grammatically wrong in the most ordinary places, every single time.

The fix is to use each platform's plural mechanism rather than concatenating a number onto a string. On iOS that is a String Catalog or the older stringsdict file, mapping each category to its own string [6]. On Android it is a plurals resource supporting the same six category names [7]. Apple notes that only the general category is strictly required, and that a rule supplied for a category a language does not use is simply ignored [6].

Both platforms also push the per-language decision to the translator rather than the developer. Android's guidance is to always supply the one and other strings and let translators determine what their language needs [7], and Apple's export process generates the correct category slots per target language automatically [6]. Your responsibility is to use the mechanism at all.

Text, numbers and the bugs that only appear in Arabic

Use standard text views and the platform handles Arabic's connected letterforms for you. Apple's guidance is to use standard views and controls that automatically handle bidirectional text, and warns that custom text input controls mean handling bidirectional text yourself [2]. That alone is a good argument against custom-drawn text in any app that will carry Arabic.

Fonts are less of a decision than they look, at least on iOS. Apple ships SF Arabic, which it describes as a contemporary interpretation of the Naskh style built to pair with its Latin system font for multilingual typesetting [13]. On Android, the mechanism that maps a script to a fallback font is documented, but we could not confirm on an official page which specific font is mapped to Arabic by default across current versions, so we are not naming one. In practice the safer route on both platforms is to test your actual type at your actual sizes rather than assume a font choice carries across.

Apple does offer one piece of quantified type guidance worth knowing: Arabic or Hebrew text can look too small beside uppercase Latin text, and increasing the right-to-left font size by about two points often works well [1]. That is about visual balance rather than string length. On string length itself, neither Apple nor Google publishes an expansion figure for Arabic against English, so treat any percentage you are quoted as someone's estimate and design your layouts to flex instead.

Mixed-direction content is where correct mirroring still produces wrong output. An English address or a phone number inside an Arabic string will inherit the surrounding direction unless it is wrapped. Apple documents wrapping left-to-right content with Unicode directional formatting characters and using natural writing direction so the system infers direction from the text [2]. Android provides a bidirectional formatter that detects a string's direction and wraps it [3]. The classic symptom is a house number appearing on the wrong side of an address.

Numerals carry a decision most teams do not realise they are making. Apple notes that Arabic text may use Western or Eastern Arabic numerals, with usage varying between countries and regions and even within the same region, and recommends relying on the system's representation for the locale unless your app is specifically about numbers [1]. The digits within one number never reverse, so a phone number reads the same in either direction [1].

There is a related bug that never appears in English testing. Android documents that string formatting without an explicit locale uses the device's own digit set, which breaks machine-readable output such as a database query built from a user-entered number on an Arabic or Persian locale device [3]. User-facing text should follow the device. Machine-readable strings need an explicit locale.

Dates and the Hijri calendar

Both platforms support Islamic calendars natively, and there is more than one for a reason. iOS exposes several calendar identifiers, including a tabular civil variant that follows a fixed cycle and the Umm al-Qura variant used in Saudi Arabia, which Apple describes as based on astronomical calculation rather than tabular behaviour [11]. Android provides an equivalent Islamic calendar through its bundled internationalisation library, selectable through a locale tag with civil and Umm al-Qura variants [12].

The practical point is that this is a decision, not a default. A predictable fixed-cycle calendar suits scheduling. An observational one suits religious dates. If your app schedules anything against Hijri dates, pick deliberately.

Your store listing is a separate project

An Arabic listing and an Arabic app are two independent decisions, and Apple says so plainly: languages on the App Information page in App Store Connect are metadata, which differs from adding languages to your app in Xcode when you localise the binary [8].

Two details are worth planning around. First, Apple lists Arabic as the default App Store language for the United Arab Emirates, alongside Saudi Arabia, Bahrain, Iraq, Jordan, Kuwait, Oman, Qatar and Yemen [9]. Arabic-preferring shoppers in your own market are the default audience for your listing before you do anything.

Second, screenshots do not translate themselves. Apple states that when you add a language, screenshots and properties default to those of the primary language, with description and keywords the exceptions that do not inherit [8]. Google states that adding text translations without localised graphic assets means your graphics show from the default language [10]. Either way, an Arabic listing quietly ships with English screenshots until a person replaces them, which is where most half-finished Arabic listings come from.

On Google Play, keep two mechanisms apart. Play Console distinguishes store listing localisation by language from custom store listings by country or region, recommending the latter when you want to differentiate by market [10]. An Arabic translation is a language feature. A UAE-specific listing with Gulf imagery is a regional one.

There is also a route worth knowing for a market as multilingual as this one. Android 13 and later supports per-app language preferences, so a user whose phone is in English can choose Arabic in your app specifically [3]. Device language is a weak proxy for preference here, and an in-app switch is usually worth building.

Testing without reading Arabic

You can catch most layout defects before a translator sees anything. Android exposes a Force RTL layout direction option in on-device developer options, which renders your English build in right-to-left layout [3]. Broken alignment, clipped labels, and icons pointing the wrong way all show up immediately, in a language you can read.

What it will not catch is grammar, tone, or a plural category filled with the wrong string. That needs a native reviewer looking at real screens with real data, not a spreadsheet of strings out of context.

A pattern worth avoiding. An app ships in English, does well, and Arabic is added a year later as a translation line item. The strings come back in a fortnight and the project then runs for two months, because every screen used left and right constraints, the plural strings were concatenated, and nobody had decided whether the video player controls should mirror. None of that was a translation problem. All of it was decided at build time.

What it costs

Adding Arabic to an existing app starts from around AED 4,000 with us, where the app was built with localisation in mind and strings are already externalised. It rises steeply where left and right were hardcoded throughout, because at that point you are paying for a refactor rather than a translation. These are our own figures rather than a market survey, since no official body publishes rates for this work. Final pricing depends on scope.

The number that catches people out is the recurring one. Our mobile app development cost guide puts ongoing Arabic content work at around AED 600 to AED 1,500 a month where you publish updates frequently, because every new screen, notification, error message and push message needs translating and reviewing again. A second language behaves like a subscription rather than a project.

For comparison, a second language on a website starts from around AED 2,500 in our multilingual guide. Apps cost more for the reason this whole article describes: a website language is largely a content problem, and an app language is a layout and grammar problem as well.

If you are building now

Doing these on a new build costs close to nothing and removes the expensive version of this project entirely.

  • Use leading and trailing constraints on iOS, and start and end attributes with the supportsRtl flag on Android
  • Externalise every string, including error messages and notification text
  • Use the plural mechanisms from day one, even in English, so the six Arabic categories have somewhere to go
  • Format numbers and dates with the locale, and pass an explicit locale for anything machine-readable
  • Decide your unmirrorable elements early: logos, clocks, media controls, photographs
  • Run your English build in forced RTL once a sprint and look at it
  • Treat the store listing as separate work, with its own screenshots

If you are weighing an Arabic version and want a straight answer on what your existing app would take, contact us and we will look at how it was built before quoting anything.

References

[1] Apple, Human Interface Guidelines: Right to left. developer.apple.com

[2] Apple, Supporting Right-to-Left Languages. developer.apple.com

[3] Android Developers, Support different languages and cultures. developer.android.com

[4] Material Design 3, Bidirectionality and RTL. m3.material.io

[5] Unicode CLDR, Language Plural Rules. unicode.org

[6] Apple, Localizing strings that contain plurals. developer.apple.com

[7] Android Developers, String resources: quantity strings. developer.android.com

[8] Apple, Localize app information, App Store Connect Help. developer.apple.com

[9] Apple, App Store localizations reference. developer.apple.com

[10] Google Play Console Help, Translate your store listing. support.google.com

[11] Apple, Calendar.Identifier, Foundation documentation. developer.apple.com

[12] Android Developers, IslamicCalendar reference. developer.android.com

[13] Apple, Fonts. developer.apple.com

[14] The Official Portal of the UAE Government, Fact sheet. u.ae

Frequently asked questions

  • Is app localisation different from translation?

    Translation gives you the words. Localisation covers everything else that has to change, and on a mobile app that list is long: layout mirroring, which icons flip and which must not, plural grammar rules that differ from English, date and number formats, calendars, and separate store listings. The clearest example is grammar. Arabic has six plural forms where English has two, so a translation workflow built for English has nowhere to put four of them.

  • Does UAE law require my app to be in Arabic?

    We found no requirement that private-sector apps offer Arabic. Arabic is the UAE's sole official language, five other languages have status in the courts, and signage law requires Arabic and English on commercial outlets. The National Policy for Digital Accessibility binds government entities and private companies transacting digitally with government, and its subject is accessibility rather than language. Treat Arabic as a commercial decision, and confirm your own position if you are in a regulated sector.

  • How do I decide whether my app needs Arabic?

    Use the evidence you already own rather than a population statistic. Look at the language of enquiries reaching your inbox and WhatsApp, browser and device language in your analytics, which segments convert and which stall, and what your sales team hears. No official UAE source publishes language usage percentages, so anyone quoting you one is guessing. The question is whether a defined group of buyers is stalling because of language.

  • What is RTL and why is it an engineering problem?

    Right to left describes how Arabic, Hebrew, Farsi and Urdu are read, and mirroring an interface for it is a layout question rather than a text question. Both platforms mirror automatically if the app was built correctly. Apple's guidance is to use Auto Layout leading and trailing attributes rather than left and right, and Android requires a manifest flag plus start and end attributes in place of left and right. Hardcode left and right and nothing mirrors.

  • What do I need to change in an iOS app to support RTL?

    Build layout constraints with leading and trailing rather than left and right, and Apple states that most of the interface then appears mirrored in right-to-left languages. System-provided components flip automatically, so an app using standard elements and standard layouts may need very few changes. Where a view must not flip, such as a video scrubber, iOS provides a semantic content attribute to keep it oriented as intended rather than letting it auto-mirror.

  • What do I need to change in an Android app?

    Add the supportsRtl flag to the application element in your manifest, then convert left and right attributes to their start and end equivalents across your layouts, including gravity, padding, margins, drawables and alignment. Android's precedence rule is that where both are defined and the app targets a recent API, start and end win. You can also supply direction-specific resources in a layout-ldrtl folder for screens that need genuinely different treatment.

  • Does everything in my interface mirror?

    No, and getting the exceptions wrong is more visible than getting the mirroring wrong. Apple says not to flip logos or universal signs and marks, warns that a flipped logo can carry legal consequences, and notes that clocks look the same regardless of reading direction. Material Design states that media controls for video and audio players are always left to right. Photographs and general artwork should not be flipped either, because flipping changes their meaning.

  • Which icons should flip in Arabic?

    Those that represent direction or reading order. Apple's guidance is to flip interface icons that represent text or reading direction and icons showing forward or backward motion, and to flip controls that help people navigate items in a fixed order, so a back button points right in Arabic. Controls that refer to an actual direction keep pointing that way. SF Symbols ships right-to-left variants automatically, while custom icons have to declare their own directionality.

  • Do progress bars and sliders mirror?

    Yes for linear ones, with caveats worth knowing. Apple says to flip controls that show progress from one value to another and to reverse the position of accompanying start and end glyphs. Material Design states that linear progress indicators should move right to left for most right-to-left languages, and specifically excepts Hebrew. Circular progress indicators keep moving clockwise. That Hebrew exception is a useful reminder that right to left is not one uniform behaviour.

  • Do I need to worry about Arabic letters joining up?

    Not if you use standard text views, because the platform's text engine handles Arabic's contextual letterforms and ligatures for you. Apple's guidance is to use standard views and controls that automatically handle bidirectional text, and states that if you create custom controls for text input you have to handle bidirectional text yourself. That is a solid reason to avoid custom-drawn text rendering in an app that will carry Arabic.

  • How do I stop phone numbers and addresses rendering backwards?

    Wrap them so the system knows their direction rather than inheriting the surrounding one. Apple documents wrapping left-to-right content inside right-to-left text with Unicode directional formatting characters, and recommends natural writing direction so the system infers direction from the text itself. Android provides a bidirectional formatter that detects a string's direction and wraps it automatically. The classic symptom is a house number appearing on the wrong side of an address.

  • Which digits should an Arabic app use?

    Let the system decide unless your app is specifically about numbers. Apple notes that Arabic text may use Western or Eastern Arabic numerals and that usage varies between countries and regions, and even between areas within the same one, so hardcoding either is a guess. The digits inside a single number never reverse order regardless of the surrounding text direction, so a phone number reads the same way in both directions.

  • Can locale digits break my code?

    Yes, and it is a genuinely nasty bug because it only appears on Arabic and Persian locale devices. Android documents that string formatting without an explicit locale uses the device's own digit set, which then breaks machine-readable output such as a database query built from a user-entered number. The fix is to pass an explicit locale for anything machine-readable while letting user-facing text follow the device. It rarely shows up in English-only testing.

  • Why do Arabic plurals matter so much?

    Because Arabic uses six grammatical plural categories where English uses two, so an English-shaped translation process has nowhere to put four of them. Apple's own documentation states that Arabic has different plural forms for the zero, one, two, few, many and other categories, and adds that Russian also uses a category named many but with different underlying rules. Get this wrong and your Arabic build is grammatically wrong at the most common quantities.

  • What are the six Arabic plural categories?

    The Unicode CLDR defines them and publishes the exact rules. For Arabic: zero applies when the count is nought, one when it is one, two when it is two, few when the count modulo one hundred falls between three and ten, many when it falls between eleven and ninety-nine, and other for the remaining cases. English by contrast needs only one and other. Those middle categories cover the quantities real interfaces display most.

  • How do I handle plurals technically?

    Both platforms have a dedicated mechanism, and neither is a plain string. On iOS you use a String Catalog, or the older stringsdict file, which maps each plural category to its own string. On Android you use a plurals resource that supports the same six category names. Apple notes that only the other category is strictly required and that a rule provided for a category a language does not use is simply ignored, so the mechanism is safe to over-supply.

  • Whose job is it to decide which plural forms Arabic needs?

    Your translator's, and both platforms are designed around that. Android's own guidance tells developers to always supply the one and other strings and says translators will know which strings their language actually needs. Apple's export process generates the correct category slots per target language automatically from Unicode data, so a Russian export receives different slots than an Arabic one. Your job is to use the plural mechanism at all rather than concatenating a number onto a string.

  • Does my app need to show Hijri dates?

    Only if your users work in them, but both platforms support it natively so it is not a build-your-own problem. iOS exposes several Islamic calendar identifiers including a tabular civil variant and the Umm al-Qura variant used in Saudi Arabia, which is based on astronomical calculation rather than fixed tabular behaviour. Android provides an equivalent Islamic calendar through its bundled internationalisation library, selectable through a locale tag.

  • Why are there several Islamic calendars to choose from?

    Because a predictable civil calendar and an observational religious one answer different questions. Both platforms expose a tabular or civil variant, which follows a fixed cycle and is therefore predictable for scheduling, alongside the Umm al-Qura variant, which Apple describes as based on astronomical calculation rather than tabular behaviour. If your app schedules anything, decide deliberately which one you mean rather than accepting whatever the first search result suggested.

  • Is my store listing separate from my app's language?

    Yes, entirely, and confusing the two is common. Apple states that languages on the App Information page in App Store Connect are app metadata, and that this differs from adding languages to your app in Xcode when you localise the binary. So you can publish an Arabic store listing for an English-only app, or ship an Arabic app with an English-only listing. Both are mistakes, but they are different mistakes with different fixes.

  • What language does the UAE App Store show by default?

    Arabic. Apple's reference lists Arabic as the default App Store language for the United Arab Emirates along with Saudi Arabia, Bahrain, Iraq, Jordan, Kuwait, Oman, Qatar and Yemen. That means Arabic-preferring shoppers in your own market are already the default audience for your listing before you add anything. Apple's list is a living document, so confirm the current position rather than treating this as permanent.

  • Do my screenshots get translated automatically?

    No, on either store, and this is where half-finished Arabic listings come from. Apple states that when you add a language, screenshots and properties default to those of the primary language, with the description and keywords as the exceptions that do not inherit. Google states that if you add text translations without localised graphic assets, your graphic assets show from the default language. So an Arabic listing quietly ships with English screenshots until someone replaces them.

  • Is Google Play's automatic translation good enough?

    It is a fallback rather than a localisation. Google offers shoppers the option to view an automated translation of a listing page in a language you have not translated, which is triggered by the reader rather than supplied by you. Play Console separately offers automatic translation of in-app strings if you opt in. Neither replaces a translator who understands your product, and neither fixes screenshots, plural rules or layout.

  • How do I target the UAE specifically rather than Arabic speakers generally?

    Those are two different mechanisms on Google Play and worth keeping apart. Play Console's own guidance distinguishes store listing localisation by language from custom store listings by country or region, and recommends custom store listings when you want to differentiate by market rather than by language. So a UAE-specific listing with Gulf imagery and local pricing framing is a regional feature, while an Arabic translation is a language feature.

  • Can users pick Arabic inside my app without changing their phone?

    On modern Android, yes. Android added per-app language preferences, letting a user select a different language for one app than their system language, which suits a household where the phone is set to English but a user prefers Arabic in your app specifically. Offering an in-app language switch is usually worth it in this market regardless of platform, because device language is a poor proxy for preference in a country this multilingual.

  • How do I test RTL without learning Arabic?

    Force the layout direction and look at the shapes rather than the words. Android exposes a Force RTL layout direction option in on-device developer options, which lets you preview an English build in right-to-left layout, so you can spot broken alignment, clipped labels and icons pointing the wrong way without reading a word of Arabic. That catches layout defects early. It does not catch grammar, which still needs a native reviewer.

  • What does Arabic app localisation cost?

    Adding Arabic to an existing app starts from around AED 4,000 with us, where the app was built with localisation in mind and the strings are already externalised. It rises steeply where left and right were hardcoded throughout, because that is a refactor rather than a translation. These are our own figures rather than a market survey, since no official body publishes rates for this work. Final pricing depends on scope.

  • Why does Arabic cost more than another language?

    Because most languages are a text swap and Arabic is a layout change plus a grammar change. A second left-to-right language mainly needs strings translated. Arabic additionally needs the interface mirrored, the exceptions to mirroring decided screen by screen, six plural categories supplied instead of two, numeral handling settled, and often a calendar decision. That is engineering and design work, which is why it does not price like a translation job.

  • Is there an ongoing cost after launch?

    Yes, and it is the part that gets underestimated. Our app development cost guide puts ongoing Arabic content work at around AED 600 to AED 1,500 a month where you publish updates often, because every new screen, notification and error message needs translating and reviewing again. A second language behaves like a subscription rather than a project, which is the same conclusion our multilingual website guide reaches.

  • What if I only localise half the app?

    You get the worst of both, and users notice immediately. A part-Arabic app sends the message that Arabic users are an afterthought, and mixed-direction screens are harder to read than either language alone. If you cannot resource full coverage including error messages, notifications, emails and support, it is usually better to ship a confident English app with an Arabic store listing and a clear plan, than a half-mirrored Arabic build.

  • Should I build for Arabic from the start or add it later?

    From the start, if there is any realistic chance you will need it, because the cost difference is large and entirely avoidable. Using leading and trailing constraints, externalising strings, and using the plural mechanisms costs almost nothing on a new build and turns a later Arabic launch into a translation project. Retrofitting those decisions into a finished app means touching nearly every screen, which is where the expensive version of this work comes from.

SKIMBOX Team

Tech Consultancy

Get fresh writing in your inbox

One email a fortnight. No filler.

By subscribing, you agree to our privacy policy.

Want us to build something?

We work with teams across MENA, UK, USA, and India to build products, run programs, and grow.

Get in touch

Continue reading