Every international platform claims Arabic support. Most of them mean "we ran the interface through a translation service and flipped the CSS direction". Here is what that misses.
Direction is structural, not cosmetic
Flipping direction: rtl moves the text. It does not move the chevron on a "next" button, the direction of a progress bar, the side a sidebar opens from, or the tail of a chat bubble. It does not fix a Latin display font whose line-height clips a hamza, and it does not fix a -0.04em letter-spacing that breaks Arabic letter joining.
You find these one screen at a time, which is why a platform built bilingual from the first commit ends up different from one that was retrofitted.
Payments are the real localisation
A student in Mansoura may not have a card that works for international payments. A student in Riyadh increasingly expects to split a purchase across instalments. A parent paying for their child often wants to transfer from a bank app and send a screenshot.
A platform that only supports international card payments does not have an Arabic problem — it has a market problem, and no amount of translation fixes it. Local gateways, buy-now-pay-later, bank transfer with receipt review, and a wallet are not nice-to-haves here. They are the difference between a checkout that converts and one that does not.
The small assumptions that break
A short, incomplete list of things that break when a platform assumes an English-speaking user:
Names. Arabic names are frequently four or five parts. A form with "first name" and "last name" forces people to mangle their own name.
Phone numbers. Two country codes, and buy-now-pay-later providers verify by OTP — so a checkout that treats the phone as optional fails at the gateway instead of at the form.
Weeks. The working week is Sunday to Thursday in much of the region. A scheduling default of Monday to Friday is quietly wrong.
Numerals. Arabic-Indic and Western digits both appear, and prices read most clearly in Western digits even in an Arabic sentence.
What "bilingual from the first commit" buys you
It means every string went through a translation layer before it was ever shown to anyone, so there is no untranslated corner waiting to be found by a customer.
It means an administrator can add a third language and translate it from the admin panel without a developer, because the plumbing was never optional.
And it means the Arabic version is not the second-class one. That is not a feature you can add later — it is a decision you make at the start or you live without.