diff --git a/Marlin/src/core/language.h b/Marlin/src/core/language.h
index 649f05cf69d..9fc7e99bf56 100644
--- a/Marlin/src/core/language.h
+++ b/Marlin/src/core/language.h
@@ -154,7 +154,7 @@
 #define STR_ERR_ARC_ARGS                    "G2/G3 bad parameters"
 #define STR_ERR_PROTECTED_PIN               "Protected Pin"
 #define STR_ERR_M420_FAILED                 "Failed to enable Bed Leveling"
-#define STR_ERR_M428_TOO_FAR                "Too far from reference point"
+#define STR_ERR_M428_TOO_FAR                "Too far from MIN/MAX"
 #define STR_ERR_M303_DISABLED               "PIDTEMP disabled"
 #define STR_M119_REPORT                     "Reporting endstop status"
 #define STR_ON                              "ON"
@@ -254,7 +254,7 @@
 #define STR_REDUNDANCY                      "Heater switched off. Temperature difference between temp sensors is too high !"
 #define STR_T_HEATING_FAILED                "Heating failed"
 #define STR_T_THERMAL_RUNAWAY               "Thermal Runaway"
-#define STR_T_MALFUNCTION                   "Thermal Malfunction"
+#define STR_T_THERMAL_MALFUNCTION           "Thermal Malfunction"
 #define STR_T_MAXTEMP                       "MAXTEMP triggered"
 #define STR_T_MINTEMP                       "MINTEMP triggered"
 #define STR_ERR_PROBING_FAILED              "Probing Failed"
diff --git a/Marlin/src/lcd/e3v2/proui/dwin.cpp b/Marlin/src/lcd/e3v2/proui/dwin.cpp
index 7c69d0f900d..83c7eebe381 100644
--- a/Marlin/src/lcd/e3v2/proui/dwin.cpp
+++ b/Marlin/src/lcd/e3v2/proui/dwin.cpp
@@ -1825,7 +1825,7 @@ void MarlinUI::refresh() { /* Nothing to see here */ }
   void MarlinUI::_set_brightness() { dwinLCDBrightness(backlight ? brightness : 0); }
 #endif
 
