diff --git a/Marlin/src/HAL/HAL_AVR/pinsDebug.h b/Marlin/src/HAL/HAL_AVR/pinsDebug.h
index 5dedbcadd3..fa70180947 100644
--- a/Marlin/src/HAL/HAL_AVR/pinsDebug.h
+++ b/Marlin/src/HAL/HAL_AVR/pinsDebug.h
@@ -353,6 +353,8 @@ static void pwm_details(uint8_t pin) {
         timer_prefix(0, 'A', 3);
       #endif
     }
+  #else
+    UNUSED(print_is_also_tied);
   #endif
 } // pwm_details
 
diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h
index a1ada61c78..43cf314fc1 100644
--- a/Marlin/src/lcd/language/language_de.h
+++ b/Marlin/src/lcd/language/language_de.h
@@ -41,12 +41,12 @@
 #define MSG_SD_REMOVED                      _UxGT("SD-Karte entfernt")
 #define MSG_SD_RELEASED                     _UxGT("SD-Karte freigeg.")
 #define MSG_LCD_ENDSTOPS                    _UxGT("Endstopp") // Max length 8 characters
-#define MSG_LCD_SOFT_ENDSTOPS               _UxGT("Soft-Endstopp")
+#define MSG_LCD_SOFT_ENDSTOPS               _UxGT("Software-Endstopp")
 #define MSG_MAIN                            _UxGT("Hauptmenü")
 #define MSG_ADVANCED_SETTINGS               _UxGT("Erw. Einstellungen")
 #define MSG_CONFIGURATION                   _UxGT("Konfiguration")
 #define MSG_AUTOSTART                       _UxGT("Autostart")
-#define MSG_DISABLE_STEPPERS                _UxGT("Motoren deaktivieren") // M84
+#define MSG_DISABLE_STEPPERS                _UxGT("Motoren deaktivieren") // M84 :: Max length 19 characters
 #define MSG_DEBUG_MENU                      _UxGT("Debug-Menü")
 #define MSG_PROGRESS_BAR_TEST               _UxGT("Statusbalken-Test")
 #define MSG_AUTO_HOME                       _UxGT("Home XYZ") // G28
@@ -62,18 +62,18 @@
 #define MSG_SET_HOME_OFFSETS                _UxGT("Setze Homeversatz")
 #define MSG_HOME_OFFSETS_APPLIED            _UxGT("Homeversatz aktiv")
 #define MSG_SET_ORIGIN                      _UxGT("Setze Nullpunkte") //"G92 X0 Y0 Z0" commented out in ultralcd.cpp
-#define MSG_PREHEAT_1                       _UxGT("Vorwärmen " PREHEAT_1_LABEL)
-#define MSG_PREHEAT_1_N                     _UxGT("Vorwärmen " PREHEAT_1_LABEL " ")
-#define MSG_PREHEAT_1_ALL                   _UxGT("Vorw. " PREHEAT_1_LABEL " Alles")
-#define MSG_PREHEAT_1_END                   _UxGT("Vorw. " PREHEAT_1_LABEL " Extr.")
-#define MSG_PREHEAT_1_BEDONLY               _UxGT("Vorw. " PREHEAT_1_LABEL " Bett")
-#define MSG_PREHEAT_1_SETTINGS              _UxGT("Vorw. " PREHEAT_1_LABEL " Einst.")
-#define MSG_PREHEAT_2                       _UxGT("Vorwärmen " PREHEAT_2_LABEL)
-#define MSG_PREHEAT_2_N                     _UxGT("Vorwärmen " PREHEAT_2_LABEL " ")
-#define MSG_PREHEAT_2_ALL                   _UxGT("Vorw. " PREHEAT_2_LABEL " Alles")
-#define MSG_PREHEAT_2_END                   _UxGT("Vorw. " PREHEAT_2_LABEL " Extr.")
-#define MSG_PREHEAT_2_BEDONLY               _UxGT("Vorw. " PREHEAT_2_LABEL " Bett")
-#define MSG_PREHEAT_2_SETTINGS              _UxGT("Vorw. " PREHEAT_2_LABEL " Einst.")
+#define MSG_PREHEAT_1                       _UxGT(PREHEAT_1_LABEL " Vorwärmen")
+#define MSG_PREHEAT_1_N                     _UxGT(PREHEAT_1_LABEL " Vorwärmen ")
+#define MSG_PREHEAT_1_ALL                   _UxGT(PREHEAT_1_LABEL " Alles Vorwärmen")
+#define MSG_PREHEAT_1_END                   _UxGT(PREHEAT_1_LABEL " Extr. Vorwärmen")
+#define MSG_PREHEAT_1_BEDONLY               _UxGT(PREHEAT_1_LABEL " Bett Vorwärmen")
+#define MSG_PREHEAT_1_SETTINGS              _UxGT(PREHEAT_1_LABEL " Einstellungen")
+#define MSG_PREHEAT_2                       _UxGT(PREHEAT_2_LABEL " Vorwärmen")
+#define MSG_PREHEAT_2_N                     _UxGT(PREHEAT_2_LABEL " Vorwärmen ")
+#define MSG_PREHEAT_2_ALL                   _UxGT(PREHEAT_2_LABEL " Alles Vorwärmen")
+#define MSG_PREHEAT_2_END                   _UxGT(PREHEAT_2_LABEL " Extr. Vorwärmen")
+#define MSG_PREHEAT_2_BEDONLY               _UxGT(PREHEAT_2_LABEL " Bett Vorwärmen")
+#define MSG_PREHEAT_2_SETTINGS              _UxGT(PREHEAT_2_LABEL " Einstellungen")
 #define MSG_PREHEAT_CUSTOM                  _UxGT("benutzerdef. Heizen")
 #define MSG_COOLDOWN                        _UxGT("Abkühlen")
 #define MSG_LASER_MENU                      _UxGT("Laser")
