The short answer
An Arabic POS system is one where the whole counter works in Arabic, not just the labels. The screen mirrors right to left, prices and barcodes stay readable inside Arabic text, a search finds a product however its name was spelled, and the receipt prints joined Arabic letters in the right order. Translation is the easy fifth of that. The other four are where most systems quietly fail.
“Supports Arabic” on a product page can mean any of these, and usually means only the first. The sections below take each one in turn, with the specific thing to look for, and finish with a test you can run on a demo account before you sign anything.
Translated is not mirrored
A translated interface swaps the English words for Arabic ones and leaves everything else where it was. A mirrored interface flips the layout itself, because an Arabic reader scans from the right. The difference shows up within a minute of use:
- The basket. Item names should start on the right, with quantities and totals on the left. A translated screen keeps the English order, so the eye starts on the price and reads the line backwards.
- Navigation. The menu, the back arrow and any progress indicator move to the other side and point the other way.
- Icons that carry meaning do not flip. A printer, a barcode or a bin looks the same in both languages. A system that mirrors everything blindly is as broken as one that mirrors nothing.
- Switching language does not scramble the screen. If the page draws in English for a moment and then jumps into Arabic, the direction is being set after load. On a register that reloads often, that flicker is every sale.
Mirroring is cheap when it is designed in and expensive when it is added later, because every margin and every “left” in the code has to be found and changed. That is the honest reason so many systems stop at translation. The W3C’s guidance on right to left markup is a short read if you want to know what your vendor should have done.
Numbers inside Arabic text
This is the failure that costs money. Arabic runs right to left; numbers, barcodes and Latin product codes run left to right. When the two sit on one line, the Unicode bidirectional algorithm decides the order, and left to its defaults it can move a minus sign, split a code with a hyphen in it, or put a currency on the wrong side of the amount.
On a register, the places to look are:
- A discount line, where a negative amount sits next to Arabic text.
- A product code such as
AB-1029inside an Arabic name. - Phone numbers and tax numbers in the receipt header.
- Receipt numbers that mix letters, digits and separators.
The fix is to isolate every number and code so it keeps its own direction whatever surrounds it. On a receipt the customer may hand to a tax office, a total that has been reordered is worse than a missing one.
The quickest check: apply a discount to an item with an Arabic name and a Latin code, then read the line aloud. If the amount, the code or the minus sign is in a different place on the receipt than on the screen, the system has not isolated them.
Western or Eastern Arabic digits
Arabic has two sets of digits in everyday use: the Western ones (0123456789) and the Eastern Arabic ones (٠١٢٣٤٥٦٧٨٩). Usage differs by country, by sector and by generation, and there is no single right answer for a till.
The case for Western digits on a register is practical. Barcodes, supplier invoices and card terminals already use them, and a cashier reading a quantity at speed should not have to switch systems halfway through a basket. The case for Eastern digits is that some customers and some owners simply expect them in Arabic text.
What matters more than the choice is consistency. The screen, the receipt and any report should use the same digits, and a barcode should always appear exactly as it is printed on the pack. Ask a vendor which they use and whether it can change. Solnay uses Western digits in both languages today, and that is a decision we are checking with Arabic speaking pilot branches rather than one we consider settled.
Searching Arabic product names
Arabic spelling varies in ways that English does not, and a cashier typing fast will not match the way a product was entered. The same word for medicines can be written أدوية or ادويه, and both are correct to the person typing. A search that treats them as different words makes the catalogue look empty.
A usable Arabic search treats these as the same letter:
| Variants | Why they differ |
|---|---|
| أ إ آ ا | Alef with and without hamza or madda, often dropped when typing |
| ة ه | Teh marbuta at the end of a word, often typed as heh |
| ى ي | Alef maksura and yeh, interchangeable in casual writing |
| Short vowel marks | Present on some labels and imports, almost never typed at the counter |
This folding has to happen on the device, on every keystroke, or a search is a network round trip, which is the same mistake we covered in whether a POS can work without the internet. Solnay folds all four cases when the catalogue syncs to the device, so a search in either spelling returns the same product without asking the server.
One related point: product names should be stored as entered, not machine translated into a second language. A pharmacy’s Arabic name for a product is data, and a translated version of it is a guess.
Arabic on a thermal receipt
The screen can be perfect and the receipt still come out wrong. Most 80mm thermal printers in the region speak ESC/POS, and in that mode the software sends characters and the printer draws each one from its own built in font. Arabic needs two things that a character by character printer usually does not do:
- Shaping. Arabic letters change form depending on whether they start, sit inside or end a word. A printer that draws the standalone form of every letter prints a row of disconnected characters.
- Direction. The printer lays characters out left to right. Without reordering, every Arabic word comes out reversed.
There are three ways round it, in rising order of reliability: pick the right Arabic code page and hope the printer’s font is good, shape and reorder the text in software before sending it, or send the receipt as a rendered image so the printer is only placing dots. The third is the one that works on cheap hardware.
Solnay prints through the browser’s print path, so the browser’s text engine shapes the Arabic and the printer receives a rendered page rather than characters to look up. The receipt is laid out right to left in Arabic, with amounts, barcodes and receipt numbers held left to right inside it.
Scanners and the Arabic keyboard
A USB barcode scanner pretends to be a keyboard. It does not send the characters on the label; it sends the key presses that would type them on a standard layout, and the computer turns those into characters using whatever keyboard layout is active.
With an Arabic layout active, that matters. A code with letters in it can arrive as Arabic letters, and on some layouts the number row produces Eastern Arabic digits, so even a plain EAN code no longer matches the catalogue. On a shared counter where staff switch layouts to type product names, this shows up as scans that work in the morning and fail after lunch.
Test it rather than ask about it: switch the operating system to the Arabic layout and scan a code with letters and one without. If the system cannot cope, the workaround is to lock the register to an English layout, which is fine until someone needs to type an Arabic name.
Tax invoices in Saudi Arabia
Language is not only a preference in the Gulf. In Saudi Arabia, tax invoices and simplified tax invoices have to be in Arabic, and they may carry another language alongside it. The content a customer can read is what must be Arabic, and ZATCA’s e-invoicing programme adds technical requirements on top of the language rule.
Two things follow for a point of sale. An English only product description on an Arabic receipt can be a compliance problem, not just a cosmetic one. And whether a system is integrated with ZATCA is a yes or no question with documentation behind it, so ask for that documentation rather than a sentence on a sales call. Rules elsewhere in the Gulf differ and change; confirm what applies to your business locally.
Test it in fifteen minutes
Ask for a demo account and a receipt printer like yours, then do this in order. Steps three and five catch most systems.
- Switch to Arabic and reload. The screen should come up mirrored with no flash of English layout.
- Add a product with an Arabic name and a Latin code. Apply a discount. Check the line reads correctly on screen.
- Print the receipt. Arabic letters should join and read right to left. The amount, code and minus sign should match the screen.
- Search for the product with a different spelling: drop the hamza, end it with heh instead of teh marbuta. It should still be found.
- Switch the keyboard to Arabic and scan. Try a code with letters and a plain numeric one.
- Change one user to English and another to Arabic on the same device. Check the receipt language does not follow whoever is logged in.
- If you are in Saudi Arabia, ask for the system’s ZATCA documentation and a sample simplified tax invoice.
A system that clears all seven will hold up at a busy counter in Riyadh, Dubai or Amman. One that fails step three will look fine in a demo on a laptop and fail on the first real receipt.
Solnay was built Arabic first rather than translated later. In the branch walks through what the counter does through a day, and the questions on the home page cover hardware and languages.