Internationalization¶
Wayward Crown supports 15 languages, with the ability to add more through plugins.
Built-in Languages¶
| Code | Language |
|---|---|
en |
English |
zh_TW |
繁體中文 |
zh_CN |
简体中文 |
ja |
日本語 |
ko |
한국어 |
ru |
Русский |
de |
Deutsch |
fr |
Français |
es |
Español |
pt_BR |
Português (Brasil) |
it |
Italiano |
pl |
Polski |
tr |
Türkçe |
th |
ภาษาไทย |
vi |
Tiếng Việt |
Language File Format¶
Language files are in JSON format, stored in the game/lang/ directory:
{
"window_title": "Wayward Crown",
"log_defeated_enemy": "{adv} defeated {enemy} (Gold: {gold} XP: {xp})",
"building_market": "Market",
"class_warrior": "Warrior"
}
- Supports
{placeholder}dynamic substitution - Missing translation keys automatically fall back to English
- Switching languages takes effect immediately without a restart
Language Detection Order¶
--langCLI argument (highest priority)- Language manually selected by the user in the settings menu
- Steam client language (auto-detected)
- English (default fallback)
Adding Languages (Plugins)¶
Adding a language via a plugin only requires plugin.json and a translation file:
plugins/my_lang/
├── plugin.json
└── lang/
└── xx.json # Your language code
The language code can be any string (e.g., ja, ko, my_custom) and will automatically appear in the language list in the settings menu.
Campaign Internationalization¶
Campaign text can use the i18n: prefix to reference translation keys:
{
"title": "i18n:tut_level1_title",
"intro": "i18n:tut_level1_intro"
}
The game automatically resolves translation keys based on the current language. If a matching translation is not found, the key name is displayed as-is.