Lightening Tech Evidence, not opinion

Web Development & Engineering

Multilingual and localisation builds

A site that works properly in more than one language — separate URLs, correct hreflang, and a layout that genuinely mirrors for Arabic rather than translating in place.

From
$800–$4,000
Typical time
2–5 weeks
Usually bought by
Exporters, Gulf market

What this actually solves

A business selling into the Gulf discovers something uncomfortable. The enquiries are thinner than the traffic suggests they should be, and the reason is not the product or the price. Buyers reading Arabic land on an English-only site, form a quick judgement about whether this company is really present in their market, and leave. Nobody writes to explain that. The same thing happens to exporters approaching European buyers and to any business operating in a country with two working languages.

The instinct is to reach for a translation plugin, and it is worth understanding why that mostly fails to fix the problem. A widget that swaps words on the same URL leaves search engines with a single page in a single language, so the version you built for the new market is not findable in it. And for Arabic or Urdu, translating the words leaves the page still running left to right — the menu on the wrong side, the arrows pointing the wrong way, the eye starting in the wrong corner. A reader notices that in under a second, without being able to name it, and reads it as evidence that the page was not made for them.

Doing this properly means three separate things. Every language gets its own address. Search engines are told those addresses are versions of each other rather than copies. And for right-to-left languages, the layout itself mirrors. The translation is the part everyone budgets for; the structure around it is the part that decides whether the translation is ever seen.

What we do, and in what order

  1. Settle the URL structure and the language rules. Sub-folders such as /ar/ are the usual answer — simple, cheap and unambiguous to both search engines and humans. With that comes the behaviour: what a first-time visitor from a given country sees, whether detection is automatic or a choice, and whether the site remembers the language on the next visit. Getting this wrong later means changing every URL, so it is decided first. One to two days.
  2. Extract every string out of the code. All visible text moved into per-language files using next-intl or next-i18next on a Next.js build, WPML or Polylang on WordPress, or the platform's own localisation layer. This is the least visible step and the one that determines whether a third language later is a translation job or another project. It also flushes out the text that was hard-coded into components and would otherwise have stayed stubbornly English. Two to four days.
  3. Prepare the translation and route it through a human. A first draft produced quickly, then reviewed by a native speaker in your sector before anything is published. Alongside it, a list of terms that must not be translated at all — brand names, product codes, phone numbers, addresses in their original form. Two to five days, plus your reviewer's turnaround.
  4. Mirror the layout for right-to-left, properly. The dir attribute set correctly, and spacing rewritten to logical properties — ms-4 in place of ml-4 — so margins and padding flip with the page instead of pinning it in place. Then the manual pass: directional icons and arrows, alignment, form field order, and the deliberate exceptions that must stay left to right. Arabic type is loaded with a face built for it, such as Noto Sans Arabic or Cairo, subset carefully because Arabic fonts are heavy and this is often a mobile audience. Three to seven days.
  5. Add hreflang, then check every page in every language yourself. Reciprocal tags across all versions plus an x-default, then a page-by-page review in each language on a real phone. Automated checks find missing tags; they do not find a heading that has broken to three lines in German, a button whose label no longer fits, or a date rendered in a format the reader does not use. Two to four days.

What moves the price

The range is $800–$4,000, and it is set by three things.

How many languages, but less than you would expect. The first additional language is by far the most expensive, because it pays for the entire structure — extraction, routing, switching, tagging. A third and fourth arrive at a fraction of that, which is why it is worth naming your likely future languages at the start even if you are only building one now.

Whether right-to-left is in scope. Arabic or Urdu changes the nature of the work rather than the volume of it. Every layout decision has to hold in both directions, which is where the time goes, and it is the reason this sits towards the top of the range when included.

How much of the content is genuinely being localised. Translating a marketing site is one thing. Localising currencies, date formats, addresses, units, legal text and imagery for a different market is another, and the honest version of that conversation happens before the quote rather than during the review.

What usually goes wrong

Machine translation is published without a native reader seeing it. The output is usually grammatically correct, which is exactly what makes this dangerous — nothing looks wrong to the person approving it. What slips through is register and regional fit: a tone that reads casual where the market expects formality, or a word that is ordinary in one country and odd in another. It is embarrassing in front of precisely the customers the site was built to win, and one review pass prevents all of it.

The words are translated but the layout is not mirrored. Arabic text is dropped into a left-to-right page. The menu stays on the left, the progress indicator still runs the wrong way, arrows point back where the reader expects forward, and text alignment fights the script. You see Arabic characters and think the job is done. The reader sees a page that was clearly built for someone else, and the trust the translation was supposed to buy never arrives.

Everything mirrors, including the things that must not. The opposite failure, and it appears once logical properties are applied without a manual pass. Phone numbers reverse, Latin brand names and product codes flip, email addresses and code samples break, and a logo ends up mirrored. Right-to-left is not a global transform — it is a default with a written list of exceptions, and the list has to be made deliberately.

See where the site stands before you brief anyone.

If the site is already live, start from what it scores rather than from a guess. The audit reports what it checked, what it found, and — the part most tools leave out — what it could not check, and why.

See the website audit Talk about this work

Questions people ask before they commit.

Can we just use a translation plugin or a browser widget?
You can, and it is worth knowing what you give up. Widget translations usually live on the same URL, so search engines only ever index one language and nobody finds you in the other. They also translate the layout as-is, which for Arabic means the words change and the page still reads left to right. For an internal tool that may be fine. For a market you are trying to sell into, it is not.
Do you provide the translation itself?
We build the system that holds it and we can prepare a first draft, but the final wording should be confirmed by a native speaker in your industry — someone you choose. Machine translation is usually grammatically fine and occasionally lands on a register that reads casual or regionally odd in a business context, and you are the one who has to live with that.
What is hreflang and do we really need it?
It is a small tag on each page telling search engines that this page and its other-language version are the same content, not duplicates. Without it, the two versions compete with each other, and visitors get served the wrong language for their country. On a two-language site it is a short job with a large consequence, so yes.
How much extra does right-to-left support cost?
It moves the project towards the upper part of the range rather than adding a fixed line. Mirroring the layout is real engineering work — spacing, alignment, icon direction, and the exceptions that must stay left to right — and it is the part most competing quotes leave out and then discover.
We might add a third language later. Does that mean doing this again?
No, and this is the main reason to build it properly the first time. The expensive part is separating every piece of text out of the code and putting the routing, switching and tagging in place. Once that exists, adding a language is largely a translation exercise rather than a rebuild.
How do we keep the languages in sync when we publish something new?
That is a workflow decision made during the build. Usually a new page is published in the primary language and queued for translation with a visible marker, so nobody is guessing which pages have fallen behind. We set that up rather than leaving you to notice gaps by accident.

Often taken together.

Start with the brief, not the invoice.

Send what you are trying to achieve. You get a written scope, a price and a date — or an honest “this is not the right service for that”.

Talk about Multilingual / localisation build All Web Development & Engineering services