Skip to content

Rewrite theme system, add custom themes, add classic font (old ex-coop font)#1146

Open
EmeraldLoc wants to merge 7 commits intocoop-deluxe:devfrom
EmeraldLoc:custom-themes
Open

Rewrite theme system, add custom themes, add classic font (old ex-coop font)#1146
EmeraldLoc wants to merge 7 commits intocoop-deluxe:devfrom
EmeraldLoc:custom-themes

Conversation

@EmeraldLoc
Copy link
Contributor

@EmeraldLoc EmeraldLoc commented Mar 14, 2026

Lot of code changes, but to summarize:

  • Rewrites the theme system to allow for the customization system be a bit more advanced and easier to maintain in the future. It now uses an enum-based system.
  • Allowed for themes to be customized, created, deleted, etc. All themes are saved into the themes folder in .ini's. There are over 50 different customization options, and all elements should be customizable. All theme changes are instant in its view, and leaving the theme selector shows an instant change in theme changes aswell. The current theme is stored in the config file just like player palettes, but themes are saved/loaded from the themes folder.
  • Added the classic font, which is the old ex-coop font. It has been added to the font selector, along with the special font, so now you can use either of those fonts in djui. The loading screen now also uses your selected font.
  • Five thousand language entries

This is marked as draft because #1129 should be merged first, and I also want to allow users to drag and drop themes into the game, like with palettes, mods, etc. and I still need to implement that Implemented this, just need the pr to be merged now so I can update the searchbar accordingly.

Any suggestions/criticisms are welcome.

Here are some screenshots of a crappy theme I made, along with the file if anyone actually wants to use it:

Screenshot 2026-03-13 at 7 59 05 PM Screenshot 2026-03-13 at 7 12 12 PM Screenshot 2026-03-13 at 7 09 46 PM

Midnight.ini.zip
(not a virus 100%)

(P.S. I forgot, the best part!)

[NOTIF]
IMPORT_THEME_SUCCESS = "\\#a0ffa0\\Imported theme\n\\#dcdcdc\\'@'"

