Paynoramic launches Marengo, a white-label crypto exchange you can try before you buy.Meet Marengo, our white-label exchange. See the exchange.

A crypto exchange in Arabic: right-to-left layouts, numbers and six languages

An Arabic crypto exchange runs its pages right to left, so the layout mirrors, while charts, order books, figures and addresses stay left to right. Digits, translation and six languages need rules.

Marengo's home screen on a phone, in English laid out left to right and in Arabic laid out right to left, under the headline "A crypto exchange in Arabic

A crypto exchange in Arabic is not an English exchange with its words translated. The page's base direction is set right to left, so the layout mirrors, and every line that mixes Arabic with figures, tickers or addresses becomes bidirectional text that the browser has to put in order. Some parts stay left to right on purpose, the digits need a decision, financial and legal text needs translators who know the field, and six languages have to keep up with every release.

How a crypto exchange works in Arabic, from a mirrored layout and bidirectional text to digits, translation and six languages kept in step · Watch on YouTube

Setting the direction

Arabic is written right to left. On the web, that starts with one attribute. The W3C's guidance is to add dir="rtl" to the html element when a page's overall direction is right to left, and never to set the base direction with CSS, because direction is part of the content's meaning and has to be there even when the stylesheet is not. lang="ar" names the language, not the direction.

That one attribute changes a lot. Blocks align to the right, table columns run from right to left, and text typed into a form field starts at the right. The layout follows only if the stylesheet was written for it: with logical properties such as margin-inline-start and text-align: end in place of left and right, one stylesheet lays out both directions.

What mirrors

On a right-to-left screen, the whole reading path starts at the right.

  • Navigation. The logo and the first menu item sit at the right, and tabs run leftwards.

  • Arrows that mean a direction. Back points right, forward points left, and the chevrons on list rows flip.

  • Buttons, drawers and steppers. The primary button moves to the right, a side drawer slides in from the other side, and a progress bar fills from right to left.

  • Tables. The first column is on the right.

What does not happen is a mirror image. Flipping the screen like a photograph would also reverse every letter and figure. The positions turn round, and the words stay readable.

You can see this in Marengo, our exchange. On its home screen in Arabic, the logo and menu, the balance card, the watchlist and the Buy to Withdraw buttons all swap sides, while the balance, the tickers and the line of the chart read as they do in English.

Marengo's home screen on a desktop, in English and in Arabic: the logo and menu, the balance card and watchlist, the Buy to Withdraw buttons and the chart's period buttons turn round, while the balance, the figures, tickers such as BTC/USDT and the chart's line stay left to right; real screens, with

Icons need a decision one by one: an arrow for back or forward mirrors, while refresh or an external link usually stays as it is.

What stays left to right

A trading screen has parts that would become wrong if they mirrored. A sound Arabic design keeps them left to right on purpose.

  • Charts. Time keeps running left to right along the axis, as on every other price chart a trader reads.

  • The order book. Price, amount and total keep their column order, so a row reads as it does on any order book, while the headings are in Arabic. The guide to reading a crypto trading screen explains the book itself.

  • Figures. Prices, amounts and percentages are left-to-right runs inside right-to-left text. In every Arabic numeral system, numbers are written with the highest digits on the left.

  • Addresses and hashes. A wallet address is Latin letters and digits. It is shown left to right, in full, and set apart so nothing beside it moves. How the address itself is checked is in the guide to how a withdrawal reaches the right wallet.

Marengo Pro in Arabic, in the dark theme: the panels and menus mirror, while the chart, with its dates running from 23 on the left to 28 on the right, and the order book, with price, amount and total in the same order as in English and Arabic headings, stay left to right; beside it, why charts, the

Bidirectional text, and how a fee comes apart

