-
-
Notifications
You must be signed in to change notification settings - Fork 3
Localization
MixScrims supports multiple languages through Swiftly's JSONC-based localization system.
CRITICAL: Only CS2-supported languages will work. The language code must match CS2's language system exactly, otherwise English fallback will be used.
Translation Files Location:
csgo/addons/swiftlys2/plugins/MixScrims/resources/translations/
├── en.jsonc # English (default)
├── pt-BR.jsonc # Portuguese (Brazil)
├── zh-CN.jsonc # Simplified Chinese
└── [cs2-lang].jsonc # Your CS2-supported language
Swiftly automatically detects player language from Steam/CS2 settings.
All translation keys are in en.jsonc. Main categories:
- server_prefix - Chat message prefix
- announcement.* - Ready status, captains, timeouts, map voting, state changes, team picking, knife round, surrender, vote kick
- command.* - Command responses
- command_reminders.* - Periodic reminders
- error.* - Error messages
- info.* - Disconnects, clan tags, center messages
- menu.* - Voting and picking menus
~95+ keys total. Refer to en.jsonc for complete list.
Available: [default], [darkred], [green], [lightyellow], [lightblue], [olive], [lime], [red], [purple], [grey], [yellow], [gold], [silver], [blue], [darkblue], [bluegrey], [magenta], [lightred]
Use {0}, {1}, {2}, etc. - must match en.jsonc exactly.
Some center messages use HTML. See Swiftly HTML Styling Documentation
- Verify CS2 supports your language - Check CS2 settings
- Copy en.jsonc as template
-
Rename to CS2 language code (e.g.,
de.jsonc,fr.jsonc) - Translate values only - Keep all keys unchanged
- Preserve placeholders - Same count and order as en.jsonc
- Keep color codes - Copy exactly from en.jsonc
- Save as UTF-8 without BOM
- Test in-game with CS2 language set correctly
Configure in plugin settings:
"CommandRemindersLocalization": [
"command_reminders.timeout",
"command_reminders.ready",
"command_reminders.reset",
"command_reminders.invite"
]- Verify CS2 supports the language
- Check language code is exact
- File location:
resources/translations/ - Filename:
[cs2-code].jsonc - Validate JSONC syntax
- UTF-8 without BOM encoding
- Restart server or reload plugin
- Match en.jsonc placeholder count and order exactly
- Check syntax:
{0}not{ 0 }or{O}
- All keys from en.jsonc must be present
- Don't add or remove keys
- CS2 supports this language
- Correct CS2 language code
- All keys from en.jsonc present
- No extra keys added
- Placeholders preserved
- Color codes intact
- Valid JSONC syntax
- UTF-8 without BOM
- Tested in-game
Related: Configuration | Contributing | Installation
{ // ❌ Wrong - don't change keys "ankündigung.bereit": "[[red]{0}[default]/[lime]{1}[default]] Spieler bereit" // ✅ Correct - keep keys, translate values, preserve colors & placeholders "announcement.ready_status": "[[red]{0}[default]/[lime]{1}[default]] Spieler bereit" }