-void MarlinUI::kill_screen(FSTR_P const lcd_error, FSTR_P const lcd_component) {
+void MarlinUI::kill_screen(FSTR_P const lcd_error, FSTR_P const) {
   dwinDrawPopup(ICON_BLTouch, GET_TEXT_F(MSG_PRINTER_KILLED), lcd_error);
   DWINUI::drawCenteredString(hmiData.colorPopupTxt, 270, GET_TEXT_F(MSG_TURN_OFF));
   dwinUpdateLCD();
diff --git a/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft.cpp b/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft.cpp
index f27e638b328..1aaa3787080 100644
--- a/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft.cpp
+++ b/Marlin/src/lcd/extui/anycubic_vyper/dgus_tft.cpp
@@ -293,7 +293,7 @@ namespace Anycubic {
       DEBUG_ECHOLNPGM("printerKilled()\nerror: ", error, "\ncomponent: ", component);
     #endif
 
-    if (strcmp_P(error, PSTR("Heating Failed")) == 0) {
+    if (strcmp_P(error, GET_TEXT(MSG_ERR_HEATING_FAILED)) == 0) {
 
       if (strcmp_P(component, PSTR("Bed")) == 0) {
         changePageOfTFT(PAGE_CHS_ABNORMAL_BED_HEATER);
@@ -305,7 +305,7 @@ namespace Anycubic {
       }
 
     }
-    else if (strcmp_P(error, PSTR("Err: MINTEMP")) == 0) {
+    else if (strcmp_P(error, GET_TEXT(MSG_ERR_MINTEMP)) == 0) {
 
       if (strcmp_P(component, PSTR("Bed")) == 0) {
         changePageOfTFT(PAGE_CHS_ABNORMAL_BED_NTC);
@@ -317,7 +317,7 @@ namespace Anycubic {
       }
 
     }
-    else if (strcmp_P(error, PSTR("Err: MAXTEMP")) == 0) {
+    else if (strcmp_P(error, GET_TEXT(MSG_ERR_MAXTEMP)) == 0) {
 
       if (strcmp_P(component, PSTR("Bed")) == 0) {
         changePageOfTFT(PAGE_CHS_ABNORMAL_BED_NTC);
@@ -329,7 +329,7 @@ namespace Anycubic {
       }
 
     }
-    else if (strcmp_P(error, PSTR("THERMAL RUNAWAY")) == 0) {
+    else if (strcmp_P(error, GET_TEXT(MSG_ERR_THERMAL_RUNAWAY)) == 0) {
 
       if (strcmp_P(component, PSTR("Bed")) == 0) {
         changePageOfTFT(PAGE_CHS_ABNORMAL_BED_HEATER);
@@ -341,7 +341,7 @@ namespace Anycubic {
       }
 
     }
-    else if (strcmp_P(error, PSTR("Homing Failed")) == 0) {
+    else if (strcmp_P(error, GET_TEXT(MSG_KILL_HOMING_FAILED)) == 0) {
 
       if (strcmp_P(component, PSTR("X")) == 0) {
         changePageOfTFT(PAGE_CHS_ABNORMAL_X_ENDSTOP);
diff --git a/Marlin/src/lcd/language/language_an.h b/Marlin/src/lcd/language/language_an.h
index 0d2b96d5a45..d1f7a1d3916 100644
--- a/Marlin/src/lcd/language/language_an.h
+++ b/Marlin/src/lcd/language/language_an.h
@@ -167,11 +167,11 @@ namespace LanguageNarrow_an {
   LSTR MSG_BABYSTEP_Z                     = _UxGT("Micropaso Z");
   LSTR MSG_BABYSTEP_N                     = _UxGT("Micropaso @");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Cancelado - Endstop");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Error: en calentar");
-  LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Error: temperatura");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("Error de temperatura");
-  LSTR MSG_ERR_MAXTEMP                    = _UxGT("Error: Temp Max");
-  LSTR MSG_ERR_MINTEMP                    = _UxGT("Error: Temp Min");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Error en calentar");
+  LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Error temp adicional");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("Error de temperatura");
+  LSTR MSG_ERR_MAXTEMP                    = _UxGT("Error Temp Max");
+  LSTR MSG_ERR_MINTEMP                    = _UxGT("Error Temp Min");
   LSTR MSG_HALTED                         = _UxGT("IMPRESORA ATURADA");
   LSTR MSG_PLEASE_RESET                   = _UxGT("Per favor reinic.");
   LSTR MSG_HEATING                        = _UxGT("Calentando...");
diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h
index 7a83da7d4e5..b35ab4084df 100644
--- a/Marlin/src/lcd/language/language_ca.h
+++ b/Marlin/src/lcd/language/language_ca.h
@@ -158,9 +158,9 @@ namespace LanguageNarrow_ca {
   LSTR MSG_BABYSTEP_Z                     = _UxGT("Micropas Z");
   LSTR MSG_BABYSTEP_N                     = _UxGT("Micropas @");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Cancel. Endstop");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Error al escalfar");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Error al escalfar");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Err: TEMP REDUNDANT");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("THERMAL RUNAWAY");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("THERMAL RUNAWAY");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err: TEMP MAXIMA");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err: TEMP MINIMA");
   LSTR MSG_HALTED                         = _UxGT("IMPRESSORA PARADA");
diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h
index ba54eb051e2..ac1c81580df 100644
--- a/Marlin/src/lcd/language/language_cz.h
+++ b/Marlin/src/lcd/language/language_cz.h
@@ -397,11 +397,9 @@ namespace LanguageNarrow_cz {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystep @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Celkem");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Endstop abort");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Chyba zahřívání");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Chyba zahřívání");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("REDUND. TEPLOTA");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("TEPLOTNÍ ÚNIK");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("TEPL. ÚNIK PODL.");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("TEPL. ÚNIK KOMORA");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("TEPLOTNÍ ÚNIK");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("VYSOKÁ TEPLOTA");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("NÍZKA TEPLOTA");
   LSTR MSG_HALTED                         = _UxGT("TISK. ZASTAVENA");
diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h
index 6a7bcad5982..89466f89e58 100644
--- a/Marlin/src/lcd/language/language_da.h
+++ b/Marlin/src/lcd/language/language_da.h
@@ -139,9 +139,9 @@ namespace LanguageNarrow_da {
   LSTR MSG_ZPROBE_OUT                     = _UxGT("Probe udenfor plade");
   LSTR MSG_BLTOUCH_SELFTEST               = _UxGT("BLTouch Selv-Test");
   LSTR MSG_HOME_FIRST                     = _UxGT("Home %s først");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Opvarmning fejlet");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Opvarmning fejlet");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Fejl: reserve temp");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("Temp løber løbsk");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("Temp løber løbsk");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Fejl: Maks temp");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Fejl: Min temp");
   LSTR MSG_HALTED                         = _UxGT("PRINTER STOPPET");
diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h
index 30e2521d230..beb878631f2 100644
--- a/Marlin/src/lcd/language/language_de.h
+++ b/Marlin/src/lcd/language/language_de.h
@@ -546,14 +546,11 @@ namespace LanguageNarrow_de {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystep @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Abbr. mit Endstopp");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("HEIZEN ERFOLGLOS");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("HEIZEN ERFOLGLOS");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("REDUND. TEMP-ABWEI.");
-  LSTR MSG_THERMAL_RUNAWAY                = " " LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT");
-  LSTR MSG_TEMP_MALFUNCTION               = _UxGT("TEMP-FEHLER");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("BETT") " " LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("GEH.") " " LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT");
-  LSTR MSG_THERMAL_RUNAWAY_COOLER         = _UxGT("Kühler Runaway");
-  LSTR MSG_COOLING_FAILED                 = _UxGT("Kühlung fehlgeschla.");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = " " LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT");
+  LSTR MSG_ERR_TEMP_MALFUNCTION           = _UxGT("TEMP-FEHLER");
+  LSTR MSG_ERR_COOLING_FAILED             = _UxGT("Kühlung fehlgeschla.");
   LSTR MSG_ERR_MAXTEMP                    = " " LCD_STR_THERMOMETER _UxGT(" ÜBERSCHRITTEN");
   LSTR MSG_ERR_MINTEMP                    = " " LCD_STR_THERMOMETER _UxGT(" UNTERSCHRITTEN");
   LSTR MSG_HALTED                         = _UxGT("DRUCKER GESTOPPT");
diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h
index 0a8e50109b6..6809b72256f 100644
--- a/Marlin/src/lcd/language/language_el.h
+++ b/Marlin/src/lcd/language/language_el.h
@@ -192,10 +192,10 @@ namespace LanguageNarrow_el {
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Μικρό βήμα Υ");
   LSTR MSG_BABYSTEP_Z                     = _UxGT("Μικρό βήμα Ζ");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Ακύρωση endstop");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Αποτυχία θέρμανσης");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Αποτυχία θέρμανσης");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("ΠΛΕΟΝΑΖΟΥΣΑ ΘΕΡΜΟΤΗΤΑ");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("ΘΕΡΜΙΚΗ ΔΙΑΦΥΓΗ");
-  LSTR MSG_TEMP_MALFUNCTION               = _UxGT("ΘΕΡΜΙΚΗ ΔΥΣΛΕΙΤΟΥΡΓΙΑ");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("ΘΕΡΜΙΚΗ ΔΙΑΦΥΓΗ");
+  LSTR MSG_ERR_TEMP_MALFUNCTION           = _UxGT("ΘΕΡΜΙΚΗ ΔΥΣΛΕΙΤΟΥΡΓΙΑ");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("ΠΕΡΙΤΤΗ ΘΕΡΜΟΚΡΑΣΙΑ");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("ΑΝΕΠΑΡΚΗΣ ΘΕΡΜΟΚΡΑΣΙΑ");
   LSTR MSG_HALTED                         = _UxGT("Εκτυπωτής διεκόπη");
diff --git a/Marlin/src/lcd/language/language_el_gr.h b/Marlin/src/lcd/language/language_el_gr.h
index e766ecb941d..65d6c194e08 100644
--- a/Marlin/src/lcd/language/language_el_gr.h
+++ b/Marlin/src/lcd/language/language_el_gr.h
@@ -182,9 +182,9 @@ namespace LanguageNarrow_el_gr {
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Μικρό βήμα Υ");
   LSTR MSG_BABYSTEP_Z                     = _UxGT("Μικρό βήμα Ζ");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Ματαίωση endstop ");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Ανεπιτυχής θέρμανση");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Ανεπιτυχής θέρμανση");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Λάθος: ΠΛΕΟΝΑΖΟΥΣΑ ΘΕΡΜΟΤΗΤΑ");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("ΔΙΑΦΥΓΗ ΘΕΡΜΟΤΗΤΑΣ");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("ΔΙΑΦΥΓΗ ΘΕΡΜΟΤΗΤΑΣ");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Λάθος: ΜΕΓΙΣΤΗ ΘΕΡΜΟΤΗΤΑ");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Λάθος: ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΤΗΤΑ");
   LSTR MSG_HEATING                        = _UxGT("Θερμαίνεται…");
diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h
index 9fdc33e5f20..d6a5915dcc0 100644
--- a/Marlin/src/lcd/language/language_en.h
+++ b/Marlin/src/lcd/language/language_en.h
@@ -113,7 +113,7 @@ namespace LanguageNarrow_en {
   LSTR MSG_HOME_OFFSET_Y                  = _UxGT("Home Offset Y");
   LSTR MSG_HOME_OFFSET_Z                  = _UxGT("Home Offset Z");
   LSTR MSG_HOME_OFFSETS_APPLIED           = _UxGT("Offsets Applied");
-  LSTR MSG_ERR_M428_TOO_FAR               = _UxGT("Err: Too far!");
+  LSTR MSG_ERR_M428_TOO_FAR               = _UxGT("MIN/MAX Too Far");
   LSTR MSG_TRAMMING_WIZARD                = _UxGT("Tramming Wizard");
   LSTR MSG_SELECT_ORIGIN                  = _UxGT("Select Origin");
   LSTR MSG_LAST_VALUE_SP                  = _UxGT("Last value ");
@@ -271,8 +271,8 @@ namespace LanguageNarrow_en {
   LSTR MSG_MESH_SAVED                     = _UxGT("Mesh %i Saved");
   LSTR MSG_MESH_ACTIVE                    = _UxGT("Mesh %i active");
   LSTR MSG_UBL_NO_STORAGE                 = _UxGT("No Storage");
-  LSTR MSG_UBL_SAVE_ERROR                 = _UxGT("Err: UBL Save");
-  LSTR MSG_UBL_RESTORE_ERROR              = _UxGT("Err: UBL Restore");
+  LSTR MSG_UBL_SAVE_ERROR                 = _UxGT("UBL Save Error");
+  LSTR MSG_UBL_RESTORE_ERROR              = _UxGT("UBL Restore Error");
   LSTR MSG_UBL_Z_OFFSET                   = _UxGT("Z-Offset: ");
   LSTR MSG_UBL_Z_OFFSET_STOPPED           = _UxGT("Z-Offset Stopped");
   LSTR MSG_UBL_STEP_BY_STEP_MENU          = _UxGT("Step-By-Step UBL");
@@ -611,14 +611,11 @@ namespace LanguageNarrow_en {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystep @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Endstop Abort");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Heating Failed");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Heating Failed");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Err: REDUNDANT TEMP");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("THERMAL RUNAWAY");
-  LSTR MSG_TEMP_MALFUNCTION               = _UxGT("TEMP MALFUNCTION");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("BED THERMAL RUNAWAY");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("CHAMBER T. RUNAWAY");
-  LSTR MSG_THERMAL_RUNAWAY_COOLER         = _UxGT("Cooler Runaway");
-  LSTR MSG_COOLING_FAILED                 = _UxGT("Cooling Failed");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("THERMAL RUNAWAY");
+  LSTR MSG_ERR_TEMP_MALFUNCTION           = _UxGT("TEMP MALFUNCTION");
+  LSTR MSG_ERR_COOLING_FAILED             = _UxGT("Cooling Failed");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err: MAXTEMP");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err: MINTEMP");
   LSTR MSG_HALTED                         = _UxGT("PRINTER HALTED");
diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h
index 3726e25270f..1c2269d8d92 100644
--- a/Marlin/src/lcd/language/language_es.h
+++ b/Marlin/src/lcd/language/language_es.h
@@ -187,8 +187,8 @@ namespace LanguageNarrow_es {
   LSTR MSG_MESH_LOADED                    = _UxGT("Malla %i Cargada");
   LSTR MSG_MESH_SAVED                     = _UxGT("Malla %i Guardada");
   LSTR MSG_UBL_NO_STORAGE                 = _UxGT("Sin guardar");
-  LSTR MSG_UBL_SAVE_ERROR                 = _UxGT("Error: Guardar UBL");
-  LSTR MSG_UBL_RESTORE_ERROR              = _UxGT("Error: Restaurar UBL");
+  LSTR MSG_UBL_SAVE_ERROR                 = _UxGT("Error Guardar UBL");
+  LSTR MSG_UBL_RESTORE_ERROR              = _UxGT("Error Restaurar UBL");
   LSTR MSG_UBL_Z_OFFSET                   = _UxGT("Desfase de Z: ");
   LSTR MSG_UBL_Z_OFFSET_STOPPED           = _UxGT("Desfase de Z Parado");
   LSTR MSG_UBL_STEP_BY_STEP_MENU          = _UxGT("UBL Paso a Paso");
@@ -407,11 +407,9 @@ namespace LanguageNarrow_es {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Micropaso @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Cancelado - Endstop");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Calent. fallido");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Calent. fallido");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Err: TEMP. REDUN.");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("FUGA TÉRMICA");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("FUGA TÉRMICA CAMA");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("FUGA TÉRMICA CAMARA");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("FUGA TÉRMICA");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err:TEMP. MÁX");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err:TEMP. MIN");
   LSTR MSG_HALTED                         = _UxGT("IMPRESORA DETENIDA");
diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h
index d96b099f3e4..5d46b14d507 100644
--- a/Marlin/src/lcd/language/language_eu.h
+++ b/Marlin/src/lcd/language/language_eu.h
@@ -240,9 +240,9 @@ namespace LanguageNarrow_eu {
   LSTR MSG_BABYSTEP_Z                     = _UxGT("Mikro-urratsa Z");
   LSTR MSG_BABYSTEP_N                     = _UxGT("Mikro-urratsa @");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Endstop deusezta.");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Err: Beroketa");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Err: Beroketa");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Err: Tenperatura");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("TENP. KONTROL EZA");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("TENP. KONTROL EZA");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err: Tenp Maximoa");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err: Tenp Minimoa");
   LSTR MSG_HALTED                         = _UxGT("INPRIMA. GELDIRIK");
diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h
index c281497e962..65b5bbc4b88 100644
--- a/Marlin/src/lcd/language/language_fr.h
+++ b/Marlin/src/lcd/language/language_fr.h
@@ -433,9 +433,9 @@ namespace LanguageNarrow_fr {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystep @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Butée abandon");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Err de chauffe");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Err de chauffe");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Err TEMP. REDONDANTE");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("Err THERMIQUE");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("Err THERMIQUE");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err TEMP. MAX");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err TEMP. MIN");
 
diff --git a/Marlin/src/lcd/language/language_fr_na.h b/Marlin/src/lcd/language/language_fr_na.h
index 05e5b061dde..6ad854f14c2 100644
--- a/Marlin/src/lcd/language/language_fr_na.h
+++ b/Marlin/src/lcd/language/language_fr_na.h
@@ -433,9 +433,9 @@ namespace LanguageNarrow_fr_na {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystep @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Butee abandon");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Err de chauffe");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Err de chauffe");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Err TEMP. REDONDANTE");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("Err THERMIQUE");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("Err THERMIQUE");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err TEMP. MAX");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err TEMP. MIN");
 
diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h
index b55a74bb171..f1798748d41 100644
--- a/Marlin/src/lcd/language/language_gl.h
+++ b/Marlin/src/lcd/language/language_gl.h
@@ -422,11 +422,9 @@ namespace LanguageNarrow_gl {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Micropaso @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Erro FinCarro");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Fallo Quentando");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Fallo Quentando");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Erro:Temp Redundante");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("FUGA TÉRMICA");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("FUGA TÉRMICA CAMA");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("FUGA TÉRMICA CÁMARA");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("FUGA TÉRMICA");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Erro:TEMP MÁX");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Erro:TEMP MÍN");
   LSTR MSG_HALTED                         = _UxGT("IMPRESORA DETIDA");
