Arabic that renders correctly in your game

You send the text. I send it back ready to work in your engine: translated, reviewed by a native speaker, shaped, right-to-left, in a font that fits.

A translation can be correct in a spreadsheet and still break in the engine: reversed direction, disconnected letters, a font with no Arabic glyphs, menus that overflow. My job is the whole Arabic layer, delivered as files your team drops straight in. And I never need your source code or a copy of your game. The text is all I ask for. I've shipped Arabic across Unity, Unreal, Godot, GameMaker, and several closed engines; if yours is different, send it over and I'll tell you straight whether it can be done.

14 Games made playable in Arabic, all free fan builds
37K+ Downloads across the builds
9 Engines & closed formats

Built unpaid, on my own initiative, as public proof. Every project links to a public page you can check.

Proof you can check

Everything below I shipped myself, unpaid and without developer access, because that was the hardest proof I could offer before asking anyone to pay. None of it is official or commissioned. Every title links to a public page you can verify, and every one of those pages has screenshots and player comments showing the Arabic running in the game.

Metaphor: ReFantazio · Arabic fan localization

Metaphor: ReFantazio key art with the Arabized fan-localization logo

1.16 million words made playable in Arabic on a closed engine with no Arabic shaping and no right-to-left. Every line is shaped, wrapped, and reordered before the engine draws a single character.

Atlus's engine draws text strictly left-to-right, in byte order. I built the extraction and RTL pipeline from scratch and shipped a one-click installer players run without touching a config file.

Words
1.16M
Engine
GFD · Studio Zero
Approach
Offline RTL baker
Published on Nexus Mods · View the build and screenshots
Engineering detail

Metaphor runs on GFD, Studio Zero's in-house engine, the same family as Persona 5 and Catherine. Its text lives inside an 85 GB CRIWARE CPK archive under per-file CRILAYLA compression, with dialogue held in AtlusScript .msg files. The engine performs no Arabic shaping and no bidirectional reordering, and the usual trick of flipping the font's line metrics is dead here (GFD reads usWinAscent/usWinDescent, not signed metrics), so the text has to arrive already correct.

A custom CPK extractor handles the CRILAYLA decompression. An offline RTL baker then shapes each line into presentation forms, wraps it to a per-label box capacity derived from Atlus's own Japanese hand-wrapped line breaks, and reorders it visually: Latin islands stay in place, brackets get mirrored, and the hard line breaks land where the engine expects them. Colour tags, paired markup, and engine tokens survive the reversal intact. The Arabic font goes into all nine font slots, and UI sprites are round-tripped through BC7 textures. More than 75,000 message entries went through the pipeline end to end.

Forza Horizon 6 · Arabic fan localization

Forza Horizon key art with the Arabized fan-localization logo

A closed first-party engine that stores fonts as GPU meshes and ships no Arabic shaping. I reverse-engineered the binary formats from scratch, then published them as an open toolkit.

Arabic requests from the community had gone unanswered for years because no tooling existed. After this build shipped, translators working in other languages asked how it was done, so I documented the formats and published the toolkit for any language community to build on.

Words
387K
Engine
ForzaTech · NoesisGUI
Fonts
.vfont GPU mesh
Engineering detail

ForzaTech is Playground Games' in-house engine, with a UI layer built on NoesisGUI/AVUI. No public tooling or format documentation existed for it. Strings live in a custom binary string-table format. Fonts aren't TTF: they're a proprietary .vfont/.vfont0 pair that stores every glyph as a pre-built GPU mesh. Nothing in the engine expects a right-to-left script.

I reverse-engineered every format and verified it with byte-identical roundtrips: the string tables across all 287 files, and the mesh-font formats from scratch. A TTF-to-mesh generator builds engine-valid Arabic glyphs (395 across the Arabic and Presentation-Forms-B ranges). I added reshaping and BiDi where the engine had none, and repacked the locale archives slot by slot around the engine's silent integrity checks. Dialogue, UI, system text, fonts, and RTL shipped inside the build.

007 First Light · Arabic fan localization

007 First Light key art with the Arabic fan-localization title

A Glacier-engine title with archives and font containers that crash on any byte-length change. Arabic ships anyway, and the tooling is public.

IO Interactive's engine was never built for a right-to-left script. I worked out the archive format for round-trip read and write, injected Arabic glyphs without changing a single byte length so the font container never shifts and never crashes, and published the toolkit on GitHub for any language community to use.

