We fix

Arabic Readiness Delivery

We take the product from its measured score to a clean one, and the scan is the receipt.

$5K–$30K+ · per project3–10 weeks by scopeStarts with a scan

The deliverable is a number that moves: your Arabic readiness score, measured before, worked on, and measured again at all three breakpoints until it is clean. How much of that is a codemod depends entirely on how your CSS was written. A codebase in physical properties converts largely automatically; a modern Tailwind or Bootstrap 5 one is already logical at the utility level, and the real work is copy, dates, numerals, typography and the vendor CSS you inherited. We run the free conversion plan against your repository in the first call, which takes a minute, and quote from what it actually finds rather than from what the pitch assumes.

What you get

  • A baseline scan, archived, so the before is a measurement rather than a memory
  • A scoped plan run against your own repository, before anything is quoted
  • Automated codemods where the CSS is physical, delivered as reviewable pull requests
  • Every transform the tooling declined, listed for a human decision rather than guessed
  • Arabic typography done properly: face selection, line-height, no tracking on connected script
  • Component mirroring, forms and input direction, numeral and currency policy agreed with you
  • A directionality lint rule left behind, so the work does not rot
  • Verification scans at all three breakpoints, iterated to clean, then a dated certificate

What this does not cover

  • Direction supplied by a framework you load from a CDN. We flag it and quote separately, because fixing it means vendoring a fork you would then own
  • Third-party embeds and iframes, which we can measure and cannot edit
  • Translation itself: we audit and correct Arabic that exists, we do not write it from scratch

What we need from you

  • Repository access, or a fork we can open pull requests against
  • A staging environment where the scanner can reach the Arabic build
  • One decision-maker for the policy questions: numerals, dates, currency, tone
Illustrative example

Illustrative: what the scope calculator reads

A 25-page crawl usually collapses to four or five templates once pages are grouped by structure, and the physical-CSS findings collapse to a few dozen stylesheet rules rather than the hundreds of elements they match. That collapse is the estimate: templates and rule clusters are what the work costs, not page count. On a codebase that is already logical the collapse goes the other way: few rules, and the work moves to copy, dates and typography, which is why the plan is run before the quote.

Drawn from our own fixtures and public-site scans. Not a client engagement.

What a conversion will not convert

If your framework already writes logical CSS (Bootstrap 5, Tailwind's logical utilities, anything built after about 2021), a conversion may find very little to convert. `ritla convert plan` answers that in a minute, free, before anyone signs anything.

Everywhere the codemod stops, it says so. That list is the deliverable's most useful page: each line is a place your codebase made a decision a machine must not re-make on its own. These are the kinds.

Direction your own CSS already handles
A declaration inside a selector scoped to a direction (`[dir="rtl"] .card`, `html[lang="ar"]`) is your RTL handling, not a defect. Converting it would overwrite a decision somebody made deliberately, so it is listed and left.
Shorthands that might be asymmetric on purpose
`padding: 0 16px 0 40px` may be an indent that belongs on one side, or a mistake. The difference is intent, and intent is not in the stylesheet, so every asymmetric shorthand is read by a person rather than flipped by a script.
Values that come from a custom property
`margin-left: var(--gutter)` cannot be converted without knowing what `--gutter` is and where else it is used. Resolving it is a judgement about your token system, which is yours.
Build output
A minified bundle is converted by converting the source it was built from. Editing the artefact would be undone by the next build and would hide the real change from your own diff.
Assets with no directional signal
An arrow, a chevron or a gradient may need mirroring. A filename rarely says which, so directional-looking assets are listed for a person to look at rather than flipped on a guess.
Anything the walk could not read
A symbolic link is not followed, and a file that cannot be parsed is not silently skipped: both are recorded. A conversion that reports "0 declines" about files it never opened is the one failure this list exists to make impossible, and it happened once.

Start with a scan

We would rather look before we talk. Give us the URL and we will run the same scan the homepage runs, then you can tell us what you need.

https://