Available Languages
Skript includes the following languages out of the box:English
english.lang
German
german.lang
French
french.lang
Spanish
spanish.lang
Polish
polish.lang
Russian
russian.lang
Korean
korean.lang
Japanese
japanese.lang
Simplified Chinese
simplifiedchinese.lang
Turkish
turkish.lang
Dutch
dutch.lang
Catalan
catalan.lang
Setting the Language
Change Skript’s language inconfig.sk:
Language name in lowercase without spaces. Examples:
english, german, simplifiedchineseNot all features are fully translated in every language. Untranslated parts default to English.
Language File Structure
Language files use Skript’s configuration syntax (not YAML):Language File Locations
Skript loads language files from two locations (in priority order):- External folder (higher priority):
plugins/Skript/lang/ - Internal JAR (lower priority):
lang/folder insideSkript.jar
Custom files in
plugins/Skript/lang/ override built-in translations. Both files are loaded, but external entries take precedence.english.lang) is always loaded from the JAR only.
Creating Custom Language Files
Step 1: Copy an Existing Language File
Extract a language file from the Skript JAR:- Open
Skript.jaras a ZIP archive - Navigate to
lang/ - Copy
english.langor another language - Place it in
plugins/Skript/lang/
Step 2: Rename the File
Rename to match your target language:.lang extension.
Step 3: Update the Version Number
Ensure the version matches your Skript version:Step 4: Translate Messages
Translate each message string:Step 5: Set Language in Config
Updateconfig.sk to use your custom language:
Step 6: Reload Skript
Message Formatting
Arguments
Many messages include arguments using Java’s formatter syntax:String argument placeholder. Multiple
%s appear in order.Positional arguments.
%1$s is the first, %2$s is the second, etc.english.lang:
%1$s: Script name%2$s: Number of errors%3$s: Time in milliseconds
Full formatter syntax: Java Formatter Documentation
Plurals
Define singular and plural forms with¦:
- Singular:
script - Plural:
scripts
Gender (Articles)
Some languages use grammatical gender. English uses articlesa/an:
Other languages use actual genders (masculine, feminine, neuter). Check existing translations for examples.
Color Codes
Messages support Minecraft color codes:<gray>,<gold>,<red>,<green>,<blue>,<yellow>,<aqua>,<white>,<black><dark gray>,<dark red>,<dark green>, etc.<reset>: Reset formatting<bold>,<italic>,<underline>,<strikethrough>
Common Localization Sections
Skript Core Messages
Command Messages
Runtime Errors
Updater Messages
Partial Translations
You don’t need to translate everything. Create a partial language file that only overrides specific messages:Translation Best Practices
Maintain Consistent Tone
Maintain Consistent Tone
Keep translations consistent in formality and style throughout the file.
Preserve Formatting
Preserve Formatting
Keep color codes, plural markers, and argument placeholders:
Test Thoroughly
Test Thoroughly
Reload scripts and trigger various errors to see your translations in action.
Keep Version Updated
Keep Version Updated
Update the
version field when upgrading Skript to match new message keys.Document Changes
Document Changes
Add comments explaining custom translations:
Contributing Translations
To contribute a new language or improve existing translations:- Fork the Skript repository on GitHub
- Create/update a language file in
src/main/resources/lang/ - Test your translations thoroughly
- Submit a pull request
Skript GitHub Repository
Contribute translations to the official Skript project
Troubleshooting
Language Not Loading
Language Not Loading
Common issues:Check console for language loading messages.
- Incorrect filename: Use lowercase, no spaces,
.langextension - Wrong location: Place in
plugins/Skript/lang/ - Config mismatch:
language:in config.sk must match filename (without.lang) - Syntax errors: Check for proper indentation (tabs or spaces, consistent)
Some Messages Still in English
Some Messages Still in English
This is normal if:
- Translation is incomplete (missing keys)
- New Skript version added untranslated keys
- Feature hasn’t been translated yet
Special Characters Not Displaying
Special Characters Not Displaying
If special characters (é, ñ, ö, ü, 中文, etc.) show as
? or boxes:- Save the file as UTF-8 encoding
- Ensure your console supports UTF-8
- On Windows, use a UTF-8 capable editor (VS Code, Notepad++, not Notepad)
config.sk documentation:Version Mismatch Warning
Version Mismatch Warning
If you see a version warning:
- Check Skript version:
/skript info - Update
version: @version@in your language file - Review Skript changelog for new message keys
- Add translations for new keys
Language File Reference
Key sections inenglish.lang:
| Section | Purpose | Example Keys |
|---|---|---|
skript: | Core messages | prefix, no scripts, no errors |
skript command: | /skript command output | reload, enable, disable, info |
log: | Runtime logging | error, warning, auto reload |
commands: | Command defaults | no permission message, cooldown message |
updater: | Update checker | checking, update available |
aliases: | Alias system | empty string, invalid item type |
time: | Time parsing | 24 hours, 60 minutes |
functions: | Function errors | unknown function, invalid argument |
Example: Custom Server Language
Create a branded language file for your server:config.sk:
Related Resources
Configuration
Language and other config.sk settings
Skript GitHub
Source code and language files
Java Formatter Syntax
Argument formatting documentation
Best Practices
Tips for maintaining language files