Words
165K
Engine
Glacier (IO Interactive)
Approach
Size-neutral glyph injection
Engineering detail

Glacier's localization lives inside a proprietary RPKG archive format with a custom block layout for UI strings, dialogue, and video subtitles. Its UI fonts run through a Scaleform GFX container where each glyph is baked into a binary font face, and that container crashes the moment an edit changes the byte length of the tag body around it.

I mapped the RPKG format and its block structure for round-trip read and write. Arabic glyphs went into six font faces without any net byte-length change: rare glyph slots were replaced, and each face was padded back to its exact original size. RTL reshaping and bidi run at the string layer, with placeholder and engine tokens masked so they survive reordering. The localized data went directly into the game's base chunks rather than a separate patch archive.

Hollow Knight: Silksong · Arabic fan localization

Hollow Knight: Silksong key art with the Arabic fan-localization title

93,000 words in Modern Standard Arabic on a forked, legacy TextMeshPro that was never built for a right-to-left script.

Beyond the engine work: a gender-consistency pass keeps the female protagonist addressed correctly across thousands of lines, with terminology passes over the corpus.

Words
93K
Engine
Unity 6 · TMProOld
Approach
Build-time RTL transform
Published on Nexus Mods · View the build and screenshots
Engineering detail

Silksong runs on Unity 6 (6000.0.50f1), but its text doesn't go through stock TextMeshPro. It runs through a forked version that lives in the engine's own TMProOld namespace, with a legacy font schema and no dynamic font fallback. Dialogue, UI, and item text are driven from compiled asset bundles and flat YAML string tables.

I extracted 93,491 words from the string tables and ran them through a build-time RTL transform that reshapes each line into Presentation Forms, reverses it per segment, masks placeholders and Latin runs, and preserves every engine tag so line breaks and page markers survive intact. A decompile of the game's own assembly settled where line breaks are converted (eight methods inside the game code, not the injector), so wrapping and reordering run at build time instead of fighting the runtime. Reintegration happens via BepInEx.

The other ten builds, one line each

They're big titles because that was the hardest proof I could make. A short indie script gets the same care. Want to see the Arabic with your own eyes? Every Nexus page above carries in-game screenshots, and the download numbers sit right next to them.

How the Arabic gets good

You can verify the rendering with your own eyes. You can't verify the language, so here is exactly how I control it.

The drafting is automated. The judgment is mine.

Translation runs through an AI pipeline I engineered myself, and I say that plainly. It handles the volume, keeps terminology consistent, and carries tags and variables through intact. That's how one person can cover engines, fonts, and the 4M+ words of source text behind the fan builds above.

On commissioned work, no line ships on the draft's authority. I'm a native Arabic speaker from Saudi Arabia, and I go through every paid line myself: grammar, gender, meaning, consistency, and the terms we agreed on. Everything in Modern Standard Arabic, the register the whole Arabic-speaking market reads.

The honest boundary

The fan builds were made to prove the machinery and the integration at scale; most shipped with lighter linguistic review than I commit to on commissioned work. That's the difference between free proof and paid delivery, and it's why paid work carries a real correction policy (terms below).

Your text stays yours. It's used for one thing: producing your Arabic. If your game is unannounced or the script is sensitive, say so, and I'll sign an NDA before you send anything.

How commissioned work runs

01

Scope

You send the engine and version, an approximate word count, and a sample of the text. I reply with a quote and a delivery date. No builds, no source code, no repository access: your game never leaves your hands.

02

Terminology

Before production we agree a per-game glossary: character names, recurring terms, tone, and the grammatical-gender policy for player-directed text. The glossary then holds across every string, and grows with the project when new context appears.

03

Translate & review

The pipeline drafts at scale and carries tags, placeholders, and variables through intact. Then I review every line myself for grammar, gender, meaning, consistency, and glossary fit before anything leaves my desk.

04

The technical layer

RTL order, shaping, fonts and fallback, encoding, tag preservation: whatever your engine needs so the text renders correctly. The reverse engineering in the fan projects existed because there was nobody to ask; for clients, that same knowledge goes into files and notes you can simply use.

05

Delivery & fixes

You get translated files ready to drop into your engine, the fonts and technical pieces to go with them, and integration notes. Your team integrates and checks it in the game. Anything that turns out to be my mistake, I fix free for 30 days from delivery.

