Internationalization
Wayward Crown supports 15 languages, with the ability to add more through plugins.
Built-in Languages
Section titled “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
Section titled “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
Section titled “Language Detection Order”--lang/--languageCLI argument (highest priority; applies to this session only and is not saved)- Language manually selected by the user in the settings menu (choosing “Auto” there clears it)
- Steam client language (auto-detected on every launch while there is no manual choice)
- The language used last time
- English (default fallback)
Adding Languages (Plugins)
Section titled “Adding Languages (Plugins)”Adding a language via a plugin only requires a translation file and a plugin.json that lists it under content.languages (a file that is not listed is not loaded):
plugins/my_lang/├── plugin.json└── lang/ └── xx.json # Your language code{ "id": "my_lang", "name": "My Language", "content": {"languages": ["lang/xx.json"]}}The language code and the name shown in the language list come from the file’s _meta block ("_meta": {"language": "xx", "label": "My Language"}); without it the file name is used. The 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
Section titled “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.