[DJUI_THEMES]
THEMES_TITLE = "THEMES"
DJUI_THEME = "DJUI Theme"
DJUI_SCALE = "DJUI Scale"
DJUI_FONT = "Font"
AUTO = "Auto"
CENTER = "DJUI Center"
GRADIENTS = "DJUI Gradients"
SMOOTH_SCROLLING = "DJUI Smooth Scrolling"
FONT_NORMAL = "Normal"
FONT_MENU = "Menu"
FONT_CUSTOM_HUD = "Hud"
FONT_ALIASED = "Aliased"
FONT_SPECIAL = "Special"
FONT_CLASSIC = "Classic"
LIGHT_THEME = "Light"
DARK_THEME = "Dark"
ELEMENT = "Element"
DJUI_THEME_ELEMENT_PRIMARY = "Primary"
DJUI_THEME_ELEMENT_PRIMARY_HOVER = "Primary (Hover)"
DJUI_THEME_ELEMENT_PRIMARY_DOWN = "Primary (Pressed)"
DJUI_THEME_ELEMENT_PRIMARY_DISABLED = "Primary (Disabled)"
DJUI_THEME_ELEMENT_PRIMARY_TEXT = "Primary Text"
DJUI_THEME_ELEMENT_PRIMARY_TEXT_DISABLED = "Primary Text (Disabled)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER = "Primary Border"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_HOVER = "Primary Border (Hover)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DOWN = "Primary Border (Pressed)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DISABLED = "Primary Border (Disabled)"
DJUI_THEME_ELEMENT_SECONDARY = "Secondary"
DJUI_THEME_ELEMENT_SECONDARY_HOVER = "Secondary (Hover)"
DJUI_THEME_ELEMENT_SECONDARY_DOWN = "Secondary (Pressed)"
DJUI_THEME_ELEMENT_SECONDARY_DISABLED = "Secondary (Disabled)"
DJUI_THEME_ELEMENT_SECONDARY_TEXT = "Secondary Text"
DJUI_THEME_ELEMENT_SECONDARY_TEXT_DISABLED = "Secondary Text (Disabled)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER = "Secondary Border"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_HOVER = "Secondary Border (Hover)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DOWN = "Secondary Border (Pressed)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DISABLED = "Secondary Border (Disabled)"
DJUI_THEME_ELEMENT_INPUTBOX = "Input Box"
DJUI_THEME_ELEMENT_INPUTBOX_HOVER = "Input Box (Hover)"
DJUI_THEME_ELEMENT_INPUTBOX_DOWN = "Input Box (Pressed)"
DJUI_THEME_ELEMENT_INPUTBOX_DISABLED = "Input Box (Disabled)"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT = "Input Box Text"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT_PLACEHOLDER = "Input Box Placeholder"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER = "Input Box Border"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_HOVER = "Input Box Border (Hover)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DOWN = "Input Box Border (Pressed)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DISABLED = "Input Box Border (Disabled)"
DJUI_THEME_ELEMENT_CHECKBOX = "Checkbox"
DJUI_THEME_ELEMENT_CHECKBOX_HOVER = "Checkbox (Hover)"
DJUI_THEME_ELEMENT_CHECKBOX_DOWN = "Checkbox (Pressed)"
DJUI_THEME_ELEMENT_CHECKBOX_DISABLED = "Checkbox (Disabled)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER = "Checkbox Border"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_HOVER = "Checkbox Border (Hover)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DOWN = "Checkbox Border (Pressed)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DISABLED = "Checkbox Border (Disabled)"
DJUI_THEME_ELEMENT_SLIDER = "Slider"
DJUI_THEME_ELEMENT_SLIDER_HOVER = "Slider (Hover)"
DJUI_THEME_ELEMENT_SLIDER_DOWN = "Slider (Pressed)"
DJUI_THEME_ELEMENT_SLIDER_DISABLED = "Slider (Disabled)"
DJUI_THEME_ELEMENT_SLIDER_BORDER = "Slider Border"
DJUI_THEME_ELEMENT_SLIDER_BORDER_HOVER = "Slider Border (Hover)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DOWN = "Slider Border (Pressed)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DISABLED = "Slider Border (Disabled)"
DJUI_THEME_ELEMENT_TEXT = "Text"
DJUI_THEME_ELEMENT_TEXT_DISABLED = "Text (Disabled)"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE = "Selection Box Image"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE_DISABLED = "Selection Box Image (Disabled)"
DJUI_THEME_ELEMENT_THREE_PANEL = "Three Panel"
DJUI_THEME_ELEMENT_THREE_PANEL_BORDER = "Three Panel Border"
DJUI_THEME_ELEMENT_PANEL_HEADER_COLOR = "Panel Header Color"
HEX_CODE = "Hex Code"
RED = "Red"
GREEN = "Green"
BLUE = "Blue"
ALPHA = "Alpha"
HEADER_FONT = "Header Font"
USE_RAINBOW = "Use Rainbow"
THEME_NAME = "Theme Name"
DELETE_THEME = "Delete Theme"
DELETE_THEME_TITLE = "DELETE THEME"
WARN_DELETE_THEME = "Are you sure you want to delete this theme?"
EXPORT_THEME = "Save Theme"

@paradox9955
Copy link
Contributor

paradox9955 commented Mar 14, 2026

Add classic font

THANK YOU

@mingokrb
Copy link
Contributor

bro just cant stop nuking this repo with peak
Portuguese translation:

