🎨 Modding Guide: Custom Themes & Languages

🌍 Part 1: Super easy - add a language

This guide is for everyone who wants to change languages on their own. You do not need Python or coding skills. A normal text editor is enough. With it, you can edit existing language files or create new ones.

✅ All you need is a text editor

Open a language file in the lang folder with any normal text editor. You can edit it, copy it, or create a new file - nothing more is needed.

That means you can change an existing language or add a new one. No source code is needed.

Step 1: Copy a file

Open the lang folder and copy one of the existing language files. Then rename the copy, for example to fr_FR.json, es_ES.json, it_IT.json, nl_NL.json, or pt_BR.json.

Step 2: Change only the text on the right

Very important: the left side is the key, the right side is the text. Only the text after the colon is translated. The left part must stay exactly the same.

Correct:
"save": "Save"
"cancel": "Cancel"
"open": "Open"

Wrong:
"save": "save"
"Save": "Cancel"
    

The name on the left stays the same. The translation goes on the right. That is how the program reads the file correctly.

Step 3: You can also use AI

You can also let an AI do the translation. Paste the language file into ChatGPT or another AI tool and say: translate only the text on the right, but do not change the names on the left.

Step 4: Save and restart

Save the file in the lang folder and restart the program. The new language will then appear automatically in the list.


🖌️ Part 2: Creating a Custom Theme

Since version 4.1.0, themes are fully managed through external JSON files inside the themes folder. No Python editing is required.

Step 1: Copy an Existing Theme

Open the themes folder and copy an existing file such as light.json. Rename the copy, for example my_theme.json.

Step 2: Modify the Colors

{
    "name": "my_theme",

    "bg": "#E0E0E0",              // Main application background
    "fg": "#000000",              // Main text color
    "info_bg": "#ffffff",         // Text areas and process log
    "separator": "#808080",       // Borders and separators
    "entry_bg": "#ffffff",        // Input fields and comboboxes
    "disabled_fg": "#6d6d6d",     // Disabled text
    "error_bg": "#f2b8b5",        // Error highlighting
    "button_bg": "#d3d1ce",       // Buttons and inactive tabs
    "button_hover": "#e4e0d8",    // Hover and active state
    "text_relief": "sunken",      // flat, sunken, ridge, groove
    "accent": "#0a64ad",          // Main accent color
    "tree_selected": "#0a64ad",   // Selected file row background
    "tree_selected_fg": "#ffffff",// Selected file row text
    "tree_row_alt": "#f7f7f7"     // Alternate row color
}

Save the file. The application will detect it automatically.

Step 3: Select the Theme

Start the application. Every valid JSON theme inside the themes folder will automatically appear in the App Theme selector.