@@ -81,15 +81,15 @@
 #define MSG_LASER_ON                        _UxGT("Laser an")
 #define MSG_LASER_POWER                     _UxGT("Laserleistung")
 #define MSG_SPINDLE_MENU                    _UxGT("Spindel-Steuerung")
-#define MSG_SPINDLE_OFF                     _UxGT("Spindel Aus")
-#define MSG_SPINDLE_ON                      _UxGT("Spindel An")
+#define MSG_SPINDLE_OFF                     _UxGT("Spindel aus")
+#define MSG_SPINDLE_ON                      _UxGT("Spindel an")
 #define MSG_SPINDLE_POWER                   _UxGT("Spindelleistung")
 #define MSG_SPINDLE_REVERSE                 _UxGT("Spindelrichtung")
 #define MSG_SWITCH_PS_ON                    _UxGT("Netzteil ein")
 #define MSG_SWITCH_PS_OFF                   _UxGT("Netzteil aus")
 #define MSG_EXTRUDE                         _UxGT("Extrudieren")
 #define MSG_RETRACT                         _UxGT("Einzug")
-#define MSG_MOVE_AXIS                       _UxGT("Achse Bewegen")
+#define MSG_MOVE_AXIS                       _UxGT("Achsen bewegen")
 #define MSG_BED_LEVELING                    _UxGT("Bett-Nivellierung")
 #define MSG_LEVEL_BED                       _UxGT("Bett nivellieren")
 #define MSG_LEVEL_CORNERS                   _UxGT("Ecken nivellieren")
@@ -107,7 +107,7 @@
 #define MSG_LCD_TILTING_MESH                _UxGT("Berührungspunkt")
 #define MSG_IDEX_MENU                       _UxGT("IDEX-Modus")
 #define MSG_OFFSETS_MENU                    _UxGT("Werkzeugversätze")
-#define MSG_IDEX_MODE_AUTOPARK              _UxGT("Autom. Parken")
+#define MSG_IDEX_MODE_AUTOPARK              _UxGT("Autom. parken")
 #define MSG_IDEX_MODE_DUPLICATE             _UxGT("Duplizieren")
 #define MSG_IDEX_MODE_MIRRORED_COPY         _UxGT("Spiegelkopie")
 #define MSG_IDEX_MODE_FULL_CTRL             _UxGT("vollstä. Kontrolle")
@@ -131,14 +131,14 @@
 #define MSG_UBL_DONE_EDITING_MESH           _UxGT("Bearbeitung beendet")
 #define MSG_UBL_BUILD_CUSTOM_MESH           _UxGT("Eigenes Netz erst.")
 #define MSG_UBL_BUILD_MESH_MENU             _UxGT("Netz erstellen")
-#define MSG_UBL_BUILD_MESH_M1               _UxGT("Netz erstellen " PREHEAT_1_LABEL)
-#define MSG_UBL_BUILD_MESH_M2               _UxGT("Netz erstellen " PREHEAT_2_LABEL)
+#define MSG_UBL_BUILD_MESH_M1               _UxGT(PREHEAT_1_LABEL " Netz erstellen")
+#define MSG_UBL_BUILD_MESH_M2               _UxGT(PREHEAT_2_LABEL " Netz erstellen")
 #define MSG_UBL_BUILD_COLD_MESH             _UxGT("Netz erstellen kalt")
 #define MSG_UBL_MESH_HEIGHT_ADJUST          _UxGT("Netzhöhe einst.")
 #define MSG_UBL_MESH_HEIGHT_AMOUNT          _UxGT("Höhe")
 #define MSG_UBL_VALIDATE_MESH_MENU          _UxGT("Netz validieren")