[DJUI_THEMES]
THEMES_TITLE = "TEMAS"
DJUI_THEME = "Tema da DJUI"
DJUI_SCALE = "Tamanho da DJUI"
DJUI_FONT = "Fonte"
AUTO = "Automático"
CENTER = "Centralizar DJUI"
GRADIENTS = "Degradês da DJUI"
SMOOTH_SCROLLING = "Rolagem suave DJUI"
FONT_NORMAL = "Normal"
FONT_MENU = "Menu"
FONT_ALIASED = "Suave"
FONT_SPECIAL = "Especial"
FONT_CLASSIC = "Clássica"
LIGHT_THEME = "Claro"
DARK_THEME = "Escuro"
ELEMENT = "Elemento"
DJUI_THEME_ELEMENT_PRIMARY = "Primário"
DJUI_THEME_ELEMENT_PRIMARY_HOVER = "Primário (sobreposto)"
DJUI_THEME_ELEMENT_PRIMARY_DOWN = "Primário (pressionado)"
DJUI_THEME_ELEMENT_PRIMARY_DISABLED = "Primário (desativado)"
DJUI_THEME_ELEMENT_PRIMARY_TEXT = "Texto do Primário"
DJUI_THEME_ELEMENT_PRIMARY_TEXT_DISABLED = "Texto Primário (desativado)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER = "Borda do Primário"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_HOVER = "Borda Primário (sobreposto)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DOWN = "Borda Primário (pressionado)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DISABLED = "Borda Primário (desativado)"
DJUI_THEME_ELEMENT_SECONDARY = "Secundário"
DJUI_THEME_ELEMENT_SECONDARY_HOVER = "Secundário (sobreposto)"
DJUI_THEME_ELEMENT_SECONDARY_DOWN = "Secundário (pressionado)"
DJUI_THEME_ELEMENT_SECONDARY_DISABLED = "Secundário (desativado)"
DJUI_THEME_ELEMENT_SECONDARY_TEXT = "Texto do Secundário"
DJUI_THEME_ELEMENT_SECONDARY_TEXT_DISABLED = "Texto Secundário (desativado)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER = "Borda do Secundário"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_HOVER = "Borda Secundário (sobreposto)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DOWN = "Borda Secundário (pressionado)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DISABLED = "Borda Secundário (desativado)"
DJUI_THEME_ELEMENT_INPUTBOX = "Caixa de Texto"
DJUI_THEME_ELEMENT_INPUTBOX_HOVER = "Caixa de Texto (sobreposto)"
DJUI_THEME_ELEMENT_INPUTBOX_DOWN = "Caixa de Texto (pressionado)"
DJUI_THEME_ELEMENT_INPUTBOX_DISABLED = "Caixa de Texto (desativado)"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT = "Texto da Caixa de Texto"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT_PLACEHOLDER = "Placeholder Caixa de Texto"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER = "Borda da Caixa de Texto"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_HOVER = "Borda Caixa de Texto (sobreposto)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DOWN = "Borda Caixa de Texto (pressionado)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DISABLED = "Borda Caixa de Texto (desativado)"
DJUI_THEME_ELEMENT_CHECKBOX = "Checkbox"
DJUI_THEME_ELEMENT_CHECKBOX_HOVER = "Checkbox (sobreposto)"
DJUI_THEME_ELEMENT_CHECKBOX_DOWN = "Checkbox (pressionado)"
DJUI_THEME_ELEMENT_CHECKBOX_DISABLED = "Checkbox (desativado)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER = "Borda da Checkbox"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_HOVER = "Borda Checkbox (sobreposto)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DOWN = "Borda Checkbox (pressionado)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DISABLED = "Borda Checkbox (desativado)"
DJUI_THEME_ELEMENT_SLIDER = "Slider"
DJUI_THEME_ELEMENT_SLIDER_HOVER = "Slider (sobreposto)"
DJUI_THEME_ELEMENT_SLIDER_DOWN = "Slider (pressionado)"
DJUI_THEME_ELEMENT_SLIDER_DISABLED = "Slider (desativado)"
DJUI_THEME_ELEMENT_SLIDER_BORDER = "Borda do Slider"
DJUI_THEME_ELEMENT_SLIDER_BORDER_HOVER = "Borda Slider (sobreposto)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DOWN = "Borda Slider (pressionado)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DISABLED = "Borda Slider (desativado)"
DJUI_THEME_ELEMENT_TEXT = "Texto"
DJUI_THEME_ELEMENT_TEXT_DISABLED = "Texto (desativado)"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE = "Imagem da Caixa de Seleção"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE_DISABLED = "Imagem Caixa Seleção (desativado)"
DJUI_THEME_ELEMENT_THREE_PANEL = "Painel de Três"
DJUI_THEME_ELEMENT_THREE_PANEL_BORDER = "Borda do Painel de Três"
DJUI_THEME_ELEMENT_PANEL_HEADER_COLOR = "Cor Cabeçalho do Painel"
HEX_CODE = "Código HEX"
RED = "Vermelho"
GREEN = "Verde"
BLUE = "Azul"
ALPHA = "Opacidade"
HEADER_FONT = "Fonte do cabeçalho"
USE_RAINBOW = "Usar arco-íris"
THEME_NAME = "Nome do tema"
DELETE_THEME = "Excluir tema"
DELETE_THEME_TITLE = "EXCLUIR TEMA"
WARN_DELETE_THEME = "Quer mesmo excluir este tema?"
EXPORT_THEME = "Salvar tema"