diff --git a/Marlin/src/lcd/language/language_hr.h b/Marlin/src/lcd/language/language_hr.h
index 8480708e789..678d9c290a9 100644
--- a/Marlin/src/lcd/language/language_hr.h
+++ b/Marlin/src/lcd/language/language_hr.h
@@ -120,7 +120,7 @@ namespace LanguageNarrow_hr {
   LSTR MSG_FILAMENTCHANGE_E               = _UxGT("Promijeni filament *");
   LSTR MSG_ATTACH_MEDIA                   = _UxGT("Init. SD karticu");
   LSTR MSG_CHANGE_MEDIA                   = _UxGT("Promijeni SD karticu");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Grijanje neuspješno");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Grijanje neuspješno");
   LSTR MSG_HEATING                        = _UxGT("Grijanje...");
   LSTR MSG_BED_HEATING                    = _UxGT("Grijanje Bed-a...");
   LSTR MSG_DELTA_CALIBRATE                = _UxGT("Delta Kalibracija");
diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h
index 39ee0fc558a..a371fc5a432 100644
--- a/Marlin/src/lcd/language/language_hu.h
+++ b/Marlin/src/lcd/language/language_hu.h
@@ -479,13 +479,10 @@ namespace LanguageNarrow_hu {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Mikrolépés @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Teljes");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Végállás megszakítva!");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Fütés hiba!");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Fütés hiba!");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Hiba: SZÜKSÉGTELEN HÖFOK");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("FÜTÉS KIMARADÁS");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("ÁGY FÜTÉS KIMARADÁS");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("KAMRA FÜTÉS KIMARADÁS");
-  LSTR MSG_THERMAL_RUNAWAY_COOLER         = _UxGT("Hütés kimaradás");
-  LSTR MSG_COOLING_FAILED                 = _UxGT("Hütés sikertelen");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("FÜTÉS KIMARADÁS");
+  LSTR MSG_ERR_COOLING_FAILED             = _UxGT("Hütés sikertelen");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Hiba: MAX höfok");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Hiba: MIN höfok");
   LSTR MSG_HALTED                         = _UxGT("A NYOMTATÓ LEÁLLT");
diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h
index 9c78918fcf2..9e3776d36b8 100644
--- a/Marlin/src/lcd/language/language_it.h
+++ b/Marlin/src/lcd/language/language_it.h
@@ -591,14 +591,11 @@ namespace LanguageNarrow_it {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystep @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Totali");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Interrompi se FC");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Risc.Fallito"); // Max 12 characters
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Risc.Fallito"); // Max 12 characters
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Err: TEMP RIDONDANTE");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("TEMP FUORI CONTROLLO");
-  LSTR MSG_TEMP_MALFUNCTION               = _UxGT("MALFUNZIONAMENTO TEMP");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("TEMP PIAT.FUORI CTRL");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("T.CAMERA FUORI CTRL");
-  LSTR MSG_THERMAL_RUNAWAY_COOLER         = _UxGT("RAFFREDAM.FUORI CTRL");
-  LSTR MSG_COOLING_FAILED                 = _UxGT("Raffreddam. fallito");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("TEMP FUORI CONTROLLO");
+  LSTR MSG_ERR_TEMP_MALFUNCTION           = _UxGT("MALFUNZIONAMENTO TEMP");
+  LSTR MSG_ERR_COOLING_FAILED             = _UxGT("Raffreddam. fallito");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err: TEMP MASSIMA");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err: TEMP MINIMA");
   LSTR MSG_HALTED                         = _UxGT("STAMPANTE FERMATA");
diff --git a/Marlin/src/lcd/language/language_jp_kana.h b/Marlin/src/lcd/language/language_jp_kana.h
index d40b972427f..e75ebeb1231 100644
--- a/Marlin/src/lcd/language/language_jp_kana.h
+++ b/Marlin/src/lcd/language/language_jp_kana.h
@@ -181,9 +181,9 @@ namespace LanguageNarrow_jp_kana {
   LSTR MSG_BABYSTEP_Y                     = _UxGT("Yジク ビドウ"); // "Babystep Y"
   LSTR MSG_BABYSTEP_Z                     = _UxGT("Zジク ビドウ"); // "Babystep Z"
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("イドウゲンカイケンチキノウ"); // "Endstop abort"
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("カネツシッパイ"); // "Heating failed"
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("カネツシッパイ"); // "Heating failed"
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("エラー:ジョウチョウサーミスターキノウ"); // "Err: REDUNDANT TEMP"
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("ネツボウソウ"); // "THERMAL RUNAWAY"
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("ネツボウソウ"); // "THERMAL RUNAWAY"
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("エラー:サイコウオンチョウカ"); // "Err: MAXTEMP"
   LSTR MSG_ERR_MINTEMP                    = _UxGT("エラー:サイテイオンミマン"); // "Err: MINTEMP"
   LSTR MSG_HALTED                         = _UxGT("プリンターハテイシシマシタ"); // "PRINTER HALTED"
diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h
index 85b484a1005..215e5b83ba9 100644
--- a/Marlin/src/lcd/language/language_nl.h
+++ b/Marlin/src/lcd/language/language_nl.h
@@ -159,9 +159,9 @@ namespace LanguageNarrow_nl {
   LSTR MSG_BABYSTEP_Z                     = _UxGT("Babystap Z");
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystap @");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Endstop afbr.");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Voorverw. fout");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Voorverw. fout");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Redun. temp fout");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("Therm. wegloop");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("Therm. wegloop");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err: Max. temp");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err: Min. temp");
   LSTR MSG_HALTED                         = _UxGT("PRINTER GESTOPT");
diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h
index 4efc1720dbc..f9f60ef37ca 100644
--- a/Marlin/src/lcd/language/language_pl.h
+++ b/Marlin/src/lcd/language/language_pl.h
@@ -377,11 +377,9 @@ namespace LanguageNarrow_pl {
   LSTR MSG_MOVE_NOZZLE_TO_BED             = _UxGT("Przesuń dyszę do stołu");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Łącznie");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Błąd krańcówki");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Rozgrz. nieudane");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Rozgrz. nieudane");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Błąd temperatury");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("ZANIK TEMPERATURY");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("ZANIK TEMP. STOŁU");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("ZANIK TEMP.KOMORY");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("ZANIK TEMPERATURY");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Błąd: MAXTEMP");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Błąd: MINTEMP");
   LSTR MSG_HALTED                         = _UxGT("Drukarka zatrzym.");
diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h
index e339c8afd44..3a2329f8aed 100644
--- a/Marlin/src/lcd/language/language_pt.h
+++ b/Marlin/src/lcd/language/language_pt.h
@@ -148,7 +148,7 @@ namespace LanguageNarrow_pt {
   LSTR MSG_ZPROBE_OUT                     = _UxGT("Sensor fora/base");
   LSTR MSG_ZPROBE_ZOFFSET                 = _UxGT("Desvio Z");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Fim de curso");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Aquecimento falhou");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Aquecimento falhou");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err: T Máxima");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err: T Mínima");
   LSTR MSG_HEATING                        = _UxGT("Aquecendo...");
diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h
index 14b057d9802..30459454b78 100644
--- a/Marlin/src/lcd/language/language_pt_br.h
+++ b/Marlin/src/lcd/language/language_pt_br.h
@@ -349,11 +349,9 @@ namespace LanguageNarrow_pt_br {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Passinho @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Abortar Fim de Curso");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Aquecimento falhou");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Aquecimento falhou");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Erro:Temp Redundante");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("ESCAPE TÉRMICO");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("ESCAPE TÉRMICO MESA");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("ESCAPE TÉRMICO CAMARA");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("ESCAPE TÉRMICO");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Erro:Temp Máxima");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Erro:Temp Mínima");
   LSTR MSG_HALTED                         = _UxGT("IMPRESSORA PAROU");
diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h
index 579c7eb2246..a2a915dd77c 100644
--- a/Marlin/src/lcd/language/language_ro.h
+++ b/Marlin/src/lcd/language/language_ro.h
@@ -428,11 +428,9 @@ namespace LanguageNarrow_ro {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystep @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Endstop Abort");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Heating Failed");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Heating Failed");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Err: REDUNDANT TEMP");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("THERMAL RUNAWAY");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("BED THERMAL RUNAWAY");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("CHAMBER T. RUNAWAY");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("THERMAL RUNAWAY");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Err: MAXTEMP");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Err: MINTEMP");
   LSTR MSG_HALTED                         = _UxGT("PRINTER HALTED");
diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h
index 46bace2ad96..789af09ab5d 100644
--- a/Marlin/src/lcd/language/language_ru.h
+++ b/Marlin/src/lcd/language/language_ru.h
@@ -484,12 +484,9 @@ namespace LanguageNarrow_ru {
   LSTR MSG_BABYSTEP_N                       = _UxGT("Микрошаг @");
   LSTR MSG_BABYSTEP_TOTAL                   = _UxGT("Суммарно");
   LSTR MSG_ENDSTOP_ABORT                    = _UxGT("Сработал концевик");
-  LSTR MSG_HEATING_FAILED_LCD               = _UxGT("Разогрев не удался");
-  LSTR MSG_THERMAL_RUNAWAY                  = _UxGT("УТЕЧКА ТЕМПЕРАТУРЫ");
-  LSTR MSG_THERMAL_RUNAWAY_BED              = _UxGT("УТЕЧКА ТЕМП. СТОЛА");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER          = _UxGT("УТЕЧКА ТЕМП. КАМЕРЫ");
-  LSTR MSG_THERMAL_RUNAWAY_COOLER           = _UxGT("УТЕЧКА ТЕМП. КУЛЕРА");
-  LSTR MSG_COOLING_FAILED                   = _UxGT("НЕ УДАЛОСЬ ОХЛАДИТЬ");
+  LSTR MSG_ERR_HEATING_FAILED               = _UxGT("Разогрев не удался");
+  LSTR MSG_ERR_THERMAL_RUNAWAY              = _UxGT("УТЕЧКА ТЕМПЕРАТУРЫ");
+  LSTR MSG_ERR_COOLING_FAILED               = _UxGT("НЕ УДАЛОСЬ ОХЛАДИТЬ");
   LSTR MSG_ERR_MAXTEMP                      = _UxGT("Ошибка: Т макс.");
   LSTR MSG_ERR_MINTEMP                      = _UxGT("Ошибка: Т мин.");
   LSTR MSG_ERR_REDUNDANT_TEMP               = _UxGT("Ошибка: Т контр.");
@@ -784,7 +781,7 @@ namespace LanguageNarrow_ru {
   LSTR MSG_ZPROBE_MARGIN                    = _UxGT("Отступы зонда");
   LSTR MSG_Z_FEED_RATE                      = _UxGT("Скорость Z");
   LSTR MSG_ENABLE_HS_MODE                   = _UxGT("Включить режим ВС");
-  LSTR MSG_TEMP_MALFUNCTION                 = _UxGT("СБОЙ ТЕМПЕРАТУРЫ");
+  LSTR MSG_ERR_TEMP_MALFUNCTION             = _UxGT("СБОЙ ТЕМПЕРАТУРЫ");
   LSTR MSG_PLEASE_WAIT                      = _UxGT("Ожидайте...");
   LSTR MSG_PREHEATING                       = _UxGT("Нагреваю...");
   LSTR MSG_DELTA_CALIBRATION_IN_PROGRESS    = _UxGT("Делаю дельта-калибровку");
diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h
index 290b0cdcde2..fa353523072 100644
--- a/Marlin/src/lcd/language/language_sk.h
+++ b/Marlin/src/lcd/language/language_sk.h
@@ -588,14 +588,11 @@ namespace LanguageNarrow_sk {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Babystep @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Celkom");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Zastavenie Endstop");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Chyba ohrevu");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Chyba ohrevu");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Chyba: REDUND. TEP.");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("TEPLOTNÝ SKOK");
-  LSTR MSG_TEMP_MALFUNCTION               = _UxGT("TEPLOTNÁ PORUCHA");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("TEPLOTNÝ SKOK PODL.");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("TEPLOTNÝ SKOK KOMO.");
-  LSTR MSG_THERMAL_RUNAWAY_COOLER         = _UxGT("TEPLOTNÝ SKOK CHLAD.");
-  LSTR MSG_COOLING_FAILED                 = _UxGT("Ochladz. zlyhalo");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("TEPLOTNÝ SKOK");
+  LSTR MSG_ERR_TEMP_MALFUNCTION           = _UxGT("TEPLOTNÁ PORUCHA");
+  LSTR MSG_ERR_COOLING_FAILED             = _UxGT("Ochladz. zlyhalo");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Chyba: MAXTEMP");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Chyba: MINTEMP");
   LSTR MSG_HALTED                         = _UxGT("TLAČIAREŇ ZASTAVENÁ");
diff --git a/Marlin/src/lcd/language/language_sv.h b/Marlin/src/lcd/language/language_sv.h
index ea3c1c61dd2..9820882b8da 100644
--- a/Marlin/src/lcd/language/language_sv.h
+++ b/Marlin/src/lcd/language/language_sv.h
@@ -462,11 +462,9 @@ namespace LanguageNarrow_sv {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Småsteg @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Total");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Slutstopp Avbrott");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Värma Misslyckad");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Värma Misslyckad");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Fel: REDUNDANT TEMP");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("TERMISK ÖVERDRIFT");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("BÄDD TERMISK ÖVERDRIFT");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("KAMMARE T. ÖVERDRIFT");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("TERMISK ÖVERDRIFT");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Fel: MAXTEMP");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Fel: MINTEMP");
   LSTR MSG_HALTED                         = _UxGT("Utskrift stoppad");
diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h
index a6a75a2acef..e912885ee89 100644
--- a/Marlin/src/lcd/language/language_tr.h
+++ b/Marlin/src/lcd/language/language_tr.h
@@ -566,14 +566,11 @@ namespace LanguageNarrow_tr {
   LSTR MSG_BABYSTEP_N                     = _UxGT("Miniadım @");
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("Toplam");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Endstop iptal");
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Isınma başarısız");
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Isınma başarısız");
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Hata: ISI AŞIMI");
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("ISI SORUNU");
-  LSTR MSG_TEMP_MALFUNCTION               = _UxGT("SICAKLIK ARIZASI");
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("TABLA ISI SORUNU");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("KABİN ISI SORUNU");
-  LSTR MSG_THERMAL_RUNAWAY_COOLER         = _UxGT("Soğutucu Isı Sorunu");
-  LSTR MSG_COOLING_FAILED                 = _UxGT("Soğutma Başarısız");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("ISI SORUNU");
+  LSTR MSG_ERR_TEMP_MALFUNCTION           = _UxGT("SICAKLIK ARIZASI");
+  LSTR MSG_ERR_COOLING_FAILED             = _UxGT("Soğutma Başarısız");
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Hata: MAX.SICAKLIK");
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Hata: MIN.SICAKLIK");
   LSTR MSG_HALTED                         = _UxGT("YAZICI DURDURULDU");
diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h
index 78e91b0484e..626eb8979eb 100644
--- a/Marlin/src/lcd/language/language_uk.h
+++ b/Marlin/src/lcd/language/language_uk.h
@@ -490,13 +490,10 @@ namespace LanguageNarrow_uk {
   LSTR MSG_BABYSTEP_N                       = _UxGT("Мікрокрок @");
   LSTR MSG_BABYSTEP_TOTAL                   = _UxGT("Сумарно");
   LSTR MSG_ENDSTOP_ABORT                    = _UxGT("Кінцевик спрацював");
-  LSTR MSG_HEATING_FAILED_LCD               = _UxGT("Збій нагріву");
+  LSTR MSG_ERR_HEATING_FAILED               = _UxGT("Збій нагріву");
   LSTR MSG_ERR_REDUNDANT_TEMP               = _UxGT("ЗАВИЩЕНА Т") LCD_STR_DEGREE;
-  LSTR MSG_THERMAL_RUNAWAY                  = _UxGT("ВИТІК ТЕПЛА");
-  LSTR MSG_THERMAL_RUNAWAY_BED              = _UxGT("ВИТІК ТЕПЛА СТОЛУ");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER          = _UxGT("ВИТІК ТЕПЛА КАМЕРИ");
-  LSTR MSG_THERMAL_RUNAWAY_COOLER           = _UxGT("ВИТІК ОХОЛОДЖЕННЯ");
-  LSTR MSG_COOLING_FAILED                   = _UxGT("ОХОЛОДЖ. НЕ ВДАЛОСЬ");
+  LSTR MSG_ERR_THERMAL_RUNAWAY              = _UxGT("ВИТІК ТЕПЛА");
+  LSTR MSG_ERR_COOLING_FAILED               = _UxGT("ОХОЛОДЖ. НЕ ВДАЛОСЬ");
   LSTR MSG_ERR_MAXTEMP                      = _UxGT("МАКСИМАЛЬНА Т") LCD_STR_DEGREE;
   LSTR MSG_ERR_MINTEMP                      = _UxGT("МІНІМАЛЬНА Т") LCD_STR_DEGREE;
   LSTR MSG_HALTED                           = _UxGT("ПРИНТЕР ЗУПИНЕНО");
@@ -754,7 +751,7 @@ namespace LanguageWide_uk {
     LSTR MSG_SINGLENOZZLE_RETRACT_SPEED     = _UxGT("Швидкість втягув.");
     LSTR MSG_SINGLENOZZLE_FAN_SPEED         = _UxGT("Оберти вентилятора");
     LSTR MSG_SINGLENOZZLE_FAN_TIME          = _UxGT("Час вентилятора");
-    LSTR MSG_COOLING_FAILED                 = _UxGT("ОХОЛОДЖЕННЯ НЕ ВДАЛОСЬ");
+    LSTR MSG_ERR_COOLING_FAILED             = _UxGT("ОХОЛОДЖЕННЯ НЕ ВДАЛОСЬ");
     LSTR MSG_BED_COOLING                    = _UxGT("Охолодження столу...");
     LSTR MSG_PROBE_COOLING                  = _UxGT("Охолодження зонду...");
     LSTR MSG_CHAMBER_COOLING                = _UxGT("Охолодження камери...");
diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h
index d37358219d5..038c6864bc1 100644
--- a/Marlin/src/lcd/language/language_vi.h
+++ b/Marlin/src/lcd/language/language_vi.h
@@ -331,10 +331,9 @@ namespace LanguageNarrow_vi {
   LSTR MSG_BABYSTEP_Z                     = _UxGT("Nhít Z");
   LSTR MSG_BABYSTEP_N                     = _UxGT("Nhít @");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("Hủy bỏ công tắc");                     // Endstop abort
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("Sưởi đầu phun không thành công");      // Heating failed
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("Sưởi đầu phun không thành công");      // Heating failed
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("Điều sai: nhiệt độ dư");               // Err: REDUNDANT TEMP
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("Vấn đề nhiệt");                        // THERMAL RUNAWAY | problem
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("Vấn đề nhiệt bàn");                    // BED THERMAL RUNAWAY
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("Vấn đề nhiệt");                        // THERMAL RUNAWAY | problem
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("Điều sai: nhiệt độ tối đa");           // Err: MAXTEMP
   LSTR MSG_ERR_MINTEMP                    = _UxGT("Điều sai: nhiệt độ tối thiểu");        // Err: MINTEMP
   LSTR MSG_HALTED                         = _UxGT("MÁY IN ĐÃ DỪNG LẠI");                  // PRINTER HALTED
diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h
index 7f4d5af3745..7432044cdb5 100644
--- a/Marlin/src/lcd/language/language_zh_CN.h
+++ b/Marlin/src/lcd/language/language_zh_CN.h
@@ -427,11 +427,9 @@ namespace LanguageNarrow_zh_CN {
   LSTR MSG_BABYSTEP_Z                     = _UxGT("微量调整Z轴"); // "Babystep Z"
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("总计");
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("挡块终止"); // "Endstop abort"
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("加热失败"); // "Heating failed"
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("加热失败"); // "Heating failed"
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("错误:冗余温度"); // "Err: REDUNDANT TEMP"
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("温控失控"); // "THERMAL RUNAWAY"
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("热床热量失控");
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("机箱热量失控");
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("温控失控"); // "THERMAL RUNAWAY"
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("错误:最高温度"); // "Err: MAXTEMP"
   LSTR MSG_ERR_MINTEMP                    = _UxGT("错误:最低温度"); // "Err: MINTEMP"
   LSTR MSG_HALTED                         = _UxGT("打印停机"); // "PRINTER HALTED"
diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h
index b22a3cd1ac9..9106487b145 100644
--- a/Marlin/src/lcd/language/language_zh_TW.h
+++ b/Marlin/src/lcd/language/language_zh_TW.h
@@ -377,11 +377,9 @@ namespace LanguageNarrow_zh_TW {
   LSTR MSG_BABYSTEP_Z                     = _UxGT("微量調整Z軸"); // "Babystep Z"
   LSTR MSG_BABYSTEP_TOTAL                 = _UxGT("總計"); // "Total"
   LSTR MSG_ENDSTOP_ABORT                  = _UxGT("擋塊終止"); // "Endstop abort"
-  LSTR MSG_HEATING_FAILED_LCD             = _UxGT("加熱失敗"); // "Heating failed"
+  LSTR MSG_ERR_HEATING_FAILED             = _UxGT("加熱失敗"); // "Heating failed"
   LSTR MSG_ERR_REDUNDANT_TEMP             = _UxGT("錯誤:冗餘溫度"); // "Err: REDUNDANT TEMP"
-  LSTR MSG_THERMAL_RUNAWAY                = _UxGT("溫度失控"); // "THERMAL RUNAWAY"
-  LSTR MSG_THERMAL_RUNAWAY_BED            = _UxGT("熱床溫度失控"); // "BED THERMAL RUNAWAY"
-  LSTR MSG_THERMAL_RUNAWAY_CHAMBER        = _UxGT("機箱溫度失控"); // "CHAMBER T. RUNAWAY"
+  LSTR MSG_ERR_THERMAL_RUNAWAY            = _UxGT("溫度失控"); // "THERMAL RUNAWAY"
   LSTR MSG_ERR_MAXTEMP                    = _UxGT("錯誤:最高溫度"); // "Err: MAXTEMP"
   LSTR MSG_ERR_MINTEMP                    = _UxGT("錯誤:最低溫度"); // "Err: MINTEMP"
   LSTR MSG_HALTED                         = _UxGT("印表機停機"); // "PRINTER HALTED"
diff --git a/Marlin/src/module/temperature.cpp b/Marlin/src/module/temperature.cpp
index 6139ebe1200..b2e2915d17d 100644
--- a/Marlin/src/module/temperature.cpp
+++ b/Marlin/src/module/temperature.cpp
@@ -207,32 +207,8 @@
 Temperature thermalManager;
 
 PGMSTR(str_t_thermal_runaway, STR_T_THERMAL_RUNAWAY);
-PGMSTR(str_t_temp_malfunction, STR_T_MALFUNCTION);
 PGMSTR(str_t_heating_failed, STR_T_HEATING_FAILED);
 
-/**
- * Macros to include the heater id in temp errors. The compiler's dead-code
- * elimination should (hopefully) optimize out the unused strings.
- */
-
-#if HAS_HEATED_BED
-  #define _BED_FSTR(h) (h) == H_BED ? GET_TEXT_F(MSG_BED) :
-#else
-  #define _BED_FSTR(h)
-#endif
-#if HAS_HEATED_CHAMBER
-  #define _CHAMBER_FSTR(h) (h) == H_CHAMBER ? GET_TEXT_F(MSG_CHAMBER) :
-#else
-  #define _CHAMBER_FSTR(h)
-#endif
-#if HAS_COOLER
-  #define _COOLER_FSTR(h) (h) == H_COOLER ? GET_TEXT_F(MSG_COOLER) :
-#else
-  #define _COOLER_FSTR(h)
-#endif
-#define _E_FSTR(h,N) ((HOTENDS) > N && (h) == N) ? F(STR_E##N) :
-#define HEATER_FSTR(h) _BED_FSTR(h) _CHAMBER_FSTR(h) _COOLER_FSTR(h) _E_FSTR(h,1) _E_FSTR(h,2) _E_FSTR(h,3) _E_FSTR(h,4) _E_FSTR(h,5) _E_FSTR(h,6) _E_FSTR(h,7) F(STR_E0)
-
 //
 // Initialize MAX TC objects/SPI
 //
@@ -839,10 +815,10 @@ volatile bool Temperature::raw_temps_ready = false;
                 if (current_temp > watch_temp_target) heated = true;  // - Flag if target temperature reached
               }
               else if (ELAPSED(ms, temp_change_ms))                   // Watch timer expired
-                _TEMP_ERROR(heater_id, FPSTR(str_t_heating_failed), MSG_HEATING_FAILED_LCD, current_temp);
+                _TEMP_ERROR(heater_id, FPSTR(str_t_heating_failed), MSG_ERR_HEATING_FAILED, current_temp);
             }
             else if (current_temp < target - (MAX_OVERSHOOT_PID_AUTOTUNE)) // Heated, then temperature fell too far?
-              _TEMP_ERROR(heater_id, FPSTR(str_t_thermal_runaway), MSG_THERMAL_RUNAWAY, current_temp);
+              _TEMP_ERROR(heater_id, FPSTR(str_t_thermal_runaway), MSG_ERR_THERMAL_RUNAWAY, current_temp);
           }
         #endif
       } // every 2 seconds
@@ -1464,6 +1440,15 @@ inline void loud_kill(FSTR_P const lcd_msg, const heater_id_t heater_id) {
       planner.synchronize();
     }
   #endif
+
+  #define _FSTR_BED(h)     TERN(HAS_HEATED_BED,     (h) == H_BED      ? GET_TEXT_F(MSG_BED) :,)
+  #define _FSTR_CHAMBER(h) TERN(HAS_HEATED_CHAMBER, (h) == H_CHAMBER  ? GET_TEXT_F(MSG_CHAMBER) :,)
+  #define _FSTR_COOLER(h)  TERN(HAS_COOLER,         (h) == H_COOLER   ? GET_TEXT_F(MSG_COOLER) :,)
+  #define _FSTR_E(h,N)     TERN(HAS_HOTEND,        ((h) == N && (HOTENDS) > N) ? F(STR_E##N) :,)
+  #define HEATER_FSTR(h) _FSTR_BED(h) _FSTR_CHAMBER(h) _FSTR_COOLER(h) \
+                         _FSTR_E(h,1) _FSTR_E(h,2) _FSTR_E(h,3) _FSTR_E(h,4) \
+                         _FSTR_E(h,5) _FSTR_E(h,6) _FSTR_E(h,7) F(STR_E0)
+
   kill(lcd_msg, HEATER_FSTR(heater_id));
 }
 
@@ -1765,7 +1750,7 @@ void Temperature::mintemp_error(const heater_id_t heater_id OPTARG(ERR_INCLUDE_T
             start_watching_hotend(e);               // If temp reached, turn off elapsed check
           else {
             TERN_(HAS_DWIN_E3V2_BASIC, dwinPopupTemperature(0));
-            _TEMP_ERROR(e, FPSTR(str_t_heating_failed), MSG_HEATING_FAILED_LCD, temp);
+            _TEMP_ERROR(e, FPSTR(str_t_heating_failed), MSG_ERR_HEATING_FAILED, temp);
           }
         }
       #endif
@@ -1795,7 +1780,7 @@ void Temperature::mintemp_error(const heater_id_t heater_id OPTARG(ERR_INCLUDE_T
           start_watching_bed();                 // If temp reached, turn off elapsed check
         else {
           TERN_(HAS_DWIN_E3V2_BASIC, dwinPopupTemperature(0));
-          _TEMP_ERROR(H_BED, FPSTR(str_t_heating_failed), MSG_HEATING_FAILED_LCD, deg);
+          _TEMP_ERROR(H_BED, FPSTR(str_t_heating_failed), MSG_ERR_HEATING_FAILED, deg);
         }
       }
     }
@@ -1890,7 +1875,7 @@ void Temperature::mintemp_error(const heater_id_t heater_id OPTARG(ERR_INCLUDE_T
         if (watch_chamber.check(deg))           // Increased enough? Error below.
           start_watching_chamber();             // If temp reached, turn off elapsed check.
         else
-          _TEMP_ERROR(H_CHAMBER, FPSTR(str_t_heating_failed), MSG_HEATING_FAILED_LCD, deg);
+          _TEMP_ERROR(H_CHAMBER, FPSTR(str_t_heating_failed), MSG_ERR_HEATING_FAILED, deg);
       }
     }
     #endif
@@ -2019,7 +2004,7 @@ void Temperature::mintemp_error(const heater_id_t heater_id OPTARG(ERR_INCLUDE_T
       if (watch_cooler.elapsed(ms)) {             // Time to check the cooler?
         const auto deg = degCooler();
         if (deg > watch_cooler.target)            // Failed to decrease enough?
-          _TEMP_ERROR(H_COOLER, GET_TEXT_F(MSG_COOLING_FAILED), MSG_COOLING_FAILED, deg);
+          _TEMP_ERROR(H_COOLER, GET_EN_TEXT_F(MSG_ERR_COOLING_FAILED), MSG_ERR_COOLING_FAILED, deg);
         else
           start_watching_cooler();                // Start again if the target is still far off
       }
@@ -3221,13 +3206,13 @@ void Temperature::init() {
 
       case TRRunaway:
         TERN_(HAS_DWIN_E3V2_BASIC, dwinPopupTemperature(0));
-        _TEMP_ERROR(heater_id, FPSTR(str_t_thermal_runaway), MSG_THERMAL_RUNAWAY, current);
+        _TEMP_ERROR(heater_id, FPSTR(str_t_thermal_runaway), MSG_ERR_THERMAL_RUNAWAY, current);
         break;
 
       #if ENABLED(THERMAL_PROTECTION_VARIANCE_MONITOR)
         case TRMalfunction:
           TERN_(HAS_DWIN_E3V2_BASIC, dwinPopupTemperature(0));
-          _TEMP_ERROR(heater_id, FPSTR(str_t_temp_malfunction), MSG_TEMP_MALFUNCTION, current);
+          _TEMP_ERROR(heater_id, F(STR_T_THERMAL_MALFUNCTION), MSG_ERR_TEMP_MALFUNCTION, current);
           break;
       #endif
     }