-#define MSG_UBL_VALIDATE_MESH_M1            _UxGT("Netz validieren " PREHEAT_1_LABEL)
-#define MSG_UBL_VALIDATE_MESH_M2            _UxGT("Netz validieren " PREHEAT_2_LABEL)
+#define MSG_UBL_VALIDATE_MESH_M1            _UxGT(PREHEAT_1_LABEL " Netz validieren")
+#define MSG_UBL_VALIDATE_MESH_M2            _UxGT(PREHEAT_2_LABEL " Netz validieren")
 #define MSG_UBL_VALIDATE_CUSTOM_MESH        _UxGT("Eig. Netz validieren")
 #define MSG_UBL_CONTINUE_MESH               _UxGT("Netzerst. forts.")
 #define MSG_UBL_MESH_LEVELING               _UxGT("Netz-Nivellierung")
@@ -185,7 +185,7 @@
 #define MSG_SET_LEDS_VIOLET                 _UxGT("Violett")
 #define MSG_SET_LEDS_WHITE                  _UxGT("Weiß")
 #define MSG_SET_LEDS_DEFAULT                _UxGT("Standard")
-#define MSG_CUSTOM_LEDS                     _UxGT("Benutzerdef.")
+#define MSG_CUSTOM_LEDS                     _UxGT("Benutzerdefiniert")
 #define MSG_INTENSITY_R                     _UxGT("Intensität Rot")
 #define MSG_INTENSITY_G                     _UxGT("Intensität Grün")
 #define MSG_INTENSITY_B                     _UxGT("Intensität Blau")
@@ -200,9 +200,9 @@
 #define MSG_MOVE_E                          _UxGT("Bewege Extruder")
 #define MSG_HOTEND_TOO_COLD                 _UxGT("Hotend zu kalt")
 #define MSG_MOVE_0025MM                     _UxGT(" 0,025 mm")
-#define MSG_MOVE_01MM                       _UxGT(" 0,1 mm")
-#define MSG_MOVE_1MM                        _UxGT(" 1,0 mm")
-#define MSG_MOVE_10MM                       _UxGT("10,0 mm")
+#define MSG_MOVE_01MM                       _UxGT(" 0,1   mm")
+#define MSG_MOVE_1MM                        _UxGT(" 1,0   mm")
+#define MSG_MOVE_10MM                       _UxGT("10,0   mm")
 #define MSG_SPEED                           _UxGT("Geschw.")
 #define MSG_BED_Z                           _UxGT("Bett Z")
 #define MSG_NOZZLE                          _UxGT("Düse")
@@ -216,8 +216,8 @@
 #define MSG_MAX                             LCD_STR_THERMOMETER _UxGT(" max")
 #define MSG_FACTOR                          LCD_STR_THERMOMETER _UxGT(" Faktor")
 #define MSG_AUTOTEMP                        _UxGT("Auto Temperatur")
-#define MSG_LCD_ON                          _UxGT("Ein")
-#define MSG_LCD_OFF                         _UxGT("Aus")
+#define MSG_LCD_ON                          _UxGT("an")
+#define MSG_LCD_OFF                         _UxGT("aus")
 #define MSG_PID_P                           _UxGT("PID P")
 #define MSG_PID_I                           _UxGT("PID I")
 #define MSG_PID_D                           _UxGT("PID D")
@@ -282,7 +282,7 @@
 #define MSG_TUNE                            _UxGT("Justierung")
 #define MSG_START_PRINT                     _UxGT("Starte Druck")
 #define MSG_BUTTON_NEXT                     _UxGT("Weiter")
-#define MSG_BUTTON_INIT                     _UxGT("Init")
+#define MSG_BUTTON_INIT                     _UxGT("Bestätigen")
 #define MSG_BUTTON_STOP                     _UxGT("Stop")
 #define MSG_BUTTON_PRINT                    _UxGT("Drucken")
 #define MSG_BUTTON_RESET                    _UxGT("Zurücksetzen")
@@ -304,11 +304,11 @@
 #define MSG_STOPPED                         _UxGT("ANGEHALTEN")
 #define MSG_CONTROL_RETRACT                 _UxGT("Einzug mm")
 #define MSG_CONTROL_RETRACT_SWAP            _UxGT("Wechs. Einzug mm")
-#define MSG_CONTROL_RETRACTF                _UxGT("Einzug   V")
+#define MSG_CONTROL_RETRACTF                _UxGT("V Einzug")
 #define MSG_CONTROL_RETRACT_ZHOP            _UxGT("Z-Sprung mm")
 #define MSG_CONTROL_RETRACT_RECOVER         _UxGT("UnRet mm")
 #define MSG_CONTROL_RETRACT_RECOVER_SWAP    _UxGT("Wechs. UnRet mm")