btw: im not sure if DJUI_FONT was supposed to be 'DJUI Font' instead of just 'Font', but if you decide to change it you can change this translation's to 'Fonte da DJUI'

@DM-kun
Copy link
Contributor

DM-kun commented Mar 14, 2026

German Translation:

[DJUI_THEMES]
THEMES_TITLE = "DESIGNS"
DJUI_THEME = "DJUI-Design"
DJUI_SCALE = "DJUI-Größe"
DJUI_FONT = "Schriftart"
AUTO = "Automatisch"
CENTER = "DJUI zentrieren"
GRADIENTS = "DJUI-Farbverläufe"
SMOOTH_SCROLLING = "DJUI Sanftes Scrollen"
FONT_NORMAL = "Normal"
FONT_MENU = "Menü"
FONT_ALIASED = "Glatt"
FONT_SPECIAL = "Spezial"
FONT_CLASSIC = "Klassisch"
LIGHT_THEME = "Hell"
DARK_THEME = "Dunkel"
ELEMENT = "Element"
DJUI_THEME_ELEMENT_PRIMARY = "Primär"
DJUI_THEME_ELEMENT_PRIMARY_HOVER = "Primär (Markiert)"
DJUI_THEME_ELEMENT_PRIMARY_DOWN = "Primär (Gedrückt)"
DJUI_THEME_ELEMENT_PRIMARY_DISABLED = "Primär (Deaktiviert)"
DJUI_THEME_ELEMENT_PRIMARY_TEXT = "Primärer Text"
DJUI_THEME_ELEMENT_PRIMARY_TEXT_DISABLED = "Primärer Text (Deaktiviert)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER = "Primärer Rand"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_HOVER = "Primärer Rand (Markiert)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DOWN = "Primärer Rand (Gedrückt)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DISABLED = "Primärer Rand (Deaktiviert)"
DJUI_THEME_ELEMENT_SECONDARY = "Sekundär"
DJUI_THEME_ELEMENT_SECONDARY_HOVER = "Sekundär (Markiert)"
DJUI_THEME_ELEMENT_SECONDARY_DOWN = "Sekundär (Gedrückt)"
DJUI_THEME_ELEMENT_SECONDARY_DISABLED = "Sekundär (Deaktiviert)"
DJUI_THEME_ELEMENT_SECONDARY_TEXT = "Sekundärer Text"
DJUI_THEME_ELEMENT_SECONDARY_TEXT_DISABLED = "Sekundärer Text (Deaktiviert)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER = "Sekundärer Rand"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_HOVER = "Sekundärer Rand (Markiert)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DOWN = "Sekundärer Rand (Gedrückt)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DISABLED = "Sekundärer Rand (Deaktiviert)"
DJUI_THEME_ELEMENT_INPUTBOX = "Eingabefeld"
DJUI_THEME_ELEMENT_INPUTBOX_HOVER = "Eingabefeld (Markiert)"
DJUI_THEME_ELEMENT_INPUTBOX_DOWN = "Eingabefeld (Gedrückt)"
DJUI_THEME_ELEMENT_INPUTBOX_DISABLED = "Eingabefeld (Deaktiviert)"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT = "Eingabetext"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT_PLACEHOLDER = "Eingabefeld Platzhalter"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER = "Rand des Eingabefelds"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_HOVER = "Rand des Eingabefelds (Markiert)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DOWN = "Rand des Eingabefelds (Gedrückt)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DISABLED = "Rand des Eingabefelds (Deaktiviert)"
DJUI_THEME_ELEMENT_CHECKBOX = "Kontrollfeld"
DJUI_THEME_ELEMENT_CHECKBOX_HOVER = "Kontrollfeld (Markiert)"
DJUI_THEME_ELEMENT_CHECKBOX_DOWN = "Kontrollfeld (Gedrückt)"
DJUI_THEME_ELEMENT_CHECKBOX_DISABLED = "Kontrollfeld (Deaktiviert)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER = "Rand des Kontrollfelds"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_HOVER = "Rand des Kontrollfelds (Markiert)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DOWN = "Rand des Kontrollfelds (Gedrückt)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DISABLED = "Rand des Kontrollfelds (Deaktiviert)"
DJUI_THEME_ELEMENT_SLIDER = "Schieberegler"
DJUI_THEME_ELEMENT_SLIDER_HOVER = "Schieberegler (Markiert)"
DJUI_THEME_ELEMENT_SLIDER_DOWN = "Schieberegler (Gedrückt)"
DJUI_THEME_ELEMENT_SLIDER_DISABLED = "Schieberegler (Deaktiviert)"
DJUI_THEME_ELEMENT_SLIDER_BORDER = "Rand des Schiebereglers"
DJUI_THEME_ELEMENT_SLIDER_BORDER_HOVER = "Rand des Schiebereglers (Markiert)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DOWN = "Rand des Schiebereglers (Gedrückt)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DISABLED = "Rand des Schiebereglers (Deaktiviert)"
DJUI_THEME_ELEMENT_TEXT = "Text"
DJUI_THEME_ELEMENT_TEXT_DISABLED = "Text (Deaktiviert)"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE = "Auswahlfeld-Bild"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE_DISABLED = "Auswahlfeld-Bild (Deaktiviert)"
DJUI_THEME_ELEMENT_THREE_PANEL = "Dreifach-Panel"
DJUI_THEME_ELEMENT_THREE_PANEL_BORDER = "Rand des Dreifach-Panels"
DJUI_THEME_ELEMENT_PANEL_HEADER_COLOR = "Farbe der Panel-Überschrift"
HEX_CODE = "Hex-Code"
RED = "Rot"
GREEN = "Grün"
BLUE = "Blau"
ALPHA = "Opazität"
HEADER_FONT = "Titelschrift"
USE_RAINBOW = "Regenbogen benutzen"
THEME_NAME = "Designname"
DELETE_THEME = "Design löschen"
DELETE_THEME_TITLE = "DESIGN LÖSCHEN"
WARN_DELETE_THEME = "Willst du dieses Design wirklich löschen?"
EXPORT_THEME = "Design Speichern"

