Localization in any language is seldom an easy task, and localization into right-to-left (RTL) languages has its unique challenges. However, since Arabic is the fourth most popular language in the world and the demand in the Middle East market is continuing to grow over the years, we can’t continue avoiding these challenges.
What are right-to-left languages?
One aspect of writing systems, also called scripts, has to do with the direction of how a language is written: left-to-right, right-to-left, top-to-down, etc. While most modern languages are left-to-right scripts, many Middle Eastern languages are right-to-left. Why? There is no settled answer to that question yet. One theory is that it was easier for ancient Middle Eastern people to chisel the alphabet from right to left into stones. Unlike English, whose writing system had been right-to-left and then was replaced by the left-to-right Latin alphabet due to the spread of Roman Christianity, there was no historical event that forced Middle Eastern languages to change their writing direction.
While there are quite a few right-to-left Middle Eastern languages, the most common ones in the localization world are:
- Arabic
- Hebrew
- Farsi/Persian
Consideration #1: Bidi at the textual level
In practice, all these so-called right-to-left languages are bidirectional at textual level for two main reasons:
First, although the alphabets are right-to-left, numerals in Western Arabic number format are left-to-right. For example, two hundred:
Right: 200 Wrong: 002
For the sentence “I have 200 pens”, an Arabic sentence translated into English would read:
.snep 200 evah I
In a language like Hebrew, the placement of numerical symbols is the same as English. For example, five percent:
Right: 5% Wrong: %5
For a sentence “We have a 5% discount”, a Hebrew sentence translated into English would be:
.tnuocsid 5% a evah eW
The second reason is that phrases in English (or other left-to-right languages) can sometimes be blended into right-to-left languages, especially in marketing copy. In that situation, the direction of both languages should be kept. For example, “Please turn on Bluetooth” would read:
.Bluetooth no nrut esaelP
In order to maintain both directions at the text level, it is important to make sure your development environments support Unicode. Specifically, you want to make sure your development platforms and components support the Unicode and RTL environment. Fortunately, most of them already do.
Consideration #2: Mirroring elements
Not only does text need to flow from right-to-left, elements like images, icons and charts also need to be mirrored. The most common question is: when to mirror and when not to? In this section, I will cover this topic specifically.
When to mirror
The rule of thumb is: any elements that depict the linear direction of time should be mirrored.
Sequential images or icons that represent progression:
? ->?? ??<-?
LTR progression RTL progression
Icons that indicate the direction of navigation. For example, the back button in a Chrome browser:
With that being said, some other elements that do not relate to time should also be mirrored. For example:
- Rating and page selectors
- Volume sliders
- Chat icons
When not to mirror
Media controls
You may assume that media control elements should also be flipped, but they should not. Playback buttons, progress bars – all these elements retain the left-to-right direction because they refer to the progress of tape, not time.
Circular progress bars
In contrast to linear representation of time, circular representation is not mirrored in RTL content. Specifically, the progress is clockwise, same as LTR languages:
The refresh button is not mirrored and pointing to the right.
Consideration #3: Mirroring layout
Be it websites, UIs, or printed publications, the whole layout is mirrored in addition to text in RTL languages. That means the following should all be mirrored:
- Text alignment
- Menu bars (they need to be right aligned and the order of the elements flows from right-to-left)
- Tab/space bar order proceeds from right-to-left
A way to check whether you have mirrored everything in the layout that should be mirrored is to imagine if everything you are localizing were flipped, would you be able to read it without difficulties? (Assuming you are an LTR language speaker.)
Don’t release without testing!
Testing is an indispensable step in localization, especially when it comes to RTL languages. Always have native, in-market speakers review the full content to ensure that you have the content catered for the target audience and, more importantly, present it so it can be read effortlessly. What’s more, the lessons learned from testing can always be applied to the next round of development, making it more streamlined and cost-effective.