-#define MSG_CONTROL_RETRACT_RECOVERF        _UxGT("UnRet  V")
+#define MSG_CONTROL_RETRACT_RECOVERF        _UxGT("UnRet V")
 #define MSG_CONTROL_RETRACT_RECOVER_SWAPF   _UxGT("S UnRet V")
 #define MSG_AUTORETRACT                     _UxGT("Autom. Einzug")
 #define MSG_FILAMENT_SWAP_LENGTH            _UxGT("Einzugslänge")
@@ -353,7 +353,7 @@
 #define MSG_BABYSTEP_Y                      _UxGT("Babystep Y")
 #define MSG_BABYSTEP_Z                      _UxGT("Babystep Z")
 #define MSG_BABYSTEP_TOTAL                  _UxGT("Total")
-#define MSG_ENDSTOP_ABORT                   _UxGT("Endstopp Abbr.")
+#define MSG_ENDSTOP_ABORT                   _UxGT("Abbr. mit Endstopp")
 #define MSG_HEATING_FAILED_LCD              _UxGT("HEIZEN ERFOLGLOS")
 #define MSG_HEATING_FAILED_LCD_BED          _UxGT("Bett heizen fehlge.")
 #define MSG_HEATING_FAILED_LCD_CHAMBER      _UxGT("Geh. heizen fehlge.")
@@ -368,7 +368,7 @@
 #define MSG_ERR_MAXTEMP_CHAMBER             _UxGT("Err:Gehäuse max Temp")
 #define MSG_ERR_MINTEMP_CHAMBER             _UxGT("Err:Gehäuse min Temp")
 #define MSG_ERR_Z_HOMING                    MSG_HOME _UxGT(" ") MSG_X MSG_Y _UxGT(" ") MSG_FIRST
-#define MSG_HALTED                          _UxGT("DRUCKER STOPP")
+#define MSG_HALTED                          _UxGT("DRUCKER GESTOPPT")
 #define MSG_PLEASE_RESET                    _UxGT("Bitte neustarten")
 #define MSG_SHORT_DAY                       _UxGT("t") // One character only
 #define MSG_SHORT_HOUR                      _UxGT("h") // One character only
diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp
index 3274c904c3..879c62476a 100644
--- a/Marlin/src/lcd/menu/menu.cpp
+++ b/Marlin/src/lcd/menu/menu.cpp
@@ -448,7 +448,7 @@ bool ui_selection; // = false
 void set_ui_selection(const bool sel) { ui_selection = sel; }
 void do_select_screen(PGM_P const yes, PGM_P const no, selectFunc_t yesFunc, selectFunc_t noFunc, PGM_P const pref, const char * const string/*=nullptr*/, PGM_P const suff/*=nullptr*/) {
   if (ui.encoderPosition) {
-    ui_selection = (ENCODERBASE) > 0 == int16_t(ui.encoderPosition) > 0;
+    ui_selection = ((ENCODERBASE) > 0) == (int16_t(ui.encoderPosition) > 0);
     ui.encoderPosition = 0;
   }
   const bool got_click = ui.use_click();
diff --git a/Marlin/src/lcd/menu/menu_configuration.cpp b/Marlin/src/lcd/menu/menu_configuration.cpp
index f01f2fd986..528f273870 100644
--- a/Marlin/src/lcd/menu/menu_configuration.cpp
+++ b/Marlin/src/lcd/menu/menu_configuration.cpp
@@ -303,7 +303,7 @@ static void lcd_factory_settings() {
     #endif
     START_MENU();
     MENU_BACK(MSG_CONFIGURATION);
-    MENU_ITEM_EDIT(uint8, MSG_FAN_SPEED, &ui.preheat_fan_speed[material], 0, 255);
+    MENU_ITEM_EDIT(percent, MSG_FAN_SPEED, &ui.preheat_fan_speed[material], 0, 255);
     #if HAS_TEMP_HOTEND
       MENU_ITEM_EDIT(int3, MSG_NOZZLE, &ui.preheat_hotend_temp[material], MINTEMP_ALL, MAXTEMP_ALL - 15);
     #endif
diff --git a/Marlin/src/pins/stm32/pins_STM3R_MINI.h b/Marlin/src/pins/stm32/pins_STM3R_MINI.h
index a633f4a736..66568e2e9a 100644
--- a/Marlin/src/pins/stm32/pins_STM3R_MINI.h
+++ b/Marlin/src/pins/stm32/pins_STM3R_MINI.h
@@ -127,7 +127,7 @@
     #define LCD_PINS_D7    PB15
   #else
     #define LCD_PINS_RS    PB8
-    #define LCD_PINS_ENABLE PD2ins
+    #define LCD_PINS_ENABLE PD2
     #define LCD_PINS_D4    PB12
     #define LCD_PINS_D5    PB13
     #define LCD_PINS_D6    PB14