@Jekino
Copy link

Jekino commented Mar 14, 2026

Emerald your the goat
Here's the spanish translation:

[DJUI_THEMES]
THEMES_TITLE = "APARIENCIAS"
DJUI_THEME = "Apariencia de DJUI"
DJUI_SCALE = "Escala de DJUI"
DJUI_FONT = "Fuente"
AUTO = "Auto"
CENTER = "Centro de DJUI"
GRADIENTS = "Gradientes de DJUI"
SMOOTH_SCROLLING = "Desplazamiento Suave de DJUI"
FONT_NORMAL = "Normal"
FONT_MENU = "Menú"
FONT_ALIASED = "Alias"
FONT_SPECIAL = "Especial"
FONT_CLASSIC = "Clásico"
LIGHT_THEME = "Claro"
DARK_THEME = "Oscuro"
ELEMENT = "Elemento"
DJUI_THEME_ELEMENT_PRIMARY = "Primario"
DJUI_THEME_ELEMENT_PRIMARY_HOVER = "Primario (Al pasar ratón)"
DJUI_THEME_ELEMENT_PRIMARY_DOWN = "Primario (Presionado)"
DJUI_THEME_ELEMENT_PRIMARY_DISABLED = "Primario (Deshabilitado)"
DJUI_THEME_ELEMENT_PRIMARY_TEXT = "Texto Primario"
DJUI_THEME_ELEMENT_PRIMARY_TEXT_DISABLED = "Texto Primario (Deshabilitado)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER = "Borde Primario"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_HOVER = "Borde Primario (Al pasar ratón)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DOWN = "Borde Primario (Presionado)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DISABLED = "Borde Primario (Deshabilitado)"
DJUI_THEME_ELEMENT_SECONDARY = "Secundario"
DJUI_THEME_ELEMENT_SECONDARY_HOVER = "Secundario (Al pasar ratón)"
DJUI_THEME_ELEMENT_SECONDARY_DOWN = "Secundario (Presionado)"
DJUI_THEME_ELEMENT_SECONDARY_DISABLED = "Secundario (Deshabilitado)"
DJUI_THEME_ELEMENT_SECONDARY_TEXT = "Texto Secundario"
DJUI_THEME_ELEMENT_SECONDARY_TEXT_DISABLED = "Texto Secundario (Deshabilitado)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER = "Borde Secundario"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_HOVER = "Borde Secundario (Al pasar ratón)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DOWN = "Borde Secundario (Presionado)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DISABLED = "Borde Secundario (Deshabilitado)"
DJUI_THEME_ELEMENT_INPUTBOX = "Cuadro de Entrada"
DJUI_THEME_ELEMENT_INPUTBOX_HOVER = "Cuadro de Entrada (Al pasar ratón)"
DJUI_THEME_ELEMENT_INPUTBOX_DOWN = "Cuadro de Entrada (Presionado)"
DJUI_THEME_ELEMENT_INPUTBOX_DISABLED = "Cuadro de Entrada (Deshabilitado)"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT = "Texto del Cuadro de Entrada"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT_PLACEHOLDER = "Texto de Ejemplo del Cuadro de Entrada"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER = "Borde del Cuadro de Entrada"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_HOVER = "Borde del Cuadro de Entrada (Al pasar ratón)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DOWN = "Borde del Cuadro de Entrada (Presionado)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DISABLED = "Borde del Cuadro de Entrada (Deshabilitado)"
DJUI_THEME_ELEMENT_CHECKBOX = "Cuadro"
DJUI_THEME_ELEMENT_CHECKBOX_HOVER = "Cuadro (Al pasar ratón)"
DJUI_THEME_ELEMENT_CHECKBOX_DOWN = "Cuadro (Presionado)"
DJUI_THEME_ELEMENT_CHECKBOX_DISABLED = "Cuadro (Deshabilitado)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER = "Borde del Cuadro"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_HOVER = "Borde del Cuadro (Al pasar ratón)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DOWN = "Borde del Cuadro (Presionado)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DISABLED = "Borde del Cuadro (Deshabilitado)"
DJUI_THEME_ELEMENT_SLIDER = "Barra de desplazamiento"
DJUI_THEME_ELEMENT_SLIDER_HOVER = "Barra de desplazamiento (Al pasar ratón)"
DJUI_THEME_ELEMENT_SLIDER_DOWN = "Barra de desplazamiento (Presionada)"
DJUI_THEME_ELEMENT_SLIDER_DISABLED = "Barra de desplazamiento (Deshabilitada)"
DJUI_THEME_ELEMENT_SLIDER_BORDER = "Borde de la Barra de desplazamiento"
DJUI_THEME_ELEMENT_SLIDER_BORDER_HOVER = "Borde de la Barra de desplazamiento (Al pasar ratón)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DOWN = "Borde de la Barra de desplazamiento (Presionado)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DISABLED = "Borde de la Barra de desplazamiento (Deshabilitado)"
DJUI_THEME_ELEMENT_TEXT = "Texto"
DJUI_THEME_ELEMENT_TEXT_DISABLED = "Texto (Deshabilitado)"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE = "Imagen del Cuadro de Selección"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE_DISABLED = "Imagen del Cuadro de Selección (Deshabilitada)"
DJUI_THEME_ELEMENT_THREE_PANEL = "Panel Triple"
DJUI_THEME_ELEMENT_THREE_PANEL_BORDER = "Borde del Panel Triple"
DJUI_THEME_ELEMENT_PANEL_HEADER_COLOR = "Color del Encabezado del Panel"
HEX_CODE = "Código Hex"
RED = "Rojo"
GREEN = "Verde"
BLUE = "Azul"
ALPHA = "Alfa"
HEADER_FONT = "Fuente del Encabezado"
USE_RAINBOW = "Usar Arcoíris"
THEME_NAME = "Nombre de la Apariencia"
DELETE_THEME = "Eliminar Apariencia"
DELETE_THEME_TITLE = "ELIMINAR APARIENCIA"
WARN_DELETE_THEME = "¿Seguro que quieres eliminar esta apariencia?"
EXPORT_THEME = "Guardar Apariencia"

