瀏覽代碼

Reduced string storage using tokens (#15593)

Scott Lahteine 5 年之前
父節點
當前提交
27cb4db80e
沒有連結到貢獻者的電子郵件帳戶。
共有 48 個檔案被更改,包括 1040 行新增3433 行删除
  1. 16
    15
      Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp
  2. 11
    11
      Marlin/src/lcd/dogm/ultralcd_DOGM.cpp
  3. 14
    76
      Marlin/src/lcd/language/language_an.h
  4. 11
    63
      Marlin/src/lcd/language/language_bg.h
  5. 12
    69
      Marlin/src/lcd/language/language_ca.h
  6. 21
    107
      Marlin/src/lcd/language/language_cz.h
  7. 9
    51
      Marlin/src/lcd/language/language_da.h
  8. 26
    142
      Marlin/src/lcd/language/language_de.h
  9. 13
    75
      Marlin/src/lcd/language/language_el.h
  10. 17
    99
      Marlin/src/lcd/language/language_el_gr.h
  11. 32
    151
      Marlin/src/lcd/language/language_en.h
  12. 22
    112
      Marlin/src/lcd/language/language_es.h
  13. 18
    90
      Marlin/src/lcd/language/language_eu.h
  14. 8
    45
      Marlin/src/lcd/language/language_fi.h
  15. 19
    106
      Marlin/src/lcd/language/language_fr.h
  16. 12
    69
      Marlin/src/lcd/language/language_gl.h
  17. 9
    51
      Marlin/src/lcd/language/language_hr.h
  18. 28
    150
      Marlin/src/lcd/language/language_it.h
  19. 11
    66
      Marlin/src/lcd/language/language_jp_kana.h
  20. 7
    36
      Marlin/src/lcd/language/language_ko_KR.h
  21. 12
    69
      Marlin/src/lcd/language/language_nl.h
  22. 27
    149
      Marlin/src/lcd/language/language_pl.h
  23. 11
    63
      Marlin/src/lcd/language/language_pt.h
  24. 16
    90
      Marlin/src/lcd/language/language_pt_br.h
  25. 22
    126
      Marlin/src/lcd/language/language_ru.h
  26. 27
    149
      Marlin/src/lcd/language/language_sk.h
  27. 6
    27
      Marlin/src/lcd/language/language_test.h
  28. 20
    102
      Marlin/src/lcd/language/language_tr.h
  29. 18
    105
      Marlin/src/lcd/language/language_uk.h
  30. 29
    132
      Marlin/src/lcd/language/language_vi.h
  31. 23
    120
      Marlin/src/lcd/language/language_zh_CN.h
  32. 22
    120
      Marlin/src/lcd/language/language_zh_TW.h
  33. 63
    0
      Marlin/src/lcd/lcdprint.cpp
  34. 23
    5
      Marlin/src/lcd/lcdprint.h
  35. 32
    21
      Marlin/src/lcd/menu/menu.cpp
  36. 192
    108
      Marlin/src/lcd/menu/menu.h
  37. 29
    140
      Marlin/src/lcd/menu/menu_advanced.cpp
  38. 2
    2
      Marlin/src/lcd/menu/menu_bed_leveling.cpp
  39. 4
    9
      Marlin/src/lcd/menu/menu_cancelobject.cpp
  40. 62
    131
      Marlin/src/lcd/menu/menu_filament.cpp
  41. 3
    3
      Marlin/src/lcd/menu/menu_media.cpp
  42. 14
    27
      Marlin/src/lcd/menu/menu_mixer.cpp
  43. 37
    60
      Marlin/src/lcd/menu/menu_motion.cpp
  44. 14
    51
      Marlin/src/lcd/menu/menu_temperature.cpp
  45. 13
    39
      Marlin/src/lcd/menu/menu_tune.cpp
  46. 1
    1
      Marlin/src/lcd/menu/menu_ubl.cpp
  47. 1
    0
      Marlin/src/lcd/ultralcd.cpp
  48. 1
    0
      Marlin/src/lcd/ultralcd.h

+ 16
- 15
Marlin/src/lcd/HD44780/ultralcd_HD44780.cpp 查看文件

@@ -1006,40 +1006,41 @@ void MarlinUI::draw_status_screen() {
1006 1006
       int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2;
1007 1007
       while (--pad >= 0) { lcd_put_wchar(' '); n--; }
1008 1008
     }
1009
-    n -= lcd_put_u8str_max_P(pstr, n);
1009
+    n = lcd_put_u8str_ind_P(pstr, itemIndex, n);
1010 1010
     if (valstr) n -= lcd_put_u8str_max(valstr, n);
1011 1011
     for (; n > 0; --n) lcd_put_wchar(' ');
1012 1012
   }
1013 1013
 
1014 1014
   // Draw a generic menu item with pre_char (if selected) and post_char
1015 1015
   void MenuItemBase::_draw(const bool sel, const uint8_t row, PGM_P const pstr, const char pre_char, const char post_char) {
1016
-    uint8_t n = LCD_WIDTH - 2;
1017 1016
     lcd_put_wchar(0, row, sel ? pre_char : ' ');
1018
-    n -= lcd_put_u8str_max_P(pstr, n);
1017
+    uint8_t n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH - 2);
1019 1018
     for (; n; --n) lcd_put_wchar(' ');
1020 1019
     lcd_put_wchar(post_char);
1021 1020
   }
1022 1021
 
1023
-  // Draw an edit menu item with label and value string
1024
-  void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P pstr, const char* const data, const bool pgm) {
1025
-    int8_t n = LCD_WIDTH - 2 - (pgm ? utf8_strlen_P(data) : utf8_strlen(data));
1022
+  // Draw a menu item with a (potentially) editable value
1023
+  void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm) {
1024
+    const uint8_t vlen = data ? (pgm ? utf8_strlen_P(data) : utf8_strlen(data)) : 0;
1026 1025
     lcd_put_wchar(0, row, sel ? LCD_STR_ARROW_RIGHT[0] : ' ');
1027
-    n -= lcd_put_u8str_max_P(pstr, n);
1028
-    lcd_put_wchar(':');
1029
-    for (; n > 0; --n) lcd_put_wchar(' ');
1030
-    if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str(data);
1026
+    uint8_t n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH - 2 - vlen);
1027
+    if (vlen) {
1028
+      lcd_put_wchar(':');
1029
+      for (; n; --n) lcd_put_wchar(' ');
1030
+      if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str(data);
1031
+    }
1031 1032
   }
1032 1033
 
1033
-  // Draw the edit screen for an editable menu item
1034
-  void MenuEditItemBase::edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) {
1034
+  // Low-level draw_edit_screen can be used to draw an edit screen from anyplace
1035
+  void MenuEditItemBase::draw_edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) {
1035 1036
     ui.encoder_direction_normal();
1036 1037
 
1037
-    lcd_put_u8str_P(0, 1, pstr);
1038
+    uint8_t n = lcd_put_u8str_ind_P(0, 1, pstr, itemIndex, LCD_WIDTH - 1);
1038 1039
     if (value != nullptr) {
1039 1040
       lcd_put_wchar(':');
1040 1041
       int len = utf8_strlen(value);
1041
-      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
1042
-      lcd_put_wchar((LCD_WIDTH - 1) - (len + 1), valrow, ' ');                                   // Right-justified, padded, add a leading space
1042
+      const lcd_uint_t valrow = (n < len + 1) ? 2 : 1;          // Value on the next row if it won't fit
1043
+      lcd_put_wchar((LCD_WIDTH - 1) - (len + 1), valrow, ' ');  // Right-justified, padded, leading space
1043 1044
       lcd_put_u8str(value);
1044 1045
     }
1045 1046
   }

+ 11
- 11
Marlin/src/lcd/dogm/ultralcd_DOGM.cpp 查看文件

@@ -373,7 +373,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
373 373
         int8_t pad = (LCD_WIDTH - utf8_strlen_P(pstr)) / 2;
374 374
         while (--pad >= 0) { lcd_put_wchar(' '); n--; }
375 375
       }
376
-      n -= lcd_put_u8str_max_P(pstr, n);
376
+      n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH) * (MENU_FONT_WIDTH);
377 377
       if (valstr) n -= lcd_put_u8str_max(valstr, n);
378 378
       while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' ');
379 379
     }
@@ -382,8 +382,7 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
382 382
   // Draw a generic menu item
383 383
   void MenuItemBase::_draw(const bool sel, const uint8_t row, PGM_P const pstr, const char, const char post_char) {
384 384
     if (mark_as_selected(row, sel)) {
385
-      u8g_uint_t n = (LCD_WIDTH - 2) * (MENU_FONT_WIDTH);
386
-      n -= lcd_put_u8str_max_P(pstr, n);
385
+      u8g_uint_t n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH - 2) * (MENU_FONT_WIDTH);
387 386
       while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' ');
388 387
       lcd_put_wchar(LCD_PIXEL_WIDTH - (MENU_FONT_WIDTH), row_y2, post_char);
389 388
       lcd_put_wchar(' ');
@@ -394,16 +393,17 @@ void MarlinUI::clear_lcd() { } // Automatically cleared by Picture Loop
394 393
   void MenuEditItemBase::draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm) {
395 394
     if (mark_as_selected(row, sel)) {
396 395
       const uint8_t vallen = (pgm ? utf8_strlen_P(data) : utf8_strlen((char*)data));
397
-      u8g_uint_t n = (LCD_WIDTH - 2 - vallen) * (MENU_FONT_WIDTH);
398
-      n -= lcd_put_u8str_max_P(pstr, n);
399
-      lcd_put_wchar(':');
400
-      while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' ');
401
-      lcd_moveto(LCD_PIXEL_WIDTH - (MENU_FONT_WIDTH) * vallen, row_y2);
402
-      if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str((char*)data);
396
+      u8g_uint_t n = lcd_put_u8str_ind_P(pstr, itemIndex, LCD_WIDTH - 2 - vallen) * (MENU_FONT_WIDTH);
397
+      if (vallen) {
398
+        lcd_put_wchar(':');
399
+        while (n > MENU_FONT_WIDTH) n -= lcd_put_wchar(' ');
400
+        lcd_moveto(LCD_PIXEL_WIDTH - (MENU_FONT_WIDTH) * vallen, row_y2);
401
+        if (pgm) lcd_put_u8str_P(data); else lcd_put_u8str((char*)data);
402
+      }
403 403
     }
404 404
   }
405 405
 
406
-  void MenuEditItemBase::edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) {
406
+  void MenuEditItemBase::draw_edit_screen(PGM_P const pstr, const char* const value/*=nullptr*/) {
407 407
     ui.encoder_direction_normal();
408 408
 
409 409
     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
435 435
 
436 436
     // Assume the label is alpha-numeric (with a descender)
437 437
     bool onpage = PAGE_CONTAINS(baseline - (EDIT_FONT_ASCENT - 1), baseline + EDIT_FONT_DESCENT);
438
-    if (onpage) lcd_put_u8str_P(0, baseline, pstr);
438
+    if (onpage) lcd_put_u8str_ind_P(0, baseline, pstr, itemIndex);
439 439
 
440 440
     // If a value is included, print a colon, then print the value right-justified
441 441
     if (value != nullptr) {

+ 14
- 76
Marlin/src/lcd/language/language_an.h 查看文件

@@ -57,36 +57,16 @@ namespace Language_an {
57 57
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Desfase aplicau");
58 58
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Establir orichen");
59 59
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Precalentar ") PREHEAT_1_LABEL;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N0;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N1;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N2;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N3;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N4;
65
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N5;
60
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Precalentar ") PREHEAT_1_LABEL " ~";
66 61
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla");
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N0;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N1;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N2;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N3;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N4;
72
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ") LCD_STR_N5;
62
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ~");
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Tot");
74 64
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Base");
75 65
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Conf");
76 66
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Precalentar ") PREHEAT_2_LABEL;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N0;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N1;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N2;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N3;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N4;
82
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Precal. ") PREHEAT_2_LABEL " " LCD_STR_N5;
67
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Precalentar ") PREHEAT_2_LABEL " ~";
83 68
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla");
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N0;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N1;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N2;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N3;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N4;
89
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ") LCD_STR_N5;
69
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Precal. ") PREHEAT_2_LABEL _UxGT(" Boquilla ~");
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Tot");
91 71
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Base");
92 72
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Conf");
@@ -102,12 +82,7 @@ namespace Language_an {
102 82
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Mover Y");
103 83
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Mover Z");
104 84
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extrusor");
105
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extrusor ") LCD_STR_E0;
106
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extrusor ") LCD_STR_E1;
107
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extrusor ") LCD_STR_E2;
108
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extrusor ") LCD_STR_E3;
109
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extrusor ") LCD_STR_E4;
110
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extrusor ") LCD_STR_E5;
85
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extrusor *");
111 86
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Mover %smm");
112 87
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Mover 0.1mm");
113 88
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Mover 1mm");
@@ -115,33 +90,16 @@ namespace Language_an {
115 90
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Velocidat");
116 91
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Base Z");
117 92
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Boquilla");
118
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Boquilla ") LCD_STR_N0;
119
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Boquilla ") LCD_STR_N1;
120
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Boquilla ") LCD_STR_N2;
121
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Boquilla ") LCD_STR_N3;
122
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Boquilla ") LCD_STR_N4;
123
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Boquilla ") LCD_STR_N5;
93
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Boquilla ~");
124 94
   PROGMEM Language_Str MSG_BED                             = _UxGT("Base");
125 95
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Ixoriador");
126
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Ixoriador 1");
127
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Ixoriador 2");
128
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Ixoriador 3");
96
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Ixoriador =");
129 97
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Fluxo");
130
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Fluxo ") LCD_STR_N0;
131
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Fluxo ") LCD_STR_N1;
132
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Fluxo ") LCD_STR_N2;
133
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Fluxo ") LCD_STR_N3;
134
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Fluxo ") LCD_STR_N4;
135
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Fluxo ") LCD_STR_N5;
98
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Fluxo ~");
136 99
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Control");
137 100
   PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Temperatura Auto.");
138 101
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Trigar");
139
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Trigar ") LCD_STR_E0;
140
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Trigar ") LCD_STR_E1;
141
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Trigar ") LCD_STR_E2;
142
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Trigar ") LCD_STR_E3;
143
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Trigar ") LCD_STR_E4;
144
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Trigar ") LCD_STR_E5;
102
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Trigar *");
145 103
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Aceleracion");
146 104
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vel. viache min");
147 105
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Accel");
@@ -149,12 +107,7 @@ namespace Language_an {
149 107
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Acel. max") LCD_STR_B;
150 108
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Acel. max") LCD_STR_C;
151 109
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Acel. max") LCD_STR_E;
152
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Acel. max ") LCD_STR_E0;
153
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Acel. max ") LCD_STR_E1;
154
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Acel. max ") LCD_STR_E2;
155
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Acel. max ") LCD_STR_E3;
156
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Acel. max ") LCD_STR_E4;
157
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Acel. max ") LCD_STR_E5;
110
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Acel. max *");
158 111
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("Acel. retrac.");
159 112
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("Acel. Viaje");
160 113
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Trangos/mm");
@@ -162,28 +115,18 @@ namespace Language_an {
162 115
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" trangos/mm");
163 116
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" trangos/mm");
164 117
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E trangos/mm");
165
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" trangos/mm");
166
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" trangos/mm");
167
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" trangos/mm");
168
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" trangos/mm");
169
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" trangos/mm");
170
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" trangos/mm");
118
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* trangos/mm");
171 119
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatura");
172 120
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Movimiento");
173 121
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filamento");
174 122
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E in mm3");
175 123
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Fil. Dia.");
176
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Fil. Dia. ") LCD_STR_E0;
177
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Fil. Dia. ") LCD_STR_E1;
178
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Fil. Dia. ") LCD_STR_E2;
179
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Fil. Dia. ") LCD_STR_E3;
180
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Fil. Dia. ") LCD_STR_E4;
181
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Fil. Dia. ") LCD_STR_E5;
124
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Fil. Dia. *");
182 125
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Contraste");
183 126
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Alzar memoria");
184 127
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Cargar memoria");
185 128
   PROGMEM Language_Str MSG_RESTORE_FAILSAFE                = _UxGT("Restaurar memoria");
186
-  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH  _UxGT("Tornar a cargar");
129
+  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH _UxGT("Tornar a cargar");
187 130
   PROGMEM Language_Str MSG_WATCH                           = _UxGT("Informacion");
188 131
   PROGMEM Language_Str MSG_PREPARE                         = _UxGT("Preparar");
189 132
   PROGMEM Language_Str MSG_TUNE                            = _UxGT("Achustar");
@@ -207,12 +150,7 @@ namespace Language_an {
207 150
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("DesRet F");
208 151
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("Retraccion auto.");
209 152
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Cambear filamento");
210
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Cambear filamento ") LCD_STR_E0;
211
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Cambear filamento ") LCD_STR_E1;
212
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Cambear filamento ") LCD_STR_E2;
213
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Cambear filamento ") LCD_STR_E3;
214
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Cambear filamento ") LCD_STR_E4;
215
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Cambear filamento ") LCD_STR_E5;
153
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Cambear filamento *");
216 154
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Encetan. tarcheta");
217 155
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Cambiar tarcheta");
218 156
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Sonda Z fuera");

+ 11
- 63
Marlin/src/lcd/language/language_bg.h 查看文件

@@ -47,36 +47,16 @@ namespace Language_bg {
47 47
   PROGMEM Language_Str MSG_SET_HOME_OFFSETS                = _UxGT("Задай Начало");
48 48
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Изходна точка");
49 49
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Подгряване ") PREHEAT_1_LABEL;
50
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N0;
51
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N1;
52
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N2;
53
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N3;
54
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N4;
55
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Подгряване ") PREHEAT_1_LABEL " " LCD_STR_N5;
50
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Подгряване ") PREHEAT_1_LABEL " ~";
56 51
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза");
57
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N0;
58
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N1;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N2;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N3;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N4;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ") LCD_STR_N5;
52
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ~");
63 53
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Подгр. ") PREHEAT_1_LABEL _UxGT(" Всички");
64 54
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Подгр. ") PREHEAT_1_LABEL _UxGT(" Легло");
65 55
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Настройки ") PREHEAT_2_LABEL;
66 56
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Подгряване ") PREHEAT_2_LABEL;
67
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N0;
68
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N1;
69
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N2;
70
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N3;
71
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N4;
72
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Подгряване ") PREHEAT_2_LABEL " " LCD_STR_N5;
57
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Подгряване ") PREHEAT_2_LABEL " ~";
73 58
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза");
74
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N0;
75
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N1;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N2;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N3;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N4;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ") LCD_STR_N5;
59
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Подгряване ") PREHEAT_2_LABEL _UxGT(" Дюза ~");
80 60
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Подгр. ") PREHEAT_2_LABEL _UxGT(" Всички");
81 61
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Подгр. ") PREHEAT_2_LABEL _UxGT(" Легло");
82 62
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Настройки ") PREHEAT_2_LABEL;
@@ -92,12 +72,7 @@ namespace Language_bg {
92 72
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Движение по Y");
93 73
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Движение по Z");
94 74
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Екструдер");
95
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Екструдер ") LCD_STR_E0;
96
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Екструдер ") LCD_STR_E1;
97
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Екструдер ") LCD_STR_E2;
98
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Екструдер ") LCD_STR_E3;
99
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Екструдер ") LCD_STR_E4;
100
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Екструдер ") LCD_STR_E5;
75
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Екструдер *");
101 76
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Премести с %smm");
102 77
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Премести с 0.1mm");
103 78
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Премести с 1mm");
@@ -105,24 +80,12 @@ namespace Language_bg {
105 80
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Скорост");
106 81
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Bed Z");
107 82
   PROGMEM Language_Str MSG_NOZZLE                          = " " LCD_STR_THERMOMETER _UxGT(" Дюза");
108
-  PROGMEM Language_Str MSG_NOZZLE_0                        = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N0;
109
-  PROGMEM Language_Str MSG_NOZZLE_1                        = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N1;
110
-  PROGMEM Language_Str MSG_NOZZLE_2                        = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N2;
111
-  PROGMEM Language_Str MSG_NOZZLE_3                        = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N3;
112
-  PROGMEM Language_Str MSG_NOZZLE_4                        = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N4;
113
-  PROGMEM Language_Str MSG_NOZZLE_5                        = " " LCD_STR_THERMOMETER _UxGT(" Дюза ") LCD_STR_N5;
83
+  PROGMEM Language_Str MSG_NOZZLE_N                        = " " LCD_STR_THERMOMETER _UxGT(" Дюза ~");
114 84
   PROGMEM Language_Str MSG_BED                             = " " LCD_STR_THERMOMETER _UxGT(" Легло");
115 85
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Вентилатор");
116
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Вентилатор 1");
117
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Вентилатор 2");
118
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Вентилатор 3");
86
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Вентилатор =");
119 87
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Поток");
120
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Поток ") LCD_STR_N0;
121
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Поток ") LCD_STR_N1;
122
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Поток ") LCD_STR_N2;
123
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Поток ") LCD_STR_N3;
124
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Поток ") LCD_STR_N4;
125
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Поток ") LCD_STR_N5;
88
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Поток ~");
126 89
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Управление");
127 90
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Минимум");
128 91
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Максимум");
@@ -137,23 +100,13 @@ namespace Language_bg {
137 100
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("стъпки/mm");
138 101
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("стъпки/mm");
139 102
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E стъпки/mm");
140
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" стъпки/mm");
141
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" стъпки/mm");
142
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" стъпки/mm");
143
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" стъпки/mm");
144
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" стъпки/mm");
145
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" стъпки/mm");
103
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* стъпки/mm");
146 104
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Температура");
147 105
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Движение");
148 106
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Нишка");
149 107
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E in mm3");
150 108
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Диам. нишка");
151
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Диам. нишка ") LCD_STR_E0;
152
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Диам. нишка ") LCD_STR_E1;
153
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Диам. нишка ") LCD_STR_E2;
154
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Диам. нишка ") LCD_STR_E3;
155
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Диам. нишка ") LCD_STR_E4;
156
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Диам. нишка ") LCD_STR_E5;
109
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Диам. нишка *");
157 110
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD контраст");
158 111
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Запази в EPROM");
159 112
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Зареди от EPROM");
@@ -182,12 +135,7 @@ namespace Language_bg {
182 135
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("Възврат  V");
183 136
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("Автоoткат");
184 137
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Смяна нишка");
185
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Смяна нишка ") LCD_STR_E0;
186
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Смяна нишка ") LCD_STR_E1;
187
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Смяна нишка ") LCD_STR_E2;
188
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Смяна нишка ") LCD_STR_E3;
189
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Смяна нишка ") LCD_STR_E4;
190
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Смяна нишка ") LCD_STR_E5;
138
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Смяна нишка *");
191 139
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Иниц. SD-Карта");
192 140
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Смяна SD-Карта");
193 141
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Z-сондата е извадена");

+ 12
- 69
Marlin/src/lcd/language/language_ca.h 查看文件

@@ -55,36 +55,16 @@ namespace Language_ca {
55 55
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Decalatge aplicat");
56 56
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Estableix origen");
57 57
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Preescalfa ") PREHEAT_1_LABEL;
58
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N0;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N1;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N2;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N3;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N4;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Preescalfa ") PREHEAT_1_LABEL " " LCD_STR_N5;
58
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Preescalfa ") PREHEAT_1_LABEL " ~";
64 59
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End");
65
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N0;
66
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N1;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N2;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N3;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N4;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N5;
60
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ~");
71 61
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Tot");
72 62
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Llit");
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Conf.");
74 64
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Preescalfa ") PREHEAT_2_LABEL;
75
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N0;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N1;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N2;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N3;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N4;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Preescalfa ") PREHEAT_2_LABEL " " LCD_STR_N5;
65
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Preescalfa ") PREHEAT_2_LABEL " ~";
81 66
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End");
82
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N0;
83
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N1;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N2;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N3;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N4;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N5;
67
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ~");
88 68
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Tot");
89 69
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Llit");
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Conf.");
@@ -103,12 +83,7 @@ namespace Language_ca {
103 83
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Mou Y");
104 84
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Mou Z");
105 85
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extrusor");
106
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extrusor ") LCD_STR_E0;
107
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extrusor ") LCD_STR_E1;
108
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extrusor ") LCD_STR_E2;
109
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extrusor ") LCD_STR_E3;
110
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extrusor ") LCD_STR_E4;
111
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extrusor ") LCD_STR_E5;
86
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extrusor *");
112 87
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Mou %smm");
113 88
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Mou 0.1mm");
114 89
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Mou 1mm");
@@ -116,35 +91,18 @@ namespace Language_ca {
116 91
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Velocitat");
117 92
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Llit Z");
118 93
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Nozzle");
119
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Nozzle ") LCD_STR_N0;
120
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Nozzle ") LCD_STR_N1;
121
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Nozzle ") LCD_STR_N2;
122
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Nozzle ") LCD_STR_N3;
123
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Nozzle ") LCD_STR_N4;
124
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Nozzle ") LCD_STR_N5;
94
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Nozzle ~");
125 95
   PROGMEM Language_Str MSG_BED                             = _UxGT("Llit");
126 96
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Vel. Ventilador");
127
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Vel. Ventilador 1");
128
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Vel. Ventilador 2");
129
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Vel. Ventilador 3");
97
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Vel. Ventilador =");
130 98
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Flux");
131
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Flux ") LCD_STR_N0;
132
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Flux ") LCD_STR_N1;
133
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Flux ") LCD_STR_N2;
134
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Flux ") LCD_STR_N3;
135
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Flux ") LCD_STR_N4;
136
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Flux ") LCD_STR_N5;
99
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Flux ~");
137 100
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("VViatge min");
138 101
   PROGMEM Language_Str MSG_AMAX_A                          = _UxGT("Accel. max ") LCD_STR_A;
139 102
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Accel. max ") LCD_STR_B;
140 103
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Accel. max ") LCD_STR_C;
141 104
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Accel. max ") LCD_STR_E;
142
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Accel. max ") LCD_STR_E0;
143
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Accel. max ") LCD_STR_E1;
144
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Accel. max ") LCD_STR_E2;
145
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Accel. max ") LCD_STR_E3;
146
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Accel. max ") LCD_STR_E4;
147
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Accel. max ") LCD_STR_E5;
105
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Accel. max *");
148 106
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("Accel. retracc");
149 107
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("Accel. Viatge");
150 108
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Passos/mm");
@@ -152,23 +110,13 @@ namespace Language_ca {
152 110
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("passos/mm");
153 111
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("passos/mm");
154 112
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Epassos/mm");
155
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT("passos/mm");
156
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT("passos/mm");
157
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT("passos/mm");
158
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT("passos/mm");
159
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT("passos/mm");
160
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT("passos/mm");
113
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*passos/mm");
161 114
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatura");
162 115
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Moviment");
163 116
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
164 117
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E en mm3");
165 118
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Diam. Fil.");
166
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Diam. Fil. ") LCD_STR_E0;
167
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Diam. Fil. ") LCD_STR_E1;
168
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Diam. Fil. ") LCD_STR_E2;
169
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Diam. Fil. ") LCD_STR_E3;
170
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Diam. Fil. ") LCD_STR_E4;
171
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Diam. Fil. ") LCD_STR_E5;
119
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Diam. Fil. *");
172 120
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Contrast de LCD");
173 121
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Desa memoria");
174 122
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Carrega memoria");
@@ -197,12 +145,7 @@ namespace Language_ca {
197 145
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("DesRet V");
198 146
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("Auto retraccio");
199 147
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Canvia filament");
200
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Canvia filament ") LCD_STR_E0;
201
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Canvia filament ") LCD_STR_E1;
202
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Canvia filament ") LCD_STR_E2;
203
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Canvia filament ") LCD_STR_E3;
204
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Canvia filament ") LCD_STR_E4;
205
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Canvia filament ") LCD_STR_E5;
148
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Canvia filament *");
206 149
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Inicialitza SD");
207 150
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Canvia SD");
208 151
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Sonda Z fora");

+ 21
- 107
Marlin/src/lcd/language/language_cz.h 查看文件

@@ -75,36 +75,16 @@ namespace Language_cz {
75 75
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Ofsety nastaveny");
76 76
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Nastavit počátek");
77 77
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Zahřát ") PREHEAT_1_LABEL;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N0;
79
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N1;
80
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N2;
81
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N3;
82
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N4;
83
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Zahřát ") PREHEAT_1_LABEL " " LCD_STR_N5;
78
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Zahřát ") PREHEAT_1_LABEL " ~";
84 79
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end");
85
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N0;
86
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N1;
87
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N2;
88
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N3;
89
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N4;
90
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N5;
80
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ~");
91 81
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" vše");
92 82
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" podlož");
93 83
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" nast");
94 84
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Zahřát ") PREHEAT_2_LABEL;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N0;
96
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N1;
97
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N2;
98
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N3;
99
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N4;
100
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Zahřát ") PREHEAT_2_LABEL " " LCD_STR_N5;
85
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Zahřát ") PREHEAT_2_LABEL " ~";
101 86
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end");
102
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N0;
103
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N1;
104
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N2;
105
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N3;
106
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N4;
107
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N5;
87
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" end ~");
108 88
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" vše");
109 89
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" podlož");
110 90
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Zahřát ") PREHEAT_2_LABEL _UxGT(" nast");
@@ -234,12 +214,7 @@ namespace Language_cz {
234 214
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Posunout Y");
235 215
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Posunout Z");
236 216
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extrudér");
237
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extrudér ") LCD_STR_E0;
238
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extrudér ") LCD_STR_E1;
239
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extrudér ") LCD_STR_E2;
240
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extrudér ") LCD_STR_E3;
241
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extrudér ") LCD_STR_E4;
242
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extrudér ") LCD_STR_E5;
217
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extrudér *");
243 218
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Hotend je studený");
244 219
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Posunout o %smm");
245 220
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Posunout o 0,1mm");
@@ -248,29 +223,15 @@ namespace Language_cz {
248 223
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Rychlost");
249 224
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Výška podl.");
250 225
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Tryska");
251
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Tryska ") LCD_STR_N0;
252
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Tryska ") LCD_STR_N1;
253
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Tryska ") LCD_STR_N2;
254
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Tryska ") LCD_STR_N3;
255
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Tryska ") LCD_STR_N4;
256
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Tryska ") LCD_STR_N5;
226
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Tryska ~");
257 227
   PROGMEM Language_Str MSG_BED                             = _UxGT("Podložka");
258 228
   PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Komora");
259 229
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Rychlost vent.");
260
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Rychlost vent. 1");
261
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Rychlost vent. 2");
262
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Rychlost vent. 3");
230
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Rychlost vent. =");
263 231
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Rychlost ex. vent.");
264
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Rychlost ex. vent. 1");
265
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Rychlost ex. vent. 2");
266
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Rychlost ex. vent. 3");
232
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Rychlost ex. vent. =");
267 233
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Průtok");
268
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Průtok ") LCD_STR_N0;
269
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Průtok ") LCD_STR_N1;
270
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Průtok ") LCD_STR_N2;
271
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Průtok ") LCD_STR_N3;
272
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Průtok ") LCD_STR_N4;
273
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Průtok ") LCD_STR_N5;
234
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Průtok ~");
274 235
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Ovládaní");
275 236
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
276 237
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -279,12 +240,7 @@ namespace Language_cz {
279 240
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Zap");
280 241
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Vyp");
281 242
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Vybrat");
282
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Vybrat ") LCD_STR_E0;
283
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Vybrat ") LCD_STR_E1;
284
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Vybrat ") LCD_STR_E2;
285
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Vybrat ") LCD_STR_E3;
286
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Vybrat ") LCD_STR_E4;
287
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Vybrat ") LCD_STR_E5;
243
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Vybrat *");
288 244
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Zrychl");
289 245
   PROGMEM Language_Str MSG_JUNCTION_DEVIATION              = _UxGT("Odchylka spoje");
290 246
   PROGMEM Language_Str MSG_VELOCITY                        = _UxGT("Rychlost");
@@ -296,32 +252,17 @@ namespace Language_cz {
296 252
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("kroků/mm");
297 253
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("kroků/mm");
298 254
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Ekroků/mm");
299
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT("kroků/mm");
300
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT("kroků/mm");
301
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT("kroků/mm");
302
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT("kroků/mm");
303
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT("kroků/mm");
304
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT("kroků/mm");
255
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*kroků/mm");
305 256
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Teplota");
306 257
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Pohyb");
307 258
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
308 259
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E na mm3");
309 260
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Fil. Prum.");
310
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Fil. Prum. ") LCD_STR_E0;
311
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Fil. Prum. ") LCD_STR_E1;
312
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Fil. Prum. ") LCD_STR_E2;
313
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Fil. Prum. ") LCD_STR_E3;
314
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Fil. Prum. ") LCD_STR_E4;
315
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Fil. Prum. ") LCD_STR_E5;
261
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Fil. Prum. *");
316 262
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Vysunout mm");
317 263
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Zavést mm");
318 264
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("K pro posun");
319
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("K pro posun ") LCD_STR_E0;
320
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("K pro posun ") LCD_STR_E1;
321
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("K pro posun ") LCD_STR_E2;
322
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("K pro posun ") LCD_STR_E3;
323
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("K pro posun ") LCD_STR_E4;
324
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("K pro posun ") LCD_STR_E5;
265
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("K pro posun *");
325 266
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Kontrast LCD");
326 267
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Uložit nastavení");
327 268
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Načíst nastavení");
@@ -329,7 +270,7 @@ namespace Language_cz {
329 270
   PROGMEM Language_Str MSG_INIT_EEPROM                     = _UxGT("Inic. EEPROM");
330 271
   PROGMEM Language_Str MSG_MEDIA_UPDATE                    = _UxGT("Aktualizace z SD");
331 272
   PROGMEM Language_Str MSG_RESET_PRINTER                   = _UxGT("Reset tiskárny");
332
-  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH  _UxGT("Obnovit");
273
+  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH _UxGT("Obnovit");
333 274
   PROGMEM Language_Str MSG_WATCH                           = _UxGT("Info obrazovka");
334 275
   PROGMEM Language_Str MSG_PREPARE                         = _UxGT("Připrava tisku");
335 276
   PROGMEM Language_Str MSG_TUNE                            = _UxGT("Doladění tisku");
@@ -366,25 +307,11 @@ namespace Language_cz {
366 307
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Rychlost retrak.");
367 308
   PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Tryska standby");
368 309
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Vyměnit filament");
369
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Vyměnit filament ") LCD_STR_E0;
370
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Vyměnit filament ") LCD_STR_E1;
371
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Vyměnit filament ") LCD_STR_E2;
372
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Vyměnit filament ") LCD_STR_E3;
373
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Vyměnit filament ") LCD_STR_E4;
374
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Vyměnit filament ") LCD_STR_E5;
310
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Vyměnit filament *");
375 311
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Zavést filament");
376
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Zavést filament ") LCD_STR_E0;
377
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Zavést filament ") LCD_STR_E1;
378
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Zavést filament ") LCD_STR_E2;
379
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Zavést filament ") LCD_STR_E3;
380
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Zavést filament ") LCD_STR_E4;
381
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Zavést filament ") LCD_STR_E5;
382
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Vysunout filament ") LCD_STR_E0;
383
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Vysunout filament ") LCD_STR_E1;
384
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Vysunout filament ") LCD_STR_E2;
385
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Vysunout filament ") LCD_STR_E3;
386
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Vysunout filament ") LCD_STR_E4;
387
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Vysunout filament ") LCD_STR_E5;
312
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Zavést filament *");
313
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Vysunout filament");
314
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Vysunout filament *");
388 315
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Vysunout vše");
389 316
 
390 317
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Načíst SD kartu");
@@ -508,32 +435,19 @@ namespace Language_cz {
508 435
   PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Zavést všechny");
509 436
   PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Zavést do trysky");
510 437
   PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Vysunout filament");
511
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0            = _UxGT("Vysun. filament 1");
512
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1            = _UxGT("Vysun. filament 2");
513
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2            = _UxGT("Vysun. filament 3");
514
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3            = _UxGT("Vysun. filament 4");
515
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4            = _UxGT("Vysun. filament 5");
438
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Vysun. filament ~");
516 439
   PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Vytáhnout filament");
517 440
   PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Zavádění fil. %i...");
518 441
   PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Vytahování fil. ...");
519 442
   PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Vysouvání fil....");
520 443
   PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Všechny");
521
-  PROGMEM Language_Str MSG_MMU2_FILAMENT0                  = _UxGT("Filament 1");
522
-  PROGMEM Language_Str MSG_MMU2_FILAMENT1                  = _UxGT("Filament 2");
523
-  PROGMEM Language_Str MSG_MMU2_FILAMENT2                  = _UxGT("Filament 3");
524
-  PROGMEM Language_Str MSG_MMU2_FILAMENT3                  = _UxGT("Filament 4");
525
-  PROGMEM Language_Str MSG_MMU2_FILAMENT4                  = _UxGT("Filament 5");
444
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Filament ~");
526 445
   PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Resetovat MMU");
527 446
   PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Resetování MMU...");
528 447
   PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Vytáhněte, klikněte");
529 448
 
530 449
   PROGMEM Language_Str MSG_MIX                             = _UxGT("Mix");
531
-  PROGMEM Language_Str MSG_MIX_COMPONENT_1                 = _UxGT("Komponenta 1");
532
-  PROGMEM Language_Str MSG_MIX_COMPONENT_2                 = _UxGT("Komponenta 2");
533
-  PROGMEM Language_Str MSG_MIX_COMPONENT_3                 = _UxGT("Komponenta 3");
534
-  PROGMEM Language_Str MSG_MIX_COMPONENT_4                 = _UxGT("Komponenta 4");
535
-  PROGMEM Language_Str MSG_MIX_COMPONENT_5                 = _UxGT("Komponenta 5");
536
-  PROGMEM Language_Str MSG_MIX_COMPONENT_6                 = _UxGT("Komponenta 6");
450
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Komponenta ~");
537 451
   PROGMEM Language_Str MSG_MIXER                           = _UxGT("Mixér");
538 452
   PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Přechod");
539 453
   PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Celý přechod");

+ 9
- 51
Marlin/src/lcd/language/language_da.h 查看文件

@@ -50,36 +50,16 @@ namespace Language_da {
50 50
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Forsk. er nu aktiv");
51 51
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Sæt origin");
52 52
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Forvarm ") PREHEAT_1_LABEL;
53
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N0;
54
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N1;
55
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N2;
56
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N3;
57
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N4;
58
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Forvarm ") PREHEAT_1_LABEL " " LCD_STR_N5;
53
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Forvarm ") PREHEAT_1_LABEL " ~";
59 54
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end")
60
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N0;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N1;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N2;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N3;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N4;
65
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ") LCD_STR_N5;
55
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ~");
66 56
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" Alle");
67 57
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" Bed");
68 58
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" conf");
69 59
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Forvarm ") PREHEAT_2_LABEL;
70
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N0;
71
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N1;
72
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N2;
73
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N3;
74
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N4;
75
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Forvarm ") PREHEAT_2_LABEL " " LCD_STR_N5;
60
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Forvarm ") PREHEAT_2_LABEL " ~";
76 61
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end")
77
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N0;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N1;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N2;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N3;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N4;
82
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ") LCD_STR_N5;
62
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" end ~");
83 63
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" Alle");
84 64
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" Bed");
85 65
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Forvarm ") PREHEAT_2_LABEL _UxGT(" conf");
@@ -100,18 +80,11 @@ namespace Language_da {
100 80
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Hastighed");
101 81
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Plade Z");
102 82
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Dyse");
103
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Dyse ") LCD_STR_N0;
104
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Dyse ") LCD_STR_N1;
105
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Dyse ") LCD_STR_N2;
106
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Dyse ") LCD_STR_N3;
107
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Dyse ") LCD_STR_N4;
108
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Dyse ") LCD_STR_N5;
83
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Dyse ~");
109 84
 
110 85
   PROGMEM Language_Str MSG_BED                             = _UxGT("Plade");
111 86
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Blæser hastighed");
112
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Blæser hastighed 1");
113
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Blæser hastighed 2");
114
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Blæser hastighed 3");
87
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Blæser hastighed =");
115 88
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Kontrol");
116 89
   PROGMEM Language_Str MSG_MIN                             = _UxGT(" \002 Min");
117 90
   PROGMEM Language_Str MSG_MAX                             = _UxGT(" \002 Max");
@@ -120,12 +93,7 @@ namespace Language_da {
120 93
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Til");
121 94
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Fra");
122 95
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Vælg");
123
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Vælg ") LCD_STR_E0;
124
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Vælg ") LCD_STR_E1;
125
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Vælg ") LCD_STR_E2;
126
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Vælg ") LCD_STR_E3;
127
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Vælg ") LCD_STR_E4;
128
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Vælg ") LCD_STR_E5;
96
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Vælg *");
129 97
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-retract");
130 98
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-rejse");
131 99
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatur");
@@ -133,12 +101,7 @@ namespace Language_da {
133 101
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
134 102
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E i mm3");
135 103
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Fil. Dia.");
136
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Fil. Dia. ") LCD_STR_E0;
137
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Fil. Dia. ") LCD_STR_E1;
138
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Fil. Dia. ") LCD_STR_E2;
139
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Fil. Dia. ") LCD_STR_E3;
140
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Fil. Dia. ") LCD_STR_E4;
141
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Fil. Dia. ") LCD_STR_E5;
104
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Fil. Dia. *");
142 105
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD kontrast");
143 106
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Gem i EEPROM");
144 107
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Hent fra EEPROM");
@@ -166,12 +129,7 @@ namespace Language_da {
166 129
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("UnRet  V");
167 130
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("AutoRetr.");
168 131
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Skift filament");
169
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Skift filament ") LCD_STR_E0;
170
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Skift filament ") LCD_STR_E1;
171
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Skift filament ") LCD_STR_E2;
172
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Skift filament ") LCD_STR_E3;
173
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Skift filament ") LCD_STR_E4;
174
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Skift filament ") LCD_STR_E5;
132
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Skift filament *");
175 133
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Skift SD kort");
176 134
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Probe udenfor plade");
177 135
   PROGMEM Language_Str MSG_BLTOUCH_SELFTEST                = _UxGT("BLTouch Selv-Test");

+ 26
- 142
Marlin/src/lcd/language/language_de.h 查看文件

@@ -66,36 +66,16 @@ namespace Language_de {
66 66
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Homeversatz aktiv");
67 67
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Setze Nullpunkte"); //"G92 X0 Y0 Z0" commented out in ultralcd.cpp
68 68
   PROGMEM Language_Str MSG_PREHEAT_1                       = PREHEAT_1_LABEL _UxGT(" Vorwärmen");
69
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N0;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N1;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N2;
72
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N3;
73
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N4;
74
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N5;
69
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = PREHEAT_1_LABEL _UxGT(" Vorwärmen") " ~";
75 70
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärmen");
76
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N0;
77
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N1;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N2;
79
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N3;
80
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N4;
81
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N5;
71
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ~");
82 72
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = PREHEAT_1_LABEL _UxGT(" Alles Vorwärmen");
83 73
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = PREHEAT_1_LABEL _UxGT(" Bett Vorwärmen");
84 74
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = PREHEAT_1_LABEL _UxGT(" Einstellungen");
85 75
   PROGMEM Language_Str MSG_PREHEAT_2                       = PREHEAT_2_LABEL _UxGT(" Vorwärmen");
86
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N0;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N1;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N2;
89
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N3;
90
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N4;
91
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " " LCD_STR_N5;
76
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = PREHEAT_2_LABEL _UxGT(" Vorwärmen") " ~";
92 77
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärmen");
93
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N0;
94
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N1;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N2;
96
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N3;
97
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N4;
98
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ") LCD_STR_N5;
78
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = PREHEAT_2_LABEL _UxGT(" Extr. Vorwärm. ~");
99 79
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = PREHEAT_2_LABEL _UxGT(" Alles Vorwärmen");
100 80
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = PREHEAT_2_LABEL _UxGT(" Bett Vorwärmen");
101 81
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = PREHEAT_2_LABEL _UxGT(" Einstellungen");
@@ -240,12 +220,7 @@ namespace Language_de {
240 220
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Bewege Y");
241 221
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Bewege Z");
242 222
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Bewege Extruder");
243
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Bewege Extruder ") LCD_STR_E0;
244
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Bewege Extruder ") LCD_STR_E1;
245
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Bewege Extruder ") LCD_STR_E2;
246
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Bewege Extruder ") LCD_STR_E3;
247
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Bewege Extruder ") LCD_STR_E4;
248
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Bewege Extruder ") LCD_STR_E5;
223
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Bewege Extruder *");
249 224
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Hotend zu kalt");
250 225
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT(" %s mm");
251 226
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT(" 0,1   mm");
@@ -254,29 +229,15 @@ namespace Language_de {
254 229
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Geschw.");
255 230
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Bett Z");
256 231
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Düse");
257
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Düse ") LCD_STR_N0;
258
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Düse ") LCD_STR_N1;
259
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Düse ") LCD_STR_N2;
260
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Düse ") LCD_STR_N3;
261
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Düse ") LCD_STR_N4;
262
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Düse ") LCD_STR_N5;
232
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Düse ~");
263 233
   PROGMEM Language_Str MSG_BED                             = _UxGT("Bett");
264 234
   PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Gehäuse");
265 235
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Lüfter");
266
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Lüfter 1");
267
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Lüfter 2");
268
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Lüfter 3");
236
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Lüfter ~");
269 237
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Geschw. Extralüfter");
270
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Geschw. Extralüfter 1");
271
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Geschw. Extralüfter 2");
272
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Geschw. Extralüfter 3");
238
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Geschw. Extralüfter ~");
273 239
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Flussrate");
274
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Flussrate ") LCD_STR_N0;
275
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Flussrate ") LCD_STR_N1;
276
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Flussrate ") LCD_STR_N2;
277
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Flussrate ") LCD_STR_N3;
278
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Flussrate ") LCD_STR_N4;
279
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Flussrate ") LCD_STR_N5;
240
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Flussrate ~");
280 241
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Einstellungen");
281 242
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" min");
282 243
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" max");
@@ -285,40 +246,15 @@ namespace Language_de {
285 246
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("an");
286 247
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("aus");
287 248
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID P");
288
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID P ") LCD_STR_E0;
289
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID P ") LCD_STR_E1;
290
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID P ") LCD_STR_E2;
291
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID P ") LCD_STR_E3;
292
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID P ") LCD_STR_E4;
293
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID P ") LCD_STR_E5;
249
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID P *");
294 250
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID I");
295
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID I ") LCD_STR_E0;
296
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID I ") LCD_STR_E1;
297
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID I ") LCD_STR_E2;
298
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID I ") LCD_STR_E3;
299
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID I ") LCD_STR_E4;
300
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID I ") LCD_STR_E5;
251
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID I *");
301 252
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID D");
302
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID D ") LCD_STR_E0;
303
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID D ") LCD_STR_E1;
304
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID D ") LCD_STR_E2;
305
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID D ") LCD_STR_E3;
306
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID D ") LCD_STR_E4;
307
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID D ") LCD_STR_E5;
253
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID D *");
308 254
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID C");
309
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID C ") LCD_STR_E0;
310
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID C ") LCD_STR_E1;
311
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID C ") LCD_STR_E2;
312
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID C ") LCD_STR_E3;
313
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID C ") LCD_STR_E4;
314
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID C ") LCD_STR_E5;
255
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID C *");
315 256
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Auswählen");
316
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Auswählen ") LCD_STR_E0;
317
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Auswählen ") LCD_STR_E1;
318
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Auswählen ") LCD_STR_E2;
319
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Auswählen ") LCD_STR_E3;
320
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Auswählen ") LCD_STR_E4;
321
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Auswählen ") LCD_STR_E5;
257
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Auswählen *");
322 258
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Beschleunigung");
323 259
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Jerk");
324 260
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V ") LCD_STR_A _UxGT(" Jerk");
@@ -331,12 +267,7 @@ namespace Language_de {
331 267
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("V max ") LCD_STR_B;
332 268
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("V max ") LCD_STR_C;
333 269
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("V max ") LCD_STR_E;
334
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("V max ") LCD_STR_E0;
335
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("V max ") LCD_STR_E1;
336
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("V max ") LCD_STR_E2;
337
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("V max ") LCD_STR_E3;
338
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("V max ") LCD_STR_E4;
339
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("V max ") LCD_STR_E5;
270
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("V max *");
340 271
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("V min ");
341 272
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("V min Leerfahrt");
342 273
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Beschleunigung");
@@ -345,12 +276,7 @@ namespace Language_de {
345 276
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("A max ") LCD_STR_B;
346 277
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("A max ") LCD_STR_C;
347 278
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("A max ") LCD_STR_E;
348
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("A max ") LCD_STR_E0;
349
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("A max ") LCD_STR_E1;
350
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("A max ") LCD_STR_E2;
351
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("A max ") LCD_STR_E3;
352
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("A max ") LCD_STR_E4;
353
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("A max ") LCD_STR_E5;
279
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("A max *");
354 280
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A Einzug");
355 281
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A Leerfahrt");
356 282
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Steps/mm");
@@ -358,32 +284,17 @@ namespace Language_de {
358 284
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" Steps/mm");
359 285
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" Steps/mm");
360 286
   PROGMEM Language_Str MSG_E_STEPS                         = LCD_STR_E _UxGT(" Steps/mm");
361
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" Steps/mm");
362
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" Steps/mm");
363
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" Steps/mm");
364
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" Steps/mm");
365
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" Steps/mm");
366
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" Steps/mm");
287
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* Steps/mm");
367 288
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatur");
368 289
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Bewegung");
369 290
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
370 291
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E in mm³");
371 292
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Filamentdurchmesser");
372
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Filamentdurchmesser ") LCD_STR_E0;
373
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Filamentdurchmesser ") LCD_STR_E1;
374
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Filamentdurchmesser ") LCD_STR_E2;
375
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Filamentdurchmesser ") LCD_STR_E3;
376
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Filamentdurchmesser ") LCD_STR_E4;
377
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Filamentdurchmesser ") LCD_STR_E5;
293
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Filamentdurchmesser *");
378 294
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Entladen mm");
379 295
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Laden mm");
380 296
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Vorschubfaktor");
381
-  PROGMEM Language_Str MSG_ADVANCE_E0                      = _UxGT("Vorschubfaktor ") LCD_STR_E0;
382
-  PROGMEM Language_Str MSG_ADVANCE_E1                      = _UxGT("Vorschubfaktor ") LCD_STR_E1;
383
-  PROGMEM Language_Str MSG_ADVANCE_E2                      = _UxGT("Vorschubfaktor ") LCD_STR_E2;
384
-  PROGMEM Language_Str MSG_ADVANCE_E3                      = _UxGT("Vorschubfaktor ") LCD_STR_E3;
385
-  PROGMEM Language_Str MSG_ADVANCE_E4                      = _UxGT("Vorschubfaktor ") LCD_STR_E4;
386
-  PROGMEM Language_Str MSG_ADVANCE_E5                      = _UxGT("Vorschubfaktor ") LCD_STR_E5;
297
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Vorschubfaktor *");
387 298
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD-Kontrast");
388 299
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Konfig. speichern");
389 300
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Konfig. laden");
@@ -434,25 +345,11 @@ namespace Language_de {
434 345
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Einzug-Geschwin.");
435 346
   PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Düsen-Standby");
436 347
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Filament wechseln");
437
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Filament wechseln ") LCD_STR_E0;
438
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Filament wechseln ") LCD_STR_E1;
439
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Filament wechseln ") LCD_STR_E2;
440
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Filament wechseln ") LCD_STR_E3;
441
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Filament wechseln ") LCD_STR_E4;
442
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Filament wechseln ") LCD_STR_E5;
348
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Filament wechseln *");
443 349
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Filament laden");
444
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Filament laden ") LCD_STR_E0;
445
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Filament laden ") LCD_STR_E1;
446
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Filament laden ") LCD_STR_E2;
447
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Filament laden ") LCD_STR_E3;
448
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Filament laden ") LCD_STR_E4;
449
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Filament laden ") LCD_STR_E5;
450
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Filament entladen ") LCD_STR_E0;
451
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Filament entladen ") LCD_STR_E1;
452
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Filament entladen ") LCD_STR_E2;
453
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Filament entladen ") LCD_STR_E3;
454
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Filament entladen ") LCD_STR_E4;
455
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Filament entladen ") LCD_STR_E5;
350
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Filament laden *");
351
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Filament entladen");
352
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Filament entladen *");
456 353
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Alles entladen");
457 354
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Medium initial.");  // Manually initialize the SD-card via user interface
458 355
   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 {
586 483
   PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Lade alle");
587 484
   PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Düse laden");
588 485
   PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Filament auswerfen");
589
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0            = _UxGT("Filament 1 auswerfen");
590
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1            = _UxGT("Filament 2 auswerfen");
591
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2            = _UxGT("Filament 3 auswerfen");
592
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3            = _UxGT("Filament 4 auswerfen");
593
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4            = _UxGT("Filament 5 auswerfen");
486
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Filament ~ auswerfen");
594 487
   PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Filament entladen ");
595 488
   PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Lade Fila. %i...");
596 489
   PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Fila. auswerfen...");
597 490
   PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Fila. entladen...");
598 491
   PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Alle");
599
-  PROGMEM Language_Str MSG_MMU2_FILAMENT0                  = _UxGT("Filament 1");
600
-  PROGMEM Language_Str MSG_MMU2_FILAMENT1                  = _UxGT("Filament 2");
601
-  PROGMEM Language_Str MSG_MMU2_FILAMENT2                  = _UxGT("Filament 3");
602
-  PROGMEM Language_Str MSG_MMU2_FILAMENT3                  = _UxGT("Filament 4");
603
-  PROGMEM Language_Str MSG_MMU2_FILAMENT4                  = _UxGT("Filament 5");
492
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Filament ~");
604 493
   PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("setze MMU zurück");
605 494
   PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("MMU zurücksetzen...");
606 495
   PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Entfernen, klicken");
607 496
 
608 497
   PROGMEM Language_Str MSG_MIX                             = _UxGT("Mix");
609
-  PROGMEM Language_Str MSG_MIX_COMPONENT_1                 = _UxGT("Komponente 1");
610
-  PROGMEM Language_Str MSG_MIX_COMPONENT_2                 = _UxGT("Komponente 2");
611
-  PROGMEM Language_Str MSG_MIX_COMPONENT_3                 = _UxGT("Komponente 3");
612
-  PROGMEM Language_Str MSG_MIX_COMPONENT_4                 = _UxGT("Komponente 4");
613
-  PROGMEM Language_Str MSG_MIX_COMPONENT_5                 = _UxGT("Komponente 5");
614
-  PROGMEM Language_Str MSG_MIX_COMPONENT_6                 = _UxGT("Komponente 6");
498
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Komponente ~");
615 499
   PROGMEM Language_Str MSG_MIXER                           = _UxGT("Mixer");
616 500
   PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Gradient"); // equal Farbverlauf
617 501
   PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Volle Gradient");

+ 13
- 75
Marlin/src/lcd/language/language_el.h 查看文件

@@ -55,36 +55,16 @@ namespace Language_el {
55 55
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Εφαρμόστηκαν οι μετατοπίσεις"); //SHORTEN
56 56
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Ορισμός προέλευσης");
57 57
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL;
58
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N0;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N1;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N2;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N3;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N4;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N5;
58
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " ~";
64 59
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End");
65
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N0;
66
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N1;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N2;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N3;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N4;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N5;
60
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ~");
71 61
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" όλα");
72 62
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" bed"); //SHORTEN
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" επιβεβαίωση"); //SHORTEN
74 64
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL;
75
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N0;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N1;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N2;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N3;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N4;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N5;
65
+  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " ~";
81 66
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End");
82
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N0;
83
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N1;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N2;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N3;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N4;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N5;
67
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ~");
88 68
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" όλα");
89 69
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" bed"); //SHORTEN
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" επιβεβαίωση"); //SHORTEN
@@ -100,12 +80,7 @@ namespace Language_el {
100 80
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Μετακίνηση Y");
101 81
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Μετακίνηση Z");
102 82
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Εξωθητήρας");
103
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Εξωθητήρας ") LCD_STR_E0;
104
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Εξωθητήρας ") LCD_STR_E1;
105
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Εξωθητήρας ") LCD_STR_E2;
106
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Εξωθητήρας ") LCD_STR_E3;
107
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Εξωθητήρας ") LCD_STR_E4;
108
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Εξωθητήρας ") LCD_STR_E5;
83
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Εξωθητήρας *");
109 84
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Μετακίνηση %s μμ");
110 85
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Μετακίνηση 0,1 μμ");
111 86
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Μετακίνηση 1 μμ");
@@ -113,24 +88,12 @@ namespace Language_el {
113 88
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Ταχύτητα");
114 89
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Επ. Εκτύπωσης Z");
115 90
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Ακροφύσιο");
116
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Ακροφύσιο ") LCD_STR_N0;
117
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Ακροφύσιο ") LCD_STR_N1;
118
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Ακροφύσιο ") LCD_STR_N2;
119
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Ακροφύσιο ") LCD_STR_N3;
120
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Ακροφύσιο ") LCD_STR_N4;
121
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Ακροφύσιο ") LCD_STR_N5;
91
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Ακροφύσιο ~");
122 92
   PROGMEM Language_Str MSG_BED                             = _UxGT("Κλίνη");
123 93
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Ταχύτητα ανεμιστήρα");
124
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Ταχύτητα ανεμιστήρα 1");
125
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Ταχύτητα ανεμιστήρα 2");
126
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Ταχύτητα ανεμιστήρα 3");
94
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Ταχύτητα ανεμιστήρα =");
127 95
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Ροή");
128
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Ροή ") LCD_STR_N0;
129
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Ροή ") LCD_STR_N1;
130
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Ροή ") LCD_STR_N2;
131
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Ροή ") LCD_STR_N3;
132
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Ροή ") LCD_STR_N4;
133
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Ροή ") LCD_STR_N5;
96
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Ροή ~");
134 97
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Έλεγχος");
135 98
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
136 99
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -147,12 +110,7 @@ namespace Language_el {
147 110
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("V Μέγιστο") LCD_STR_B;
148 111
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("V Μέγιστο") LCD_STR_C;
149 112
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("V Μέγιστο") LCD_STR_E;
150
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("V Μέγιστο ") LCD_STR_E0;
151
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("V Μέγιστο ") LCD_STR_E1;
152
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("V Μέγιστο ") LCD_STR_E2;
153
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("V Μέγιστο ") LCD_STR_E3;
154
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("V Μέγιστο ") LCD_STR_E4;
155
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("V Μέγιστο ") LCD_STR_E5;
113
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("V Μέγιστο *");
156 114
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("V Ελάχιστο");
157 115
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vελάχ. μετατόπιση");
158 116
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Accel");
@@ -160,12 +118,7 @@ namespace Language_el {
160 118
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Aμεγ ") LCD_STR_B;
161 119
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Aμεγ ") LCD_STR_C;
162 120
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Aμεγ ") LCD_STR_E;
163
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Aμεγ ") LCD_STR_E0;
164
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Aμεγ ") LCD_STR_E1;
165
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Aμεγ ") LCD_STR_E2;
166
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Aμεγ ") LCD_STR_E3;
167
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Aμεγ ") LCD_STR_E4;
168
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Aμεγ ") LCD_STR_E5;
121
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Aμεγ *");
169 122
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("Α-ανάσυρση");
170 123
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("Α-μετατόπιση");
171 124
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Bήματα ανά μμ");
@@ -173,23 +126,13 @@ namespace Language_el {
173 126
   PROGMEM Language_Str MSG_B_STEPS                         = _UxGT("Bήματα ") LCD_STR_B _UxGT(" ανά μμ");
174 127
   PROGMEM Language_Str MSG_C_STEPS                         = _UxGT("Bήματα ") LCD_STR_C _UxGT(" ανά μμ");
175 128
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Bήματα Ε ανά μμ");
176
-  PROGMEM Language_Str MSG_E0_STEPS                        = _UxGT("Bήματα ") LCD_STR_E0 _UxGT(" ανά μμ");
177
-  PROGMEM Language_Str MSG_E1_STEPS                        = _UxGT("Bήματα ") LCD_STR_E1 _UxGT(" ανά μμ");
178
-  PROGMEM Language_Str MSG_E2_STEPS                        = _UxGT("Bήματα ") LCD_STR_E2 _UxGT(" ανά μμ");
179
-  PROGMEM Language_Str MSG_E3_STEPS                        = _UxGT("Bήματα ") LCD_STR_E3 _UxGT(" ανά μμ");
180
-  PROGMEM Language_Str MSG_E4_STEPS                        = _UxGT("Bήματα ") LCD_STR_E4 _UxGT(" ανά μμ");
181
-  PROGMEM Language_Str MSG_E5_STEPS                        = _UxGT("Bήματα ") LCD_STR_E5 _UxGT(" ανά μμ");
129
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("Bήματα * ανά μμ");
182 130
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Θερμοκρασία");
183 131
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Κίνηση");
184 132
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Νήμα");
185 133
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("Ε σε μμ3");
186 134
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Διάμετρος νήματος");
187
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Διάμετρος νήματος ") LCD_STR_E0;
188
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Διάμετρος νήματος ") LCD_STR_E1;
189
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Διάμετρος νήματος ") LCD_STR_E2;
190
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Διάμετρος νήματος ") LCD_STR_E3;
191
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Διάμετρος νήματος ") LCD_STR_E4;
192
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Διάμετρος νήματος ") LCD_STR_E5;
135
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Διάμετρος νήματος *");
193 136
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Κοντράστ LCD");
194 137
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Αποθήκευση");
195 138
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Φόρτωση");
@@ -218,12 +161,7 @@ namespace Language_el {
218 161
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("UnRet  V");
219 162
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("Αυτόματη ανάσυρση");
220 163
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Αλλαγή νήματος");
221
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Αλλαγή νήματος ") LCD_STR_E0;
222
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Αλλαγή νήματος ") LCD_STR_E1;
223
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Αλλαγή νήματος ") LCD_STR_E2;
224
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Αλλαγή νήματος ") LCD_STR_E3;
225
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Αλλαγή νήματος ") LCD_STR_E4;
226
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Αλλαγή νήματος ") LCD_STR_E5;
164
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Αλλαγή νήματος *");
227 165
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Προετοιμασία κάρτας SD");  //SHORTEN
228 166
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Αλλαγή κάρτας SD");
229 167
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Διερεύνηση Z εκτός Επ.Εκτύπωσης"); //SHORTEN

+ 17
- 99
Marlin/src/lcd/language/language_el_gr.h 查看文件

@@ -56,36 +56,16 @@ namespace Language_el_gr {
56 56
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Εφαρμόστηκαν οι μετατοπίσεις");
57 57
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Ορισμός προέλευσης");
58 58
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N0;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N1;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N2;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N3;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N4;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " " LCD_STR_N5;
59
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " ~";
65 60
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End");
66
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N0;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N1;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N2;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N3;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N4;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N5;
61
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ~");
72 62
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" όλα");
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" κλίνη");
74 64
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" επιβεβαίωση");
75 65
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N0;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N1;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N2;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N3;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N4;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " " LCD_STR_N5;
66
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL " ~";
82 67
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End");
83
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N0;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N1;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N2;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N3;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N4;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N5;
68
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" End ~");
89 69
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" όλα");
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" κλίνη");
91 71
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Προθέρμανση ") PREHEAT_2_LABEL _UxGT(" επιβεβαίωση");
@@ -101,12 +81,7 @@ namespace Language_el_gr {
101 81
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Μετακίνηση Y");
102 82
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Μετακίνηση Z");
103 83
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Εξωθητήρας");
104
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Εξωθητήρας ") LCD_STR_E0;
105
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Εξωθητήρας ") LCD_STR_E1;
106
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Εξωθητήρας ") LCD_STR_E2;
107
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Εξωθητήρας ") LCD_STR_E3;
108
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Εξωθητήρας ") LCD_STR_E4;
109
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Εξωθητήρας ") LCD_STR_E5;
84
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Εξωθητήρας *");
110 85
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Μετακίνηση %s μμ");
111 86
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Μετακίνηση 0,1 μμ");
112 87
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Μετακίνηση 1 μμ");
@@ -114,24 +89,12 @@ namespace Language_el_gr {
114 89
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Ταχύτητα");
115 90
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Κλίνη Z");
116 91
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Ακροφύσιο");
117
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Ακροφύσιο ") LCD_STR_N0;
118
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Ακροφύσιο ") LCD_STR_N1;
119
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Ακροφύσιο ") LCD_STR_N2;
120
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Ακροφύσιο ") LCD_STR_N3;
121
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Ακροφύσιο ") LCD_STR_N4;
122
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Ακροφύσιο ") LCD_STR_N5;
92
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Ακροφύσιο ~");
123 93
   PROGMEM Language_Str MSG_BED                             = _UxGT("Κλίνη");
124 94
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Ταχύτητα ανεμιστήρα");
125
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Ταχύτητα ανεμιστήρα 1");
126
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Ταχύτητα ανεμιστήρα 2");
127
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Ταχύτητα ανεμιστήρα 3");
95
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Ταχύτητα ανεμιστήρα =");
128 96
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Ροή");
129
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Ροή ") LCD_STR_N0;
130
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Ροή ") LCD_STR_N1;
131
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Ροή ") LCD_STR_N2;
132
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Ροή ") LCD_STR_N3;
133
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Ροή ") LCD_STR_N4;
134
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Ροή ") LCD_STR_N5;
97
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Ροή ~");
135 98
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Έλεγχος");
136 99
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
137 100
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -140,33 +103,13 @@ namespace Language_el_gr {
140 103
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Ενεργοποιημένο");
141 104
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Απενεργοποιημένο");
142 105
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
143
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
144
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
145
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
146
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
147
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
148
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
106
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
149 107
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
150
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
151
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
152
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
153
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
154
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
155
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
108
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
156 109
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
157
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
158
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
159
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
160
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
161
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
162
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
110
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
163 111
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
164
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
165
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
166
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
167
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
168
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
169
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
112
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
170 113
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Επιτάχυνση");
171 114
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Vαντίδραση");
172 115
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("Vαντίδραση ") LCD_STR_A;
@@ -177,12 +120,7 @@ namespace Language_el_gr {
177 120
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vμεγ ") LCD_STR_B;
178 121
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vμεγ ") LCD_STR_C;
179 122
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vμεγ ") LCD_STR_E;
180
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("Vμεγ ") LCD_STR_E0;
181
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("Vμεγ ") LCD_STR_E1;
182
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("Vμεγ ") LCD_STR_E2;
183
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("Vμεγ ") LCD_STR_E3;
184
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("Vμεγ ") LCD_STR_E4;
185
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("Vμεγ ") LCD_STR_E5;
123
+  PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vμεγ *");
186 124
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vελαχ");
187 125
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vελάχ. μετατόπιση");
188 126
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Accel");
@@ -190,12 +128,7 @@ namespace Language_el_gr {
190 128
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Aμεγ ") LCD_STR_B;
191 129
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Aμεγ ") LCD_STR_C;
192 130
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Aμεγ ") LCD_STR_E;
193
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Aμεγ ") LCD_STR_E0;
194
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Aμεγ ") LCD_STR_E1;
195
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Aμεγ ") LCD_STR_E2;
196
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Aμεγ ") LCD_STR_E3;
197
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Aμεγ ") LCD_STR_E4;
198
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Aμεγ ") LCD_STR_E5;
131
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Aμεγ *");
199 132
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("Α-ανάσυρση");
200 133
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("Α-μετατόπιση");
201 134
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Bήματα ανά μμ");
@@ -203,23 +136,13 @@ namespace Language_el_gr {
203 136
   PROGMEM Language_Str MSG_B_STEPS                         = _UxGT("Bήματα ") LCD_STR_B _UxGT(" ανά μμ");
204 137
   PROGMEM Language_Str MSG_C_STEPS                         = _UxGT("Bήματα ") LCD_STR_C _UxGT(" ανά μμ");
205 138
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Bήματα Ε ανά μμ");
206
-  PROGMEM Language_Str MSG_E0_STEPS                        = _UxGT("Bήματα ") LCD_STR_E0 _UxGT(" ανά μμ");
207
-  PROGMEM Language_Str MSG_E1_STEPS                        = _UxGT("Bήματα ") LCD_STR_E1 _UxGT(" ανά μμ");
208
-  PROGMEM Language_Str MSG_E2_STEPS                        = _UxGT("Bήματα ") LCD_STR_E2 _UxGT(" ανά μμ");
209
-  PROGMEM Language_Str MSG_E3_STEPS                        = _UxGT("Bήματα ") LCD_STR_E3 _UxGT(" ανά μμ");
210
-  PROGMEM Language_Str MSG_E4_STEPS                        = _UxGT("Bήματα ") LCD_STR_E4 _UxGT(" ανά μμ");
211
-  PROGMEM Language_Str MSG_E5_STEPS                        = _UxGT("Bήματα ") LCD_STR_E5 _UxGT(" ανά μμ");
139
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("Bήματα * ανά μμ");
212 140
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Θερμοκρασία");
213 141
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Κίνηση");
214 142
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Νήμα");
215 143
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("Ε σε μμ3");
216 144
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Διάμετρος νήματος");
217
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Διάμετρος νήματος ") LCD_STR_E0;
218
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Διάμετρος νήματος ") LCD_STR_E1;
219
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Διάμετρος νήματος ") LCD_STR_E2;
220
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Διάμετρος νήματος ") LCD_STR_E3;
221
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Διάμετρος νήματος ") LCD_STR_E4;
222
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Διάμετρος νήματος ") LCD_STR_E5;
145
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Διάμετρος νήματος *");
223 146
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Κοντράστ LCD");
224 147
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Αποθήκευση");
225 148
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Φόρτωση");
@@ -248,12 +171,7 @@ namespace Language_el_gr {
248 171
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("UnRet  V");
249 172
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("Αυτόματη ανάσυρση");
250 173
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Αλλαγή νήματος");
251
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Αλλαγή νήματος ") LCD_STR_E0;
252
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Αλλαγή νήματος ") LCD_STR_E1;
253
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Αλλαγή νήματος ") LCD_STR_E2;
254
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Αλλαγή νήματος ") LCD_STR_E3;
255
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Αλλαγή νήματος ") LCD_STR_E4;
256
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Αλλαγή νήματος ") LCD_STR_E5;
174
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Αλλαγή νήματος *");
257 175
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Προετοιμασία κάρτας SD");
258 176
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Αλλαγή κάρτας SD");
259 177
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Διερεύνηση Z εκτός κλίνης");

+ 32
- 151
Marlin/src/lcd/language/language_en.h 查看文件

@@ -80,36 +80,16 @@ namespace Language_en {
80 80
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offsets Applied");
81 81
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Set Origin");
82 82
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Preheat ") PREHEAT_1_LABEL;
83
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N0;
84
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N1;
85
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N2;
86
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N3;
87
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N4;
88
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Preheat ") PREHEAT_1_LABEL " " LCD_STR_N5;
83
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Preheat ") PREHEAT_1_LABEL " ~";
89 84
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End");
90
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N0;
91
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N1;
92
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N2;
93
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N3;
94
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N4;
95
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ") LCD_STR_N5;
85
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ~");
96 86
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" All");
97 87
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Bed");
98 88
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Conf");
99 89
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Preheat ") PREHEAT_2_LABEL;
100
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N0;
101
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N1;
102
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N2;
103
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N3;
104
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N4;
105
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Preheat ") PREHEAT_2_LABEL " " LCD_STR_N5;
90
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Preheat ") PREHEAT_2_LABEL " ~";
106 91
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End");
107
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N0;
108
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N1;
109
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N2;
110
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N3;
111
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N4;
112
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ") LCD_STR_N5;
92
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" End ~");
113 93
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" All");
114 94
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Bed");
115 95
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Preheat ") PREHEAT_2_LABEL _UxGT(" Conf");
@@ -255,12 +235,7 @@ namespace Language_en {
255 235
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Move Y");
256 236
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Move Z");
257 237
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extruder");
258
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extruder ") LCD_STR_E0;
259
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extruder ") LCD_STR_E1;
260
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extruder ") LCD_STR_E2;
261
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extruder ") LCD_STR_E3;
262
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extruder ") LCD_STR_E4;
263
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extruder ") LCD_STR_E5;
238
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extruder *");
264 239
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Hotend too cold");
265 240
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Move %smm");
266 241
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Move 0.1mm");
@@ -269,29 +244,15 @@ namespace Language_en {
269 244
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Speed");
270 245
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Bed Z");
271 246
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Nozzle");
272
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Nozzle ") LCD_STR_N0;
273
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Nozzle ") LCD_STR_N1;
274
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Nozzle ") LCD_STR_N2;
275
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Nozzle ") LCD_STR_N3;
276
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Nozzle ") LCD_STR_N4;
277
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Nozzle ") LCD_STR_N5;
247
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Nozzle ~");
278 248
   PROGMEM Language_Str MSG_BED                             = _UxGT("Bed");
279 249
   PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Enclosure");
280 250
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Fan Speed");
281
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Fan Speed 1");
282
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Fan Speed 2");
283
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Fan Speed 3");
251
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Fan Speed =");
284 252
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Extra Fan Speed");
285
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Extra Fan Speed 1");
286
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Extra Fan Speed 2");
287
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Extra Fan Speed 3");
253
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Extra Fan Speed =");
288 254
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Flow");
289
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Flow ") LCD_STR_N0;
290
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Flow ") LCD_STR_N1;
291
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Flow ") LCD_STR_N2;
292
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Flow ") LCD_STR_N3;
293
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Flow ") LCD_STR_N4;
294
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Flow ") LCD_STR_N5;
255
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Flow ~");
295 256
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Control");
296 257
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
297 258
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -299,48 +260,18 @@ namespace Language_en {
299 260
   PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Autotemp");
300 261
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("On");
301 262
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Off");
302
-  PROGMEM Language_Str MSG_AUTOTUNE_PID                    = _UxGT("PID Autotune");
303
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E0                 = _UxGT("PID Autotune ") LCD_STR_E0;
304
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E1                 = _UxGT("PID Autotune ") LCD_STR_E1;
305
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E2                 = _UxGT("PID Autotune ") LCD_STR_E2;
306
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E3                 = _UxGT("PID Autotune ") LCD_STR_E3;
307
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E4                 = _UxGT("PID Autotune ") LCD_STR_E4;
308
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E5                 = _UxGT("PID Autotune ") LCD_STR_E5;
263
+  PROGMEM Language_Str MSG_PID_AUTOTUNE                    = _UxGT("PID Autotune");
264
+  PROGMEM Language_Str MSG_PID_AUTOTUNE_E                  = _UxGT("PID Autotune *");
309 265
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
310
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
311
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
312
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
313
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
314
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
315
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
266
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
316 267
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
317
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
318
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
319
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
320
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
321
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
322
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
268
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
323 269
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
324
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
325
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
326
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
327
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
328
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
329
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
270
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
330 271
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
331
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
332
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
333
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
334
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
335
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
336
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
272
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
337 273
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Select");
338
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Select ") LCD_STR_E0;
339
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Select ") LCD_STR_E1;
340
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Select ") LCD_STR_E2;
341
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Select ") LCD_STR_E3;
342
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Select ") LCD_STR_E4;
343
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Select ") LCD_STR_E5;
274
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Select *");
344 275
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Accel");
345 276
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Jerk");
346 277
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-Jerk");
@@ -353,12 +284,7 @@ namespace Language_en {
353 284
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vmax ") LCD_STR_B;
354 285
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vmax ") LCD_STR_C;
355 286
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vmax ") LCD_STR_E;
356
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("Vmax ") LCD_STR_E0;
357
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("Vmax ") LCD_STR_E1;
358
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("Vmax ") LCD_STR_E2;
359
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("Vmax ") LCD_STR_E3;
360
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("Vmax ") LCD_STR_E4;
361
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("Vmax ") LCD_STR_E5;
287
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vmax *");
362 288
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vmin");
363 289
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("VTrav Min");
364 290
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Acceleration");
@@ -366,12 +292,7 @@ namespace Language_en {
366 292
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Amax ") LCD_STR_B;
367 293
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Amax ") LCD_STR_C;
368 294
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Amax ") LCD_STR_E;
369
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Amax ") LCD_STR_E0;
370
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Amax ") LCD_STR_E1;
371
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Amax ") LCD_STR_E2;
372
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Amax ") LCD_STR_E3;
373
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Amax ") LCD_STR_E4;
374
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Amax ") LCD_STR_E5;
295
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Amax *");
375 296
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-Retract");
376 297
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-Travel");
377 298
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Steps/mm");
@@ -379,32 +300,17 @@ namespace Language_en {
379 300
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("steps/mm");
380 301
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("steps/mm");
381 302
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Esteps/mm");
382
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT("steps/mm");
383
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT("steps/mm");
384
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT("steps/mm");
385
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT("steps/mm");
386
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT("steps/mm");
387
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT("steps/mm");
303
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*steps/mm");
388 304
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperature");
389 305
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Motion");
390 306
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
391 307
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E in mm³");
392 308
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Fil. Dia.");
393
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Fil. Dia. ") LCD_STR_E0;
394
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Fil. Dia. ") LCD_STR_E1;
395
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Fil. Dia. ") LCD_STR_E2;
396
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Fil. Dia. ") LCD_STR_E3;
397
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Fil. Dia. ") LCD_STR_E4;
398
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Fil. Dia. ") LCD_STR_E5;
309
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Fil. Dia. *");
399 310
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Unload mm");
400 311
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Load mm");
401 312
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Advance K");
402
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("Advance K ") LCD_STR_E0;
403
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("Advance K ") LCD_STR_E1;
404
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("Advance K ") LCD_STR_E2;
405
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("Advance K ") LCD_STR_E3;
406
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("Advance K ") LCD_STR_E4;
407
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("Advance K ") LCD_STR_E5;
313
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Advance K *");
408 314
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD Contrast");
409 315
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Store Settings");
410 316
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Load Settings");
@@ -424,11 +330,14 @@ namespace Language_en {
424 330
   PROGMEM Language_Str MSG_BUTTON_RESET                    = _UxGT("Reset");
425 331
   PROGMEM Language_Str MSG_BUTTON_CANCEL                   = _UxGT("Cancel");
426 332
   PROGMEM Language_Str MSG_BUTTON_DONE                     = _UxGT("Done");
333
+  PROGMEM Language_Str MSG_BUTTON_BACK                     = _UxGT("Back");
334
+  PROGMEM Language_Str MSG_BUTTON_PROCEED                  = _UxGT("Proceed");
427 335
   PROGMEM Language_Str MSG_PAUSE_PRINT                     = _UxGT("Pause Print");
428 336
   PROGMEM Language_Str MSG_RESUME_PRINT                    = _UxGT("Resume Print");
429 337
   PROGMEM Language_Str MSG_STOP_PRINT                      = _UxGT("Stop Print");
430 338
   PROGMEM Language_Str MSG_PRINTING_OBJECT                 = _UxGT("Printing Object");
431 339
   PROGMEM Language_Str MSG_CANCEL_OBJECT                   = _UxGT("Cancel Object");
340
+  PROGMEM Language_Str MSG_CANCEL_OBJECT_N                 = _UxGT("Cancel Object =");
432 341
   PROGMEM Language_Str MSG_OUTAGE_RECOVERY                 = _UxGT("Outage Recovery");
433 342
   PROGMEM Language_Str MSG_MEDIA_MENU                      = _UxGT("Print from Media");
434 343
   PROGMEM Language_Str MSG_NO_MEDIA                        = _UxGT("No Media");
@@ -457,26 +366,11 @@ namespace Language_en {
457 366
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Retract Speed");
458 367
   PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Nozzle Standby");
459 368
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Change Filament");
460
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Change Filament ") LCD_STR_E0;
461
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Change Filament ") LCD_STR_E1;
462
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Change Filament ") LCD_STR_E2;
463
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Change Filament ") LCD_STR_E3;
464
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Change Filament ") LCD_STR_E4;
465
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Change Filament ") LCD_STR_E5;
369
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Change Filament *");
466 370
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Load Filament");
467
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Load Filament ") LCD_STR_E0;
468
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Load Filament ") LCD_STR_E1;
469
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Load Filament ") LCD_STR_E2;
470
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Load Filament ") LCD_STR_E3;
471
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Load Filament ") LCD_STR_E4;
472
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Load Filament ") LCD_STR_E5;
371
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Load Filament *");
473 372
   PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Unload Filament");
474
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Unload Filament ") LCD_STR_E0;
475
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Unload Filament ") LCD_STR_E1;
476
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Unload Filament ") LCD_STR_E2;
477
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Unload Filament ") LCD_STR_E3;
478
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Unload Filament ") LCD_STR_E4;
479
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Unload Filament ") LCD_STR_E5;
373
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Unload Filament *");
480 374
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Unload All");
481 375
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Init. Media");
482 376
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Change Media");
@@ -612,32 +506,19 @@ namespace Language_en {
612 506
   PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Load All");
613 507
   PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Load to Nozzle");
614 508
   PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Eject Filament");
615
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0            = _UxGT("Eject Filament 1");
616
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1            = _UxGT("Eject Filament 2");
617
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2            = _UxGT("Eject Filament 3");
618
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3            = _UxGT("Eject Filament 4");
619
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4            = _UxGT("Eject Filament 5");
509
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Eject Filament ~");
620 510
   PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Unload Filament");
621 511
   PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Loading Fil. %i...");
622 512
   PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Ejecting Fil. ...");
623 513
   PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Unloading Fil....");
624 514
   PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("All");
625
-  PROGMEM Language_Str MSG_MMU2_FILAMENT0                  = _UxGT("Filament 1");
626
-  PROGMEM Language_Str MSG_MMU2_FILAMENT1                  = _UxGT("Filament 2");
627
-  PROGMEM Language_Str MSG_MMU2_FILAMENT2                  = _UxGT("Filament 3");
628
-  PROGMEM Language_Str MSG_MMU2_FILAMENT3                  = _UxGT("Filament 4");
629
-  PROGMEM Language_Str MSG_MMU2_FILAMENT4                  = _UxGT("Filament 5");
515
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Filament ~");
630 516
   PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Reset MMU");
631 517
   PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Resetting MMU...");
632 518
   PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Remove, click");
633 519
 
634 520
   PROGMEM Language_Str MSG_MIX                             = _UxGT("Mix");
635
-  PROGMEM Language_Str MSG_MIX_COMPONENT_1                 = _UxGT("Component 1");
636
-  PROGMEM Language_Str MSG_MIX_COMPONENT_2                 = _UxGT("Component 2");
637
-  PROGMEM Language_Str MSG_MIX_COMPONENT_3                 = _UxGT("Component 3");
638
-  PROGMEM Language_Str MSG_MIX_COMPONENT_4                 = _UxGT("Component 4");
639
-  PROGMEM Language_Str MSG_MIX_COMPONENT_5                 = _UxGT("Component 5");
640
-  PROGMEM Language_Str MSG_MIX_COMPONENT_6                 = _UxGT("Component 6");
521
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Component =");
641 522
   PROGMEM Language_Str MSG_MIXER                           = _UxGT("Mixer");
642 523
   PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Gradient");
643 524
   PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Full Gradient");
@@ -714,6 +595,6 @@ namespace Language_en {
714 595
   #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
715 596
   #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
716 597
 #else
717
-  #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_1
718
-  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_1
598
+  #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
599
+  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
719 600
 #endif

+ 22
- 112
Marlin/src/lcd/language/language_es.h 查看文件

@@ -72,36 +72,16 @@ namespace Language_es {
72 72
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Desfase aplicada");
73 73
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Establecer origen");
74 74
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Precalentar ") PREHEAT_1_LABEL;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N0;
76
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N1;
77
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N2;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N3;
79
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N4;
80
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Precalentar ") PREHEAT_1_LABEL " " LCD_STR_N5;
75
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Precalentar ") PREHEAT_1_LABEL " ~";
81 76
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin");
82
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N0;
83
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N1;
84
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N2;
85
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N3;
86
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N4;
87
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ") LCD_STR_N5;
77
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Fin ~");
88 78
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Todo");
89 79
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Cama");
90 80
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Ajuste");
91 81
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Precalentar ") PREHEAT_2_LABEL;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N0;
93
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N1;
94
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N2;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N3;
96
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N4;
97
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Precalentar ") PREHEAT_2_LABEL " " LCD_STR_N5;
82
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Precalentar ") PREHEAT_2_LABEL " ~";
98 83
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin");
99
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N0;
100
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N1;
101
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N2;
102
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N3;
103
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N4;
104
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ") LCD_STR_N5;
84
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Fin ~");
105 85
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Todo");
106 86
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Cama");
107 87
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Precalentar ") PREHEAT_2_LABEL _UxGT(" Ajuste");
@@ -247,12 +227,7 @@ namespace Language_es {
247 227
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Mover Y");
248 228
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Mover Z");
249 229
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extrusor");
250
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extrusor ") LCD_STR_E0;
251
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extrusor ") LCD_STR_E1;
252
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extrusor ") LCD_STR_E2;
253
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extrusor ") LCD_STR_E3;
254
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extrusor ") LCD_STR_E4;
255
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extrusor ") LCD_STR_E5;
230
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extrusor *");
256 231
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Hotend muy frio");
257 232
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Mover %smm");
258 233
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Mover 0.1mm");
@@ -261,29 +236,15 @@ namespace Language_es {
261 236
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Velocidad");
262 237
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Cama Z");
263 238
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Boquilla");
264
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Boquilla ") LCD_STR_N0;
265
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Boquilla ") LCD_STR_N1;
266
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Boquilla ") LCD_STR_N2;
267
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Boquilla ") LCD_STR_N3;
268
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Boquilla ") LCD_STR_N4;
269
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Boquilla ") LCD_STR_N5;
239
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Boquilla ~");
270 240
   PROGMEM Language_Str MSG_BED                             = _UxGT("Cama");
271 241
   PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Recinto");
272 242
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Ventilador");
273
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Ventilador 1");
274
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Ventilador 2");
275
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Ventilador 3");
243
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Ventilador =");
276 244
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Vel. Ext. ventilador");
277
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Vel. Ext. ventilador ") LCD_STR_N1;
278
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Vel. Ext. ventilador ") LCD_STR_N2;
279
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Vel. Ext. ventilador ") LCD_STR_N3;
245
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Vel. Ext. ventilador =");
280 246
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Flujo");
281
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Flujo ") LCD_STR_N0;
282
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Flujo ") LCD_STR_N1;
283
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Flujo ") LCD_STR_N2;
284
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Flujo ") LCD_STR_N3;
285
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Flujo ") LCD_STR_N4;
286
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Flujo ") LCD_STR_N5;
247
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Flujo ~");
287 248
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Control");
288 249
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
289 250
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -292,12 +253,7 @@ namespace Language_es {
292 253
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Encender");
293 254
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Apagar");
294 255
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Seleccionar");
295
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Seleccionar ") LCD_STR_E0;
296
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Seleccionar ") LCD_STR_E1;
297
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Seleccionar ") LCD_STR_E2;
298
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Seleccionar ") LCD_STR_E3;
299
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Seleccionar ") LCD_STR_E4;
300
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Seleccionar ") LCD_STR_E5;
256
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Seleccionar *");
301 257
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Aceleración");
302 258
   PROGMEM Language_Str MSG_VELOCITY                        = _UxGT("Velocidad");
303 259
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vel. viaje min");
@@ -306,12 +262,7 @@ namespace Language_es {
306 262
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Acel. max") LCD_STR_B;
307 263
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Acel. max") LCD_STR_C;
308 264
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Acel. max") LCD_STR_E;
309
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Acel. max ") LCD_STR_E0;
310
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Acel. max ") LCD_STR_E1;
311
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Acel. max ") LCD_STR_E2;
312
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Acel. max ") LCD_STR_E3;
313
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Acel. max ") LCD_STR_E4;
314
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Acel. max ") LCD_STR_E5;
265
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Acel. max *");
315 266
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("Acel. retrac.");
316 267
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("Acel. Viaje");
317 268
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Pasos/mm");
@@ -319,32 +270,17 @@ namespace Language_es {
319 270
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" pasos/mm");
320 271
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" pasos/mm");
321 272
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E pasos/mm");
322
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" pasos/mm");
323
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" pasos/mm");
324
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" pasos/mm");
325
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" pasos/mm");
326
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" pasos/mm");
327
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" pasos/mm");
273
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* pasos/mm");
328 274
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatura");
329 275
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Movimiento");
330 276
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filamento");
331 277
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E en mm³");
332 278
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Fil. Dia.");
333
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Fil. Dia. ") LCD_STR_E0;
334
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Fil. Dia. ") LCD_STR_E1;
335
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Fil. Dia. ") LCD_STR_E2;
336
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Fil. Dia. ") LCD_STR_E3;
337
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Fil. Dia. ") LCD_STR_E4;
338
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Fil. Dia. ") LCD_STR_E5;
279
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Fil. Dia. *");
339 280
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Descarga mm");
340 281
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Carga mm");
341 282
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Avance K");
342
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("Avance K ") LCD_STR_E0;
343
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("Avance K ") LCD_STR_E1;
344
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("Avance K ") LCD_STR_E2;
345
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("Avance K ") LCD_STR_E3;
346
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("Avance K ") LCD_STR_E4;
347
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("Avance K ") LCD_STR_E5;
283
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Avance K *");
348 284
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Contraste LCD");
349 285
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Guardar EEPROM");
350 286
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Cargar EEPROM");
@@ -395,24 +331,11 @@ namespace Language_es {
395 331
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Vel. de retracción");
396 332
   PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Colocar boquilla");
397 333
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Cambiar filamento");
398
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Cambiar filamento ") LCD_STR_E0;
399
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Cambiar filamento ") LCD_STR_E1;
400
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Cambiar filamento ") LCD_STR_E2;
401
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Cambiar filamento ") LCD_STR_E3;
402
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Cambiar filamento ") LCD_STR_E4;
403
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Cambiar filamento ") LCD_STR_E5;
404
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Cargar filamento ") LCD_STR_E0;
405
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Cargar filamento ") LCD_STR_E1;
406
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Cargar filamento ") LCD_STR_E2;
407
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Cargar filamento ") LCD_STR_E3;
408
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Cargar filamento ") LCD_STR_E4;
409
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Cargar filamento ") LCD_STR_E5;
410
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Descargar filamento ") LCD_STR_E0;
411
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Descargar filamento ") LCD_STR_E1;
412
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Descargar filamento ") LCD_STR_E2;
413
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Descargar filamento ") LCD_STR_E3;
414
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Descargar filamento ") LCD_STR_E4;
415
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Descargar filamento ") LCD_STR_E5;
334
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Cambiar filamento *");
335
+  PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Cargar filamento");
336
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Cargar filamento *");
337
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Descargar filamento");
338
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Descargar fil. *");
416 339
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Descargar todo");
417 340
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Iniciar SD/USB");
418 341
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Cambiar SD/USB");
@@ -545,32 +468,19 @@ namespace Language_es {
545 468
   PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Cargar Todo");
546 469
   PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Cargar hasta boqui.");
547 470
   PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Expulsar Filamento");
548
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0            = _UxGT("Expulsar Filamento 1");
549
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1            = _UxGT("Expulsar Filamento 2");
550
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2            = _UxGT("Expulsar Filamento 3");
551
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3            = _UxGT("Expulsar Filamento 4");
552
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4            = _UxGT("Expulsar Filamento 5");
471
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Expulsar Filamento ~");
553 472
   PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Descargar Filamento");
554 473
   PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Cargando Fil. %i...");
555 474
   PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Expulsando Fil. ...");
556 475
   PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Descargando Fil....");
557 476
   PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Todo");
558
-  PROGMEM Language_Str MSG_MMU2_FILAMENT0                  = _UxGT("Filamento 1");
559
-  PROGMEM Language_Str MSG_MMU2_FILAMENT1                  = _UxGT("Filamento 2");
560
-  PROGMEM Language_Str MSG_MMU2_FILAMENT2                  = _UxGT("Filamento 3");
561
-  PROGMEM Language_Str MSG_MMU2_FILAMENT3                  = _UxGT("Filamento 4");
562
-  PROGMEM Language_Str MSG_MMU2_FILAMENT4                  = _UxGT("Filamento 5");
477
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Filamento ~");
563 478
   PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Reiniciar MMU");
564 479
   PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Reiniciando MMU...");
565 480
   PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Retirar, y pulsar");
566 481
 
567 482
   PROGMEM Language_Str MSG_MIX                             = _UxGT("Mezcla");
568
-  PROGMEM Language_Str MSG_MIX_COMPONENT_1                 = _UxGT("Componente 1");
569
-  PROGMEM Language_Str MSG_MIX_COMPONENT_2                 = _UxGT("Componente 2");
570
-  PROGMEM Language_Str MSG_MIX_COMPONENT_3                 = _UxGT("Componente 3");
571
-  PROGMEM Language_Str MSG_MIX_COMPONENT_4                 = _UxGT("Componente 4");
572
-  PROGMEM Language_Str MSG_MIX_COMPONENT_5                 = _UxGT("Componente 5");
573
-  PROGMEM Language_Str MSG_MIX_COMPONENT_6                 = _UxGT("Componente 6");
483
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Componente =");
574 484
   PROGMEM Language_Str MSG_MIXER                           = _UxGT("Miezclador");
575 485
   PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Degradado");
576 486
   PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Degradado Total");

+ 18
- 90
Marlin/src/lcd/language/language_eu.h 查看文件

@@ -59,36 +59,16 @@ namespace Language_eu {
59 59
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offsetak ezarrita");
60 60
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Hasiera ipini");
61 61
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Berotu ") PREHEAT_1_LABEL;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N0;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N1;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N2;
65
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N3;
66
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N4;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Berotu ") PREHEAT_1_LABEL " " LCD_STR_N5;
62
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Berotu ") PREHEAT_1_LABEL " ~";
68 63
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia");
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N0;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N1;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N2;
72
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N3;
73
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N4;
74
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ") LCD_STR_N5;
64
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ~");
75 65
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Guztia");
76 66
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Ohea");
77 67
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Ezarp.");
78 68
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Berotu ") PREHEAT_2_LABEL;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N0;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N1;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N2;
82
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N3;
83
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N4;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Berotu ") PREHEAT_2_LABEL " " LCD_STR_N5;
69
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Berotu ") PREHEAT_2_LABEL " ~";
85 70
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia");
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N0;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N1;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N2;
89
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N3;
90
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N4;
91
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ") LCD_STR_N5;
71
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Amaia ~");
92 72
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Guztia");
93 73
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Ohea");
94 74
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Berotu ") PREHEAT_2_LABEL _UxGT(" Ezarp.");
@@ -156,12 +136,7 @@ namespace Language_eu {
156 136
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Mugitu Y");
157 137
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Mugitu Z");
158 138
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Estrusorea");
159
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Estrusorea ") LCD_STR_E0;
160
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Estrusorea ") LCD_STR_E1;
161
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Estrusorea ") LCD_STR_E2;
162
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Estrusorea ") LCD_STR_E3;
163
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Estrusorea ") LCD_STR_E4;
164
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Estrusorea ") LCD_STR_E5;
139
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Estrusorea *");
165 140
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Mugitu %smm");
166 141
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Mugitu 0.1mm");
167 142
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Mugitu 1mm");
@@ -169,40 +144,21 @@ namespace Language_eu {
169 144
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Abiadura");
170 145
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z Ohea");
171 146
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Pita");
172
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Pita ") LCD_STR_N0;
173
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Pita ") LCD_STR_N1;
174
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Pita ") LCD_STR_N2;
175
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Pita ") LCD_STR_N3;
176
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Pita ") LCD_STR_N4;
177
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Pita ") LCD_STR_N5;
147
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Pita ~");
178 148
   PROGMEM Language_Str MSG_BED                             = _UxGT("Ohea");
179 149
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Haizagailu abiadura");
180
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Haizagailu abiadura 1");
181
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Haizagailu abiadura 2");
182
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Haizagailu abiadura 3");
150
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Haizagailu abiadura =");
183 151
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Haiz.gehig. abiadura");
184
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Haiz.gehig. abiadura 1");
185
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Haiz.gehig. abiadura 2");
186
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Haiz.gehig. abiadura 3");
152
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Haiz.gehig. abiadura =");
187 153
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Fluxua");
188
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Fluxua ") LCD_STR_N0;
189
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Fluxua ") LCD_STR_N1;
190
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Fluxua ") LCD_STR_N2;
191
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Fluxua ") LCD_STR_N3;
192
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Fluxua ") LCD_STR_N4;
193
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Fluxua ") LCD_STR_N5;
154
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Fluxua ~");
194 155
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Kontrola");
195 156
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
196 157
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
197 158
   PROGMEM Language_Str MSG_FACTOR                          = " " LCD_STR_THERMOMETER _UxGT(" Fakt");
198 159
   PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Auto tenperatura");
199 160
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Aukeratu");
200
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Aukeratu ") LCD_STR_E0;
201
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Aukeratu ") LCD_STR_E1;
202
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Aukeratu ") LCD_STR_E2;
203
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Aukeratu ") LCD_STR_E3;
204
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Aukeratu ") LCD_STR_E4;
205
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Aukeratu ") LCD_STR_E5;
161
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Aukeratu *");
206 162
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Azelerazioa");
207 163
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Astindua");
208 164
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-astindua");
@@ -217,32 +173,17 @@ namespace Language_eu {
217 173
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" pausoak/mm");
218 174
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" pausoak/mm");
219 175
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E pausoak/mm");
220
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" pausoak/mm");
221
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" pausoak/mm");
222
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" pausoak/mm");
223
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" pausoak/mm");
224
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" pausoak/mm");
225
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" pausoak/mm");
176
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* pausoak/mm");
226 177
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Tenperatura");
227 178
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Mugimendua");
228 179
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Harizpia");
229 180
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E mm3-tan");
230 181
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Hariz. Dia.");
231
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Hariz. Dia. ") LCD_STR_E0;
232
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Hariz. Dia. ") LCD_STR_E1;
233
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Hariz. Dia. ") LCD_STR_E2;
234
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Hariz. Dia. ") LCD_STR_E3;
235
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Hariz. Dia. ") LCD_STR_E4;
236
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Hariz. Dia. ") LCD_STR_E5;
182
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Hariz. Dia. *");
237 183
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Deskargatu mm");
238 184
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Kargatu mm");
239 185
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("K Aurrerapena");
240
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("K Aurrerapena ") LCD_STR_E0;
241
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("K Aurrerapena ") LCD_STR_E1;
242
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("K Aurrerapena ") LCD_STR_E2;
243
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("K Aurrerapena ") LCD_STR_E3;
244
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("K Aurrerapena ") LCD_STR_E4;
245
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("K Aurrerapena ") LCD_STR_E5;
186
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("K Aurrerapena *");
246 187
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD kontrastea");
247 188
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Gorde memoria");
248 189
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Kargatu memoria");
@@ -274,24 +215,11 @@ namespace Language_eu {
274 215
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF   = _UxGT("S UnRet V");
275 216
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("Atzera egin");
276 217
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Aldatu harizpia");
277
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Aldatu harizpia ") LCD_STR_E0;
278
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Aldatu harizpia ") LCD_STR_E1;
279
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Aldatu harizpia ") LCD_STR_E2;
280
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Aldatu harizpia ") LCD_STR_E3;
281
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Aldatu harizpia ") LCD_STR_E4;
282
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Aldatu harizpia ") LCD_STR_E5;
283
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Harizpia kargatu ") LCD_STR_E0;
284
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Harizpia kargatu ") LCD_STR_E1;
285
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Harizpia kargatu ") LCD_STR_E2;
286
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Harizpia kargatu ") LCD_STR_E3;
287
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Harizpia kargatu ") LCD_STR_E4;
288
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Harizpia kargatu ") LCD_STR_E5;
289
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Harizpia deskargatu ") LCD_STR_E0;
290
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Harizpia deskargatu ") LCD_STR_E1;
291
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Harizpia deskargatu ") LCD_STR_E2;
292
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Harizpia deskargatu ") LCD_STR_E3;
293
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Harizpia deskargatu ") LCD_STR_E4;
294
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Harizpia deskargatu ") LCD_STR_E5;
218
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Aldatu harizpia *");
219
+  PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Harizpia kargatu");
220
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Harizpia kargatu *");
221
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Harizpia deskargatu");
222
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Harizpia deskargatu *");
295 223
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Erabat deskargatu");
296 224
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Hasieratu SD-a");
297 225
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Aldatu txartela");

+ 8
- 45
Marlin/src/lcd/language/language_fi.h 查看文件

@@ -46,36 +46,16 @@ namespace Language_fi {
46 46
   PROGMEM Language_Str MSG_AUTO_HOME                       = _UxGT("Aja referenssiin");
47 47
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Aseta origo");
48 48
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Esilämmitä ") PREHEAT_1_LABEL;
49
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N0;
50
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N1;
51
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N2;
52
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N3;
53
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N4;
54
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " " LCD_STR_N5;
49
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " ~";
55 50
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin");
56
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N0;
57
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N1;
58
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N2;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N3;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N4;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ") LCD_STR_N5;
51
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ~");
62 52
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT(" Kaikki");
63 53
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT(" Alusta");
64 54
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Esilämm. ") PREHEAT_1_LABEL _UxGT(" konf");
65 55
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Esilämmitä ") PREHEAT_2_LABEL;
66
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N0;
67
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N1;
68
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N2;
69
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N3;
70
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N4;
71
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " " LCD_STR_N5;
56
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Esilämmitä ") PREHEAT_2_LABEL " ~";
72 57
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin");
73
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N0;
74
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N1;
75
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N2;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N3;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N4;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ") LCD_STR_N5;
58
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT("Suutin ~");
79 59
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT(" Kaikki");
80 60
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Esilä. ") PREHEAT_2_LABEL _UxGT(" Alusta");
81 61
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Esilämm. ") PREHEAT_2_LABEL _UxGT(" konf");
@@ -89,36 +69,19 @@ namespace Language_fi {
89 69
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Liikuta Y");
90 70
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Liikuta Z");
91 71
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extruder");
92
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extruder ") LCD_STR_E0;
93
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extruder ") LCD_STR_E1;
94
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extruder ") LCD_STR_E2;
95
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extruder ") LCD_STR_E3;
96
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extruder ") LCD_STR_E4;
97
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extruder ") LCD_STR_E5;
72
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extruder *");
98 73
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Liikuta %smm");
99 74
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Liikuta 0.1mm");
100 75
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Liikuta 1mm");
101 76
   PROGMEM Language_Str MSG_MOVE_10MM                       = _UxGT("Liikuta 10mm");
102 77
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Nopeus");
103 78
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Suutin");
104
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Suutin ") LCD_STR_N0;
105
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Suutin ") LCD_STR_N1;
106
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Suutin ") LCD_STR_N2;
107
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Suutin ") LCD_STR_N3;
108
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Suutin ") LCD_STR_N4;
109
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Suutin ") LCD_STR_N5;
79
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Suutin ~");
110 80
   PROGMEM Language_Str MSG_BED                             = _UxGT("Alusta");
111 81
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Tuul. nopeus");
112
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Tuul. nopeus 1");
113
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Tuul. nopeus 2");
114
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Tuul. nopeus 3");
82
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Tuul. nopeus =");
115 83
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Virtaus");
116
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Virtaus ") LCD_STR_N0;
117
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Virtaus ") LCD_STR_N1;
118
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Virtaus ") LCD_STR_N2;
119
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Virtaus ") LCD_STR_N3;
120
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Virtaus ") LCD_STR_N4;
121
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Virtaus ") LCD_STR_N5;
84
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Virtaus ~");
122 85
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Kontrolli");
123 86
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
124 87
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");

+ 19
- 106
Marlin/src/lcd/language/language_fr.h 查看文件

@@ -72,36 +72,16 @@ namespace Language_fr {
72 72
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Décalages appliqués");
73 73
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Régler origine");
74 74
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Préchauffage ") PREHEAT_1_LABEL;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N0;
76
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N1;
77
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N2;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N3;
79
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N4;
80
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Préchauffage ") PREHEAT_1_LABEL " " LCD_STR_N5;
75
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Préchauffage ") PREHEAT_1_LABEL " ~";
81 76
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse");
82
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N0;
83
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N1;
84
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N2;
85
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N3;
86
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N4;
87
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ") LCD_STR_N5;
77
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ~");
88 78
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" Tout");
89 79
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" lit");
90 80
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Régler préch. ") PREHEAT_1_LABEL;
91 81
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Préchauffage ") PREHEAT_2_LABEL;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N0;
93
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N1;
94
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N2;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N3;
96
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N4;
97
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Préchauffage ") PREHEAT_2_LABEL " " LCD_STR_N5;
82
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Préchauffage ") PREHEAT_2_LABEL " ~";
98 83
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse");
99
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N0;
100
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N1;
101
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N2;
102
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N3;
103
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N4;
104
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ") LCD_STR_N5;
84
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" buse ~");
105 85
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" Tout");
106 86
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Préch. ") PREHEAT_2_LABEL _UxGT(" lit");
107 87
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Régler préch. ") PREHEAT_2_LABEL;
@@ -242,12 +222,7 @@ namespace Language_fr {
242 222
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Déplacer Y");
243 223
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Déplacer Z");
244 224
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extrudeur");
245
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extrudeur ") LCD_STR_E0;
246
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extrudeur ") LCD_STR_E1;
247
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extrudeur ") LCD_STR_E2;
248
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extrudeur ") LCD_STR_E3;
249
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extrudeur ") LCD_STR_E4;
250
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extrudeur ") LCD_STR_E5;
225
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extrudeur *");
251 226
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Buse trop froide");
252 227
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Déplacer %smm");
253 228
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Déplacer 0.1mm");
@@ -256,30 +231,16 @@ namespace Language_fr {
256 231
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Vitesse");
257 232
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Lit Z");
258 233
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Buse");
259
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Buse ") LCD_STR_N0;
260
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Buse ") LCD_STR_N1;
261
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Buse ") LCD_STR_N2;
262
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Buse ") LCD_STR_N3;
263
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Buse ") LCD_STR_N4;
264
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Buse ") LCD_STR_N5;
234
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Buse ~");
265 235
   PROGMEM Language_Str MSG_BED                             = _UxGT("Lit");
266 236
   PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Caisson");
267 237
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Vit.  ventil.  ");
268
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Vit.  ventil. 1");
269
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Vit.  ventil. 2");
270
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Vit.  ventil. 3");
238
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Vit.  ventil. =");
271 239
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Extra ventil.  ");
272
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Extra ventil. 1");
273
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Extra ventil. 2");
274
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Extra ventil. 3");
240
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Extra ventil. =");
275 241
 
276 242
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Flux");
277
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Flux ") LCD_STR_N0;
278
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Flux ") LCD_STR_N1;
279
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Flux ") LCD_STR_N2;
280
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Flux ") LCD_STR_N3;
281
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Flux ") LCD_STR_N4;
282
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Flux ") LCD_STR_N5;
243
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Flux ~");
283 244
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Contrôler");
284 245
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
285 246
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -288,12 +249,7 @@ namespace Language_fr {
288 249
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Marche");
289 250
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Arrêt");
290 251
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Sélectionner");
291
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Sélectionner ") LCD_STR_E0;
292
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Sélectionner ") LCD_STR_E1;
293
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Sélectionner ") LCD_STR_E2;
294
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Sélectionner ") LCD_STR_E3;
295
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Sélectionner ") LCD_STR_E4;
296
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Sélectionner ") LCD_STR_E5;
252
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Sélectionner *");
297 253
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Accélération");
298 254
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Jerk");
299 255
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT(" jerk");
@@ -311,32 +267,17 @@ namespace Language_fr {
311 267
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" pas/mm");
312 268
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" pas/mm");
313 269
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E pas/mm");
314
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" pas/mm");
315
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" pas/mm");
316
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" pas/mm");
317
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" pas/mm");
318
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" pas/mm");
319
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" pas/mm");
270
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* pas/mm");
320 271
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Température");
321 272
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Mouvement");
322 273
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
323 274
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E en mm3");
324 275
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Diamètre fil.");
325
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Diamètre fil. ") LCD_STR_E0;
326
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Diamètre fil. ") LCD_STR_E1;
327
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Diamètre fil. ") LCD_STR_E2;
328
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Diamètre fil. ") LCD_STR_E3;
329
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Diamètre fil. ") LCD_STR_E4;
330
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Diamètre fil. ") LCD_STR_E5;
276
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Diamètre fil. *");
331 277
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Retrait mm");
332 278
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Charger mm");
333 279
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Avance K");
334
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("Avance K ") LCD_STR_E0;
335
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("Avance K ") LCD_STR_E1;
336
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("Avance K ") LCD_STR_E2;
337
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("Avance K ") LCD_STR_E3;
338
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("Avance K ") LCD_STR_E4;
339
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("Avance K ") LCD_STR_E5;
280
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Avance K *");
340 281
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Contraste LCD");
341 282
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Enregistrer config.");
342 283
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Charger config.");
@@ -387,25 +328,10 @@ namespace Language_fr {
387 328
   PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH            = _UxGT("Distance retrait");
388 329
   PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH           = _UxGT("Longueur de purge");
389 330
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Changer filament");
390
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Changer filament ") LCD_STR_E0;
391
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Changer filament ") LCD_STR_E1;
392
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Changer filament ") LCD_STR_E2;
393
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Changer filament ") LCD_STR_E3;
394
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Changer filament ") LCD_STR_E4;
395
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Changer filament ") LCD_STR_E5;
331
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Changer filament *");
396 332
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Charger filament");
397
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Charger filament ") LCD_STR_E0;
398
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Charger filament ") LCD_STR_E1;
399
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Charger filament ") LCD_STR_E2;
400
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Charger filament ") LCD_STR_E3;
401
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Charger filament ") LCD_STR_E4;
402
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Charger filament ") LCD_STR_E5;
403
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Retrait filament ") LCD_STR_E0;
404
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Retrait filament ") LCD_STR_E1;
405
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Retrait filament ") LCD_STR_E2;
406
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Retrait filament ") LCD_STR_E3;
407
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Retrait filament ") LCD_STR_E4;
408
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Retrait filament ") LCD_STR_E5;
333
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Charger filament *");
334
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Retrait filament *");
409 335
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Décharger tout");
410 336
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Charger le média");
411 337
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Actualiser média");
@@ -529,31 +455,18 @@ namespace Language_fr {
529 455
   PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Charger tous");
530 456
   PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Charger dans buse");
531 457
   PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Ejecter filament");
532
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0            = _UxGT("Ejecter fil. 1");
533
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1            = _UxGT("Ejecter fil. 2");
534
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2            = _UxGT("Ejecter fil. 3");
535
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3            = _UxGT("Ejecter fil. 4");
536
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4            = _UxGT("Ejecter fil. 5");
458
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Ejecter fil. ~");
537 459
   PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Retrait filament");
538 460
   PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Chargem. fil. %i...");
539 461
   PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Ejection fil...");
540 462
   PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Retrait fil....");
541 463
   PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Tous");
542
-  PROGMEM Language_Str MSG_MMU2_FILAMENT0                  = _UxGT("Filament 1");
543
-  PROGMEM Language_Str MSG_MMU2_FILAMENT1                  = _UxGT("Filament 2");
544
-  PROGMEM Language_Str MSG_MMU2_FILAMENT2                  = _UxGT("Filament 3");
545
-  PROGMEM Language_Str MSG_MMU2_FILAMENT3                  = _UxGT("Filament 4");
546
-  PROGMEM Language_Str MSG_MMU2_FILAMENT4                  = _UxGT("Filament 5");
464
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Filament ~");
547 465
   PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Réinit. MMU");
548 466
   PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Réinit. MMU...");
549 467
   PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Retrait, click");
550 468
 
551
-  PROGMEM Language_Str MSG_MIX_COMPONENT_1                 = _UxGT("Composante 1");
552
-  PROGMEM Language_Str MSG_MIX_COMPONENT_2                 = _UxGT("Composante 2");
553
-  PROGMEM Language_Str MSG_MIX_COMPONENT_3                 = _UxGT("Composante 3");
554
-  PROGMEM Language_Str MSG_MIX_COMPONENT_4                 = _UxGT("Composante 4");
555
-  PROGMEM Language_Str MSG_MIX_COMPONENT_5                 = _UxGT("Composante 5");
556
-  PROGMEM Language_Str MSG_MIX_COMPONENT_6                 = _UxGT("Composante 6");
469
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Composante ~");
557 470
   PROGMEM Language_Str MSG_MIXER                           = _UxGT("Mixeur");
558 471
   PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Dégradé");
559 472
   PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Dégradé complet");

+ 12
- 69
Marlin/src/lcd/language/language_gl.h 查看文件

@@ -57,36 +57,16 @@ namespace Language_gl {
57 57
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offsets fixados");
58 58
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Fixar orixe");
59 59
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Prequentar ") PREHEAT_1_LABEL;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N0;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N1;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N2;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N3;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N4;
65
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Prequentar ") PREHEAT_1_LABEL " " LCD_STR_N5;
60
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Prequentar ") PREHEAT_1_LABEL " ~";
66 61
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico");
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N0;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N1;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N2;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N3;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N4;
72
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N5;
62
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ~");
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Todo");
74 64
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Cama");
75 65
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" conf");
76 66
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Prequentar ") PREHEAT_2_LABEL;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N0;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N1;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N2;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N3;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N4;
82
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Prequentar ") PREHEAT_2_LABEL " " LCD_STR_N5;
67
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Prequentar ") PREHEAT_2_LABEL " ~";
83 68
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico");
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N0;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N1;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N2;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N3;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N4;
89
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N5;
69
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Bico ~");
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Todo");
91 71
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" Cama");
92 72
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Preque. ") PREHEAT_2_LABEL _UxGT(" conf");
@@ -102,12 +82,7 @@ namespace Language_gl {
102 82
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Mover Y");
103 83
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Mover Z");
104 84
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extrusor");
105
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extrusor ") LCD_STR_E0;
106
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extrusor ") LCD_STR_E1;
107
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extrusor ") LCD_STR_E2;
108
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extrusor ") LCD_STR_E3;
109
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extrusor ") LCD_STR_E4;
110
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extrusor ") LCD_STR_E5;
85
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extrusor *");
111 86
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Mover %smm");
112 87
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Mover 0.1mm");
113 88
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Mover 1mm");
@@ -115,57 +90,30 @@ namespace Language_gl {
115 90
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Velocidade");
116 91
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Cama Z");
117 92
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Bico");
118
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Bico ") LCD_STR_N0;
119
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Bico ") LCD_STR_N1;
120
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Bico ") LCD_STR_N2;
121
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Bico ") LCD_STR_N3;
122
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Bico ") LCD_STR_N4;
123
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Bico ") LCD_STR_N5;
93
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Bico ~");
124 94
   PROGMEM Language_Str MSG_BED                             = _UxGT("Cama");
125 95
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Velocidade vent.");
126
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Velocidade vent. 1");
127
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Velocidade vent. 2");
128
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Velocidade vent. 3");
96
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Velocidade vent. ~");
129 97
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Fluxo");
130
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Fluxo ") LCD_STR_N0;
131
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Fluxo ") LCD_STR_N1;
132
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Fluxo ") LCD_STR_N2;
133
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Fluxo ") LCD_STR_N3;
134
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Fluxo ") LCD_STR_N4;
135
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Fluxo ") LCD_STR_N5;
98
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Fluxo ~");
136 99
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
137 100
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
138 101
   PROGMEM Language_Str MSG_FACTOR                          = " " LCD_STR_THERMOMETER _UxGT(" Fact");
139 102
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Escolla");
140
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Escolla ") LCD_STR_E0;
141
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Escolla ") LCD_STR_E1;
142
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Escolla ") LCD_STR_E2;
143
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Escolla ") LCD_STR_E3;
144
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Escolla ") LCD_STR_E4;
145
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Escolla ") LCD_STR_E5;
103
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Escolla *");
146 104
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Acel");
147 105
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Pasos/mm");
148 106
   PROGMEM Language_Str MSG_A_STEPS                         = LCD_STR_A _UxGT(" pasos/mm");
149 107
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" pasos/mm");
150 108
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" pasos/mm");
151 109
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E pasos/mm");
152
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" pasos/mm");
153
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" pasos/mm");
154
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" pasos/mm");
155
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" pasos/mm");
156
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" pasos/mm");
157
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" pasos/mm");
110
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* pasos/mm");
158 111
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatura");
159 112
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Movemento");
160 113
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filamento");
161 114
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E en mm3");
162 115
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Diam. fil.");
163
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Diam. fil. ") LCD_STR_E0;
164
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Diam. fil. ") LCD_STR_E1;
165
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Diam. fil. ") LCD_STR_E2;
166
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Diam. fil. ") LCD_STR_E3;
167
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Diam. fil. ") LCD_STR_E4;
168
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Diam. fil. ") LCD_STR_E5;
116
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Diam. fil. *");
169 117
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Constraste LCD");
170 118
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Gardar en memo.");
171 119
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Cargar de memo.");
@@ -194,12 +142,7 @@ namespace Language_gl {
194 142
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("Recuperacion V");
195 143
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("Retraccion auto.");
196 144
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Cambiar filamen.");
197
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Cambiar filamen. ") LCD_STR_E0;
198
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Cambiar filamen. ") LCD_STR_E1;
199
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Cambiar filamen. ") LCD_STR_E2;
200
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Cambiar filamen. ") LCD_STR_E3;
201
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Cambiar filamen. ") LCD_STR_E4;
202
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Cambiar filamen. ") LCD_STR_E5;
145
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Cambiar filamen. *");
203 146
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Iniciando SD");
204 147
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Cambiar SD");
205 148
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Sonda-Z sen cama");

+ 9
- 51
Marlin/src/lcd/language/language_hr.h 查看文件

@@ -56,36 +56,16 @@ namespace Language_hr {
56 56
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offsets postavljeni");
57 57
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Postavi ishodište");
58 58
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Predgrij ") PREHEAT_1_LABEL;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N0;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N1;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N2;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N3;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N4;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Predgrij ") PREHEAT_1_LABEL " " LCD_STR_N5;
59
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Predgrij ") PREHEAT_1_LABEL " ~";
65 60
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna");
66
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N0;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N1;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N2;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N3;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N4;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ") LCD_STR_N5;
61
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ~");
72 62
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Sve");
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Bed");
74 64
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" conf");
75 65
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Predgrij ") PREHEAT_2_LABEL;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N0;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N1;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N2;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N3;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N4;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Predgrij ") PREHEAT_2_LABEL " " LCD_STR_N5;
66
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Predgrij ") PREHEAT_2_LABEL " ~";
82 67
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna");
83
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N0;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N1;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N2;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N3;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N4;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ") LCD_STR_N5;
68
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Dizna ~");
89 69
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Sve");
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" Bed");
91 71
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Predgrij ") PREHEAT_2_LABEL _UxGT(" conf");
@@ -104,34 +84,17 @@ namespace Language_hr {
104 84
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Brzina");
105 85
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Bed Z");
106 86
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Dizna");
107
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Dizna ") LCD_STR_N0;
108
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Dizna ") LCD_STR_N1;
109
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Dizna ") LCD_STR_N2;
110
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Dizna ") LCD_STR_N3;
111
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Dizna ") LCD_STR_N4;
112
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Dizna ") LCD_STR_N5;
87
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Dizna ~");
113 88
   PROGMEM Language_Str MSG_BED                             = _UxGT("Bed");
114 89
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Brzina ventilatora");
115
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Brzina ventilatora 1");
116
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Brzina ventilatora 2");
117
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Brzina ventilatora 3");
90
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Brzina ventilatora ~");
118 91
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Odaberi");
119
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Odaberi ") LCD_STR_E0;
120
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Odaberi ") LCD_STR_E1;
121
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Odaberi ") LCD_STR_E2;
122
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Odaberi ") LCD_STR_E3;
123
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Odaberi ") LCD_STR_E4;
124
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Odaberi ") LCD_STR_E5;
92
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Odaberi *");
125 93
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperature");
126 94
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Gibanje");
127 95
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E in mm3");
128 96
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Fil. Dia.");
129
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Fil. Dia. ") LCD_STR_E0;
130
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Fil. Dia. ") LCD_STR_E1;
131
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Fil. Dia. ") LCD_STR_E2;
132
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Fil. Dia. ") LCD_STR_E3;
133
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Fil. Dia. ") LCD_STR_E4;
134
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Fil. Dia. ") LCD_STR_E5;
97
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Fil. Dia. *");
135 98
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Kontrast LCD-a");
136 99
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Pohrani u memoriju");
137 100
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Učitaj memoriju");
@@ -148,12 +111,7 @@ namespace Language_hr {
148 111
   PROGMEM Language_Str MSG_PRINT_ABORTED                   = _UxGT("Print otkazan");
149 112
   PROGMEM Language_Str MSG_STOPPED                         = _UxGT("ZAUSTAVLJEN. ");
150 113
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Promijeni filament");
151
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Promijeni filament ") LCD_STR_E0;
152
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Promijeni filament ") LCD_STR_E1;
153
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Promijeni filament ") LCD_STR_E2;
154
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Promijeni filament ") LCD_STR_E3;
155
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Promijeni filament ") LCD_STR_E4;
156
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Promijeni filament ") LCD_STR_E5;
114
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Promijeni filament *");
157 115
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Init. SD karticu");
158 116
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Promijeni SD karticu");
159 117
   PROGMEM Language_Str MSG_HEATING_FAILED_LCD              = _UxGT("Grijanje neuspješno");

+ 28
- 150
Marlin/src/lcd/language/language_it.h 查看文件

@@ -72,36 +72,16 @@ namespace Language_it {
72 72
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offset applicato");
73 73
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Imposta Origine");
74 74
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Preriscalda ") PREHEAT_1_LABEL;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N0;
76
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N1;
77
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N2;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N3;
79
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N4;
80
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Preriscalda ") PREHEAT_1_LABEL " " LCD_STR_N5;
75
+  PROGMEM Language_Str MSG_PREHEAT_1_HN                    = _UxGT("Preriscalda ") PREHEAT_1_LABEL " ~";
81 76
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello");
82
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N0;
83
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N1;
84
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N2;
85
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N3;
86
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N4;
87
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ") LCD_STR_N5;
77
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ~");
88 78
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Tutto");
89 79
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Piatto");
90 80
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" conf");
91 81
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Preriscalda ") PREHEAT_2_LABEL;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N0;
93
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N1;
94
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N2;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N3;
96
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N4;
97
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Preriscalda ") PREHEAT_2_LABEL " " LCD_STR_N5;
82
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Preriscalda ") PREHEAT_2_LABEL " ~";
98 83
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello");
99
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N0;
100
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N1;
101
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N2;
102
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N3;
103
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N4;
104
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ") LCD_STR_N5;
84
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Ugello ~");
105 85
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Tutto");
106 86
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" Piatto");
107 87
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Preris.") PREHEAT_2_LABEL _UxGT(" conf");
@@ -247,12 +227,7 @@ namespace Language_it {
247 227
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Muovi Y");
248 228
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Muovi Z");
249 229
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Estrusore");
250
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Estrusore ") LCD_STR_E0;
251
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Estrusore ") LCD_STR_E1;
252
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Estrusore ") LCD_STR_E2;
253
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Estrusore ") LCD_STR_E3;
254
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Estrusore ") LCD_STR_E4;
255
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Estrusore ") LCD_STR_E5;
230
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Estrusore *");
256 231
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Ugello freddo");
257 232
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Muovi di %smm");
258 233
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Muovi di 0.1mm");
@@ -261,29 +236,15 @@ namespace Language_it {
261 236
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Velocità");
262 237
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Piatto Z");
263 238
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Ugello");
264
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Ugello ") LCD_STR_N0;
265
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Ugello ") LCD_STR_N1;
266
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Ugello ") LCD_STR_N2;
267
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Ugello ") LCD_STR_N3;
268
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Ugello ") LCD_STR_N4;
269
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Ugello ") LCD_STR_N5;
239
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Ugello ~");
270 240
   PROGMEM Language_Str MSG_BED                             = _UxGT("Piatto");
271 241
   PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Camera");
272 242
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Vel. ventola"); // Max 15 characters
273
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Vel. ventola 1"); // Max 15 characters
274
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Vel. ventola 2"); // Max 15 characters
275
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Vel. ventola 3"); // Max 15 characters
243
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Vel. ventola ="); // Max 15 characters
276 244
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Extra vel.vent."); // Max 15 characters
277
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Extra v.vent. 1"); // Max 15 characters
278
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Extra v.vent. 2"); // Max 15 characters
279
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Extra v.vent. 3"); // Max 15 characters
245
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Extra v.vent. ="); // Max 15 characters
280 246
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Flusso");
281
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Flusso ") LCD_STR_N0;
282
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Flusso ") LCD_STR_N1;
283
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Flusso ") LCD_STR_N2;
284
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Flusso ") LCD_STR_N3;
285
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Flusso ") LCD_STR_N4;
286
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Flusso ") LCD_STR_N5;
247
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Flusso ~");
287 248
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Controllo");
288 249
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
289 250
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -291,48 +252,18 @@ namespace Language_it {
291 252
   PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Autotemp");
292 253
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("On");
293 254
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Off");
294
-  PROGMEM Language_Str MSG_AUTOTUNE_PID                    = _UxGT("PID Autotune");
295
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E0                 = _UxGT("PID Autotune ") LCD_STR_E0;
296
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E1                 = _UxGT("PID Autotune ") LCD_STR_E1;
297
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E2                 = _UxGT("PID Autotune ") LCD_STR_E2;
298
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E3                 = _UxGT("PID Autotune ") LCD_STR_E3;
299
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E4                 = _UxGT("PID Autotune ") LCD_STR_E4;
300
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E5                 = _UxGT("PID Autotune ") LCD_STR_E5;
255
+  PROGMEM Language_Str MSG_PID_AUTOTUNE                    = _UxGT("PID Autotune");
256
+  PROGMEM Language_Str MSG_PID_AUTOTUNE_E                  = _UxGT("PID Autotune *");
301 257
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
302
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
303
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
304
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
305
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
306
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
307
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
258
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
308 259
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
309
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
310
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
311
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
312
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
313
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
314
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
260
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
315 261
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
316
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
317
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
318
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
319
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
320
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
321
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
262
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
322 263
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
323
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
324
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
325
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
326
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
327
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
328
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
264
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
329 265
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Seleziona");
330
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Seleziona ") LCD_STR_E0;
331
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Seleziona ") LCD_STR_E1;
332
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Seleziona ") LCD_STR_E2;
333
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Seleziona ") LCD_STR_E3;
334
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Seleziona ") LCD_STR_E4;
335
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Seleziona ") LCD_STR_E5;
266
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Seleziona *");
336 267
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Accel");
337 268
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Jerk");
338 269
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-jerk");
@@ -345,12 +276,7 @@ namespace Language_it {
345 276
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vmax ") LCD_STR_B;
346 277
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vmax ") LCD_STR_C;
347 278
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vmax ") LCD_STR_E;
348
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("Vmax ") LCD_STR_E0;
349
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("Vmax ") LCD_STR_E1;
350
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("Vmax ") LCD_STR_E2;
351
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("Vmax ") LCD_STR_E3;
352
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("Vmax ") LCD_STR_E4;
353
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("Vmax ") LCD_STR_E5;
279
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vmax *");
354 280
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vmin");
355 281
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("VTrav min");
356 282
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Accelerazione");
@@ -358,12 +284,7 @@ namespace Language_it {
358 284
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Amax ") LCD_STR_B;
359 285
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Amax ") LCD_STR_C;
360 286
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Amax ") LCD_STR_E;
361
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Amax ") LCD_STR_E0;
362
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Amax ") LCD_STR_E1;
363
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Amax ") LCD_STR_E2;
364
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Amax ") LCD_STR_E3;
365
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Amax ") LCD_STR_E4;
366
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Amax ") LCD_STR_E5;
287
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Amax *");
367 288
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-Ritrazione");
368 289
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-Spostamento");
369 290
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Passi/mm");
@@ -371,32 +292,17 @@ namespace Language_it {
371 292
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("passi/mm");
372 293
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("passi/mm");
373 294
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Epassi/mm");
374
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT("passi/mm");
375
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT("passi/mm");
376
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT("passi/mm");
377
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT("passi/mm");
378
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT("passi/mm");
379
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT("passi/mm");
295
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*passi/mm");
380 296
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatura");
381 297
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Movimento");
382 298
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filamento");
383 299
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E in mm³");
384 300
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Diam. filo");
385
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Diam. filo ") LCD_STR_E0;
386
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Diam. filo ") LCD_STR_E1;
387
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Diam. filo ") LCD_STR_E2;
388
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Diam. filo ") LCD_STR_E3;
389
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Diam. filo ") LCD_STR_E4;
390
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Diam. filo ") LCD_STR_E5;
301
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Diam. filo *");
391 302
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Rimuovi mm");
392 303
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Carica mm");
393 304
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("K Avanzamento");
394
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("K Avanzamento ") LCD_STR_E0;
395
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("K Avanzamento ") LCD_STR_E1;
396
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("K Avanzamento ") LCD_STR_E2;
397
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("K Avanzamento ") LCD_STR_E3;
398
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("K Avanzamento ") LCD_STR_E4;
399
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("K Avanzamento ") LCD_STR_E5;
305
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("K Avanzamento *");
400 306
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Contrasto LCD");
401 307
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Salva impostazioni");
402 308
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Carica impostazioni");
@@ -404,7 +310,7 @@ namespace Language_it {
404 310
   PROGMEM Language_Str MSG_INIT_EEPROM                     = _UxGT("Inizializza EEPROM");
405 311
   PROGMEM Language_Str MSG_MEDIA_UPDATE                    = _UxGT("Aggiorna media");
406 312
   PROGMEM Language_Str MSG_RESET_PRINTER                   = _UxGT("Resetta stampante");
407
-  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH  _UxGT("Aggiorna");
313
+  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH _UxGT("Aggiorna");
408 314
   PROGMEM Language_Str MSG_WATCH                           = _UxGT("Schermata info");
409 315
   PROGMEM Language_Str MSG_PREPARE                         = _UxGT("Prepara");
410 316
   PROGMEM Language_Str MSG_TUNE                            = _UxGT("Regola");
@@ -448,26 +354,11 @@ namespace Language_it {
448 354
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Velocità retrazione");
449 355
   PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Standby ugello");
450 356
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Cambia filamento");
451
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Cambia filamento ") LCD_STR_E0;
452
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Cambia filamento ") LCD_STR_E1;
453
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Cambia filamento ") LCD_STR_E2;
454
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Cambia filamento ") LCD_STR_E3;
455
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Cambia filamento ") LCD_STR_E4;
456
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Cambia filamento ") LCD_STR_E5;
357
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Cambia filamento *");
457 358
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Carica filamento");
458
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Carica filamento ") LCD_STR_E0;
459
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Carica filamento ") LCD_STR_E1;
460
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Carica filamento ") LCD_STR_E2;
461
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Carica filamento ") LCD_STR_E3;
462
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Carica filamento ") LCD_STR_E4;
463
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Carica filamento ") LCD_STR_E5;
359
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Carica filamento *");
464 360
   PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Rimuovi filamento");
465
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Rimuovi filamento ") LCD_STR_E0;
466
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Rimuovi filamento ") LCD_STR_E1;
467
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Rimuovi filamento ") LCD_STR_E2;
468
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Rimuovi filamento ") LCD_STR_E3;
469
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Rimuovi filamento ") LCD_STR_E4;
470
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Rimuovi filamento ") LCD_STR_E5;
361
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Rimuovi filamento *");
471 362
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Rimuovi tutto");
472 363
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Inizializ. media");
473 364
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Cambia media");
@@ -599,32 +490,19 @@ namespace Language_it {
599 490
   PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Carica tutto");
600 491
   PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Carica fino ugello");
601 492
   PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Espelli filamento");
602
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0            = _UxGT("Espelli filam.1");
603
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1            = _UxGT("Espelli filam.2");
604
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2            = _UxGT("Espelli filam.3");
605
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3            = _UxGT("Espelli filam.4");
606
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4            = _UxGT("Espelli filam.5");
493
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Espelli filam.~");
607 494
   PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Scarica filamento");
608 495
   PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Caric.fil. %i...");
609 496
   PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Esplus.filam. ...");
610 497
   PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Scaric.filam. ...");
611 498
   PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Tutto");
612
-  PROGMEM Language_Str MSG_MMU2_FILAMENT0                  = _UxGT("Filamento 1");
613
-  PROGMEM Language_Str MSG_MMU2_FILAMENT1                  = _UxGT("Filamento 2");
614
-  PROGMEM Language_Str MSG_MMU2_FILAMENT2                  = _UxGT("Filamento 3");
615
-  PROGMEM Language_Str MSG_MMU2_FILAMENT3                  = _UxGT("Filamento 4");
616
-  PROGMEM Language_Str MSG_MMU2_FILAMENT4                  = _UxGT("Filamento 5");
499
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Filamento ~");
617 500
   PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Azzera MMU");
618 501
   PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Azzeramento MMU...");
619 502
   PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Rimuovi, click");
620 503
 
621 504
   PROGMEM Language_Str MSG_MIX                             = _UxGT("Miscela");
622
-  PROGMEM Language_Str MSG_MIX_COMPONENT_1                 = _UxGT("Componente 1");
623
-  PROGMEM Language_Str MSG_MIX_COMPONENT_2                 = _UxGT("Componente 2");
624
-  PROGMEM Language_Str MSG_MIX_COMPONENT_3                 = _UxGT("Componente 3");
625
-  PROGMEM Language_Str MSG_MIX_COMPONENT_4                 = _UxGT("Componente 4");
626
-  PROGMEM Language_Str MSG_MIX_COMPONENT_5                 = _UxGT("Componente 5");
627
-  PROGMEM Language_Str MSG_MIX_COMPONENT_6                 = _UxGT("Componente 6");
505
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Componente ~");
628 506
   PROGMEM Language_Str MSG_MIXER                           = _UxGT("Miscelatore");
629 507
   PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Gradiente");
630 508
   PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Gradiente pieno");

+ 11
- 66
Marlin/src/lcd/language/language_jp_kana.h 查看文件

@@ -65,36 +65,16 @@ namespace Language_jp_kana {
65 65
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("オフセットガテキヨウサレマシタ");       // "Offsets applied"
66 66
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("キジュンセット");                 // "Set origin"
67 67
   PROGMEM Language_Str MSG_PREHEAT_1                       = PREHEAT_1_LABEL _UxGT(" ヨネツ");       // "Preheat " PREHEAT_1_LABEL
68
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N0;       // "Preheat " PREHEAT_1_LABEL
69
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N1;       // "Preheat " PREHEAT_1_LABEL
70
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N2;       // "Preheat " PREHEAT_1_LABEL
71
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N3;       // "Preheat " PREHEAT_1_LABEL
72
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N4;       // "Preheat " PREHEAT_1_LABEL
73
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = PREHEAT_1_LABEL _UxGT(" ヨネツ ") LCD_STR_N5;       // "Preheat " PREHEAT_1_LABEL
68
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = PREHEAT_1_LABEL _UxGT(" ヨネツ ~");       // "Preheat " PREHEAT_1_LABEL
74 69
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = PREHEAT_1_LABEL _UxGT(" ヨネツノズル");  // " Nozzle"
75
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N0;  // " Nozzle"
76
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N1;  // " Nozzle"
77
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N2;  // " Nozzle"
78
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N3;  // " Nozzle"
79
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N4;  // " Nozzle"
80
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N5;  // " Nozzle"
70
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ~");  // " Nozzle"
81 71
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = PREHEAT_1_LABEL _UxGT(" スベテヨネツ");  // " All"
82 72
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = PREHEAT_1_LABEL _UxGT(" ベッドヨネツ");  // " Bed"
83 73
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = PREHEAT_1_LABEL _UxGT(" ヨネツセッテイ");  // " conf"
84 74
   PROGMEM Language_Str MSG_PREHEAT_2                       = PREHEAT_2_LABEL _UxGT(" ヨネツ");       // "Preheat " PREHEAT_1_LABEL
85
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N0;       // "Preheat " PREHEAT_1_LABEL
86
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N1;       // "Preheat " PREHEAT_1_LABEL
87
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N2;       // "Preheat " PREHEAT_1_LABEL
88
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N3;       // "Preheat " PREHEAT_1_LABEL
89
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N4;       // "Preheat " PREHEAT_1_LABEL
90
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = PREHEAT_2_LABEL _UxGT(" ヨネツ ") LCD_STR_N5;       // "Preheat " PREHEAT_1_LABEL
75
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = PREHEAT_2_LABEL _UxGT(" ヨネツ ~");       // "Preheat " PREHEAT_1_LABEL
91 76
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = PREHEAT_2_LABEL _UxGT(" ヨネツノズル");  // " Nozzle"
92
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N0;  // " Nozzle"
93
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N1;  // " Nozzle"
94
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N2;  // " Nozzle"
95
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N3;  // " Nozzle"
96
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N4;  // " Nozzle"
97
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ") LCD_STR_N5;  // " Nozzle"
77
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = PREHEAT_2_LABEL _UxGT(" ヨネツノズル ~");  // " Nozzle"
98 78
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = PREHEAT_2_LABEL _UxGT(" スベテヨネツ");  // " All"
99 79
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = PREHEAT_2_LABEL _UxGT(" ベッドヨネツ");  // " Bed"
100 80
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = PREHEAT_2_LABEL _UxGT(" ヨネツセッテイ");  // " conf"
@@ -131,40 +111,15 @@ namespace Language_jp_kana {
131 111
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("オン");                         // "On"
132 112
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("オフ");                         // "Off"
133 113
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
134
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
135
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
136
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
137
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
138
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
139
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
114
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
140 115
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
141
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
142
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
143
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
144
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
145
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
146
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
116
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
147 117
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
148
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
149
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
150
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
151
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
152
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
153
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
118
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
154 119
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
155
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
156
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
157
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
158
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
159
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
160
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
120
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
161 121
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("センタク");                     // "Select"
162
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("センタク ") LCD_STR_E0;
163
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("センタク ") LCD_STR_E1;
164
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("センタク ") LCD_STR_E2;
165
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("センタク ") LCD_STR_E3;
166
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("センタク ") LCD_STR_E4;
167
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("センタク ") LCD_STR_E5;
122
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("センタク *");
168 123
   PROGMEM Language_Str MSG_ACC                             = _UxGT("カソクド mm/s²");               // "Accel"
169 124
   PROGMEM Language_Str MSG_JERK                            = _UxGT("ヤクドウ mm/s");                  // "Jerk"
170 125
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("ジク ヤクドウ mm/s") LCD_STR_A;             // "Va-jerk"
@@ -178,12 +133,7 @@ namespace Language_jp_kana {
178 133
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("サイダイオクリソクド ") LCD_STR_A;  // "Vmax B"
179 134
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("サイダイオクリソクド ") LCD_STR_A;  // "Vmax C"
180 135
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("サイダイオクリソクド ") LCD_STR_A;  // "Vmax E"
181
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("サイダイオクリソクド ") LCD_STR_E0;  // "Vmax E1"
182
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("サイダイオクリソクド ") LCD_STR_E1;  // "Vmax E2"
183
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("サイダイオクリソクド ") LCD_STR_E2;  // "Vmax E3"
184
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("サイダイオクリソクド ") LCD_STR_E3;  // "Vmax E4"
185
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("サイダイオクリソクド ") LCD_STR_E4;  // "Vmax E5"
186
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("サイダイオクリソクド ") LCD_STR_E5;  // "Vmax E6"
136
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("サイダイオクリソクド *");  // "Vmax E1"
187 137
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("サイショウオクリソクド");           // "Vmin"
188 138
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("サイショウイドウソクド");           // "VTrav min"
189 139
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("カソクド mm/s²");               // "Accel"
@@ -195,12 +145,7 @@ namespace Language_jp_kana {
195 145
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("フィラメント");                   // "Filament"
196 146
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E in mm³");
197 147
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("フィラメントチョッケイ");            // "Fil. Dia."
198
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("フィラメントチョッケイ ") LCD_STR_E0;
199
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("フィラメントチョッケイ ") LCD_STR_E1;
200
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("フィラメントチョッケイ ") LCD_STR_E2;
201
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("フィラメントチョッケイ ") LCD_STR_E3;
202
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("フィラメントチョッケイ ") LCD_STR_E4;
203
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("フィラメントチョッケイ ") LCD_STR_E5;
148
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("フィラメントチョッケイ *");
204 149
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCDコントラスト");               // "LCD contrast"
205 150
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("EEPROMヘホゾン");               // "Store memory"
206 151
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("EEPROMカラヨミコミ");               // "Load memory"

+ 7
- 36
Marlin/src/lcd/language/language_ko_KR.h 查看文件

@@ -56,33 +56,13 @@ namespace Language_ko_KR {
56 56
   PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT            = _UxGT("다음 Point");
57 57
   PROGMEM Language_Str MSG_LEVEL_BED_DONE                  = _UxGT("레벨링 완료!");
58 58
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("예열하기 - ") PREHEAT_1_LABEL;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N0;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N1;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N2;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N3;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N4;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("예열하기 - ") PREHEAT_1_LABEL " " LCD_STR_N5;
59
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("예열하기 - ") PREHEAT_1_LABEL " ~";
65 60
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐");
66
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N0;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N1;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N2;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N3;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N4;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ") LCD_STR_N5;
61
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ~");
72 62
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("예열하기 - ") PREHEAT_2_LABEL;
73
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N0;
74
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N1;
75
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N2;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N3;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N4;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("예열하기 - ") PREHEAT_2_LABEL " " LCD_STR_N5;
63
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("예열하기 - ") PREHEAT_2_LABEL " ~";
79 64
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐");
80
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N0;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N1;
82
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N2;
83
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N3;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N4;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ") LCD_STR_N5;
65
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("예열하기 - ") PREHEAT_2_LABEL _UxGT(" 노즐 ~");
86 66
   PROGMEM Language_Str MSG_PREHEAT_CUSTOM                  = _UxGT("Custom 예열");
87 67
   PROGMEM Language_Str MSG_COOLDOWN                        = _UxGT("식히기");
88 68
   PROGMEM Language_Str MSG_SWITCH_PS_ON                    = _UxGT("스위치 전원 켜기");
@@ -94,21 +74,12 @@ namespace Language_ko_KR {
94 74
   PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY         = _UxGT("미러 사본");
95 75
   PROGMEM Language_Str MSG_UBL_DOING_G29                   = _UxGT("오토레벨링 하기");
96 76
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("노즐");
97
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("노즐 ") LCD_STR_N0;
98
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("노즐 ") LCD_STR_N1;
99
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("노즐 ") LCD_STR_N2;
100
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("노즐 ") LCD_STR_N3;
101
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("노즐 ") LCD_STR_N4;
102
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("노즐 ") LCD_STR_N5;
77
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("노즐 ~");
103 78
   PROGMEM Language_Str MSG_BED                             = _UxGT("베드");
104 79
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("펜 속도");
105
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("펜 속도 1");
106
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("펜 속도 2");
107
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("펜 속도 3");
80
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("펜 속도 =");
108 81
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("엑스트라 펜 속도");
109
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("엑스트라 펜 속도 1");
110
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("엑스트라 펜 속도 2");
111
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("엑스트라 펜 속도 3");
82
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("엑스트라 펜 속도 =");
112 83
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("온도");
113 84
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("동작");
114 85
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("설정 저장하기");

+ 12
- 69
Marlin/src/lcd/language/language_nl.h 查看文件

@@ -60,36 +60,16 @@ namespace Language_nl {
60 60
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("H offset toegep.");
61 61
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Nulpunt instellen");
62 62
   PROGMEM Language_Str MSG_PREHEAT_1                       = PREHEAT_1_LABEL _UxGT(" voorverwarmen");
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N0;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N1;
65
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N2;
66
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N3;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N4;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = PREHEAT_1_LABEL _UxGT(" voorverw. ") LCD_STR_N5;
63
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = PREHEAT_1_LABEL _UxGT(" voorverw. ~");
69 64
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = PREHEAT_1_LABEL _UxGT(" voorverw. Einde");
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N0;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N1;
72
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N2;
73
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N3;
74
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N4;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N5;
65
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ~");
76 66
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = PREHEAT_1_LABEL _UxGT(" voorverw. aan");
77 67
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = PREHEAT_1_LABEL _UxGT(" voorverw. Bed");
78 68
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = PREHEAT_1_LABEL _UxGT(" verw. conf");
79 69
   PROGMEM Language_Str MSG_PREHEAT_2                       = PREHEAT_2_LABEL _UxGT(" voorverwarmen");
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N0;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N1;
82
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N2;
83
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N3;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N4;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = PREHEAT_2_LABEL _UxGT(" voorverw. ") LCD_STR_N5;
70
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = PREHEAT_2_LABEL _UxGT(" voorverw. ~");
86 71
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = PREHEAT_2_LABEL _UxGT(" voorverw. Einde");
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N0;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N1;
89
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N2;
90
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N3;
91
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N4;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ") LCD_STR_N5;
72
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = PREHEAT_2_LABEL _UxGT(" voorverw. Einde ~");
93 73
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = PREHEAT_2_LABEL _UxGT(" voorverw. aan");
94 74
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = PREHEAT_2_LABEL _UxGT(" voorverw. Bed");
95 75
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = PREHEAT_2_LABEL _UxGT(" verw. conf");
@@ -108,12 +88,7 @@ namespace Language_nl {
108 88
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Verplaats Y");
109 89
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Verplaats Z");
110 90
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extruder");
111
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extruder ") LCD_STR_E0;
112
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extruder ") LCD_STR_E1;
113
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extruder ") LCD_STR_E2;
114
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extruder ") LCD_STR_E3;
115
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extruder ") LCD_STR_E4;
116
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extruder ") LCD_STR_E5;
91
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extruder *");
117 92
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Verplaats %smm");
118 93
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Verplaats 0.1mm");
119 94
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Verplaats 1mm");
@@ -121,24 +96,12 @@ namespace Language_nl {
121 96
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Snelheid");
122 97
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Bed Z");
123 98
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Nozzle");
124
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Nozzle ") LCD_STR_N0;
125
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Nozzle ") LCD_STR_N1;
126
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Nozzle ") LCD_STR_N2;
127
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Nozzle ") LCD_STR_N3;
128
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Nozzle ") LCD_STR_N4;
129
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Nozzle ") LCD_STR_N5;
99
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Nozzle ~");
130 100
   PROGMEM Language_Str MSG_BED                             = _UxGT("Bed");
131 101
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Fan snelheid");
132
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Fan snelheid 1");
133
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Fan snelheid 2");
134
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Fan snelheid 3");
102
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Fan snelheid =");
135 103
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Flow");
136
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Flow ") LCD_STR_N0;
137
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Flow ") LCD_STR_N1;
138
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Flow ") LCD_STR_N2;
139
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Flow ") LCD_STR_N3;
140
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Flow ") LCD_STR_N4;
141
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Flow ") LCD_STR_N5;
104
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Flow ~");
142 105
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Control");
143 106
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
144 107
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -147,31 +110,16 @@ namespace Language_nl {
147 110
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Aan");
148 111
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Uit");
149 112
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Selecteer");
150
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Selecteer ") LCD_STR_E0;
151
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Selecteer ") LCD_STR_E1;
152
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Selecteer ") LCD_STR_E2;
153
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Selecteer ") LCD_STR_E3;
154
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Selecteer ") LCD_STR_E4;
155
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Selecteer ") LCD_STR_E5;
113
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Selecteer *");
156 114
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Versn");
157 115
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatuur");
158 116
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Beweging");
159 117
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
160 118
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Advance K");        //accepted english dutch
161
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("Advance K ") LCD_STR_E0; //accepted english dutch
162
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("Advance K ") LCD_STR_E1; //accepted english dutch
163
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("Advance K ") LCD_STR_E2; //accepted english dutch
164
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("Advance K ") LCD_STR_E3; //accepted english dutch
165
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("Advance K ") LCD_STR_E4; //accepted english dutch
166
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("Advance K ") LCD_STR_E5; //accepted english dutch
119
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Advance K *"); //accepted english dutch
167 120
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E in mm3");
168 121
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Fil. Dia.");
169
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Fil. Dia. ") LCD_STR_E0;
170
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Fil. Dia. ") LCD_STR_E1;
171
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Fil. Dia. ") LCD_STR_E2;
172
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Fil. Dia. ") LCD_STR_E3;
173
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Fil. Dia. ") LCD_STR_E4;
174
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Fil. Dia. ") LCD_STR_E5;
122
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Fil. Dia. *");
175 123
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD contrast");
176 124
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Geheugen opslaan");
177 125
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Geheugen laden");
@@ -200,12 +148,7 @@ namespace Language_nl {
200 148
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("UnRet  F");
201 149
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("AutoRetr.");
202 150
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Verv. Filament");
203
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Verv. Filament ") LCD_STR_E0;
204
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Verv. Filament ") LCD_STR_E1;
205
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Verv. Filament ") LCD_STR_E2;
206
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Verv. Filament ") LCD_STR_E3;
207
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Verv. Filament ") LCD_STR_E4;
208
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Verv. Filament ") LCD_STR_E5;
151
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Verv. Filament *");
209 152
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Init. SD kaart");
210 153
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Verv. SD Kaart");
211 154
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Z probe uit. bed");

+ 27
- 149
Marlin/src/lcd/language/language_pl.h 查看文件

@@ -72,36 +72,16 @@ namespace Language_pl {
72 72
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Poz. zerowa ust.");
73 73
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Ustaw punkt zero");
74 74
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Rozgrzej ") PREHEAT_1_LABEL;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N0;
76
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N1;
77
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N2;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N3;
79
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N4;
80
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " " LCD_STR_N5;
75
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " ~";
81 76
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza");
82
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N0;
83
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N1;
84
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N2;
85
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N3;
86
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N4;
87
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ") LCD_STR_N5;
77
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ~");
88 78
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" wsz.");
89 79
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" stół");
90 80
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" ustaw.");
91 81
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Rozgrzej ") PREHEAT_2_LABEL;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N0;
93
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N1;
94
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N2;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N3;
96
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N4;
97
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " " LCD_STR_N5;
82
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Rozgrzej ") PREHEAT_2_LABEL " ~";
98 83
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza");
99
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N0;
100
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N1;
101
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N2;
102
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N3;
103
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N4;
104
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ") LCD_STR_N5;
84
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" Dysza ~");
105 85
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" wsz.");
106 86
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" stół");
107 87
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Rozgrzej ") PREHEAT_2_LABEL _UxGT(" ustaw.");
@@ -247,12 +227,7 @@ namespace Language_pl {
247 227
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Przesuń w Y");
248 228
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Przesuń w Z");
249 229
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Ekstruzja (os E)");
250
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Ekstruzja (os E) ") LCD_STR_E0;
251
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Ekstruzja (os E) ") LCD_STR_E1;
252
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Ekstruzja (os E) ") LCD_STR_E2;
253
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Ekstruzja (os E) ") LCD_STR_E3;
254
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Ekstruzja (os E) ") LCD_STR_E4;
255
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Ekstruzja (os E) ") LCD_STR_E5;
230
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Ekstruzja (os E) *");
256 231
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Dysza za zimna");
257 232
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Przesuń co %smm");
258 233
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Przesuń co .1mm");
@@ -261,29 +236,15 @@ namespace Language_pl {
261 236
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Predkość");
262 237
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Stół Z");
263 238
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Dysza");
264
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Dysza ") LCD_STR_N0;
265
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Dysza ") LCD_STR_N1;
266
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Dysza ") LCD_STR_N2;
267
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Dysza ") LCD_STR_N3;
268
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Dysza ") LCD_STR_N4;
269
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Dysza ") LCD_STR_N5;
239
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Dysza ~");
270 240
   PROGMEM Language_Str MSG_BED                             = _UxGT("Stół");
271 241
   PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Obudowa");
272 242
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Obroty wiatraka");
273
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Obroty wiatraka 1");
274
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Obroty wiatraka 2");
275
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Obroty wiatraka 3");
243
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Obroty wiatraka =");
276 244
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Obroty dodatkowego wiatraka");
277
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Obroty dodatkowego wiatraka 1");
278
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Obroty dodatkowego wiatraka 2");
279
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Obroty dodatkowego wiatraka 3");
245
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Obroty dodatkowego wiatraka =");
280 246
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Przepływ");
281
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Przepływ ") LCD_STR_N0;
282
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Przepływ ") LCD_STR_N1;
283
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Przepływ ") LCD_STR_N2;
284
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Przepływ ") LCD_STR_N3;
285
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Przepływ ") LCD_STR_N4;
286
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Przepływ ") LCD_STR_N5;
247
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Przepływ ~");
287 248
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Ustawienia");
288 249
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
289 250
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -291,48 +252,18 @@ namespace Language_pl {
291 252
   PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Auto. temperatura");
292 253
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Wł.");
293 254
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Wył.");
294
-  PROGMEM Language_Str MSG_AUTOTUNE_PID                    = _UxGT("PID Autostrojenie");
295
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E0                 = _UxGT("PID Autostrojenie ") LCD_STR_E0;
296
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E1                 = _UxGT("PID Autostrojenie ") LCD_STR_E1;
297
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E2                 = _UxGT("PID Autostrojenie ") LCD_STR_E2;
298
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E3                 = _UxGT("PID Autostrojenie ") LCD_STR_E3;
299
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E4                 = _UxGT("PID Autostrojenie ") LCD_STR_E4;
300
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E5                 = _UxGT("PID Autostrojenie ") LCD_STR_E5;
255
+  PROGMEM Language_Str MSG_PID_AUTOTUNE                    = _UxGT("PID Autostrojenie");
256
+  PROGMEM Language_Str MSG_PID_AUTOTUNE_E                  = _UxGT("PID Autostrojenie *");
301 257
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
302
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
303
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
304
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
305
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
306
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
307
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
258
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
308 259
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
309
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
310
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
311
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
312
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
313
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
314
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
260
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
315 261
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
316
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
317
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
318
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
319
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
320
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
321
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
262
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
322 263
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
323
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
324
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
325
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
326
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
327
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
328
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
264
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
329 265
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Wybierz");
330
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Wybierz ") LCD_STR_E0;
331
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Wybierz ") LCD_STR_E1;
332
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Wybierz ") LCD_STR_E2;
333
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Wybierz ") LCD_STR_E3;
334
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Wybierz ") LCD_STR_E4;
335
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Wybierz ") LCD_STR_E5;
266
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Wybierz *");
336 267
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Przyspieszenie");
337 268
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Zryw");
338 269
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("Zryw V") LCD_STR_A;
@@ -345,12 +276,7 @@ namespace Language_pl {
345 276
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vmax ") LCD_STR_B;
346 277
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vmax ") LCD_STR_C;
347 278
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vmax ") LCD_STR_E;
348
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("Vmax ") LCD_STR_E0;
349
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("Vmax ") LCD_STR_E1;
350
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("Vmax ") LCD_STR_E2;
351
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("Vmax ") LCD_STR_E3;
352
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("Vmax ") LCD_STR_E4;
353
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("Vmax ") LCD_STR_E5;
279
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vmax *");
354 280
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vmin");
355 281
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vskok min");
356 282
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Przyspieszenie (A)");
@@ -358,12 +284,7 @@ namespace Language_pl {
358 284
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Amax ") LCD_STR_B;
359 285
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Amax ") LCD_STR_C;
360 286
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Amax ") LCD_STR_E;
361
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Amax ") LCD_STR_E0;
362
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Amax ") LCD_STR_E1;
363
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Amax ") LCD_STR_E2;
364
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Amax ") LCD_STR_E3;
365
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Amax ") LCD_STR_E4;
366
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Amax ") LCD_STR_E5;
287
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Amax *");
367 288
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-wycofanie");
368 289
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-przesuń.");
369 290
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("kroki/mm");
@@ -371,32 +292,17 @@ namespace Language_pl {
371 292
   PROGMEM Language_Str MSG_B_STEPS                         = _UxGT("kroki") LCD_STR_B _UxGT("/mm");
372 293
   PROGMEM Language_Str MSG_C_STEPS                         = _UxGT("kroki") LCD_STR_C _UxGT("/mm");
373 294
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("krokiE/mm");
374
-  PROGMEM Language_Str MSG_E0_STEPS                        = _UxGT("kroki ") LCD_STR_E0 _UxGT("/mm");
375
-  PROGMEM Language_Str MSG_E1_STEPS                        = _UxGT("kroki ") LCD_STR_E1 _UxGT("/mm");
376
-  PROGMEM Language_Str MSG_E2_STEPS                        = _UxGT("kroki ") LCD_STR_E2 _UxGT("/mm");
377
-  PROGMEM Language_Str MSG_E3_STEPS                        = _UxGT("kroki ") LCD_STR_E3 _UxGT("/mm");
378
-  PROGMEM Language_Str MSG_E4_STEPS                        = _UxGT("kroki ") LCD_STR_E4 _UxGT("/mm");
379
-  PROGMEM Language_Str MSG_E5_STEPS                        = _UxGT("kroki ") LCD_STR_E5 _UxGT("/mm");
295
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("kroki */mm");
380 296
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatura");
381 297
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Ruch");
382 298
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
383 299
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E w mm3");
384 300
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Śr. fil.");
385
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Śr. fil. ") LCD_STR_E0;
386
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Śr. fil. ") LCD_STR_E1;
387
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Śr. fil. ") LCD_STR_E2;
388
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Śr. fil. ") LCD_STR_E3;
389
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Śr. fil. ") LCD_STR_E4;
390
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Śr. fil. ") LCD_STR_E5;
301
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Śr. fil. *");
391 302
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Wyładuj mm");
392 303
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Załaduj mm");
393 304
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Advance K");
394
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("Advance K ") LCD_STR_E0;
395
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("Advance K ") LCD_STR_E1;
396
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("Advance K ") LCD_STR_E2;
397
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("Advance K ") LCD_STR_E3;
398
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("Advance K ") LCD_STR_E4;
399
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("Advance K ") LCD_STR_E5;
305
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Advance K *");
400 306
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Kontrast LCD");
401 307
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Zapisz w pamięci");
402 308
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Wczytaj z pamięci");
@@ -446,26 +352,11 @@ namespace Language_pl {
446 352
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Prędkość wycofania");
447 353
   PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Dysza w oczekiwaniu");
448 354
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Zmień filament");
449
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Zmień filament ") LCD_STR_E0;
450
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Zmień filament ") LCD_STR_E1;
451
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Zmień filament ") LCD_STR_E2;
452
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Zmień filament ") LCD_STR_E3;
453
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Zmień filament ") LCD_STR_E4;
454
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Zmień filament ") LCD_STR_E5;
355
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Zmień filament *");
455 356
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Załaduj Filament");
456
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Załaduj Filament ") LCD_STR_E0;
457
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Załaduj Filament ") LCD_STR_E1;
458
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Załaduj Filament ") LCD_STR_E2;
459
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Załaduj Filament ") LCD_STR_E3;
460
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Załaduj Filament ") LCD_STR_E4;
461
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Załaduj Filament ") LCD_STR_E5;
357
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Załaduj Filament *");
462 358
   PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Wyładuj Filament");
463
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Wyładuj Filament ") LCD_STR_E0;
464
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Wyładuj Filament ") LCD_STR_E1;
465
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Wyładuj Filament ") LCD_STR_E2;
466
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Wyładuj Filament ") LCD_STR_E3;
467
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Wyładuj Filament ") LCD_STR_E4;
468
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Wyładuj Filament ") LCD_STR_E5;
359
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Wyładuj Filament *");
469 360
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Wyładuj wszystkie");
470 361
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Inicjal. karty SD");
471 362
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Zmiana karty SD");
@@ -601,32 +492,19 @@ namespace Language_pl {
601 492
   PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Załaduj wszystko");
602 493
   PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Załaduj do dyszy");
603 494
   PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Wysuń filament");
604
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0            = _UxGT("Wysuń filament 1");
605
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1            = _UxGT("Wysuń filament 2");
606
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2            = _UxGT("Wysuń filament 3");
607
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3            = _UxGT("Wysuń filament 4");
608
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4            = _UxGT("Wysuń filament 5");
495
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Wysuń filament ~");
609 496
   PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Wyładuj filament");
610 497
   PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Ładowanie fil. %i...");
611 498
   PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Wysuwanie fil. ...");
612 499
   PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Wyładowywanie fil....");
613 500
   PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Wszystko");
614
-  PROGMEM Language_Str MSG_MMU2_FILAMENT0                  = _UxGT("Filament 1");
615
-  PROGMEM Language_Str MSG_MMU2_FILAMENT1                  = _UxGT("Filament 2");
616
-  PROGMEM Language_Str MSG_MMU2_FILAMENT2                  = _UxGT("Filament 3");
617
-  PROGMEM Language_Str MSG_MMU2_FILAMENT3                  = _UxGT("Filament 4");
618
-  PROGMEM Language_Str MSG_MMU2_FILAMENT4                  = _UxGT("Filament 5");
501
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Filament ~");
619 502
   PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Resetuj MMU");
620 503
   PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Resetowanie MMU...");
621 504
   PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Usuń, kliknij");
622 505
 
623 506
   PROGMEM Language_Str MSG_MIX                             = _UxGT("Miks");
624
-  PROGMEM Language_Str MSG_MIX_COMPONENT_1                 = _UxGT("Komponent 1");
625
-  PROGMEM Language_Str MSG_MIX_COMPONENT_2                 = _UxGT("Komponent 2");
626
-  PROGMEM Language_Str MSG_MIX_COMPONENT_3                 = _UxGT("Komponent 3");
627
-  PROGMEM Language_Str MSG_MIX_COMPONENT_4                 = _UxGT("Komponent 4");
628
-  PROGMEM Language_Str MSG_MIX_COMPONENT_5                 = _UxGT("Komponent 5");
629
-  PROGMEM Language_Str MSG_MIX_COMPONENT_6                 = _UxGT("Komponent 6");
507
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Komponent ~");
630 508
   PROGMEM Language_Str MSG_MIXER                           = _UxGT("Mikser");
631 509
   PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Gradient");
632 510
   PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Pełny gradient");

+ 11
- 63
Marlin/src/lcd/language/language_pt.h 查看文件

@@ -55,36 +55,16 @@ namespace Language_pt {
55 55
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offsets aplicados");
56 56
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Definir origem");
57 57
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL;
58
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N0;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N1;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N2;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N3;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N4;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N5;
58
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " ~";
64 59
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico");
65
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N0;
66
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N1;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N2;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N3;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N4;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ") LCD_STR_N5;
60
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ~");
71 61
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Pre-aq. ") PREHEAT_1_LABEL _UxGT(" Tudo");
72 62
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Pre-aq. ") PREHEAT_1_LABEL _UxGT(" ") LCD_STR_THERMOMETER _UxGT("Base");
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Definições ") PREHEAT_1_LABEL;
74 64
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL;
75
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N0;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N1;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N2;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N3;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N4;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N5;
65
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " ~";
81 66
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico");
82
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N0;
83
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N1;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N2;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N3;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N4;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ") LCD_STR_N5;
67
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL _UxGT(" Bico ~");
88 68
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Pre-aq. ") PREHEAT_2_LABEL _UxGT(" Tudo");
89 69
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Pre-aq. ") PREHEAT_2_LABEL _UxGT(" ") LCD_STR_THERMOMETER _UxGT("Base");
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Definições ") PREHEAT_2_LABEL;
@@ -98,12 +78,7 @@ namespace Language_pt {
98 78
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Mover Y");
99 79
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Mover Z");
100 80
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Mover Extrusor");
101
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Mover Extrusor ") LCD_STR_E0;
102
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Mover Extrusor ") LCD_STR_E1;
103
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Mover Extrusor ") LCD_STR_E2;
104
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Mover Extrusor ") LCD_STR_E3;
105
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Mover Extrusor ") LCD_STR_E4;
106
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Mover Extrusor ") LCD_STR_E5;
81
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Mover Extrusor *");
107 82
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Mover %smm");
108 83
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Mover 0.1mm");
109 84
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Mover 1mm");
@@ -111,24 +86,12 @@ namespace Language_pt {
111 86
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Velocidade");
112 87
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Base Z");
113 88
   PROGMEM Language_Str MSG_NOZZLE                          = " " LCD_STR_THERMOMETER _UxGT(" Bico");
114
-  PROGMEM Language_Str MSG_NOZZLE_0                        = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N0;
115
-  PROGMEM Language_Str MSG_NOZZLE_1                        = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N1;
116
-  PROGMEM Language_Str MSG_NOZZLE_2                        = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N2;
117
-  PROGMEM Language_Str MSG_NOZZLE_3                        = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N3;
118
-  PROGMEM Language_Str MSG_NOZZLE_4                        = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N4;
119
-  PROGMEM Language_Str MSG_NOZZLE_5                        = " " LCD_STR_THERMOMETER _UxGT(" Bico ") LCD_STR_N5;
89
+  PROGMEM Language_Str MSG_NOZZLE_N                        = " " LCD_STR_THERMOMETER _UxGT(" Bico ~");
120 90
   PROGMEM Language_Str MSG_BED                             = " " LCD_STR_THERMOMETER _UxGT(" Base");
121 91
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Vel. ventoinha");
122
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Vel. ventoinha 1");
123
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Vel. ventoinha 2");
124
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Vel. ventoinha 3");
92
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Vel. ventoinha =");
125 93
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Fluxo");
126
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Fluxo ") LCD_STR_N0;
127
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Fluxo ") LCD_STR_N1;
128
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Fluxo ") LCD_STR_N2;
129
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Fluxo ") LCD_STR_N3;
130
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Fluxo ") LCD_STR_N4;
131
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Fluxo ") LCD_STR_N5;
94
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Fluxo ~");
132 95
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Controlo");
133 96
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
134 97
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -140,23 +103,13 @@ namespace Language_pt {
140 103
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" passo/mm");
141 104
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" passo/mm");
142 105
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E passo/mm");
143
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" passo/mm");
144
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" passo/mm");
145
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" passo/mm");
146
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" passo/mm");
147
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" passo/mm");
148
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" passo/mm");
106
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* passo/mm");
149 107
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatura");
150 108
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Movimento");
151 109
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filamento");
152 110
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E em mm3");
153 111
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Fil. Diam.");
154
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Fil. Diam. ") LCD_STR_E0;
155
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Fil. Diam. ") LCD_STR_E1;
156
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Fil. Diam. ") LCD_STR_E2;
157
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Fil. Diam. ") LCD_STR_E3;
158
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Fil. Diam. ") LCD_STR_E4;
159
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Fil. Diam. ") LCD_STR_E5;
112
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Fil. Diam. *");
160 113
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Contraste");
161 114
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Guardar na memoria");
162 115
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Carregar da memoria");
@@ -185,12 +138,7 @@ namespace Language_pt {
185 138
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT(" DesRet  V");
186 139
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT(" AutoRetr.");
187 140
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Trocar filamento");
188
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Trocar filamento ") LCD_STR_E0;
189
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Trocar filamento ") LCD_STR_E1;
190
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Trocar filamento ") LCD_STR_E2;
191
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Trocar filamento ") LCD_STR_E3;
192
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Trocar filamento ") LCD_STR_E4;
193
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Trocar filamento ") LCD_STR_E5;
141
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Trocar filamento *");
194 142
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Inici. cartão SD");
195 143
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Trocar cartão SD");
196 144
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Sensor fora/base");

+ 16
- 90
Marlin/src/lcd/language/language_pt_br.h 查看文件

@@ -63,36 +63,16 @@ namespace Language_pt_br {
63 63
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Alteração aplicada");
64 64
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Ajustar Origem");
65 65
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL;
66
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N0;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N1;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N2;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N3;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N4;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " " LCD_STR_N5;
66
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " ~";
72 67
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Extrusora ") PREHEAT_1_LABEL;
73
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N0;
74
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N1;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N2;
76
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N3;
77
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N4;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Extrusora ") PREHEAT_1_LABEL " " LCD_STR_N5;
68
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Extrusora ") PREHEAT_1_LABEL " ~";
79 69
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Pre-aq.Todo ") PREHEAT_1_LABEL;
80 70
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Pre-aq.Mesa ") PREHEAT_1_LABEL;
81 71
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Ajustar ") PREHEAT_1_LABEL;
82 72
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL;
83
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N0;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N1;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N2;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N3;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N4;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " " LCD_STR_N5;
73
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Pre-aquecer ") PREHEAT_2_LABEL " ~";
89 74
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Extrusora ") PREHEAT_2_LABEL;
90
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N0;
91
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N1;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N2;
93
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N3;
94
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N4;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Extrusora ") PREHEAT_2_LABEL " " LCD_STR_N5;
75
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Extrusora ") PREHEAT_2_LABEL " ~";
96 76
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Pre-aq.Todo ") PREHEAT_2_LABEL;
97 77
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Pre-aq.Mesa ") PREHEAT_2_LABEL;
98 78
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Ajustar ") PREHEAT_2_LABEL;
@@ -215,12 +195,7 @@ namespace Language_pt_br {
215 195
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Mover Y");
216 196
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Mover Z");
217 197
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Mover Extrusor");
218
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Mover Extrusor ") LCD_STR_E0;
219
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Mover Extrusor ") LCD_STR_E1;
220
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Mover Extrusor ") LCD_STR_E2;
221
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Mover Extrusor ") LCD_STR_E3;
222
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Mover Extrusor ") LCD_STR_E4;
223
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Mover Extrusor ") LCD_STR_E5;
198
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Mover Extrusor *");
224 199
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Extrus. mto fria");
225 200
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Mover %smm");
226 201
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Mover 0.1mm");
@@ -229,28 +204,14 @@ namespace Language_pt_br {
229 204
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Velocidade");
230 205
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Base Z");
231 206
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Bocal");
232
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Bocal ") LCD_STR_N0;
233
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Bocal ") LCD_STR_N1;
234
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Bocal ") LCD_STR_N2;
235
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Bocal ") LCD_STR_N3;
236
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Bocal ") LCD_STR_N4;
237
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Bocal ") LCD_STR_N5;
207
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Bocal ~");
238 208
   PROGMEM Language_Str MSG_BED                             = _UxGT("Mesa");
239 209
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Vel. Ventoinha");
240
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Vel. Ventoinha 1");
241
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Vel. Ventoinha 2");
242
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Vel. Ventoinha 3");
210
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Vel. Ventoinha =");
243 211
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("+Vel. Ventoinha");
244
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("+Vel. Ventoinha 1");
245
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("+Vel. Ventoinha 2");
246
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("+Vel. Ventoinha 3");
212
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("+Vel. Ventoinha =");
247 213
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Vazão");
248
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Vazão ") LCD_STR_N0;
249
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Vazão ") LCD_STR_N1;
250
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Vazão ") LCD_STR_N2;
251
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Vazão ") LCD_STR_N3;
252
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Vazão ") LCD_STR_N4;
253
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Vazão ") LCD_STR_N5;
214
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Vazão ~");
254 215
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Controle");
255 216
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
256 217
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Máx");
@@ -259,12 +220,7 @@ namespace Language_pt_br {
259 220
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Ligado");
260 221
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Desligado");
261 222
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Selecionar");
262
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Selecionar ") LCD_STR_E0;
263
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Selecionar ") LCD_STR_E1;
264
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Selecionar ") LCD_STR_E2;
265
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Selecionar ") LCD_STR_E3;
266
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Selecionar ") LCD_STR_E4;
267
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Selecionar ") LCD_STR_E5;
223
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Selecionar *");
268 224
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Acel.");
269 225
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Arrancada");
270 226
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("arrancada V") LCD_STR_A;
@@ -282,32 +238,17 @@ namespace Language_pt_br {
282 238
   PROGMEM Language_Str MSG_B_STEPS                         = _UxGT("Passo ") LCD_STR_B _UxGT("/mm");
283 239
   PROGMEM Language_Str MSG_C_STEPS                         = _UxGT("Passo ") LCD_STR_C _UxGT("/mm");
284 240
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E/mm");
285
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT("/mm");
286
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT("/mm");
287
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT("/mm");
288
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT("/mm");
289
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT("/mm");
290
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT("/mm");
241
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*/mm");
291 242
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Temperatura");
292 243
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Movimento");
293 244
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filamento");
294 245
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("Extrusão em mm3");
295 246
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Diâmetro Fil.");
296
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Diâmetro Fil. ") LCD_STR_E0;
297
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Diâmetro Fil. ") LCD_STR_E1;
298
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Diâmetro Fil. ") LCD_STR_E2;
299
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Diâmetro Fil. ") LCD_STR_E3;
300
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Diâmetro Fil. ") LCD_STR_E4;
301
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Diâmetro Fil. ") LCD_STR_E5;
247
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Diâmetro Fil. *");
302 248
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Descarr. mm");
303 249
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Carregar mm");
304 250
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Avanço K");
305
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("Avanço K ") LCD_STR_E0;
306
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("Avanço K ") LCD_STR_E1;
307
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("Avanço K ") LCD_STR_E2;
308
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("Avanço K ") LCD_STR_E3;
309
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("Avanço K ") LCD_STR_E4;
310
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("Avanço K ") LCD_STR_E5;
251
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Avanço K *");
311 252
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Contraste");
312 253
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Salvar Configuração");
313 254
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Ler Configuração");
@@ -348,24 +289,9 @@ namespace Language_pt_br {
348 289
   PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPD          = _UxGT("Preparar Veloc.");
349 290
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Veloc. Retração");
350 291
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Trocar Filamento");
351
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Trocar Filamento ") LCD_STR_E0;
352
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Trocar Filamento ") LCD_STR_E1;
353
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Trocar Filamento ") LCD_STR_E2;
354
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Trocar Filamento ") LCD_STR_E3;
355
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Trocar Filamento ") LCD_STR_E4;
356
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Trocar Filamento ") LCD_STR_E5;
357
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Carregar Filamento ") LCD_STR_E0;
358
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Carregar Filamento ") LCD_STR_E1;
359
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Carregar Filamento ") LCD_STR_E2;
360
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Carregar Filamento ") LCD_STR_E3;
361
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Carregar Filamento ") LCD_STR_E4;
362
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Carregar Filamento ") LCD_STR_E5;
363
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Descarreg. Filamento ") LCD_STR_E0;
364
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Descarreg. Filamento ") LCD_STR_E1;
365
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Descarreg. Filamento ") LCD_STR_E2;
366
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Descarreg. Filamento ") LCD_STR_E3;
367
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Descarreg. Filamento ") LCD_STR_E4;
368
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Descarreg. Filamento ") LCD_STR_E5;
292
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Trocar Filamento *");
293
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Carregar Filamento *");
294
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Descarreg. Filamento *");
369 295
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Descarregar Todos");
370 296
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Iniciar SD");
371 297
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Trocar SD");

+ 22
- 126
Marlin/src/lcd/language/language_ru.h 查看文件

@@ -63,36 +63,16 @@ namespace Language_ru {
63 63
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Коррекции применены");
64 64
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Запомнить ноль");
65 65
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Преднагрев ") PREHEAT_1_LABEL;
66
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N0;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N1;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N2;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N3;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N4;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Преднагрев ") PREHEAT_1_LABEL " " LCD_STR_N5;
66
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Преднагрев ") PREHEAT_1_LABEL " ~";
72 67
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло");
73
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N0;
74
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N1;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N2;
76
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N3;
77
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N4;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ") LCD_STR_N5;
68
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" сопло ~");
79 69
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" всё");
80 70
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" стол");
81 71
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Преднагрев ") PREHEAT_1_LABEL _UxGT(" настр.");
82 72
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Преднагрев ") PREHEAT_2_LABEL;
83
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N0;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N1;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N2;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N3;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N4;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Преднагрев ") PREHEAT_2_LABEL " " LCD_STR_N5;
73
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Преднагрев ") PREHEAT_2_LABEL " ~";
89 74
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло");
90
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N0;
91
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N1;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N2;
93
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N3;
94
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N4;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ") LCD_STR_N5;
75
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" сопло ~");
96 76
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" всё");
97 77
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" стол");
98 78
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Преднагрев ") PREHEAT_2_LABEL _UxGT(" настр.");
@@ -214,12 +194,7 @@ namespace Language_ru {
214 194
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Движение по Y");
215 195
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Движение по Z");
216 196
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Экструдер");
217
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Экструдер ") LCD_STR_E0;
218
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Экструдер ") LCD_STR_E1;
219
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Экструдер ") LCD_STR_E2;
220
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Экструдер ") LCD_STR_E3;
221
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Экструдер ") LCD_STR_E4;
222
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Экструдер ") LCD_STR_E5;
197
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Экструдер *");
223 198
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Движение %sмм");
224 199
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Движение 0.1мм");
225 200
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Движение 1мм");
@@ -227,28 +202,14 @@ namespace Language_ru {
227 202
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Скорость");
228 203
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z стола");
229 204
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Сопло");
230
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Сопло ") LCD_STR_N0;
231
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Сопло ") LCD_STR_N1;
232
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Сопло ") LCD_STR_N2;
233
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Сопло ") LCD_STR_N3;
234
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Сопло ") LCD_STR_N4;
235
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Сопло ") LCD_STR_N5;
205
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Сопло ~");
236 206
   PROGMEM Language_Str MSG_BED                             = _UxGT("Стол");
237 207
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Кулер");
238
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Кулер 1");
239
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Кулер 2");
240
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Кулер 3");
208
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Кулер ~");
241 209
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Кулер доп.");
242
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Кулер доп. 1");
243
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Кулер доп. 2");
244
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Кулер доп. 3");
210
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Кулер доп. ~");
245 211
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Поток");
246
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Поток ") LCD_STR_N0;
247
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Поток ") LCD_STR_N1;
248
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Поток ") LCD_STR_N2;
249
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Поток ") LCD_STR_N3;
250
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Поток ") LCD_STR_N4;
251
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Поток ") LCD_STR_N5;
212
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Поток ~");
252 213
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Настройки");
253 214
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Мин");
254 215
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Макс");
@@ -257,40 +218,15 @@ namespace Language_ru {
257 218
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Вкл.");
258 219
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Выкл.");
259 220
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
260
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
261
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
262
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
263
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
264
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
265
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
221
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
266 222
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
267
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
268
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
269
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
270
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
271
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
272
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
223
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
273 224
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
274
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
275
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
276
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
277
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
278
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
279
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
225
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
280 226
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
281
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
282
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
283
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
284
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
285
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
286
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
227
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
287 228
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Выбор");
288
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Выбор ") LCD_STR_E0;
289
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Выбор ") LCD_STR_E1;
290
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Выбор ") LCD_STR_E2;
291
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Выбор ") LCD_STR_E3;
292
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Выбор ") LCD_STR_E4;
293
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Выбор ") LCD_STR_E5;
229
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Выбор *");
294 230
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Ускорение");
295 231
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Рывок");
296 232
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-рывок");
@@ -302,12 +238,7 @@ namespace Language_ru {
302 238
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vмакс ") LCD_STR_B;
303 239
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vмакс ") LCD_STR_C;
304 240
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vмакс ") LCD_STR_E;
305
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("Vмакс ") LCD_STR_E0;
306
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("Vмакс ") LCD_STR_E1;
307
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("Vмакс ") LCD_STR_E2;
308
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("Vмакс ") LCD_STR_E3;
309
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("Vмакс ") LCD_STR_E4;
310
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("Vмакс ") LCD_STR_E5;
241
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vмакс *");
311 242
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vмин");
312 243
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vпутеш. мин");
313 244
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Ускорение");
@@ -315,12 +246,7 @@ namespace Language_ru {
315 246
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Aмакс ") LCD_STR_B;
316 247
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Aмакс ") LCD_STR_C;
317 248
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Aмакс ") LCD_STR_E;
318
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Aмакс ") LCD_STR_E0;
319
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Aмакс ") LCD_STR_E1;
320
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Aмакс ") LCD_STR_E2;
321
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Aмакс ") LCD_STR_E3;
322
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Aмакс ") LCD_STR_E4;
323
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Aмакс ") LCD_STR_E5;
249
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Aмакс *");
324 250
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-втягивание");
325 251
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-путеш.");
326 252
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Шаг/мм");
@@ -328,32 +254,17 @@ namespace Language_ru {
328 254
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("шаг/мм");
329 255
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("шаг/мм");
330 256
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Eшаг/мм");
331
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT("шаг/мм");
332
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT("шаг/мм");
333
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT("шаг/мм");
334
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT("шаг/мм");
335
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT("шаг/мм");
336
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT("шаг/мм");
257
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*шаг/мм");
337 258
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Температура");
338 259
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Движение");
339 260
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Филамент");
340 261
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E в мм3");
341 262
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Диаметр филамента");
342
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Диаметр филамента ") LCD_STR_E0;
343
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Диаметр филамента ") LCD_STR_E1;
344
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Диаметр филамента ") LCD_STR_E2;
345
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Диаметр филамента ") LCD_STR_E3;
346
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Диаметр филамента ") LCD_STR_E4;
347
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Диаметр филамента ") LCD_STR_E5;
263
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Диаметр филамента *");
348 264
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Загрузка мм");
349 265
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Выгрузка мм");
350 266
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("K продвижения");
351
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("K продвижения ") LCD_STR_E0;
352
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("K продвижения ") LCD_STR_E1;
353
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("K продвижения ") LCD_STR_E2;
354
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("K продвижения ") LCD_STR_E3;
355
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("K продвижения ") LCD_STR_E4;
356
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("K продвижения ") LCD_STR_E5;
267
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("K продвижения *");
357 268
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Контраст LCD");
358 269
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Сохранить настройки");
359 270
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Загрузить настройки");
@@ -404,25 +315,10 @@ namespace Language_ru {
404 315
   // TODO: Singlenozzle, nozzle standby
405 316
 
406 317
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Смена филамента");
407
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Смена филамента ") LCD_STR_E0;
408
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Смена филамента ") LCD_STR_E1;
409
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Смена филамента ") LCD_STR_E2;
410
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Смена филамента ") LCD_STR_E3;
411
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Смена филамента ") LCD_STR_E4;
412
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Смена филамента ") LCD_STR_E5;
318
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Смена филамента *");
413 319
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Загрузка филамента");
414
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Загрузка филамента ") LCD_STR_E0;
415
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Загрузка филамента ") LCD_STR_E1;
416
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Загрузка филамента ") LCD_STR_E2;
417
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Загрузка филамента ") LCD_STR_E3;
418
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Загрузка филамента ") LCD_STR_E4;
419
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Загрузка филамента ") LCD_STR_E5;
420
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Выгрузка филамента ") LCD_STR_E0;
421
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Выгрузка филамента ") LCD_STR_E1;
422
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Выгрузка филамента ") LCD_STR_E2;
423
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Выгрузка филамента ") LCD_STR_E3;
424
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Выгрузка филамента ") LCD_STR_E4;
425
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Выгрузка филамента ") LCD_STR_E5;
320
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Загрузка филамента *");
321
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Выгрузка филамента *");
426 322
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Выгрузить всё");
427 323
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Активировать SD");
428 324
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Сменить SD карту");

+ 27
- 149
Marlin/src/lcd/language/language_sk.h 查看文件

@@ -75,36 +75,16 @@ namespace Language_sk {
75 75
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Ofsety nastavené");
76 76
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Nastaviť začiatok");
77 77
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Zahriať ") PREHEAT_1_LABEL;
78
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N0;
79
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N1;
80
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N2;
81
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N3;
82
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N4;
83
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Zahriať ") PREHEAT_1_LABEL " " LCD_STR_N5;
78
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Zahriať ") PREHEAT_1_LABEL " ~";
84 79
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend");
85
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N0;
86
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N1;
87
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N2;
88
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N3;
89
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N4;
90
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ") LCD_STR_N5;
80
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ~");
91 81
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" všetko");
92 82
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" podlož");
93 83
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" nast.");
94 84
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Zahriať ") PREHEAT_2_LABEL;
95
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N0;
96
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N1;
97
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N2;
98
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N3;
99
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N4;
100
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Zahriať ") PREHEAT_2_LABEL " " LCD_STR_N5;
85
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Zahriať ") PREHEAT_2_LABEL " ~";
101 86
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend");
102
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N0;
103
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N1;
104
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N2;
105
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N3;
106
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N4;
107
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ") LCD_STR_N5;
87
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" hotend ~");
108 88
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" všetko");
109 89
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" podlož");
110 90
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Zahriať ") PREHEAT_2_LABEL _UxGT(" nast.");
@@ -250,12 +230,7 @@ namespace Language_sk {
250 230
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Posunúť Y");
251 231
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Posunúť Z");
252 232
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Extrudér");
253
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Extrudér ") LCD_STR_E0;
254
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Extrudér ") LCD_STR_E1;
255
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Extrudér ") LCD_STR_E2;
256
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Extrudér ") LCD_STR_E3;
257
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Extrudér ") LCD_STR_E4;
258
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Extrudér ") LCD_STR_E5;
233
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Extrudér *");
259 234
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Hotend je studený");
260 235
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Posunúť o %smm");
261 236
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Posunúť o 0,1mm");
@@ -264,29 +239,15 @@ namespace Language_sk {
264 239
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Rýchlosť");
265 240
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Výška podl.");
266 241
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Tryska");
267
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Tryska ") LCD_STR_N0;
268
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Tryska ") LCD_STR_N1;
269
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Tryska ") LCD_STR_N2;
270
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Tryska ") LCD_STR_N3;
271
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Tryska ") LCD_STR_N4;
272
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Tryska ") LCD_STR_N5;
242
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Tryska ~");
273 243
   PROGMEM Language_Str MSG_BED                             = _UxGT("Podložka");
274 244
   PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Komora");
275 245
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Rýchlosť vent.");
276
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Rýchlosť vent. 1");
277
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Rýchlosť vent. 2");
278
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Rýchlosť vent. 3");
246
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Rýchlosť vent. =");
279 247
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Rýchlosť ex. vent.");
280
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Rýchlosť ex. vent. 1");
281
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Rýchlosť ex. vent. 2");
282
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Rýchlosť ex. vent. 3");
248
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Rýchlosť ex. vent. =");
283 249
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Prietok");
284
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Prietok ") LCD_STR_N0;
285
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Prietok ") LCD_STR_N1;
286
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Prietok ") LCD_STR_N2;
287
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Prietok ") LCD_STR_N3;
288
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Prietok ") LCD_STR_N4;
289
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Prietok ") LCD_STR_N5;
250
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Prietok ~");
290 251
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Ovládanie");
291 252
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
292 253
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -294,48 +255,18 @@ namespace Language_sk {
294 255
   PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Auto-teplota");
295 256
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Zap");
296 257
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Vyp");
297
-  PROGMEM Language_Str MSG_AUTOTUNE_PID                    = _UxGT("PID kalibrácia");
298
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E0                 = _UxGT("PID kalibrácia ") LCD_STR_E0;
299
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E1                 = _UxGT("PID kalibrácia ") LCD_STR_E1;
300
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E2                 = _UxGT("PID kalibrácia ") LCD_STR_E2;
301
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E3                 = _UxGT("PID kalibrácia ") LCD_STR_E3;
302
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E4                 = _UxGT("PID kalibrácia ") LCD_STR_E4;
303
-  PROGMEM Language_Str MSG_AUTOTUNE_PID_E5                 = _UxGT("PID kalibrácia ") LCD_STR_E5;
258
+  PROGMEM Language_Str MSG_PID_AUTOTUNE                    = _UxGT("PID kalibrácia");
259
+  PROGMEM Language_Str MSG_PID_AUTOTUNE_E                  = _UxGT("PID kalibrácia *");
304 260
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
305
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
306
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
307
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
308
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
309
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
310
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
261
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
311 262
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
312
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
313
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
314
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
315
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
316
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
317
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
263
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
318 264
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
319
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
320
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
321
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
322
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
323
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
324
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
265
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
325 266
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
326
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
327
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
328
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
329
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
330
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
331
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
267
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
332 268
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Vybrať");
333
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Vybrať ") LCD_STR_E0;
334
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Vybrať ") LCD_STR_E1;
335
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Vybrať ") LCD_STR_E2;
336
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Vybrať ") LCD_STR_E3;
337
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Vybrať ") LCD_STR_E4;
338
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Vybrať ") LCD_STR_E5;
269
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Vybrať *");
339 270
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Zrýchlenie");
340 271
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Skok");
341 272
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-skok");
@@ -348,12 +279,7 @@ namespace Language_sk {
348 279
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vmax ") LCD_STR_B;
349 280
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vmax ") LCD_STR_C;
350 281
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vmax ") LCD_STR_E;
351
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("Vmax ") LCD_STR_E0;
352
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("Vmax ") LCD_STR_E1;
353
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("Vmax ") LCD_STR_E2;
354
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("Vmax ") LCD_STR_E3;
355
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("Vmax ") LCD_STR_E4;
356
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("Vmax ") LCD_STR_E5;
282
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vmax *");
357 283
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vmin");
358 284
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("VPrej Min");
359 285
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Akcelerácia");
@@ -361,12 +287,7 @@ namespace Language_sk {
361 287
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Amax ") LCD_STR_B;
362 288
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Amax ") LCD_STR_C;
363 289
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Amax ") LCD_STR_E;
364
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Amax ") LCD_STR_E0;
365
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Amax ") LCD_STR_E1;
366
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Amax ") LCD_STR_E2;
367
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Amax ") LCD_STR_E3;
368
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Amax ") LCD_STR_E4;
369
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Amax ") LCD_STR_E5;
290
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Amax *");
370 291
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-retrakt");
371 292
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-prejazd");
372 293
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Kroky/mm");
@@ -374,32 +295,17 @@ namespace Language_sk {
374 295
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("krokov/mm");
375 296
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("krokov/mm");
376 297
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Ekrokov/mm");
377
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT("krokov/mm");
378
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT("krokov/mm");
379
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT("krokov/mm");
380
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT("krokov/mm");
381
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT("krokov/mm");
382
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT("krokov/mm");
298
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*krokov/mm");
383 299
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Teplota");
384 300
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Pohyb");
385 301
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filament");
386 302
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E na mm³");
387 303
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Priem. fil.");
388
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Priem. fil. ") LCD_STR_E0;
389
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Priem. fil. ") LCD_STR_E1;
390
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Priem. fil. ") LCD_STR_E2;
391
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Priem. fil. ") LCD_STR_E3;
392
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Priem. fil. ") LCD_STR_E4;
393
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Priem. fil. ") LCD_STR_E5;
304
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Priem. fil. *");
394 305
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Vysunúť mm");
395 306
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Zaviesť mm");
396 307
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("K pre posun");
397
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("K pre posun ") LCD_STR_E0;
398
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("K pre posun ") LCD_STR_E1;
399
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("K pre posun ") LCD_STR_E2;
400
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("K pre posun ") LCD_STR_E3;
401
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("K pre posun ") LCD_STR_E4;
402
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("K pre posun ") LCD_STR_E5;
308
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("K pre posun *");
403 309
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Kontrast LCD");
404 310
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Uložiť nastavenie");
405 311
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Načítať nastavenie");
@@ -450,26 +356,11 @@ namespace Language_sk {
450 356
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Rýchl. retrakcie");
451 357
   PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Záložná tryska");
452 358
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Vymeniť filament");
453
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Vymeniť filament ") LCD_STR_E0;
454
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Vymeniť filament ") LCD_STR_E1;
455
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Vymeniť filament ") LCD_STR_E2;
456
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Vymeniť filament ") LCD_STR_E3;
457
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Vymeniť filament ") LCD_STR_E4;
458
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Vymeniť filament ") LCD_STR_E5;
359
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Vymeniť filament *");
459 360
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Zaviesť filament");
460
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Zaviesť filament ") LCD_STR_E0;
461
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Zaviesť filament ") LCD_STR_E1;
462
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Zaviesť filament ") LCD_STR_E2;
463
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Zaviesť filament ") LCD_STR_E3;
464
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Zaviesť filament ") LCD_STR_E4;
465
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Zaviesť filament ") LCD_STR_E5;
361
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Zaviesť filament *");
466 362
   PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Vysunúť filament");
467
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Vysunúť filament ") LCD_STR_E0;
468
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Vysunúť filament ") LCD_STR_E1;
469
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Vysunúť filament ") LCD_STR_E2;
470
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Vysunúť filament ") LCD_STR_E3;
471
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Vysunúť filament ") LCD_STR_E4;
472
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Vysunúť filament ") LCD_STR_E5;
363
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Vysunúť filament *");
473 364
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Vysunúť všetko");
474 365
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Načítať SD kartu");
475 366
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Vymeniť SD kartu");
@@ -605,32 +496,19 @@ namespace Language_sk {
605 496
   PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Zaviesť všetky");
606 497
   PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Zaviesť po trysku");
607 498
   PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Vysunúť filament");
608
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT0            = _UxGT("Vysunúť filament 1");
609
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT1            = _UxGT("Vysunúť filament 2");
610
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT2            = _UxGT("Vysunúť filament 3");
611
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT3            = _UxGT("Vysunúť filament 4");
612
-  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT4            = _UxGT("Vysunúť filament 5");
499
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Vysunúť filament ~");
613 500
   PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Vyňať filament");
614 501
   PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Zavádzanie fil. %i...");
615 502
   PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Vysúvanie fil. ...");
616 503
   PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Vysúvanie fil. ...");
617 504
   PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Všetky");
618
-  PROGMEM Language_Str MSG_MMU2_FILAMENT0                  = _UxGT("Filament 1");
619
-  PROGMEM Language_Str MSG_MMU2_FILAMENT1                  = _UxGT("Filament 2");
620
-  PROGMEM Language_Str MSG_MMU2_FILAMENT2                  = _UxGT("Filament 3");
621
-  PROGMEM Language_Str MSG_MMU2_FILAMENT3                  = _UxGT("Filament 4");
622
-  PROGMEM Language_Str MSG_MMU2_FILAMENT4                  = _UxGT("Filament 5");
505
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Filament ~");
623 506
   PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Reštartovať MMU");
624 507
   PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Reštart MMU...");
625 508
   PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Odstráňte, kliknite");
626 509
 
627 510
   PROGMEM Language_Str MSG_MIX                             = _UxGT("Mix");
628
-  PROGMEM Language_Str MSG_MIX_COMPONENT_1                 = _UxGT("Zložka 1");
629
-  PROGMEM Language_Str MSG_MIX_COMPONENT_2                 = _UxGT("Zložka 2");
630
-  PROGMEM Language_Str MSG_MIX_COMPONENT_3                 = _UxGT("Zložka 3");
631
-  PROGMEM Language_Str MSG_MIX_COMPONENT_4                 = _UxGT("Zložka 4");
632
-  PROGMEM Language_Str MSG_MIX_COMPONENT_5                 = _UxGT("Zložka 5");
633
-  PROGMEM Language_Str MSG_MIX_COMPONENT_6                 = _UxGT("Zložka 6");
511
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Zložka ~");
634 512
   PROGMEM Language_Str MSG_MIXER                           = _UxGT("Mixér");
635 513
   PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Gradient");
636 514
   PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Plný gradient");

+ 6
- 27
Marlin/src/lcd/language/language_test.h 查看文件

@@ -152,16 +152,9 @@ namespace Language_test {
152 152
     PROGMEM Language_Str MSG_RESTORE_FAILSAFE                = STRG_OKTAL_7;
153 153
 
154 154
     PROGMEM Language_Str MSG_NOZZLE                          = STRG_OKTAL_8;
155
-    PROGMEM Language_Str MSG_NOZZLE_0                        = STRG_OKTAL_8 " " LCD_STR_N0;
156
-    PROGMEM Language_Str MSG_NOZZLE_1                        = STRG_OKTAL_8 " " LCD_STR_N1;
157
-    PROGMEM Language_Str MSG_NOZZLE_2                        = STRG_OKTAL_8 " " LCD_STR_N2;
158
-    PROGMEM Language_Str MSG_NOZZLE_3                        = STRG_OKTAL_8 " " LCD_STR_N3;
159
-    PROGMEM Language_Str MSG_NOZZLE_4                        = STRG_OKTAL_8 " " LCD_STR_N4;
160
-    PROGMEM Language_Str MSG_NOZZLE_5                        = STRG_OKTAL_8 " " LCD_STR_N5;
155
+    PROGMEM Language_Str MSG_NOZZLE_N                        = STRG_OKTAL_8 " ~";
161 156
     PROGMEM Language_Str MSG_FAN_SPEED                       = STRG_OKTAL_9;
162
-    PROGMEM Language_Str MSG_FAN_SPEED_1                     = STRG_OKTAL_9;
163
-    PROGMEM Language_Str MSG_FAN_SPEED_2                     = STRG_OKTAL_9;
164
-    PROGMEM Language_Str MSG_FAN_SPEED_3                     = STRG_OKTAL_9;
157
+    PROGMEM Language_Str MSG_FAN_SPEED_N                     = STRG_OKTAL_9;
165 158
     PROGMEM Language_Str MSG_AUTOTEMP                        = STRG_OKTAL_a;
166 159
     PROGMEM Language_Str MSG_MIN                             = STRG_OKTAL_b;
167 160
     PROGMEM Language_Str MSG_MAX                             = STRG_OKTAL_c;
@@ -196,15 +189,8 @@ namespace Language_test {
196 189
     PROGMEM Language_Str MSG_RESTORE_FAILSAFE                = STRG_OKTAL_7;
197 190
 
198 191
     PROGMEM Language_Str MSG_NOZZLE                          = STRG_OKTAL_8;
199
-    PROGMEM Language_Str MSG_NOZZLE_0                        = STRG_OKTAL_8 " " LCD_STR_N0;
200
-    PROGMEM Language_Str MSG_NOZZLE_1                        = STRG_OKTAL_8 " " LCD_STR_N1;
201
-    PROGMEM Language_Str MSG_NOZZLE_2                        = STRG_OKTAL_8 " " LCD_STR_N2;
202
-    PROGMEM Language_Str MSG_NOZZLE_3                        = STRG_OKTAL_8 " " LCD_STR_N3;
203
-    PROGMEM Language_Str MSG_NOZZLE_4                        = STRG_OKTAL_8 " " LCD_STR_N4;
204
-    PROGMEM Language_Str MSG_NOZZLE_5                        = STRG_OKTAL_8 " " LCD_STR_N5;
205
-    PROGMEM Language_Str MSG_FAN_SPEED_1                     = STRG_OKTAL_9;
206
-    PROGMEM Language_Str MSG_FAN_SPEED_2                     = STRG_OKTAL_9;
207
-    PROGMEM Language_Str MSG_FAN_SPEED_3                     = STRG_OKTAL_9;
192
+    PROGMEM Language_Str MSG_NOZZLE_N                        = STRG_OKTAL_8 " ~";
193
+    PROGMEM Language_Str MSG_FAN_SPEED_N                     = STRG_OKTAL_9;
208 194
     PROGMEM Language_Str MSG_AUTOTEMP                        = STRG_OKTAL_a;
209 195
     PROGMEM Language_Str MSG_MIN                             = STRG_OKTAL_b;
210 196
     PROGMEM Language_Str MSG_MAX                             = STRG_OKTAL_c;
@@ -239,15 +225,8 @@ namespace Language_test {
239 225
     PROGMEM Language_Str MSG_RESTORE_FAILSAFE                = STRG_OKTAL_7;
240 226
 
241 227
     PROGMEM Language_Str MSG_NOZZLE                          = STRG_OKTAL_8;
242
-    PROGMEM Language_Str MSG_NOZZLE_0                        = STRG_OKTAL_8 " " LCD_STR_N0;
243
-    PROGMEM Language_Str MSG_NOZZLE_1                        = STRG_OKTAL_8 " " LCD_STR_N1;
244
-    PROGMEM Language_Str MSG_NOZZLE_2                        = STRG_OKTAL_8 " " LCD_STR_N2;
245
-    PROGMEM Language_Str MSG_NOZZLE_3                        = STRG_OKTAL_8 " " LCD_STR_N3;
246
-    PROGMEM Language_Str MSG_NOZZLE_4                        = STRG_OKTAL_8 " " LCD_STR_N4;
247
-    PROGMEM Language_Str MSG_NOZZLE_5                        = STRG_OKTAL_8 " " LCD_STR_N5;
248
-    PROGMEM Language_Str MSG_FAN_SPEED_1                     = STRG_OKTAL_9;
249
-    PROGMEM Language_Str MSG_FAN_SPEED_2                     = STRG_OKTAL_9;
250
-    PROGMEM Language_Str MSG_FAN_SPEED_3                     = STRG_OKTAL_9;
228
+    PROGMEM Language_Str MSG_NOZZLE_N                        = STRG_OKTAL_8 " ~";
229
+    PROGMEM Language_Str MSG_FAN_SPEED_N                     = STRG_OKTAL_9;
251 230
     PROGMEM Language_Str MSG_AUTOTEMP                        = STRG_OKTAL_a;
252 231
     PROGMEM Language_Str MSG_MIN                             = STRG_OKTAL_b;
253 232
     PROGMEM Language_Str MSG_MAX                             = STRG_OKTAL_c;

+ 20
- 102
Marlin/src/lcd/language/language_tr.h 查看文件

@@ -68,36 +68,16 @@ namespace Language_tr {
68 68
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Offset Tamam");
69 69
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Sıfır Belirle");
70 70
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Ön Isınma ") PREHEAT_1_LABEL;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N0;
72
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N1;
73
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N2;
74
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N3;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N4;
76
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " " LCD_STR_N5;
71
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " ~";
77 72
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul");
78
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N0;
79
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N1;
80
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N2;
81
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N3;
82
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N4;
83
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ") LCD_STR_N5;
73
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ~");
84 74
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Tüm");
85 75
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Tabla");
86 76
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Ayarlar");
87 77
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Ön Isınma ") PREHEAT_2_LABEL;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N0;
89
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N1;
90
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N2;
91
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N3;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N4;
93
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " " LCD_STR_N5;
78
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Ön Isınma ") PREHEAT_2_LABEL " ~";
94 79
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul");
95
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N0;
96
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N1;
97
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N2;
98
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N3;
99
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N4;
100
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ") LCD_STR_N5;
80
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Nozul ~");
101 81
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Tüm");
102 82
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Tabla");
103 83
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Ön Isınma ") PREHEAT_2_LABEL _UxGT(" Ayarlar");
@@ -218,12 +198,7 @@ namespace Language_tr {
218 198
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Y Hareketi");
219 199
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Z Hareketi");
220 200
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Ekstruder");
221
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Ekstruder ") LCD_STR_E0;
222
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Ekstruder ") LCD_STR_E1;
223
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Ekstruder ") LCD_STR_E2;
224
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Ekstruder ") LCD_STR_E3;
225
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Ekstruder ") LCD_STR_E4;
226
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Ekstruder ") LCD_STR_E5;
201
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Ekstruder *");
227 202
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Nozul Çok Soğuk");
228 203
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("%smm");
229 204
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("0.1mm");
@@ -232,28 +207,14 @@ namespace Language_tr {
232 207
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Hız");
233 208
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z Mesafesi");
234 209
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Nozul");
235
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Nozul ") LCD_STR_N0;
236
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Nozul ") LCD_STR_N1;
237
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Nozul ") LCD_STR_N2;
238
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Nozul ") LCD_STR_N3;
239
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Nozul ") LCD_STR_N4;
240
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Nozul ") LCD_STR_N5;
210
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Nozul ~");
241 211
   PROGMEM Language_Str MSG_BED                             = _UxGT("Tabla");
242 212
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Fan Hızı");
243
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Fan Hızı 1");
244
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Fan Hızı 2");
245
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Fan Hızı 3");
213
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Fan Hızı =");
246 214
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Ekstra Fan Hızı");
247
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Ekstra Fan Hızı 1");
248
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Ekstra Fan Hızı 2");
249
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Ekstra Fan Hızı 3");
215
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Ekstra Fan Hızı =");
250 216
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Akış");
251
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Akış ") LCD_STR_N0;
252
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Akış ") LCD_STR_N1;
253
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Akış ") LCD_STR_N2;
254
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Akış ") LCD_STR_N3;
255
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Akış ") LCD_STR_N4;
256
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Akış ") LCD_STR_N5;
217
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Akış ~");
257 218
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Kontrol");
258 219
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Min");
259 220
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Max");
@@ -262,12 +223,7 @@ namespace Language_tr {
262 223
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Açık");
263 224
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Kapalı");
264 225
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Seç");
265
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Seç ") LCD_STR_E0;
266
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Seç ") LCD_STR_E1;
267
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Seç ") LCD_STR_E2;
268
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Seç ") LCD_STR_E3;
269
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Seç ") LCD_STR_E4;
270
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Seç ") LCD_STR_E5;
226
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Seç *");
271 227
   PROGMEM Language_Str MSG_ACC                             = _UxGT("İvme");
272 228
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Sarsım");
273 229
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-Sarsım");
@@ -280,12 +236,7 @@ namespace Language_tr {
280 236
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("HızVektör.max ") LCD_STR_B;
281 237
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("HızVektör.max ") LCD_STR_C;
282 238
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("HızVektör.max ") LCD_STR_E;
283
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("HızVektör.max ") LCD_STR_E0;
284
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("HızVektör.max ") LCD_STR_E1;
285
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("HızVektör.max ") LCD_STR_E2;
286
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("HızVektör.max ") LCD_STR_E3;
287
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("HızVektör.max ") LCD_STR_E4;
288
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("HızVektör.max ") LCD_STR_E5;
239
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("HızVektör.max *");
289 240
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("HızVektör.min");
290 241
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("HV.gezinme min");
291 242
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Ivme");
@@ -293,12 +244,7 @@ namespace Language_tr {
293 244
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Max. ivme ") LCD_STR_B;
294 245
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Max. ivme ") LCD_STR_C;
295 246
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Max. ivme ") LCD_STR_E;
296
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Max. ivme ") LCD_STR_E0;
297
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Max. ivme ") LCD_STR_E1;
298
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Max. ivme ") LCD_STR_E2;
299
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Max. ivme ") LCD_STR_E3;
300
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Max. ivme ") LCD_STR_E4;
301
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Max. ivme ") LCD_STR_E5;
247
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Max. ivme *");
302 248
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("Ivme-geri çekme");
303 249
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("Ivme-gezinme");
304 250
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Adım/mm");
@@ -306,32 +252,17 @@ namespace Language_tr {
306 252
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" adım/mm");
307 253
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" adım/mm");
308 254
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E adım/mm");
309
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT(" adım/mm");
310
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT(" adım/mm");
311
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT(" adım/mm");
312
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT(" adım/mm");
313
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT(" adım/mm");
314
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT(" adım/mm");
255
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* adım/mm");
315 256
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Sıcaklık");
316 257
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Hareket");
317 258
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Filaman");
318 259
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("Ekstrüzyon/mm³");
319 260
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Filaman Çapı");
320
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Filaman Çapı ") LCD_STR_E0;
321
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Filaman Çapı ") LCD_STR_E1;
322
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Filaman Çapı ") LCD_STR_E2;
323
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Filaman Çapı ") LCD_STR_E3;
324
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Filaman Çapı ") LCD_STR_E4;
325
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Filaman Çapı ") LCD_STR_E5;
261
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Filaman Çapı *");
326 262
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Çıkart mm");
327 263
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Yükle mm");
328 264
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("K İlerlet");
329
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("K İlerlet ") LCD_STR_E0;
330
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("K İlerlet ") LCD_STR_E1;
331
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("K İlerlet ") LCD_STR_E2;
332
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("K İlerlet ") LCD_STR_E3;
333
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("K İlerlet ") LCD_STR_E4;
334
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("K İlerlet ") LCD_STR_E5;
265
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("K İlerlet *");
335 266
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD Kontrast");
336 267
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Hafızaya Al");
337 268
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Hafızadan Yükle");
@@ -372,24 +303,11 @@ namespace Language_tr {
372 303
   PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPD          = _UxGT("Birincil Hız");
373 304
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Geri Çekme Hızı");
374 305
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Filaman Değiştir");
375
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Filaman Değiştir ") LCD_STR_E0;
376
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Filaman Değiştir ") LCD_STR_E1;
377
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Filaman Değiştir ") LCD_STR_E2;
378
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Filaman Değiştir ") LCD_STR_E3;
379
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Filaman Değiştir ") LCD_STR_E4;
380
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Filaman Değiştir ") LCD_STR_E5;
381
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Filaman Yükle ") LCD_STR_E0;
382
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Filaman Yükle ") LCD_STR_E1;
383
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Filaman Yükle ") LCD_STR_E2;
384
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Filaman Yükle ") LCD_STR_E3;
385
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Filaman Yükle ") LCD_STR_E4;
386
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Filaman Yükle ") LCD_STR_E5;
387
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Filaman Çıkart ") LCD_STR_E0;
388
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Filaman Çıkart ") LCD_STR_E1;
389
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Filaman Çıkart ") LCD_STR_E2;
390
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Filaman Çıkart ") LCD_STR_E3;
391
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Filaman Çıkart ") LCD_STR_E4;
392
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Filaman Çıkart ") LCD_STR_E5;
306
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Filaman Değiştir *");
307
+  PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Filaman Yükle");
308
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Filaman Yükle *");
309
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Filaman Çıkart");
310
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Filaman Çıkart *");
393 311
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Tümünü Çıkart");
394 312
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("SD Kart Başlatılıyor");
395 313
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("SD Kart Değiştir");

+ 18
- 105
Marlin/src/lcd/language/language_uk.h 查看文件

@@ -56,36 +56,16 @@ namespace Language_uk {
56 56
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Зміщення застос.");
57 57
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Встанов. початок");
58 58
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Нагрів ") PREHEAT_1_LABEL;
59
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N0;
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N1;
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N2;
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N3;
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N4;
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N5;
59
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Нагрів ") PREHEAT_1_LABEL " ~";
65 60
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло");
66
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N0;
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N1;
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N2;
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N3;
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N4;
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N5;
61
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ~");
72 62
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Все");
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Стіл");
74 64
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" нал.");
75 65
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Нагрів ") PREHEAT_2_LABEL;
76
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N0;
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N1;
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N2;
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N3;
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N4;
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N5;
66
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Нагрів ") PREHEAT_2_LABEL " ~";
82 67
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло");
83
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N0;
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N1;
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N2;
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N3;
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N4;
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N5;
68
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ~");
89 69
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Все");
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Стіл");
91 71
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" нал.");
@@ -101,12 +81,7 @@ namespace Language_uk {
101 81
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Рух по Y");
102 82
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Рух по Z");
103 83
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Екструдер");
104
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Екструдер ") LCD_STR_E0;
105
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Екструдер ") LCD_STR_E1;
106
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Екструдер ") LCD_STR_E2;
107
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Екструдер ") LCD_STR_E3;
108
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Екструдер ") LCD_STR_E4;
109
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Екструдер ") LCD_STR_E5;
84
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Екструдер *");
110 85
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Рух по %smm");
111 86
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Рух по 0.1mm");
112 87
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Рух по 1mm");
@@ -114,24 +89,12 @@ namespace Language_uk {
114 89
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Швидкість");
115 90
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z Столу");
116 91
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Сопло");
117
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Сопло ") LCD_STR_N0;
118
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Сопло ") LCD_STR_N1;
119
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Сопло ") LCD_STR_N2;
120
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Сопло ") LCD_STR_N3;
121
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Сопло ") LCD_STR_N4;
122
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Сопло ") LCD_STR_N5;
92
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Сопло ~");
123 93
   PROGMEM Language_Str MSG_BED                             = _UxGT("Стіл");
124 94
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Охолодж.");
125
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Охолодж. 1");
126
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Охолодж. 2");
127
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Охолодж. 3");
95
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Охолодж. =");
128 96
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Потік");
129
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Потік ") LCD_STR_N0;
130
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Потік ") LCD_STR_N1;
131
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Потік ") LCD_STR_N2;
132
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Потік ") LCD_STR_N3;
133
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Потік ") LCD_STR_N4;
134
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Потік ") LCD_STR_N5;
97
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Потік ~");
135 98
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Налаштування");
136 99
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Мін");
137 100
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Макс");
@@ -140,40 +103,15 @@ namespace Language_uk {
140 103
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Увімк.");
141 104
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Вимк.");
142 105
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
143
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
144
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
145
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
146
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
147
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
148
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
106
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
149 107
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
150
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
151
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
152
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
153
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
154
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
155
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
108
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
156 109
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
157
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
158
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
159
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
160
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
161
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
162
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
110
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
163 111
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
164
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
165
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
166
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
167
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
168
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
169
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
112
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
170 113
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Вибрати");
171
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Вибрати ") LCD_STR_E0;
172
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Вибрати ") LCD_STR_E1;
173
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Вибрати ") LCD_STR_E2;
174
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Вибрати ") LCD_STR_E3;
175
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Вибрати ") LCD_STR_E4;
176
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Вибрати ") LCD_STR_E5;
114
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Вибрати *");
177 115
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Приск.");
178 116
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Ривок");
179 117
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-ривок");
@@ -184,24 +122,14 @@ namespace Language_uk {
184 122
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vмакс") LCD_STR_B;
185 123
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vмакс") LCD_STR_C;
186 124
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vмакс") LCD_STR_E;
187
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("Vмакс ") LCD_STR_E0;
188
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("Vмакс ") LCD_STR_E1;
189
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("Vмакс ") LCD_STR_E2;
190
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("Vмакс ") LCD_STR_E3;
191
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("Vмакс ") LCD_STR_E4;
192
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("Vмакс ") LCD_STR_E5;
125
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vмакс *");
193 126
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vмін");
194 127
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vруху мін");
195 128
   PROGMEM Language_Str MSG_AMAX_A                          = _UxGT("Aмакс ") LCD_STR_A;
196 129
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Aмакс ") LCD_STR_B;
197 130
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Aмакс ") LCD_STR_C;
198 131
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Aмакс ") LCD_STR_E;
199
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Aмакс ") LCD_STR_E0;
200
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Aмакс ") LCD_STR_E1;
201
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Aмакс ") LCD_STR_E2;
202
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Aмакс ") LCD_STR_E3;
203
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Aмакс ") LCD_STR_E4;
204
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Aмакс ") LCD_STR_E5;
132
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Aмакс *");
205 133
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-втягув.");
206 134
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-руху");
207 135
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Кроків/мм");
@@ -209,23 +137,13 @@ namespace Language_uk {
209 137
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("кроків/мм");
210 138
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("кроків/мм");
211 139
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Eкроків/мм");
212
-  PROGMEM Language_Str MSG_E0_STEPS                        = LCD_STR_E0 _UxGT("кроків/мм");
213
-  PROGMEM Language_Str MSG_E1_STEPS                        = LCD_STR_E1 _UxGT("кроків/мм");
214
-  PROGMEM Language_Str MSG_E2_STEPS                        = LCD_STR_E2 _UxGT("кроків/мм");
215
-  PROGMEM Language_Str MSG_E3_STEPS                        = LCD_STR_E3 _UxGT("кроків/мм");
216
-  PROGMEM Language_Str MSG_E4_STEPS                        = LCD_STR_E4 _UxGT("кроків/мм");
217
-  PROGMEM Language_Str MSG_E5_STEPS                        = LCD_STR_E5 _UxGT("кроків/мм");
140
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*кроків/мм");
218 141
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Температура");
219 142
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Рух");
220 143
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Волокно");
221 144
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E в мм3");
222 145
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Діам. волок.");
223
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Діам. волок. ") LCD_STR_E0;
224
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Діам. волок. ") LCD_STR_E1;
225
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Діам. волок. ") LCD_STR_E2;
226
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Діам. волок. ") LCD_STR_E3;
227
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Діам. волок. ") LCD_STR_E4;
228
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Діам. волок. ") LCD_STR_E5;
146
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Діам. волок. *");
229 147
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("контраст LCD");
230 148
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Зберегти в ПЗП");
231 149
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Зчитати з ПЗП");
@@ -246,12 +164,7 @@ namespace Language_uk {
246 164
   PROGMEM Language_Str MSG_KILLED                          = _UxGT("ПЕРЕРВАНО. ");
247 165
   PROGMEM Language_Str MSG_STOPPED                         = _UxGT("ЗУПИНЕНО. ");
248 166
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Зміна волокна");
249
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Зміна волокна ") LCD_STR_E0;
250
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Зміна волокна ") LCD_STR_E1;
251
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Зміна волокна ") LCD_STR_E2;
252
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Зміна волокна ") LCD_STR_E3;
253
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Зміна волокна ") LCD_STR_E4;
254
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Зміна волокна ") LCD_STR_E5;
167
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Зміна волокна *");
255 168
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("Старт SD картки");
256 169
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Заміна SD карти");
257 170
   PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Z дет. не в межах");

+ 29
- 132
Marlin/src/lcd/language/language_vi.h 查看文件

@@ -60,37 +60,17 @@ namespace Language_vi {
60 60
   PROGMEM Language_Str MSG_SET_HOME_OFFSETS                = _UxGT("Đặt bù đắp nhà");                       // Set home offsets
61 61
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Bù đắp được áp dụng");                  // Offsets applied
62 62
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Đặt nguồn gốc");                        // Set origin
63
-  PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước");   // Preheat
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N0;   // Preheat
65
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N1;   // Preheat
66
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N2;   // Preheat
67
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N3;   // Preheat
68
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N4;   // Preheat
69
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ") LCD_STR_N5;   // Preheat
63
+  PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước");      // Preheat
64
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ~");    // Preheat
70 65
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu");
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N0;
72
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N1;
73
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N2;
74
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N3;
75
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N4;
76
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ") LCD_STR_N5;
77
-  PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Tất cả");    // all
78
-  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
79
-  PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Cấu hình");  // conf
80
-  PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước");   // Preheat
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N0;   // Preheat
82
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N1;   // Preheat
83
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N2;   // Preheat
84
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N3;   // Preheat
85
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N4;   // Preheat
86
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ") LCD_STR_N5;   // Preheat
66
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ~");
67
+  PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Tất cả");     // all
68
+  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
69
+  PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Cấu hình");   // conf
70
+  PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước");      // Preheat
71
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" trước ~");    // Preheat
87 72
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu");
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N0;
89
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N1;
90
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N2;
91
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N3;
92
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N4;
93
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ") LCD_STR_N5;
73
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Đầu ~");
94 74
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Làm nóng ") PREHEAT_2_LABEL _UxGT(" Tất cả");    // all
95 75
   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
96 76
   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 {
173 153
   PROGMEM Language_Str MSG_UBL_STORAGE_SLOT                = _UxGT("Khe nhớ");                              // Memory Slot
174 154
   PROGMEM Language_Str MSG_UBL_LOAD_MESH                   = _UxGT("Tải lưới bàn");                         // Load Bed Mesh
175 155
   PROGMEM Language_Str MSG_UBL_SAVE_MESH                   = _UxGT("Lưu lưới bàn");                         // Save Bed Mesh
176
-  PROGMEM Language_Str MSG_MESH_LOADED                     = _UxGT("M117 %i lưới được nạp");                     // Mesh %i loaded
156
+  PROGMEM Language_Str MSG_MESH_LOADED                     = _UxGT("M117 %i lưới được nạp");                // Mesh %i loaded
177 157
   PROGMEM Language_Str MSG_MESH_SAVED                      = _UxGT("M117 %i lưới đã lưu");
178 158
   PROGMEM Language_Str MSG_NO_STORAGE                      = _UxGT("Không lưu trữ");                        // No Storage
179 159
   PROGMEM Language_Str MSG_UBL_SAVE_ERROR                  = _UxGT("Điều sai: Lưu UBL");                    // Err: UBL Save
@@ -213,12 +193,7 @@ namespace Language_vi {
213 193
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Di chuyển Y");
214 194
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Di chuyển Z");
215 195
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Máy đùn");                              // Extruder
216
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("Máy đùn ") LCD_STR_E0;                  // Extruder
217
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("Máy đùn ") LCD_STR_E1;                  // Extruder
218
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("Máy đùn ") LCD_STR_E2;                  // Extruder
219
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("Máy đùn ") LCD_STR_E3;                  // Extruder
220
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("Máy đùn ") LCD_STR_E4;                  // Extruder
221
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("Máy đùn ") LCD_STR_E5;                  // Extruder
196
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Máy đùn *");                            // Extruder
222 197
   PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Đầu nóng quá lạnh");                    // Hotend too cold
223 198
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Di chuyển 0.1mm");                      // Move 0.1mm
224 199
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Di chuyển 1mm");                        // Move 1mm
@@ -226,28 +201,14 @@ namespace Language_vi {
226 201
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Tốc độ");                               // Speed
227 202
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z Bàn");
228 203
   PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Đầu phun");                             // Nozzle
229
-  PROGMEM Language_Str MSG_NOZZLE_0                        = _UxGT("Đầu phun ") LCD_STR_N0;                 // Nozzle
230
-  PROGMEM Language_Str MSG_NOZZLE_1                        = _UxGT("Đầu phun ") LCD_STR_N1;                 // Nozzle
231
-  PROGMEM Language_Str MSG_NOZZLE_2                        = _UxGT("Đầu phun ") LCD_STR_N2;                 // Nozzle
232
-  PROGMEM Language_Str MSG_NOZZLE_3                        = _UxGT("Đầu phun ") LCD_STR_N3;                 // Nozzle
233
-  PROGMEM Language_Str MSG_NOZZLE_4                        = _UxGT("Đầu phun ") LCD_STR_N4;                 // Nozzle
234
-  PROGMEM Language_Str MSG_NOZZLE_5                        = _UxGT("Đầu phun ") LCD_STR_N5;                 // Nozzle
204
+  PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Đầu phun ~");                           // Nozzle
235 205
   PROGMEM Language_Str MSG_BED                             = _UxGT("Bàn");                                  // bed
236 206
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Tốc độ quạt");                          // fan speed
237
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("Tốc độ quạt 1");                        // fan speed
238
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("Tốc độ quạt 2");                        // fan speed
239
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("Tốc độ quạt 3");                        // fan speed
207
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Tốc độ quạt =");                        // fan speed
240 208
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Tốc độ quạt phụ");                      // Extra fan speed
241
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("Tốc độ quạt phụ 1");                    // Extra fan speed
242
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("Tốc độ quạt phụ 2");                    // Extra fan speed
243
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("Tốc độ quạt phụ 3");                    // Extra fan speed
209
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Tốc độ quạt phụ =");                    // Extra fan speed
244 210
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Lưu Lượng");
245
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("Lưu Lượng ") LCD_STR_N0;
246
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("Lưu Lượng ") LCD_STR_N1;
247
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("Lưu Lượng ") LCD_STR_N2;
248
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("Lưu Lượng ") LCD_STR_N3;
249
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("Lưu Lượng ") LCD_STR_N4;
250
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("Lưu Lượng ") LCD_STR_N5;
211
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Lưu Lượng ~");
251 212
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Điều khiển");                           // Control
252 213
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Đa");          // min
253 214
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Thiểu");
@@ -256,40 +217,15 @@ namespace Language_vi {
256 217
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Bật");                                  // on
257 218
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Tắt");                                  // off
258 219
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");
259
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
260
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
261
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
262
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
263
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
264
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
220
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
265 221
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");
266
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
267
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
268
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
269
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
270
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
271
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
222
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
272 223
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");
273
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
274
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
275
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
276
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
277
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
278
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
224
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
279 225
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");
280
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
281
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
282
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
283
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
284
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
285
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
226
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
286 227
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Lựa");                                  // Select
287
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("Lựa ") LCD_STR_E0;
288
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("Lựa ") LCD_STR_E1;
289
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("Lựa ") LCD_STR_E2;
290
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("Lựa ") LCD_STR_E3;
291
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("Lựa ") LCD_STR_E4;
292
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("Lựa ") LCD_STR_E5;
228
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Lựa *");
293 229
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Tăng Tốc");
294 230
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Giật");
295 231
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("Giật-V") LCD_STR_A;
@@ -302,12 +238,7 @@ namespace Language_vi {
302 238
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vđa") LCD_STR_B;                        // Vmax
303 239
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vđa") LCD_STR_C;                        // Vmax
304 240
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vđa") LCD_STR_E;                        // Vmax
305
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("Vđa ") LCD_STR_E0;                      // Vmax
306
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("Vđa ") LCD_STR_E1;                      // Vmax
307
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("Vđa ") LCD_STR_E2;                      // Vmax
308
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("Vđa ") LCD_STR_E3;                      // Vmax
309
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("Vđa ") LCD_STR_E4;                      // Vmax
310
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("Vđa ") LCD_STR_E5;                      // Vmax
241
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vđa *");                                // Vmax
311 242
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vthiểu");                               // Vmin
312 243
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vchuyển thiểu");                        // VTrav min
313 244
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Sự tăng tốc");                          // Acceleration
@@ -315,12 +246,7 @@ namespace Language_vi {
315 246
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Tăng tốc ca") LCD_STR_B;                // Amax
316 247
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Tăng tốc ca") LCD_STR_C;                // Amax
317 248
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Tăng tốc ca") LCD_STR_E;                // Amax
318
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("Tăng tốc ca ") LCD_STR_E0;              // Amax
319
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("Tăng tốc ca ") LCD_STR_E1;              // Amax
320
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("Tăng tốc ca ") LCD_STR_E2;              // Amax
321
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("Tăng tốc ca ") LCD_STR_E3;              // Amax
322
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("Tăng tốc ca ") LCD_STR_E4;              // Amax
323
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("Tăng tốc ca ") LCD_STR_E5;              // Amax
249
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Tăng tốc ca *");                        // Amax
324 250
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("TT-Rút");                               // A-retract
325 251
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("TT-Chuyển");                            // A-travel
326 252
   PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Bước/mm");                              // Steps
@@ -328,32 +254,17 @@ namespace Language_vi {
328 254
   PROGMEM Language_Str MSG_B_STEPS                         = _UxGT("Bước") LCD_STR_B _UxGT("/mm");
329 255
   PROGMEM Language_Str MSG_C_STEPS                         = _UxGT("Bước") LCD_STR_C _UxGT("/mm");
330 256
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("BướcE/mm");
331
-  PROGMEM Language_Str MSG_E0_STEPS                        = _UxGT("Bước ") LCD_STR_E0 _UxGT("/mm");
332
-  PROGMEM Language_Str MSG_E1_STEPS                        = _UxGT("Bước ") LCD_STR_E1 _UxGT("/mm");
333
-  PROGMEM Language_Str MSG_E2_STEPS                        = _UxGT("Bước ") LCD_STR_E2 _UxGT("/mm");
334
-  PROGMEM Language_Str MSG_E3_STEPS                        = _UxGT("Bước ") LCD_STR_E3 _UxGT("/mm");
335
-  PROGMEM Language_Str MSG_E4_STEPS                        = _UxGT("Bước ") LCD_STR_E4 _UxGT("/mm");
336
-  PROGMEM Language_Str MSG_E5_STEPS                        = _UxGT("Bước ") LCD_STR_E5 _UxGT("/mm");
257
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("Bước */mm");
337 258
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Nhiệt độ");                             // Temperature
338 259
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Chuyển động");                          // Motion
339 260
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Vật liệu in");                          // dây nhựa
340 261
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E bằng mm³");                           // E in mm
341 262
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Đường kính nhựa");                      // Fil. Dai.
342
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("Đường kính nhựa ") LCD_STR_E0;
343
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("Đường kính nhựa ") LCD_STR_E1;
344
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("Đường kính nhựa ") LCD_STR_E2;
345
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("Đường kính nhựa ") LCD_STR_E3;
346
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("Đường kính nhựa ") LCD_STR_E4;
347
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("Đường kính nhựa ") LCD_STR_E5;
263
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Đường kính nhựa *");
348 264
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Dỡ mm");                                // unload mm
349 265
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Nạp mm");
350 266
   PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("K Cấp Cao");                            // Advance K
351
-  PROGMEM Language_Str MSG_ADVANCE_K_E0                    = _UxGT("K Cấp Cao ") LCD_STR_E0;                // Advance K
352
-  PROGMEM Language_Str MSG_ADVANCE_K_E1                    = _UxGT("K Cấp Cao ") LCD_STR_E1;                // Advance K
353
-  PROGMEM Language_Str MSG_ADVANCE_K_E2                    = _UxGT("K Cấp Cao ") LCD_STR_E2;                // Advance K
354
-  PROGMEM Language_Str MSG_ADVANCE_K_E3                    = _UxGT("K Cấp Cao ") LCD_STR_E3;                // Advance K
355
-  PROGMEM Language_Str MSG_ADVANCE_K_E4                    = _UxGT("K Cấp Cao ") LCD_STR_E4;                // Advance K
356
-  PROGMEM Language_Str MSG_ADVANCE_K_E5                    = _UxGT("K Cấp Cao ") LCD_STR_E5;                // Advance K
267
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("K Cấp Cao *");                          // Advance K
357 268
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Độ tương phản LCD");                    // LCD contrast
358 269
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Lưu các thiết lập");                    // Store settings
359 270
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Tải các cài đặt");                      // Load settings
@@ -394,25 +305,11 @@ namespace Language_vi {
394 305
   PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPD          = _UxGT("Tốc Độ Tuôn Ra");                       // Prime Speed
395 306
   PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPD        = _UxGT("Tốc Độ Rút Lại");                       // Retract Speed
396 307
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Thay dây nhựa");                        // change filament
397
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("Thay dây nhựa ") LCD_STR_E0;            // change filament
398
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("Thay dây nhựa ") LCD_STR_E1;            // change filament
399
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("Thay dây nhựa ") LCD_STR_E2;            // change filament
400
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("Thay dây nhựa ") LCD_STR_E3;            // change filament
401
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("Thay dây nhựa ") LCD_STR_E4;            // change filament
402
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("Thay dây nhựa ") LCD_STR_E5;            // change filament
308
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Thay dây nhựa *");                      // change filament
403 309
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Nạp dây nhựa");                         // load filament
404
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("Nạp dây nhựa ") LCD_STR_E0;             // load filament
405
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("Nạp dây nhựa ") LCD_STR_E1;             // load filament
406
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("Nạp dây nhựa ") LCD_STR_E2;             // load filament
407
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("Nạp dây nhựa ") LCD_STR_E3;             // load filament
408
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("Nạp dây nhựa ") LCD_STR_E4;             // load filament
409
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("Nạp dây nhựa ") LCD_STR_E5;             // load filament
410
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("Dỡ dây nhựa ") LCD_STR_E0;              // unload filament
411
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("Dỡ dây nhựa ") LCD_STR_E1;              // unload filament
412
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("Dỡ dây nhựa ") LCD_STR_E2;              // unload filament
413
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("Dỡ dây nhựa ") LCD_STR_E3;              // unload filament
414
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("Dỡ dây nhựa ") LCD_STR_E4;              // unload filament
415
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("Dỡ dây nhựa ") LCD_STR_E5;              // unload filament
310
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Nạp dây nhựa *");                       // load filament
311
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Dỡ dây nhựa");                          // unload filament
312
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Dỡ dây nhựa *");                        // unload filament
416 313
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Dỡ tất cả");                            // Unload All
417 314
   PROGMEM Language_Str MSG_INIT_SDCARD                     = _UxGT("Khởi tạo thẻ SD ");                     // Init. SD card
418 315
   PROGMEM Language_Str MSG_CHANGE_SDCARD                   = _UxGT("Thay thẻ SD");                          // Change SD card

+ 23
- 120
Marlin/src/lcd/language/language_zh_CN.h 查看文件

@@ -57,36 +57,16 @@ namespace Language_zh_CN {
57 57
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("偏移已启用");     //"Offsets applied"
58 58
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("设置原点");     //"Set origin"
59 59
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("预热 ") PREHEAT_1_LABEL;     //"Preheat PREHEAT_2_LABEL"
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N0;     //"Preheat PREHEAT_2_LABEL"
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N1;     //"Preheat PREHEAT_2_LABEL"
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N2;     //"Preheat PREHEAT_2_LABEL"
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N3;     //"Preheat PREHEAT_2_LABEL"
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N4;     //"Preheat PREHEAT_2_LABEL"
65
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("预热 ") PREHEAT_1_LABEL " " LCD_STR_N5;     //"Preheat PREHEAT_2_LABEL"
60
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("预热 ") PREHEAT_1_LABEL " ~";     //"Preheat PREHEAT_2_LABEL"
66 61
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴");     //MSG_PREHEAT_1 " "
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N0;     //MSG_PREHEAT_1 " "
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N1;     //MSG_PREHEAT_1 " "
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N2;     //MSG_PREHEAT_1 " "
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N3;     //MSG_PREHEAT_1 " "
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N4;     //MSG_PREHEAT_1 " "
72
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ") LCD_STR_N5;     //MSG_PREHEAT_1 " "
62
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ~");     //MSG_PREHEAT_1 " "
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 全部");     //MSG_PREHEAT_1 " All"
74 64
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 热床");     //MSG_PREHEAT_1 " Bed"
75 65
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 设置");     //MSG_PREHEAT_1 " conf"
76 66
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("预热 ") PREHEAT_2_LABEL;     //"Preheat PREHEAT_2_LABEL"
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N0;     //"Preheat PREHEAT_2_LABEL"
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N1;     //"Preheat PREHEAT_2_LABEL"
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N2;     //"Preheat PREHEAT_2_LABEL"
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N3;     //"Preheat PREHEAT_2_LABEL"
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N4;     //"Preheat PREHEAT_2_LABEL"
82
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("预热 ") PREHEAT_2_LABEL " " LCD_STR_N5;     //"Preheat PREHEAT_2_LABEL"
67
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("预热 ") PREHEAT_2_LABEL " ~";     //"Preheat PREHEAT_2_LABEL"
83 68
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴");     //MSG_PREHEAT_2 " "
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N0;     //MSG_PREHEAT_2 " "
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N1;     //MSG_PREHEAT_2 " "
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N2;     //MSG_PREHEAT_2 " "
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N3;     //MSG_PREHEAT_2 " "
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N4;     //MSG_PREHEAT_2 " "
89
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ") LCD_STR_N5;     //MSG_PREHEAT_2 " "
69
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 喷嘴 ~");     //MSG_PREHEAT_2 " "
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 全部");     //MSG_PREHEAT_2 " All"
91 71
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 热床");     //MSG_PREHEAT_2 " Bed"
92 72
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("预热 ") PREHEAT_2_LABEL _UxGT(" 设置");     //MSG_PREHEAT_2 " conf"
@@ -196,12 +176,7 @@ namespace Language_zh_CN {
196 176
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("移动Y");     //"Move Y"
197 177
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("移动Z");     //"Move Z"
198 178
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("挤出机");     //"Extruder"
199
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("挤出机 ") LCD_STR_E0;     //"Extruder"
200
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("挤出机 ") LCD_STR_E1;     //"Extruder"
201
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("挤出机 ") LCD_STR_E2;     //"Extruder"
202
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("挤出机 ") LCD_STR_E3;     //"Extruder"
203
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("挤出机 ") LCD_STR_E4;     //"Extruder"
204
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("挤出机 ") LCD_STR_E5;     //"Extruder"
179
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("挤出机 *");     //"Extruder"
205 180
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("移动 %s mm");     //"Move 0.025mm"
206 181
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("移动 0.1 mm");     //"Move 0.1mm"
207 182
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("移动 1 mm");     //"Move 1mm"
@@ -209,28 +184,14 @@ namespace Language_zh_CN {
209 184
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("速率");     //"Speed"
210 185
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("热床Z");     //"Bed Z"
211 186
   PROGMEM Language_Str MSG_NOZZLE                          = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴");     //"Nozzle" 噴嘴
212
-  PROGMEM Language_Str MSG_NOZZLE_0                        = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N0;     //"Nozzle" 噴嘴
213
-  PROGMEM Language_Str MSG_NOZZLE_1                        = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N1;     //"Nozzle" 噴嘴
214
-  PROGMEM Language_Str MSG_NOZZLE_2                        = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N2;     //"Nozzle" 噴嘴
215
-  PROGMEM Language_Str MSG_NOZZLE_3                        = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N3;     //"Nozzle" 噴嘴
216
-  PROGMEM Language_Str MSG_NOZZLE_4                        = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N4;     //"Nozzle" 噴嘴
217
-  PROGMEM Language_Str MSG_NOZZLE_5                        = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ") LCD_STR_N5;     //"Nozzle" 噴嘴
187
+  PROGMEM Language_Str MSG_NOZZLE_N                        = " " LCD_STR_THERMOMETER _UxGT(" 喷嘴 ~");     //"Nozzle" 噴嘴
218 188
   PROGMEM Language_Str MSG_BED                             = " " LCD_STR_THERMOMETER _UxGT(" 热床");     //"Bed"
219 189
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("风扇速率");     //"Fan speed"
220
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("风扇速率 1");     //"Fan speed"
221
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("风扇速率 2");     //"Fan speed"
222
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("风扇速率 3");     //"Fan speed"
190
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("风扇速率 =");     //"Fan speed"
223 191
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("额外风扇速率");     // "Extra fan speed"
224
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("额外风扇速率 1");     // "Extra fan speed"
225
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("额外风扇速率 2");     // "Extra fan speed"
226
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("额外风扇速率 3");     // "Extra fan speed"
192
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("额外风扇速率 =");     // "Extra fan speed"
227 193
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("挤出速率");     //"Flow"
228
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("挤出速率 ") LCD_STR_N0;     //"Flow"
229
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("挤出速率 ") LCD_STR_N1;     //"Flow"
230
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("挤出速率 ") LCD_STR_N2;     //"Flow"
231
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("挤出速率 ") LCD_STR_N3;     //"Flow"
232
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("挤出速率 ") LCD_STR_N4;     //"Flow"
233
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("挤出速率 ") LCD_STR_N5;     //"Flow"
194
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("挤出速率 ~");     //"Flow"
234 195
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("控制");     //"Control"
235 196
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" 最小");     //" " LCD_STR_THERMOMETER " Min"
236 197
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" 最大");     //" " LCD_STR_THERMOMETER " Max"
@@ -239,40 +200,15 @@ namespace Language_zh_CN {
239 200
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("开");     //"On"
240 201
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("关");     //"Off"
241 202
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");     //"PID-P"
242
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
243
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
244
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
245
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
246
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
247
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
203
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
248 204
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");     //"PID-I"
249
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
250
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
251
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
252
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
253
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
254
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
205
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
255 206
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");     //"PID-D"
256
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
257
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
258
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
259
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
260
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
261
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
207
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
262 208
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");     //"PID-C"
263
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
264
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
265
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
266
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
267
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
268
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
209
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
269 210
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("选择");     //"Select"
270
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("选择 ") LCD_STR_E0;
271
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("选择 ") LCD_STR_E1;
272
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("选择 ") LCD_STR_E2;
273
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("选择 ") LCD_STR_E3;
274
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("选择 ") LCD_STR_E4;
275
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("选择 ") LCD_STR_E5;
211
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("选择 *");
276 212
   PROGMEM Language_Str MSG_ACC                             = _UxGT("加速度");     //"Accel" acceleration
277 213
   PROGMEM Language_Str MSG_JERK                            = _UxGT("抖动速率");     // "Jerk"
278 214
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("轴抖动速率") LCD_STR_A;     //"Va-jerk"
@@ -284,12 +220,7 @@ namespace Language_zh_CN {
284 220
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("最大进料速率") LCD_STR_B;     //"Vmax " max_feedrate_mm_s
285 221
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("最大进料速率") LCD_STR_C;     //"Vmax " max_feedrate_mm_s
286 222
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("最大进料速率") LCD_STR_E;     //"Vmax " max_feedrate_mm_s
287
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("最大进料速率 ") LCD_STR_E0;     //"Vmax " max_feedrate_mm_s
288
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("最大进料速率 ") LCD_STR_E1;     //"Vmax " max_feedrate_mm_s
289
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("最大进料速率 ") LCD_STR_E2;     //"Vmax " max_feedrate_mm_s
290
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("最大进料速率 ") LCD_STR_E3;     //"Vmax " max_feedrate_mm_s
291
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("最大进料速率 ") LCD_STR_E4;     //"Vmax " max_feedrate_mm_s
292
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("最大进料速率 ") LCD_STR_E5;     //"Vmax " max_feedrate_mm_s
223
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("最大进料速率 *");     //"Vmax " max_feedrate_mm_s
293 224
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("最小进料速率");     //"Vmin"  min_feedrate_mm_s
294 225
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("最小移动速率");     //"VTrav min" min_travel_feedrate_mm_s, (target) speed of the move
295 226
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("加速度");     // "Acceleration"
@@ -297,12 +228,7 @@ namespace Language_zh_CN {
297 228
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("最大打印加速度") LCD_STR_B;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
298 229
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("最大打印加速度") LCD_STR_C;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
299 230
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("最大打印加速度") LCD_STR_E;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
300
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("最大打印加速度 ") LCD_STR_E0;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
301
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("最大打印加速度 ") LCD_STR_E1;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
302
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("最大打印加速度 ") LCD_STR_E2;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
303
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("最大打印加速度 ") LCD_STR_E3;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
304
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("最大打印加速度 ") LCD_STR_E4;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
305
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("最大打印加速度 ") LCD_STR_E5;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
231
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("最大打印加速度 *");     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
306 232
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("收进加速度");     //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts
307 233
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("非打印移动加速度");     //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
308 234
   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 {
310 236
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("轴步数/mm");     //"Bsteps/mm"
311 237
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("轴步数/mm");     //"Csteps/mm"
312 238
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("挤出机步数/mm");     //"Esteps/mm"
313
-  PROGMEM Language_Str MSG_E0_STEPS                        = _UxGT("挤出机") LCD_STR_N0 _UxGT("步数/mm");
314
-  PROGMEM Language_Str MSG_E1_STEPS                        = _UxGT("挤出机") LCD_STR_N1 _UxGT("步数/mm");
315
-  PROGMEM Language_Str MSG_E2_STEPS                        = _UxGT("挤出机") LCD_STR_N2 _UxGT("步数/mm");
316
-  PROGMEM Language_Str MSG_E3_STEPS                        = _UxGT("挤出机") LCD_STR_N3 _UxGT("步数/mm");
317
-  PROGMEM Language_Str MSG_E4_STEPS                        = _UxGT("挤出机") LCD_STR_N4 _UxGT("步数/mm");
318
-  PROGMEM Language_Str MSG_E5_STEPS                        = _UxGT("挤出机") LCD_STR_N5 _UxGT("步数/mm");
239
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("挤出机~步数/mm");
319 240
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("温度");     //"Temperature"
320 241
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("运动");     //"Motion"
321 242
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("丝料测容");     //"Filament" menu_advanced_filament
322 243
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("测容积mm³");     //"E in mm3" volumetric_enabled
323 244
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("丝料直径");     //"Fil. Dia."
324
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("丝料直径 ") LCD_STR_E0;
325
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("丝料直径 ") LCD_STR_E1;
326
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("丝料直径 ") LCD_STR_E2;
327
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("丝料直径 ") LCD_STR_E3;
328
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("丝料直径 ") LCD_STR_E4;
329
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("丝料直径 ") LCD_STR_E5;
245
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("丝料直径 *");
330 246
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("卸载 mm");     // "Unload mm"
331 247
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("装载 mm");     // "Load mm"
332 248
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD对比度");     //"LCD contrast"
@@ -360,24 +276,11 @@ namespace Language_zh_CN {
360 276
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF   = _UxGT("S UnRet V");     // "S UnRet V"
361 277
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("自动抽回");     //"AutoRetr." autoretract_enabled,
362 278
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("更换丝料");     //"Change filament"
363
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("更换丝料 ") LCD_STR_E0;     //"Change filament"
364
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("更换丝料 ") LCD_STR_E1;     //"Change filament"
365
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("更换丝料 ") LCD_STR_E2;     //"Change filament"
366
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("更换丝料 ") LCD_STR_E3;     //"Change filament"
367
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("更换丝料 ") LCD_STR_E4;     //"Change filament"
368
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("更换丝料 ") LCD_STR_E5;     //"Change filament"
369
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("装载丝料 ") LCD_STR_E0;     // "Load filament"
370
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("装载丝料 ") LCD_STR_E1;     // "Load filament"
371
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("装载丝料 ") LCD_STR_E2;     // "Load filament"
372
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("装载丝料 ") LCD_STR_E3;     // "Load filament"
373
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("装载丝料 ") LCD_STR_E4;     // "Load filament"
374
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("装载丝料 ") LCD_STR_E5;     // "Load filament"
375
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("卸载丝料 ") LCD_STR_E0;     // "Unload filament"
376
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("卸载丝料 ") LCD_STR_E1;     // "Unload filament"
377
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("卸载丝料 ") LCD_STR_E2;     // "Unload filament"
378
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("卸载丝料 ") LCD_STR_E3;     // "Unload filament"
379
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("卸载丝料 ") LCD_STR_E4;     // "Unload filament"
380
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("卸载丝料 ") LCD_STR_E5;     // "Unload filament"
279
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("更换丝料 *");     //"Change filament"
280
+  PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("装载丝料");     // "Load filament"
281
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("装载丝料 *");     // "Load filament"
282
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("卸载丝料");     // "Unload filament"
283
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("卸载丝料 *");     // "Unload filament"
381 284
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("卸载全部");     // "Unload All"
382 285
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("初始化存储卡");     //"Init. SD card"
383 286
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("更换存储卡");     //"Change SD card"

+ 22
- 120
Marlin/src/lcd/language/language_zh_TW.h 查看文件

@@ -57,36 +57,16 @@ namespace Language_zh_TW {
57 57
   PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("偏移已啟用");     //"Offsets applied"
58 58
   PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("設置原點");     //"Set origin"
59 59
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("預熱 ") PREHEAT_1_LABEL;     //"Preheat PREHEAT_1_LABEL"
60
-  PROGMEM Language_Str MSG_PREHEAT_1_H0                    = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N0;     //"Preheat PREHEAT_1_LABEL"
61
-  PROGMEM Language_Str MSG_PREHEAT_1_H1                    = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N1;     //"Preheat PREHEAT_1_LABEL"
62
-  PROGMEM Language_Str MSG_PREHEAT_1_H2                    = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N2;     //"Preheat PREHEAT_1_LABEL"
63
-  PROGMEM Language_Str MSG_PREHEAT_1_H3                    = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N3;     //"Preheat PREHEAT_1_LABEL"
64
-  PROGMEM Language_Str MSG_PREHEAT_1_H4                    = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N4;     //"Preheat PREHEAT_1_LABEL"
65
-  PROGMEM Language_Str MSG_PREHEAT_1_H5                    = _UxGT("預熱 ") PREHEAT_1_LABEL " " LCD_STR_N5;     //"Preheat PREHEAT_1_LABEL"
60
+  PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("預熱 ") PREHEAT_1_LABEL " ~";     //"Preheat PREHEAT_1_LABEL"
66 61
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴");     //MSG_PREHEAT_1 " "
67
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E0                = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N0;     //MSG_PREHEAT_1 " "
68
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E1                = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N1;     //MSG_PREHEAT_1 " "
69
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E2                = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N2;     //MSG_PREHEAT_1 " "
70
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E3                = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N3;     //MSG_PREHEAT_1 " "
71
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E4                = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N4;     //MSG_PREHEAT_1 " "
72
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E5                = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ") LCD_STR_N5;     //MSG_PREHEAT_1 " "
62
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ~");     //MSG_PREHEAT_1 " "
73 63
   PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 全部");     //MSG_PREHEAT_1 " All"
74 64
   PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 熱床");     //MSG_PREHEAT_1 " Bed"
75 65
   PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 設置");     //MSG_PREHEAT_1 " conf"
76 66
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("預熱 ") PREHEAT_2_LABEL;     //"Preheat PREHEAT_2_LABEL"
77
-  PROGMEM Language_Str MSG_PREHEAT_2_H0                    = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N0;     //"Preheat PREHEAT_2_LABEL"
78
-  PROGMEM Language_Str MSG_PREHEAT_2_H1                    = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N1;     //"Preheat PREHEAT_2_LABEL"
79
-  PROGMEM Language_Str MSG_PREHEAT_2_H2                    = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N2;     //"Preheat PREHEAT_2_LABEL"
80
-  PROGMEM Language_Str MSG_PREHEAT_2_H3                    = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N3;     //"Preheat PREHEAT_2_LABEL"
81
-  PROGMEM Language_Str MSG_PREHEAT_2_H4                    = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N4;     //"Preheat PREHEAT_2_LABEL"
82
-  PROGMEM Language_Str MSG_PREHEAT_2_H5                    = _UxGT("預熱 ") PREHEAT_2_LABEL " " LCD_STR_N5;     //"Preheat PREHEAT_2_LABEL"
67
+  PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("預熱 ") PREHEAT_2_LABEL " ~";     //"Preheat PREHEAT_2_LABEL"
83 68
   PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴");     //MSG_PREHEAT_2 " "
84
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E0                = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N0;     //MSG_PREHEAT_2 " "
85
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E1                = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N1;     //MSG_PREHEAT_2 " "
86
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E2                = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N2;     //MSG_PREHEAT_2 " "
87
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E3                = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N3;     //MSG_PREHEAT_2 " "
88
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E4                = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N4;     //MSG_PREHEAT_2 " "
89
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E5                = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ") LCD_STR_N5;     //MSG_PREHEAT_2 " "
69
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 噴嘴 ~");     //MSG_PREHEAT_2 " "
90 70
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 全部");     //MSG_PREHEAT_2 " All"
91 71
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 熱床");     //MSG_PREHEAT_2 " Bed"
92 72
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("預熱 ") PREHEAT_2_LABEL _UxGT(" 設置");     //MSG_PREHEAT_2 " conf"
@@ -196,12 +176,7 @@ namespace Language_zh_TW {
196 176
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("移動Y");     //"Move Y"
197 177
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("移動Z");     //"Move Z"
198 178
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("擠出機");     //"Extruder"
199
-  PROGMEM Language_Str MSG_MOVE_E0                         = _UxGT("擠出機 ") LCD_STR_E0;
200
-  PROGMEM Language_Str MSG_MOVE_E1                         = _UxGT("擠出機 ") LCD_STR_E1;
201
-  PROGMEM Language_Str MSG_MOVE_E2                         = _UxGT("擠出機 ") LCD_STR_E2;
202
-  PROGMEM Language_Str MSG_MOVE_E3                         = _UxGT("擠出機 ") LCD_STR_E3;
203
-  PROGMEM Language_Str MSG_MOVE_E4                         = _UxGT("擠出機 ") LCD_STR_E4;
204
-  PROGMEM Language_Str MSG_MOVE_E5                         = _UxGT("擠出機 ") LCD_STR_E5;
179
+  PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("擠出機 *");
205 180
   PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("移動 %s mm");     //"Move 0.025mm"
206 181
   PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("移動 0.1 mm");     //"Move 0.1mm"
207 182
   PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("移動 1 mm");     //"Move 1mm"
@@ -209,28 +184,14 @@ namespace Language_zh_TW {
209 184
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("速率");     //"Speed"
210 185
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("熱床Z");     //"Bed Z"
211 186
   PROGMEM Language_Str MSG_NOZZLE                          = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴");     //"Nozzle" 噴嘴
212
-  PROGMEM Language_Str MSG_NOZZLE_0                        = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N0;
213
-  PROGMEM Language_Str MSG_NOZZLE_1                        = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N1;
214
-  PROGMEM Language_Str MSG_NOZZLE_2                        = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N2;
215
-  PROGMEM Language_Str MSG_NOZZLE_3                        = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N3;
216
-  PROGMEM Language_Str MSG_NOZZLE_4                        = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N4;
217
-  PROGMEM Language_Str MSG_NOZZLE_5                        = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ") LCD_STR_N5;
187
+  PROGMEM Language_Str MSG_NOZZLE_N                        = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ~");
218 188
   PROGMEM Language_Str MSG_BED                             = " " LCD_STR_THERMOMETER _UxGT(" 熱床");     //"Bed"
219 189
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("風扇速率");     //"Fan speed"
220
-  PROGMEM Language_Str MSG_FAN_SPEED_1                     = _UxGT("風扇速率 1");
221
-  PROGMEM Language_Str MSG_FAN_SPEED_2                     = _UxGT("風扇速率 2");
222
-  PROGMEM Language_Str MSG_FAN_SPEED_3                     = _UxGT("風扇速率 3");
190
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("風扇速率 =");
223 191
   PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("額外風扇速率");     // "Extra fan speed"
224
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_1               = _UxGT("額外風扇速率 1");
225
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_2               = _UxGT("額外風扇速率 2");
226
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_3               = _UxGT("額外風扇速率 3");
192
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("額外風扇速率 =");
227 193
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("擠出速率");
228
-  PROGMEM Language_Str MSG_FLOW_0                          = _UxGT("擠出速率 ") LCD_STR_N0;     //"Flow"
229
-  PROGMEM Language_Str MSG_FLOW_1                          = _UxGT("擠出速率 ") LCD_STR_N1;     //"Flow"
230
-  PROGMEM Language_Str MSG_FLOW_2                          = _UxGT("擠出速率 ") LCD_STR_N2;     //"Flow"
231
-  PROGMEM Language_Str MSG_FLOW_3                          = _UxGT("擠出速率 ") LCD_STR_N3;     //"Flow"
232
-  PROGMEM Language_Str MSG_FLOW_4                          = _UxGT("擠出速率 ") LCD_STR_N4;     //"Flow"
233
-  PROGMEM Language_Str MSG_FLOW_5                          = _UxGT("擠出速率 ") LCD_STR_N5;     //"Flow"
194
+  PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("擠出速率 ~");     //"Flow"
234 195
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("控制");     //"Control"
235 196
   PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" 最小");     //" " LCD_STR_THERMOMETER " Min"
236 197
   PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" 最大");     //" " LCD_STR_THERMOMETER " Max"
@@ -239,40 +200,15 @@ namespace Language_zh_TW {
239 200
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("開");     //"On"
240 201
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("關");     //"Off"
241 202
   PROGMEM Language_Str MSG_PID_P                           = _UxGT("PID-P");     //"PID-P"
242
-  PROGMEM Language_Str MSG_PID_P_E0                        = _UxGT("PID-P ") LCD_STR_E0;
243
-  PROGMEM Language_Str MSG_PID_P_E1                        = _UxGT("PID-P ") LCD_STR_E1;
244
-  PROGMEM Language_Str MSG_PID_P_E2                        = _UxGT("PID-P ") LCD_STR_E2;
245
-  PROGMEM Language_Str MSG_PID_P_E3                        = _UxGT("PID-P ") LCD_STR_E3;
246
-  PROGMEM Language_Str MSG_PID_P_E4                        = _UxGT("PID-P ") LCD_STR_E4;
247
-  PROGMEM Language_Str MSG_PID_P_E5                        = _UxGT("PID-P ") LCD_STR_E5;
203
+  PROGMEM Language_Str MSG_PID_P_E                         = _UxGT("PID-P *");
248 204
   PROGMEM Language_Str MSG_PID_I                           = _UxGT("PID-I");     //"PID-I"
249
-  PROGMEM Language_Str MSG_PID_I_E0                        = _UxGT("PID-I ") LCD_STR_E0;
250
-  PROGMEM Language_Str MSG_PID_I_E1                        = _UxGT("PID-I ") LCD_STR_E1;
251
-  PROGMEM Language_Str MSG_PID_I_E2                        = _UxGT("PID-I ") LCD_STR_E2;
252
-  PROGMEM Language_Str MSG_PID_I_E3                        = _UxGT("PID-I ") LCD_STR_E3;
253
-  PROGMEM Language_Str MSG_PID_I_E4                        = _UxGT("PID-I ") LCD_STR_E4;
254
-  PROGMEM Language_Str MSG_PID_I_E5                        = _UxGT("PID-I ") LCD_STR_E5;
205
+  PROGMEM Language_Str MSG_PID_I_E                         = _UxGT("PID-I *");
255 206
   PROGMEM Language_Str MSG_PID_D                           = _UxGT("PID-D");     //"PID-D"
256
-  PROGMEM Language_Str MSG_PID_D_E0                        = _UxGT("PID-D ") LCD_STR_E0;
257
-  PROGMEM Language_Str MSG_PID_D_E1                        = _UxGT("PID-D ") LCD_STR_E1;
258
-  PROGMEM Language_Str MSG_PID_D_E2                        = _UxGT("PID-D ") LCD_STR_E2;
259
-  PROGMEM Language_Str MSG_PID_D_E3                        = _UxGT("PID-D ") LCD_STR_E3;
260
-  PROGMEM Language_Str MSG_PID_D_E4                        = _UxGT("PID-D ") LCD_STR_E4;
261
-  PROGMEM Language_Str MSG_PID_D_E5                        = _UxGT("PID-D ") LCD_STR_E5;
207
+  PROGMEM Language_Str MSG_PID_D_E                         = _UxGT("PID-D *");
262 208
   PROGMEM Language_Str MSG_PID_C                           = _UxGT("PID-C");     //"PID-C"
263
-  PROGMEM Language_Str MSG_PID_C_E0                        = _UxGT("PID-C ") LCD_STR_E0;
264
-  PROGMEM Language_Str MSG_PID_C_E1                        = _UxGT("PID-C ") LCD_STR_E1;
265
-  PROGMEM Language_Str MSG_PID_C_E2                        = _UxGT("PID-C ") LCD_STR_E2;
266
-  PROGMEM Language_Str MSG_PID_C_E3                        = _UxGT("PID-C ") LCD_STR_E3;
267
-  PROGMEM Language_Str MSG_PID_C_E4                        = _UxGT("PID-C ") LCD_STR_E4;
268
-  PROGMEM Language_Str MSG_PID_C_E5                        = _UxGT("PID-C ") LCD_STR_E5;
209
+  PROGMEM Language_Str MSG_PID_C_E                         = _UxGT("PID-C *");
269 210
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("選擇");     //"Select"
270
-  PROGMEM Language_Str MSG_SELECT_E0                       = _UxGT("選擇 ") LCD_STR_E0;
271
-  PROGMEM Language_Str MSG_SELECT_E1                       = _UxGT("選擇 ") LCD_STR_E1;
272
-  PROGMEM Language_Str MSG_SELECT_E2                       = _UxGT("選擇 ") LCD_STR_E2;
273
-  PROGMEM Language_Str MSG_SELECT_E3                       = _UxGT("選擇 ") LCD_STR_E3;
274
-  PROGMEM Language_Str MSG_SELECT_E4                       = _UxGT("選擇 ") LCD_STR_E4;
275
-  PROGMEM Language_Str MSG_SELECT_E5                       = _UxGT("選擇 ") LCD_STR_E5;
211
+  PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("選擇 *");
276 212
   PROGMEM Language_Str MSG_ACC                             = _UxGT("加速度");     //"Accel" acceleration
277 213
   PROGMEM Language_Str MSG_JERK                            = _UxGT("抖動速率");     //"Jerk"
278 214
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("軸抖動速率") LCD_STR_A;     //"Va-jerk"
@@ -284,12 +220,7 @@ namespace Language_zh_TW {
284 220
   PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("最大進料速率") LCD_STR_B;
285 221
   PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("最大進料速率") LCD_STR_C;
286 222
   PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("最大進料速率") LCD_STR_E;
287
-  PROGMEM Language_Str MSG_VMAX_E0                         = _UxGT("最大進料速率 ") LCD_STR_E0;     //"Vmax " max_feedrate_mm_s
288
-  PROGMEM Language_Str MSG_VMAX_E1                         = _UxGT("最大進料速率 ") LCD_STR_E1;
289
-  PROGMEM Language_Str MSG_VMAX_E2                         = _UxGT("最大進料速率 ") LCD_STR_E2;
290
-  PROGMEM Language_Str MSG_VMAX_E3                         = _UxGT("最大進料速率 ") LCD_STR_E3;
291
-  PROGMEM Language_Str MSG_VMAX_E4                         = _UxGT("最大進料速率 ") LCD_STR_E4;
292
-  PROGMEM Language_Str MSG_VMAX_E5                         = _UxGT("最大進料速率 ") LCD_STR_E5;
223
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("最大進料速率 *");     //"Vmax " max_feedrate_mm_s
293 224
   PROGMEM Language_Str MSG_VMIN                            = _UxGT("最小進料速率");     //"Vmin"  min_feedrate_mm_s
294 225
   PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("最小移動速率");     //"VTrav min" min_travel_feedrate_mm_s, (target) speed of the move
295 226
   PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("加速度");     // "Acceleration"
@@ -297,12 +228,7 @@ namespace Language_zh_TW {
297 228
   PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("最大列印加速度") LCD_STR_B;
298 229
   PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("最大列印加速度") LCD_STR_C;
299 230
   PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("最大列印加速度") LCD_STR_E;
300
-  PROGMEM Language_Str MSG_AMAX_E0                         = _UxGT("最大列印加速度 ") LCD_STR_E0;     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
301
-  PROGMEM Language_Str MSG_AMAX_E1                         = _UxGT("最大列印加速度 ") LCD_STR_E1;
302
-  PROGMEM Language_Str MSG_AMAX_E2                         = _UxGT("最大列印加速度 ") LCD_STR_E2;
303
-  PROGMEM Language_Str MSG_AMAX_E3                         = _UxGT("最大列印加速度 ") LCD_STR_E3;
304
-  PROGMEM Language_Str MSG_AMAX_E4                         = _UxGT("最大列印加速度 ") LCD_STR_E4;
305
-  PROGMEM Language_Str MSG_AMAX_E5                         = _UxGT("最大列印加速度 ") LCD_STR_E5;
231
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("最大列印加速度 *");     //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
306 232
   PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("回縮加速度");     //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts
307 233
   PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("非列印移動加速度");     //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
308 234
   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 {
310 236
   PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("軸步數/mm");
311 237
   PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("軸步數/mm");
312 238
   PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("擠出機步數/mm");     //"Esteps/mm"
313
-  PROGMEM Language_Str MSG_E0_STEPS                        = _UxGT("擠出機") LCD_STR_N0 _UxGT("步數/mm");
314
-  PROGMEM Language_Str MSG_E1_STEPS                        = _UxGT("擠出機") LCD_STR_N1 _UxGT("步數/mm");
315
-  PROGMEM Language_Str MSG_E2_STEPS                        = _UxGT("擠出機") LCD_STR_N2 _UxGT("步數/mm");
316
-  PROGMEM Language_Str MSG_E3_STEPS                        = _UxGT("擠出機") LCD_STR_N3 _UxGT("步數/mm");
317
-  PROGMEM Language_Str MSG_E4_STEPS                        = _UxGT("擠出機") LCD_STR_N4 _UxGT("步數/mm");
318
-  PROGMEM Language_Str MSG_E5_STEPS                        = _UxGT("擠出機") LCD_STR_N5 _UxGT("步數/mm");
239
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("擠出機~步數/mm");
319 240
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("溫度");     //"Temperature"
320 241
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("運作");     //"Motion"
321 242
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("絲料測容");     //"Filament" menu_control_volumetric
322 243
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("測容積mm³");     //"E in mm3" volumetric_enabled
323 244
   PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("絲料直徑");     //"Fil. Dia."
324
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E0                = _UxGT("絲料直徑 ") LCD_STR_E0;
325
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E1                = _UxGT("絲料直徑 ") LCD_STR_E1;
326
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E2                = _UxGT("絲料直徑 ") LCD_STR_E2;
327
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E3                = _UxGT("絲料直徑 ") LCD_STR_E3;
328
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E4                = _UxGT("絲料直徑 ") LCD_STR_E4;
329
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E5                = _UxGT("絲料直徑 ") LCD_STR_E5;
245
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("絲料直徑 *");
330 246
   PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("卸載 mm");     // "Unload mm"
331 247
   PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("装載 mm");     // "Load mm"
332 248
   PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("LCD對比度");     //"LCD contrast"
@@ -360,25 +276,11 @@ namespace Language_zh_TW {
360 276
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF   = _UxGT("S UnRet V");     // "S UnRet V"
361 277
   PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("自動回縮");     //"AutoRetr." autoretract_enabled,
362 278
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("更換絲料");     //"Change filament"
363
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E0               = _UxGT("更換絲料 ") LCD_STR_E0;
364
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E1               = _UxGT("更換絲料 ") LCD_STR_E1;
365
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E2               = _UxGT("更換絲料 ") LCD_STR_E2;
366
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E3               = _UxGT("更換絲料 ") LCD_STR_E3;
367
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E4               = _UxGT("更換絲料 ") LCD_STR_E4;
368
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E5               = _UxGT("更換絲料 ") LCD_STR_E5;
279
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("更換絲料 *");
369 280
   PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("裝載絲料");     // "Load filament"
370
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E0                 = _UxGT("裝載絲料 ") LCD_STR_E0;
371
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E1                 = _UxGT("裝載絲料 ") LCD_STR_E1;
372
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E2                 = _UxGT("裝載絲料 ") LCD_STR_E2;
373
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E3                 = _UxGT("裝載絲料 ") LCD_STR_E3;
374
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E4                 = _UxGT("裝載絲料 ") LCD_STR_E4;
375
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E5                 = _UxGT("裝載絲料 ") LCD_STR_E5;
376
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E0               = _UxGT("卸載絲料 ") LCD_STR_E0;     // "Unload filament"
377
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E1               = _UxGT("卸載絲料 ") LCD_STR_E1;
378
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E2               = _UxGT("卸載絲料 ") LCD_STR_E2;
379
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E3               = _UxGT("卸載絲料 ") LCD_STR_E3;
380
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E4               = _UxGT("卸載絲料 ") LCD_STR_E4;
381
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E5               = _UxGT("卸載絲料 ") LCD_STR_E5;
281
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("裝載絲料 *");
282
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("卸載絲料");     // "Unload filament"
283
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("卸載絲料 *");     // "Unload filament"
382 284
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("卸載全部");     // "Unload All"
383 285
   PROGMEM Language_Str MSG_INIT_MEDIA                      = _UxGT("初始化記憶卡");     //"Init. SD card"
384 286
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("更換記憶卡");     //"Change SD card"

+ 63
- 0
Marlin/src/lcd/lcdprint.cpp 查看文件

@@ -0,0 +1,63 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (c) 2019 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * lcdprint.cpp
25
+ */
26
+
27
+#include "../inc/MarlinConfigPre.h"
28
+
29
+#if HAS_SPI_LCD
30
+
31
+#include "lcdprint.h"
32
+#include "../core/language.h"
33
+
34
+/**
35
+ * lcd_put_u8str_ind_P
36
+ * Print a string with an index substituted within it
37
+ */
38
+uint8_t lcd_put_u8str_ind_P(PGM_P const pstr, const uint8_t ind, const uint8_t maxlen/*=LCD_WIDTH*/) {
39
+  uint8_t *p = (uint8_t*)pstr;
40
+  uint8_t n = maxlen;
41
+  for (; n; n--) {
42
+    wchar_t ch;
43
+    p = get_utf8_value_cb(p, read_byte_rom, &ch);
44
+    if (!ch) break;
45
+    if (ch == '=' || ch == '~' || ch == '*') {
46
+      if (ch == '*') { lcd_put_wchar('E'); n--; }
47
+      // lcd_put_int(ind); n--; if (ind >= 10) n--;
48
+      // if (ind >= 0)
49
+        {
50
+          lcd_put_wchar(ind + ((ch == '=') ? '0' : LCD_FIRST_TOOL));
51
+          n--;
52
+        }
53
+      // else if (ind == -1) { PGM_P const b = GET_TEXT(MSG_BED); lcd_put_u8str_P(b); n -= utf8_strlen_P(b); }
54
+      // else if (ind == -2) { PGM_P const c = GET_TEXT(MSG_CHAMBER); lcd_put_u8str_P(c); n -= utf8_strlen_P(c); }
55
+      if (n) n -= lcd_put_u8str_max_P((PGM_P)p, n);
56
+      break;
57
+    }
58
+    lcd_put_wchar(ch);
59
+  }
60
+  return n;
61
+}
62
+
63
+#endif // HAS_SPI_LCD

+ 23
- 5
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
60 60
 }
61 61
 
62 62
 void lcd_put_int(const int i);
63
-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); }
63
+inline void lcd_put_int(const lcd_uint_t col, const lcd_uint_t row, const int i) {
64
+  lcd_moveto(col, row);
65
+  lcd_put_int(i);
66
+}
64 67
 
65
-inline int lcd_put_u8str_P(PGM_P str) { return lcd_put_u8str_max_P(str, PIXEL_LEN_NOLIMIT); }
66
-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); }
68
+inline int lcd_put_u8str_P(PGM_P const pstr) { return lcd_put_u8str_max_P(pstr, PIXEL_LEN_NOLIMIT); }
69
+inline int lcd_put_u8str_P(const lcd_uint_t col, const lcd_uint_t row, PGM_P const pstr) {
70
+  lcd_moveto(col, row);
71
+  return lcd_put_u8str_P(pstr);
72
+}
73
+
74
+uint8_t lcd_put_u8str_ind_P(PGM_P const pstr, const uint8_t ind, const uint8_t maxlen=20);
75
+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) {
76
+  lcd_moveto(col, row);
77
+  return lcd_put_u8str_ind_P(pstr, ind, maxlen);
78
+}
67 79
 
68 80
 inline int lcd_put_u8str(const char* str) { return lcd_put_u8str_max(str, PIXEL_LEN_NOLIMIT); }
69
-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); }
81
+inline int lcd_put_u8str(const lcd_uint_t col, const lcd_uint_t row, PGM_P const str) {
82
+  lcd_moveto(col, row);
83
+  return lcd_put_u8str(str);
84
+}
70 85
 
71 86
 inline int lcd_put_wchar(const wchar_t c) { return lcd_put_wchar_max(c, PIXEL_LEN_NOLIMIT); }
72
-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); }
87
+inline int lcd_put_wchar(const lcd_uint_t col, const lcd_uint_t row, const wchar_t c) {
88
+  lcd_moveto(col, row);
89
+  return lcd_put_wchar(c);
90
+}

+ 32
- 21
Marlin/src/lcd/menu/menu.cpp 查看文件

@@ -64,15 +64,17 @@ typedef struct {
64 64
 } menuPosition;
65 65
 menuPosition screen_history[6];
66 66
 uint8_t screen_history_depth = 0;
67
-bool screen_changed;
68 67
 
69
-// Value Editing
70
-chimera_t editable;
71
-PGM_P MenuEditItemBase::editLabel;
72
-void* MenuEditItemBase::editValue;
73
-int32_t MenuEditItemBase::minEditValue, MenuEditItemBase::maxEditValue;
68
+uint8_t MenuItemBase::itemIndex;  // Index number for draw and action
69
+chimera_t editable;               // Value Editing
70
+
71
+// Menu Edit Items
72
+PGM_P        MenuEditItemBase::editLabel;
73
+void*        MenuEditItemBase::editValue;
74
+int32_t      MenuEditItemBase::minEditValue,
75
+             MenuEditItemBase::maxEditValue;
74 76
 screenFunc_t MenuEditItemBase::callbackFunc;
75
-bool MenuEditItemBase::liveEdit;
77
+bool         MenuEditItemBase::liveEdit;
76 78
 
77 79
 // Prevent recursion into screen handlers
78 80
 bool no_reentry = false;
@@ -121,17 +123,15 @@ void MenuItem_gcode::action(PGM_P const, PGM_P const pgcode) { queue.inject_P(pg
121 123
 /**
122 124
  * Functions for editing single values
123 125
  *
124
- * The "DEFINE_MENU_EDIT_ITEM" macro generates the functions needed to edit a numerical value.
126
+ * The "DEFINE_MENU_EDIT_ITEM" macro generates the classes needed to edit a numerical value.
125 127
  *
126 128
  * The prerequisite is that in the header the type was already declared:
127 129
  *
128
- *   DECLARE_MENU_EDIT_TYPE(int16_t, int3, i16tostr3, 1)
130
+ *   DEFINE_MENU_EDIT_ITEM_TYPE(int16_t, int3, i16tostr3, 1)
129 131
  *
130
- * For example, DEFINE_MENU_EDIT_ITEM(int3) expands into these functions:
132
+ * For example, DEFINE_MENU_EDIT_ITEM(int3) expands into:
131 133
  *
132
- *   bool MenuItem_int3::_edit();
133
- *   void MenuItem_int3::edit(); // edit int16_t (interactively)
134
- *   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);
134
+ *   template class TMenuEditItem<MenuEditItemInfo_int3>
135 135
  *
136 136
  * You can then use one of the menu macros to present the edit interface:
137 137
  *   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
143 143
  *       MenuItem_int3::action(plabel, &feedrate_percentage, 10, 999)
144 144
  *       MenuItem_int3::draw(encoderLine == _thisItemNr, _lcdLineNr, plabel, &feedrate_percentage, 10, 999)
145 145
  */
146
-void MenuEditItemBase::edit(strfunc_t strfunc, loadfunc_t loadfunc) {
146
+void MenuEditItemBase::edit_screen(strfunc_t strfunc, loadfunc_t loadfunc) {
147 147
   #if ENABLED(TOUCH_BUTTONS)
148 148
     ui.repeat_delay = BUTTON_DELAY_EDIT;
149 149
   #endif
150 150
   if (int32_t(ui.encoderPosition) < 0) ui.encoderPosition = 0;
151 151
   if (int32_t(ui.encoderPosition) > maxEditValue) ui.encoderPosition = maxEditValue;
152 152
   if (ui.should_draw())
153
-    edit_screen(editLabel, strfunc(ui.encoderPosition + minEditValue));
153
+    draw_edit_screen(strfunc(ui.encoderPosition + minEditValue));
154 154
   if (ui.lcd_clicked || (liveEdit && ui.should_draw())) {
155 155
     if (editValue != nullptr) loadfunc(editValue, ui.encoderPosition + minEditValue);
156 156
     if (callbackFunc && (liveEdit || ui.lcd_clicked)) (*callbackFunc)();
@@ -158,7 +158,17 @@ void MenuEditItemBase::edit(strfunc_t strfunc, loadfunc_t loadfunc) {
158 158
   }
159 159
 }
160 160
 
161
-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) {
161
+void MenuEditItemBase::goto_edit_screen(
162
+  PGM_P const el,         // Edit label
163
+  void * const ev,        // Edit value pointer
164
+  const int32_t minv,     // Encoder minimum
165
+  const int32_t maxv,     // Encoder maximum
166
+  const uint16_t ep,      // Initial encoder value
167
+  const screenFunc_t cs,  // MenuItem_type::draw_edit_screen => MenuEditItemBase::edit()
168
+  const screenFunc_t cb,  // Callback after edit
169
+  const bool le           // Flag to call cb() during editing
170
+) {
171
+  ui.screen_changed = true;
162 172
   ui.save_previous_screen();
163 173
   ui.refresh();
164 174
   editLabel = el;
@@ -171,6 +181,7 @@ void MenuEditItemBase::init(PGM_P const el, void * const ev, const int32_t minv,
171 181
   liveEdit = le;
172 182
 }
173 183
 
184
+// TODO: Remove these but test build size with and without
174 185
 #define DEFINE_MENU_EDIT_ITEM(NAME) template class TMenuEditItem<MenuEditItemInfo_##NAME>
175 186
 
176 187
 DEFINE_MENU_EDIT_ITEM(percent);     // 100%       right-justified
@@ -193,8 +204,8 @@ DEFINE_MENU_EDIT_ITEM(float52sign); // +123.45
193 204
 DEFINE_MENU_EDIT_ITEM(long5);       // 12345      right-justified
194 205
 DEFINE_MENU_EDIT_ITEM(long5_25);    // 12345      right-justified (25 increment)
195 206
 
196
-void MenuItem_bool::action(PGM_P pstr, bool *ptr, screenFunc_t callback) {
197
-  UNUSED(pstr); *ptr ^= true; ui.refresh();
207
+void MenuItem_bool::action(PGM_P const, bool * const ptr, screenFunc_t callback) {
208
+  *ptr ^= true; ui.refresh();
198 209
   if (callback) (*callback)();
199 210
 }
200 211
 
@@ -344,7 +355,7 @@ void scroll_screen(const uint8_t limit, const bool is_menu) {
344 355
   if (int32_t(ui.encoderPosition) < 0) ui.encoderPosition = 0;
345 356
   if (ui.first_page) {
346 357
     encoderLine = ui.encoderPosition / (ENCODER_STEPS_PER_MENU_ITEM);
347
-    screen_changed = false;
358
+    ui.screen_changed = false;
348 359
   }
349 360
   if (screen_items > 0 && encoderLine >= screen_items - limit) {
350 361
     encoderLine = _MAX(0, screen_items - limit);
@@ -418,10 +429,10 @@ void scroll_screen(const uint8_t limit, const bool is_menu) {
418 429
     if (ui.should_draw()) {
419 430
       #if ENABLED(BABYSTEP_HOTEND_Z_OFFSET)
420 431
         if (!do_probe)
421
-          MenuEditItemBase::edit_screen(GET_TEXT(MSG_HOTEND_OFFSET_Z), ftostr43sign(hotend_offset[active_extruder].z));
432
+          MenuEditItemBase::draw_edit_screen(GET_TEXT(MSG_HOTEND_OFFSET_Z), ftostr43sign(hotend_offset[active_extruder].z));
422 433
         else
423 434
       #endif
424
-          MenuEditItemBase::edit_screen(GET_TEXT(MSG_ZPROBE_ZOFFSET), ftostr43sign(probe_offset.z));
435
+          MenuEditItemBase::draw_edit_screen(GET_TEXT(MSG_ZPROBE_ZOFFSET), ftostr43sign(probe_offset.z));
425 436
 
426 437
       #if ENABLED(BABYSTEP_ZPROBE_GFX_OVERLAY)
427 438
         if (do_probe) _lcd_zoffset_overlay_gfx(probe_offset.z);

+ 192
- 108
Marlin/src/lcd/menu/menu.h 查看文件

@@ -28,7 +28,6 @@
28 28
 #include "limits.h"
29 29
 
30 30
 extern int8_t encoderLine, encoderTopLine, screen_items;
31
-extern bool screen_changed;
32 31
 
33 32
 #if HOTENDS
34 33
   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)();
52 51
 ///////////// Base Menu Items //////////////
53 52
 ////////////////////////////////////////////
54 53
 
55
-class MenuItem_static {
56
-  public:
57
-    static void draw(const uint8_t row, PGM_P const pstr, const uint8_t style=SS_DEFAULT, const char * const valstr=nullptr);
58
-};
59
-
60 54
 class MenuItemBase {
61 55
   public:
56
+    // An index to interject in the item label and for
57
+    // use by the action
58
+    static uint8_t itemIndex;
59
+
60
+    // Store the index of the item ahead of use by indexed items
61
+    FORCE_INLINE static void init(const uint8_t ind) { itemIndex = ind; }
62
+
62 63
     // Draw an item either selected (pre_char) or not (space) with post_char
63 64
     static void _draw(const bool sel, const uint8_t row, PGM_P const pstr, const char pre_char, const char post_char);
64 65
 
65 66
     // Draw an item either selected ('>') or not (space) with post_char
66
-    FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const char post_char) {
67
+    FORCE_INLINE static void _draw(const bool sel, const uint8_t row, PGM_P const pstr, const char post_char) {
67 68
       _draw(sel, row, pstr, '>', post_char);
68 69
     }
69 70
 };
70 71
 
71
-// CONFIRM_ITEM(PLABEL,Y,N,FY,FN,V...), YESNO_ITEM(PLABEL,FY,FN,V...)
72
-class MenuItem_confirm : MenuItemBase {
72
+class MenuItem_static : public MenuItemBase {
73
+  public:
74
+    static void draw(const uint8_t row, PGM_P const pstr, const uint8_t style=SS_DEFAULT, const char * const valstr=nullptr);
75
+};
76
+
77
+// CONFIRM_ITEM(LABEL,Y,N,FY,FN,V...),
78
+// YESNO_ITEM(LABEL,FY,FN,V...)
79
+class MenuItem_confirm : public MenuItemBase {
73 80
   public:
74 81
     FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
75 82
       _draw(sel, row, pstr, '>', LCD_STR_ARROW_RIGHT[0]);
@@ -104,16 +111,17 @@ class MenuItem_confirm : MenuItemBase {
104 111
     }
105 112
 };
106 113
 
107
-// BACK_ITEM(PLABEL)
114
+// BACK_ITEM(LABEL)
108 115
 class MenuItem_back : public MenuItemBase {
109 116
   public:
110 117
     FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr) {
111 118
       _draw(sel, row, pstr, LCD_STR_UPLEVEL[0], LCD_STR_UPLEVEL[0]);
112 119
     }
113
-    static inline void action(PGM_P const=nullptr) { ui.go_back(); }
120
+    // Back Item action goes back one step in history
121
+    FORCE_INLINE static void action(PGM_P const=nullptr) { ui.go_back(); }
114 122
 };
115 123
 
116
-// SUBMENU(PLABEL, screen_handler)
124
+// SUBMENU(LABEL, screen_handler)
117 125
 class MenuItem_submenu : public MenuItemBase {
118 126
   public:
119 127
     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 {
122 130
     static inline void action(PGM_P const, const screenFunc_t func) { ui.save_previous_screen(); ui.goto_screen(func); }
123 131
 };
124 132
 
125
-// GCODE_ITEM(PLABEL, gcode)
126
-class MenuItem_gcode : public MenuItemBase {
133
+// Any menu item that invokes an immediate action
134
+class MenuItem_button : public MenuItemBase {
127 135
   public:
128
-    FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
136
+    // Button-y Items are selectable lines with no other indicator
137
+    static inline void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
129 138
       _draw(sel, row, pstr, '>', ' ');
130 139
     }
131
-    static void action(PGM_P const, const char * const pgcode);
132 140
 };
133 141
 
134
-// ACTION_ITEM(PLABEL, function)
135
-class MenuItem_function : public MenuItemBase {
142
+// GCODES_ITEM(LABEL, GCODES)
143
+class MenuItem_gcode : public MenuItem_button {
136 144
   public:
137 145
     FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, ...) {
138 146
       _draw(sel, row, pstr, '>', ' ');
139 147
     }
148
+    static void action(PGM_P const, const char * const pgcode);
149
+    static inline void action(PGM_P const pstr, const uint8_t, const char * const pgcode) { action(pstr, pgcode); }
150
+};
151
+
152
+// ACTION_ITEM(LABEL, FUNC)
153
+class MenuItem_function : public MenuItem_button {
154
+  public:
155
+    //static inline void action(PGM_P const, const uint8_t, const menuAction_t func) { (*func)(); };
140 156
     static inline void action(PGM_P const, const menuAction_t func) { (*func)(); };
141 157
 };
142 158
 
@@ -144,6 +160,7 @@ class MenuItem_function : public MenuItemBase {
144 160
   class CardReader;
145 161
   class MenuItem_sdbase {
146 162
     public:
163
+      // Implemented for HD44780 and DOGM
147 164
       static void draw(const bool sel, const uint8_t row, PGM_P const pstr, CardReader &theCard, const bool isDir);
148 165
   };
149 166
 #endif
@@ -165,9 +182,13 @@ typedef union {
165 182
 } chimera_t;
166 183
 extern chimera_t editable;
167 184
 
168
-// Edit items use long integer encoder units
185
+// Base class for Menu Edit Items
169 186
 class MenuEditItemBase : public MenuItemBase {
170 187
   private:
188
+    // These values are statically constructed by init() via action()
189
+    // The action() method acts like the instantiator. The entire lifespan
190
+    // of a menu item is within its declaration, so all these values decompose
191
+    // into behavior and unused items get optimized out.
171 192
     static PGM_P editLabel;
172 193
     static void *editValue;
173 194
     static int32_t minEditValue, maxEditValue;  // Encoder value range
@@ -176,21 +197,31 @@ class MenuEditItemBase : public MenuItemBase {
176 197
   protected:
177 198
     typedef const char* (*strfunc_t)(const int32_t);
178 199
     typedef void (*loadfunc_t)(void *, const int32_t);
179
-    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);
180
-    static void edit(strfunc_t, loadfunc_t);
200
+    static void goto_edit_screen(
201
+      PGM_P const el,         // Edit label
202
+      void * const ev,        // Edit value pointer
203
+      const int32_t minv,     // Encoder minimum
204
+      const int32_t maxv,     // Encoder maximum
205
+      const uint16_t ep,      // Initial encoder value
206
+      const screenFunc_t cs,  // MenuItem_type::draw_edit_screen => MenuEditItemBase::edit()
207
+      const screenFunc_t cb,  // Callback after edit
208
+      const bool le           // Flag to call cb() during editing
209
+    );
210
+    static void edit_screen(strfunc_t, loadfunc_t); // Edit value handler
181 211
   public:
182 212
     // Implemented for HD44780 and DOGM
183 213
     // Draw the current item at specified row with edit data
184
-    static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm);
185
-
186
-    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); }
187
-    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); }
214
+    static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const char* const data, const bool pgm=false);
188 215
 
189 216
     // Implemented for HD44780 and DOGM
190 217
     // This low-level method is good to draw from anywhere
191
-    static void edit_screen(PGM_P const pstr, const char* const value=nullptr);
218
+    static void draw_edit_screen(PGM_P const pstr, const char* const value);
219
+
220
+    // This method is for the current menu item
221
+    static inline void draw_edit_screen(const char* const value) { draw_edit_screen(editLabel, value); }
192 222
 };
193 223
 
224
+// Template for specific Menu Edit Item Types
194 225
 template<typename NAME>
195 226
 class TMenuEditItem : MenuEditItemBase {
196 227
   private:
@@ -206,6 +237,8 @@ class TMenuEditItem : MenuEditItemBase {
206 237
     FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, type_t (*pget)(), ...) {
207 238
       MenuEditItemBase::draw(sel, row, pstr, NAME::strfunc(pget()));
208 239
     }
240
+    // Edit screen for this type of item
241
+    static void edit_screen() { MenuEditItemBase::edit_screen(to_string, load); }
209 242
     static void action(
210 243
       PGM_P const pstr,                     // Edit label
211 244
       type_t * const ptr,                   // Value pointer
@@ -217,9 +250,9 @@ class TMenuEditItem : MenuEditItemBase {
217 250
       // Make sure minv and maxv fit within int32_t
218 251
       const int32_t minv = _MAX(scale(minValue), INT32_MIN),
219 252
                     maxv = _MIN(scale(maxValue), INT32_MAX);
220
-      init(pstr, ptr, minv, maxv - minv, scale(*ptr) - minv, edit, callback, live);
253
+      goto_edit_screen(pstr, ptr, minv, maxv - minv, scale(*ptr) - minv,
254
+        edit_screen, callback, live);
221 255
     }
222
-    static void edit() { MenuEditItemBase::edit(to_string, load); }
223 256
 };
224 257
 
225 258
 // 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 );   //
256 289
 
257 290
 class MenuItem_bool : public MenuEditItemBase {
258 291
   public:
259
-    //#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))
260 292
     FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, const bool onoff) {
261 293
       MenuEditItemBase::draw(sel, row, pstr, onoff ? GET_TEXT(MSG_LCD_ON) : GET_TEXT(MSG_LCD_OFF), true);
262 294
     }
263
-    //#define draw_menu_item_bool(sel, row, pstr, data, ...)           DRAW_BOOL_SETTING(sel, row, pstr, data)
264 295
     FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, bool * const data, ...) {
265 296
       draw(sel, row, pstr, *data);
266 297
     }
267
-    //#define draw_menu_item_accessor_bool(sel, row, pstr, pget, pset) DRAW_BOOL_SETTING(sel, row, pstr, data)
268 298
     FORCE_INLINE static void draw(const bool sel, const uint8_t row, PGM_P const pstr, PGM_P const, bool (*pget)(), ...) {
269 299
       draw(sel, row, pstr, pget());
270 300
     }
@@ -283,8 +313,10 @@ class MenuItem_bool : public MenuEditItemBase {
283 313
  *   _menuLineNr is the menu item to draw and process
284 314
  *   _thisItemNr is the index of each MENU_ITEM or STATIC_ITEM
285 315
  */
286
-#define SCREEN_OR_MENU_LOOP() \
316
+#define SCREEN_OR_MENU_LOOP(IS_MENU)                \
317
+  scroll_screen(IS_MENU ? 1 : LCD_HEIGHT, IS_MENU); \
287 318
   int8_t _menuLineNr = encoderTopLine, _thisItemNr; \
319
+  bool _skipStatic = IS_MENU;                       \
288 320
   for (int8_t _lcdLineNr = 0; _lcdLineNr < LCD_HEIGHT; _lcdLineNr++, _menuLineNr++) { \
289 321
     _thisItemNr = 0
290 322
 
@@ -295,20 +327,11 @@ class MenuItem_bool : public MenuEditItemBase {
295 327
  * START_MENU    Opening code for a screen with menu items.
296 328
  *               Scroll as-needed to keep the selected line in view.
297 329
  */
298
-#define START_SCREEN() \
299
-  scroll_screen(LCD_HEIGHT, false); \
300
-  bool _skipStatic = false; \
301
-  SCREEN_OR_MENU_LOOP()
302
-
303
-#define START_MENU() \
304
-  scroll_screen(1, true); \
305
-  bool _skipStatic = true; \
306
-  SCREEN_OR_MENU_LOOP()
307
-
308
-#define END_SCREEN() \
309
-  } \
310
-  screen_items = _thisItemNr
311
-
330
+#define START_SCREEN() SCREEN_OR_MENU_LOOP(false)
331
+#define START_MENU() SCREEN_OR_MENU_LOOP(true)
332
+#define NEXT_ITEM() (++_thisItemNr)
333
+#define SKIP_ITEM() NEXT_ITEM()
334
+#define END_SCREEN() } screen_items = _thisItemNr
312 335
 #define END_MENU() END_SCREEN(); UNUSED(_skipStatic)
313 336
 
314 337
 #if ENABLED(ENCODER_RATE_MULTIPLIER)
@@ -328,90 +351,151 @@ class MenuItem_bool : public MenuEditItemBase {
328 351
  *
329 352
  * Examples:
330 353
  *   BACK_ITEM(MSG_WATCH)
331
- *   MENU_ITEM(back, MSG_WATCH)
332
- *     MenuItem_back::draw(sel, row, GET_TEXT(MSG_WATCH))
333
- *     MenuItem_back::action()
354
+ *     MenuItem_back::action(plabel, ...)
355
+ *     MenuItem_back::draw(sel, row, plabel, ...)
334 356
  *
335 357
  *   ACTION_ITEM(MSG_PAUSE_PRINT, lcd_sdcard_pause)
336
- *   MENU_ITEM(function, MSG_PAUSE_PRINT, lcd_sdcard_pause)
337
- *     MenuItem_function::draw(sel, row, GET_TEXT(MSG_PAUSE_PRINT), lcd_sdcard_pause)
338
- *     MenuItem_function::action(GET_TEXT(MSG_PAUSE_PRINT), lcd_sdcard_pause)
358
+ *     MenuItem_function::action(plabel, lcd_sdcard_pause)
359
+ *     MenuItem_function::draw(sel, row, plabel, lcd_sdcard_pause)
339 360
  *
340 361
  *   EDIT_ITEM(int3, MSG_SPEED, &feedrate_percentage, 10, 999)
341
- *     MenuItem_int3::draw(sel, row, GET_TEXT(MSG_SPEED), &feedrate_percentage, 10, 999)
342
- *     MenuItem_int3::action(GET_TEXT(MSG_SPEED), &feedrate_percentage, 10, 999)
343
- *
362
+ *     MenuItem_int3::action(plabel, &feedrate_percentage, 10, 999)
363
+ *     MenuItem_int3::draw(sel, row, plabel, &feedrate_percentage, 10, 999)
344 364
  */
345
-#define _MENU_ITEM_P(TYPE, USE_MULTIPLIER, PLABEL, V...) do {   \
346
-  _skipStatic = false;                                          \
347
-  if (_menuLineNr == _thisItemNr) {                             \
348
-    PGM_P const plabel = PLABEL;                                \
349
-    if (encoderLine == _thisItemNr && ui.use_click()) {         \
350
-      _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER);              \
351
-      MenuItem_##TYPE::action(plabel, ##V);                     \
352
-      if (screen_changed) return;                               \
353
-    }                                                           \
354
-    if (ui.should_draw())                                       \
355
-      MenuItem_##TYPE::draw                                     \
356
-        (encoderLine == _thisItemNr, _lcdLineNr, plabel, ##V);  \
357
-  }                                                             \
358
-  ++_thisItemNr;                                                \
365
+
366
+#define _MENU_INNER_P(TYPE, USE_MULTIPLIER, PLABEL, V...) do { \
367
+  PGM_P const plabel = PLABEL;                                \
368
+  if (encoderLine == _thisItemNr && ui.use_click()) {         \
369
+    _MENU_ITEM_MULTIPLIER_CHECK(USE_MULTIPLIER);              \
370
+    MenuItem_##TYPE::action(plabel, ##V);                     \
371
+    if (ui.screen_changed) return;                            \
372
+  }                                                           \
373
+  if (ui.should_draw())                                       \
374
+    MenuItem_##TYPE::draw                                     \
375
+      (encoderLine == _thisItemNr, _lcdLineNr, plabel, ##V);  \
376
+}while(0)
377
+
378
+#define _MENU_ITEM_P(TYPE, V...) do { \
379
+  _skipStatic = false;                \
380
+  if (_menuLineNr == _thisItemNr)     \
381
+    _MENU_INNER_P(TYPE, ##V);         \
382
+  NEXT_ITEM();                        \
359 383
 }while(0)
360 384
 
361
-// Used to print static text with no visible cursor.
362
-// Parameters: label [, bool center [, bool invert [, char *value] ] ]
363
-#define STATIC_ITEM_P(PLABEL, V...) do{                   \
364
-  if (_menuLineNr == _thisItemNr) {                       \
365
-    if (_skipStatic && encoderLine <= _thisItemNr) {      \
366
-      ui.encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;  \
367
-      ++encoderLine;                                      \
368
-    }                                                     \
369
-    if (ui.should_draw())                                 \
370
-      MenuItem_static::draw(_lcdLineNr, PLABEL, ##V);     \
371
-  }                                                       \
372
-  ++_thisItemNr;                                          \
385
+// Indexed items set a global index value
386
+#define _MENU_ITEM_N_P(TYPE, N, V...) do{ \
387
+  _skipStatic = false;                    \
388
+  if (_menuLineNr == _thisItemNr) {       \
389
+    MenuItemBase::init(N);                \
390
+    _MENU_INNER_P(TYPE, ##V);             \
391
+  }                                       \
392
+  NEXT_ITEM();                            \
393
+}while(0)
394
+
395
+// STATIC_ITEM draws a styled string with no highlight.
396
+// Parameters: label [, style [, char *value] ]
397
+
398
+#define STATIC_ITEM_INNER_P(PLABEL, V...) do{           \
399
+  if (_skipStatic && encoderLine <= _thisItemNr) {      \
400
+    ui.encoderPosition += ENCODER_STEPS_PER_MENU_ITEM;  \
401
+    ++encoderLine;                                      \
402
+  }                                                     \
403
+  if (ui.should_draw())                                 \
404
+    MenuItem_static::draw(_lcdLineNr, PLABEL, ##V);     \
373 405
 } while(0)
374 406
 
375
-#define STATIC_ITEM(LABEL, V...) STATIC_ITEM_P(GET_TEXT(LABEL), ##V)
407
+#define STATIC_ITEM_P(PLABEL, V...) do{ \
408
+  if (_menuLineNr == _thisItemNr)       \
409
+    STATIC_ITEM_INNER_P(PLABEL, ##V);   \
410
+  NEXT_ITEM();                          \
411
+} while(0)
412
+
413
+#define STATIC_ITEM_N_P(PLABEL, N, V...) do{ \
414
+  if (_menuLineNr == _thisItemNr) {          \
415
+    MenuItemBase::init(N);                   \
416
+    STATIC_ITEM_INNER_P(PLABEL, ##V);        \
417
+  }                                          \
418
+  NEXT_ITEM();                               \
419
+}while(0)
420
+
421
+#define STATIC_ITEM(LABEL,      V...) STATIC_ITEM_P(  GET_TEXT(LABEL), ##V)
422
+#define STATIC_ITEM_N(LABEL, N, V...) STATIC_ITEM_N_P(GET_TEXT(LABEL), ##V)
423
+
424
+#define MENU_ITEM_P(TYPE, PLABEL, V...)              _MENU_ITEM_P(TYPE, false, PLABEL, ##V)
425
+#define MENU_ITEM(TYPE, LABEL, V...)                  MENU_ITEM_P(TYPE, GET_TEXT(LABEL), ##V)
426
+
427
+#define MENU_ITEM_N_P(TYPE, N, PLABEL, V...)       _MENU_ITEM_N_P(TYPE, N, false, PLABEL, ##V)
428
+#define MENU_ITEM_N(TYPE, N, LABEL, V...)           MENU_ITEM_N_P(TYPE, N, GET_TEXT(LABEL), ##V)
376 429
 
377
-#define MENU_ITEM_P(TYPE, PLABEL, V...)       _MENU_ITEM_P(TYPE, false, PLABEL, ##V)
378
-#define MENU_ITEM(TYPE, LABEL, V...)           MENU_ITEM_P(TYPE, GET_TEXT(LABEL), ##V)
430
+#define BACK_ITEM(LABEL)                                MENU_ITEM(back, LABEL)
379 431
 
380
-#define EDIT_ITEM_P(TYPE, PLABEL, V...)        MENU_ITEM_P(TYPE, PLABEL, ##V)
381
-#define EDIT_ITEM(TYPE, LABEL, V...)           EDIT_ITEM_P(TYPE, GET_TEXT(LABEL), ##V)
432
+#define ACTION_ITEM_P(PLABEL, ACTION)                 MENU_ITEM_P(function, PLABEL, ACTION)
433
+#define ACTION_ITEM(LABEL, ACTION)                  ACTION_ITEM_P(GET_TEXT(LABEL),  ACTION)
382 434
 
383
-#define EDIT_ITEM_FAST_P(TYPE, PLABEL, V...)  _MENU_ITEM_P(TYPE, true, PLABEL, ##V)
384
-#define EDIT_ITEM_FAST(TYPE, LABEL, V...) EDIT_ITEM_FAST_P(TYPE, GET_TEXT(LABEL), ##V)
435
+#define ACTION_ITEM_N_P(N, PLABEL, ACTION)          MENU_ITEM_N_P(function, N, PLABEL, ACTION)
436
+#define ACTION_ITEM_N(N, LABEL, ACTION)           ACTION_ITEM_N_P(N, GET_TEXT(LABEL), ACTION)
385 437
 
386
-#define ACTION_ITEM_P(PLABEL, ACTION)          MENU_ITEM_P(function, PLABEL, ACTION)
387
-#define ACTION_ITEM(LABEL, ACTION)           ACTION_ITEM_P(GET_TEXT(LABEL), ACTION)
438
+#define GCODES_ITEM_P(PLABEL, GCODES)                 MENU_ITEM_P(gcode, PLABEL, GCODES)
439
+#define GCODES_ITEM(LABEL, GCODES)                  GCODES_ITEM_P(GET_TEXT(LABEL), GCODES)
388 440
 
389
-#define GCODES_ITEM_P(PLABEL, GCODES)          MENU_ITEM_P(gcode, PLABEL, GCODES)
390
-#define GCODES_ITEM(LABEL, GCODES)           GCODES_ITEM_P(GET_TEXT(LABEL), GCODES)
441
+#define GCODES_ITEM_N_P(N, PLABEL, GCODES)          MENU_ITEM_N_P(gcode, N, PLABEL, GCODES)
442
+#define GCODES_ITEM_N(N, LABEL, GCODES)           GCODES_ITEM_N_P(N, GET_TEXT(LABEL), GCODES)
391 443
 
392
-#define SUBMENU_P(PLABEL, DEST)                MENU_ITEM_P(submenu, PLABEL, DEST)
393
-#define SUBMENU(LABEL, DEST)                     SUBMENU_P(GET_TEXT(LABEL), DEST)
444
+#define SUBMENU_P(PLABEL, DEST)                       MENU_ITEM_P(submenu, PLABEL, DEST)
445
+#define SUBMENU(LABEL, DEST)                            SUBMENU_P(GET_TEXT(LABEL), DEST)
394 446
 
395
-#define BACK_ITEM(LABEL)                         MENU_ITEM(back, LABEL)
396
-#define SKIP_ITEM() (_thisItemNr++)
447
+#define SUBMENU_N_P(N, PLABEL, DEST)                MENU_ITEM_N_P(submenu, N, PLABEL, DEST)
448
+#define SUBMENU_N(N, LABEL, DEST)                     SUBMENU_N_P(N, GET_TEXT(LABEL), DEST)
397 449
 
398
-#define _CONFIRM_ITEM_P(PLABEL, V...) do {                      \
399
-  _skipStatic = false;                                          \
400
-  if (_menuLineNr == _thisItemNr) {                             \
401
-    if (encoderLine == _thisItemNr && ui.use_click()) {         \
402
-      ui.goto_screen([]{MenuItem_confirm::select_screen(V);});  \
403
-      return;                                                   \
404
-    }                                                           \
405
-    if (ui.should_draw()) MenuItem_confirm::draw                \
406
-      (encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ##V);    \
407
-  }                                                             \
408
-  ++_thisItemNr;                                                \
450
+#define EDIT_ITEM_P(TYPE, PLABEL, V...)               MENU_ITEM_P(TYPE, PLABEL, ##V)
451
+#define EDIT_ITEM(TYPE, LABEL, V...)                  EDIT_ITEM_P(TYPE, GET_TEXT(LABEL), ##V)
452
+
453
+#define EDIT_ITEM_N_P(TYPE, N, PLABEL, V...)        MENU_ITEM_N_P(TYPE, N, PLABEL, ##V)
454
+#define EDIT_ITEM_N(TYPE, N, LABEL, V...)           EDIT_ITEM_N_P(TYPE, N, GET_TEXT(LABEL), ##V)
455
+
456
+#define EDIT_ITEM_FAST_P(TYPE, PLABEL, V...)         _MENU_ITEM_P(TYPE, true, PLABEL, ##V)
457
+#define EDIT_ITEM_FAST(TYPE, LABEL, V...)        EDIT_ITEM_FAST_P(TYPE, GET_TEXT(LABEL), ##V)
458
+
459
+#define EDIT_ITEM_FAST_N_P(TYPE, N, PLABEL, V...)  _MENU_ITEM_N_P(TYPE, N, true, PLABEL, ##V)
460
+#define EDIT_ITEM_FAST_N(TYPE, N, LABEL, V...) EDIT_ITEM_FAST_N_P(TYPE, N, GET_TEXT(LABEL), ##V)
461
+
462
+#define _CONFIRM_ITEM_INNER_P(PLABEL, V...) do {              \
463
+  if (encoderLine == _thisItemNr && ui.use_click()) {         \
464
+    ui.goto_screen([]{MenuItem_confirm::select_screen(V);});  \
465
+    return;                                                   \
466
+  }                                                           \
467
+  if (ui.should_draw()) MenuItem_confirm::draw                \
468
+    (encoderLine == _thisItemNr, _lcdLineNr, PLABEL, ##V);    \
469
+}while(0)
470
+
471
+#define _CONFIRM_ITEM_P(PLABEL, V...) do {  \
472
+  _skipStatic = false;                      \
473
+  if (_menuLineNr == _thisItemNr)           \
474
+    _CONFIRM_ITEM_INNER_P(PLABEL, ##V);     \
475
+  NEXT_ITEM();                              \
476
+}while(0)
477
+
478
+// Indexed items set a global index value
479
+#define _CONFIRM_ITEM_N_P(N, V...) do{  \
480
+  _skipStatic = false;                  \
481
+  if (_menuLineNr == _thisItemNr) {     \
482
+    MenuItemBase::init(N);              \
483
+    _CONFIRM_ITEM_INNER_P(TYPE, ##V);   \
484
+  }                                     \
485
+  NEXT_ITEM();                          \
409 486
 }while(0)
410 487
 
411 488
 #define CONFIRM_ITEM_P(PLABEL,A,B,V...) _CONFIRM_ITEM_P(PLABEL, GET_TEXT(A), GET_TEXT(B), ##V)
412 489
 #define CONFIRM_ITEM(LABEL, V...)        CONFIRM_ITEM_P(GET_TEXT(LABEL), ##V)
490
+
413 491
 #define YESNO_ITEM_P(PLABEL, V...)      _CONFIRM_ITEM_P(PLABEL, ##V)
414
-#define YESNO_ITEM(LABEL, V...)         _CONFIRM_ITEM_P(GET_TEXT(LABEL), ##V)
492
+#define YESNO_ITEM(LABEL, V...)            YESNO_ITEM_P(GET_TEXT(LABEL), ##V)
493
+
494
+#define CONFIRM_ITEM_N_P(N,PLABEL,A,B,V...) _CONFIRM_ITEM_N_P(N, PLABEL, GET_TEXT(A), GET_TEXT(B), ##V)
495
+#define CONFIRM_ITEM_N(N,LABEL, V...)        CONFIRM_ITEM_N_P(N, GET_TEXT(LABEL), ##V)
496
+
497
+#define YESNO_ITEM_N_P(N,PLABEL, V...)      _CONFIRM_ITEM_N_P(N, PLABEL, ##V)
498
+#define YESNO_ITEM_N(N,LABEL, V...)            YESNO_ITEM_N_P(N, GET_TEXT(LABEL), ##V)
415 499
 
416 500
 ////////////////////////////////////////////
417 501
 /////////////// Menu Screens ///////////////

+ 29
- 140
Marlin/src/lcd/menu/menu_advanced.cpp 查看文件

@@ -65,7 +65,7 @@ void menu_cancelobject();
65 65
     LOOP_XYZE(i) driverPercent[i] = dac_current_get_percent((AxisEnum)i);
66 66
     START_MENU();
67 67
     BACK_ITEM(MSG_ADVANCED_SETTINGS);
68
-    #define EDIT_DAC_PERCENT(A) EDIT_ITEM(uint8, MSG_##A " " MSG_DAC_PERCENT, &driverPercent[_AXIS(A)], 0, 100, []{ dac_current_set_percents(driverPercent); })
68
+    #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); })
69 69
     EDIT_DAC_PERCENT(X);
70 70
     EDIT_DAC_PERCENT(Y);
71 71
     EDIT_DAC_PERCENT(Z);
@@ -114,22 +114,10 @@ void menu_cancelobject();
114 114
       #if EXTRUDERS == 1
115 115
         EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
116 116
       #elif EXTRUDERS > 1
117
-        #define EDIT_ADVANCE_K(N) EDIT_ITEM(float52, MSG_ADVANCE_K_E##N, &planner.extruder_advance_K[N], 0, 999)
118
-        EDIT_ADVANCE_K(0);
119
-        EDIT_ADVANCE_K(1);
120
-        #if EXTRUDERS > 2
121
-          EDIT_ADVANCE_K(2);
122
-          #if EXTRUDERS > 3
123
-            EDIT_ADVANCE_K(3);
124
-            #if EXTRUDERS > 4
125
-              EDIT_ADVANCE_K(4);
126
-              #if EXTRUDERS > 5
127
-                EDIT_ADVANCE_K(5);
128
-              #endif // EXTRUDERS > 5
129
-            #endif // EXTRUDERS > 4
130
-          #endif // EXTRUDERS > 3
131
-        #endif // EXTRUDERS > 2
132
-      #endif // EXTRUDERS > 1
117
+        #define EDIT_ADVANCE_K(N) EDIT_ITEM_N(float52, N, MSG_ADVANCE_K_E, &planner.extruder_advance_K[N], 0, 999)
118
+        for (uint8_t n = 0; n < EXTRUDERS; n++)
119
+          EDIT_ADVANCE_K(n);
120
+      #endif
133 121
     #endif
134 122
 
135 123
     #if DISABLED(NO_VOLUMETRICS)
@@ -138,24 +126,11 @@ void menu_cancelobject();
138 126
       if (parser.volumetric_enabled) {
139 127
         #if EXTRUDERS == 1
140 128
           EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[0], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
141
-        #else // EXTRUDERS > 1
142
-          #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)
129
+        #elif EXTRUDERS > 1
130
+          #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)
143 131
           EDIT_ITEM_FAST(float43, MSG_FILAMENT_DIAM, &planner.filament_size[active_extruder], 1.5f, 3.25f, planner.calculate_volumetric_multipliers);
144
-          EDIT_FIL_DIAM(0);
145
-          EDIT_FIL_DIAM(1);
146
-          #if EXTRUDERS > 2
147
-            EDIT_FIL_DIAM(2);
148
-            #if EXTRUDERS > 3
149
-              EDIT_FIL_DIAM(3);
150
-              #if EXTRUDERS > 4
151
-                EDIT_FIL_DIAM(4);
152
-                #if EXTRUDERS > 5
153
-                  EDIT_FIL_DIAM(5);
154
-                #endif // EXTRUDERS > 5
155
-              #endif // EXTRUDERS > 4
156
-            #endif // EXTRUDERS > 3
157
-          #endif // EXTRUDERS > 2
158
-        #endif // EXTRUDERS > 1
132
+          for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_DIAM(n);
133
+        #endif
159 134
       }
160 135
     #endif
161 136
 
@@ -171,44 +146,18 @@ void menu_cancelobject();
171 146
       #if EXTRUDERS == 1
172 147
         EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[0].unload_length, 0, extrude_maxlength);
173 148
       #elif EXTRUDERS > 1
174
-        #define EDIT_FIL_UNLOAD(N) EDIT_ITEM_FAST(float3, MSG_FILAMENTUNLOAD_E##N, &fc_settings[N].unload_length, 0, extrude_maxlength)
149
+        #define EDIT_FIL_UNLOAD(N) EDIT_ITEM_FAST_N(float3, N, MSG_FILAMENTUNLOAD_E, &fc_settings[N].unload_length, 0, extrude_maxlength)
175 150
         EDIT_ITEM_FAST(float3, MSG_FILAMENT_UNLOAD, &fc_settings[active_extruder].unload_length, 0, extrude_maxlength);
176
-        EDIT_FIL_UNLOAD(0);
177
-        EDIT_FIL_UNLOAD(1);
178
-        #if EXTRUDERS > 2
179
-          EDIT_FIL_UNLOAD(2);
180
-          #if EXTRUDERS > 3
181
-            EDIT_FIL_UNLOAD(3);
182
-            #if EXTRUDERS > 4
183
-              EDIT_FIL_UNLOAD(4);
184
-              #if EXTRUDERS > 5
185
-                EDIT_FIL_UNLOAD(5);
186
-              #endif // EXTRUDERS > 5
187
-            #endif // EXTRUDERS > 4
188
-          #endif // EXTRUDERS > 3
189
-        #endif // EXTRUDERS > 2
190
-      #endif // EXTRUDERS > 1
151
+        for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_UNLOAD(n);
152
+      #endif
191 153
 
192 154
       #if EXTRUDERS == 1
193 155
         EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[0].load_length, 0, extrude_maxlength);
194 156
       #elif EXTRUDERS > 1
195
-        #define EDIT_FIL_LOAD(N) EDIT_ITEM_FAST(float3, MSG_FILAMENTLOAD_E##N, &fc_settings[N].load_length, 0, extrude_maxlength)
157
+        #define EDIT_FIL_LOAD(N) EDIT_ITEM_FAST_N(float3, N, MSG_FILAMENTLOAD_E, &fc_settings[N].load_length, 0, extrude_maxlength)
196 158
         EDIT_ITEM_FAST(float3, MSG_FILAMENT_LOAD, &fc_settings[active_extruder].load_length, 0, extrude_maxlength);
197
-        EDIT_FIL_LOAD(0);
198
-        EDIT_FIL_LOAD(1);
199
-        #if EXTRUDERS > 2
200
-          EDIT_FIL_LOAD(2);
201
-          #if EXTRUDERS > 3
202
-            EDIT_FIL_LOAD(3);
203
-            #if EXTRUDERS > 4
204
-              EDIT_FIL_LOAD(4);
205
-              #if EXTRUDERS > 5
206
-                EDIT_FIL_LOAD(5);
207
-              #endif // EXTRUDERS > 5
208
-            #endif // EXTRUDERS > 4
209
-          #endif // EXTRUDERS > 3
210
-        #endif // EXTRUDERS > 2
211
-      #endif // EXTRUDERS > 1
159
+        for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FIL_LOAD(n);
160
+      #endif
212 161
     #endif
213 162
 
214 163
     #if ENABLED(FILAMENT_RUNOUT_SENSOR) && FILAMENT_RUNOUT_DISTANCE_MM
@@ -339,26 +288,18 @@ void menu_cancelobject();
339 288
     // PID-P E5, PID-I E5, PID-D E5, PID-C E5, PID Autotune E5
340 289
     //
341 290
 
342
-    #if EITHER(PID_EDIT_MENU, PID_AUTOTUNE_MENU)
343
-      #if HOTENDS > 1 && ENABLED(PID_PARAMS_PER_HOTEND)
344
-        #define PID_LABEL(MSG,N) MSG##_E##N
345
-      #else
346
-        #define PID_LABEL(MSG,N) MSG
347
-      #endif
348
-    #endif
349
-
350 291
     #if ENABLED(PID_EDIT_MENU)
351 292
       #define _PID_BASE_MENU_ITEMS(N) \
352 293
         raw_Ki = unscalePID_i(PID_PARAM(Ki, N)); \
353 294
         raw_Kd = unscalePID_d(PID_PARAM(Kd, N)); \
354
-        EDIT_ITEM(float52sign, PID_LABEL(MSG_PID_P,N), &PID_PARAM(Kp, N), 1, 9990); \
355
-        EDIT_ITEM(float52sign, PID_LABEL(MSG_PID_I,N), &raw_Ki, 0.01f, 9990, []{ copy_and_scalePID_i(N); }); \
356
-        EDIT_ITEM(float52sign, PID_LABEL(MSG_PID_D,N), &raw_Kd, 1, 9990, []{ copy_and_scalePID_d(N); })
295
+        EDIT_ITEM_N(float52sign, N, MSG_PID_P_E, &PID_PARAM(Kp, N), 1, 9990); \
296
+        EDIT_ITEM_N(float52sign, N, MSG_PID_I_E, &raw_Ki, 0.01f, 9990, []{ copy_and_scalePID_i(N); }); \
297
+        EDIT_ITEM_N(float52sign, N, MSG_PID_D_E, &raw_Kd, 1, 9990, []{ copy_and_scalePID_d(N); })
357 298
 
358 299
       #if ENABLED(PID_EXTRUSION_SCALING)
359 300
         #define _PID_EDIT_MENU_ITEMS(N) \
360 301
           _PID_BASE_MENU_ITEMS(N); \
361
-          EDIT_ITEM(float3, PID_LABEL(MSG_PID_C,N), &PID_PARAM(Kc, N), 1, 9990)
302
+          EDIT_ITEM(float3, MSG_PID_C_E, N, &PID_PARAM(Kc, N), 1, 9990)
362 303
       #else
363 304
         #define _PID_EDIT_MENU_ITEMS(N) _PID_BASE_MENU_ITEMS(N)
364 305
       #endif
@@ -372,7 +313,7 @@ void menu_cancelobject();
372 313
     #if ENABLED(PID_AUTOTUNE_MENU)
373 314
       #define PID_EDIT_MENU_ITEMS(N) \
374 315
         _PID_EDIT_MENU_ITEMS(N); \
375
-        EDIT_ITEM_FAST(int3, PID_LABEL(MSG_AUTOTUNE_PID,N), &autotune_temp[N], 150, heater_maxtemp[N] - 15, []{ _lcd_autotune(N); })
316
+        EDIT_ITEM_FAST_N(int3, N, MSG_PID_AUTOTUNE_E, &autotune_temp[N], 150, heater_maxtemp[N] - 15, []{ _lcd_autotune(MenuItemBase::itemIndex); })
376 317
     #else
377 318
       #define PID_EDIT_MENU_ITEMS(N) _PID_EDIT_MENU_ITEMS(N)
378 319
     #endif
@@ -437,22 +378,9 @@ void menu_cancelobject();
437 378
     EDIT_VMAX(C);
438 379
 
439 380
     #if ENABLED(DISTINCT_E_FACTORS)
440
-      #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)
381
+      #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)
441 382
       EDIT_ITEM_FAST(float3, MSG_VMAX_E, &planner.settings.max_feedrate_mm_s[E_AXIS_N(active_extruder)], 1, max_fr_edit_scaled.e);
442
-      EDIT_VMAX_E(0);
443
-      EDIT_VMAX_E(1);
444
-      #if E_STEPPERS > 2
445
-        EDIT_VMAX_E(2);
446
-        #if E_STEPPERS > 3
447
-          EDIT_VMAX_E(3);
448
-          #if E_STEPPERS > 4
449
-            EDIT_VMAX_E(4);
450
-            #if E_STEPPERS > 5
451
-              EDIT_VMAX_E(5);
452
-            #endif // E_STEPPERS > 5
453
-          #endif // E_STEPPERS > 4
454
-        #endif // E_STEPPERS > 3
455
-      #endif // E_STEPPERS > 2
383
+      for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_VMAX_E(n);
456 384
     #elif E_STEPPERS
457 385
       EDIT_ITEM_FAST(float3, MSG_VMAX_E, &planner.settings.max_feedrate_mm_s[E_AXIS], 1, max_fr_edit_scaled.e);
458 386
     #endif
@@ -504,22 +432,9 @@ void menu_cancelobject();
504 432
     EDIT_AMAX(C, 10);
505 433
 
506 434
     #if ENABLED(DISTINCT_E_FACTORS)
507
-      #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); })
435
+      #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); })
508 436
       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(); });
509
-      EDIT_AMAX_E(0);
510
-      EDIT_AMAX_E(1);
511
-      #if E_STEPPERS > 2
512
-        EDIT_AMAX_E(2);
513
-        #if E_STEPPERS > 3
514
-          EDIT_AMAX_E(3);
515
-          #if E_STEPPERS > 4
516
-            EDIT_AMAX_E(4);
517
-            #if E_STEPPERS > 5
518
-              EDIT_AMAX_E(5);
519
-            #endif // E_STEPPERS > 5
520
-          #endif // E_STEPPERS > 4
521
-        #endif // E_STEPPERS > 3
522
-      #endif // E_STEPPERS > 2
437
+      for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_AMAX_E(n);
523 438
     #elif E_STEPPERS
524 439
       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(); });
525 440
     #endif
@@ -576,22 +491,9 @@ void menu_cancelobject();
576 491
     EDIT_QSTEPS(C);
577 492
 
578 493
     #if ENABLED(DISTINCT_E_FACTORS)
579
-      #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); })
494
+      #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); })
580 495
       EDIT_ITEM_FAST(float51, MSG_E_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS_N(active_extruder)], 5, 9999, []{ planner.refresh_positioning(); });
581
-      EDIT_ESTEPS(0);
582
-      EDIT_ESTEPS(1);
583
-      #if E_STEPPERS > 2
584
-        EDIT_ESTEPS(2);
585
-        #if E_STEPPERS > 3
586
-          EDIT_ESTEPS(3);
587
-          #if E_STEPPERS > 4
588
-            EDIT_ESTEPS(4);
589
-            #if E_STEPPERS > 5
590
-              EDIT_ESTEPS(5);
591
-            #endif // E_STEPPERS > 5
592
-          #endif // E_STEPPERS > 4
593
-        #endif // E_STEPPERS > 3
594
-      #endif // E_STEPPERS > 2
496
+      for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_ESTEPS(n);
595 497
     #elif E_STEPPERS
596 498
       EDIT_ITEM_FAST(float51, MSG_E_STEPS, &planner.settings.axis_steps_per_mm[E_AXIS], 5, 9999, []{ planner.refresh_positioning(); });
597 499
     #endif
@@ -661,22 +563,9 @@ void menu_advanced_settings() {
661 563
     #if EXTRUDERS == 1
662 564
       EDIT_ITEM(float52, MSG_ADVANCE_K, &planner.extruder_advance_K[0], 0, 999);
663 565
     #elif EXTRUDERS > 1
664
-      #define EDIT_ADVANCE_K(N) EDIT_ITEM(float52, MSG_ADVANCE_K_E##N, &planner.extruder_advance_K[N], 0, 999)
665
-      EDIT_ADVANCE_K(0);
666
-      EDIT_ADVANCE_K(1);
667
-      #if EXTRUDERS > 2
668
-        EDIT_ADVANCE_K(2);
669
-        #if EXTRUDERS > 3
670
-          EDIT_ADVANCE_K(3);
671
-          #if EXTRUDERS > 4
672
-            EDIT_ADVANCE_K(4);
673
-            #if EXTRUDERS > 5
674
-              EDIT_ADVANCE_K(5);
675
-            #endif // EXTRUDERS > 5
676
-          #endif // EXTRUDERS > 4
677
-        #endif // EXTRUDERS > 3
678
-      #endif // EXTRUDERS > 2
679
-    #endif // EXTRUDERS > 1
566
+      #define EDIT_ADVANCE_K(N) EDIT_ITEM_N(float52, N, MSG_ADVANCE_K_E, &planner.extruder_advance_K[N], 0, 999)
567
+      for (uint8_t n = 0; n < E_STEPPERS; n++) EDIT_ADVANCE_K(n);
568
+    #endif
680 569
   #endif
681 570
 
682 571
   // M540 S - Abort on endstop hit when SD printing

+ 2
- 2
Marlin/src/lcd/menu/menu_bed_leveling.cpp 查看文件

@@ -132,7 +132,7 @@
132 132
     //
133 133
     if (ui.should_draw()) {
134 134
       const float v = current_position.z;
135
-      MenuEditItemBase::edit_screen(GET_TEXT(MSG_MOVE_Z), ftostr43sign(v + (v < 0 ? -0.0001f : 0.0001f), '+'));
135
+      MenuEditItemBase::draw_edit_screen(GET_TEXT(MSG_MOVE_Z), ftostr43sign(v + (v < 0 ? -0.0001f : 0.0001f), '+'));
136 136
     }
137 137
   }
138 138
 
@@ -143,7 +143,7 @@
143 143
     if (ui.should_draw()) {
144 144
       char msg[10];
145 145
       sprintf_P(msg, PSTR("%i / %u"), int(manual_probe_index + 1), total_probe_points);
146
-      MenuEditItemBase::edit_screen(GET_TEXT(MSG_LEVEL_BED_NEXT_POINT), msg);
146
+      MenuEditItemBase::draw_edit_screen(GET_TEXT(MSG_LEVEL_BED_NEXT_POINT), msg);
147 147
     }
148 148
     ui.refresh(LCDVIEW_CALL_NO_REDRAW);
149 149
     if (!ui.wait_for_bl_move) ui.goto_screen(_lcd_level_bed_get_z);

+ 4
- 9
Marlin/src/lcd/menu/menu_cancelobject.cpp 查看文件

@@ -34,7 +34,7 @@
34 34
 #include "../../feature/cancel_object.h"
35 35
 
36 36
 static void lcd_cancel_object_confirm() {
37
-  const int8_t v = editable.int8;
37
+  const int8_t v = MenuItemBase::itemIndex;
38 38
   const char item_num[] = {
39 39
     ' ',
40 40
     char((v > 9) ? '0' + (v / 10) : ' '),
@@ -43,7 +43,7 @@ static void lcd_cancel_object_confirm() {
43 43
   };
44 44
   MenuItem_confirm::confirm_screen(
45 45
     []{
46
-      cancelable.cancel_object(editable.int8 - 1);
46
+      cancelable.cancel_object(MenuItemBase::itemIndex - 1);
47 47
       #if HAS_BUZZER
48 48
         ui.completion_feedback();
49 49
       #endif
@@ -63,13 +63,8 @@ void menu_cancelobject() {
63 63
   for (int8_t i = -1; i < cancelable.object_count; i++) {
64 64
     if (i == a) continue;
65 65
     int8_t j = i < 0 ? a : i;
66
-    if (!cancelable.is_canceled(j)) {
67
-      editable.int8 = j + 1;
68
-      SUBMENU(MSG_CANCEL_OBJECT, lcd_cancel_object_confirm);
69
-      MENU_ITEM_ADDON_START(LCD_WIDTH - 2 - (j >= 9));
70
-        lcd_put_int(editable.int8);
71
-      MENU_ITEM_ADDON_END();
72
-    }
66
+    if (!cancelable.is_canceled(j))
67
+      SUBMENU_N(j, MSG_CANCEL_OBJECT_N, lcd_cancel_object_confirm);
73 68
     if (i < 0) SKIP_ITEM();
74 69
   }
75 70
 

+ 62
- 131
Marlin/src/lcd/menu/menu_filament.cpp 查看文件

@@ -107,155 +107,86 @@ void _menu_temp_filament_op(const PauseMode mode, const int8_t extruder) {
107 107
 
108 108
     // Change filament
109 109
     #if E_STEPPERS == 1
110
-      PGM_P const msg0 = GET_TEXT(MSG_FILAMENTCHANGE);
110
+      PGM_P const msg = GET_TEXT(MSG_FILAMENTCHANGE);
111 111
       if (thermalManager.targetTooColdToExtrude(active_extruder))
112
-        SUBMENU_P(msg0, []{ _menu_temp_filament_op(PauseMode(editable.int8), 0); });
112
+        SUBMENU_P(msg, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, 0); });
113 113
       else
114
-        GCODES_ITEM_P(msg0, PSTR("M600 B0"));
114
+        GCODES_ITEM_P(msg, PSTR("M600 B0"));
115 115
     #else
116
-      PGM_P const msg0 = GET_TEXT(MSG_FILAMENTCHANGE_E0);
117
-      PGM_P const msg1 = GET_TEXT(MSG_FILAMENTCHANGE_E1);
118
-      if (thermalManager.targetTooColdToExtrude(0))
119
-        SUBMENU_P(msg0, []{ _menu_temp_filament_op(PauseMode(editable.int8), 0); });
120
-      else
121
-        GCODES_ITEM_P(msg0, PSTR("M600 B0 T0"));
122
-      if (thermalManager.targetTooColdToExtrude(1))
123
-        SUBMENU_P(msg1, []{ _menu_temp_filament_op(PauseMode(editable.int8), 1); });
124
-      else
125
-        GCODES_ITEM_P(msg1, PSTR("M600 B0 T1"));
126
-      #if E_STEPPERS > 2
127
-        PGM_P const msg2 = GET_TEXT(MSG_FILAMENTCHANGE_E2);
128
-        if (thermalManager.targetTooColdToExtrude(2))
129
-          SUBMENU_P(msg2, []{ _menu_temp_filament_op(PauseMode(editable.int8), 2); });
130
-        else
131
-          GCODES_ITEM_P(msg2, PSTR("M600 B0 T2"));
132
-        #if E_STEPPERS > 3
133
-          PGM_P const msg3 = GET_TEXT(MSG_FILAMENTCHANGE_E3);
134
-          if (thermalManager.targetTooColdToExtrude(3))
135
-            SUBMENU_P(msg3, []{ _menu_temp_filament_op(PauseMode(editable.int8), 3); });
136
-          else
137
-            GCODES_ITEM_P(msg3, PSTR("M600 B0 T3"));
138
-          #if E_STEPPERS > 4
139
-            PGM_P const msg4 = GET_TEXT(MSG_FILAMENTCHANGE_E4);
140
-            if (thermalManager.targetTooColdToExtrude(4))
141
-              SUBMENU_P(msg4, []{ _menu_temp_filament_op(PauseMode(editable.int8), 4); });
142
-            else
143
-              GCODES_ITEM_P(msg4, PSTR("M600 B0 T4"));
144
-            #if E_STEPPERS > 5
145
-              PGM_P const msg5 = GET_TEXT(MSG_FILAMENTCHANGE_E5);
146
-              if (thermalManager.targetTooColdToExtrude(5))
147
-                SUBMENU_P(msg5, []{ _menu_temp_filament_op(PauseMode(editable.int8), 5); });
148
-              else
149
-                GCODES_ITEM_P(msg5, PSTR("M600 B0 T5"));
150
-            #endif // E_STEPPERS > 5
151
-          #endif // E_STEPPERS > 4
152
-        #endif // E_STEPPERS > 3
153
-      #endif // E_STEPPERS > 2
154
-    #endif // E_STEPPERS == 1
116
+      PGM_P const msg = GET_TEXT(MSG_FILAMENTCHANGE_E);
117
+      for (uint8_t s = 0; s < E_STEPPERS; s++) {
118
+        if (thermalManager.targetTooColdToExtrude(s))
119
+          SUBMENU_N_P(s, msg, []{ _menu_temp_filament_op(PAUSE_MODE_CHANGE_FILAMENT, MenuItemBase::itemIndex); });
120
+        else {
121
+          ACTION_ITEM_N_P(s, msg, []{
122
+            char cmd[12];
123
+            sprintf_P(cmd, PSTR("M600 B0 T%i"), int(MenuItemBase::itemIndex));
124
+            lcd_enqueue_one_now(cmd);
125
+          });
126
+        }
127
+      }
128
+    #endif
155 129
 
156 130
     #if ENABLED(FILAMENT_LOAD_UNLOAD_GCODES)
157 131
       if (!printer_busy()) {
158 132
         // Load filament
159 133
         #if E_STEPPERS == 1
160
-          PGM_P const msg0 = GET_TEXT(MSG_FILAMENTLOAD);
134
+          PGM_P const msg_load = GET_TEXT(MSG_FILAMENTLOAD);
161 135
           if (thermalManager.targetTooColdToExtrude(active_extruder))
162
-            SUBMENU_P(msg0, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); });
136
+            SUBMENU_P(msg_load, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); });
163 137
           else
164
-            GCODES_ITEM_P(msg0, PSTR("M701"));
138
+            GCODES_ITEM_P(msg_load, PSTR("M701"));
165 139
         #else
166
-          PGM_P const msg0 = GET_TEXT(MSG_FILAMENTLOAD_E0);
167
-          PGM_P const msg1 = GET_TEXT(MSG_FILAMENTLOAD_E1);
168
-          if (thermalManager.targetTooColdToExtrude(0))
169
-            SUBMENU_P(msg0, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 0); });
170
-          else
171
-            GCODES_ITEM_P(msg0, PSTR("M701 T0"));
172
-          if (thermalManager.targetTooColdToExtrude(1))
173
-            SUBMENU_P(msg1, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 1); });
174
-          else
175
-            GCODES_ITEM_P(msg1, PSTR("M701 T1"));
176
-          #if E_STEPPERS > 2
177
-            PGM_P const msg2 = GET_TEXT(MSG_FILAMENTLOAD_E2);
178
-            if (thermalManager.targetTooColdToExtrude(2))
179
-              SUBMENU_P(msg2, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 2); });
180
-            else
181
-              GCODES_ITEM_P(msg2, PSTR("M701 T2"));
182
-            #if E_STEPPERS > 3
183
-              PGM_P const msg3 = GET_TEXT(MSG_FILAMENTLOAD_E3);
184
-              if (thermalManager.targetTooColdToExtrude(3))
185
-                SUBMENU_P(msg3, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 3); });
186
-              else
187
-                GCODES_ITEM_P(msg3, PSTR("M701 T3"));
188
-              #if E_STEPPERS > 4
189
-                PGM_P const msg4 = GET_TEXT(MSG_FILAMENTLOAD_E4);
190
-                if (thermalManager.targetTooColdToExtrude(4))
191
-                  SUBMENU_P(msg4, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 4); });
192
-                else
193
-                  GCODES_ITEM_P(msg4, PSTR("M701 T4"));
194
-                #if E_STEPPERS > 5
195
-                  PGM_P const msg5 = GET_TEXT(MSG_FILAMENTLOAD_E5);
196
-                  if (thermalManager.targetTooColdToExtrude(5))
197
-                    SUBMENU_P(msg5, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, 5); });
198
-                  else
199
-                    GCODES_ITEM_P(msg5, PSTR("M701 T5"));
200
-                #endif // E_STEPPERS > 5
201
-              #endif // E_STEPPERS > 4
202
-            #endif // E_STEPPERS > 3
203
-          #endif // E_STEPPERS > 2
204
-        #endif // E_STEPPERS == 1
140
+          PGM_P const msg_load = GET_TEXT(MSG_FILAMENTLOAD_E);
141
+          for (uint8_t s = 0; s < E_STEPPERS; s++) {
142
+            if (thermalManager.targetTooColdToExtrude(s))
143
+              SUBMENU_N_P(s, msg_load, []{ _menu_temp_filament_op(PAUSE_MODE_LOAD_FILAMENT, MenuItemBase::itemIndex); });
144
+            else {
145
+              ACTION_ITEM_N_P(s, msg_load, []{
146
+                char cmd[12];
147
+                sprintf_P(cmd, PSTR("M701 T%i"), int(MenuItemBase::itemIndex));
148
+                lcd_enqueue_one_now(cmd);
149
+              });
150
+            }
151
+          }
152
+        #endif
205 153
 
206 154
         // Unload filament
207 155
         #if E_STEPPERS == 1
208
-          if (thermalManager.targetHotEnoughToExtrude(active_extruder))
209
-            GCODES_ITEM(MSG_FILAMENTUNLOAD, PSTR("M702"));
156
+          PGM_P const msg_unload = GET_TEXT(MSG_FILAMENTUNLOAD);
157
+          if (thermalManager.targetTooColdToExtrude(active_extruder))
158
+            SUBMENU_P(msg_unload, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); });
210 159
           else
211
-            SUBMENU(MSG_FILAMENTUNLOAD, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); });
160
+            GCODES_ITEM_P(msg_unload, PSTR("M702"));
212 161
         #else
213 162
           #if ENABLED(FILAMENT_UNLOAD_ALL_EXTRUDERS)
214
-            if (JOIN_N(E_STEPPERS, &&,
215
-              thermalManager.targetHotEnoughToExtrude(0),
216
-              thermalManager.targetHotEnoughToExtrude(1),
217
-              thermalManager.targetHotEnoughToExtrude(2),
218
-              thermalManager.targetHotEnoughToExtrude(3),
219
-              thermalManager.targetHotEnoughToExtrude(4),
220
-              thermalManager.targetHotEnoughToExtrude(5))
221
-            ) GCODES_ITEM(MSG_FILAMENTUNLOAD_ALL, PSTR("M702"));
222
-          else
223
-            SUBMENU(MSG_FILAMENTUNLOAD_ALL, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, -1); });
224
-          #endif
225
-          if (thermalManager.targetHotEnoughToExtrude(0))
226
-            GCODES_ITEM(MSG_FILAMENTUNLOAD_E0, PSTR("M702 T0"));
227
-          else
228
-            SUBMENU(MSG_FILAMENTUNLOAD_E0, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 0); });
229
-          if (thermalManager.targetHotEnoughToExtrude(1))
230
-            GCODES_ITEM(MSG_FILAMENTUNLOAD_E1, PSTR("M702 T1"));
231
-          else
232
-            SUBMENU(MSG_FILAMENTUNLOAD_E1, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 1); });
233
-          #if E_STEPPERS > 2
234
-            if (thermalManager.targetHotEnoughToExtrude(2))
235
-              GCODES_ITEM(MSG_FILAMENTUNLOAD_E2, PSTR("M702 T2"));
163
+          {
164
+            bool too_cold = false;
165
+            for (uint8_t s = 0; s < E_STEPPERS; s++) {
166
+              if (thermalManager.targetTooColdToExtrude(s)) {
167
+                too_cold = true; break;
168
+              }
169
+            }
170
+            if (!too_cold)
171
+              GCODES_ITEM(MSG_FILAMENTUNLOAD_ALL, PSTR("M702"));
236 172
             else
237
-              SUBMENU(MSG_FILAMENTUNLOAD_E2, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 2); });
238
-            #if E_STEPPERS > 3
239
-              if (thermalManager.targetHotEnoughToExtrude(3))
240
-                GCODES_ITEM(MSG_FILAMENTUNLOAD_E3, PSTR("M702 T3"));
241
-              else
242
-                SUBMENU(MSG_FILAMENTUNLOAD_E3, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 3); });
243
-              #if E_STEPPERS > 4
244
-                if (thermalManager.targetHotEnoughToExtrude(4))
245
-                  GCODES_ITEM(MSG_FILAMENTUNLOAD_E4, PSTR("M702 T4"));
246
-                else
247
-                  SUBMENU(MSG_FILAMENTUNLOAD_E4, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 4); });
248
-                #if E_STEPPERS > 5
249
-                  if (thermalManager.targetHotEnoughToExtrude(5))
250
-                    GCODES_ITEM(MSG_FILAMENTUNLOAD_E5, PSTR("M702 T5"));
251
-                  else
252
-                    SUBMENU(MSG_FILAMENTUNLOAD_E5, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, 5); });
253
-                #endif // E_STEPPERS > 5
254
-              #endif // E_STEPPERS > 4
255
-            #endif // E_STEPPERS > 3
256
-          #endif // E_STEPPERS > 2
257
-        #endif // E_STEPPERS == 1
258
-      }
173
+              SUBMENU(MSG_FILAMENTUNLOAD_ALL, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, -1); });
174
+          }
175
+          #endif
176
+          PGM_P const msg_unload = GET_TEXT(MSG_FILAMENTUNLOAD_E);
177
+          for (uint8_t s = 0; s < E_STEPPERS; s++) {
178
+            if (thermalManager.targetTooColdToExtrude(s))
179
+              SUBMENU_N_P(s, msg_unload, []{ _menu_temp_filament_op(PAUSE_MODE_UNLOAD_FILAMENT, MenuItemBase::itemIndex); });
180
+            else {
181
+              ACTION_ITEM_N_P(s, msg_unload, []{
182
+                char cmd[12];
183
+                sprintf_P(cmd, PSTR("M702 T%i"), int(MenuItemBase::itemIndex));
184
+                lcd_enqueue_one_now(cmd);
185
+              });
186
+            }
187
+          }
188
+        #endif
189
+      } // !printer_busy
259 190
     #endif
260 191
 
261 192
     END_MENU();

+ 3
- 3
Marlin/src/lcd/menu/menu_media.cpp 查看文件

@@ -34,7 +34,7 @@
34 34
 void lcd_sd_updir() {
35 35
   ui.encoderPosition = card.cdup() ? ENCODER_STEPS_PER_MENU_ITEM : 0;
36 36
   encoderTopLine = 0;
37
-  screen_changed = true;
37
+  ui.screen_changed = true;
38 38
   ui.refresh();
39 39
 }
40 40
 
@@ -52,7 +52,7 @@ void lcd_sd_updir() {
52 52
     //  safe_delay(50);
53 53
     //  ui.synchronize();
54 54
     //  ui.refresh(LCDVIEW_CALL_REDRAW_NEXT);
55
-    //  ui.drawing_screen = screen_changed = true;
55
+    //  ui.drawing_screen = ui.screen_changed = true;
56 56
     //#endif
57 57
 
58 58
     goto_screen(menu_media, sd_encoder_position, sd_top_line, sd_items);
@@ -112,7 +112,7 @@ class MenuItem_sdfolder : public MenuItem_sdbase {
112 112
       card.cd(theCard.filename);
113 113
       encoderTopLine = 0;
114 114
       ui.encoderPosition = 2 * (ENCODER_STEPS_PER_MENU_ITEM);
115
-      screen_changed = true;
115
+      ui.screen_changed = true;
116 116
       #if HAS_GRAPHICAL_LCD
117 117
         ui.drawing_screen = false;
118 118
       #endif

+ 14
- 27
Marlin/src/lcd/menu/menu_mixer.cpp 查看文件

@@ -156,34 +156,9 @@ void _lcd_mixer_select_vtool() {
156 156
 
157 157
 void lcd_mixer_mix_edit() {
158 158
 
159
-  #if CHANNEL_MIX_EDITING
160
-
161
-    START_MENU();
162
-    BACK_ITEM(MSG_MIXER);
163
-
164
-    #define EDIT_COLOR(N) EDIT_ITEM_FAST(float52, MSG_MIX_COMPONENT_##N, &mixer.collector[N-1], 0, 10);
165
-
166
-    EDIT_COLOR(1);
167
-    EDIT_COLOR(2);
168
-    #if MIXING_STEPPERS > 2
169
-      EDIT_COLOR(3);
170
-      #if MIXING_STEPPERS > 3
171
-        EDIT_COLOR(4);
172
-        #if MIXING_STEPPERS > 4
173
-          EDIT_COLOR(5);
174
-          #if MIXING_STEPPERS > 5
175
-            EDIT_COLOR(6);
176
-          #endif
177
-        #endif
178
-      #endif
179
-    #endif
180
-
181
-    ACTION_ITEM(MSG_CYCLE_MIX, _lcd_mixer_cycle_mix);
182
-    ACTION_ITEM(MSG_COMMIT_VTOOL, _lcd_mixer_commit_vtool);
183
-    END_MENU();
184
-
185
-  #elif DUAL_MIXING_EXTRUDER
159
+  #if DUAL_MIXING_EXTRUDER && !CHANNEL_MIX_EDITING
186 160
 
161
+    // Adjust 2-channel mix from the encoder
187 162
     if (ui.encoderPosition != 0) {
188 163
       mixer.mix[0] += int32_t(ui.encoderPosition);
189 164
       ui.encoderPosition = 0;
@@ -193,6 +168,7 @@ void lcd_mixer_mix_edit() {
193 168
     }
194 169
     _lcd_draw_mix((LCD_HEIGHT - 1) / 2);
195 170
 
171
+    // Click to commit the change
196 172
     if (ui.lcd_clicked) {
197 173
       mixer.update_vtool_from_mix();
198 174
       ui.goto_previous_screen();
@@ -202,6 +178,17 @@ void lcd_mixer_mix_edit() {
202 178
 
203 179
     START_MENU();
204 180
     BACK_ITEM(MSG_MIXER);
181
+
182
+    #if CHANNEL_MIX_EDITING
183
+
184
+      for (uint8_t n = 1; n <= MIXING_STEPPERS; n++)
185
+        EDIT_ITEM_FAST_N(float52, n, MSG_MIX_COMPONENT_N, &mixer.collector[n-1], 0, 10);
186
+
187
+      ACTION_ITEM(MSG_CYCLE_MIX, _lcd_mixer_cycle_mix);
188
+      ACTION_ITEM(MSG_COMMIT_VTOOL, _lcd_mixer_commit_vtool);
189
+
190
+    #endif
191
+
205 192
     END_MENU();
206 193
 
207 194
   #endif

+ 37
- 60
Marlin/src/lcd/menu/menu_motion.cpp 查看文件

@@ -74,7 +74,7 @@ inline void manual_move_to_current(AxisEnum axis
74 74
 // "Motion" > "Move Axis" submenu
75 75
 //
76 76
 
77
-static void _lcd_move_xyz(PGM_P name, AxisEnum axis) {
77
+static void _lcd_move_xyz(PGM_P const name, const AxisEnum axis) {
78 78
   if (ui.use_click()) return ui.goto_previous_screen_no_defer();
79 79
   if (ui.encoderPosition && !ui.processing_manual_move) {
80 80
 
@@ -147,7 +147,7 @@ static void _lcd_move_xyz(PGM_P name, AxisEnum axis) {
147 147
         + manual_move_offset
148 148
       #endif
149 149
     , axis);
150
-    MenuEditItemBase::edit_screen(name, move_menu_scale >= 0.1f ? ftostr41sign(pos) : ftostr43sign(pos));
150
+    MenuEditItemBase::draw_edit_screen(name, move_menu_scale >= 0.1f ? ftostr41sign(pos) : ftostr43sign(pos));
151 151
   }
152 152
 }
153 153
 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); }
180 180
       ui.encoderPosition = 0;
181 181
     }
182 182
     if (ui.should_draw()) {
183
-      PGM_P pos_label = GET_TEXT(MSG_MOVE_E);
184 183
       #if E_MANUAL > 1
185
-        switch (eindex) {
186
-          default: pos_label = GET_TEXT(MSG_MOVE_E0); break;
187
-          case 1: pos_label = GET_TEXT(MSG_MOVE_E1); break;
188
-          #if E_MANUAL > 2
189
-            case 2: pos_label = GET_TEXT(MSG_MOVE_E2); break;
190
-            #if E_MANUAL > 3
191
-              case 3: pos_label = GET_TEXT(MSG_MOVE_E3); break;
192
-              #if E_MANUAL > 4
193
-                case 4: pos_label = GET_TEXT(MSG_MOVE_E4); break;
194
-                #if E_MANUAL > 5
195
-                  case 5: pos_label = GET_TEXT(MSG_MOVE_E5); break;
196
-                #endif // E_MANUAL > 5
197
-              #endif // E_MANUAL > 4
198
-            #endif // E_MANUAL > 3
199
-          #endif // E_MANUAL > 2
200
-        }
201
-      #endif // E_MANUAL > 1
202
-
203
-      MenuEditItemBase::edit_screen(pos_label, ftostr41sign(current_position.e
204
-        #if IS_KINEMATIC
205
-          + manual_move_offset
206
-        #endif
207
-        #if ENABLED(MANUAL_E_MOVES_RELATIVE)
208
-          - manual_move_e_origin
209
-        #endif
210
-      ));
211
-    }
184
+        MenuItemBase::init(eindex);
185
+      #endif
186
+      MenuEditItemBase::draw_edit_screen(
187
+        GET_TEXT(
188
+          #if E_MANUAL > 1
189
+            MSG_MOVE_EN
190
+          #else
191
+            MSG_MOVE_E
192
+          #endif
193
+        ),
194
+        ftostr41sign(current_position.e
195
+          #if IS_KINEMATIC
196
+            + manual_move_offset
197
+          #endif
198
+          #if ENABLED(MANUAL_E_MOVES_RELATIVE)
199
+            - manual_move_e_origin
200
+          #endif
201
+        )
202
+      );
203
+    } // should_draw
212 204
   }
213 205
 
214 206
 #endif // E_MANUAL
@@ -310,35 +302,35 @@ void menu_move() {
310 302
 
311 303
     #if EXTRUDERS >= 4
312 304
       switch (active_extruder) {
313
-        case 0: GCODES_ITEM(MSG_SELECT_E1, PSTR("T1")); break;
314
-        case 1: GCODES_ITEM(MSG_SELECT_E0, PSTR("T0")); break;
315
-        case 2: GCODES_ITEM(MSG_SELECT_E3, PSTR("T3")); break;
316
-        case 3: GCODES_ITEM(MSG_SELECT_E2, PSTR("T2")); break;
305
+        case 0: GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1")); break;
306
+        case 1: GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0")); break;
307
+        case 2: GCODES_ITEM_N(3, MSG_SELECT_E, PSTR("T3")); break;
308
+        case 3: GCODES_ITEM_N(2, MSG_SELECT_E, PSTR("T2")); break;
317 309
         #if EXTRUDERS == 6
318
-          case 4: GCODES_ITEM(MSG_SELECT_E5, PSTR("T5")); break;
319
-          case 5: GCODES_ITEM(MSG_SELECT_E4, PSTR("T4")); break;
310
+          case 4: GCODES_ITEM_N(5, MSG_SELECT_E, PSTR("T5")); break;
311
+          case 5: GCODES_ITEM_N(4, MSG_SELECT_E, PSTR("T4")); break;
320 312
         #endif
321 313
       }
322 314
     #elif EXTRUDERS == 3
323 315
       if (active_extruder < 2) {
324 316
         if (active_extruder)
325
-          GCODES_ITEM(MSG_SELECT_E0, PSTR("T0"));
317
+          GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
326 318
         else
327
-          GCODES_ITEM(MSG_SELECT_E1, PSTR("T1"));
319
+          GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
328 320
       }
329 321
     #else
330 322
       if (active_extruder)
331
-        GCODES_ITEM(MSG_SELECT_E0, PSTR("T0"));
323
+        GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
332 324
       else
333
-        GCODES_ITEM(MSG_SELECT_E1, PSTR("T1"));
325
+        GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
334 326
     #endif
335 327
 
336 328
   #elif ENABLED(DUAL_X_CARRIAGE)
337 329
 
338 330
     if (active_extruder)
339
-      GCODES_ITEM(MSG_SELECT_E0, PSTR("T0"));
331
+      GCODES_ITEM_N(0, MSG_SELECT_E, PSTR("T0"));
340 332
     else
341
-      GCODES_ITEM(MSG_SELECT_E1, PSTR("T1"));
333
+      GCODES_ITEM_N(1, MSG_SELECT_E, PSTR("T1"));
342 334
 
343 335
   #endif
344 336
 
@@ -347,7 +339,7 @@ void menu_move() {
347 339
     // The current extruder
348 340
     SUBMENU(MSG_MOVE_E, []{ _menu_move_distance(E_AXIS, []{ lcd_move_e(); }, -1); });
349 341
 
350
-    #define SUBMENU_MOVE_E(N) SUBMENU(MSG_MOVE_E##N, []{ _menu_move_distance(E_AXIS, []{ lcd_move_e(N); }, N); });
342
+    #define SUBMENU_MOVE_E(N) SUBMENU_N(N, MSG_MOVE_EN, []{ _menu_move_distance(E_AXIS, []{ lcd_move_e(MenuItemBase::itemIndex); }, MenuItemBase::itemIndex); });
351 343
 
352 344
     #if EITHER(SWITCHING_EXTRUDER, SWITCHING_NOZZLE)
353 345
 
@@ -358,25 +350,10 @@ void menu_move() {
358 350
         SUBMENU_MOVE_E(2);
359 351
       #endif
360 352
 
361
-    #else
353
+    #elif E_MANUAL > 1
362 354
 
363 355
       // Independent extruders with one E-stepper per hotend
364
-      #if E_MANUAL > 1
365
-        SUBMENU_MOVE_E(0);
366
-        SUBMENU_MOVE_E(1);
367
-        #if E_MANUAL > 2
368
-          SUBMENU_MOVE_E(2);
369
-          #if E_MANUAL > 3
370
-            SUBMENU_MOVE_E(3);
371
-            #if E_MANUAL > 4
372
-              SUBMENU_MOVE_E(4);
373
-              #if E_MANUAL > 5
374
-                SUBMENU_MOVE_E(5);
375
-              #endif // E_MANUAL > 5
376
-            #endif // E_MANUAL > 4
377
-          #endif // E_MANUAL > 3
378
-        #endif // E_MANUAL > 2
379
-      #endif // E_MANUAL > 1
356
+      for (uint8_t n = 0; n < E_MANUAL; n++) SUBMENU_MOVE_E(n);
380 357
 
381 358
     #endif
382 359
 

+ 14
- 51
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
87 87
 #if HAS_TEMP_HOTEND || HAS_HEATED_BED
88 88
 
89 89
   #define _PREHEAT_ITEMS(M,N) do{ \
90
-    ACTION_ITEM(MSG_PREHEAT_##M##_H##N, []{ _preheat_both(M-1, N); }); \
91
-    ACTION_ITEM(MSG_PREHEAT_##M##_END_E##N, []{ _preheat_end(M-1, N); }); \
90
+    ACTION_ITEM_N(N, MSG_PREHEAT_##M##_H, []{ _preheat_both(M-1, MenuItemBase::itemIndex); }); \
91
+    ACTION_ITEM_N(N, MSG_PREHEAT_##M##_END_E, []{ _preheat_end(M-1, MenuItemBase::itemIndex); }); \
92 92
   }while(0)
93 93
   #if HAS_HEATED_BED
94 94
     #define PREHEAT_ITEMS(M,N) _PREHEAT_ITEMS(M,N)
95 95
   #else
96 96
     #define PREHEAT_ITEMS(M,N) \
97
-      ACTION_ITEM(MSG_PREHEAT_##M##_H##N, []{ _preheat_end(M-1, N); })
97
+      ACTION_ITEM_N(N, MSG_PREHEAT_##M##_H, []{ _preheat_end(M-1, MenuItemBase::itemIndex); })
98 98
   #endif
99 99
 
100 100
   void menu_preheat_m1() {
@@ -111,19 +111,7 @@ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb
111 111
       #if HAS_HEATED_BED
112 112
         _PREHEAT_ITEMS(1,0);
113 113
       #endif
114
-      PREHEAT_ITEMS(1,1);
115
-      #if HOTENDS > 2
116
-        PREHEAT_ITEMS(1,2);
117
-        #if HOTENDS > 3
118
-          PREHEAT_ITEMS(1,3);
119
-          #if HOTENDS > 4
120
-            PREHEAT_ITEMS(1,4);
121
-            #if HOTENDS > 5
122
-              PREHEAT_ITEMS(1,5);
123
-            #endif // HOTENDS > 5
124
-          #endif // HOTENDS > 4
125
-        #endif // HOTENDS > 3
126
-      #endif // HOTENDS > 2
114
+      for (uint8_t n = 1; n < HOTENDS; n++) PREHEAT_ITEMS(1,n);
127 115
       ACTION_ITEM(MSG_PREHEAT_1_ALL, []() {
128 116
         #if HAS_HEATED_BED
129 117
           _preheat_bed(0);
@@ -151,19 +139,7 @@ void _lcd_preheat(const int16_t endnum, const int16_t temph, const int16_t tempb
151 139
       #if HAS_HEATED_BED
152 140
         _PREHEAT_ITEMS(2,0);
153 141
       #endif
154
-      PREHEAT_ITEMS(2,1);
155
-      #if HOTENDS > 2
156
-        PREHEAT_ITEMS(2,2);
157
-        #if HOTENDS > 3
158
-          PREHEAT_ITEMS(2,3);
159
-          #if HOTENDS > 4
160
-            PREHEAT_ITEMS(2,4);
161
-            #if HOTENDS > 5
162
-              PREHEAT_ITEMS(2,5);
163
-            #endif // HOTENDS > 5
164
-          #endif // HOTENDS > 4
165
-        #endif // HOTENDS > 3
166
-      #endif // HOTENDS > 2
142
+      for (uint8_t n = 1; n < HOTENDS; n++) PREHEAT_ITEMS(2,n);
167 143
       ACTION_ITEM(MSG_PREHEAT_2_ALL, []() {
168 144
         #if HAS_HEATED_BED
169 145
           _preheat_bed(1);
@@ -196,22 +172,9 @@ void menu_temperature() {
196 172
   #if HOTENDS == 1
197 173
     EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, []{ thermalManager.start_watching_hotend(0); });
198 174
   #elif HOTENDS > 1
199
-    #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); })
200
-    EDIT_TARGET(0);
201
-    EDIT_TARGET(1);
202
-    #if HOTENDS > 2
203
-      EDIT_TARGET(2);
204
-      #if HOTENDS > 3
205
-        EDIT_TARGET(3);
206
-        #if HOTENDS > 4
207
-          EDIT_TARGET(4);
208
-          #if HOTENDS > 5
209
-            EDIT_TARGET(5);
210
-          #endif // HOTENDS > 5
211
-        #endif // HOTENDS > 4
212
-      #endif // HOTENDS > 3
213
-    #endif // HOTENDS > 2
214
-  #endif // HOTENDS > 1
175
+    #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); })
176
+    HOTEND_LOOP() EDIT_TARGET(e);
177
+  #endif
215 178
 
216 179
   #if ENABLED(SINGLENOZZLE)
217 180
     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() {
237 200
   #if FAN_COUNT > 0
238 201
     #if HAS_FAN0
239 202
       editable.uint8 = thermalManager.fan_speed[0];
240
-      EDIT_ITEM_FAST(percent, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(0, editable.uint8); });
203
+      EDIT_ITEM_FAST_N(percent, 1, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(0, editable.uint8); });
241 204
       #if ENABLED(EXTRA_FAN_SPEED)
242
-        EDIT_ITEM_FAST(percent, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
205
+        EDIT_ITEM_FAST_N(percent, 1, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
243 206
       #endif
244 207
     #endif
245 208
     #if HAS_FAN1
246 209
       editable.uint8 = thermalManager.fan_speed[1];
247
-      EDIT_ITEM_FAST(percent, MSG_FAN_SPEED_2, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(1, editable.uint8); });
210
+      EDIT_ITEM_FAST_N(percent, 2, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(1, editable.uint8); });
248 211
       #if ENABLED(EXTRA_FAN_SPEED)
249
-        EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED_2, &thermalManager.new_fan_speed[1], 3, 255);
212
+        EDIT_ITEM_FAST_N(percent, 2, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[1], 3, 255);
250 213
       #endif
251 214
     #endif
252 215
     #if HAS_FAN2
253 216
       editable.uint8 = thermalManager.fan_speed[2];
254
-      EDIT_ITEM_FAST(percent, MSG_FAN_SPEED_3, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(2, editable.uint8); });
217
+      EDIT_ITEM_FAST_N(percent, 3, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(2, editable.uint8); });
255 218
       #if ENABLED(EXTRA_FAN_SPEED)
256
-        EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED_3, &thermalManager.new_fan_speed[2], 3, 255);
219
+        EDIT_ITEM_FAST_N(percent, 3, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[2], 3, 255);
257 220
       #endif
258 221
     #endif
259 222
   #endif // FAN_COUNT > 0

+ 13
- 39
Marlin/src/lcd/menu/menu_tune.cpp 查看文件

@@ -65,7 +65,7 @@
65 65
     }
66 66
     if (ui.should_draw()) {
67 67
       const float spm = planner.steps_to_mm[axis];
68
-      MenuEditItemBase::edit_screen(msg, ftostr54sign(spm * babystep.accum));
68
+      MenuEditItemBase::draw_edit_screen(msg, ftostr54sign(spm * babystep.accum));
69 69
       #if ENABLED(BABYSTEP_DISPLAY_TOTAL)
70 70
         const bool in_view = (true
71 71
           #if HAS_GRAPHICAL_LCD
@@ -128,22 +128,9 @@ void menu_tune() {
128 128
   #if HOTENDS == 1
129 129
     EDIT_ITEM_FAST(int3, MSG_NOZZLE, &thermalManager.temp_hotend[0].target, 0, HEATER_0_MAXTEMP - 15, []{ thermalManager.start_watching_hotend(0); });
130 130
   #elif HOTENDS > 1
131
-    #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); })
132
-    EDIT_NOZZLE(0);
133
-    EDIT_NOZZLE(1);
134
-    #if HOTENDS > 2
135
-      EDIT_NOZZLE(2);
136
-      #if HOTENDS > 3
137
-        EDIT_NOZZLE(3);
138
-        #if HOTENDS > 4
139
-          EDIT_NOZZLE(4);
140
-          #if HOTENDS > 5
141
-            EDIT_NOZZLE(5);
142
-          #endif // HOTENDS > 5
143
-        #endif // HOTENDS > 4
144
-      #endif // HOTENDS > 3
145
-    #endif // HOTENDS > 2
146
-  #endif // HOTENDS > 1
131
+    #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); })
132
+    HOTEND_LOOP() EDIT_NOZZLE(e);
133
+  #endif
147 134
 
148 135
   #if ENABLED(SINGLENOZZLE)
149 136
     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() {
162 149
   #if FAN_COUNT > 0
163 150
     #if HAS_FAN0
164 151
       editable.uint8 = thermalManager.fan_speed[0];
165
-      EDIT_ITEM_FAST(percent, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(0, editable.uint8); });
152
+      EDIT_ITEM_FAST_N(percent, 1, MSG_FIRST_FAN_SPEED, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(0, editable.uint8); });
166 153
       #if ENABLED(EXTRA_FAN_SPEED)
167
-        EDIT_ITEM_FAST(percent, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
154
+        EDIT_ITEM_FAST_N(percent, 1, MSG_FIRST_EXTRA_FAN_SPEED, &thermalManager.new_fan_speed[0], 3, 255);
168 155
       #endif
169 156
     #endif
170 157
     #if HAS_FAN1
171 158
       editable.uint8 = thermalManager.fan_speed[1];
172
-      EDIT_ITEM_FAST(percent, MSG_FAN_SPEED_2, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(1, editable.uint8); });
159
+      EDIT_ITEM_FAST_N(percent, 2, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(1, editable.uint8); });
173 160
       #if ENABLED(EXTRA_FAN_SPEED)
174
-        EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED_2, &thermalManager.new_fan_speed[1], 3, 255);
161
+        EDIT_ITEM_FAST_N(percent, 2, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[1], 3, 255);
175 162
       #endif
176 163
     #endif
177 164
     #if HAS_FAN2
178 165
       editable.uint8 = thermalManager.fan_speed[2];
179
-      EDIT_ITEM_FAST(percent, MSG_FAN_SPEED_3, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(2, editable.uint8); });
166
+      EDIT_ITEM_FAST_N(percent, 3, MSG_FAN_SPEED_N, &editable.uint8, 0, 255, []{ thermalManager.set_fan_speed(2, editable.uint8); });
180 167
       #if ENABLED(EXTRA_FAN_SPEED)
181
-        EDIT_ITEM_FAST(percent, MSG_EXTRA_FAN_SPEED_3, &thermalManager.new_fan_speed[2], 3, 255);
168
+        EDIT_ITEM_FAST_N(percent, 3, MSG_EXTRA_FAN_SPEED_N, &thermalManager.new_fan_speed[2], 3, 255);
182 169
       #endif
183 170
     #endif
184 171
   #endif // FAN_COUNT > 0
@@ -191,22 +178,9 @@ void menu_tune() {
191 178
     EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[0], 10, 999, []{ planner.refresh_e_factor(0); });
192 179
   #elif EXTRUDERS
193 180
     EDIT_ITEM(int3, MSG_FLOW, &planner.flow_percentage[active_extruder], 10, 999, []{ planner.refresh_e_factor(active_extruder); });
194
-    #define EDIT_FLOW(N) EDIT_ITEM(int3, MSG_FLOW_##N, &planner.flow_percentage[N], 10, 999, []{ planner.refresh_e_factor(N); })
195
-    EDIT_FLOW(0);
196
-    EDIT_FLOW(1);
197
-    #if EXTRUDERS > 2
198
-      EDIT_FLOW(2);
199
-      #if EXTRUDERS > 3
200
-        EDIT_FLOW(3);
201
-        #if EXTRUDERS > 4
202
-          EDIT_FLOW(4);
203
-          #if EXTRUDERS > 5
204
-            EDIT_FLOW(5);
205
-          #endif // EXTRUDERS > 5
206
-        #endif // EXTRUDERS > 4
207
-      #endif // EXTRUDERS > 3
208
-    #endif // EXTRUDERS > 2
209
-  #endif // EXTRUDERS
181
+    #define EDIT_FLOW(N) EDIT_ITEM_N(int3, N, MSG_FLOW_N, &planner.flow_percentage[N], 10, 999, []{ planner.refresh_e_factor(MenuItemBase::itemIndex); })
182
+    for (uint8_t n = 0; n < EXTRUDERS; n++) EDIT_FLOW(n);
183
+  #endif
210 184
 
211 185
   //
212 186
   // Babystep X:

+ 1
- 1
Marlin/src/lcd/menu/menu_ubl.cpp 查看文件

@@ -65,7 +65,7 @@ static void _lcd_mesh_fine_tune(PGM_P msg) {
65 65
   }
66 66
 
67 67
   if (ui.should_draw()) {
68
-    MenuEditItemBase::edit_screen(msg, ftostr43sign(mesh_edit_value));
68
+    MenuEditItemBase::draw_edit_screen(msg, ftostr43sign(mesh_edit_value));
69 69
     #if ENABLED(MESH_EDIT_GFX_OVERLAY)
70 70
       _lcd_zoffset_overlay_gfx(mesh_edit_value);
71 71
     #endif

+ 1
- 0
Marlin/src/lcd/ultralcd.cpp 查看文件

@@ -182,6 +182,7 @@ millis_t MarlinUI::next_button_update_ms; // = 0
182 182
   #endif
183 183
 
184 184
   screenFunc_t MarlinUI::currentScreen; // Initialized in CTOR
185
+  bool MarlinUI::screen_changed;
185 186
 
186 187
   #if ENABLED(ENCODER_RATE_MULTIPLIER)
187 188
     bool MarlinUI::encoderRateMultiplierEnabled;

+ 1
- 0
Marlin/src/lcd/ultralcd.h 查看文件

@@ -467,6 +467,7 @@ public:
467 467
     static void synchronize(PGM_P const msg=nullptr);
468 468
 
469 469
     static screenFunc_t currentScreen;
470
+    static bool screen_changed;
470 471
     static void goto_screen(const screenFunc_t screen, const uint16_t encoder=0, const uint8_t top=0, const uint8_t items=0);
471 472
     static void save_previous_screen();
472 473
 

Loading…
取消
儲存