Localization
Overview
UI strings are localized using a simple switch-based system in MyResource.cpp / MyResource.hpp. The active language is selected at runtime based on the device locale or a settings value.
Supported Languages
| Language | Code | Notes |
|---|---|---|
| French | FR | The game's original language. Used as the fallback when no other match is found. |
| English | EN | Full translation of all UI strings. |
| German | DE | Full translation of all UI strings. |
String Categories
The following types of strings are covered by MyResource:
- Level names — displayed on the level complete screen and ranking
- Button labels — text on UI buttons (Play, Settings, Buy, etc.)
- Menu text — headers and descriptions in settings / pause menus
- Status messages — HUD text, pause overlay text
- Cheat code names — display names for the 22 cheats (separate from
Tables::CheatCodes)
Adding a Language
To add a new language:
- Add a new branch to the switch statement in
MyResource.cppfor each string key - Add the language code to the detection logic at the top of
MyResource.cpp - Test every screen (Init, Pause, Settings, Win, Lost, Ranking, Resume, Trial)
No Translation File Format
Strings are hardcoded directly in C++ switch statements in
MyResource.cpp, not loaded
from external files. There is no .po / .json / .resx localization file format to manage.