@EmeraldLoc
Copy link
Contributor Author

old themes.zip

Here's the old themes converted to this system aswell (100% def not a virus), if anyone wants them. I slightly redid some of the colors to match the many more customization options, so hopefully it's alright. These aren't builtin anymore as it's not necessary.

@frog8412
Copy link
Contributor

Russian:

[DJUI_THEMES]
THEMES_TITLE = "THEMES"
DJUI_THEME = "Тема DJUI"
DJUI_SCALE = "Масштаб DJUI"
DJUI_FONT = "Шрифт"
AUTO = "Авто"
CENTER = "Центрирование DJUI"
GRADIENTS = "Градиенты DJUI"
SMOOTH_SCROLLING = "Плавная прокрутка DJUI"
FONT_NORMAL = "Обычный"
FONT_MENU = "Меню"
FONT_ALIASED = "Сглаженный"
FONT_SPECIAL = "Специальный"
FONT_CLASSIC = "Классический"
LIGHT_THEME = "Светлая"
DARK_THEME = "Тёмная"
ELEMENT = "Элемент"
DJUI_THEME_ELEMENT_PRIMARY = "Основной"
DJUI_THEME_ELEMENT_PRIMARY_HOVER = "Основной (Наведение)"
DJUI_THEME_ELEMENT_PRIMARY_DOWN = "Основной (Нажатие)"
DJUI_THEME_ELEMENT_PRIMARY_DISABLED = "Основной (Отключён)"
DJUI_THEME_ELEMENT_PRIMARY_TEXT = "Основной текст"
DJUI_THEME_ELEMENT_PRIMARY_TEXT_DISABLED = "Основной текст (Отключён)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER = "Основная рамка"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_HOVER = "Основная рамка (Наведение)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DOWN = "Основная рамка (Нажатие)"
DJUI_THEME_ELEMENT_PRIMARY_BORDER_DISABLED = "Основная рамка (Отключена)"
DJUI_THEME_ELEMENT_SECONDARY = "Вторичный"
DJUI_THEME_ELEMENT_SECONDARY_HOVER = "Вторичный (Наведение)"
DJUI_THEME_ELEMENT_SECONDARY_DOWN = "Вторичный (Нажатие)"
DJUI_THEME_ELEMENT_SECONDARY_DISABLED = "Вторичный (Отключён)"
DJUI_THEME_ELEMENT_SECONDARY_TEXT = "Вторичный текст"
DJUI_THEME_ELEMENT_SECONDARY_TEXT_DISABLED = "Вторичный текст (Отключён)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER = "Вторичная рамка"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_HOVER = "Вторичная рамка (Наведение)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DOWN = "Вторичная рамка (Нажатие)"
DJUI_THEME_ELEMENT_SECONDARY_BORDER_DISABLED = "Вторичная рамка (Отключена)"
DJUI_THEME_ELEMENT_INPUTBOX = "Поле ввода"
DJUI_THEME_ELEMENT_INPUTBOX_HOVER = "Поле ввода (Наведение)"
DJUI_THEME_ELEMENT_INPUTBOX_DOWN = "Поле ввода (Нажатие)"
DJUI_THEME_ELEMENT_INPUTBOX_DISABLED = "Поле ввода (Отключено)"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT = "Текст поля ввода"
DJUI_THEME_ELEMENT_INPUTBOX_TEXT_PLACEHOLDER = "Подсказка поля ввода"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER = "Рамка поля ввода"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_HOVER = "Рамка поля ввода (Наведение)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DOWN = "Рамка поля ввода (Нажатие)"
DJUI_THEME_ELEMENT_INPUTBOX_BORDER_DISABLED = "Рамка поля ввода (Отключена)"
DJUI_THEME_ELEMENT_CHECKBOX = "Флажок"
DJUI_THEME_ELEMENT_CHECKBOX_HOVER = "Флажок (Наведение)"
DJUI_THEME_ELEMENT_CHECKBOX_DOWN = "Флажок (Нажатие)"
DJUI_THEME_ELEMENT_CHECKBOX_DISABLED = "Флажок (Отключён)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER = "Рамка флажка"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_HOVER = "Рамка флажка (Наведение)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DOWN = "Рамка флажка (Нажатие)"
DJUI_THEME_ELEMENT_CHECKBOX_BORDER_DISABLED = "Рамка флажка (Отключена)"
DJUI_THEME_ELEMENT_SLIDER = "Ползунок"
DJUI_THEME_ELEMENT_SLIDER_HOVER = "Ползунок (Наведение)"
DJUI_THEME_ELEMENT_SLIDER_DOWN = "Ползунок (Нажатие)"
DJUI_THEME_ELEMENT_SLIDER_DISABLED = "Ползунок (Отключён)"
DJUI_THEME_ELEMENT_SLIDER_BORDER = "Рамка ползунка"
DJUI_THEME_ELEMENT_SLIDER_BORDER_HOVER = "Рамка ползунка (Наведение)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DOWN = "Рамка ползунка (Нажатие)"
DJUI_THEME_ELEMENT_SLIDER_BORDER_DISABLED = "Рамка ползунка (Отключена)"
DJUI_THEME_ELEMENT_TEXT = "Текст"
DJUI_THEME_ELEMENT_TEXT_DISABLED = "Текст (Отключён)"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE = "Изображение списка выбора"
DJUI_THEME_ELEMENT_SELECTIONBOX_IMAGE_DISABLED = "Изображение списка выбора (Отключено)"
DJUI_THEME_ELEMENT_THREE_PANEL = "Тройная панель"
DJUI_THEME_ELEMENT_THREE_PANEL_BORDER = "Рамка тройной панели"
DJUI_THEME_ELEMENT_PANEL_HEADER_COLOR = "Цвет заголовка панели"
HEX_CODE = "Hex-код"
RED = "Красный"
GREEN = "Зелёный"
BLUE = "Синий"
ALPHA = "Прозрачность"
HEADER_FONT = "Шрифт заголовка"
USE_RAINBOW = "Использовать радугу"
THEME_NAME = "Название темы"
DELETE_THEME = "Удалить тему"
DELETE_THEME_TITLE = "DELETE THEME"
WARN_DELETE_THEME = "Вы уверены, что хотите удалить эту тему?"
EXPORT_THEME = "Сохранить тему"

