Arabic-first: RTL is a design decision, not a patch
When a site is built in English first and then translated, Arabic always shows up like an uninvited guest: icons on the wrong side, asymmetric spacing, buttons that jump when you switch languages. The problem is not the translation — it is that direction was never part of the design.
We start every project with Arabic as the default language and right-to-left as the base state. That forces the hard decisions early: where a heading begins, how navigation flows, and which elements stay direction-neutral, like numbers and charts.
In code we use CSS logical properties instead of explicit left and right. A margin that starts from the inline-start edge works in both directions with no conditional code, which cuts bugs and makes code review clearer.
Typography is its own problem. We pick an Arabic typeface designed for screen reading and tune line height and text size separately from English, because what feels comfortable in one language can feel cramped in the other.
The result is that switching language becomes a real change in experience rather than a string swap: the layout breathes correctly in each direction, and an Arabic-speaking user never feels they are on a second-class version of the site.
Related articles
1 min read
Why we choose boring technology for durable systems
Shiny new tools are tempting, but what keeps a system running years later is boring, well-understood choices. How we balance stability against a genuine need for something new.
1 min read
Why we choose boring technology for durable systems
Shiny new tools are tempting, but what keeps a system running years later is boring, well-understood choices. How we balance stability against a genuine need for something new.
1 min read
From idea to launch: how MaktobTech runs a project
An honest look at our four delivery stages, what we expect from you at each one, and how we avoid surprises at the end of a project.