Inside one line, Arabic letters run right to left while digits and Latin letters run left to right. The Unicode Bidirectional Algorithm (UAX #9) puts them in order. Text is stored in the order it is typed, which the standard calls logical order, and the algorithm works out the display order from each character's type.

Type

Examples

What it does

Strong, right to left

Arabic letters

Sets the direction around it

Strong, left to right

Latin letters, such as BTC

Sets the direction around it

Weak

Digits

Holds together as a number, laid out left to right

Neutral

Spaces, brackets, most punctuation

Takes the direction of the text around it

Neutrals are where things go wrong. The W3C's article on inline markup and bidirectional text lists the cases: an opposite-direction phrase that begins or ends with neutral characters, begins with a number, or is followed by one. URLs, formatted numbers and addresses are among its examples.

Take a withdrawal fee in an Arabic sentence, with illustrative numbers: رسوم السحب 0.0002 BTC (≈ 12.85 EUR). Left alone in a right-to-left line, the browser places the bracketed euro amount between 0.0002 and BTC, so the amount and its unit end up on opposite sides of it. Nothing is wrong with the characters, only with their order on screen.

The fix is to isolate the left-to-right phrase. Unicode added isolate characters in version 6.3, and UAX #9 encourages them in new documents: U+2066 LEFT-TO-RIGHT ISOLATE opens one and U+2069 POP DIRECTIONAL ISOLATE closes it. Text inside an isolate cannot change the order of text outside it, or the reverse. In HTML, the same effect comes from a dir attribute on a tight wrapper, which browsers isolate, or from a bdi element. For text inserted at run time, such as a customer's name, dir="auto" lets the first strong character decide.

The withdrawal fee رسوم السحب 0.0002 BTC (≈ 12.85 EUR) as a browser renders it in a right-to-left paragraph: left alone, 0.0002 and BTC end up on either side of the bracketed euro amount; in a left-to-right isolate it reads 0.0002 BTC (≈ 12.85 EUR) as one piece; beside it, the four kinds of characte

UAX #9 has one more rule worth knowing. In right-to-left text, characters such as brackets are drawn mirrored (rule L4), so an opening bracket still opens its phrase.

An exchange is full of such strings, so the safe pattern is to isolate every figure, ticker and address placed inside Arabic text, and to test Arabic pages with real mixed content.

Arabic-Indic and Western digits

Arabic script is used with three families of digits. The W3C's Arabic and Persian Layout Requirements set them out:

  • European digits (0 to 9), used in Western Arab regions such as Algeria and Morocco;

  • Arabic-Indic digits (٠ to ٩), used in Eastern Arab regions such as Egypt, Saudi Arabia and Iraq;

  • Eastern Arabic-Indic digits (۰ to ۹), used in Iran and Afghanistan.

In all three, numbers are written with the lowest digits on the right and the highest on the left. The families differ in more than shape, though. Arabic-Indic digits have the bidirectional type Arabic Number, while European and Eastern Arabic-Indic digits are European Number, so the same sentence can display differently depending on its digits. Arabic-Indic digits also have their own separators: ٬ (U+066C) groups thousands and ٫ (U+066B) marks the decimal, so 64,250.50 becomes ٦٤٬٢٥٠٫٥٠.

Three families of digits used with Arabic script, from the W3C's layout requirements: European 0 to 9, Arabic-Indic ٠ to ٩ and Eastern Arabic-Indic ۰ to ۹, with their Unicode ranges, where each is used and their bidirectional types; below, one illustrative price written 64,250.50 and ٦٤٬٢٥٠٫٥٠ with

Defaults differ by region, too. In Chrome today, a number formatter for ar-AE writes 64,250.5, one for ar-SA writes ٦٤٬٢٥٠٫٥, and one for ar-MA writes 64.250,5. An exchange that leaves the choice to the locale's default can show different digits to customers in neighbouring countries.

Three rules keep this manageable:

  1. Choose once per deployment. Pick the digits the operator's customers expect, set them explicitly, and use them everywhere: screens, emails, PDF statements and exports.

  2. Store one exact number. Amounts are kept as exact decimals, never as formatted text, and formatted only where people read them.

  3. Read what people type. If the interface shows Arabic-Indic digits, an amount field may receive them too, and it has to read both families into the same exact number.

An exchange's words are not everyday words. Order book, maker, limit order, slippage and withdrawal fee each need one agreed Arabic term, kept in a glossary every translator uses, so the same thing never has two names on two screens. Tickers, network names and product names usually stay in Latin script.

Legal and risk text is a separate job. Terms of service, risk statements and disclosures belong with translators who know financial law, reviewed by the operator's lawyers, and machine translation is a draft at best. Where two language versions of a document exist, the lawyers decide which one prevails, and which documents must be in Arabic is a question for the operator's regulator; the guide to UAE crypto licences covers who that is.

Grammar shapes the strings too. Unicode's CLDR gives English two plural forms for counting, one and other, and Arabic six: zero, one, two, few (3 to 10), many (11 to 99) and other. A message such as "3 orders filled" needs every Arabic form, and word order differs between languages, so strings are whole sentences with named placeholders, never fragments glued together in code.

Keeping six languages in step

Each release adds or edits strings. With six languages, the common failure is not a bad translation but a missing one: a button that shows a key name, or an English sentence in the middle of an Arabic page.

The pattern that holds up:

  • One source language and one key per string, with a note for translators on where it appears and what each placeholder holds.

  • Every new key goes to every language before release. A check in the build confirms that each key exists in all six, with the same placeholders and every plural form filled, and stops the build if one is missing.

  • Right-to-left review on real screens. Someone who reads Arabic checks each new screen in Arabic, with real amounts, tickers and addresses in it.

  • Everything the customer receives, not only the app: emails, push and in-app notifications, PDF statements and exports, in the customer's own language.

Six languages in step: a new English string, Address saved, with its key goes to English, Deutsch, Español, Français, Română and العربية, then through checks before release (every key exists in all six, same placeholders, every plural form filled, right-to-left screens reviewed); below, English's tw

Marengo runs in six languages, English, German, Spanish, French, Romanian and Arabic, with Arabic laid out right to left, and its settings name each language in itself. For a buyer comparing platforms, the questions to ask are which languages ship today, whether Arabic is truly right to left or only translated, how figures and addresses are isolated, and how a new string reaches every language. The guide to choosing a white-label crypto exchange lists the other questions.

Frequently asked questions

Is right to left just a CSS change? No. The direction is set in the markup, with dir="rtl" on the page, and the stylesheet uses logical properties so the layout follows. Mixed text then needs isolates, and some parts, such as charts and the order book, stay left to right on purpose.

Should an Arabic exchange show Arabic-Indic or Western digits? Either works if it is used consistently, on screen, in statements and in emails. The amount underneath stays one exact number; only its display changes.

Why do numbers and addresses jump around in Arabic text? Because the neutral characters around them, such as spaces and brackets, take their direction from the surrounding Arabic. Wrapping each figure, ticker or address in a left-to-right isolate keeps it in one piece.

How many plural forms does Arabic have? Six in Unicode's CLDR: zero, one, two, few, many and other. Every message with a count needs all six.

See it working

Right to left is easiest to judge on a working exchange. Open Marengo at marengo.paynoramic.com, or read how our white-label crypto exchange is built and handed over to the licensed operator who runs it.

Written by

Paynoramic's Head of IT

Head of IT at Paynoramic, responsible for the module library every platform is built from. Has worked on payment, banking and workforce platforms for companies including American Express, Teya and Indeed Flex, and for a global card issuer-processor. Writes about what a fintech or crypto launch needs beyond the software: licensing, certification and the real cost.