DEV Community

shihchiehn li
shihchiehn li

Posted on

Shipping a Game Guide Site in Five Languages: What Actually Broke

I maintain noomicheems.online, an independent companion site for NoomiClone — a free browser physics game by jamesnorth. It is not the official game page. It embeds the original game and adds English, Russian, Spanish, Portuguese and Indonesian guides around it.

Localizing a five-page site sounded like a translation task. It turned into three engineering problems instead.

1. The physics vocabulary does not translate cleanly

"Controls", "swing timing", "momentum", "release point" — every language has a word for these, and every language picks a different one. Two translators will produce two vocabularies for the same mechanic, and then your guide contradicts itself across locales.

The fix that worked: a small glossary file, one row per mechanic, with the chosen term per locale. Translate once against the glossary, not page by page.

2. Every locale needs its own URL, and hreflang is not optional

If you serve translations from the same URL by rewriting client-side, search engines index one page and ignore the rest. Each locale got its own path, its own canonical, and reciprocal hreflang entries — including an x-default.

That single change mattered more for reach than any content edit I made afterwards.

3. Do not translate the canvas, translate around it

The game itself is language-agnostic: a physics simulation does not care what language the surrounding page is in. But the wrapper does — the play button, the "game not loading" notice, the footer credit.

The rule I ended up with: the game page stays almost static per locale; all the writing lives on the guide and troubleshooting pages. It keeps the playable page cheap to render and makes the translated pages easy to review.

Try it

Independent, unofficial fan site. The original game is NoomiClone by jamesnorth on itch.io. I have no affiliation with the original author and make no claim to the game.

Top comments (1)

Collapse
 
komopdf profile image
KomoPDF •

Handling physics terminology across languages always catches localization pipelines off guard. We ran into a parallel issue when mapping AcroForm field labels and widget annotations across multi-language forms. A single canonical glossary keyed to mechanic IDs rather than raw UI strings prevents half the UI from drifting out of sync. Isolating the canvas loop so surrounding documentation pages handle all the DOM layout work also avoids costly re-renders.