the norwegian umbrella: full bilingual gameplay across every mode, and the main menu restructure
Bringing Norwegian back properly as a PRD-driven umbrella project, introducing a 29-letter alphabet, per-language letter rarity, and a brand new main menu.
Three months ago, we made a naive attempt at adding Norwegian support to the game. We ripped it out shortly after because the architecture just wasn’t ready to handle a bilingual experience gracefully. But Norwegian finally returned this week, and this time we did it properly as a massive, PRD-driven umbrella project (Issue #395).
We started by writing explicit architectural decisions. We adopted Norsk Ordbank as the dictionary source (ADR-0021) to get a comprehensive, CC-BY licensed word list. We decided that language shouldn’t be a per-game toggle, but rather a whole-experience browser setting (ADR-0022). If a player joins a PvP game hosted in a different language, they temporarily adopt the game’s language and are given a prompt to keep it at the end of the match.
Adding a language to a word game means fundamentally changing the engine logic. The Norwegian alphabet has 29 letters (including Æ, Ø, and Å), which meant rewriting the streak combo logic to support different alphabets. The letter rarity scoring formula had to be re-calibrated per language because what’s rare in English might be common in Norwegian. We even localized the screen-reader announcements and the “hint” guidance to ensure the game remained fully accessible to Norwegian players.
The entire umbrella spanned a dozen separate pull requests, but we merged them all into the codebase as a single, monumental commit to ensure we didn’t ship a half-finished language integration. Comparing this to our first attempt, the contrast is stark. This wasn’t just a translation patch; it was an engine redesign that proved the game could truly scale to support a worldwide audience.