diff --git a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp
index 2585607e6..d6ce8bfdd 100644
--- a/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp
+++ b/Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp
@@ -1006,40 +1006,41 @@ void MarlinUI::draw_status_screen() {
int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2;
while (--pad >= 0) { lcd_put_wchar(' '); n--; }
}
- n -= lcd_put_u8str_max_P(pstr, n);
+ n = lcd_put_u8str_ind_P(pstr, itemIndex, n);
if (valstr) n -= lcd_put_u8str_max(valstr, n);
for (; n > 0; --n) lcd_put_wchar(' ');
}
// Draw a generic menu item with pre_char (if selected) and post_char
void MenuItemBase::_draw(const bool sel, const uint8_t row, PGM_P const pstr, const char pre_char, const char post_char) {
- uint8_t n = LCD_WIDTH - 2;
lcd_put_wchar(0, row, sel ? pre_char : ' ');
- n -= lcd_put_u8str_max_P(pstr, n);
+ uint8_t n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH - 2);
for (; n; --n) lcd_put_wchar(' ');
lcd_put_wchar(post_char);
}
- // Draw an edit menu item with label and value string
- void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P pstr, const char* const data, const bool pgm) {
- int8_t n = LCD_WIDTH - 2 - (pgm ? utf8_strlen_P(data) : utf8_strlen(data));
+ // Draw a menu item with a (potentially) editable value
+ void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm) {
+ const uint8_t vlen = data ? (pgm ? utf8_strlen_P(data) : utf8_strlen(data)) : 0;
lcd_put_wchar(0, row, sel ? LCD_STR_ARROW_RIGHT[0] : ' ');
- n -= lcd_put_u8str_max_P(pstr, n);
- lcd_put_wchar(':');
- for (; n > 0; --n) lcd_put_wchar(' ');
- if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str(data);
+ uint8_t n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH - 2 - vlen);
+ if (vlen) {
+ lcd_put_wchar(':');
+ for (; n; --n) lcd_put_wchar(' ');
+ if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str(data);
+ }
}
- // Draw the edit screen for an editable menu item
- void MenuEditItemBase::edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) {
+ // Low-level draw_edit_screen can be used to draw an edit screen from anyplace
+ void MenuEditItemBase::draw_edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) {
ui.encoder_direction_normal();
- lcd_put_u8str_P(0, 1, pstr);
+ uint8_t n = lcd_put_u8str_ind_P(0, 1, pstr, itemIndex, LCD_WIDTH - 1);
if (value != nullptr) {
lcd_put_wchar(':');
int len = utf8_strlen(value);
- const lcd_uint_t valrow = (utf8_strlen_P(pstr) + 1 + len + 1) > (LCD_WIDTH - 2) ? 2 : 1; // Value on the next row if it won't fit
- lcd_put_wchar((LCD_WIDTH - 1) - (len + 1), valrow, ' '); // Right-justified, padded, add a leading space
+ const lcd_uint_t valrow = (n < len + 1) ? 2 : 1; // Value on the next row if it won't fit
+ lcd_put_wchar((LCD_WIDTH - 1) - (len + 1), valrow, ' '); // Right-justified, padded, leading space
lcd_put_u8str(value);
}
}
diff --git a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp
index 375783af6..5c26112b5 100644
--- a/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp
+++ b/Marlin/src/lcd/dogm/ultralcd_DOGM.cpp
@@ -373,7 +373,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2;
while (--pad >= 0) { lcd_put_wchar(' '); n--; }
}
- n -= lcd_put_u8str_max_P(pstr, n);
+ n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH) * (MENU_FONT_WIDTH);
if (valstr) n -= lcd_put_u8str_max(valstr, n);
while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' ');
}
@@ -382,8 +382,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
// Draw a generic menu item
void MenuItemBase::_draw(const bool sel, const uint8_t row, PGM_P const pstr, const char, const char post_char) {
if (mark_as_selected(row, sel)) {
- u8g_uint_t n = (LCD_WIDTH - 2) * (MENU_FONT_WIDTH);
- n -= lcd_put_u8str_max_P(pstr, n);
+ u8g_uint_t n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH - 2) * (MENU_FONT_WIDTH);
while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' ');
lcd_put_wchar(LCD_PIXEL_WIDTH - (MENU_FONT_WIDTH), row_y2, post_char);
lcd_put_wchar(' ');
@@ -394,16 +393,17 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm) {
if (mark_as_selected(row, sel)) {
const uint8_t vallen = (pgm ? utf8_strlen_P(data) : utf8_strlen((char*)data));
- u8g_uint_t n = (LCD_WIDTH - 2 - vallen) * (MENU_FONT_WIDTH);
- n -= lcd_put_u8str_max_P(pstr, n);
- lcd_put_wchar(':');
- while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' ');
- lcd_moveto(LCD_PIXEL_WIDTH - (MENU_FONT_WIDTH) * vallen, row_y2);
- if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str((char*)data);
+ u8g_uint_t n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH - 2 - vallen) * (MENU_FONT_WIDTH);
+ if (vallen) {
+ lcd_put_wchar(':');
+ while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' ');
+ lcd_moveto(LCD_PIXEL_WIDTH - (MENU_FONT_WIDTH) * vallen, row_y2);
+ if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str((char*)data);
+ }
}
}
- void MenuEditItemBase::edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) {
+ void MenuEditItemBase::draw_edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) {
ui.encoder_direction_normal();
const u8g_uint_t labellen = utf8_strlen_P(pstr), vallen = utf8_strlen(value);
@@ -435,7 +435,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
// Assume the label is alpha-numeric (with a descender)
bool onpage = PAGE_CONTAINS(baseline - (EDIT_FONT_ASCENT - 1), baseline + EDIT_FONT_DESCENT);
- if (onpage) lcd_put_u8str_P(0, baseline, pstr);
+ if (onpage) lcd_put_u8str_ind_P(0, baseline, pstr, itemIndex);
// If a value is included, print a colon, then print the value right-justified
if (value != nullptr) {
diff --git a/Marlin/src/lcd/language/language_an.h b/Marlin/src/lcd/language/language_an.h
index 45d19e85c..a5c0d0ab8 100644
--- a/Marlin/src/lcd/language/language_an.h
+++ b/Marlin/src/lcd/language/language_an.h
@@ -57,36 +57,16 @@ namespace Language_an {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Desfase aplicau");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Establir orichen");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Precalentar ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Precalentar ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Tot");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Base");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Conf");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Precalentar ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Precal. ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Precalentar ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Tot");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Base");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Conf");
@@ -102,12 +82,7 @@ namespace Language_an {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrusor");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extrusor ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extrusor ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extrusor ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extrusor ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extrusor ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extrusor ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrusor *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Mover %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mover 1mm");
@@ -115,33 +90,16 @@ namespace Language_an {
PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidat");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Base Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Boquilla");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Boquilla ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Boquilla ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Boquilla ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Boquilla ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Boquilla ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Boquilla ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Boquilla ~");
PROGMEM Language_Str MSG_BED = _UxGT("Base");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Ixoriador");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Ixoriador 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Ixoriador 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Ixoriador 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Ixoriador =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Fluxo");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Fluxo ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Fluxo ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Fluxo ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Fluxo ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Fluxo ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Fluxo ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Fluxo ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Temperatura Auto.");
PROGMEM Language_Str MSG_SELECT = _UxGT("Trigar");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Trigar ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Trigar ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Trigar ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Trigar ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Trigar ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Trigar ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Trigar *");
PROGMEM Language_Str MSG_ACC = _UxGT("Aceleracion");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vel. viache min");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accel");
@@ -149,12 +107,7 @@ namespace Language_an {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Acel. max") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Acel. max") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Acel. max") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Acel. max ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Acel. max ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Acel. max ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Acel. max ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Acel. max ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Acel. max ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Acel. max *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Acel. retrac.");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Acel. Viaje");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Trangos/mm");
@@ -162,28 +115,18 @@ namespace Language_an {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" trangos/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" trangos/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E trangos/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" trangos/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" trangos/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" trangos/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" trangos/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" trangos/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" trangos/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* trangos/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Movimiento");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Fil. Dia. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Fil. Dia. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Fil. Dia. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Fil. Dia. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Fil. Dia. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Fil. Dia. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Alzar memoria");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Cargar memoria");
PROGMEM Language_Str MSG_RESTORE_FAILSAFE = _UxGT("Restaurar memoria");
- PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Tornar a cargar");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Tornar a cargar");
PROGMEM Language_Str MSG_WATCH = _UxGT("Informacion");
PROGMEM Language_Str MSG_PREPARE = _UxGT("Preparar");
PROGMEM Language_Str MSG_TUNE = _UxGT("Achustar");
@@ -207,12 +150,7 @@ namespace Language_an {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("DesRet F");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Retraccion auto.");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Cambear filamento");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Cambear filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Cambear filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Cambear filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Cambear filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Cambear filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Cambear filamento ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Cambear filamento *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Encetan. tarcheta");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Cambiar tarcheta");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda Z fuera");
diff --git a/Marlin/src/lcd/language/language_bg.h b/Marlin/src/lcd/language/language_bg.h
index 7d1bc7475..ca8735b04 100644
--- a/Marlin/src/lcd/language/language_bg.h
+++ b/Marlin/src/lcd/language/language_bg.h
@@ -47,36 +47,16 @@ namespace Language_bg {
PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Задай Начало");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Изходна точка");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Подгряване ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Подгряване ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Подгр. ") PREHEAT_1_LABEL _UxGT(" Всички");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Подгр. ") PREHEAT_1_LABEL _UxGT(" Легло");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Настройки ") PREHEAT_2_LABEL;
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Подгряване ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Подгряване ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Подгр. ") PREHEAT_2_LABEL _UxGT(" Всички");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Подгр. ") PREHEAT_2_LABEL _UxGT(" Легло");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Настройки ") PREHEAT_2_LABEL;
@@ -92,12 +72,7 @@ namespace Language_bg {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Движение по Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Движение по Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Екструдер");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Екструдер ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Екструдер ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Екструдер ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Екструдер ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Екструдер ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Екструдер ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Екструдер *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Премести с %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Премести с 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Премести с 1mm");
@@ -105,24 +80,12 @@ namespace Language_bg {
PROGMEM Language_Str MSG_SPEED = _UxGT("Скорост");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
PROGMEM Language_Str MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" Дюза");
- PROGMEM Language_Str MSG_NOZZLE_0 = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = " " LCD_STR_THERMOMETER _UxGT(" Дюза ~");
PROGMEM Language_Str MSG_BED = " " LCD_STR_THERMOMETER _UxGT(" Легло");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Вентилатор");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Вентилатор 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Вентилатор 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Вентилатор 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Вентилатор =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Поток");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Поток ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Поток ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Поток ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Поток ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Поток ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Поток ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Поток ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Управление");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Минимум");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Максимум");
@@ -137,23 +100,13 @@ namespace Language_bg {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("стъпки/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("стъпки/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E стъпки/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" стъпки/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" стъпки/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" стъпки/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" стъпки/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" стъпки/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" стъпки/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* стъпки/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Температура");
PROGMEM Language_Str MSG_MOTION = _UxGT("Движение");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Нишка");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Диам. нишка");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Диам. нишка ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Диам. нишка ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Диам. нишка ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Диам. нишка ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Диам. нишка ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Диам. нишка ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Диам. нишка *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD контраст");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Запази в EPROM");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Зареди от EPROM");
@@ -182,12 +135,7 @@ namespace Language_bg {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Възврат V");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Автоoткат");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Смяна нишка");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Смяна нишка ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Смяна нишка ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Смяна нишка ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Смяна нишка ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Смяна нишка ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Смяна нишка ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Смяна нишка *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Иниц. SD-Карта");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Смяна SD-Карта");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z-сондата е извадена");
diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h
index 21d5329db..7c6a94b14 100644
--- a/Marlin/src/lcd/language/language_ca.h
+++ b/Marlin/src/lcd/language/language_ca.h
@@ -55,36 +55,16 @@ namespace Language_ca {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Decalatge aplicat");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Estableix origen");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Preescalfa ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Preescalfa ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Tot");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Llit");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Conf.");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Preescalfa ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Preescalfa ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Tot");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Llit");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Conf.");
@@ -103,12 +83,7 @@ namespace Language_ca {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mou Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mou Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrusor");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extrusor ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extrusor ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extrusor ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extrusor ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extrusor ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extrusor ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrusor *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Mou %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mou 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mou 1mm");
@@ -116,35 +91,18 @@ namespace Language_ca {
PROGMEM Language_Str MSG_SPEED = _UxGT("Velocitat");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Llit Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozzle");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Nozzle ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Nozzle ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Nozzle ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Nozzle ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Nozzle ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Nozzle ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~");
PROGMEM Language_Str MSG_BED = _UxGT("Llit");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. Ventilador");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Vel. Ventilador 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Vel. Ventilador 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Vel. Ventilador 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. Ventilador =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Flux");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Flux ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Flux ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Flux ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Flux ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Flux ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Flux ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flux ~");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VViatge min");
PROGMEM Language_Str MSG_AMAX_A = _UxGT("Accel. max ") LCD_STR_A;
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Accel. max ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Accel. max ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Accel. max ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Accel. max ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Accel. max ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Accel. max ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Accel. max ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Accel. max ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Accel. max ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Accel. max *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Accel. retracc");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Accel. Viatge");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Passos/mm");
@@ -152,23 +110,13 @@ namespace Language_ca {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("passos/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("passos/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Epassos/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("passos/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("passos/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("passos/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("passos/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("passos/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("passos/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*passos/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Moviment");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E en mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diam. Fil.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Diam. Fil. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Diam. Fil. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Diam. Fil. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Diam. Fil. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Diam. Fil. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Diam. Fil. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diam. Fil. *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contrast de LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Desa memoria");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Carrega memoria");
@@ -197,12 +145,7 @@ namespace Language_ca {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("DesRet V");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto retraccio");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Canvia filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Canvia filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Canvia filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Canvia filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Canvia filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Canvia filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Canvia filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Canvia filament *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Inicialitza SD");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Canvia SD");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda Z fora");
diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h
index 41db956e0..6e374ae57 100644
--- a/Marlin/src/lcd/language/language_cz.h
+++ b/Marlin/src/lcd/language/language_cz.h
@@ -75,36 +75,16 @@ namespace Language_cz {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Ofsety nastaveny");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Nastavit počátek");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Zahřát ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Zahřát ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" vše");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" podlož");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" nast");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Zahřát ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Zahřát ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" vše");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" podlož");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" nast");
@@ -234,12 +214,7 @@ namespace Language_cz {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Posunout Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Posunout Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrudér");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extrudér ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extrudér ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extrudér ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extrudér ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extrudér ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extrudér ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrudér *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend je studený");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Posunout o %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Posunout o 0,1mm");
@@ -248,29 +223,15 @@ namespace Language_cz {
PROGMEM Language_Str MSG_SPEED = _UxGT("Rychlost");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Výška podl.");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Tryska");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Tryska ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Tryska ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Tryska ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Tryska ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Tryska ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Tryska ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Tryska ~");
PROGMEM Language_Str MSG_BED = _UxGT("Podložka");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Komora");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Rychlost vent.");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Rychlost vent. 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Rychlost vent. 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Rychlost vent. 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Rychlost vent. =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Rychlost ex. vent.");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Rychlost ex. vent. 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Rychlost ex. vent. 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Rychlost ex. vent. 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Rychlost ex. vent. =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Průtok");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Průtok ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Průtok ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Průtok ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Průtok ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Průtok ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Průtok ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Průtok ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Ovládaní");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -279,12 +240,7 @@ namespace Language_cz {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Zap");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Vyp");
PROGMEM Language_Str MSG_SELECT = _UxGT("Vybrat");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Vybrat ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Vybrat ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Vybrat ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Vybrat ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Vybrat ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Vybrat ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Vybrat *");
PROGMEM Language_Str MSG_ACC = _UxGT("Zrychl");
PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Odchylka spoje");
PROGMEM Language_Str MSG_VELOCITY = _UxGT("Rychlost");
@@ -296,32 +252,17 @@ namespace Language_cz {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("kroků/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("kroků/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Ekroků/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("kroků/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("kroků/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("kroků/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("kroků/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("kroků/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("kroků/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*kroků/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Teplota");
PROGMEM Language_Str MSG_MOTION = _UxGT("Pohyb");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E na mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Prum.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Fil. Prum. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Fil. Prum. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Fil. Prum. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Fil. Prum. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Fil. Prum. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Fil. Prum. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Prum. *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Vysunout mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Zavést mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K pro posun");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("K pro posun ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("K pro posun ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("K pro posun ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("K pro posun ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("K pro posun ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("K pro posun ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K pro posun *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Kontrast LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Uložit nastavení");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Načíst nastavení");
@@ -329,7 +270,7 @@ namespace Language_cz {
PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Inic. EEPROM");
PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Aktualizace z SD");
PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Reset tiskárny");
- PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Obnovit");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Obnovit");
PROGMEM Language_Str MSG_WATCH = _UxGT("Info obrazovka");
PROGMEM Language_Str MSG_PREPARE = _UxGT("Připrava tisku");
PROGMEM Language_Str MSG_TUNE = _UxGT("Doladění tisku");
@@ -366,25 +307,11 @@ namespace Language_cz {
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Rychlost retrak.");
PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Tryska standby");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Vyměnit filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Vyměnit filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Vyměnit filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Vyměnit filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Vyměnit filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Vyměnit filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Vyměnit filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Vyměnit filament *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Zavést filament");
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Zavést filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Zavést filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Zavést filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Zavést filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Zavést filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Zavést filament ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Vysunout filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Vysunout filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Vysunout filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Vysunout filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Vysunout filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Vysunout filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Zavést filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Vysunout filament");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Vysunout filament *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Vysunout vše");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Načíst SD kartu");
@@ -508,32 +435,19 @@ namespace Language_cz {
PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Zavést všechny");
PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Zavést do trysky");
PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Vysunout filament");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0 = _UxGT("Vysun. filament 1");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1 = _UxGT("Vysun. filament 2");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2 = _UxGT("Vysun. filament 3");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3 = _UxGT("Vysun. filament 4");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4 = _UxGT("Vysun. filament 5");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Vysun. filament ~");
PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Vytáhnout filament");
PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Zavádění fil. %i...");
PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Vytahování fil. ...");
PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Vysouvání fil....");
PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Všechny");
- PROGMEM Language_Str MSG_MMU2_FILAMENT0 = _UxGT("Filament 1");
- PROGMEM Language_Str MSG_MMU2_FILAMENT1 = _UxGT("Filament 2");
- PROGMEM Language_Str MSG_MMU2_FILAMENT2 = _UxGT("Filament 3");
- PROGMEM Language_Str MSG_MMU2_FILAMENT3 = _UxGT("Filament 4");
- PROGMEM Language_Str MSG_MMU2_FILAMENT4 = _UxGT("Filament 5");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Resetovat MMU");
PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Resetování MMU...");
PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Vytáhněte, klikněte");
PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
- PROGMEM Language_Str MSG_MIX_COMPONENT_1 = _UxGT("Komponenta 1");
- PROGMEM Language_Str MSG_MIX_COMPONENT_2 = _UxGT("Komponenta 2");
- PROGMEM Language_Str MSG_MIX_COMPONENT_3 = _UxGT("Komponenta 3");
- PROGMEM Language_Str MSG_MIX_COMPONENT_4 = _UxGT("Komponenta 4");
- PROGMEM Language_Str MSG_MIX_COMPONENT_5 = _UxGT("Komponenta 5");
- PROGMEM Language_Str MSG_MIX_COMPONENT_6 = _UxGT("Komponenta 6");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Komponenta ~");
PROGMEM Language_Str MSG_MIXER = _UxGT("Mixér");
PROGMEM Language_Str MSG_GRADIENT = _UxGT("Přechod");
PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Celý přechod");
diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h
index 98b47d751..4e6dd2b0d 100644
--- a/Marlin/src/lcd/language/language_da.h
+++ b/Marlin/src/lcd/language/language_da.h
@@ -50,36 +50,16 @@ namespace Language_da {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Forsk. er nu aktiv");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Sæt origin");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Forvarm ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Forvarm ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end")
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" Alle");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" Bed");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" conf");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Forvarm ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Forvarm ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end")
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" Alle");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" Bed");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" conf");
@@ -100,18 +80,11 @@ namespace Language_da {
PROGMEM Language_Str MSG_SPEED = _UxGT("Hastighed");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Plade Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Dyse");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Dyse ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Dyse ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Dyse ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Dyse ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Dyse ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Dyse ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Dyse ~");
PROGMEM Language_Str MSG_BED = _UxGT("Plade");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Blæser hastighed");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Blæser hastighed 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Blæser hastighed 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Blæser hastighed 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Blæser hastighed =");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontrol");
PROGMEM Language_Str MSG_MIN = _UxGT(" \002 Min");
PROGMEM Language_Str MSG_MAX = _UxGT(" \002 Max");
@@ -120,12 +93,7 @@ namespace Language_da {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Til");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Fra");
PROGMEM Language_Str MSG_SELECT = _UxGT("Vælg");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Vælg ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Vælg ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Vælg ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Vælg ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Vælg ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Vælg ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Vælg *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-retract");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-rejse");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatur");
@@ -133,12 +101,7 @@ namespace Language_da {
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E i mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Fil. Dia. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Fil. Dia. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Fil. Dia. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Fil. Dia. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Fil. Dia. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Fil. Dia. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD kontrast");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Gem i EEPROM");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Hent fra EEPROM");
@@ -166,12 +129,7 @@ namespace Language_da {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRetr.");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Skift filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Skift filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Skift filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Skift filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Skift filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Skift filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Skift filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Skift filament *");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Skift SD kort");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Probe udenfor plade");
PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch Selv-Test");
diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h
index 49553a4fc..52a8c205f 100644
--- a/Marlin/src/lcd/language/language_de.h
+++ b/Marlin/src/lcd/language/language_de.h
@@ -66,36 +66,16 @@ namespace Language_de {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Homeversatz aktiv");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Setze Nullpunkte"); //"G92 X0 Y0 Z0" commented out in ultralcd.cpp
PROGMEM Language_Str MSG_PREHEAT_1 = PREHEAT_1_LABEL _UxGT(" Vorwärmen");
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärmen");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = PREHEAT_1_LABEL _UxGT(" Alles Vorwärmen");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = PREHEAT_1_LABEL _UxGT(" Bett Vorwärmen");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = PREHEAT_1_LABEL _UxGT(" Einstellungen");
PROGMEM Language_Str MSG_PREHEAT_2 = PREHEAT_2_LABEL _UxGT(" Vorwärmen");
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärmen");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = PREHEAT_2_LABEL _UxGT(" Alles Vorwärmen");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = PREHEAT_2_LABEL _UxGT(" Bett Vorwärmen");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = PREHEAT_2_LABEL _UxGT(" Einstellungen");
@@ -240,12 +220,7 @@ namespace Language_de {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Bewege Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Bewege Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Bewege Extruder");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Bewege Extruder ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Bewege Extruder ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Bewege Extruder ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Bewege Extruder ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Bewege Extruder ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Bewege Extruder ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Bewege Extruder *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend zu kalt");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT(" %s mm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT(" 0,1 mm");
@@ -254,29 +229,15 @@ namespace Language_de {
PROGMEM Language_Str MSG_SPEED = _UxGT("Geschw.");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Bett Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Düse");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Düse ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Düse ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Düse ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Düse ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Düse ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Düse ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Düse ~");
PROGMEM Language_Str MSG_BED = _UxGT("Bett");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Gehäuse");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Lüfter");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Lüfter 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Lüfter 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Lüfter 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Lüfter ~");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Geschw. Extralüfter");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Geschw. Extralüfter 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Geschw. Extralüfter 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Geschw. Extralüfter 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Geschw. Extralüfter ~");
PROGMEM Language_Str MSG_FLOW = _UxGT("Flussrate");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Flussrate ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Flussrate ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Flussrate ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Flussrate ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Flussrate ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Flussrate ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flussrate ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Einstellungen");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" max");
@@ -285,40 +246,15 @@ namespace Language_de {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("an");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("aus");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("Auswählen");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Auswählen ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Auswählen ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Auswählen ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Auswählen ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Auswählen ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Auswählen ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Auswählen *");
PROGMEM Language_Str MSG_ACC = _UxGT("Beschleunigung");
PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V ") LCD_STR_A _UxGT(" Jerk");
@@ -331,12 +267,7 @@ namespace Language_de {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("V max ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("V max ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("V max ") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("V max ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("V max ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("V max ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("V max ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("V max ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("V max ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("V max *");
PROGMEM Language_Str MSG_VMIN = _UxGT("V min ");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("V min Leerfahrt");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Beschleunigung");
@@ -345,12 +276,7 @@ namespace Language_de {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("A max ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("A max ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("A max ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("A max ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("A max ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("A max ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("A max ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("A max ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("A max ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("A max *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A Einzug");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A Leerfahrt");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Steps/mm");
@@ -358,32 +284,17 @@ namespace Language_de {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" Steps/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" Steps/mm");
PROGMEM Language_Str MSG_E_STEPS = LCD_STR_E _UxGT(" Steps/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" Steps/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" Steps/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" Steps/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" Steps/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" Steps/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" Steps/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* Steps/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatur");
PROGMEM Language_Str MSG_MOTION = _UxGT("Bewegung");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm³");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Filamentdurchmesser");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Filamentdurchmesser ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Filamentdurchmesser ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Filamentdurchmesser ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Filamentdurchmesser ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Filamentdurchmesser ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Filamentdurchmesser ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Filamentdurchmesser *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Entladen mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Laden mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Vorschubfaktor");
- PROGMEM Language_Str MSG_ADVANCE_E0 = _UxGT("Vorschubfaktor ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_E1 = _UxGT("Vorschubfaktor ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_E2 = _UxGT("Vorschubfaktor ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_E3 = _UxGT("Vorschubfaktor ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_E4 = _UxGT("Vorschubfaktor ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_E5 = _UxGT("Vorschubfaktor ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Vorschubfaktor *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD-Kontrast");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Konfig. speichern");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Konfig. laden");
@@ -434,25 +345,11 @@ namespace Language_de {
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Einzug-Geschwin.");
PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Düsen-Standby");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Filament wechseln");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Filament wechseln ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Filament wechseln ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Filament wechseln ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Filament wechseln ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Filament wechseln ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Filament wechseln ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Filament wechseln *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Filament laden");
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Filament laden ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Filament laden ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Filament laden ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Filament laden ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Filament laden ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Filament laden ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Filament entladen ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Filament entladen ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Filament entladen ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Filament entladen ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Filament entladen ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Filament entladen ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Filament laden *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Filament entladen");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Filament entladen *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Alles entladen");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Medium initial."); // Manually initialize the SD-card via user interface
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Medium getauscht"); // SD-card changed by user. For machines with no autocarddetect. Both send "M21"
@@ -586,32 +483,19 @@ namespace Language_de {
PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Lade alle");
PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Düse laden");
PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Filament auswerfen");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0 = _UxGT("Filament 1 auswerfen");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1 = _UxGT("Filament 2 auswerfen");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2 = _UxGT("Filament 3 auswerfen");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3 = _UxGT("Filament 4 auswerfen");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4 = _UxGT("Filament 5 auswerfen");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Filament ~ auswerfen");
PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Filament entladen ");
PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Lade Fila. %i...");
PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Fila. auswerfen...");
PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Fila. entladen...");
PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Alle");
- PROGMEM Language_Str MSG_MMU2_FILAMENT0 = _UxGT("Filament 1");
- PROGMEM Language_Str MSG_MMU2_FILAMENT1 = _UxGT("Filament 2");
- PROGMEM Language_Str MSG_MMU2_FILAMENT2 = _UxGT("Filament 3");
- PROGMEM Language_Str MSG_MMU2_FILAMENT3 = _UxGT("Filament 4");
- PROGMEM Language_Str MSG_MMU2_FILAMENT4 = _UxGT("Filament 5");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("setze MMU zurück");
PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU zurücksetzen...");
PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Entfernen, klicken");
PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
- PROGMEM Language_Str MSG_MIX_COMPONENT_1 = _UxGT("Komponente 1");
- PROGMEM Language_Str MSG_MIX_COMPONENT_2 = _UxGT("Komponente 2");
- PROGMEM Language_Str MSG_MIX_COMPONENT_3 = _UxGT("Komponente 3");
- PROGMEM Language_Str MSG_MIX_COMPONENT_4 = _UxGT("Komponente 4");
- PROGMEM Language_Str MSG_MIX_COMPONENT_5 = _UxGT("Komponente 5");
- PROGMEM Language_Str MSG_MIX_COMPONENT_6 = _UxGT("Komponente 6");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Komponente ~");
PROGMEM Language_Str MSG_MIXER = _UxGT("Mixer");
PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient"); // equal Farbverlauf
PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Volle Gradient");
diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h
index a74c8da12..411c8cf66 100644
--- a/Marlin/src/lcd/language/language_el.h
+++ b/Marlin/src/lcd/language/language_el.h
@@ -55,36 +55,16 @@ namespace Language_el {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Εφαρμόστηκαν οι μετατοπίσεις"); //SHORTEN
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Ορισμός προέλευσης");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" όλα");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" bed"); //SHORTEN
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" επιβεβαίωση"); //SHORTEN
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" όλα");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" bed"); //SHORTEN
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" επιβεβαίωση"); //SHORTEN
@@ -100,12 +80,7 @@ namespace Language_el {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Μετακίνηση Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Μετακίνηση Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Εξωθητήρας");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Εξωθητήρας ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Εξωθητήρας ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Εξωθητήρας ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Εξωθητήρας ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Εξωθητήρας ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Εξωθητήρας ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Εξωθητήρας *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Μετακίνηση %s μμ");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Μετακίνηση 0,1 μμ");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Μετακίνηση 1 μμ");
@@ -113,24 +88,12 @@ namespace Language_el {
PROGMEM Language_Str MSG_SPEED = _UxGT("Ταχύτητα");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Επ. Εκτύπωσης Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Ακροφύσιο");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Ακροφύσιο ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Ακροφύσιο ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Ακροφύσιο ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Ακροφύσιο ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Ακροφύσιο ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Ακροφύσιο ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Ακροφύσιο ~");
PROGMEM Language_Str MSG_BED = _UxGT("Κλίνη");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Ταχύτητα ανεμιστήρα");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Ταχύτητα ανεμιστήρα 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Ταχύτητα ανεμιστήρα 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Ταχύτητα ανεμιστήρα 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Ταχύτητα ανεμιστήρα =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Ροή");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Ροή ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Ροή ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Ροή ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Ροή ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Ροή ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Ροή ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Ροή ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Έλεγχος");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -147,12 +110,7 @@ namespace Language_el {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("V Μέγιστο") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("V Μέγιστο") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("V Μέγιστο") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("V Μέγιστο ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("V Μέγιστο ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("V Μέγιστο ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("V Μέγιστο ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("V Μέγιστο ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("V Μέγιστο ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("V Μέγιστο *");
PROGMEM Language_Str MSG_VMIN = _UxGT("V Ελάχιστο");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vελάχ. μετατόπιση");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accel");
@@ -160,12 +118,7 @@ namespace Language_el {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Aμεγ ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Aμεγ ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Aμεγ ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Aμεγ ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Aμεγ ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Aμεγ ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Aμεγ ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Aμεγ ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Aμεγ ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Aμεγ *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Α-ανάσυρση");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Α-μετατόπιση");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Bήματα ανά μμ");
@@ -173,23 +126,13 @@ namespace Language_el {
PROGMEM Language_Str MSG_B_STEPS = _UxGT("Bήματα ") LCD_STR_B _UxGT(" ανά μμ");
PROGMEM Language_Str MSG_C_STEPS = _UxGT("Bήματα ") LCD_STR_C _UxGT(" ανά μμ");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Bήματα Ε ανά μμ");
- PROGMEM Language_Str MSG_E0_STEPS = _UxGT("Bήματα ") LCD_STR_E0 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E1_STEPS = _UxGT("Bήματα ") LCD_STR_E1 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E2_STEPS = _UxGT("Bήματα ") LCD_STR_E2 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E3_STEPS = _UxGT("Bήματα ") LCD_STR_E3 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E4_STEPS = _UxGT("Bήματα ") LCD_STR_E4 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E5_STEPS = _UxGT("Bήματα ") LCD_STR_E5 _UxGT(" ανά μμ");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("Bήματα * ανά μμ");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Θερμοκρασία");
PROGMEM Language_Str MSG_MOTION = _UxGT("Κίνηση");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Νήμα");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("Ε σε μμ3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Διάμετρος νήματος");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Διάμετρος νήματος ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Διάμετρος νήματος ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Διάμετρος νήματος ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Διάμετρος νήματος ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Διάμετρος νήματος ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Διάμετρος νήματος ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Διάμετρος νήματος *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Κοντράστ LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Αποθήκευση");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Φόρτωση");
@@ -218,12 +161,7 @@ namespace Language_el {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Αυτόματη ανάσυρση");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Αλλαγή νήματος");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Αλλαγή νήματος ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Αλλαγή νήματος ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Αλλαγή νήματος ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Αλλαγή νήματος ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Αλλαγή νήματος ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Αλλαγή νήματος ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Αλλαγή νήματος *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Προετοιμασία κάρτας SD"); //SHORTEN
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Αλλαγή κάρτας SD");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Διερεύνηση Z εκτός Επ.Εκτύπωσης"); //SHORTEN
diff --git a/Marlin/src/lcd/language/language_el_gr.h b/Marlin/src/lcd/language/language_el_gr.h
index e78a22900..d4067f4c0 100644
--- a/Marlin/src/lcd/language/language_el_gr.h
+++ b/Marlin/src/lcd/language/language_el_gr.h
@@ -56,36 +56,16 @@ namespace Language_el_gr {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Εφαρμόστηκαν οι μετατοπίσεις");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Ορισμός προέλευσης");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" όλα");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" κλίνη");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" επιβεβαίωση");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" όλα");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" κλίνη");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" επιβεβαίωση");
@@ -101,12 +81,7 @@ namespace Language_el_gr {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Μετακίνηση Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Μετακίνηση Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Εξωθητήρας");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Εξωθητήρας ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Εξωθητήρας ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Εξωθητήρας ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Εξωθητήρας ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Εξωθητήρας ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Εξωθητήρας ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Εξωθητήρας *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Μετακίνηση %s μμ");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Μετακίνηση 0,1 μμ");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Μετακίνηση 1 μμ");
@@ -114,24 +89,12 @@ namespace Language_el_gr {
PROGMEM Language_Str MSG_SPEED = _UxGT("Ταχύτητα");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Κλίνη Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Ακροφύσιο");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Ακροφύσιο ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Ακροφύσιο ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Ακροφύσιο ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Ακροφύσιο ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Ακροφύσιο ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Ακροφύσιο ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Ακροφύσιο ~");
PROGMEM Language_Str MSG_BED = _UxGT("Κλίνη");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Ταχύτητα ανεμιστήρα");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Ταχύτητα ανεμιστήρα 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Ταχύτητα ανεμιστήρα 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Ταχύτητα ανεμιστήρα 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Ταχύτητα ανεμιστήρα =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Ροή");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Ροή ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Ροή ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Ροή ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Ροή ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Ροή ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Ροή ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Ροή ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Έλεγχος");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -140,33 +103,13 @@ namespace Language_el_gr {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Ενεργοποιημένο");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Απενεργοποιημένο");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_ACC = _UxGT("Επιτάχυνση");
PROGMEM Language_Str MSG_JERK = _UxGT("Vαντίδραση");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("Vαντίδραση ") LCD_STR_A;
@@ -177,12 +120,7 @@ namespace Language_el_gr {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vμεγ ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vμεγ ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vμεγ ") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("Vμεγ ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("Vμεγ ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("Vμεγ ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("Vμεγ ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("Vμεγ ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("Vμεγ ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vμεγ *");
PROGMEM Language_Str MSG_VMIN = _UxGT("Vελαχ");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vελάχ. μετατόπιση");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accel");
@@ -190,12 +128,7 @@ namespace Language_el_gr {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Aμεγ ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Aμεγ ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Aμεγ ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Aμεγ ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Aμεγ ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Aμεγ ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Aμεγ ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Aμεγ ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Aμεγ ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Aμεγ *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Α-ανάσυρση");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Α-μετατόπιση");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Bήματα ανά μμ");
@@ -203,23 +136,13 @@ namespace Language_el_gr {
PROGMEM Language_Str MSG_B_STEPS = _UxGT("Bήματα ") LCD_STR_B _UxGT(" ανά μμ");
PROGMEM Language_Str MSG_C_STEPS = _UxGT("Bήματα ") LCD_STR_C _UxGT(" ανά μμ");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Bήματα Ε ανά μμ");
- PROGMEM Language_Str MSG_E0_STEPS = _UxGT("Bήματα ") LCD_STR_E0 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E1_STEPS = _UxGT("Bήματα ") LCD_STR_E1 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E2_STEPS = _UxGT("Bήματα ") LCD_STR_E2 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E3_STEPS = _UxGT("Bήματα ") LCD_STR_E3 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E4_STEPS = _UxGT("Bήματα ") LCD_STR_E4 _UxGT(" ανά μμ");
- PROGMEM Language_Str MSG_E5_STEPS = _UxGT("Bήματα ") LCD_STR_E5 _UxGT(" ανά μμ");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("Bήματα * ανά μμ");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Θερμοκρασία");
PROGMEM Language_Str MSG_MOTION = _UxGT("Κίνηση");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Νήμα");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("Ε σε μμ3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Διάμετρος νήματος");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Διάμετρος νήματος ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Διάμετρος νήματος ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Διάμετρος νήματος ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Διάμετρος νήματος ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Διάμετρος νήματος ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Διάμετρος νήματος ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Διάμετρος νήματος *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Κοντράστ LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Αποθήκευση");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Φόρτωση");
@@ -248,12 +171,7 @@ namespace Language_el_gr {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet V");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Αυτόματη ανάσυρση");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Αλλαγή νήματος");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Αλλαγή νήματος ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Αλλαγή νήματος ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Αλλαγή νήματος ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Αλλαγή νήματος ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Αλλαγή νήματος ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Αλλαγή νήματος ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Αλλαγή νήματος *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Προετοιμασία κάρτας SD");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Αλλαγή κάρτας SD");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Διερεύνηση Z εκτός κλίνης");
diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h
index e40f394fb..3001fc62c 100644
--- a/Marlin/src/lcd/language/language_en.h
+++ b/Marlin/src/lcd/language/language_en.h
@@ -80,36 +80,16 @@ namespace Language_en {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets Applied");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Set Origin");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Preheat ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Preheat ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" All");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Bed");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Conf");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Preheat ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Preheat ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" All");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Bed");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Conf");
@@ -255,12 +235,7 @@ namespace Language_en {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Move Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Move Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extruder ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extruder ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extruder ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extruder ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extruder ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extruder ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend too cold");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Move %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Move 0.1mm");
@@ -269,29 +244,15 @@ namespace Language_en {
PROGMEM Language_Str MSG_SPEED = _UxGT("Speed");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozzle");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Nozzle ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Nozzle ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Nozzle ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Nozzle ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Nozzle ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Nozzle ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~");
PROGMEM Language_Str MSG_BED = _UxGT("Bed");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Enclosure");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Fan Speed");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Fan Speed 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Fan Speed 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Fan Speed 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Fan Speed =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra Fan Speed");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Extra Fan Speed 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Extra Fan Speed 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Extra Fan Speed 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra Fan Speed =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Flow");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Flow ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Flow ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Flow ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Flow ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Flow ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Flow ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flow ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -299,48 +260,18 @@ namespace Language_en {
PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
PROGMEM Language_Str MSG_LCD_ON = _UxGT("On");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Off");
- PROGMEM Language_Str MSG_AUTOTUNE_PID = _UxGT("PID Autotune");
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E0 = _UxGT("PID Autotune ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E1 = _UxGT("PID Autotune ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E2 = _UxGT("PID Autotune ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E3 = _UxGT("PID Autotune ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E4 = _UxGT("PID Autotune ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E5 = _UxGT("PID Autotune ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autotune");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autotune *");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("Select");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Select ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Select ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Select ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Select ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Select ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Select ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Select *");
PROGMEM Language_Str MSG_ACC = _UxGT("Accel");
PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Jerk");
@@ -353,12 +284,7 @@ namespace Language_en {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("Vmax ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("Vmax ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("Vmax ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("Vmax ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("Vmax ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("Vmax ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VTrav Min");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Acceleration");
@@ -366,12 +292,7 @@ namespace Language_en {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Amax ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Amax ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Amax ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Amax ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Amax ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Amax ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-Retract");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-Travel");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Steps/mm");
@@ -379,32 +300,17 @@ namespace Language_en {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("steps/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("steps/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Esteps/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("steps/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("steps/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("steps/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("steps/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("steps/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("steps/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*steps/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperature");
PROGMEM Language_Str MSG_MOTION = _UxGT("Motion");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm³");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Fil. Dia. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Fil. Dia. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Fil. Dia. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Fil. Dia. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Fil. Dia. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Fil. Dia. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Unload mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Load mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("Advance K ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("Advance K ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("Advance K ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("Advance K ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("Advance K ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("Advance K ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD Contrast");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Store Settings");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Load Settings");
@@ -424,11 +330,14 @@ namespace Language_en {
PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Reset");
PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Cancel");
PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Done");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Back");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Proceed");
PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pause Print");
PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Resume Print");
PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Stop Print");
PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Printing Object");
PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancel Object");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Cancel Object =");
PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Outage Recovery");
PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Print from Media");
PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("No Media");
@@ -457,26 +366,11 @@ namespace Language_en {
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Retract Speed");
PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Nozzle Standby");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Change Filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Change Filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Change Filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Change Filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Change Filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Change Filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Change Filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Change Filament *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Load Filament");
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Load Filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Load Filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Load Filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Load Filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Load Filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Load Filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Load Filament *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Unload Filament");
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Unload Filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Unload Filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Unload Filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Unload Filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Unload Filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Unload Filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Unload Filament *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Unload All");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Init. Media");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Change Media");
@@ -612,32 +506,19 @@ namespace Language_en {
PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Load All");
PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Load to Nozzle");
PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Eject Filament");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0 = _UxGT("Eject Filament 1");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1 = _UxGT("Eject Filament 2");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2 = _UxGT("Eject Filament 3");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3 = _UxGT("Eject Filament 4");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4 = _UxGT("Eject Filament 5");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Eject Filament ~");
PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Unload Filament");
PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Loading Fil. %i...");
PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Ejecting Fil. ...");
PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Unloading Fil....");
PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("All");
- PROGMEM Language_Str MSG_MMU2_FILAMENT0 = _UxGT("Filament 1");
- PROGMEM Language_Str MSG_MMU2_FILAMENT1 = _UxGT("Filament 2");
- PROGMEM Language_Str MSG_MMU2_FILAMENT2 = _UxGT("Filament 3");
- PROGMEM Language_Str MSG_MMU2_FILAMENT3 = _UxGT("Filament 4");
- PROGMEM Language_Str MSG_MMU2_FILAMENT4 = _UxGT("Filament 5");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Reset MMU");
PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Resetting MMU...");
PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Remove, click");
PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
- PROGMEM Language_Str MSG_MIX_COMPONENT_1 = _UxGT("Component 1");
- PROGMEM Language_Str MSG_MIX_COMPONENT_2 = _UxGT("Component 2");
- PROGMEM Language_Str MSG_MIX_COMPONENT_3 = _UxGT("Component 3");
- PROGMEM Language_Str MSG_MIX_COMPONENT_4 = _UxGT("Component 4");
- PROGMEM Language_Str MSG_MIX_COMPONENT_5 = _UxGT("Component 5");
- PROGMEM Language_Str MSG_MIX_COMPONENT_6 = _UxGT("Component 6");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Component =");
PROGMEM Language_Str MSG_MIXER = _UxGT("Mixer");
PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient");
PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Full Gradient");
@@ -714,6 +595,6 @@ namespace Language_en {
#define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
#define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
#else
- #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_1
- #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
#endif
diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h
index 7327744e3..2ff190e41 100644
--- a/Marlin/src/lcd/language/language_es.h
+++ b/Marlin/src/lcd/language/language_es.h
@@ -72,36 +72,16 @@ namespace Language_es {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Desfase aplicada");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Establecer origen");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Precalentar ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Precalentar ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Todo");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Cama");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Ajuste");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Precalentar ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Precalentar ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Todo");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Cama");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Ajuste");
@@ -247,12 +227,7 @@ namespace Language_es {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrusor");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extrusor ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extrusor ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extrusor ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extrusor ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extrusor ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extrusor ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrusor *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend muy frio");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Mover %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
@@ -261,29 +236,15 @@ namespace Language_es {
PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidad");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Cama Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Boquilla");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Boquilla ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Boquilla ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Boquilla ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Boquilla ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Boquilla ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Boquilla ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Boquilla ~");
PROGMEM Language_Str MSG_BED = _UxGT("Cama");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Recinto");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Ventilador");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Ventilador 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Ventilador 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Ventilador 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Ventilador =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Vel. Ext. ventilador");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Vel. Ext. ventilador ") LCD_STR_N1;
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Vel. Ext. ventilador ") LCD_STR_N2;
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Vel. Ext. ventilador ") LCD_STR_N3;
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Vel. Ext. ventilador =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Flujo");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Flujo ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Flujo ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Flujo ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Flujo ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Flujo ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Flujo ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flujo ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -292,12 +253,7 @@ namespace Language_es {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Encender");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Apagar");
PROGMEM Language_Str MSG_SELECT = _UxGT("Seleccionar");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Seleccionar ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Seleccionar ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Seleccionar ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Seleccionar ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Seleccionar ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Seleccionar ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Seleccionar *");
PROGMEM Language_Str MSG_ACC = _UxGT("Aceleración");
PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocidad");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vel. viaje min");
@@ -306,12 +262,7 @@ namespace Language_es {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Acel. max") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Acel. max") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Acel. max") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Acel. max ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Acel. max ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Acel. max ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Acel. max ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Acel. max ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Acel. max ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Acel. max *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Acel. retrac.");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Acel. Viaje");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Pasos/mm");
@@ -319,32 +270,17 @@ namespace Language_es {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" pasos/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" pasos/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E pasos/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" pasos/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* pasos/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Movimiento");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E en mm³");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Fil. Dia. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Fil. Dia. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Fil. Dia. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Fil. Dia. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Fil. Dia. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Fil. Dia. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Descarga mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Carga mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Avance K");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("Avance K ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("Avance K ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("Avance K ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("Avance K ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("Avance K ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("Avance K ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Avance K *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Guardar EEPROM");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Cargar EEPROM");
@@ -395,24 +331,11 @@ namespace Language_es {
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Vel. de retracción");
PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Colocar boquilla");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Cambiar filamento");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Cambiar filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Cambiar filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Cambiar filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Cambiar filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Cambiar filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Cambiar filamento ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Cargar filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Cargar filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Cargar filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Cargar filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Cargar filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Cargar filamento ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Descargar filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Descargar filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Descargar filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Descargar filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Descargar filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Descargar filamento ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Cambiar filamento *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Cargar filamento");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Cargar filamento *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Descargar filamento");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Descargar fil. *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Descargar todo");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Iniciar SD/USB");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Cambiar SD/USB");
@@ -545,32 +468,19 @@ namespace Language_es {
PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Cargar Todo");
PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Cargar hasta boqui.");
PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Expulsar Filamento");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0 = _UxGT("Expulsar Filamento 1");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1 = _UxGT("Expulsar Filamento 2");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2 = _UxGT("Expulsar Filamento 3");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3 = _UxGT("Expulsar Filamento 4");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4 = _UxGT("Expulsar Filamento 5");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Expulsar Filamento ~");
PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Descargar Filamento");
PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Cargando Fil. %i...");
PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Expulsando Fil. ...");
PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Descargando Fil....");
PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Todo");
- PROGMEM Language_Str MSG_MMU2_FILAMENT0 = _UxGT("Filamento 1");
- PROGMEM Language_Str MSG_MMU2_FILAMENT1 = _UxGT("Filamento 2");
- PROGMEM Language_Str MSG_MMU2_FILAMENT2 = _UxGT("Filamento 3");
- PROGMEM Language_Str MSG_MMU2_FILAMENT3 = _UxGT("Filamento 4");
- PROGMEM Language_Str MSG_MMU2_FILAMENT4 = _UxGT("Filamento 5");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filamento ~");
PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Reiniciar MMU");
PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Reiniciando MMU...");
PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Retirar, y pulsar");
PROGMEM Language_Str MSG_MIX = _UxGT("Mezcla");
- PROGMEM Language_Str MSG_MIX_COMPONENT_1 = _UxGT("Componente 1");
- PROGMEM Language_Str MSG_MIX_COMPONENT_2 = _UxGT("Componente 2");
- PROGMEM Language_Str MSG_MIX_COMPONENT_3 = _UxGT("Componente 3");
- PROGMEM Language_Str MSG_MIX_COMPONENT_4 = _UxGT("Componente 4");
- PROGMEM Language_Str MSG_MIX_COMPONENT_5 = _UxGT("Componente 5");
- PROGMEM Language_Str MSG_MIX_COMPONENT_6 = _UxGT("Componente 6");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Componente =");
PROGMEM Language_Str MSG_MIXER = _UxGT("Miezclador");
PROGMEM Language_Str MSG_GRADIENT = _UxGT("Degradado");
PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Degradado Total");
diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h
index d9c8e2c22..12483c78d 100644
--- a/Marlin/src/lcd/language/language_eu.h
+++ b/Marlin/src/lcd/language/language_eu.h
@@ -59,36 +59,16 @@ namespace Language_eu {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsetak ezarrita");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Hasiera ipini");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Berotu ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Berotu ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Guztia");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Ohea");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Ezarp.");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Berotu ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Berotu ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Guztia");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Ohea");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Ezarp.");
@@ -156,12 +136,7 @@ namespace Language_eu {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mugitu Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mugitu Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Estrusorea");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Estrusorea ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Estrusorea ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Estrusorea ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Estrusorea ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Estrusorea ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Estrusorea ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Estrusorea *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Mugitu %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mugitu 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mugitu 1mm");
@@ -169,40 +144,21 @@ namespace Language_eu {
PROGMEM Language_Str MSG_SPEED = _UxGT("Abiadura");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Ohea");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Pita");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Pita ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Pita ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Pita ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Pita ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Pita ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Pita ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Pita ~");
PROGMEM Language_Str MSG_BED = _UxGT("Ohea");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Haizagailu abiadura");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Haizagailu abiadura 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Haizagailu abiadura 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Haizagailu abiadura 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Haizagailu abiadura =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Haiz.gehig. abiadura");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Haiz.gehig. abiadura 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Haiz.gehig. abiadura 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Haiz.gehig. abiadura 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Haiz.gehig. abiadura =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Fluxua");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Fluxua ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Fluxua ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Fluxua ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Fluxua ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Fluxua ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Fluxua ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Fluxua ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontrola");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fakt");
PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Auto tenperatura");
PROGMEM Language_Str MSG_SELECT = _UxGT("Aukeratu");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Aukeratu ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Aukeratu ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Aukeratu ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Aukeratu ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Aukeratu ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Aukeratu ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Aukeratu *");
PROGMEM Language_Str MSG_ACC = _UxGT("Azelerazioa");
PROGMEM Language_Str MSG_JERK = _UxGT("Astindua");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-astindua");
@@ -217,32 +173,17 @@ namespace Language_eu {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" pausoak/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" pausoak/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E pausoak/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" pausoak/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" pausoak/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" pausoak/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" pausoak/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" pausoak/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" pausoak/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* pausoak/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Tenperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Mugimendua");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Harizpia");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E mm3-tan");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Hariz. Dia.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Hariz. Dia. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Hariz. Dia. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Hariz. Dia. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Hariz. Dia. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Hariz. Dia. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Hariz. Dia. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Hariz. Dia. *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Deskargatu mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Kargatu mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K Aurrerapena");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("K Aurrerapena ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("K Aurrerapena ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("K Aurrerapena ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("K Aurrerapena ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("K Aurrerapena ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("K Aurrerapena ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K Aurrerapena *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD kontrastea");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Gorde memoria");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Kargatu memoria");
@@ -274,24 +215,11 @@ namespace Language_eu {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Atzera egin");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Aldatu harizpia");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Aldatu harizpia ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Aldatu harizpia ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Aldatu harizpia ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Aldatu harizpia ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Aldatu harizpia ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Aldatu harizpia ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Harizpia kargatu ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Harizpia kargatu ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Harizpia kargatu ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Harizpia kargatu ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Harizpia kargatu ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Harizpia kargatu ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Harizpia deskargatu ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Harizpia deskargatu ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Harizpia deskargatu ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Harizpia deskargatu ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Harizpia deskargatu ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Harizpia deskargatu ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Aldatu harizpia *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Harizpia kargatu");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Harizpia kargatu *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Harizpia deskargatu");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Harizpia deskargatu *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Erabat deskargatu");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Hasieratu SD-a");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Aldatu txartela");
diff --git a/Marlin/src/lcd/language/language_fi.h b/Marlin/src/lcd/language/language_fi.h
index 0b6385c21..f262eee2b 100644
--- a/Marlin/src/lcd/language/language_fi.h
+++ b/Marlin/src/lcd/language/language_fi.h
@@ -46,36 +46,16 @@ namespace Language_fi {
PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Aja referenssiin");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Aseta origo");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Esilämmitä ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT(" Kaikki");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT(" Alusta");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Esilämm. ") PREHEAT_1_LABEL _UxGT(" konf");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Esilämmitä ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT(" Kaikki");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT(" Alusta");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Esilämm. ") PREHEAT_2_LABEL _UxGT(" konf");
@@ -89,36 +69,19 @@ namespace Language_fi {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Liikuta Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Liikuta Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extruder ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extruder ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extruder ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extruder ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extruder ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extruder ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Liikuta %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Liikuta 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Liikuta 1mm");
PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Liikuta 10mm");
PROGMEM Language_Str MSG_SPEED = _UxGT("Nopeus");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Suutin");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Suutin ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Suutin ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Suutin ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Suutin ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Suutin ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Suutin ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Suutin ~");
PROGMEM Language_Str MSG_BED = _UxGT("Alusta");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Tuul. nopeus");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Tuul. nopeus 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Tuul. nopeus 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Tuul. nopeus 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Tuul. nopeus =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Virtaus");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Virtaus ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Virtaus ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Virtaus ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Virtaus ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Virtaus ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Virtaus ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Virtaus ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontrolli");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h
index 3d43db069..bf583c8e8 100644
--- a/Marlin/src/lcd/language/language_fr.h
+++ b/Marlin/src/lcd/language/language_fr.h
@@ -72,36 +72,16 @@ namespace Language_fr {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Décalages appliqués");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Régler origine");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Préchauffage ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Préchauffage ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" Tout");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" lit");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Régler préch. ") PREHEAT_1_LABEL;
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Préchauffage ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Préchauffage ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" Tout");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" lit");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Régler préch. ") PREHEAT_2_LABEL;
@@ -242,12 +222,7 @@ namespace Language_fr {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Déplacer Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Déplacer Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrudeur");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extrudeur ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extrudeur ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extrudeur ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extrudeur ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extrudeur ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extrudeur ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrudeur *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Buse trop froide");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Déplacer %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Déplacer 0.1mm");
@@ -256,30 +231,16 @@ namespace Language_fr {
PROGMEM Language_Str MSG_SPEED = _UxGT("Vitesse");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Lit Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Buse");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Buse ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Buse ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Buse ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Buse ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Buse ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Buse ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Buse ~");
PROGMEM Language_Str MSG_BED = _UxGT("Lit");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Caisson");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vit. ventil. ");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Vit. ventil. 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Vit. ventil. 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Vit. ventil. 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vit. ventil. =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra ventil. ");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Extra ventil. 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Extra ventil. 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Extra ventil. 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra ventil. =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Flux");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Flux ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Flux ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Flux ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Flux ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Flux ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Flux ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flux ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Contrôler");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -288,12 +249,7 @@ namespace Language_fr {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Marche");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Arrêt");
PROGMEM Language_Str MSG_SELECT = _UxGT("Sélectionner");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Sélectionner ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Sélectionner ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Sélectionner ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Sélectionner ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Sélectionner ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Sélectionner ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Sélectionner *");
PROGMEM Language_Str MSG_ACC = _UxGT("Accélération");
PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT(" jerk");
@@ -311,32 +267,17 @@ namespace Language_fr {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" pas/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" pas/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E pas/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" pas/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" pas/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" pas/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" pas/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" pas/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" pas/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* pas/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Température");
PROGMEM Language_Str MSG_MOTION = _UxGT("Mouvement");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E en mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diamètre fil.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Diamètre fil. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Diamètre fil. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Diamètre fil. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Diamètre fil. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Diamètre fil. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Diamètre fil. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diamètre fil. *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Retrait mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Charger mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Avance K");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("Avance K ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("Avance K ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("Avance K ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("Avance K ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("Avance K ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("Avance K ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Avance K *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Enregistrer config.");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Charger config.");
@@ -387,25 +328,10 @@ namespace Language_fr {
PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Distance retrait");
PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Longueur de purge");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Changer filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Changer filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Changer filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Changer filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Changer filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Changer filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Changer filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Changer filament *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Charger filament");
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Charger filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Charger filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Charger filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Charger filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Charger filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Charger filament ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Retrait filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Retrait filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Retrait filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Retrait filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Retrait filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Retrait filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Charger filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Retrait filament *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Décharger tout");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Charger le média");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Actualiser média");
@@ -529,31 +455,18 @@ namespace Language_fr {
PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Charger tous");
PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Charger dans buse");
PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Ejecter filament");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0 = _UxGT("Ejecter fil. 1");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1 = _UxGT("Ejecter fil. 2");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2 = _UxGT("Ejecter fil. 3");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3 = _UxGT("Ejecter fil. 4");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4 = _UxGT("Ejecter fil. 5");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Ejecter fil. ~");
PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Retrait filament");
PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Chargem. fil. %i...");
PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Ejection fil...");
PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Retrait fil....");
PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Tous");
- PROGMEM Language_Str MSG_MMU2_FILAMENT0 = _UxGT("Filament 1");
- PROGMEM Language_Str MSG_MMU2_FILAMENT1 = _UxGT("Filament 2");
- PROGMEM Language_Str MSG_MMU2_FILAMENT2 = _UxGT("Filament 3");
- PROGMEM Language_Str MSG_MMU2_FILAMENT3 = _UxGT("Filament 4");
- PROGMEM Language_Str MSG_MMU2_FILAMENT4 = _UxGT("Filament 5");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Réinit. MMU");
PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Réinit. MMU...");
PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Retrait, click");
- PROGMEM Language_Str MSG_MIX_COMPONENT_1 = _UxGT("Composante 1");
- PROGMEM Language_Str MSG_MIX_COMPONENT_2 = _UxGT("Composante 2");
- PROGMEM Language_Str MSG_MIX_COMPONENT_3 = _UxGT("Composante 3");
- PROGMEM Language_Str MSG_MIX_COMPONENT_4 = _UxGT("Composante 4");
- PROGMEM Language_Str MSG_MIX_COMPONENT_5 = _UxGT("Composante 5");
- PROGMEM Language_Str MSG_MIX_COMPONENT_6 = _UxGT("Composante 6");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Composante ~");
PROGMEM Language_Str MSG_MIXER = _UxGT("Mixeur");
PROGMEM Language_Str MSG_GRADIENT = _UxGT("Dégradé");
PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Dégradé complet");
diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h
index 554230ca3..c9c80d1b2 100644
--- a/Marlin/src/lcd/language/language_gl.h
+++ b/Marlin/src/lcd/language/language_gl.h
@@ -57,36 +57,16 @@ namespace Language_gl {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets fixados");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Fixar orixe");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Prequentar ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Prequentar ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Todo");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Cama");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" conf");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Prequentar ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Prequentar ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Todo");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Cama");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" conf");
@@ -102,12 +82,7 @@ namespace Language_gl {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrusor");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extrusor ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extrusor ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extrusor ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extrusor ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extrusor ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extrusor ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrusor *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Mover %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mover 1mm");
@@ -115,57 +90,30 @@ namespace Language_gl {
PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidade");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Cama Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Bico");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Bico ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Bico ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Bico ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Bico ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Bico ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Bico ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Bico ~");
PROGMEM Language_Str MSG_BED = _UxGT("Cama");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Velocidade vent.");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Velocidade vent. 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Velocidade vent. 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Velocidade vent. 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Velocidade vent. ~");
PROGMEM Language_Str MSG_FLOW = _UxGT("Fluxo");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Fluxo ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Fluxo ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Fluxo ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Fluxo ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Fluxo ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Fluxo ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Fluxo ~");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
PROGMEM Language_Str MSG_SELECT = _UxGT("Escolla");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Escolla ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Escolla ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Escolla ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Escolla ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Escolla ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Escolla ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Escolla *");
PROGMEM Language_Str MSG_ACC = _UxGT("Acel");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Pasos/mm");
PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" pasos/mm");
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" pasos/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" pasos/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E pasos/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" pasos/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" pasos/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* pasos/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Movemento");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E en mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diam. fil.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Diam. fil. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Diam. fil. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Diam. fil. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Diam. fil. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Diam. fil. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Diam. fil. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diam. fil. *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Constraste LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Gardar en memo.");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Cargar de memo.");
@@ -194,12 +142,7 @@ namespace Language_gl {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Recuperacion V");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Retraccion auto.");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Cambiar filamen.");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Cambiar filamen. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Cambiar filamen. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Cambiar filamen. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Cambiar filamen. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Cambiar filamen. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Cambiar filamen. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Cambiar filamen. *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Iniciando SD");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Cambiar SD");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda-Z sen cama");
diff --git a/Marlin/src/lcd/language/language_hr.h b/Marlin/src/lcd/language/language_hr.h
index 06822b3cc..7cf694750 100644
--- a/Marlin/src/lcd/language/language_hr.h
+++ b/Marlin/src/lcd/language/language_hr.h
@@ -56,36 +56,16 @@ namespace Language_hr {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets postavljeni");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Postavi ishodište");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Predgrij ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Predgrij ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Sve");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Bed");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" conf");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Predgrij ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Predgrij ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Sve");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Bed");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" conf");
@@ -104,34 +84,17 @@ namespace Language_hr {
PROGMEM Language_Str MSG_SPEED = _UxGT("Brzina");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Dizna");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Dizna ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Dizna ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Dizna ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Dizna ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Dizna ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Dizna ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Dizna ~");
PROGMEM Language_Str MSG_BED = _UxGT("Bed");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Brzina ventilatora");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Brzina ventilatora 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Brzina ventilatora 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Brzina ventilatora 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Brzina ventilatora ~");
PROGMEM Language_Str MSG_SELECT = _UxGT("Odaberi");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Odaberi ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Odaberi ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Odaberi ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Odaberi ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Odaberi ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Odaberi ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Odaberi *");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperature");
PROGMEM Language_Str MSG_MOTION = _UxGT("Gibanje");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Fil. Dia. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Fil. Dia. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Fil. Dia. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Fil. Dia. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Fil. Dia. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Fil. Dia. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Kontrast LCD-a");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Pohrani u memoriju");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Učitaj memoriju");
@@ -148,12 +111,7 @@ namespace Language_hr {
PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Print otkazan");
PROGMEM Language_Str MSG_STOPPED = _UxGT("ZAUSTAVLJEN. ");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Promijeni filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Promijeni filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Promijeni filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Promijeni filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Promijeni filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Promijeni filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Promijeni filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Promijeni filament *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Init. SD karticu");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Promijeni SD karticu");
PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Grijanje neuspješno");
diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h
index 5d94ab85a..3747d9cca 100644
--- a/Marlin/src/lcd/language/language_it.h
+++ b/Marlin/src/lcd/language/language_it.h
@@ -72,36 +72,16 @@ namespace Language_it {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offset applicato");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Imposta Origine");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Preriscalda ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_HN = _UxGT("Preriscalda ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Tutto");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Piatto");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" conf");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Preriscalda ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Preriscalda ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Tutto");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Piatto");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" conf");
@@ -247,12 +227,7 @@ namespace Language_it {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Muovi Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Muovi Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Estrusore");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Estrusore ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Estrusore ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Estrusore ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Estrusore ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Estrusore ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Estrusore ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Estrusore *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Ugello freddo");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Muovi di %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Muovi di 0.1mm");
@@ -261,29 +236,15 @@ namespace Language_it {
PROGMEM Language_Str MSG_SPEED = _UxGT("Velocità");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Piatto Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Ugello");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Ugello ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Ugello ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Ugello ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Ugello ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Ugello ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Ugello ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Ugello ~");
PROGMEM Language_Str MSG_BED = _UxGT("Piatto");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Camera");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. ventola"); // Max 15 characters
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Vel. ventola 1"); // Max 15 characters
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Vel. ventola 2"); // Max 15 characters
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Vel. ventola 3"); // Max 15 characters
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. ventola ="); // Max 15 characters
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra vel.vent."); // Max 15 characters
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Extra v.vent. 1"); // Max 15 characters
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Extra v.vent. 2"); // Max 15 characters
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Extra v.vent. 3"); // Max 15 characters
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra v.vent. ="); // Max 15 characters
PROGMEM Language_Str MSG_FLOW = _UxGT("Flusso");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Flusso ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Flusso ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Flusso ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Flusso ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Flusso ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Flusso ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flusso ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Controllo");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -291,48 +252,18 @@ namespace Language_it {
PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
PROGMEM Language_Str MSG_LCD_ON = _UxGT("On");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Off");
- PROGMEM Language_Str MSG_AUTOTUNE_PID = _UxGT("PID Autotune");
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E0 = _UxGT("PID Autotune ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E1 = _UxGT("PID Autotune ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E2 = _UxGT("PID Autotune ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E3 = _UxGT("PID Autotune ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E4 = _UxGT("PID Autotune ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E5 = _UxGT("PID Autotune ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autotune");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autotune *");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("Seleziona");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Seleziona ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Seleziona ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Seleziona ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Seleziona ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Seleziona ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Seleziona ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Seleziona *");
PROGMEM Language_Str MSG_ACC = _UxGT("Accel");
PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-jerk");
@@ -345,12 +276,7 @@ namespace Language_it {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("Vmax ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("Vmax ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("Vmax ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("Vmax ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("Vmax ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("Vmax ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VTrav min");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accelerazione");
@@ -358,12 +284,7 @@ namespace Language_it {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Amax ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Amax ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Amax ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Amax ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Amax ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Amax ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-Ritrazione");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-Spostamento");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Passi/mm");
@@ -371,32 +292,17 @@ namespace Language_it {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("passi/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("passi/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Epassi/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("passi/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("passi/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("passi/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("passi/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("passi/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("passi/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*passi/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Movimento");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm³");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diam. filo");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Diam. filo ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Diam. filo ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Diam. filo ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Diam. filo ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Diam. filo ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Diam. filo ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diam. filo *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Rimuovi mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Carica mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K Avanzamento");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("K Avanzamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("K Avanzamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("K Avanzamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("K Avanzamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("K Avanzamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("K Avanzamento ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K Avanzamento *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contrasto LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Salva impostazioni");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Carica impostazioni");
@@ -404,7 +310,7 @@ namespace Language_it {
PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Inizializza EEPROM");
PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Aggiorna media");
PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Resetta stampante");
- PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Aggiorna");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Aggiorna");
PROGMEM Language_Str MSG_WATCH = _UxGT("Schermata info");
PROGMEM Language_Str MSG_PREPARE = _UxGT("Prepara");
PROGMEM Language_Str MSG_TUNE = _UxGT("Regola");
@@ -448,26 +354,11 @@ namespace Language_it {
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Velocità retrazione");
PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Standby ugello");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Cambia filamento");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Cambia filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Cambia filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Cambia filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Cambia filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Cambia filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Cambia filamento ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Cambia filamento *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Carica filamento");
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Carica filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Carica filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Carica filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Carica filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Carica filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Carica filamento ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Carica filamento *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Rimuovi filamento");
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Rimuovi filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Rimuovi filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Rimuovi filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Rimuovi filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Rimuovi filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Rimuovi filamento ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Rimuovi filamento *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Rimuovi tutto");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Inizializ. media");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Cambia media");
@@ -599,32 +490,19 @@ namespace Language_it {
PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Carica tutto");
PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Carica fino ugello");
PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Espelli filamento");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0 = _UxGT("Espelli filam.1");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1 = _UxGT("Espelli filam.2");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2 = _UxGT("Espelli filam.3");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3 = _UxGT("Espelli filam.4");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4 = _UxGT("Espelli filam.5");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Espelli filam.~");
PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Scarica filamento");
PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Caric.fil. %i...");
PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Esplus.filam. ...");
PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Scaric.filam. ...");
PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Tutto");
- PROGMEM Language_Str MSG_MMU2_FILAMENT0 = _UxGT("Filamento 1");
- PROGMEM Language_Str MSG_MMU2_FILAMENT1 = _UxGT("Filamento 2");
- PROGMEM Language_Str MSG_MMU2_FILAMENT2 = _UxGT("Filamento 3");
- PROGMEM Language_Str MSG_MMU2_FILAMENT3 = _UxGT("Filamento 4");
- PROGMEM Language_Str MSG_MMU2_FILAMENT4 = _UxGT("Filamento 5");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filamento ~");
PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Azzera MMU");
PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Azzeramento MMU...");
PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Rimuovi, click");
PROGMEM Language_Str MSG_MIX = _UxGT("Miscela");
- PROGMEM Language_Str MSG_MIX_COMPONENT_1 = _UxGT("Componente 1");
- PROGMEM Language_Str MSG_MIX_COMPONENT_2 = _UxGT("Componente 2");
- PROGMEM Language_Str MSG_MIX_COMPONENT_3 = _UxGT("Componente 3");
- PROGMEM Language_Str MSG_MIX_COMPONENT_4 = _UxGT("Componente 4");
- PROGMEM Language_Str MSG_MIX_COMPONENT_5 = _UxGT("Componente 5");
- PROGMEM Language_Str MSG_MIX_COMPONENT_6 = _UxGT("Componente 6");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Componente ~");
PROGMEM Language_Str MSG_MIXER = _UxGT("Miscelatore");
PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradiente");
PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Gradiente pieno");
diff --git a/Marlin/src/lcd/language/language_jp_kana.h b/Marlin/src/lcd/language/language_jp_kana.h
index d9538c525..ae030dab7 100644
--- a/Marlin/src/lcd/language/language_jp_kana.h
+++ b/Marlin/src/lcd/language/language_jp_kana.h
@@ -65,36 +65,16 @@ namespace Language_jp_kana {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("オフセットガテキヨウサレマシタ"); // "Offsets applied"
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("キジュンセット"); // "Set origin"
PROGMEM Language_Str MSG_PREHEAT_1 = PREHEAT_1_LABEL _UxGT(" ヨネツ"); // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N0; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N1; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N2; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N3; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N4; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N5; // "Preheat " PREHEAT_1_LABEL
+ PROGMEM Language_Str MSG_PREHEAT_1_H = PREHEAT_1_LABEL _UxGT(" ヨネツ ~"); // "Preheat " PREHEAT_1_LABEL
PROGMEM Language_Str MSG_PREHEAT_1_END = PREHEAT_1_LABEL _UxGT(" ヨネツノズル"); // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N0; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N1; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N2; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N3; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N4; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N5; // " Nozzle"
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ~"); // " Nozzle"
PROGMEM Language_Str MSG_PREHEAT_1_ALL = PREHEAT_1_LABEL _UxGT(" スベテヨネツ"); // " All"
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = PREHEAT_1_LABEL _UxGT(" ベッドヨネツ"); // " Bed"
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = PREHEAT_1_LABEL _UxGT(" ヨネツセッテイ"); // " conf"
PROGMEM Language_Str MSG_PREHEAT_2 = PREHEAT_2_LABEL _UxGT(" ヨネツ"); // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N0; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N1; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N2; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N3; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N4; // "Preheat " PREHEAT_1_LABEL
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N5; // "Preheat " PREHEAT_1_LABEL
+ PROGMEM Language_Str MSG_PREHEAT_2_H = PREHEAT_2_LABEL _UxGT(" ヨネツ ~"); // "Preheat " PREHEAT_1_LABEL
PROGMEM Language_Str MSG_PREHEAT_2_END = PREHEAT_2_LABEL _UxGT(" ヨネツノズル"); // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N0; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N1; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N2; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N3; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N4; // " Nozzle"
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N5; // " Nozzle"
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ~"); // " Nozzle"
PROGMEM Language_Str MSG_PREHEAT_2_ALL = PREHEAT_2_LABEL _UxGT(" スベテヨネツ"); // " All"
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = PREHEAT_2_LABEL _UxGT(" ベッドヨネツ"); // " Bed"
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = PREHEAT_2_LABEL _UxGT(" ヨネツセッテイ"); // " conf"
@@ -131,40 +111,15 @@ namespace Language_jp_kana {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("オン"); // "On"
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("オフ"); // "Off"
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("センタク"); // "Select"
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("センタク ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("センタク ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("センタク ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("センタク ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("センタク ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("センタク ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("センタク *");
PROGMEM Language_Str MSG_ACC = _UxGT("カソクド mm/s²"); // "Accel"
PROGMEM Language_Str MSG_JERK = _UxGT("ヤクドウ mm/s"); // "Jerk"
PROGMEM Language_Str MSG_VA_JERK = _UxGT("ジク ヤクドウ mm/s") LCD_STR_A; // "Va-jerk"
@@ -178,12 +133,7 @@ namespace Language_jp_kana {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("サイダイオクリソクド ") LCD_STR_A; // "Vmax B"
PROGMEM Language_Str MSG_VMAX_C = _UxGT("サイダイオクリソクド ") LCD_STR_A; // "Vmax C"
PROGMEM Language_Str MSG_VMAX_E = _UxGT("サイダイオクリソクド ") LCD_STR_A; // "Vmax E"
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("サイダイオクリソクド ") LCD_STR_E0; // "Vmax E1"
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("サイダイオクリソクド ") LCD_STR_E1; // "Vmax E2"
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("サイダイオクリソクド ") LCD_STR_E2; // "Vmax E3"
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("サイダイオクリソクド ") LCD_STR_E3; // "Vmax E4"
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("サイダイオクリソクド ") LCD_STR_E4; // "Vmax E5"
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("サイダイオクリソクド ") LCD_STR_E5; // "Vmax E6"
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("サイダイオクリソクド *"); // "Vmax E1"
PROGMEM Language_Str MSG_VMIN = _UxGT("サイショウオクリソクド"); // "Vmin"
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("サイショウイドウソクド"); // "VTrav min"
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("カソクド mm/s²"); // "Accel"
@@ -195,12 +145,7 @@ namespace Language_jp_kana {
PROGMEM Language_Str MSG_FILAMENT = _UxGT("フィラメント"); // "Filament"
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm³");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("フィラメントチョッケイ"); // "Fil. Dia."
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("フィラメントチョッケイ ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("フィラメントチョッケイ ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("フィラメントチョッケイ ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("フィラメントチョッケイ ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("フィラメントチョッケイ ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("フィラメントチョッケイ ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("フィラメントチョッケイ *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCDコントラスト"); // "LCD contrast"
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("EEPROMヘホゾン"); // "Store memory"
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("EEPROMカラヨミコミ"); // "Load memory"
diff --git a/Marlin/src/lcd/language/language_ko_KR.h b/Marlin/src/lcd/language/language_ko_KR.h
index 15173a93d..ac2b7b68f 100644
--- a/Marlin/src/lcd/language/language_ko_KR.h
+++ b/Marlin/src/lcd/language/language_ko_KR.h
@@ -56,33 +56,13 @@ namespace Language_ko_KR {
PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("다음 Point");
PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("레벨링 완료!");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("예열하기 - ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("예열하기 - ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ~");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("예열하기 - ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("예열하기 - ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ~");
PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Custom 예열");
PROGMEM Language_Str MSG_COOLDOWN = _UxGT("식히기");
PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("스위치 전원 켜기");
@@ -94,21 +74,12 @@ namespace Language_ko_KR {
PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("미러 사본");
PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("오토레벨링 하기");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("노즐");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("노즐 ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("노즐 ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("노즐 ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("노즐 ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("노즐 ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("노즐 ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("노즐 ~");
PROGMEM Language_Str MSG_BED = _UxGT("베드");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("펜 속도");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("펜 속도 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("펜 속도 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("펜 속도 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("펜 속도 =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("엑스트라 펜 속도");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("엑스트라 펜 속도 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("엑스트라 펜 속도 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("엑스트라 펜 속도 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("엑스트라 펜 속도 =");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("온도");
PROGMEM Language_Str MSG_MOTION = _UxGT("동작");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("설정 저장하기");
diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h
index 7555194eb..9ea1ca959 100644
--- a/Marlin/src/lcd/language/language_nl.h
+++ b/Marlin/src/lcd/language/language_nl.h
@@ -60,36 +60,16 @@ namespace Language_nl {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("H offset toegep.");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Nulpunt instellen");
PROGMEM Language_Str MSG_PREHEAT_1 = PREHEAT_1_LABEL _UxGT(" voorverwarmen");
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = PREHEAT_1_LABEL _UxGT(" voorverw. ~");
PROGMEM Language_Str MSG_PREHEAT_1_END = PREHEAT_1_LABEL _UxGT(" voorverw. Einde");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = PREHEAT_1_LABEL _UxGT(" voorverw. aan");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = PREHEAT_1_LABEL _UxGT(" voorverw. Bed");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = PREHEAT_1_LABEL _UxGT(" verw. conf");
PROGMEM Language_Str MSG_PREHEAT_2 = PREHEAT_2_LABEL _UxGT(" voorverwarmen");
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = PREHEAT_2_LABEL _UxGT(" voorverw. ~");
PROGMEM Language_Str MSG_PREHEAT_2_END = PREHEAT_2_LABEL _UxGT(" voorverw. Einde");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = PREHEAT_2_LABEL _UxGT(" voorverw. aan");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = PREHEAT_2_LABEL _UxGT(" voorverw. Bed");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = PREHEAT_2_LABEL _UxGT(" verw. conf");
@@ -108,12 +88,7 @@ namespace Language_nl {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Verplaats Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Verplaats Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extruder ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extruder ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extruder ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extruder ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extruder ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extruder ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Verplaats %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Verplaats 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Verplaats 1mm");
@@ -121,24 +96,12 @@ namespace Language_nl {
PROGMEM Language_Str MSG_SPEED = _UxGT("Snelheid");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozzle");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Nozzle ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Nozzle ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Nozzle ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Nozzle ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Nozzle ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Nozzle ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~");
PROGMEM Language_Str MSG_BED = _UxGT("Bed");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Fan snelheid");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Fan snelheid 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Fan snelheid 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Fan snelheid 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Fan snelheid =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Flow");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Flow ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Flow ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Flow ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Flow ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Flow ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Flow ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flow ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -147,31 +110,16 @@ namespace Language_nl {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Aan");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Uit");
PROGMEM Language_Str MSG_SELECT = _UxGT("Selecteer");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Selecteer ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Selecteer ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Selecteer ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Selecteer ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Selecteer ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Selecteer ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Selecteer *");
PROGMEM Language_Str MSG_ACC = _UxGT("Versn");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatuur");
PROGMEM Language_Str MSG_MOTION = _UxGT("Beweging");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K"); //accepted english dutch
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("Advance K ") LCD_STR_E0; //accepted english dutch
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("Advance K ") LCD_STR_E1; //accepted english dutch
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("Advance K ") LCD_STR_E2; //accepted english dutch
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("Advance K ") LCD_STR_E3; //accepted english dutch
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("Advance K ") LCD_STR_E4; //accepted english dutch
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("Advance K ") LCD_STR_E5; //accepted english dutch
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *"); //accepted english dutch
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Fil. Dia. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Fil. Dia. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Fil. Dia. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Fil. Dia. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Fil. Dia. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Fil. Dia. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD contrast");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Geheugen opslaan");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Geheugen laden");
@@ -200,12 +148,7 @@ namespace Language_nl {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("UnRet F");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRetr.");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Verv. Filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Verv. Filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Verv. Filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Verv. Filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Verv. Filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Verv. Filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Verv. Filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Verv. Filament *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Init. SD kaart");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Verv. SD Kaart");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z probe uit. bed");
diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h
index cd25c2761..50196a1ce 100644
--- a/Marlin/src/lcd/language/language_pl.h
+++ b/Marlin/src/lcd/language/language_pl.h
@@ -72,36 +72,16 @@ namespace Language_pl {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Poz. zerowa ust.");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Ustaw punkt zero");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" wsz.");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" stół");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" ustaw.");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" wsz.");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" stół");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" ustaw.");
@@ -247,12 +227,7 @@ namespace Language_pl {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Przesuń w Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Przesuń w Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Ekstruzja (os E)");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Ekstruzja (os E) ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Ekstruzja (os E) ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Ekstruzja (os E) ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Ekstruzja (os E) ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Ekstruzja (os E) ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Ekstruzja (os E) ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Ekstruzja (os E) *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Dysza za zimna");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Przesuń co %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Przesuń co .1mm");
@@ -261,29 +236,15 @@ namespace Language_pl {
PROGMEM Language_Str MSG_SPEED = _UxGT("Predkość");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Stół Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Dysza");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Dysza ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Dysza ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Dysza ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Dysza ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Dysza ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Dysza ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Dysza ~");
PROGMEM Language_Str MSG_BED = _UxGT("Stół");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Obudowa");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Obroty wiatraka");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Obroty wiatraka 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Obroty wiatraka 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Obroty wiatraka 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Obroty wiatraka =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Obroty dodatkowego wiatraka");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Obroty dodatkowego wiatraka 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Obroty dodatkowego wiatraka 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Obroty dodatkowego wiatraka 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Obroty dodatkowego wiatraka =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Przepływ");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Przepływ ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Przepływ ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Przepływ ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Przepływ ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Przepływ ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Przepływ ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Przepływ ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Ustawienia");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -291,48 +252,18 @@ namespace Language_pl {
PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Auto. temperatura");
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Wł.");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Wył.");
- PROGMEM Language_Str MSG_AUTOTUNE_PID = _UxGT("PID Autostrojenie");
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E0 = _UxGT("PID Autostrojenie ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E1 = _UxGT("PID Autostrojenie ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E2 = _UxGT("PID Autostrojenie ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E3 = _UxGT("PID Autostrojenie ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E4 = _UxGT("PID Autostrojenie ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E5 = _UxGT("PID Autostrojenie ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autostrojenie");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autostrojenie *");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("Wybierz");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Wybierz ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Wybierz ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Wybierz ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Wybierz ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Wybierz ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Wybierz ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Wybierz *");
PROGMEM Language_Str MSG_ACC = _UxGT("Przyspieszenie");
PROGMEM Language_Str MSG_JERK = _UxGT("Zryw");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("Zryw V") LCD_STR_A;
@@ -345,12 +276,7 @@ namespace Language_pl {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("Vmax ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("Vmax ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("Vmax ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("Vmax ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("Vmax ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("Vmax ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vskok min");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Przyspieszenie (A)");
@@ -358,12 +284,7 @@ namespace Language_pl {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Amax ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Amax ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Amax ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Amax ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Amax ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Amax ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-wycofanie");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-przesuń.");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("kroki/mm");
@@ -371,32 +292,17 @@ namespace Language_pl {
PROGMEM Language_Str MSG_B_STEPS = _UxGT("kroki") LCD_STR_B _UxGT("/mm");
PROGMEM Language_Str MSG_C_STEPS = _UxGT("kroki") LCD_STR_C _UxGT("/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("krokiE/mm");
- PROGMEM Language_Str MSG_E0_STEPS = _UxGT("kroki ") LCD_STR_E0 _UxGT("/mm");
- PROGMEM Language_Str MSG_E1_STEPS = _UxGT("kroki ") LCD_STR_E1 _UxGT("/mm");
- PROGMEM Language_Str MSG_E2_STEPS = _UxGT("kroki ") LCD_STR_E2 _UxGT("/mm");
- PROGMEM Language_Str MSG_E3_STEPS = _UxGT("kroki ") LCD_STR_E3 _UxGT("/mm");
- PROGMEM Language_Str MSG_E4_STEPS = _UxGT("kroki ") LCD_STR_E4 _UxGT("/mm");
- PROGMEM Language_Str MSG_E5_STEPS = _UxGT("kroki ") LCD_STR_E5 _UxGT("/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("kroki */mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Ruch");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E w mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Śr. fil.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Śr. fil. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Śr. fil. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Śr. fil. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Śr. fil. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Śr. fil. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Śr. fil. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Śr. fil. *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Wyładuj mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Załaduj mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("Advance K ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("Advance K ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("Advance K ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("Advance K ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("Advance K ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("Advance K ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Kontrast LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Zapisz w pamięci");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Wczytaj z pamięci");
@@ -446,26 +352,11 @@ namespace Language_pl {
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Prędkość wycofania");
PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Dysza w oczekiwaniu");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Zmień filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Zmień filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Zmień filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Zmień filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Zmień filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Zmień filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Zmień filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Zmień filament *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Załaduj Filament");
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Załaduj Filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Załaduj Filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Załaduj Filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Załaduj Filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Załaduj Filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Załaduj Filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Załaduj Filament *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Wyładuj Filament");
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Wyładuj Filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Wyładuj Filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Wyładuj Filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Wyładuj Filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Wyładuj Filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Wyładuj Filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Wyładuj Filament *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Wyładuj wszystkie");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Inicjal. karty SD");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Zmiana karty SD");
@@ -601,32 +492,19 @@ namespace Language_pl {
PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Załaduj wszystko");
PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Załaduj do dyszy");
PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Wysuń filament");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0 = _UxGT("Wysuń filament 1");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1 = _UxGT("Wysuń filament 2");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2 = _UxGT("Wysuń filament 3");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3 = _UxGT("Wysuń filament 4");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4 = _UxGT("Wysuń filament 5");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Wysuń filament ~");
PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Wyładuj filament");
PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Ładowanie fil. %i...");
PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Wysuwanie fil. ...");
PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Wyładowywanie fil....");
PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Wszystko");
- PROGMEM Language_Str MSG_MMU2_FILAMENT0 = _UxGT("Filament 1");
- PROGMEM Language_Str MSG_MMU2_FILAMENT1 = _UxGT("Filament 2");
- PROGMEM Language_Str MSG_MMU2_FILAMENT2 = _UxGT("Filament 3");
- PROGMEM Language_Str MSG_MMU2_FILAMENT3 = _UxGT("Filament 4");
- PROGMEM Language_Str MSG_MMU2_FILAMENT4 = _UxGT("Filament 5");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Resetuj MMU");
PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Resetowanie MMU...");
PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Usuń, kliknij");
PROGMEM Language_Str MSG_MIX = _UxGT("Miks");
- PROGMEM Language_Str MSG_MIX_COMPONENT_1 = _UxGT("Komponent 1");
- PROGMEM Language_Str MSG_MIX_COMPONENT_2 = _UxGT("Komponent 2");
- PROGMEM Language_Str MSG_MIX_COMPONENT_3 = _UxGT("Komponent 3");
- PROGMEM Language_Str MSG_MIX_COMPONENT_4 = _UxGT("Komponent 4");
- PROGMEM Language_Str MSG_MIX_COMPONENT_5 = _UxGT("Komponent 5");
- PROGMEM Language_Str MSG_MIX_COMPONENT_6 = _UxGT("Komponent 6");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Komponent ~");
PROGMEM Language_Str MSG_MIXER = _UxGT("Mikser");
PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient");
PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Pełny gradient");
diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h
index 7f3288f15..992e78c2d 100644
--- a/Marlin/src/lcd/language/language_pt.h
+++ b/Marlin/src/lcd/language/language_pt.h
@@ -55,36 +55,16 @@ namespace Language_pt {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets aplicados");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Definir origem");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Pre-aq. ") PREHEAT_1_LABEL _UxGT(" Tudo");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Pre-aq. ") PREHEAT_1_LABEL _UxGT(" ") LCD_STR_THERMOMETER _UxGT("Base");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Definições ") PREHEAT_1_LABEL;
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Pre-aq. ") PREHEAT_2_LABEL _UxGT(" Tudo");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Pre-aq. ") PREHEAT_2_LABEL _UxGT(" ") LCD_STR_THERMOMETER _UxGT("Base");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Definições ") PREHEAT_2_LABEL;
@@ -98,12 +78,7 @@ namespace Language_pt {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Mover Extrusor");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Mover Extrusor ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Mover Extrusor ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Mover Extrusor ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Mover Extrusor ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Mover Extrusor ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Mover Extrusor ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Mover Extrusor *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Mover %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mover 1mm");
@@ -111,24 +86,12 @@ namespace Language_pt {
PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidade");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Base Z");
PROGMEM Language_Str MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" Bico");
- PROGMEM Language_Str MSG_NOZZLE_0 = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = " " LCD_STR_THERMOMETER _UxGT(" Bico ~");
PROGMEM Language_Str MSG_BED = " " LCD_STR_THERMOMETER _UxGT(" Base");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. ventoinha");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Vel. ventoinha 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Vel. ventoinha 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Vel. ventoinha 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. ventoinha =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Fluxo");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Fluxo ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Fluxo ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Fluxo ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Fluxo ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Fluxo ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Fluxo ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Fluxo ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Controlo");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -140,23 +103,13 @@ namespace Language_pt {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" passo/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" passo/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E passo/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" passo/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" passo/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" passo/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" passo/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" passo/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" passo/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* passo/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Movimento");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E em mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Diam.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Fil. Diam. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Fil. Diam. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Fil. Diam. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Fil. Diam. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Fil. Diam. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Fil. Diam. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Diam. *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Guardar na memoria");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Carregar da memoria");
@@ -185,12 +138,7 @@ namespace Language_pt {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT(" DesRet V");
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT(" AutoRetr.");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Trocar filamento");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Trocar filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Trocar filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Trocar filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Trocar filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Trocar filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Trocar filamento ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Trocar filamento *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Inici. cartão SD");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Trocar cartão SD");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sensor fora/base");
diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h
index ba82a3627..a2a13b304 100644
--- a/Marlin/src/lcd/language/language_pt_br.h
+++ b/Marlin/src/lcd/language/language_pt_br.h
@@ -63,36 +63,16 @@ namespace Language_pt_br {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Alteração aplicada");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Ajustar Origem");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Extrusora ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Extrusora ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Pre-aq.Todo ") PREHEAT_1_LABEL;
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Pre-aq.Mesa ") PREHEAT_1_LABEL;
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Ajustar ") PREHEAT_1_LABEL;
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Extrusora ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Extrusora ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Pre-aq.Todo ") PREHEAT_2_LABEL;
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Pre-aq.Mesa ") PREHEAT_2_LABEL;
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Ajustar ") PREHEAT_2_LABEL;
@@ -215,12 +195,7 @@ namespace Language_pt_br {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Mover Extrusor");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Mover Extrusor ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Mover Extrusor ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Mover Extrusor ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Mover Extrusor ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Mover Extrusor ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Mover Extrusor ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Mover Extrusor *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Extrus. mto fria");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Mover %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
@@ -229,28 +204,14 @@ namespace Language_pt_br {
PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidade");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Base Z");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Bocal");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Bocal ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Bocal ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Bocal ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Bocal ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Bocal ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Bocal ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Bocal ~");
PROGMEM Language_Str MSG_BED = _UxGT("Mesa");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. Ventoinha");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Vel. Ventoinha 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Vel. Ventoinha 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Vel. Ventoinha 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. Ventoinha =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("+Vel. Ventoinha");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("+Vel. Ventoinha 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("+Vel. Ventoinha 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("+Vel. Ventoinha 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("+Vel. Ventoinha =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Vazão");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Vazão ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Vazão ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Vazão ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Vazão ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Vazão ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Vazão ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Vazão ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Controle");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Máx");
@@ -259,12 +220,7 @@ namespace Language_pt_br {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Ligado");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Desligado");
PROGMEM Language_Str MSG_SELECT = _UxGT("Selecionar");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Selecionar ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Selecionar ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Selecionar ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Selecionar ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Selecionar ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Selecionar ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Selecionar *");
PROGMEM Language_Str MSG_ACC = _UxGT("Acel.");
PROGMEM Language_Str MSG_JERK = _UxGT("Arrancada");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("arrancada V") LCD_STR_A;
@@ -282,32 +238,17 @@ namespace Language_pt_br {
PROGMEM Language_Str MSG_B_STEPS = _UxGT("Passo ") LCD_STR_B _UxGT("/mm");
PROGMEM Language_Str MSG_C_STEPS = _UxGT("Passo ") LCD_STR_C _UxGT("/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
PROGMEM Language_Str MSG_MOTION = _UxGT("Movimento");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("Extrusão em mm3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diâmetro Fil.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Diâmetro Fil. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Diâmetro Fil. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Diâmetro Fil. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Diâmetro Fil. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Diâmetro Fil. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Diâmetro Fil. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diâmetro Fil. *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Descarr. mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Carregar mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Avanço K");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("Avanço K ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("Avanço K ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("Avanço K ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("Avanço K ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("Avanço K ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("Avanço K ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Avanço K *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Salvar Configuração");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Ler Configuração");
@@ -348,24 +289,9 @@ namespace Language_pt_br {
PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPD = _UxGT("Preparar Veloc.");
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Veloc. Retração");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Trocar Filamento");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Trocar Filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Trocar Filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Trocar Filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Trocar Filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Trocar Filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Trocar Filamento ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Carregar Filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Carregar Filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Carregar Filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Carregar Filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Carregar Filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Carregar Filamento ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Descarreg. Filamento ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Descarreg. Filamento ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Descarreg. Filamento ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Descarreg. Filamento ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Descarreg. Filamento ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Descarreg. Filamento ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Trocar Filamento *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Carregar Filamento *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Descarreg. Filamento *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Descarregar Todos");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Iniciar SD");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Trocar SD");
diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h
index ecb932f85..3dd71b6e9 100644
--- a/Marlin/src/lcd/language/language_ru.h
+++ b/Marlin/src/lcd/language/language_ru.h
@@ -63,36 +63,16 @@ namespace Language_ru {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Коррекции применены");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Запомнить ноль");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Преднагрев ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Преднагрев ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" всё");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" стол");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" настр.");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Преднагрев ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Преднагрев ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" всё");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" стол");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" настр.");
@@ -214,12 +194,7 @@ namespace Language_ru {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Движение по Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Движение по Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Экструдер");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Экструдер ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Экструдер ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Экструдер ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Экструдер ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Экструдер ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Экструдер ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Экструдер *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Движение %sмм");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Движение 0.1мм");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Движение 1мм");
@@ -227,28 +202,14 @@ namespace Language_ru {
PROGMEM Language_Str MSG_SPEED = _UxGT("Скорость");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Z стола");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Сопло");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Сопло ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Сопло ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Сопло ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Сопло ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Сопло ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Сопло ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Сопло ~");
PROGMEM Language_Str MSG_BED = _UxGT("Стол");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Кулер");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Кулер 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Кулер 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Кулер 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Кулер ~");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Кулер доп.");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Кулер доп. 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Кулер доп. 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Кулер доп. 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Кулер доп. ~");
PROGMEM Language_Str MSG_FLOW = _UxGT("Поток");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Поток ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Поток ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Поток ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Поток ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Поток ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Поток ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Поток ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Настройки");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Мин");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Макс");
@@ -257,40 +218,15 @@ namespace Language_ru {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Вкл.");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Выкл.");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("Выбор");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Выбор ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Выбор ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Выбор ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Выбор ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Выбор ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Выбор ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Выбор *");
PROGMEM Language_Str MSG_ACC = _UxGT("Ускорение");
PROGMEM Language_Str MSG_JERK = _UxGT("Рывок");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-рывок");
@@ -302,12 +238,7 @@ namespace Language_ru {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vмакс ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vмакс ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vмакс ") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("Vмакс ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("Vмакс ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("Vмакс ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("Vмакс ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("Vмакс ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("Vмакс ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vмакс *");
PROGMEM Language_Str MSG_VMIN = _UxGT("Vмин");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vпутеш. мин");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Ускорение");
@@ -315,12 +246,7 @@ namespace Language_ru {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Aмакс ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Aмакс ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Aмакс ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Aмакс ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Aмакс ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Aмакс ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Aмакс ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Aмакс ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Aмакс ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Aмакс *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-втягивание");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-путеш.");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Шаг/мм");
@@ -328,32 +254,17 @@ namespace Language_ru {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("шаг/мм");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("шаг/мм");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Eшаг/мм");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("шаг/мм");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("шаг/мм");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("шаг/мм");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("шаг/мм");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("шаг/мм");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("шаг/мм");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*шаг/мм");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Температура");
PROGMEM Language_Str MSG_MOTION = _UxGT("Движение");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Филамент");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E в мм3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Диаметр филамента");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Диаметр филамента ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Диаметр филамента ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Диаметр филамента ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Диаметр филамента ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Диаметр филамента ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Диаметр филамента ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Диаметр филамента *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Загрузка мм");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Выгрузка мм");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K продвижения");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("K продвижения ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("K продвижения ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("K продвижения ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("K продвижения ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("K продвижения ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("K продвижения ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K продвижения *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Контраст LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Сохранить настройки");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Загрузить настройки");
@@ -404,25 +315,10 @@ namespace Language_ru {
// TODO: Singlenozzle, nozzle standby
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Смена филамента");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Смена филамента ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Смена филамента ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Смена филамента ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Смена филамента ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Смена филамента ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Смена филамента ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Смена филамента *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Загрузка филамента");
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Загрузка филамента ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Загрузка филамента ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Загрузка филамента ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Загрузка филамента ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Загрузка филамента ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Загрузка филамента ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Выгрузка филамента ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Выгрузка филамента ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Выгрузка филамента ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Выгрузка филамента ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Выгрузка филамента ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Выгрузка филамента ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Загрузка филамента *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Выгрузка филамента *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Выгрузить всё");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Активировать SD");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Сменить SD карту");
diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h
index 60cec3d3f..8c9ceac7c 100644
--- a/Marlin/src/lcd/language/language_sk.h
+++ b/Marlin/src/lcd/language/language_sk.h
@@ -75,36 +75,16 @@ namespace Language_sk {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Ofsety nastavené");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Nastaviť začiatok");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Zahriať ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Zahriať ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" všetko");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" podlož");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" nast.");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Zahriať ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Zahriať ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" všetko");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" podlož");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" nast.");
@@ -250,12 +230,7 @@ namespace Language_sk {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Posunúť Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Posunúť Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrudér");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Extrudér ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Extrudér ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Extrudér ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Extrudér ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Extrudér ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Extrudér ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrudér *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend je studený");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Posunúť o %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Posunúť o 0,1mm");
@@ -264,29 +239,15 @@ namespace Language_sk {
PROGMEM Language_Str MSG_SPEED = _UxGT("Rýchlosť");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Výška podl.");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Tryska");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Tryska ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Tryska ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Tryska ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Tryska ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Tryska ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Tryska ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Tryska ~");
PROGMEM Language_Str MSG_BED = _UxGT("Podložka");
PROGMEM Language_Str MSG_CHAMBER = _UxGT("Komora");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Rýchlosť vent.");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Rýchlosť vent. 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Rýchlosť vent. 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Rýchlosť vent. 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Rýchlosť vent. =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Rýchlosť ex. vent.");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Rýchlosť ex. vent. 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Rýchlosť ex. vent. 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Rýchlosť ex. vent. 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Rýchlosť ex. vent. =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Prietok");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Prietok ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Prietok ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Prietok ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Prietok ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Prietok ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Prietok ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Prietok ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Ovládanie");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -294,48 +255,18 @@ namespace Language_sk {
PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Auto-teplota");
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Zap");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Vyp");
- PROGMEM Language_Str MSG_AUTOTUNE_PID = _UxGT("PID kalibrácia");
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E0 = _UxGT("PID kalibrácia ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E1 = _UxGT("PID kalibrácia ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E2 = _UxGT("PID kalibrácia ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E3 = _UxGT("PID kalibrácia ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E4 = _UxGT("PID kalibrácia ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AUTOTUNE_PID_E5 = _UxGT("PID kalibrácia ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID kalibrácia");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID kalibrácia *");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("Vybrať");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Vybrať ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Vybrať ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Vybrať ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Vybrať ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Vybrať ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Vybrať ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Vybrať *");
PROGMEM Language_Str MSG_ACC = _UxGT("Zrýchlenie");
PROGMEM Language_Str MSG_JERK = _UxGT("Skok");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-skok");
@@ -348,12 +279,7 @@ namespace Language_sk {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("Vmax ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("Vmax ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("Vmax ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("Vmax ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("Vmax ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("Vmax ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VPrej Min");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Akcelerácia");
@@ -361,12 +287,7 @@ namespace Language_sk {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Amax ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Amax ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Amax ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Amax ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Amax ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Amax ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-retrakt");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-prejazd");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Kroky/mm");
@@ -374,32 +295,17 @@ namespace Language_sk {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("krokov/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("krokov/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Ekrokov/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("krokov/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("krokov/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("krokov/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("krokov/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("krokov/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("krokov/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*krokov/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Teplota");
PROGMEM Language_Str MSG_MOTION = _UxGT("Pohyb");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E na mm³");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Priem. fil.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Priem. fil. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Priem. fil. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Priem. fil. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Priem. fil. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Priem. fil. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Priem. fil. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Priem. fil. *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Vysunúť mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Zaviesť mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K pre posun");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("K pre posun ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("K pre posun ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("K pre posun ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("K pre posun ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("K pre posun ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("K pre posun ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K pre posun *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Kontrast LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Uložiť nastavenie");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Načítať nastavenie");
@@ -450,26 +356,11 @@ namespace Language_sk {
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Rýchl. retrakcie");
PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Záložná tryska");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Vymeniť filament");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Vymeniť filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Vymeniť filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Vymeniť filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Vymeniť filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Vymeniť filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Vymeniť filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Vymeniť filament *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Zaviesť filament");
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Zaviesť filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Zaviesť filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Zaviesť filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Zaviesť filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Zaviesť filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Zaviesť filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Zaviesť filament *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Vysunúť filament");
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Vysunúť filament ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Vysunúť filament ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Vysunúť filament ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Vysunúť filament ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Vysunúť filament ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Vysunúť filament ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Vysunúť filament *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Vysunúť všetko");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Načítať SD kartu");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Vymeniť SD kartu");
@@ -605,32 +496,19 @@ namespace Language_sk {
PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Zaviesť všetky");
PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Zaviesť po trysku");
PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Vysunúť filament");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0 = _UxGT("Vysunúť filament 1");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1 = _UxGT("Vysunúť filament 2");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2 = _UxGT("Vysunúť filament 3");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3 = _UxGT("Vysunúť filament 4");
- PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4 = _UxGT("Vysunúť filament 5");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Vysunúť filament ~");
PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Vyňať filament");
PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Zavádzanie fil. %i...");
PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Vysúvanie fil. ...");
PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Vysúvanie fil. ...");
PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Všetky");
- PROGMEM Language_Str MSG_MMU2_FILAMENT0 = _UxGT("Filament 1");
- PROGMEM Language_Str MSG_MMU2_FILAMENT1 = _UxGT("Filament 2");
- PROGMEM Language_Str MSG_MMU2_FILAMENT2 = _UxGT("Filament 3");
- PROGMEM Language_Str MSG_MMU2_FILAMENT3 = _UxGT("Filament 4");
- PROGMEM Language_Str MSG_MMU2_FILAMENT4 = _UxGT("Filament 5");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Reštartovať MMU");
PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Reštart MMU...");
PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Odstráňte, kliknite");
PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
- PROGMEM Language_Str MSG_MIX_COMPONENT_1 = _UxGT("Zložka 1");
- PROGMEM Language_Str MSG_MIX_COMPONENT_2 = _UxGT("Zložka 2");
- PROGMEM Language_Str MSG_MIX_COMPONENT_3 = _UxGT("Zložka 3");
- PROGMEM Language_Str MSG_MIX_COMPONENT_4 = _UxGT("Zložka 4");
- PROGMEM Language_Str MSG_MIX_COMPONENT_5 = _UxGT("Zložka 5");
- PROGMEM Language_Str MSG_MIX_COMPONENT_6 = _UxGT("Zložka 6");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Zložka ~");
PROGMEM Language_Str MSG_MIXER = _UxGT("Mixér");
PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient");
PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Plný gradient");
diff --git a/Marlin/src/lcd/language/language_test.h b/Marlin/src/lcd/language/language_test.h
index 8098fdd87..b03d92039 100644
--- a/Marlin/src/lcd/language/language_test.h
+++ b/Marlin/src/lcd/language/language_test.h
@@ -152,16 +152,9 @@ namespace Language_test {
PROGMEM Language_Str MSG_RESTORE_FAILSAFE = STRG_OKTAL_7;
PROGMEM Language_Str MSG_NOZZLE = STRG_OKTAL_8;
- PROGMEM Language_Str MSG_NOZZLE_0 = STRG_OKTAL_8 " " LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = STRG_OKTAL_8 " " LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = STRG_OKTAL_8 " " LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = STRG_OKTAL_8 " " LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = STRG_OKTAL_8 " " LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = STRG_OKTAL_8 " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = STRG_OKTAL_8 " ~";
PROGMEM Language_Str MSG_FAN_SPEED = STRG_OKTAL_9;
- PROGMEM Language_Str MSG_FAN_SPEED_1 = STRG_OKTAL_9;
- PROGMEM Language_Str MSG_FAN_SPEED_2 = STRG_OKTAL_9;
- PROGMEM Language_Str MSG_FAN_SPEED_3 = STRG_OKTAL_9;
+ PROGMEM Language_Str MSG_FAN_SPEED_N = STRG_OKTAL_9;
PROGMEM Language_Str MSG_AUTOTEMP = STRG_OKTAL_a;
PROGMEM Language_Str MSG_MIN = STRG_OKTAL_b;
PROGMEM Language_Str MSG_MAX = STRG_OKTAL_c;
@@ -196,15 +189,8 @@ namespace Language_test {
PROGMEM Language_Str MSG_RESTORE_FAILSAFE = STRG_OKTAL_7;
PROGMEM Language_Str MSG_NOZZLE = STRG_OKTAL_8;
- PROGMEM Language_Str MSG_NOZZLE_0 = STRG_OKTAL_8 " " LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = STRG_OKTAL_8 " " LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = STRG_OKTAL_8 " " LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = STRG_OKTAL_8 " " LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = STRG_OKTAL_8 " " LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = STRG_OKTAL_8 " " LCD_STR_N5;
- PROGMEM Language_Str MSG_FAN_SPEED_1 = STRG_OKTAL_9;
- PROGMEM Language_Str MSG_FAN_SPEED_2 = STRG_OKTAL_9;
- PROGMEM Language_Str MSG_FAN_SPEED_3 = STRG_OKTAL_9;
+ PROGMEM Language_Str MSG_NOZZLE_N = STRG_OKTAL_8 " ~";
+ PROGMEM Language_Str MSG_FAN_SPEED_N = STRG_OKTAL_9;
PROGMEM Language_Str MSG_AUTOTEMP = STRG_OKTAL_a;
PROGMEM Language_Str MSG_MIN = STRG_OKTAL_b;
PROGMEM Language_Str MSG_MAX = STRG_OKTAL_c;
@@ -239,15 +225,8 @@ namespace Language_test {
PROGMEM Language_Str MSG_RESTORE_FAILSAFE = STRG_OKTAL_7;
PROGMEM Language_Str MSG_NOZZLE = STRG_OKTAL_8;
- PROGMEM Language_Str MSG_NOZZLE_0 = STRG_OKTAL_8 " " LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = STRG_OKTAL_8 " " LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = STRG_OKTAL_8 " " LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = STRG_OKTAL_8 " " LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = STRG_OKTAL_8 " " LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = STRG_OKTAL_8 " " LCD_STR_N5;
- PROGMEM Language_Str MSG_FAN_SPEED_1 = STRG_OKTAL_9;
- PROGMEM Language_Str MSG_FAN_SPEED_2 = STRG_OKTAL_9;
- PROGMEM Language_Str MSG_FAN_SPEED_3 = STRG_OKTAL_9;
+ PROGMEM Language_Str MSG_NOZZLE_N = STRG_OKTAL_8 " ~";
+ PROGMEM Language_Str MSG_FAN_SPEED_N = STRG_OKTAL_9;
PROGMEM Language_Str MSG_AUTOTEMP = STRG_OKTAL_a;
PROGMEM Language_Str MSG_MIN = STRG_OKTAL_b;
PROGMEM Language_Str MSG_MAX = STRG_OKTAL_c;
diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h
index 4216d030e..68b93f18a 100644
--- a/Marlin/src/lcd/language/language_tr.h
+++ b/Marlin/src/lcd/language/language_tr.h
@@ -68,36 +68,16 @@ namespace Language_tr {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offset Tamam");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Sıfır Belirle");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Tüm");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Tabla");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Ayarlar");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Tüm");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Tabla");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Ayarlar");
@@ -218,12 +198,7 @@ namespace Language_tr {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Y Hareketi");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Z Hareketi");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Ekstruder");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Ekstruder ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Ekstruder ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Ekstruder ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Ekstruder ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Ekstruder ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Ekstruder ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Ekstruder *");
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Nozul Çok Soğuk");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("%smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("0.1mm");
@@ -232,28 +207,14 @@ namespace Language_tr {
PROGMEM Language_Str MSG_SPEED = _UxGT("Hız");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Mesafesi");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozul");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Nozul ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Nozul ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Nozul ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Nozul ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Nozul ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Nozul ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozul ~");
PROGMEM Language_Str MSG_BED = _UxGT("Tabla");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Fan Hızı");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Fan Hızı 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Fan Hızı 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Fan Hızı 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Fan Hızı =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Ekstra Fan Hızı");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Ekstra Fan Hızı 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Ekstra Fan Hızı 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Ekstra Fan Hızı 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Ekstra Fan Hızı =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Akış");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Akış ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Akış ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Akış ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Akış ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Akış ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Akış ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Akış ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontrol");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -262,12 +223,7 @@ namespace Language_tr {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Açık");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Kapalı");
PROGMEM Language_Str MSG_SELECT = _UxGT("Seç");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Seç ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Seç ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Seç ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Seç ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Seç ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Seç ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Seç *");
PROGMEM Language_Str MSG_ACC = _UxGT("İvme");
PROGMEM Language_Str MSG_JERK = _UxGT("Sarsım");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Sarsım");
@@ -280,12 +236,7 @@ namespace Language_tr {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("HızVektör.max ") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("HızVektör.max ") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("HızVektör.max ") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("HızVektör.max ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("HızVektör.max ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("HızVektör.max ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("HızVektör.max ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("HızVektör.max ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("HızVektör.max ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("HızVektör.max *");
PROGMEM Language_Str MSG_VMIN = _UxGT("HızVektör.min");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("HV.gezinme min");
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Ivme");
@@ -293,12 +244,7 @@ namespace Language_tr {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Max. ivme ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Max. ivme ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Max. ivme ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Max. ivme ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Max. ivme ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Max. ivme ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Max. ivme ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Max. ivme ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Max. ivme ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Max. ivme *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Ivme-geri çekme");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Ivme-gezinme");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Adım/mm");
@@ -306,32 +252,17 @@ namespace Language_tr {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" adım/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" adım/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("E adım/mm");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT(" adım/mm");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT(" adım/mm");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT(" adım/mm");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT(" adım/mm");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT(" adım/mm");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT(" adım/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* adım/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Sıcaklık");
PROGMEM Language_Str MSG_MOTION = _UxGT("Hareket");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filaman");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("Ekstrüzyon/mm³");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Filaman Çapı");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Filaman Çapı ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Filaman Çapı ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Filaman Çapı ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Filaman Çapı ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Filaman Çapı ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Filaman Çapı ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Filaman Çapı *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Çıkart mm");
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Yükle mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K İlerlet");
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("K İlerlet ") LCD_STR_E0;
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("K İlerlet ") LCD_STR_E1;
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("K İlerlet ") LCD_STR_E2;
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("K İlerlet ") LCD_STR_E3;
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("K İlerlet ") LCD_STR_E4;
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("K İlerlet ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K İlerlet *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD Kontrast");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Hafızaya Al");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Hafızadan Yükle");
@@ -372,24 +303,11 @@ namespace Language_tr {
PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPD = _UxGT("Birincil Hız");
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Geri Çekme Hızı");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Filaman Değiştir");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Filaman Değiştir ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Filaman Değiştir ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Filaman Değiştir ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Filaman Değiştir ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Filaman Değiştir ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Filaman Değiştir ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Filaman Yükle ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Filaman Yükle ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Filaman Yükle ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Filaman Yükle ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Filaman Yükle ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Filaman Yükle ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Filaman Çıkart ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Filaman Çıkart ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Filaman Çıkart ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Filaman Çıkart ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Filaman Çıkart ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Filaman Çıkart ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Filaman Değiştir *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Filaman Yükle");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Filaman Yükle *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Filaman Çıkart");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Filaman Çıkart *");
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Tümünü Çıkart");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("SD Kart Başlatılıyor");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("SD Kart Değiştir");
diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h
index 769d1c97e..71a48c644 100644
--- a/Marlin/src/lcd/language/language_uk.h
+++ b/Marlin/src/lcd/language/language_uk.h
@@ -56,36 +56,16 @@ namespace Language_uk {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Зміщення застос.");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Встанов. початок");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Нагрів ") PREHEAT_1_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Нагрів ") PREHEAT_1_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ~");
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Все");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Стіл");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" нал.");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Нагрів ") PREHEAT_2_LABEL;
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Нагрів ") PREHEAT_2_LABEL " ~";
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Все");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Стіл");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" нал.");
@@ -101,12 +81,7 @@ namespace Language_uk {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Рух по Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Рух по Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Екструдер");
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Екструдер ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Екструдер ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Екструдер ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Екструдер ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Екструдер ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Екструдер ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Екструдер *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Рух по %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Рух по 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Рух по 1mm");
@@ -114,24 +89,12 @@ namespace Language_uk {
PROGMEM Language_Str MSG_SPEED = _UxGT("Швидкість");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Столу");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Сопло");
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Сопло ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Сопло ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Сопло ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Сопло ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Сопло ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Сопло ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Сопло ~");
PROGMEM Language_Str MSG_BED = _UxGT("Стіл");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Охолодж.");
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Охолодж. 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Охолодж. 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Охолодж. 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Охолодж. =");
PROGMEM Language_Str MSG_FLOW = _UxGT("Потік");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Потік ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Потік ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Потік ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Потік ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Потік ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Потік ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Потік ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Налаштування");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Мін");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Макс");
@@ -140,40 +103,15 @@ namespace Language_uk {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Увімк.");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Вимк.");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("Вибрати");
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Вибрати ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Вибрати ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Вибрати ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Вибрати ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Вибрати ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Вибрати ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Вибрати *");
PROGMEM Language_Str MSG_ACC = _UxGT("Приск.");
PROGMEM Language_Str MSG_JERK = _UxGT("Ривок");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-ривок");
@@ -184,24 +122,14 @@ namespace Language_uk {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vмакс") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vмакс") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vмакс") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("Vмакс ") LCD_STR_E0;
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("Vмакс ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("Vмакс ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("Vмакс ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("Vмакс ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("Vмакс ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vмакс *");
PROGMEM Language_Str MSG_VMIN = _UxGT("Vмін");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vруху мін");
PROGMEM Language_Str MSG_AMAX_A = _UxGT("Aмакс ") LCD_STR_A;
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Aмакс ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Aмакс ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Aмакс ") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Aмакс ") LCD_STR_E0;
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Aмакс ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Aмакс ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Aмакс ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Aмакс ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Aмакс ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Aмакс *");
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-втягув.");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-руху");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Кроків/мм");
@@ -209,23 +137,13 @@ namespace Language_uk {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("кроків/мм");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("кроків/мм");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("Eкроків/мм");
- PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("кроків/мм");
- PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("кроків/мм");
- PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("кроків/мм");
- PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("кроків/мм");
- PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("кроків/мм");
- PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("кроків/мм");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*кроків/мм");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Температура");
PROGMEM Language_Str MSG_MOTION = _UxGT("Рух");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Волокно");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E в мм3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Діам. волок.");
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Діам. волок. ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Діам. волок. ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Діам. волок. ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Діам. волок. ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Діам. волок. ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Діам. волок. ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Діам. волок. *");
PROGMEM Language_Str MSG_CONTRAST = _UxGT("контраст LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Зберегти в ПЗП");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Зчитати з ПЗП");
@@ -246,12 +164,7 @@ namespace Language_uk {
PROGMEM Language_Str MSG_KILLED = _UxGT("ПЕРЕРВАНО. ");
PROGMEM Language_Str MSG_STOPPED = _UxGT("ЗУПИНЕНО. ");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Зміна волокна");
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Зміна волокна ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Зміна волокна ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Зміна волокна ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Зміна волокна ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Зміна волокна ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Зміна волокна ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Зміна волокна *");
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Старт SD картки");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Заміна SD карти");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z дет. не в межах");
diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h
index abb96a58a..a4f38fad2 100644
--- a/Marlin/src/lcd/language/language_vi.h
+++ b/Marlin/src/lcd/language/language_vi.h
@@ -60,37 +60,17 @@ namespace Language_vi {
PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Đặt bù đắp nhà"); // Set home offsets
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Bù đắp được áp dụng"); // Offsets applied
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Đặt nguồn gốc"); // Set origin
- PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước"); // Preheat
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N0; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N1; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N2; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N3; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N4; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N5; // Preheat
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước"); // Preheat
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ~"); // Preheat
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu");
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N5;
- PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Tất cả"); // all
- PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Bàn"); // bed -- using vietnamese term for 'table' instead
- PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Cấu hình"); // conf
- PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước"); // Preheat
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N0; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N1; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N2; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N3; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N4; // Preheat
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N5; // Preheat
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Tất cả"); // all
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Bàn"); // bed -- using vietnamese term for 'table' instead
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Cấu hình"); // conf
+ PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước"); // Preheat
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ~"); // Preheat
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu");
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N0;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N1;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N2;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N3;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N4;
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ~");
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Tất cả"); // all
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Bàn"); // bed -- using vietnamese term for 'table' instead
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Cấu hình"); // conf
@@ -173,7 +153,7 @@ namespace Language_vi {
PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Khe nhớ"); // Memory Slot
PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Tải lưới bàn"); // Load Bed Mesh
PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Lưu lưới bàn"); // Save Bed Mesh
- PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 %i lưới được nạp"); // Mesh %i loaded
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 %i lưới được nạp"); // Mesh %i loaded
PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 %i lưới đã lưu");
PROGMEM Language_Str MSG_NO_STORAGE = _UxGT("Không lưu trữ"); // No Storage
PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Điều sai: Lưu UBL"); // Err: UBL Save
@@ -213,12 +193,7 @@ namespace Language_vi {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Di chuyển Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Di chuyển Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Máy đùn"); // Extruder
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Máy đùn ") LCD_STR_E0; // Extruder
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Máy đùn ") LCD_STR_E1; // Extruder
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Máy đùn ") LCD_STR_E2; // Extruder
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Máy đùn ") LCD_STR_E3; // Extruder
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Máy đùn ") LCD_STR_E4; // Extruder
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Máy đùn ") LCD_STR_E5; // Extruder
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Máy đùn *"); // Extruder
PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Đầu nóng quá lạnh"); // Hotend too cold
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Di chuyển 0.1mm"); // Move 0.1mm
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Di chuyển 1mm"); // Move 1mm
@@ -226,28 +201,14 @@ namespace Language_vi {
PROGMEM Language_Str MSG_SPEED = _UxGT("Tốc độ"); // Speed
PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Bàn");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Đầu phun"); // Nozzle
- PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Đầu phun ") LCD_STR_N0; // Nozzle
- PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Đầu phun ") LCD_STR_N1; // Nozzle
- PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Đầu phun ") LCD_STR_N2; // Nozzle
- PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Đầu phun ") LCD_STR_N3; // Nozzle
- PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Đầu phun ") LCD_STR_N4; // Nozzle
- PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Đầu phun ") LCD_STR_N5; // Nozzle
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Đầu phun ~"); // Nozzle
PROGMEM Language_Str MSG_BED = _UxGT("Bàn"); // bed
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Tốc độ quạt"); // fan speed
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Tốc độ quạt 1"); // fan speed
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Tốc độ quạt 2"); // fan speed
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Tốc độ quạt 3"); // fan speed
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Tốc độ quạt ="); // fan speed
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Tốc độ quạt phụ"); // Extra fan speed
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("Tốc độ quạt phụ 1"); // Extra fan speed
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("Tốc độ quạt phụ 2"); // Extra fan speed
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("Tốc độ quạt phụ 3"); // Extra fan speed
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Tốc độ quạt phụ ="); // Extra fan speed
PROGMEM Language_Str MSG_FLOW = _UxGT("Lưu Lượng");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Lưu Lượng ") LCD_STR_N0;
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Lưu Lượng ") LCD_STR_N1;
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Lưu Lượng ") LCD_STR_N2;
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Lưu Lượng ") LCD_STR_N3;
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Lưu Lượng ") LCD_STR_N4;
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Lưu Lượng ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Lưu Lượng ~");
PROGMEM Language_Str MSG_CONTROL = _UxGT("Điều khiển"); // Control
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Đa"); // min
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Thiểu");
@@ -256,40 +217,15 @@ namespace Language_vi {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Bật"); // on
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Tắt"); // off
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("Lựa"); // Select
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Lựa ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Lựa ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Lựa ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Lựa ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Lựa ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Lựa ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Lựa *");
PROGMEM Language_Str MSG_ACC = _UxGT("Tăng Tốc");
PROGMEM Language_Str MSG_JERK = _UxGT("Giật");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("Giật-V") LCD_STR_A;
@@ -302,12 +238,7 @@ namespace Language_vi {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vđa") LCD_STR_B; // Vmax
PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vđa") LCD_STR_C; // Vmax
PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vđa") LCD_STR_E; // Vmax
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("Vđa ") LCD_STR_E0; // Vmax
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("Vđa ") LCD_STR_E1; // Vmax
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("Vđa ") LCD_STR_E2; // Vmax
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("Vđa ") LCD_STR_E3; // Vmax
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("Vđa ") LCD_STR_E4; // Vmax
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("Vđa ") LCD_STR_E5; // Vmax
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vđa *"); // Vmax
PROGMEM Language_Str MSG_VMIN = _UxGT("Vthiểu"); // Vmin
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vchuyển thiểu"); // VTrav min
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Sự tăng tốc"); // Acceleration
@@ -315,12 +246,7 @@ namespace Language_vi {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("Tăng tốc ca") LCD_STR_B; // Amax
PROGMEM Language_Str MSG_AMAX_C = _UxGT("Tăng tốc ca") LCD_STR_C; // Amax
PROGMEM Language_Str MSG_AMAX_E = _UxGT("Tăng tốc ca") LCD_STR_E; // Amax
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("Tăng tốc ca ") LCD_STR_E0; // Amax
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("Tăng tốc ca ") LCD_STR_E1; // Amax
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("Tăng tốc ca ") LCD_STR_E2; // Amax
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("Tăng tốc ca ") LCD_STR_E3; // Amax
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("Tăng tốc ca ") LCD_STR_E4; // Amax
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("Tăng tốc ca ") LCD_STR_E5; // Amax
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Tăng tốc ca *"); // Amax
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("TT-Rút"); // A-retract
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("TT-Chuyển"); // A-travel
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Bước/mm"); // Steps
@@ -328,32 +254,17 @@ namespace Language_vi {
PROGMEM Language_Str MSG_B_STEPS = _UxGT("Bước") LCD_STR_B _UxGT("/mm");
PROGMEM Language_Str MSG_C_STEPS = _UxGT("Bước") LCD_STR_C _UxGT("/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("BướcE/mm");
- PROGMEM Language_Str MSG_E0_STEPS = _UxGT("Bước ") LCD_STR_E0 _UxGT("/mm");
- PROGMEM Language_Str MSG_E1_STEPS = _UxGT("Bước ") LCD_STR_E1 _UxGT("/mm");
- PROGMEM Language_Str MSG_E2_STEPS = _UxGT("Bước ") LCD_STR_E2 _UxGT("/mm");
- PROGMEM Language_Str MSG_E3_STEPS = _UxGT("Bước ") LCD_STR_E3 _UxGT("/mm");
- PROGMEM Language_Str MSG_E4_STEPS = _UxGT("Bước ") LCD_STR_E4 _UxGT("/mm");
- PROGMEM Language_Str MSG_E5_STEPS = _UxGT("Bước ") LCD_STR_E5 _UxGT("/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("Bước */mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Nhiệt độ"); // Temperature
PROGMEM Language_Str MSG_MOTION = _UxGT("Chuyển động"); // Motion
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Vật liệu in"); // dây nhựa
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E bằng mm³"); // E in mm
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Đường kính nhựa"); // Fil. Dai.
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Đường kính nhựa ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Đường kính nhựa ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Đường kính nhựa ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Đường kính nhựa ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Đường kính nhựa ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Đường kính nhựa ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Đường kính nhựa *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Dỡ mm"); // unload mm
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Nạp mm");
PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K Cấp Cao"); // Advance K
- PROGMEM Language_Str MSG_ADVANCE_K_E0 = _UxGT("K Cấp Cao ") LCD_STR_E0; // Advance K
- PROGMEM Language_Str MSG_ADVANCE_K_E1 = _UxGT("K Cấp Cao ") LCD_STR_E1; // Advance K
- PROGMEM Language_Str MSG_ADVANCE_K_E2 = _UxGT("K Cấp Cao ") LCD_STR_E2; // Advance K
- PROGMEM Language_Str MSG_ADVANCE_K_E3 = _UxGT("K Cấp Cao ") LCD_STR_E3; // Advance K
- PROGMEM Language_Str MSG_ADVANCE_K_E4 = _UxGT("K Cấp Cao ") LCD_STR_E4; // Advance K
- PROGMEM Language_Str MSG_ADVANCE_K_E5 = _UxGT("K Cấp Cao ") LCD_STR_E5; // Advance K
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K Cấp Cao *"); // Advance K
PROGMEM Language_Str MSG_CONTRAST = _UxGT("Độ tương phản LCD"); // LCD contrast
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Lưu các thiết lập"); // Store settings
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Tải các cài đặt"); // Load settings
@@ -394,25 +305,11 @@ namespace Language_vi {
PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPD = _UxGT("Tốc Độ Tuôn Ra"); // Prime Speed
PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD = _UxGT("Tốc Độ Rút Lại"); // Retract Speed
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Thay dây nhựa"); // change filament
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Thay dây nhựa ") LCD_STR_E0; // change filament
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Thay dây nhựa ") LCD_STR_E1; // change filament
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Thay dây nhựa ") LCD_STR_E2; // change filament
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Thay dây nhựa ") LCD_STR_E3; // change filament
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Thay dây nhựa ") LCD_STR_E4; // change filament
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Thay dây nhựa ") LCD_STR_E5; // change filament
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Thay dây nhựa *"); // change filament
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Nạp dây nhựa"); // load filament
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("Nạp dây nhựa ") LCD_STR_E0; // load filament
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("Nạp dây nhựa ") LCD_STR_E1; // load filament
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("Nạp dây nhựa ") LCD_STR_E2; // load filament
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("Nạp dây nhựa ") LCD_STR_E3; // load filament
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("Nạp dây nhựa ") LCD_STR_E4; // load filament
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("Nạp dây nhựa ") LCD_STR_E5; // load filament
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("Dỡ dây nhựa ") LCD_STR_E0; // unload filament
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("Dỡ dây nhựa ") LCD_STR_E1; // unload filament
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("Dỡ dây nhựa ") LCD_STR_E2; // unload filament
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("Dỡ dây nhựa ") LCD_STR_E3; // unload filament
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("Dỡ dây nhựa ") LCD_STR_E4; // unload filament
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("Dỡ dây nhựa ") LCD_STR_E5; // unload filament
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Nạp dây nhựa *"); // load filament
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Dỡ dây nhựa"); // unload filament
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Dỡ dây nhựa *"); // unload filament
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Dỡ tất cả"); // Unload All
PROGMEM Language_Str MSG_INIT_SDCARD = _UxGT("Khởi tạo thẻ SD "); // Init. SD card
PROGMEM Language_Str MSG_CHANGE_SDCARD = _UxGT("Thay thẻ SD"); // Change SD card
diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h
index a9286b0f4..e17d473a9 100644
--- a/Marlin/src/lcd/language/language_zh_CN.h
+++ b/Marlin/src/lcd/language/language_zh_CN.h
@@ -57,36 +57,16 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("偏移已启用"); //"Offsets applied"
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("设置原点"); //"Set origin"
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("预热 ") PREHEAT_1_LABEL; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N0; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N1; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N2; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N3; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N4; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N5; //"Preheat PREHEAT_2_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("预热 ") PREHEAT_1_LABEL " ~"; //"Preheat PREHEAT_2_LABEL"
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴"); //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N0; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N1; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N2; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N3; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N4; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N5; //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ~"); //MSG_PREHEAT_1 " "
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 全部"); //MSG_PREHEAT_1 " All"
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 热床"); //MSG_PREHEAT_1 " Bed"
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 设置"); //MSG_PREHEAT_1 " conf"
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("预热 ") PREHEAT_2_LABEL; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N0; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N1; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N2; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N3; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N4; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N5; //"Preheat PREHEAT_2_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("预热 ") PREHEAT_2_LABEL " ~"; //"Preheat PREHEAT_2_LABEL"
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴"); //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N0; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N1; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N2; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N3; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N4; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N5; //MSG_PREHEAT_2 " "
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ~"); //MSG_PREHEAT_2 " "
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 全部"); //MSG_PREHEAT_2 " All"
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 热床"); //MSG_PREHEAT_2 " Bed"
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 设置"); //MSG_PREHEAT_2 " conf"
@@ -196,12 +176,7 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("移动Y"); //"Move Y"
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("移动Z"); //"Move Z"
PROGMEM Language_Str MSG_MOVE_E = _UxGT("挤出机"); //"Extruder"
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("挤出机 ") LCD_STR_E0; //"Extruder"
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("挤出机 ") LCD_STR_E1; //"Extruder"
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("挤出机 ") LCD_STR_E2; //"Extruder"
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("挤出机 ") LCD_STR_E3; //"Extruder"
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("挤出机 ") LCD_STR_E4; //"Extruder"
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("挤出机 ") LCD_STR_E5; //"Extruder"
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("挤出机 *"); //"Extruder"
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("移动 %s mm"); //"Move 0.025mm"
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("移动 0.1 mm"); //"Move 0.1mm"
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("移动 1 mm"); //"Move 1mm"
@@ -209,28 +184,14 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_SPEED = _UxGT("速率"); //"Speed"
PROGMEM Language_Str MSG_BED_Z = _UxGT("热床Z"); //"Bed Z"
PROGMEM Language_Str MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴"); //"Nozzle" 噴嘴
- PROGMEM Language_Str MSG_NOZZLE_0 = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N0; //"Nozzle" 噴嘴
- PROGMEM Language_Str MSG_NOZZLE_1 = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N1; //"Nozzle" 噴嘴
- PROGMEM Language_Str MSG_NOZZLE_2 = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N2; //"Nozzle" 噴嘴
- PROGMEM Language_Str MSG_NOZZLE_3 = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N3; //"Nozzle" 噴嘴
- PROGMEM Language_Str MSG_NOZZLE_4 = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N4; //"Nozzle" 噴嘴
- PROGMEM Language_Str MSG_NOZZLE_5 = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N5; //"Nozzle" 噴嘴
+ PROGMEM Language_Str MSG_NOZZLE_N = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ~"); //"Nozzle" 噴嘴
PROGMEM Language_Str MSG_BED = " " LCD_STR_THERMOMETER _UxGT(" 热床"); //"Bed"
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("风扇速率"); //"Fan speed"
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("风扇速率 1"); //"Fan speed"
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("风扇速率 2"); //"Fan speed"
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("风扇速率 3"); //"Fan speed"
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("风扇速率 ="); //"Fan speed"
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("额外风扇速率"); // "Extra fan speed"
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("额外风扇速率 1"); // "Extra fan speed"
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("额外风扇速率 2"); // "Extra fan speed"
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("额外风扇速率 3"); // "Extra fan speed"
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("额外风扇速率 ="); // "Extra fan speed"
PROGMEM Language_Str MSG_FLOW = _UxGT("挤出速率"); //"Flow"
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("挤出速率 ") LCD_STR_N0; //"Flow"
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("挤出速率 ") LCD_STR_N1; //"Flow"
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("挤出速率 ") LCD_STR_N2; //"Flow"
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("挤出速率 ") LCD_STR_N3; //"Flow"
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("挤出速率 ") LCD_STR_N4; //"Flow"
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("挤出速率 ") LCD_STR_N5; //"Flow"
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("挤出速率 ~"); //"Flow"
PROGMEM Language_Str MSG_CONTROL = _UxGT("控制"); //"Control"
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" 最小"); //" " LCD_STR_THERMOMETER " Min"
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" 最大"); //" " LCD_STR_THERMOMETER " Max"
@@ -239,40 +200,15 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("开"); //"On"
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("关"); //"Off"
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P"); //"PID-P"
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I"); //"PID-I"
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D"); //"PID-D"
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C"); //"PID-C"
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("选择"); //"Select"
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("选择 ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("选择 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("选择 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("选择 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("选择 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("选择 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("选择 *");
PROGMEM Language_Str MSG_ACC = _UxGT("加速度"); //"Accel" acceleration
PROGMEM Language_Str MSG_JERK = _UxGT("抖动速率"); // "Jerk"
PROGMEM Language_Str MSG_VA_JERK = _UxGT("轴抖动速率") LCD_STR_A; //"Va-jerk"
@@ -284,12 +220,7 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("最大进料速率") LCD_STR_B; //"Vmax " max_feedrate_mm_s
PROGMEM Language_Str MSG_VMAX_C = _UxGT("最大进料速率") LCD_STR_C; //"Vmax " max_feedrate_mm_s
PROGMEM Language_Str MSG_VMAX_E = _UxGT("最大进料速率") LCD_STR_E; //"Vmax " max_feedrate_mm_s
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("最大进料速率 ") LCD_STR_E0; //"Vmax " max_feedrate_mm_s
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("最大进料速率 ") LCD_STR_E1; //"Vmax " max_feedrate_mm_s
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("最大进料速率 ") LCD_STR_E2; //"Vmax " max_feedrate_mm_s
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("最大进料速率 ") LCD_STR_E3; //"Vmax " max_feedrate_mm_s
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("最大进料速率 ") LCD_STR_E4; //"Vmax " max_feedrate_mm_s
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("最大进料速率 ") LCD_STR_E5; //"Vmax " max_feedrate_mm_s
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("最大进料速率 *"); //"Vmax " max_feedrate_mm_s
PROGMEM Language_Str MSG_VMIN = _UxGT("最小进料速率"); //"Vmin" min_feedrate_mm_s
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("最小移动速率"); //"VTrav min" min_travel_feedrate_mm_s, (target) speed of the move
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("加速度"); // "Acceleration"
@@ -297,12 +228,7 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("最大打印加速度") LCD_STR_B; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
PROGMEM Language_Str MSG_AMAX_C = _UxGT("最大打印加速度") LCD_STR_C; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
PROGMEM Language_Str MSG_AMAX_E = _UxGT("最大打印加速度") LCD_STR_E; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("最大打印加速度 ") LCD_STR_E0; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("最大打印加速度 ") LCD_STR_E1; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("最大打印加速度 ") LCD_STR_E2; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("最大打印加速度 ") LCD_STR_E3; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("最大打印加速度 ") LCD_STR_E4; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("最大打印加速度 ") LCD_STR_E5; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("最大打印加速度 *"); //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("收进加速度"); //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("非打印移动加速度"); //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("轴步数/mm"); //"Steps/mm" axis_steps_per_mm, axis steps-per-unit G92
@@ -310,23 +236,13 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("轴步数/mm"); //"Bsteps/mm"
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("轴步数/mm"); //"Csteps/mm"
PROGMEM Language_Str MSG_E_STEPS = _UxGT("挤出机步数/mm"); //"Esteps/mm"
- PROGMEM Language_Str MSG_E0_STEPS = _UxGT("挤出机") LCD_STR_N0 _UxGT("步数/mm");
- PROGMEM Language_Str MSG_E1_STEPS = _UxGT("挤出机") LCD_STR_N1 _UxGT("步数/mm");
- PROGMEM Language_Str MSG_E2_STEPS = _UxGT("挤出机") LCD_STR_N2 _UxGT("步数/mm");
- PROGMEM Language_Str MSG_E3_STEPS = _UxGT("挤出机") LCD_STR_N3 _UxGT("步数/mm");
- PROGMEM Language_Str MSG_E4_STEPS = _UxGT("挤出机") LCD_STR_N4 _UxGT("步数/mm");
- PROGMEM Language_Str MSG_E5_STEPS = _UxGT("挤出机") LCD_STR_N5 _UxGT("步数/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("挤出机~步数/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("温度"); //"Temperature"
PROGMEM Language_Str MSG_MOTION = _UxGT("运动"); //"Motion"
PROGMEM Language_Str MSG_FILAMENT = _UxGT("丝料测容"); //"Filament" menu_advanced_filament
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("测容积mm³"); //"E in mm3" volumetric_enabled
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("丝料直径"); //"Fil. Dia."
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("丝料直径 ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("丝料直径 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("丝料直径 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("丝料直径 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("丝料直径 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("丝料直径 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("丝料直径 *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("卸载 mm"); // "Unload mm"
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("装载 mm"); // "Load mm"
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD对比度"); //"LCD contrast"
@@ -360,24 +276,11 @@ namespace Language_zh_CN {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); // "S UnRet V"
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("自动抽回"); //"AutoRetr." autoretract_enabled,
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("更换丝料"); //"Change filament"
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("更换丝料 ") LCD_STR_E0; //"Change filament"
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("更换丝料 ") LCD_STR_E1; //"Change filament"
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("更换丝料 ") LCD_STR_E2; //"Change filament"
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("更换丝料 ") LCD_STR_E3; //"Change filament"
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("更换丝料 ") LCD_STR_E4; //"Change filament"
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("更换丝料 ") LCD_STR_E5; //"Change filament"
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("装载丝料 ") LCD_STR_E0; // "Load filament"
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("装载丝料 ") LCD_STR_E1; // "Load filament"
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("装载丝料 ") LCD_STR_E2; // "Load filament"
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("装载丝料 ") LCD_STR_E3; // "Load filament"
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("装载丝料 ") LCD_STR_E4; // "Load filament"
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("装载丝料 ") LCD_STR_E5; // "Load filament"
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("卸载丝料 ") LCD_STR_E0; // "Unload filament"
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("卸载丝料 ") LCD_STR_E1; // "Unload filament"
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("卸载丝料 ") LCD_STR_E2; // "Unload filament"
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("卸载丝料 ") LCD_STR_E3; // "Unload filament"
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("卸载丝料 ") LCD_STR_E4; // "Unload filament"
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("卸载丝料 ") LCD_STR_E5; // "Unload filament"
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("更换丝料 *"); //"Change filament"
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("装载丝料"); // "Load filament"
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("装载丝料 *"); // "Load filament"
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("卸载丝料"); // "Unload filament"
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("卸载丝料 *"); // "Unload filament"
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("卸载全部"); // "Unload All"
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("初始化存储卡"); //"Init. SD card"
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("更换存储卡"); //"Change SD card"
diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h
index 051e71cca..1042f841e 100644
--- a/Marlin/src/lcd/language/language_zh_TW.h
+++ b/Marlin/src/lcd/language/language_zh_TW.h
@@ -57,36 +57,16 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("偏移已啟用"); //"Offsets applied"
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("設置原點"); //"Set origin"
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("預熱 ") PREHEAT_1_LABEL; //"Preheat PREHEAT_1_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N0; //"Preheat PREHEAT_1_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N1; //"Preheat PREHEAT_1_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N2; //"Preheat PREHEAT_1_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N3; //"Preheat PREHEAT_1_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N4; //"Preheat PREHEAT_1_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N5; //"Preheat PREHEAT_1_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("預熱 ") PREHEAT_1_LABEL " ~"; //"Preheat PREHEAT_1_LABEL"
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴"); //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N0; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N1; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N2; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N3; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N4; //MSG_PREHEAT_1 " "
- PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N5; //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ~"); //MSG_PREHEAT_1 " "
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 全部"); //MSG_PREHEAT_1 " All"
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 熱床"); //MSG_PREHEAT_1 " Bed"
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 設置"); //MSG_PREHEAT_1 " conf"
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("預熱 ") PREHEAT_2_LABEL; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N0; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N1; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N2; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N3; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N4; //"Preheat PREHEAT_2_LABEL"
- PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N5; //"Preheat PREHEAT_2_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_2_H = _UxGT("預熱 ") PREHEAT_2_LABEL " ~"; //"Preheat PREHEAT_2_LABEL"
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴"); //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N0; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N1; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N2; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N3; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N4; //MSG_PREHEAT_2 " "
- PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N5; //MSG_PREHEAT_2 " "
+ PROGMEM Language_Str MSG_PREHEAT_2_END_E = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ~"); //MSG_PREHEAT_2 " "
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 全部"); //MSG_PREHEAT_2 " All"
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 熱床"); //MSG_PREHEAT_2 " Bed"
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 設置"); //MSG_PREHEAT_2 " conf"
@@ -196,12 +176,7 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("移動Y"); //"Move Y"
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("移動Z"); //"Move Z"
PROGMEM Language_Str MSG_MOVE_E = _UxGT("擠出機"); //"Extruder"
- PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("擠出機 ") LCD_STR_E0;
- PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("擠出機 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("擠出機 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("擠出機 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("擠出機 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("擠出機 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("擠出機 *");
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("移動 %s mm"); //"Move 0.025mm"
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("移動 0.1 mm"); //"Move 0.1mm"
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("移動 1 mm"); //"Move 1mm"
@@ -209,28 +184,14 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_SPEED = _UxGT("速率"); //"Speed"
PROGMEM Language_Str MSG_BED_Z = _UxGT("熱床Z"); //"Bed Z"
PROGMEM Language_Str MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴"); //"Nozzle" 噴嘴
- PROGMEM Language_Str MSG_NOZZLE_0 = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N0;
- PROGMEM Language_Str MSG_NOZZLE_1 = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N1;
- PROGMEM Language_Str MSG_NOZZLE_2 = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N2;
- PROGMEM Language_Str MSG_NOZZLE_3 = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N3;
- PROGMEM Language_Str MSG_NOZZLE_4 = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N4;
- PROGMEM Language_Str MSG_NOZZLE_5 = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N5;
+ PROGMEM Language_Str MSG_NOZZLE_N = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ~");
PROGMEM Language_Str MSG_BED = " " LCD_STR_THERMOMETER _UxGT(" 熱床"); //"Bed"
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("風扇速率"); //"Fan speed"
- PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("風扇速率 1");
- PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("風扇速率 2");
- PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("風扇速率 3");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("風扇速率 =");
PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("額外風扇速率"); // "Extra fan speed"
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1 = _UxGT("額外風扇速率 1");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2 = _UxGT("額外風扇速率 2");
- PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3 = _UxGT("額外風扇速率 3");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("額外風扇速率 =");
PROGMEM Language_Str MSG_FLOW = _UxGT("擠出速率");
- PROGMEM Language_Str MSG_FLOW_0 = _UxGT("擠出速率 ") LCD_STR_N0; //"Flow"
- PROGMEM Language_Str MSG_FLOW_1 = _UxGT("擠出速率 ") LCD_STR_N1; //"Flow"
- PROGMEM Language_Str MSG_FLOW_2 = _UxGT("擠出速率 ") LCD_STR_N2; //"Flow"
- PROGMEM Language_Str MSG_FLOW_3 = _UxGT("擠出速率 ") LCD_STR_N3; //"Flow"
- PROGMEM Language_Str MSG_FLOW_4 = _UxGT("擠出速率 ") LCD_STR_N4; //"Flow"
- PROGMEM Language_Str MSG_FLOW_5 = _UxGT("擠出速率 ") LCD_STR_N5; //"Flow"
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("擠出速率 ~"); //"Flow"
PROGMEM Language_Str MSG_CONTROL = _UxGT("控制"); //"Control"
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" 最小"); //" " LCD_STR_THERMOMETER " Min"
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" 最大"); //" " LCD_STR_THERMOMETER " Max"
@@ -239,40 +200,15 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_LCD_ON = _UxGT("開"); //"On"
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("關"); //"Off"
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P"); //"PID-P"
- PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I"); //"PID-I"
- PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D"); //"PID-D"
- PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C"); //"PID-C"
- PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
- PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
- PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
- PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
- PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
- PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
PROGMEM Language_Str MSG_SELECT = _UxGT("選擇"); //"Select"
- PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("選擇 ") LCD_STR_E0;
- PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("選擇 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("選擇 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("選擇 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("選擇 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("選擇 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("選擇 *");
PROGMEM Language_Str MSG_ACC = _UxGT("加速度"); //"Accel" acceleration
PROGMEM Language_Str MSG_JERK = _UxGT("抖動速率"); //"Jerk"
PROGMEM Language_Str MSG_VA_JERK = _UxGT("軸抖動速率") LCD_STR_A; //"Va-jerk"
@@ -284,12 +220,7 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_VMAX_B = _UxGT("最大進料速率") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("最大進料速率") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("最大進料速率") LCD_STR_E;
- PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("最大進料速率 ") LCD_STR_E0; //"Vmax " max_feedrate_mm_s
- PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("最大進料速率 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("最大進料速率 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("最大進料速率 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("最大進料速率 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("最大進料速率 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("最大進料速率 *"); //"Vmax " max_feedrate_mm_s
PROGMEM Language_Str MSG_VMIN = _UxGT("最小進料速率"); //"Vmin" min_feedrate_mm_s
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("最小移動速率"); //"VTrav min" min_travel_feedrate_mm_s, (target) speed of the move
PROGMEM Language_Str MSG_ACCELERATION = _UxGT("加速度"); // "Acceleration"
@@ -297,12 +228,7 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_AMAX_B = _UxGT("最大列印加速度") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("最大列印加速度") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("最大列印加速度") LCD_STR_E;
- PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("最大列印加速度 ") LCD_STR_E0; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
- PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("最大列印加速度 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("最大列印加速度 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("最大列印加速度 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("最大列印加速度 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("最大列印加速度 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("最大列印加速度 *"); //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("回縮加速度"); //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("非列印移動加速度"); //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("軸步數/mm"); //"Steps/mm" axis_steps_per_mm, axis steps-per-unit G92
@@ -310,23 +236,13 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("軸步數/mm");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("軸步數/mm");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("擠出機步數/mm"); //"Esteps/mm"
- PROGMEM Language_Str MSG_E0_STEPS = _UxGT("擠出機") LCD_STR_N0 _UxGT("步數/mm");
- PROGMEM Language_Str MSG_E1_STEPS = _UxGT("擠出機") LCD_STR_N1 _UxGT("步數/mm");
- PROGMEM Language_Str MSG_E2_STEPS = _UxGT("擠出機") LCD_STR_N2 _UxGT("步數/mm");
- PROGMEM Language_Str MSG_E3_STEPS = _UxGT("擠出機") LCD_STR_N3 _UxGT("步數/mm");
- PROGMEM Language_Str MSG_E4_STEPS = _UxGT("擠出機") LCD_STR_N4 _UxGT("步數/mm");
- PROGMEM Language_Str MSG_E5_STEPS = _UxGT("擠出機") LCD_STR_N5 _UxGT("步數/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("擠出機~步數/mm");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("溫度"); //"Temperature"
PROGMEM Language_Str MSG_MOTION = _UxGT("運作"); //"Motion"
PROGMEM Language_Str MSG_FILAMENT = _UxGT("絲料測容"); //"Filament" menu_control_volumetric
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("測容積mm³"); //"E in mm3" volumetric_enabled
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("絲料直徑"); //"Fil. Dia."
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("絲料直徑 ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("絲料直徑 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("絲料直徑 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("絲料直徑 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("絲料直徑 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("絲料直徑 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("絲料直徑 *");
PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("卸載 mm"); // "Unload mm"
PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("装載 mm"); // "Load mm"
PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD對比度"); //"LCD contrast"
@@ -360,25 +276,11 @@ namespace Language_zh_TW {
PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); // "S UnRet V"
PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("自動回縮"); //"AutoRetr." autoretract_enabled,
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("更換絲料"); //"Change filament"
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("更換絲料 ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("更換絲料 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("更換絲料 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("更換絲料 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("更換絲料 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("更換絲料 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("更換絲料 *");
PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("裝載絲料"); // "Load filament"
- PROGMEM Language_Str MSG_FILAMENTLOAD_E0 = _UxGT("裝載絲料 ") LCD_STR_E0;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E1 = _UxGT("裝載絲料 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E2 = _UxGT("裝載絲料 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E3 = _UxGT("裝載絲料 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E4 = _UxGT("裝載絲料 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTLOAD_E5 = _UxGT("裝載絲料 ") LCD_STR_E5;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0 = _UxGT("卸載絲料 ") LCD_STR_E0; // "Unload filament"
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1 = _UxGT("卸載絲料 ") LCD_STR_E1;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2 = _UxGT("卸載絲料 ") LCD_STR_E2;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3 = _UxGT("卸載絲料 ") LCD_STR_E3;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4 = _UxGT("卸載絲料 ") LCD_STR_E4;
- PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5 = _UxGT("卸載絲料 ") LCD_STR_E5;
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("裝載絲料 *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("卸載絲料"); // "Unload filament"
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("卸載絲料 *"); // "Unload filament"
PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("卸載全部"); // "Unload All"
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("初始化記憶卡"); //"Init. SD card"
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("更換記憶卡"); //"Change SD card"
diff --git a/Marlin/src/lcd/lcdprint.cpp b/Marlin/src/lcd/lcdprint.cpp
new file mode 100644
index 000000000..cfc14080f
--- /dev/null
+++ b/Marlin/src/lcd/lcdprint.cpp
@@ -0,0 +1,63 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ */
+
+/**
+ * lcdprint.cpp
+ */
+
+#include "../inc/MarlinConfigPre.h"
+
+#if HAS_SPI_LCD
+
+#include "lcdprint.h"
+#include "../core/language.h"
+
+/**
+ * lcd_put_u8str_ind_P
+ * Print a string with an index substituted within it
+ */
+uint8_t lcd_put_u8str_ind_P(PGM_P const pstr, const uint8_t ind, const uint8_t maxlen/*=LCD_WIDTH*/) {
+ uint8_t *p = (uint8_t*)pstr;
+ uint8_t n = maxlen;
+ for (; n; n--) {
+ wchar_t ch;
+ p = get_utf8_value_cb(p, read_byte_rom, &ch);
+ if (!ch) break;
+ if (ch == '=' || ch == '~' || ch == '*') {
+ if (ch == '*') { lcd_put_wchar('E'); n--; }
+ // lcd_put_int(ind); n--; if (ind >= 10) n--;
+ // if (ind >= 0)
+ {
+ lcd_put_wchar(ind + ((ch == '=') ? '0' : LCD_FIRST_TOOL));
+ n--;
+ }
+ // else if (ind == -1) { PGM_P const b = GET_TEXT(MSG_BED); lcd_put_u8str_P(b); n -= utf8_strlen_P(b); }
+ // else if (ind == -2) { PGM_P const c = GET_TEXT(MSG_CHAMBER); lcd_put_u8str_P(c); n -= utf8_strlen_P(c); }
+ if (n) n -= lcd_put_u8str_max_P((PGM_P)p, n);
+ break;
+ }
+ lcd_put_wchar(ch);
+ }
+ return n;
+}
+
+#endif // HAS_SPI_LCD
diff --git a/Marlin/src/lcd/lcdprint.h b/Marlin/src/lcd/lcdprint.h
index f35bc8169..91b5e686b 100644
--- a/Marlin/src/lcd/lcdprint.h
+++ b/Marlin/src/lcd/lcdprint.h
@@ -60,13 +60,31 @@ inline int lcd_put_u8str_max_P(const lcd_uint_t col, const lcd_uint_t row, PGM_P
}
void lcd_put_int(const int i);
-inline void lcd_put_int(const lcd_uint_t col, const lcd_uint_t row, const int i) { lcd_moveto(col, row); lcd_put_int(i); }
+inline void lcd_put_int(const lcd_uint_t col, const lcd_uint_t row, const int i) {
+ lcd_moveto(col, row);
+ lcd_put_int(i);
+}
-inline int lcd_put_u8str_P(PGM_P str) { return lcd_put_u8str_max_P(str, PIXEL_LEN_NOLIMIT); }
-inline int lcd_put_u8str_P(const lcd_uint_t col, const lcd_uint_t row, PGM_P str) { lcd_moveto(col, row); return lcd_put_u8str_P(str); }
+inline int lcd_put_u8str_P(PGM_P const pstr) { return lcd_put_u8str_max_P(pstr, PIXEL_LEN_NOLIMIT); }
+inline int lcd_put_u8str_P(const lcd_uint_t col, const lcd_uint_t row, PGM_P const pstr) {
+ lcd_moveto(col, row);
+ return lcd_put_u8str_P(pstr);
+}
+
+uint8_t lcd_put_u8str_ind_P(PGM_P const pstr, const uint8_t ind, const uint8_t maxlen=20);
+inline uint8_t lcd_put_u8str_ind_P(const lcd_uint_t col, const lcd_uint_t row, PGM_P const pstr, const uint8_t ind, const uint8_t maxlen=20) {
+ lcd_moveto(col, row);
+ return lcd_put_u8str_ind_P(pstr, ind, maxlen);
+}
inline int lcd_put_u8str(const char* str) { return lcd_put_u8str_max(str, PIXEL_LEN_NOLIMIT); }
-inline int lcd_put_u8str(const lcd_uint_t col, const lcd_uint_t row, PGM_P str) { lcd_moveto(col, row); return lcd_put_u8str(str); }
+inline int lcd_put_u8str(const lcd_uint_t col, const lcd_uint_t row, PGM_P const str) {
+ lcd_moveto(col, row);
+ return lcd_put_u8str(str);
+}
inline int lcd_put_wchar(const wchar_t c) { return lcd_put_wchar_max(c, PIXEL_LEN_NOLIMIT); }
-inline int lcd_put_wchar(const lcd_uint_t col, const lcd_uint_t row, const wchar_t c) { lcd_moveto(col, row); return lcd_put_wchar(c); }
+inline int lcd_put_wchar(const lcd_uint_t col, const lcd_uint_t row, const wchar_t c) {
+ lcd_moveto(col, row);
+ return lcd_put_wchar(c);
+}
diff --git a/Marlin/src/lcd/menu/menu.cpp b/Marlin/src/lcd/menu/menu.cpp
index fda49bb51..f4a2e6cbb 100644
--- a/Marlin/src/lcd/menu/menu.cpp
+++ b/Marlin/src/lcd/menu/menu.cpp
@@ -64,15 +64,17 @@ typedef struct {
} menuPosition;
menuPosition screen_history[6];
uint8_t screen_history_depth = 0;
-bool screen_changed;
-// Value Editing
-chimera_t editable;
-PGM_P MenuEditItemBase::editLabel;
-void* MenuEditItemBase::editValue;
-int32_t MenuEditItemBase::minEditValue, MenuEditItemBase::maxEditValue;
+uint8_t MenuItemBase::itemIndex; // Index number for draw and action
+chimera_t editable; // Value Editing
+
+// Menu Edit Items
+PGM_P MenuEditItemBase::editLabel;
+void* MenuEditItemBase::editValue;
+int32_t MenuEditItemBase::minEditValue,
+ MenuEditItemBase::maxEditValue;
screenFunc_t MenuEditItemBase::callbackFunc;
-bool MenuEditItemBase::liveEdit;
+bool MenuEditItemBase::liveEdit;
// Prevent recursion into screen handlers
bool no_reentry = false;
@@ -121,17 +123,15 @@ void MenuItem_gcode::action(PGM_P const, PGM_P const pgcode) { queue.inject_P(pg
/**
* Functions for editing single values
*
- * The "DEFINE_MENU_EDIT_ITEM" macro generates the functions needed to edit a numerical value.
+ * The "DEFINE_MENU_EDIT_ITEM" macro generates the classes needed to edit a numerical value.
*
* The prerequisite is that in the header the type was already declared:
*
- * DECLARE_MENU_EDIT_TYPE(int16_t, int3, i16tostr3, 1)
+ * DEFINE_MENU_EDIT_ITEM_TYPE(int16_t, int3, i16tostr3, 1)
*
- * For example, DEFINE_MENU_EDIT_ITEM(int3) expands into these functions:
+ * For example, DEFINE_MENU_EDIT_ITEM(int3) expands into:
*
- * bool MenuItem_int3::_edit();
- * void MenuItem_int3::edit(); // edit int16_t (interactively)
- * void MenuItem_int3::action(PGM_P const pstr, int16_t * const ptr, const int32_t minValue, const int32_t maxValue, const screenFunc_t callback = null, const bool live = false);
+ * template class TMenuEditItem
*
* You can then use one of the menu macros to present the edit interface:
* EDIT_ITEM(int3, MSG_SPEED, &feedrate_percentage, 10, 999)
@@ -143,14 +143,14 @@ void MenuItem_gcode::action(PGM_P const, PGM_P const pgcode) { queue.inject_P(pg
* MenuItem_int3::action(plabel, &feedrate_percentage, 10, 999)
* MenuItem_int3::draw(encoderLine == _thisItemNr, _lcdLineNr, plabel, &feedrate_percentage, 10, 999)
*/
-void MenuEditItemBase::edit(strfunc_t strfunc, loadfunc_t loadfunc) {
+void MenuEditItemBase::edit_screen(strfunc_t strfunc, loadfunc_t loadfunc) {
#if ENABLED(TOUCH_BUTTONS)
ui.repeat_delay = BUTTON_DELAY_EDIT;
#endif
if (int32_t(ui.encoderPosition) < 0) ui.encoderPosition = 0;
if (int32_t(ui.encoderPosition) > maxEditValue) ui.encoderPosition = maxEditValue;
if (ui.should_draw())
- edit_screen(editLabel, strfunc(ui.encoderPosition + minEditValue));
+ draw_edit_screen(strfunc(ui.encoderPosition + minEditValue));
if (ui.lcd_clicked || (liveEdit && ui.should_draw())) {
if (editValue != nullptr) loadfunc(editValue, ui.encoderPosition + minEditValue);
if (callbackFunc && (liveEdit || ui.lcd_clicked)) (*callbackFunc)();
@@ -158,7 +158,17 @@ void MenuEditItemBase::edit(strfunc_t strfunc, loadfunc_t loadfunc) {
}
}
-void MenuEditItemBase::init(PGM_P const el, void * const ev, const int32_t minv, const int32_t maxv, const uint16_t ep, const screenFunc_t cs, const screenFunc_t cb, const bool le) {
+void MenuEditItemBase::goto_edit_screen(
+ PGM_P const el, // Edit label
+ void * const ev, // Edit value pointer
+ const int32_t minv, // Encoder minimum
+ const int32_t maxv, // Encoder maximum
+ const uint16_t ep, // Initial encoder value
+ const screenFunc_t cs, // MenuItem_type::draw_edit_screen => MenuEditItemBase::edit()
+ const screenFunc_t cb, // Callback after edit
+ const bool le // Flag to call cb() during editing
+) {
+ ui.screen_changed = true;
ui.save_previous_screen();
ui.refresh();
editLabel = el;
@@ -171,6 +181,7 @@ void MenuEditItemBase::init(PGM_P const el, void * const ev, const int32_t minv,
liveEdit = le;
}
+// TODO: Remove these but test build size with and without
#define DEFINE_MENU_EDIT_ITEM(NAME) template class TMenuEditItem
DEFINE_MENU_EDIT_ITEM(percent); // 100% right-justified
@@ -193,8 +204,8 @@ DEFINE_MENU_EDIT_ITEM(float52sign); // +123.45
DEFINE_MENU_EDIT_ITEM(long5); // 12345 right-justified
DEFINE_MENU_EDIT_ITEM(long5_25); // 12345 right-justified (25 increment)
-void MenuItem_bool::action(PGM_P pstr, bool *ptr, screenFunc_t callback) {
- UNUSED(pstr); *ptr ^= true; ui.refresh();
+void MenuItem_bool::action(PGM_P const, bool * const ptr, screenFunc_t callback) {
+ *ptr ^= true; ui.refresh();
if (callback) (*callback)();
}
@@ -344,7 +355,7 @@ void scroll_screen(const uint8_t limit, const bool is_menu) {
if (int32_t(ui.encoderPosition) < 0) ui.encoderPosition = 0;
if (ui.first_page) {
encoderLine = ui.encoderPosition / (ENCODER_STEPS_PER_MENU_ITEM);
- screen_changed = false;
+ ui.screen_changed = false;
}
if (screen_items > 0 && encoderLine >= screen_items - limit) {
encoderLine = _MAX(0, screen_items - limit);
@@ -418,10 +429,10 @@ void scroll_screen(const uint8_t limit, const bool is_menu) {
if (ui.should_draw()) {
#if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
if (!do_probe)
- MenuEditItemBase::edit_screen(GET_TEXT(MSG_HOTEND_OFFSET_Z), ftostr43sign(hotend_offset[active_extruder].z));
+ MenuEditItemBase::draw_edit_screen(GET_TEXT(MSG_HOTEND_OFFSET_Z), ftostr43sign(hotend_offset[active_extruder].z));
else
#endif
- MenuEditItemBase::edit_screen(GET_TEXT(MSG_ZPROBE_ZOFFSET), ftostr43sign(probe_offset.z));
+ MenuEditItemBase::draw_edit_screen(GET_TEXT(MSG_ZPROBE_ZOFFSET), ftostr43sign(probe_offset.z));
#if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
if (do_probe) _lcd_zoffset_overlay_gfx(probe_offset.z);
diff --git a/Marlin/src/lcd/menu/menu.h b/Marlin/src/lcd/menu/menu.h
index e8feeee9d..ce821d0dd 100644
--- a/Marlin/src/lcd/menu/menu.h
+++ b/Marlin/src/lcd/menu/menu.h
@@ -28,7 +28,6 @@
#include "limits.h"
extern int8_t encoderLine, encoderTopLine, screen_items;
-extern bool screen_changed;
#if HOTENDS
constexpr int16_t heater_maxtemp[HOTENDS] = ARRAY_BY_HOTENDS(HEATER_0_MAXTEMP, HEATER_1_MAXTEMP, HEATER_2_MAXTEMP, HEATER_3_MAXTEMP, HEATER_4_MAXTEMP, HEATER_5_MAXTEMP);
@@ -52,24 +51,32 @@ typedef void (*selectFunc_t)();
///////////// Base Menu Items //////////////
////////////////////////////////////////////
-class MenuItem_static {
- public:
- static void draw(const uint8_t row, PGM_P const pstr, const uint8_t style=SS_DEFAULT, const char * const valstr=nullptr);
-};
-
class MenuItemBase {
public:
+ // An index to interject in the item label and for
+ // use by the action
+ static uint8_t itemIndex;
+
+ // Store the index of the item ahead of use by indexed items
+ FORCE_INLINE static void init(const uint8_t ind) { itemIndex = ind; }
+
// Draw an item either selected (pre_char) or not (space) with post_char
static void _draw(const bool sel, const uint8_t row, PGM_P const pstr, const char pre_char, const char post_char);
// Draw an item either selected ('>') or not (space) with post_char
- FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const char post_char) {
+ FORCE_INLINE static void _draw(const bool sel, const uint8_t row, PGM_P const pstr, const char post_char) {
_draw(sel, row, pstr, '>', post_char);
}
};
-// CONFIRM_ITEM(PLABEL,Y,N,FY,FN,V...), YESNO_ITEM(PLABEL,FY,FN,V...)
-class MenuItem_confirm : MenuItemBase {
+class MenuItem_static : public MenuItemBase {
+ public:
+ static void draw(const uint8_t row, PGM_P const pstr, const uint8_t style=SS_DEFAULT, const char * const valstr=nullptr);
+};
+
+// CONFIRM_ITEM(LABEL,Y,N,FY,FN,V...),
+// YESNO_ITEM(LABEL,FY,FN,V...)
+class MenuItem_confirm : public MenuItemBase {
public:
FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
_draw(sel, row, pstr, '>', LCD_STR_ARROW_RIGHT[0]);
@@ -104,16 +111,17 @@ class MenuItem_confirm : MenuItemBase {
}
};
-// BACK_ITEM(PLABEL)
+// BACK_ITEM(LABEL)
class MenuItem_back : public MenuItemBase {
public:
FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr) {
_draw(sel, row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0]);
}
- static inline void action(PGM_P const=nullptr) { ui.go_back(); }
+ // Back Item action goes back one step in history
+ FORCE_INLINE static void action(PGM_P const=nullptr) { ui.go_back(); }
};
-// SUBMENU(PLABEL, screen_handler)
+// SUBMENU(LABEL, screen_handler)
class MenuItem_submenu : public MenuItemBase {
public:
FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
@@ -122,21 +130,29 @@ class MenuItem_submenu : public MenuItemBase {
static inline void action(PGM_P const, const screenFunc_t func) { ui.save_previous_screen(); ui.goto_screen(func); }
};
-// GCODE_ITEM(PLABEL, gcode)
-class MenuItem_gcode : public MenuItemBase {
+// Any menu item that invokes an immediate action
+class MenuItem_button : public MenuItemBase {
+ public:
+ // Button-y Items are selectable lines with no other indicator
+ static inline void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
+ _draw(sel, row, pstr, '>', ' ');
+ }
+};
+
+// GCODES_ITEM(LABEL, GCODES)
+class MenuItem_gcode : public MenuItem_button {
public:
FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
_draw(sel, row, pstr, '>', ' ');
}
static void action(PGM_P const, const char * const pgcode);
+ static inline void action(PGM_P const pstr, const uint8_t, const char * const pgcode) { action(pstr, pgcode); }
};
-// ACTION_ITEM(PLABEL, function)
-class MenuItem_function : public MenuItemBase {
+// ACTION_ITEM(LABEL, FUNC)
+class MenuItem_function : public MenuItem_button {
public:
- FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
- _draw(sel, row, pstr, '>', ' ');
- }
+ //static inline void action(PGM_P const, const uint8_t, const menuAction_t func) { (*func)(); };
static inline void action(PGM_P const, const menuAction_t func) { (*func)(); };
};
@@ -144,6 +160,7 @@ class MenuItem_function : public MenuItemBase {
class CardReader;
class MenuItem_sdbase {
public:
+ // Implemented for HD44780 and DOGM
static void draw(const bool sel, const uint8_t row, PGM_P const pstr, CardReader &theCard, const bool isDir);
};
#endif
@@ -165,9 +182,13 @@ typedef union {
} chimera_t;
extern chimera_t editable;
-// Edit items use long integer encoder units
+// Base class for Menu Edit Items
class MenuEditItemBase : public MenuItemBase {
private:
+ // These values are statically constructed by init() via action()
+ // The action() method acts like the instantiator. The entire lifespan
+ // of a menu item is within its declaration, so all these values decompose
+ // into behavior and unused items get optimized out.
static PGM_P editLabel;
static void *editValue;
static int32_t minEditValue, maxEditValue; // Encoder value range
@@ -176,21 +197,31 @@ class MenuEditItemBase : public MenuItemBase {
protected:
typedef const char* (*strfunc_t)(const int32_t);
typedef void (*loadfunc_t)(void *, const int32_t);
- static void init(PGM_P const el, void * const ev, const int32_t minv, const int32_t maxv, const uint16_t ep, const screenFunc_t cs, const screenFunc_t cb, const bool le);
- static void edit(strfunc_t, loadfunc_t);
+ static void goto_edit_screen(
+ PGM_P const el, // Edit label
+ void * const ev, // Edit value pointer
+ const int32_t minv, // Encoder minimum
+ const int32_t maxv, // Encoder maximum
+ const uint16_t ep, // Initial encoder value
+ const screenFunc_t cs, // MenuItem_type::draw_edit_screen => MenuEditItemBase::edit()
+ const screenFunc_t cb, // Callback after edit
+ const bool le // Flag to call cb() during editing
+ );
+ static void edit_screen(strfunc_t, loadfunc_t); // Edit value handler
public:
// Implemented for HD44780 and DOGM
// Draw the current item at specified row with edit data
- static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm);
-
- FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data) { draw(sel, row, pstr, data, false); }
- FORCE_INLINE static void draw_P(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data) { draw(sel, row, pstr, data, true); }
+ static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm=false);
// Implemented for HD44780 and DOGM
// This low-level method is good to draw from anywhere
- static void edit_screen(PGM_P const pstr, const char* const value=nullptr);
+ static void draw_edit_screen(PGM_P const pstr, const char* const value);
+
+ // This method is for the current menu item
+ static inline void draw_edit_screen(const char* const value) { draw_edit_screen(editLabel, value); }
};
+// Template for specific Menu Edit Item Types
template
class TMenuEditItem : MenuEditItemBase {
private:
@@ -206,6 +237,8 @@ class TMenuEditItem : MenuEditItemBase {
FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, type_t (*pget)(), ...) {
MenuEditItemBase::draw(sel, row, pstr, NAME::strfunc(pget()));
}
+ // Edit screen for this type of item
+ static void edit_screen() { MenuEditItemBase::edit_screen(to_string, load); }
static void action(
PGM_P const pstr, // Edit label
type_t * const ptr, // Value pointer
@@ -217,9 +250,9 @@ class TMenuEditItem : MenuEditItemBase {
// Make sure minv and maxv fit within int32_t
const int32_t minv = _MAX(scale(minValue), INT32_MIN),
maxv = _MIN(scale(maxValue), INT32_MAX);
- init(pstr, ptr, minv, maxv - minv, scale(*ptr) - minv, edit, callback, live);
+ goto_edit_screen(pstr, ptr, minv, maxv - minv, scale(*ptr) - minv,
+ edit_screen, callback, live);
}
- static void edit() { MenuEditItemBase::edit(to_string, load); }
};
// Provide a set of Edit Item Types which encompass a primitive
@@ -256,15 +289,12 @@ DEFINE_MENU_EDIT_ITEM_TYPE(uint32_t, long5_25, ftostr5rj, 0.04f ); //
class MenuItem_bool : public MenuEditItemBase {
public:
- //#define DRAW_BOOL_SETTING(sel, row, pstr, data) draw_menu_item_edit_P(sel, row, pstr, (*(data))?GET_TEXT(MSG_LCD_ON):GET_TEXT(MSG_LCD_OFF))
FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const bool onoff) {
MenuEditItemBase::draw(sel, row, pstr, onoff ? GET_TEXT(MSG_LCD_ON) : GET_TEXT(MSG_LCD_OFF), true);
}
- //#define draw_menu_item_bool(sel, row, pstr, data, ...) DRAW_BOOL_SETTING(sel, row, pstr, data)
FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, bool * const data, ...) {
draw(sel, row, pstr, *data);
}
- //#define draw_menu_item_accessor_bool(sel, row, pstr, pget, pset) DRAW_BOOL_SETTING(sel, row, pstr, data)
FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, PGM_P const, bool (*pget)(), ...) {
draw(sel, row, pstr, pget());
}
@@ -283,8 +313,10 @@ class MenuItem_bool : public MenuEditItemBase {
* _menuLineNr is the menu item to draw and process
* _thisItemNr is the index of each MENU_ITEM or STATIC_ITEM
*/
-#define SCREEN_OR_MENU_LOOP() \
+#define SCREEN_OR_MENU_LOOP(IS_MENU) \
+ scroll_screen(IS_MENU ? 1 : LCD_HEIGHT, IS_MENU); \
int8_t _menuLineNr = encoderTopLine, _thisItemNr; \
+ bool _skipStatic = IS_MENU; \
for (int8_t _lcdLineNr = 0; _lcdLineNr < LCD_HEIGHT; _lcdLineNr++, _menuLineNr++) { \
_thisItemNr = 0
@@ -295,20 +327,11 @@ class MenuItem_bool : public MenuEditItemBase {
* START_MENU Opening code for a screen with menu items.
* Scroll as-needed to keep the selected line in view.
*/
-#define START_SCREEN() \
- scroll_screen(LCD_HEIGHT, false); \
- bool _skipStatic = false; \
- SCREEN_OR_MENU_LOOP()
-
-#define START_MENU() \
- scroll_screen(1, true); \
- bool _skipStatic = true; \
- SCREEN_OR_MENU_LOOP()
-
-#define END_SCREEN() \
- } \
- screen_items = _thisItemNr
-
+#define START_SCREEN() SCREEN_OR_MENU_LOOP(false)
+#define START_MENU() SCREEN_OR_MENU_LOOP(true)
+#define NEXT_ITEM() (++_thisItemNr)
+#define SKIP_ITEM() NEXT_ITEM()
+#define END_SCREEN() } screen_items = _thisItemNr
#define END_MENU() END_SCREEN(); UNUSED(_skipStatic)
#if ENABLED(ENCODER_RATE_MULTIPLIER)
@@ -328,90 +351,151 @@ class MenuItem_bool : public MenuEditItemBase {
*
* Examples:
* BACK_ITEM(MSG_WATCH)
- * MENU_ITEM(back, MSG_WATCH)
- * MenuItem_back::draw(sel, row, GET_TEXT(MSG_WATCH))
- * MenuItem_back::action()
+ * MenuItem_back::action(plabel, ...)
+ * MenuItem_back::draw(sel, row, plabel, ...)
*
* ACTION_ITEM(MSG_PAUSE_PRINT, lcd_sdcard_pause)
- * MENU_ITEM(function, MSG_PAUSE_PRINT, lcd_sdcard_pause)
- * MenuItem_function::draw(sel, row, GET_TEXT(MSG_PAUSE_PRINT), lcd_sdcard_pause)
- * MenuItem_function::action(GET_TEXT(MSG_PAUSE_PRINT), lcd_sdcard_pause)
+ * MenuItem_function::action(plabel, lcd_sdcard_pause)
+ * MenuItem_function::draw(sel, row, plabel, lcd_sdcard_pause)
*
* EDIT_ITEM(int3, MSG_SPEED, &feedrate_percentage, 10, 999)
- * MenuItem_int3::draw(sel, row, GET_TEXT(MSG_SPEED), &feedrate_percentage, 10, 999)
- * MenuItem_int3::action(GET_TEXT(MSG_SPEED), &feedrate_percentage, 10, 999)
- *
+ * MenuItem_int3::action(plabel, &feedrate_percentage, 10, 999)
+ * MenuItem_int3::draw(sel, row, plabel, &feedrate_percentage, 10, 999)
*/
-#define _MENU_ITEM_P(TYPE, USE_MULTIPLIER, PLABEL, V...) do { \
- _skipStatic = false; \
- if (_menuLineNr == _thisItemNr) { \
- PGM_P const plabel = PLABEL; \
- if (encoderLine == _thisItemNr && ui.use_click()) { \
- _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER); \
- MenuItem_##TYPE::action(plabel, ##V); \
- if (screen_changed) return; \
- } \
- if (ui.should_draw()) \
- MenuItem_##TYPE::draw \
- (encoderLine == _thisItemNr, _lcdLineNr, plabel, ##V); \
- } \
- ++_thisItemNr; \
+
+#define _MENU_INNER_P(TYPE, USE_MULTIPLIER, PLABEL, V...) do { \
+ PGM_P const plabel = PLABEL; \
+ if (encoderLine == _thisItemNr && ui.use_click()) { \
+ _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER); \
+ MenuItem_##TYPE::action(plabel, ##V); \
+ if (ui.screen_changed) return; \
+ } \
+ if (ui.should_draw()) \
+ MenuItem_##TYPE::draw \
+ (encoderLine == _thisItemNr, _lcdLineNr, plabel, ##V); \
}while(0)
-// Used to print static text with no visible cursor.
-// Parameters: label [, bool center [, bool invert [, char *value] ] ]
-#define STATIC_ITEM_P(PLABEL, V...) do{ \
- if (_menuLineNr == _thisItemNr) { \
- if (_skipStatic && encoderLine <= _thisItemNr) { \
- ui.encoderPosition += ENCODER_STEPS_PER_MENU_ITEM; \
- ++encoderLine; \
- } \
- if (ui.should_draw()) \
- MenuItem_static::draw(_lcdLineNr, PLABEL, ##V); \
- } \
- ++_thisItemNr; \
+#define _MENU_ITEM_P(TYPE, V...) do { \
+ _skipStatic = false; \
+ if (_menuLineNr == _thisItemNr) \
+ _MENU_INNER_P(TYPE, ##V); \
+ NEXT_ITEM(); \
+}while(0)
+
+// Indexed items set a global index value
+#define _MENU_ITEM_N_P(TYPE, N, V...) do{ \
+ _skipStatic = false; \
+ if (_menuLineNr == _thisItemNr) { \
+ MenuItemBase::init(N); \
+ _MENU_INNER_P(TYPE, ##V); \
+ } \
+ NEXT_ITEM(); \
+}while(0)
+
+// STATIC_ITEM draws a styled string with no highlight.
+// Parameters: label [, style [, char *value] ]
+
+#define STATIC_ITEM_INNER_P(PLABEL, V...) do{ \
+ if (_skipStatic && encoderLine <= _thisItemNr) { \
+ ui.encoderPosition += ENCODER_STEPS_PER_MENU_ITEM; \
+ ++encoderLine; \
+ } \
+ if (ui.should_draw()) \
+ MenuItem_static::draw(_lcdLineNr, PLABEL, ##V); \
} while(0)
-#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V)
+#define STATIC_ITEM_P(PLABEL, V...) do{ \
+ if (_menuLineNr == _thisItemNr) \
+ STATIC_ITEM_INNER_P(PLABEL, ##V); \
+ NEXT_ITEM(); \
+} while(0)
-#define MENU_ITEM_P(TYPE, PLABEL, V...) _MENU_ITEM_P(TYPE, false, PLABEL, ##V)
-#define MENU_ITEM(TYPE, LABEL, V...) MENU_ITEM_P(TYPE, GET_TEXT(LABEL), ##V)
+#define STATIC_ITEM_N_P(PLABEL, N, V...) do{ \
+ if (_menuLineNr == _thisItemNr) { \
+ MenuItemBase::init(N); \
+ STATIC_ITEM_INNER_P(PLABEL, ##V); \
+ } \
+ NEXT_ITEM(); \
+}while(0)
-#define EDIT_ITEM_P(TYPE, PLABEL, V...) MENU_ITEM_P(TYPE, PLABEL, ##V)
-#define EDIT_ITEM(TYPE, LABEL, V...) EDIT_ITEM_P(TYPE, GET_TEXT(LABEL), ##V)
+#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P( GET_TEXT(LABEL), ##V)
+#define STATIC_ITEM_N(LABEL, N, V...) STATIC_ITEM_N_P(GET_TEXT(LABEL), ##V)
-#define EDIT_ITEM_FAST_P(TYPE, PLABEL, V...) _MENU_ITEM_P(TYPE, true, PLABEL, ##V)
-#define EDIT_ITEM_FAST(TYPE, LABEL, V...) EDIT_ITEM_FAST_P(TYPE, GET_TEXT(LABEL), ##V)
+#define MENU_ITEM_P(TYPE, PLABEL, V...) _MENU_ITEM_P(TYPE, false, PLABEL, ##V)
+#define MENU_ITEM(TYPE, LABEL, V...) MENU_ITEM_P(TYPE, GET_TEXT(LABEL), ##V)
-#define ACTION_ITEM_P(PLABEL, ACTION) MENU_ITEM_P(function, PLABEL, ACTION)
-#define ACTION_ITEM(LABEL, ACTION) ACTION_ITEM_P(GET_TEXT(LABEL), ACTION)
+#define MENU_ITEM_N_P(TYPE, N, PLABEL, V...) _MENU_ITEM_N_P(TYPE, N, false, PLABEL, ##V)
+#define MENU_ITEM_N(TYPE, N, LABEL, V...) MENU_ITEM_N_P(TYPE, N, GET_TEXT(LABEL), ##V)
-#define GCODES_ITEM_P(PLABEL, GCODES) MENU_ITEM_P(gcode, PLABEL, GCODES)
-#define GCODES_ITEM(LABEL, GCODES) GCODES_ITEM_P(GET_TEXT(LABEL), GCODES)
+#define BACK_ITEM(LABEL) MENU_ITEM(back, LABEL)
-#define SUBMENU_P(PLABEL, DEST) MENU_ITEM_P(submenu, PLABEL, DEST)
-#define SUBMENU(LABEL, DEST) SUBMENU_P(GET_TEXT(LABEL), DEST)
+#define ACTION_ITEM_P(PLABEL, ACTION) MENU_ITEM_P(function, PLABEL, ACTION)
+#define ACTION_ITEM(LABEL, ACTION) ACTION_ITEM_P(GET_TEXT(LABEL), ACTION)
-#define BACK_ITEM(LABEL) MENU_ITEM(back, LABEL)
-#define SKIP_ITEM() (_thisItemNr++)
+#define ACTION_ITEM_N_P(N, PLABEL, ACTION) MENU_ITEM_N_P(function, N, PLABEL, ACTION)
+#define ACTION_ITEM_N(N, LABEL, ACTION) ACTION_ITEM_N_P(N, GET_TEXT(LABEL), ACTION)
-#define _CONFIRM_ITEM_P(PLABEL, V...) do { \
- _skipStatic = false; \
- if (_menuLineNr == _thisItemNr) { \
- if (encoderLine == _thisItemNr && ui.use_click()) { \
- ui.goto_screen([]{MenuItem_confirm::select_screen(V);}); \
- return; \
- } \
- if (ui.should_draw()) MenuItem_confirm::draw \
- (encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ##V); \
- } \
- ++_thisItemNr; \
+#define GCODES_ITEM_P(PLABEL, GCODES) MENU_ITEM_P(gcode, PLABEL, GCODES)
+#define GCODES_ITEM(LABEL, GCODES) GCODES_ITEM_P(GET_TEXT(LABEL), GCODES)
+
+#define GCODES_ITEM_N_P(N, PLABEL, GCODES) MENU_ITEM_N_P(gcode, N, PLABEL, GCODES)
+#define GCODES_ITEM_N(N, LABEL, GCODES) GCODES_ITEM_N_P(N, GET_TEXT(LABEL), GCODES)
+
+#define SUBMENU_P(PLABEL, DEST) MENU_ITEM_P(submenu, PLABEL, DEST)
+#define SUBMENU(LABEL, DEST) SUBMENU_P(GET_TEXT(LABEL), DEST)
+
+#define SUBMENU_N_P(N, PLABEL, DEST) MENU_ITEM_N_P(submenu, N, PLABEL, DEST)
+#define SUBMENU_N(N, LABEL, DEST) SUBMENU_N_P(N, GET_TEXT(LABEL), DEST)
+
+#define EDIT_ITEM_P(TYPE, PLABEL, V...) MENU_ITEM_P(TYPE, PLABEL, ##V)
+#define EDIT_ITEM(TYPE, LABEL, V...) EDIT_ITEM_P(TYPE, GET_TEXT(LABEL), ##V)
+
+#define EDIT_ITEM_N_P(TYPE, N, PLABEL, V...) MENU_ITEM_N_P(TYPE, N, PLABEL, ##V)
+#define EDIT_ITEM_N(TYPE, N, LABEL, V...) EDIT_ITEM_N_P(TYPE, N, GET_TEXT(LABEL), ##V)
+
+#define EDIT_ITEM_FAST_P(TYPE, PLABEL, V...) _MENU_ITEM_P(TYPE, true, PLABEL, ##V)
+#define EDIT_ITEM_FAST(TYPE, LABEL, V...) EDIT_ITEM_FAST_P(TYPE, GET_TEXT(LABEL), ##V)
+
+#define EDIT_ITEM_FAST_N_P(TYPE, N, PLABEL, V...) _MENU_ITEM_N_P(TYPE, N, true, PLABEL, ##V)
+#define EDIT_ITEM_FAST_N(TYPE, N, LABEL, V...) EDIT_ITEM_FAST_N_P(TYPE, N, GET_TEXT(LABEL), ##V)
+
+#define _CONFIRM_ITEM_INNER_P(PLABEL, V...) do { \
+ if (encoderLine == _thisItemNr && ui.use_click()) { \
+ ui.goto_screen([]{MenuItem_confirm::select_screen(V);}); \
+ return; \
+ } \
+ if (ui.should_draw()) MenuItem_confirm::draw \
+ (encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ##V); \
+}while(0)
+
+#define _CONFIRM_ITEM_P(PLABEL, V...) do { \
+ _skipStatic = false; \
+ if (_menuLineNr == _thisItemNr) \
+ _CONFIRM_ITEM_INNER_P(PLABEL, ##V); \
+ NEXT_ITEM(); \
+}while(0)
+
+// Indexed items set a global index value
+#define _CONFIRM_ITEM_N_P(N, V...) do{ \
+ _skipStatic = false; \
+ if (_menuLineNr == _thisItemNr) { \
+ MenuItemBase::init(N); \
+ _CONFIRM_ITEM_INNER_P(TYPE, ##V); \
+ } \
+ NEXT_ITEM(); \
}while(0)
#define CONFIRM_ITEM_P(PLABEL,A,B,V...) _CONFIRM_ITEM_P(PLABEL, GET_TEXT(A), GET_TEXT(B), ##V)
#define CONFIRM_ITEM(LABEL, V...) CONFIRM_ITEM_P(GET_TEXT(LABEL), ##V)
+
#define YESNO_ITEM_P(PLABEL, V...) _CONFIRM_ITEM_P(PLABEL, ##V)
-#define YESNO_ITEM(LABEL, V...) _CONFIRM_ITEM_P(GET_TEXT(LABEL), ##V)
+#define YESNO_ITEM(LABEL, V...) YESNO_ITEM_P(GET_TEXT(LABEL), ##V)
+
+#define CONFIRM_ITEM_N_P(N,PLABEL,A,B,V...) _CONFIRM_ITEM_N_P(N, PLABEL, GET_TEXT(A), GET_TEXT(B), ##V)
+#define CONFIRM_ITEM_N(N,LABEL, V...) CONFIRM_ITEM_N_P(N, GET_TEXT(LABEL), ##V)
+
+#define YESNO_ITEM_N_P(N,PLABEL, V...) _CONFIRM_ITEM_N_P(N, PLABEL, ##V)
+#define YESNO_ITEM_N(N,LABEL, V...) YESNO_ITEM_N_P(N, GET_TEXT(LABEL), ##V)
////////////////////////////////////////////
/////////////// Menu Screens ///////////////
diff --git a/Marlin/src/lcd/menu/menu_advanced.cpp b/Marlin/src/lcd/menu/menu_advanced.cpp
index 0a69870fb..1c38e5391 100644
--- a/Marlin/src/lcd/menu/menu_advanced.cpp
+++ b/Marlin/src/lcd/menu/menu_advanced.cpp
@@ -65,7 +65,7 @@ void menu_cancelobject();
LOOP_XYZE(i) driverPercent[i] = dac_current_get_percent((AxisEnum)i);
START_MENU();
BACK_ITEM(MSG_ADVANCED_SETTINGS);
- #define EDIT_DAC_PERCENT(A) EDIT_ITEM(uint8, MSG_##A " " MSG_DAC_PERCENT, &driverPercent[_AXIS(A)], 0, 100, []{ dac_current_set_percents(driverPercent); })
+ #define EDIT_DAC_PERCENT(A) EDIT_ITEM_P(uint8, PSTR(MSG_##A " " MSG_DAC_PERCENT), &driverPercent[_AXIS(A)], 0, 100, []{ dac_current_set_percents(driverPercent); })
EDIT_DAC_PERCENT(X);
EDIT_DAC_PERCENT(Y);
EDIT_DAC_PERCENT(Z);
@@ -114,22 +114,10 @@ void menu_cancelobject();
#if EXTRUDERS == 1
EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
#elif EXTRUDERS > 1
- #define EDIT_ADVANCE_K(N) EDIT_ITEM(float52, MSG_ADVANCE_K_E##N, &planner.extruder_advance_K[N], 0, 999)
- EDIT_ADVANCE_K(0);
- EDIT_ADVANCE_K(1);
- #if EXTRUDERS > 2
- EDIT_ADVANCE_K(2);
- #if EXTRUDERS > 3
- EDIT_ADVANCE_K(3);
- #if EXTRUDERS > 4
- EDIT_ADVANCE_K(4);
- #if EXTRUDERS > 5
- EDIT_ADVANCE_K(5);
- #endif // EXTRUDERS > 5
- #endif // EXTRUDERS > 4
- #endif // EXTRUDERS > 3
- #endif // EXTRUDERS > 2
- #endif // EXTRUDERS > 1
+ #define EDIT_ADVANCE_K(N) EDIT_ITEM_N(float52, N, MSG_ADVANCE_K_E, &planner.extruder_advance_K[N], 0, 999)
+ for (uint8_t n = 0; n < EXTRUDERS; n++)
+ EDIT_ADVANCE_K(n);
+ #endif
#endif
#if DISABLED(NO_VOLUMETRICS)
@@ -138,24 +126,11 @@ void menu_cancelobject();
if (parser.volumetric_enabled) {
#if EXTRUDERS == 1
EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
- #else // EXTRUDERS > 1
- #define EDIT_FIL_DIAM(N) EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM_E##N, &planner.filament_size[N], 1.5f, 3.25f, planner.calculate_volumetric_multipliers)
+ #elif EXTRUDERS > 1
+ #define EDIT_FIL_DIAM(N) EDIT_ITEM_FAST_N(float43, N, MSG_FILAMENT_DIAM_E, &planner.filament_size[N], 1.5f, 3.25f, planner.calculate_volumetric_multipliers)
EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
- EDIT_FIL_DIAM(0);
- EDIT_FIL_DIAM(1);
- #if EXTRUDERS > 2
- EDIT_FIL_DIAM(2);
- #if EXTRUDERS > 3
- EDIT_FIL_DIAM(3);
- #if EXTRUDERS > 4
- EDIT_FIL_DIAM(4);
- #if EXTRUDERS > 5
- EDIT_FIL_DIAM(5);
- #endif // EXTRUDERS > 5
- #endif // EXTRUDERS > 4
- #endif // EXTRUDERS > 3
- #endif // EXTRUDERS > 2
- #endif // EXTRUDERS > 1
+ for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_DIAM(n);
+ #endif
}
#endif
@@ -171,44 +146,18 @@ void menu_cancelobject();
#if EXTRUDERS == 1
EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[0].unload_length, 0, extrude_maxlength);
#elif EXTRUDERS > 1
- #define EDIT_FIL_UNLOAD(N) EDIT_ITEM_FAST(float3, MSG_FILAMENTUNLOAD_E##N, &fc_settings[N].unload_length, 0, extrude_maxlength)
+ #define EDIT_FIL_UNLOAD(N) EDIT_ITEM_FAST_N(float3, N, MSG_FILAMENTUNLOAD_E, &fc_settings[N].unload_length, 0, extrude_maxlength)
EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength);
- EDIT_FIL_UNLOAD(0);
- EDIT_FIL_UNLOAD(1);
- #if EXTRUDERS > 2
- EDIT_FIL_UNLOAD(2);
- #if EXTRUDERS > 3
- EDIT_FIL_UNLOAD(3);
- #if EXTRUDERS > 4
- EDIT_FIL_UNLOAD(4);
- #if EXTRUDERS > 5
- EDIT_FIL_UNLOAD(5);
- #endif // EXTRUDERS > 5
- #endif // EXTRUDERS > 4
- #endif // EXTRUDERS > 3
- #endif // EXTRUDERS > 2
- #endif // EXTRUDERS > 1
+ for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_UNLOAD(n);
+ #endif
#if EXTRUDERS == 1
EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[0].load_length, 0, extrude_maxlength);
#elif EXTRUDERS > 1
- #define EDIT_FIL_LOAD(N) EDIT_ITEM_FAST(float3, MSG_FILAMENTLOAD_E##N, &fc_settings[N].load_length, 0, extrude_maxlength)
+ #define EDIT_FIL_LOAD(N) EDIT_ITEM_FAST_N(float3, N, MSG_FILAMENTLOAD_E, &fc_settings[N].load_length, 0, extrude_maxlength)
EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength);
- EDIT_FIL_LOAD(0);
- EDIT_FIL_LOAD(1);
- #if EXTRUDERS > 2
- EDIT_FIL_LOAD(2);
- #if EXTRUDERS > 3
- EDIT_FIL_LOAD(3);
- #if EXTRUDERS > 4
- EDIT_FIL_LOAD(4);
- #if EXTRUDERS > 5
- EDIT_FIL_LOAD(5);
- #endif // EXTRUDERS > 5
- #endif // EXTRUDERS > 4
- #endif // EXTRUDERS > 3
- #endif // EXTRUDERS > 2
- #endif // EXTRUDERS > 1
+ for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_LOAD(n);
+ #endif
#endif
#if ENABLED(FILAMENT_RUNOUT_SENSOR) && FILAMENT_RUNOUT_DISTANCE_MM
@@ -339,26 +288,18 @@ void menu_cancelobject();
// PID-P E5, PID-I E5, PID-D E5, PID-C E5, PID Autotune E5
//
- #if EITHER(PID_EDIT_MENU, PID_AUTOTUNE_MENU)
- #if HOTENDS > 1 && ENABLED(PID_PARAMS_PER_HOTEND)
- #define PID_LABEL(MSG,N) MSG##_E##N
- #else
- #define PID_LABEL(MSG,N) MSG
- #endif
- #endif
-
#if ENABLED(PID_EDIT_MENU)
#define _PID_BASE_MENU_ITEMS(N) \
raw_Ki = unscalePID_i(PID_PARAM(Ki, N)); \
raw_Kd = unscalePID_d(PID_PARAM(Kd, N)); \
- EDIT_ITEM(float52sign, PID_LABEL(MSG_PID_P,N), &PID_PARAM(Kp, N), 1, 9990); \
- EDIT_ITEM(float52sign, PID_LABEL(MSG_PID_I,N), &raw_Ki, 0.01f, 9990, []{ copy_and_scalePID_i(N); }); \
- EDIT_ITEM(float52sign, PID_LABEL(MSG_PID_D,N), &raw_Kd, 1, 9990, []{ copy_and_scalePID_d(N); })
+ EDIT_ITEM_N(float52sign, N, MSG_PID_P_E, &PID_PARAM(Kp, N), 1, 9990); \
+ EDIT_ITEM_N(float52sign, N, MSG_PID_I_E, &raw_Ki, 0.01f, 9990, []{ copy_and_scalePID_i(N); }); \
+ EDIT_ITEM_N(float52sign, N, MSG_PID_D_E, &raw_Kd, 1, 9990, []{ copy_and_scalePID_d(N); })
#if ENABLED(PID_EXTRUSION_SCALING)
#define _PID_EDIT_MENU_ITEMS(N) \
_PID_BASE_MENU_ITEMS(N); \
- EDIT_ITEM(float3, PID_LABEL(MSG_PID_C,N), &PID_PARAM(Kc, N), 1, 9990)
+ EDIT_ITEM(float3, MSG_PID_C_E, N, &PID_PARAM(Kc, N), 1, 9990)
#else
#define _PID_EDIT_MENU_ITEMS(N) _PID_BASE_MENU_ITEMS(N)
#endif
@@ -372,7 +313,7 @@ void menu_cancelobject();
#if ENABLED(PID_AUTOTUNE_MENU)
#define PID_EDIT_MENU_ITEMS(N) \
_PID_EDIT_MENU_ITEMS(N); \
- EDIT_ITEM_FAST(int3, PID_LABEL(MSG_AUTOTUNE_PID,N), &autotune_temp[N], 150, heater_maxtemp[N] - 15, []{ _lcd_autotune(N); })
+ EDIT_ITEM_FAST_N(int3, N, MSG_PID_AUTOTUNE_E, &autotune_temp[N], 150, heater_maxtemp[N] - 15, []{ _lcd_autotune(MenuItemBase::itemIndex); })
#else
#define PID_EDIT_MENU_ITEMS(N) _PID_EDIT_MENU_ITEMS(N)
#endif
@@ -437,22 +378,9 @@ void menu_cancelobject();
EDIT_VMAX(C);
#if ENABLED(DISTINCT_E_FACTORS)
- #define EDIT_VMAX_E(N) EDIT_ITEM_FAST(float3, MSG_VMAX_E##N, &planner.settings.max_feedrate_mm_s[E_AXIS_N(N)], 1, max_fr_edit_scaled.e)
+ #define EDIT_VMAX_E(N) EDIT_ITEM_FAST_N(float3, N, MSG_VMAX_EN, &planner.settings.max_feedrate_mm_s[E_AXIS_N(N)], 1, max_fr_edit_scaled.e)
EDIT_ITEM_FAST(float3, MSG_VMAX_E, &planner.settings.max_feedrate_mm_s[E_AXIS_N(active_extruder)], 1, max_fr_edit_scaled.e);
- EDIT_VMAX_E(0);
- EDIT_VMAX_E(1);
- #if E_STEPPERS > 2
- EDIT_VMAX_E(2);
- #if E_STEPPERS > 3
- EDIT_VMAX_E(3);
- #if E_STEPPERS > 4
- EDIT_VMAX_E(4);
- #if E_STEPPERS > 5
- EDIT_VMAX_E(5);
- #endif // E_STEPPERS > 5
- #endif // E_STEPPERS > 4
- #endif // E_STEPPERS > 3
- #endif // E_STEPPERS > 2
+ for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_VMAX_E(n);
#elif E_STEPPERS
EDIT_ITEM_FAST(float3, MSG_VMAX_E, &planner.settings.max_feedrate_mm_s[E_AXIS], 1, max_fr_edit_scaled.e);
#endif
@@ -504,22 +432,9 @@ void menu_cancelobject();
EDIT_AMAX(C, 10);
#if ENABLED(DISTINCT_E_FACTORS)
- #define EDIT_AMAX_E(N) EDIT_ITEM_FAST(long5_25, MSG_AMAX_E##N, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(N)], 100, max_accel_edit_scaled.e, []{ _reset_e_acceleration_rate(N); })
+ #define EDIT_AMAX_E(N) EDIT_ITEM_FAST_N(long5_25, N, MSG_AMAX_EN, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(N)], 100, max_accel_edit_scaled.e, []{ _reset_e_acceleration_rate(MenuItemBase::itemIndex); })
EDIT_ITEM_FAST(long5_25, MSG_AMAX_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS_N(active_extruder)], 100, max_accel_edit_scaled.e, []{ planner.reset_acceleration_rates(); });
- EDIT_AMAX_E(0);
- EDIT_AMAX_E(1);
- #if E_STEPPERS > 2
- EDIT_AMAX_E(2);
- #if E_STEPPERS > 3
- EDIT_AMAX_E(3);
- #if E_STEPPERS > 4
- EDIT_AMAX_E(4);
- #if E_STEPPERS > 5
- EDIT_AMAX_E(5);
- #endif // E_STEPPERS > 5
- #endif // E_STEPPERS > 4
- #endif // E_STEPPERS > 3
- #endif // E_STEPPERS > 2
+ for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_AMAX_E(n);
#elif E_STEPPERS
EDIT_ITEM_FAST(long5_25, MSG_AMAX_E, &planner.settings.max_acceleration_mm_per_s2[E_AXIS], 100, max_accel_edit_scaled.e, []{ planner.reset_acceleration_rates(); });
#endif
@@ -576,22 +491,9 @@ void menu_cancelobject();
EDIT_QSTEPS(C);
#if ENABLED(DISTINCT_E_FACTORS)
- #define EDIT_ESTEPS(N) EDIT_ITEM_FAST(float51, MSG_E##N##_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(N)], 5, 9999, []{ _planner_refresh_e_positioning(N); })
+ #define EDIT_ESTEPS(N) EDIT_ITEM_FAST_N(float51, N, MSG_EN_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(N)], 5, 9999, []{ _planner_refresh_e_positioning(MenuItemBase::itemIndex); })
EDIT_ITEM_FAST(float51, MSG_E_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(active_extruder)], 5, 9999, []{ planner.refresh_positioning(); });
- EDIT_ESTEPS(0);
- EDIT_ESTEPS(1);
- #if E_STEPPERS > 2
- EDIT_ESTEPS(2);
- #if E_STEPPERS > 3
- EDIT_ESTEPS(3);
- #if E_STEPPERS > 4
- EDIT_ESTEPS(4);
- #if E_STEPPERS > 5
- EDIT_ESTEPS(5);
- #endif // E_STEPPERS > 5
- #endif // E_STEPPERS > 4
- #endif // E_STEPPERS > 3
- #endif // E_STEPPERS > 2
+ for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_ESTEPS(n);
#elif E_STEPPERS
EDIT_ITEM_FAST(float51, MSG_E_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS], 5, 9999, []{ planner.refresh_positioning(); });
#endif
@@ -661,22 +563,9 @@ void menu_advanced_settings() {
#if EXTRUDERS == 1
EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
#elif EXTRUDERS > 1
- #define EDIT_ADVANCE_K(N) EDIT_ITEM(float52, MSG_ADVANCE_K_E##N, &planner.extruder_advance_K[N], 0, 999)
- EDIT_ADVANCE_K(0);
- EDIT_ADVANCE_K(1);
- #if EXTRUDERS > 2
- EDIT_ADVANCE_K(2);
- #if EXTRUDERS > 3
- EDIT_ADVANCE_K(3);
- #if EXTRUDERS > 4
- EDIT_ADVANCE_K(4);
- #if EXTRUDERS > 5
- EDIT_ADVANCE_K(5);
- #endif // EXTRUDERS > 5
- #endif // EXTRUDERS > 4
- #endif // EXTRUDERS > 3
- #endif // EXTRUDERS > 2
- #endif // EXTRUDERS > 1
+ #define EDIT_ADVANCE_K(N) EDIT_ITEM_N(float52, N, MSG_ADVANCE_K_E, &planner.extruder_advance_K[N], 0, 999)
+ for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_ADVANCE_K(n);
+ #endif
#endif
// M540 S - Abort on endstop hit when SD printing
diff --git a/Marlin/src/lcd/menu/menu_bed_leveling.cpp b/Marlin/src/lcd/menu/menu_bed_leveling.cpp
index 892bb0d1d..f4fbf59a4 100644
--- a/Marlin/src/lcd/menu/menu_bed_leveling.cpp
+++ b/Marlin/src/lcd/menu/menu_bed_leveling.cpp
@@ -132,7 +132,7 @@
//
if (ui.should_draw()) {
const float v = current_position.z;
- MenuEditItemBase::edit_screen(GET_TEXT(MSG_MOVE_Z), ftostr43sign(v + (v < 0 ? -0.0001f : 0.0001f), '+'));
+ MenuEditItemBase::draw_edit_screen(GET_TEXT(MSG_MOVE_Z), ftostr43sign(v + (v < 0 ? -0.0001f : 0.0001f), '+'));
}
}
@@ -143,7 +143,7 @@
if (ui.should_draw()) {
char msg[10];
sprintf_P(msg, PSTR("%i / %u"), int(manual_probe_index + 1), total_probe_points);
- MenuEditItemBase::edit_screen(GET_TEXT(MSG_LEVEL_BED_NEXT_POINT), msg);
+ MenuEditItemBase::draw_edit_screen(GET_TEXT(MSG_LEVEL_BED_NEXT_POINT), msg);
}
ui.refresh(LCDVIEW_CALL_NO_REDRAW);
if (!ui.wait_for_bl_move) ui.goto_screen(_lcd_level_bed_get_z);
diff --git a/Marlin/src/lcd/menu/menu_cancelobject.cpp b/Marlin/src/lcd/menu/menu_cancelobject.cpp
index 555e98017..162578a0c 100644
--- a/Marlin/src/lcd/menu/menu_cancelobject.cpp
+++ b/Marlin/src/lcd/menu/menu_cancelobject.cpp
@@ -34,7 +34,7 @@
#include "../../feature/cancel_object.h"
static void lcd_cancel_object_confirm() {
- const int8_t v = editable.int8;
+ const int8_t v = MenuItemBase::itemIndex;
const char item_num[] = {
' ',
char((v > 9) ? '0' + (v / 10) : ' '),
@@ -43,7 +43,7 @@ static void lcd_cancel_object_confirm() {
};
MenuItem_confirm::confirm_screen(
[]{
- cancelable.cancel_object(editable.int8 - 1);
+ cancelable.cancel_object(MenuItemBase::itemIndex - 1);
#if HAS_BUZZER
ui.completion_feedback();
#endif
@@ -63,13 +63,8 @@ void menu_cancelobject() {
for (int8_t i = -1; i < cancelable.object_count; i++) {
if (i == a) continue;
int8_t j = i < 0 ? a : i;
- if (!cancelable.is_canceled(j)) {
- editable.int8 = j + 1;
- SUBMENU(MSG_CANCEL_OBJECT, lcd_cancel_object_confirm);
- MENU_ITEM_ADDON_START(LCD_WIDTH - 2 - (j >= 9));
- lcd_put_int(editable.int8);
- MENU_ITEM_ADDON_END();
- }
+ if (!cancelable.is_canceled(j))
+ SUBMENU_N(j, MSG_CANCEL_OBJECT_N, lcd_cancel_object_confirm);
if (i < 0) SKIP_ITEM();
}
diff --git a/Marlin/src/lcd/menu/menu_filament.cpp b/Marlin/src/lcd/menu/menu_filament.cpp
index e2ac2def6..51f96677f 100644
--- a/Marlin/src/lcd/menu/menu_filament.cpp
+++ b/Marlin/src/lcd/menu/menu_filament.cpp
@@ -107,155 +107,86 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
// Change filament
#if E_STEPPERS == 1
- PGM_P const msg0 = GET_TEXT(MSG_FILAMENTCHANGE);
+ PGM_P const msg = GET_TEXT(MSG_FILAMENTCHANGE);
if (thermalManager.targetTooColdToExtrude(active_extruder))
- SUBMENU_P(msg0, []{ _menu_temp_filament_op(PauseMode(editable.int8), 0); });
+ SUBMENU_P(msg, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, 0); });
else
- GCODES_ITEM_P(msg0, PSTR("M600 B0"));
+ GCODES_ITEM_P(msg, PSTR("M600 B0"));
#else
- PGM_P const msg0 = GET_TEXT(MSG_FILAMENTCHANGE_E0);
- PGM_P const msg1 = GET_TEXT(MSG_FILAMENTCHANGE_E1);
- if (thermalManager.targetTooColdToExtrude(0))
- SUBMENU_P(msg0, []{ _menu_temp_filament_op(PauseMode(editable.int8), 0); });
- else
- GCODES_ITEM_P(msg0, PSTR("M600 B0 T0"));
- if (thermalManager.targetTooColdToExtrude(1))
- SUBMENU_P(msg1, []{ _menu_temp_filament_op(PauseMode(editable.int8), 1); });
- else
- GCODES_ITEM_P(msg1, PSTR("M600 B0 T1"));
- #if E_STEPPERS > 2
- PGM_P const msg2 = GET_TEXT(MSG_FILAMENTCHANGE_E2);
- if (thermalManager.targetTooColdToExtrude(2))
- SUBMENU_P(msg2, []{ _menu_temp_filament_op(PauseMode(editable.int8), 2); });
- else
- GCODES_ITEM_P(msg2, PSTR("M600 B0 T2"));
- #if E_STEPPERS > 3
- PGM_P const msg3 = GET_TEXT(MSG_FILAMENTCHANGE_E3);
- if (thermalManager.targetTooColdToExtrude(3))
- SUBMENU_P(msg3, []{ _menu_temp_filament_op(PauseMode(editable.int8), 3); });
- else
- GCODES_ITEM_P(msg3, PSTR("M600 B0 T3"));
- #if E_STEPPERS > 4
- PGM_P const msg4 = GET_TEXT(MSG_FILAMENTCHANGE_E4);
- if (thermalManager.targetTooColdToExtrude(4))
- SUBMENU_P(msg4, []{ _menu_temp_filament_op(PauseMode(editable.int8), 4); });
- else
- GCODES_ITEM_P(msg4, PSTR("M600 B0 T4"));
- #if E_STEPPERS > 5
- PGM_P const msg5 = GET_TEXT(MSG_FILAMENTCHANGE_E5);
- if (thermalManager.targetTooColdToExtrude(5))
- SUBMENU_P(msg5, []{ _menu_temp_filament_op(PauseMode(editable.int8), 5); });
- else
- GCODES_ITEM_P(msg5, PSTR("M600 B0 T5"));
- #endif // E_STEPPERS > 5
- #endif // E_STEPPERS > 4
- #endif // E_STEPPERS > 3
- #endif // E_STEPPERS > 2
- #endif // E_STEPPERS == 1
+ PGM_P const msg = GET_TEXT(MSG_FILAMENTCHANGE_E);
+ for (uint8_t s = 0; s < E_STEPPERS; s++) {
+ if (thermalManager.targetTooColdToExtrude(s))
+ SUBMENU_N_P(s, msg, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, MenuItemBase::itemIndex); });
+ else {
+ ACTION_ITEM_N_P(s, msg, []{
+ char cmd[12];
+ sprintf_P(cmd, PSTR("M600 B0 T%i"), int(MenuItemBase::itemIndex));
+ lcd_enqueue_one_now(cmd);
+ });
+ }
+ }
+ #endif
#if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
if (!printer_busy()) {
// Load filament
#if E_STEPPERS == 1
- PGM_P const msg0 = GET_TEXT(MSG_FILAMENTLOAD);
+ PGM_P const msg_load = GET_TEXT(MSG_FILAMENTLOAD);
if (thermalManager.targetTooColdToExtrude(active_extruder))
- SUBMENU_P(msg0, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); });
+ SUBMENU_P(msg_load, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); });
else
- GCODES_ITEM_P(msg0, PSTR("M701"));
+ GCODES_ITEM_P(msg_load, PSTR("M701"));
#else
- PGM_P const msg0 = GET_TEXT(MSG_FILAMENTLOAD_E0);
- PGM_P const msg1 = GET_TEXT(MSG_FILAMENTLOAD_E1);
- if (thermalManager.targetTooColdToExtrude(0))
- SUBMENU_P(msg0, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); });
- else
- GCODES_ITEM_P(msg0, PSTR("M701 T0"));
- if (thermalManager.targetTooColdToExtrude(1))
- SUBMENU_P(msg1, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 1); });
- else
- GCODES_ITEM_P(msg1, PSTR("M701 T1"));
- #if E_STEPPERS > 2
- PGM_P const msg2 = GET_TEXT(MSG_FILAMENTLOAD_E2);
- if (thermalManager.targetTooColdToExtrude(2))
- SUBMENU_P(msg2, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 2); });
- else
- GCODES_ITEM_P(msg2, PSTR("M701 T2"));
- #if E_STEPPERS > 3
- PGM_P const msg3 = GET_TEXT(MSG_FILAMENTLOAD_E3);
- if (thermalManager.targetTooColdToExtrude(3))
- SUBMENU_P(msg3, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 3); });
- else
- GCODES_ITEM_P(msg3, PSTR("M701 T3"));
- #if E_STEPPERS > 4
- PGM_P const msg4 = GET_TEXT(MSG_FILAMENTLOAD_E4);
- if (thermalManager.targetTooColdToExtrude(4))
- SUBMENU_P(msg4, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 4); });
- else
- GCODES_ITEM_P(msg4, PSTR("M701 T4"));
- #if E_STEPPERS > 5
- PGM_P const msg5 = GET_TEXT(MSG_FILAMENTLOAD_E5);
- if (thermalManager.targetTooColdToExtrude(5))
- SUBMENU_P(msg5, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 5); });
- else
- GCODES_ITEM_P(msg5, PSTR("M701 T5"));
- #endif // E_STEPPERS > 5
- #endif // E_STEPPERS > 4
- #endif // E_STEPPERS > 3
- #endif // E_STEPPERS > 2
- #endif // E_STEPPERS == 1
+ PGM_P const msg_load = GET_TEXT(MSG_FILAMENTLOAD_E);
+ for (uint8_t s = 0; s < E_STEPPERS; s++) {
+ if (thermalManager.targetTooColdToExtrude(s))
+ SUBMENU_N_P(s, msg_load, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, MenuItemBase::itemIndex); });
+ else {
+ ACTION_ITEM_N_P(s, msg_load, []{
+ char cmd[12];
+ sprintf_P(cmd, PSTR("M701 T%i"), int(MenuItemBase::itemIndex));
+ lcd_enqueue_one_now(cmd);
+ });
+ }
+ }
+ #endif
// Unload filament
#if E_STEPPERS == 1
- if (thermalManager.targetHotEnoughToExtrude(active_extruder))
- GCODES_ITEM(MSG_FILAMENTUNLOAD, PSTR("M702"));
+ PGM_P const msg_unload = GET_TEXT(MSG_FILAMENTUNLOAD);
+ if (thermalManager.targetTooColdToExtrude(active_extruder))
+ SUBMENU_P(msg_unload, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); });
else
- SUBMENU(MSG_FILAMENTUNLOAD, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); });
+ GCODES_ITEM_P(msg_unload, PSTR("M702"));
#else
#if ENABLED(FILAMENT_UNLOAD_ALL_EXTRUDERS)
- if (JOIN_N(E_STEPPERS, &&,
- thermalManager.targetHotEnoughToExtrude(0),
- thermalManager.targetHotEnoughToExtrude(1),
- thermalManager.targetHotEnoughToExtrude(2),
- thermalManager.targetHotEnoughToExtrude(3),
- thermalManager.targetHotEnoughToExtrude(4),
- thermalManager.targetHotEnoughToExtrude(5))
- ) GCODES_ITEM(MSG_FILAMENTUNLOAD_ALL, PSTR("M702"));
- else
- SUBMENU(MSG_FILAMENTUNLOAD_ALL, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, -1); });
- #endif
- if (thermalManager.targetHotEnoughToExtrude(0))
- GCODES_ITEM(MSG_FILAMENTUNLOAD_E0, PSTR("M702 T0"));
- else
- SUBMENU(MSG_FILAMENTUNLOAD_E0, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); });
- if (thermalManager.targetHotEnoughToExtrude(1))
- GCODES_ITEM(MSG_FILAMENTUNLOAD_E1, PSTR("M702 T1"));
- else
- SUBMENU(MSG_FILAMENTUNLOAD_E1, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 1); });
- #if E_STEPPERS > 2
- if (thermalManager.targetHotEnoughToExtrude(2))
- GCODES_ITEM(MSG_FILAMENTUNLOAD_E2, PSTR("M702 T2"));
+ {
+ bool too_cold = false;
+ for (uint8_t s = 0; s < E_STEPPERS; s++) {
+ if (thermalManager.targetTooColdToExtrude(s)) {
+ too_cold = true; break;
+ }
+ }
+ if (!too_cold)
+ GCODES_ITEM(MSG_FILAMENTUNLOAD_ALL, PSTR("M702"));
else
- SUBMENU(MSG_FILAMENTUNLOAD_E2, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 2); });
- #if E_STEPPERS > 3
- if (thermalManager.targetHotEnoughToExtrude(3))
- GCODES_ITEM(MSG_FILAMENTUNLOAD_E3, PSTR("M702 T3"));
- else
- SUBMENU(MSG_FILAMENTUNLOAD_E3, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 3); });
- #if E_STEPPERS > 4
- if (thermalManager.targetHotEnoughToExtrude(4))
- GCODES_ITEM(MSG_FILAMENTUNLOAD_E4, PSTR("M702 T4"));
- else
- SUBMENU(MSG_FILAMENTUNLOAD_E4, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 4); });
- #if E_STEPPERS > 5
- if (thermalManager.targetHotEnoughToExtrude(5))
- GCODES_ITEM(MSG_FILAMENTUNLOAD_E5, PSTR("M702 T5"));
- else
- SUBMENU(MSG_FILAMENTUNLOAD_E5, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 5); });
- #endif // E_STEPPERS > 5
- #endif // E_STEPPERS > 4
- #endif // E_STEPPERS > 3
- #endif // E_STEPPERS > 2
- #endif // E_STEPPERS == 1
- }
+ SUBMENU(MSG_FILAMENTUNLOAD_ALL, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, -1); });
+ }
+ #endif
+ PGM_P const msg_unload = GET_TEXT(MSG_FILAMENTUNLOAD_E);
+ for (uint8_t s = 0; s < E_STEPPERS; s++) {
+ if (thermalManager.targetTooColdToExtrude(s))
+ SUBMENU_N_P(s, msg_unload, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, MenuItemBase::itemIndex); });
+ else {
+ ACTION_ITEM_N_P(s, msg_unload, []{
+ char cmd[12];
+ sprintf_P(cmd, PSTR("M702 T%i"), int(MenuItemBase::itemIndex));
+ lcd_enqueue_one_now(cmd);
+ });
+ }
+ }
+ #endif
+ } // !printer_busy
#endif
END_MENU();
diff --git a/Marlin/src/lcd/menu/menu_media.cpp b/Marlin/src/lcd/menu/menu_media.cpp
index 9394604aa..a12c8b79b 100644
--- a/Marlin/src/lcd/menu/menu_media.cpp
+++ b/Marlin/src/lcd/menu/menu_media.cpp
@@ -34,7 +34,7 @@
void lcd_sd_updir() {
ui.encoderPosition = card.cdup() ? ENCODER_STEPS_PER_MENU_ITEM : 0;
encoderTopLine = 0;
- screen_changed = true;
+ ui.screen_changed = true;
ui.refresh();
}
@@ -52,7 +52,7 @@ void lcd_sd_updir() {
// safe_delay(50);
// ui.synchronize();
// ui.refresh(LCDVIEW_CALL_REDRAW_NEXT);
- // ui.drawing_screen = screen_changed = true;
+ // ui.drawing_screen = ui.screen_changed = true;
//#endif
goto_screen(menu_media, sd_encoder_position, sd_top_line, sd_items);
@@ -112,7 +112,7 @@ class MenuItem_sdfolder : public MenuItem_sdbase {
card.cd(theCard.filename);
encoderTopLine = 0;
ui.encoderPosition = 2 * (ENCODER_STEPS_PER_MENU_ITEM);
- screen_changed = true;
+ ui.screen_changed = true;
#if HAS_GRAPHICAL_LCD
ui.drawing_screen = false;
#endif
diff --git a/Marlin/src/lcd/menu/menu_mixer.cpp b/Marlin/src/lcd/menu/menu_mixer.cpp
index c147705e7..51e24d935 100644
--- a/Marlin/src/lcd/menu/menu_mixer.cpp
+++ b/Marlin/src/lcd/menu/menu_mixer.cpp
@@ -156,34 +156,9 @@ void _lcd_mixer_select_vtool() {
void lcd_mixer_mix_edit() {
- #if CHANNEL_MIX_EDITING
-
- START_MENU();
- BACK_ITEM(MSG_MIXER);
-
- #define EDIT_COLOR(N) EDIT_ITEM_FAST(float52, MSG_MIX_COMPONENT_##N, &mixer.collector[N-1], 0, 10);
-
- EDIT_COLOR(1);
- EDIT_COLOR(2);
- #if MIXING_STEPPERS > 2
- EDIT_COLOR(3);
- #if MIXING_STEPPERS > 3
- EDIT_COLOR(4);
- #if MIXING_STEPPERS > 4
- EDIT_COLOR(5);
- #if MIXING_STEPPERS > 5
- EDIT_COLOR(6);
- #endif
- #endif
- #endif
- #endif
-
- ACTION_ITEM(MSG_CYCLE_MIX, _lcd_mixer_cycle_mix);
- ACTION_ITEM(MSG_COMMIT_VTOOL, _lcd_mixer_commit_vtool);
- END_MENU();
-
- #elif DUAL_MIXING_EXTRUDER
+ #if DUAL_MIXING_EXTRUDER && !CHANNEL_MIX_EDITING
+ // Adjust 2-channel mix from the encoder
if (ui.encoderPosition != 0) {
mixer.mix[0] += int32_t(ui.encoderPosition);
ui.encoderPosition = 0;
@@ -193,6 +168,7 @@ void lcd_mixer_mix_edit() {
}
_lcd_draw_mix((LCD_HEIGHT - 1) / 2);
+ // Click to commit the change
if (ui.lcd_clicked) {
mixer.update_vtool_from_mix();
ui.goto_previous_screen();
@@ -202,6 +178,17 @@ void lcd_mixer_mix_edit() {
START_MENU();
BACK_ITEM(MSG_MIXER);
+
+ #if CHANNEL_MIX_EDITING
+
+ for (uint8_t n = 1; n <= MIXING_STEPPERS; n++)
+ EDIT_ITEM_FAST_N(float52, n, MSG_MIX_COMPONENT_N, &mixer.collector[n-1], 0, 10);
+
+ ACTION_ITEM(MSG_CYCLE_MIX, _lcd_mixer_cycle_mix);
+ ACTION_ITEM(MSG_COMMIT_VTOOL, _lcd_mixer_commit_vtool);
+
+ #endif
+
END_MENU();
#endif
diff --git a/Marlin/src/lcd/menu/menu_motion.cpp b/Marlin/src/lcd/menu/menu_motion.cpp
index 07b2223d3..cb1527cf8 100644
--- a/Marlin/src/lcd/menu/menu_motion.cpp
+++ b/Marlin/src/lcd/menu/menu_motion.cpp
@@ -74,7 +74,7 @@ inline void manual_move_to_current(AxisEnum axis
// "Motion" > "Move Axis" submenu
//
-static void _lcd_move_xyz(PGM_P name, AxisEnum axis) {
+static void _lcd_move_xyz(PGM_P const name, const AxisEnum axis) {
if (ui.use_click()) return ui.goto_previous_screen_no_defer();
if (ui.encoderPosition && !ui.processing_manual_move) {
@@ -147,7 +147,7 @@ static void _lcd_move_xyz(PGM_P name, AxisEnum axis) {
+ manual_move_offset
#endif
, axis);
- MenuEditItemBase::edit_screen(name, move_menu_scale >= 0.1f ? ftostr41sign(pos) : ftostr43sign(pos));
+ MenuEditItemBase::draw_edit_screen(name, move_menu_scale >= 0.1f ? ftostr41sign(pos) : ftostr43sign(pos));
}
}
void lcd_move_x() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_X), X_AXIS); }
@@ -180,35 +180,27 @@ void lcd_move_z() { _lcd_move_xyz(GET_TEXT(MSG_MOVE_Z), Z_AXIS); }
ui.encoderPosition = 0;
}
if (ui.should_draw()) {
- PGM_P pos_label = GET_TEXT(MSG_MOVE_E);
#if E_MANUAL > 1
- switch (eindex) {
- default: pos_label = GET_TEXT(MSG_MOVE_E0); break;
- case 1: pos_label = GET_TEXT(MSG_MOVE_E1); break;
- #if E_MANUAL > 2
- case 2: pos_label = GET_TEXT(MSG_MOVE_E2); break;
- #if E_MANUAL > 3
- case 3: pos_label = GET_TEXT(MSG_MOVE_E3); break;
- #if E_MANUAL > 4
- case 4: pos_label = GET_TEXT(MSG_MOVE_E4); break;
- #if E_MANUAL > 5
- case 5: pos_label = GET_TEXT(MSG_MOVE_E5); break;
- #endif // E_MANUAL > 5
- #endif // E_MANUAL > 4
- #endif // E_MANUAL > 3
- #endif // E_MANUAL > 2
- }
- #endif // E_MANUAL > 1
-
- MenuEditItemBase::edit_screen(pos_label, ftostr41sign(current_position.e
- #if IS_KINEMATIC
- + manual_move_offset
- #endif
- #if ENABLED(MANUAL_E_MOVES_RELATIVE)
- - manual_move_e_origin
- #endif
- ));
- }
+ MenuItemBase::init(eindex);
+ #endif
+ MenuEditItemBase::draw_edit_screen(
+ GET_TEXT(
+ #if E_MANUAL > 1
+ MSG_MOVE_EN
+ #else
+ MSG_MOVE_E
+ #endif
+ ),
+ ftostr41sign(current_position.e
+ #if IS_KINEMATIC
+ + manual_move_offset
+ #endif
+ #if ENABLED(MANUAL_E_MOVES_RELATIVE)
+ - manual_move_e_origin
+ #endif
+ )
+ );
+ } // should_draw
}
#endif // E_MANUAL
@@ -310,35 +302,35 @@ void menu_move() {
#if EXTRUDERS >= 4
switch (active_extruder) {
- case 0: GCODES_ITEM(MSG_SELECT_E1, PSTR("T1")); break;
- case 1: GCODES_ITEM(MSG_SELECT_E0, PSTR("T0")); break;
- case 2: GCODES_ITEM(MSG_SELECT_E3, PSTR("T3")); break;
- case 3: GCODES_ITEM(MSG_SELECT_E2, PSTR("T2")); break;
+ case 0: GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1")); break;
+ case 1: GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0")); break;
+ case 2: GCODES_ITEM_N(3, MSG_SELECT_E, PSTR("T3")); break;
+ case 3: GCODES_ITEM_N(2, MSG_SELECT_E, PSTR("T2")); break;
#if EXTRUDERS == 6
- case 4: GCODES_ITEM(MSG_SELECT_E5, PSTR("T5")); break;
- case 5: GCODES_ITEM(MSG_SELECT_E4, PSTR("T4")); break;
+ case 4: GCODES_ITEM_N(5, MSG_SELECT_E, PSTR("T5")); break;
+ case 5: GCODES_ITEM_N(4, MSG_SELECT_E, PSTR("T4")); break;
#endif
}
#elif EXTRUDERS == 3
if (active_extruder < 2) {
if (active_extruder)
- GCODES_ITEM(MSG_SELECT_E0, PSTR("T0"));
+ GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
else
- GCODES_ITEM(MSG_SELECT_E1, PSTR("T1"));
+ GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
}
#else
if (active_extruder)
- GCODES_ITEM(MSG_SELECT_E0, PSTR("T0"));
+ GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
else
- GCODES_ITEM(MSG_SELECT_E1, PSTR("T1"));
+ GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
#endif
#elif ENABLED(DUAL_X_CARRIAGE)
if (active_extruder)
- GCODES_ITEM(MSG_SELECT_E0, PSTR("T0"));
+ GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
else
- GCODES_ITEM(MSG_SELECT_E1, PSTR("T1"));
+ GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
#endif
@@ -347,7 +339,7 @@ void menu_move() {
// The current extruder
SUBMENU(MSG_MOVE_E, []{ _menu_move_distance(E_AXIS, []{ lcd_move_e(); }, -1); });
- #define SUBMENU_MOVE_E(N) SUBMENU(MSG_MOVE_E##N, []{ _menu_move_distance(E_AXIS, []{ lcd_move_e(N); }, N); });
+ #define SUBMENU_MOVE_E(N) SUBMENU_N(N, MSG_MOVE_EN, []{ _menu_move_distance(E_AXIS, []{ lcd_move_e(MenuItemBase::itemIndex); }, MenuItemBase::itemIndex); });
#if EITHER(SWITCHING_EXTRUDER, SWITCHING_NOZZLE)
@@ -358,25 +350,10 @@ void menu_move() {
SUBMENU_MOVE_E(2);
#endif
- #else
+ #elif E_MANUAL > 1
// Independent extruders with one E-stepper per hotend
- #if E_MANUAL > 1
- SUBMENU_MOVE_E(0);
- SUBMENU_MOVE_E(1);
- #if E_MANUAL > 2
- SUBMENU_MOVE_E(2);
- #if E_MANUAL > 3
- SUBMENU_MOVE_E(3);
- #if E_MANUAL > 4
- SUBMENU_MOVE_E(4);
- #if E_MANUAL > 5
- SUBMENU_MOVE_E(5);
- #endif // E_MANUAL > 5
- #endif // E_MANUAL > 4
- #endif // E_MANUAL > 3
- #endif // E_MANUAL > 2
- #endif // E_MANUAL > 1
+ for (uint8_t n = 0; n < E_MANUAL; n++) SUBMENU_MOVE_E(n);
#endif
diff --git a/Marlin/src/lcd/menu/menu_temperature.cpp b/Marlin/src/lcd/menu/menu_temperature.cpp
index cde94716e..5f2cbc426 100644
--- a/Marlin/src/lcd/menu/menu_temperature.cpp
+++ b/Marlin/src/lcd/menu/menu_temperature.cpp
@@ -87,14 +87,14 @@ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb
#if HAS_TEMP_HOTEND || HAS_HEATED_BED
#define _PREHEAT_ITEMS(M,N) do{ \
- ACTION_ITEM(MSG_PREHEAT_##M##_H##N, []{ _preheat_both(M-1, N); }); \
- ACTION_ITEM(MSG_PREHEAT_##M##_END_E##N, []{ _preheat_end(M-1, N); }); \
+ ACTION_ITEM_N(N, MSG_PREHEAT_##M##_H, []{ _preheat_both(M-1, MenuItemBase::itemIndex); }); \
+ ACTION_ITEM_N(N, MSG_PREHEAT_##M##_END_E, []{ _preheat_end(M-1, MenuItemBase::itemIndex); }); \
}while(0)
#if HAS_HEATED_BED
#define PREHEAT_ITEMS(M,N) _PREHEAT_ITEMS(M,N)
#else
#define PREHEAT_ITEMS(M,N) \
- ACTION_ITEM(MSG_PREHEAT_##M##_H##N, []{ _preheat_end(M-1, N); })
+ ACTION_ITEM_N(N, MSG_PREHEAT_##M##_H, []{ _preheat_end(M-1, MenuItemBase::itemIndex); })
#endif
void menu_preheat_m1() {
@@ -111,19 +111,7 @@ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb
#if HAS_HEATED_BED
_PREHEAT_ITEMS(1,0);
#endif
- PREHEAT_ITEMS(1,1);
- #if HOTENDS > 2
- PREHEAT_ITEMS(1,2);
- #if HOTENDS > 3
- PREHEAT_ITEMS(1,3);
- #if HOTENDS > 4
- PREHEAT_ITEMS(1,4);
- #if HOTENDS > 5
- PREHEAT_ITEMS(1,5);
- #endif // HOTENDS > 5
- #endif // HOTENDS > 4
- #endif // HOTENDS > 3
- #endif // HOTENDS > 2
+ for (uint8_t n = 1; n < HOTENDS; n++) PREHEAT_ITEMS(1,n);
ACTION_ITEM(MSG_PREHEAT_1_ALL, []() {
#if HAS_HEATED_BED
_preheat_bed(0);
@@ -151,19 +139,7 @@ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb
#if HAS_HEATED_BED
_PREHEAT_ITEMS(2,0);
#endif
- PREHEAT_ITEMS(2,1);
- #if HOTENDS > 2
- PREHEAT_ITEMS(2,2);
- #if HOTENDS > 3
- PREHEAT_ITEMS(2,3);
- #if HOTENDS > 4
- PREHEAT_ITEMS(2,4);
- #if HOTENDS > 5
- PREHEAT_ITEMS(2,5);
- #endif // HOTENDS > 5
- #endif // HOTENDS > 4
- #endif // HOTENDS > 3
- #endif // HOTENDS > 2
+ for (uint8_t n = 1; n < HOTENDS; n++) PREHEAT_ITEMS(2,n);
ACTION_ITEM(MSG_PREHEAT_2_ALL, []() {
#if HAS_HEATED_BED
_preheat_bed(1);
@@ -196,22 +172,9 @@ void menu_temperature() {
#if HOTENDS == 1
EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, []{ thermalManager.start_watching_hotend(0); });
#elif HOTENDS > 1
- #define EDIT_TARGET(N) EDIT_ITEM_FAST(int3, MSG_NOZZLE_##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, []{ thermalManager.start_watching_hotend(N); })
- EDIT_TARGET(0);
- EDIT_TARGET(1);
- #if HOTENDS > 2
- EDIT_TARGET(2);
- #if HOTENDS > 3
- EDIT_TARGET(3);
- #if HOTENDS > 4
- EDIT_TARGET(4);
- #if HOTENDS > 5
- EDIT_TARGET(5);
- #endif // HOTENDS > 5
- #endif // HOTENDS > 4
- #endif // HOTENDS > 3
- #endif // HOTENDS > 2
- #endif // HOTENDS > 1
+ #define EDIT_TARGET(N) EDIT_ITEM_FAST_N(int3, N, MSG_NOZZLE_N, &thermalManager.temp_hotend[N].target, 0, heater_maxtemp[N] - 15, []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); })
+ HOTEND_LOOP() EDIT_TARGET(e);
+ #endif
#if ENABLED(SINGLENOZZLE)
EDIT_ITEM_FAST(uint16_3, MSG_NOZZLE_STANDBY, &singlenozzle_temp[active_extruder ? 0 : 1], 0, HEATER_0_MAXTEMP - 15);
@@ -237,23 +200,23 @@ void menu_temperature() {
#if FAN_COUNT > 0
#if HAS_FAN0
editable.uint8 = thermalManager.fan_speed[0];
- EDIT_ITEM_FAST(percent, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(0, editable.uint8); });
+ EDIT_ITEM_FAST_N(percent, 1, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(0, editable.uint8); });
#if ENABLED(EXTRA_FAN_SPEED)
- EDIT_ITEM_FAST(percent, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
+ EDIT_ITEM_FAST_N(percent, 1, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
#endif
#endif
#if HAS_FAN1
editable.uint8 = thermalManager.fan_speed[1];
- EDIT_ITEM_FAST(percent, MSG_FAN_SPEED_2, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(1, editable.uint8); });
+ EDIT_ITEM_FAST_N(percent, 2, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(1, editable.uint8); });
#if ENABLED(EXTRA_FAN_SPEED)
- EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED_2, &thermalManager.new_fan_speed[1], 3, 255);
+ EDIT_ITEM_FAST_N(percent, 2, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[1], 3, 255);
#endif
#endif
#if HAS_FAN2
editable.uint8 = thermalManager.fan_speed[2];
- EDIT_ITEM_FAST(percent, MSG_FAN_SPEED_3, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(2, editable.uint8); });
+ EDIT_ITEM_FAST_N(percent, 3, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(2, editable.uint8); });
#if ENABLED(EXTRA_FAN_SPEED)
- EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED_3, &thermalManager.new_fan_speed[2], 3, 255);
+ EDIT_ITEM_FAST_N(percent, 3, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[2], 3, 255);
#endif
#endif
#endif // FAN_COUNT > 0
diff --git a/Marlin/src/lcd/menu/menu_tune.cpp b/Marlin/src/lcd/menu/menu_tune.cpp
index 8a40d8823..d635388f6 100644
--- a/Marlin/src/lcd/menu/menu_tune.cpp
+++ b/Marlin/src/lcd/menu/menu_tune.cpp
@@ -65,7 +65,7 @@
}
if (ui.should_draw()) {
const float spm = planner.steps_to_mm[axis];
- MenuEditItemBase::edit_screen(msg, ftostr54sign(spm * babystep.accum));
+ MenuEditItemBase::draw_edit_screen(msg, ftostr54sign(spm * babystep.accum));
#if ENABLED(BABYSTEP_DISPLAY_TOTAL)
const bool in_view = (true
#if HAS_GRAPHICAL_LCD
@@ -128,22 +128,9 @@ void menu_tune() {
#if HOTENDS == 1
EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, []{ thermalManager.start_watching_hotend(0); });
#elif HOTENDS > 1
- #define EDIT_NOZZLE(N) EDIT_ITEM_FAST(int3, MSG_NOZZLE_##N, &thermalManager.temp_hotend[N].target, 0, HEATER_##N##_MAXTEMP - 15, []{ thermalManager.start_watching_hotend(N); })
- EDIT_NOZZLE(0);
- EDIT_NOZZLE(1);
- #if HOTENDS > 2
- EDIT_NOZZLE(2);
- #if HOTENDS > 3
- EDIT_NOZZLE(3);
- #if HOTENDS > 4
- EDIT_NOZZLE(4);
- #if HOTENDS > 5
- EDIT_NOZZLE(5);
- #endif // HOTENDS > 5
- #endif // HOTENDS > 4
- #endif // HOTENDS > 3
- #endif // HOTENDS > 2
- #endif // HOTENDS > 1
+ #define EDIT_NOZZLE(N) EDIT_ITEM_FAST_N(int3, N, MSG_NOZZLE_N, &thermalManager.temp_hotend[N].target, 0, heater_maxtemp[N] - 15, []{ thermalManager.start_watching_hotend(MenuItemBase::itemIndex); })
+ HOTEND_LOOP() EDIT_NOZZLE(e);
+ #endif
#if ENABLED(SINGLENOZZLE)
EDIT_ITEM_FAST(uint16_3, MSG_NOZZLE_STANDBY, &singlenozzle_temp[active_extruder ? 0 : 1], 0, HEATER_0_MAXTEMP - 15);
@@ -162,23 +149,23 @@ void menu_tune() {
#if FAN_COUNT > 0
#if HAS_FAN0
editable.uint8 = thermalManager.fan_speed[0];
- EDIT_ITEM_FAST(percent, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(0, editable.uint8); });
+ EDIT_ITEM_FAST_N(percent, 1, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(0, editable.uint8); });
#if ENABLED(EXTRA_FAN_SPEED)
- EDIT_ITEM_FAST(percent, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
+ EDIT_ITEM_FAST_N(percent, 1, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
#endif
#endif
#if HAS_FAN1
editable.uint8 = thermalManager.fan_speed[1];
- EDIT_ITEM_FAST(percent, MSG_FAN_SPEED_2, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(1, editable.uint8); });
+ EDIT_ITEM_FAST_N(percent, 2, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(1, editable.uint8); });
#if ENABLED(EXTRA_FAN_SPEED)
- EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED_2, &thermalManager.new_fan_speed[1], 3, 255);
+ EDIT_ITEM_FAST_N(percent, 2, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[1], 3, 255);
#endif
#endif
#if HAS_FAN2
editable.uint8 = thermalManager.fan_speed[2];
- EDIT_ITEM_FAST(percent, MSG_FAN_SPEED_3, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(2, editable.uint8); });
+ EDIT_ITEM_FAST_N(percent, 3, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(2, editable.uint8); });
#if ENABLED(EXTRA_FAN_SPEED)
- EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED_3, &thermalManager.new_fan_speed[2], 3, 255);
+ EDIT_ITEM_FAST_N(percent, 3, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[2], 3, 255);
#endif
#endif
#endif // FAN_COUNT > 0
@@ -191,22 +178,9 @@ void menu_tune() {
EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[0], 10, 999, []{ planner.refresh_e_factor(0); });
#elif EXTRUDERS
EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[active_extruder], 10, 999, []{ planner.refresh_e_factor(active_extruder); });
- #define EDIT_FLOW(N) EDIT_ITEM(int3, MSG_FLOW_##N, &planner.flow_percentage[N], 10, 999, []{ planner.refresh_e_factor(N); })
- EDIT_FLOW(0);
- EDIT_FLOW(1);
- #if EXTRUDERS > 2
- EDIT_FLOW(2);
- #if EXTRUDERS > 3
- EDIT_FLOW(3);
- #if EXTRUDERS > 4
- EDIT_FLOW(4);
- #if EXTRUDERS > 5
- EDIT_FLOW(5);
- #endif // EXTRUDERS > 5
- #endif // EXTRUDERS > 4
- #endif // EXTRUDERS > 3
- #endif // EXTRUDERS > 2
- #endif // EXTRUDERS
+ #define EDIT_FLOW(N) EDIT_ITEM_N(int3, N, MSG_FLOW_N, &planner.flow_percentage[N], 10, 999, []{ planner.refresh_e_factor(MenuItemBase::itemIndex); })
+ for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FLOW(n);
+ #endif
//
// Babystep X:
diff --git a/Marlin/src/lcd/menu/menu_ubl.cpp b/Marlin/src/lcd/menu/menu_ubl.cpp
index 948dae76a..2290c8386 100644
--- a/Marlin/src/lcd/menu/menu_ubl.cpp
+++ b/Marlin/src/lcd/menu/menu_ubl.cpp
@@ -65,7 +65,7 @@ static void _lcd_mesh_fine_tune(PGM_P msg) {
}
if (ui.should_draw()) {
- MenuEditItemBase::edit_screen(msg, ftostr43sign(mesh_edit_value));
+ MenuEditItemBase::draw_edit_screen(msg, ftostr43sign(mesh_edit_value));
#if ENABLED(MESH_EDIT_GFX_OVERLAY)
_lcd_zoffset_overlay_gfx(mesh_edit_value);
#endif
diff --git a/Marlin/src/lcd/ultralcd.cpp b/Marlin/src/lcd/ultralcd.cpp
index 43e58e7ff..3b69807b7 100644
--- a/Marlin/src/lcd/ultralcd.cpp
+++ b/Marlin/src/lcd/ultralcd.cpp
@@ -182,6 +182,7 @@ millis_t MarlinUI::next_button_update_ms; // = 0
#endif
screenFunc_t MarlinUI::currentScreen; // Initialized in CTOR
+ bool MarlinUI::screen_changed;
#if ENABLED(ENCODER_RATE_MULTIPLIER)
bool MarlinUI::encoderRateMultiplierEnabled;
diff --git a/Marlin/src/lcd/ultralcd.h b/Marlin/src/lcd/ultralcd.h
index 752fd1642..47d5a87ab 100644
--- a/Marlin/src/lcd/ultralcd.h
+++ b/Marlin/src/lcd/ultralcd.h
@@ -467,6 +467,7 @@ public:
static void synchronize(PGM_P const msg=nullptr);
static screenFunc_t currentScreen;
+ static bool screen_changed;
static void goto_screen(const screenFunc_t screen, const uint16_t encoder=0, const uint8_t top=0, const uint8_t items=0);
static void save_previous_screen();