Working together

Three ways in, sized to how much trust we've built. Pricing is quoted per project.

The full scope

Full localization

Your whole script: translated, reviewed line by line, and delivered with the fonts and RTL layer your engine needs, ready for your team to drop in.

Plan on two to three weeks for a script of about 15,000 words, including my review. You get an exact date with the quote.

Scope my project →

Already have Arabic?

The Rescue

You already have a translation, from a vendor or an AI pass, and it breaks in the engine: reversed, disconnected, missing glyphs, broken layout. Send me the files and I'll tell you what's wrong and what the fix costs.

Rescue keeps your existing wording unless you add linguistic review to the scope. I'm glad to work alongside your translator or agency and own just the technical layer.

Fix my Arabic build →

The correction policy

If something I delivered is wrong (a mistranslation, a grammar error, a broken term, text that doesn't render the way I said it would), that's on me, and I fix it free for 30 days from delivery. Work caused by anything outside my delivery is new scope, quoted the same way: game updates, engine changes, platform ports, new source text, and rewrites after approval.

The paperwork

Scope and milestones in writing before work starts. Payment can be staged so you see progress before you pay for it. Your project's files (the translations, the glossary, and the integration assets we agreed on) are yours once the project is paid; my reusable tools and pipeline stay mine, and fonts are supplied under their own licenses. You work directly with the person doing the work, and if a job is genuinely too big for one person, I'll say so before you commit.

Why Arabic?

More than 400 million people speak Arabic, and MENA is a large, paying, under-served games market. Three numbers tell most of the story:

  • The market is real and growing MENA-3 (Saudi Arabia, UAE, Egypt) generated $2.0B in games revenue in 2024, up 5.4% year over year. Niko Partners projected $2.2B for 2025 and forecasts $2.8B by 2029. Source: Niko Partners, MENA-3 market analysis.
  • Big publishers already price it in Capcom's FY26/3 data places Saudi Arabia in its second-highest market tier: 100,000+ annual unit sales, the same tier as Australia. Source: Capcom FY26/3 investor data.
  • Localization moves the number After an Arabic localization and culturalization push, Tiny Minies grew its MENA sales more than 25× within a year. The region went on to make up 30% of its audience and 25% of its revenue. One case, not a promise, but it shows the ceiling. Source: MultiLingual.

The barrier is rarely the audience. It's the language layer: RTL direction, glyph shaping, and font pipelines that have to behave inside the engine. That layer is the part I take off your plate.

Questions worth asking

Which Arabic do you translate into?

Modern Standard Arabic. It reads naturally to Arabic speakers everywhere, from Morocco to Oman, and it's the standard for game UI and narration.

Do you use AI?

Yes, and I say so plainly: translation runs through an AI pipeline I built myself. What ships is different. On commissioned work I review every line as a native speaker before it leaves my desk, and the correction policy puts that in writing: my mistakes get fixed free for 30 days.

What do I need to send you?

A text export in whatever format your engine uses, plus the engine name and version. That's the whole list. No builds, no source code, no repository access, so your game never leaves your hands. And if your game is already playable publicly (a demo counts), I verify my own work on my own copy, the same way all 14 fan builds were made. If you're not sure what's exportable from your engine, send the engine name and I'll tell you exactly what to look for.

What happens when my game updates?

New text is a new batch, quoted the same way as the original scope, so you always know what an update costs before it starts. And if something in my delivered work turns out to be my mistake, that fix is free for 30 days from delivery.

Can I see your work before paying?

Two ways, both free. Send a screenshot of your UI and I'll return it in Arabic, so you see your own game the way Arabic players would. And every fan build's Nexus page has in-game screenshots next to the download numbers and player comments.

I'm Hesham, a native Arabic speaker based in Saudi Arabia. Everything on this site is one person's work: the translation pipeline, the engineering, the review, the published builds. There are no subcontractors and no handoffs. If something blocks your delivery, you hear it from me early, not at the deadline.

Tell me what you're shipping

The more concrete the message, the more concrete the reply. Include the engine, an approximate word count, and a sample of your text, and the first reply comes back with a number and a date. Otherwise it comes back with a couple of clarifying questions.

First reply within 48 hours.

[email protected]

No analytics or tracking scripts on this site. The form is spam-checked by Cloudflare Turnstile and lands as one email in my inbox.

Game name and email required.