@EmeraldLoc
Copy link
Contributor Author

EmeraldLoc commented Mar 14, 2026

Thanks for the translations, I'll implement these in a sec, the original message will be updated but FONT_CUSTOM_HUD = "Hud" needs to be translated. Should be translated to whatever "Hud" is. Also IMPORT_THEME_SUCCESS = "\\#a0ffa0\\Imported theme\n\\#dcdcdc\\'@'" needs to be translated.

As for DJUI_FONT, yes, I indeed did mean to change it to just Font.

@Jekino
Copy link

Jekino commented Mar 14, 2026

Thanks for the translations, I'll implement these in a sec, the original message will be updated but FONT_CUSTOM_HUD = "Hud" needs to be translated. Should be translated to whatever "Hud" is. Also IMPORT_THEME_SUCCESS = "\\#a0ffa0\\Imported theme\n\\#dcdcdc\\'@'" needs to be translated.

As for DJUI_FONT, yes, I indeed did mean to change it to just Font.

I don't think the hud need to be translated, I've seen it called the same thing in some languages, and I haven't seen anyone say it without using the acronym
And here the translation of what you said now

[NOTIF]
IMPORT_THEME_SUCCES = "\\#a0ffa0\\Tema importado\n\\#dcdcdc\\'@'"

@DM-kun
Copy link
Contributor

DM-kun commented Mar 14, 2026

Yeah, in german there isn't really a translation for HUD, so it's just the same word.
But here's the translation for the theme import:

IMPORT_THEME_SUCCESS = "\\#a0ffa0\\Design importiert:\n\\#dcdcdc\\'@'"

@EmeraldLoc
Copy link
Contributor Author

K ignoring searchbar pr, this should be good to be reviewed and tested

@EmeraldLoc EmeraldLoc marked this pull request as ready for review March 16, 2026 23:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants