A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Ayman Elbadawy
Nov 4, 2019
  3155
(3 votes)

Bidirectional Languages and User Experience

The process of localizing a CMS into Arabic is not simple. It requires additional steps before and after the translation process.  This first article will be an introduction and will include an agenda about the main topics to follow.

This is a comprehensive introduction to this large topic as I will identify some related terminologies like Internationalization (i18n), Localization (L10n) and Globalization (g11n):

Briefly, both Internationalization and Localization represent the overall process of adapting a product to work efficiently in different languages. While the Internationalization (i18n) process concerns the design and the structure of the product. Localization (L10n) is the process of adapting already internationalized content into a specific language. One more difference between these processes is that internationalization has to be done only once as the localization can be done several times.

As defined by LISA, Internationalization (i18n) is the first phase and includes the Design, Development, and Testing of a product. Then the second phase is Localization (L10n) which covers Translation, Testing / QA and Local Marketing of the product.

Bidirectional Languages and User Experience (UX):

For several years I have been working on localization Episerver projects for MENA countries. The dominant language spoken in this region is Arabic. A language that confuses many non-Arabic speakers who are working here. Especially the marketing and sales departments who work with Content Management Systems. These countries mostly rely on foreign expertise with their ambitious mega projects. It has become crucial to understand this language in-depth as it affects important business aspects such as content management, digital marketing, sales and most importantly customer experience.

We know that almost all languages worldwide write from left to right (LTR). Only a few languages that write from Right to Left (RTL) like; Arabic, Aramaic, Azeri, Dhivehi/ Maldivian, Hebrew, Kurdish, Persian, and Urdu.

When we say Right to Left language this means that the writing starts at the right-hand side of a page and concludes at the left-hand side as seen below:

As in the above screen, an Arabic word consists of a set of contiguous characters. An Arabic sentence is a set of words with a space between them and ends by a full stop.

One point that confuses non-Arabic speakers is that despite the text is written from right to left, the numbers stay exactly like the English: From Left to right. This fact has a great technical impact during the developing of Episerver templates. If you do not apply this concept correct, numbers like phones, prices, etc… will not be able to display correctly, which is crucial. In the next article, I will provide more examples and solutions on how to solve these issues.

Furthermore, Companies in the MENA region may choose to use Hijri or Gregorian Calendar: A question that must be asked during the Internationalization phase of the product.

Also, you must consider Culture-specific content during the early phase of development. And in some cases, not all content in English is suitable to be displayed for the Arabic audience. This means that an Arabized application must provide options to manage such cases. Such as Admin or Author options from within the application, that doesn’t require the need for any future re-engineering.

And before concluding this article, I have to mention one more important feature which is Episerver Search. A good search option provides a better User Experience. Usually, The search feature handles queries in English or other Latin Languages. But searching using bidirectional keywords requires technical adjustments that need to be anticipated during the design phase for the Front end as well as the Database layer.

Feel free to leave a comment or to Contact Me for an open discussion!

Nov 04, 2019

Comments

K Khan
K Khan Nov 4, 2019 07:35 PM

Thanks Ayman for sharing, I understand well these due to my Urdu/Punjabi background. Wondering have you done any Epi implementation in Arabic, what were your main challenges? How is CMS market in MENA?

Ayman Elbadawy
Ayman Elbadawy Nov 4, 2019 08:06 PM

Hello Khurram,

Thank you for reading my post.

Yes, I did several implementations for Episerver for the Arabic language since version 6R2 till 11.

And, regardless of the version, the challenges are almost the same: When non-Arabic developers, develop the CMS custom components they ignore BIDI languages special characteristics. Or maybe the CMS owner didn't target the MENA region countries from the early beginning. A bad Internationalization practice.

As a result, CMS templates are not customized to display the content (Right to Left). Or the Phone numbers are displayed from right to left which is wrong (should be like the English from left to right) as well as the Hijri Calendar. Another issue when you try to localize the name in the URL field (some clients ask for this localization for SEO purposes). The CMS considers any non-Latin text as a special character and you will receive an error like the print screen below.

What I learn from these challenges is that we need to work closely with the dev team since the early beginning of the development life cycle and to understand well the clients' requirements.

About the CMS Marketing in the MENA region, there is an increasing demand for CMS these days with mega-companies (for .NET based licensed CMSs).

Thank you

Please login to comment.
Latest blogs
Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |

CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |

Beginner's Guide for Optimizely Backend Developers

Developing with Optimizely (formerly Episerver) requires more than just technical know‑how. It’s about respecting the editor’s perspective, ensurin...

MilosR | Dec 10, 2025

Optimizely PaaS Administrator Certification : Free for Everyone

Optimizely has recently launched a free PaaS Administrator Certification. https://academy.optimizely.com/student/activity/2958208-paas-cms-administ...

Madhu | Dec 9, 2025 |

Fixing TinyMCE Initialization Failures in Optimizely CMS: A Hidden Pipeline Issue with .NET SDK Versions

Over the past few weeks, several Optimizely CMS projects began experiencing a puzzling failure: XHtmlString fields stopped initializing TinyMCE in...

Francisco Quintanilla | Dec 9, 2025 |