Browse Source

Russian, Ukranian for wide LCD (#18433)

Serhiy-K 5 years ago
parent
commit
ed96b507b9
No account linked to committer's email address
2 changed files with 1102 additions and 278 deletions
  1. 454
    164
      Marlin/src/lcd/language/language_ru.h
  2. 648
    114
      Marlin/src/lcd/language/language_uk.h

+ 454
- 164
Marlin/src/lcd/language/language_ru.h View File

36
   constexpr uint8_t    CHARSIZE                            = 2;
36
   constexpr uint8_t    CHARSIZE                            = 2;
37
   PROGMEM Language_Str LANGUAGE                            = _UxGT("Russian");
37
   PROGMEM Language_Str LANGUAGE                            = _UxGT("Russian");
38
 
38
 
39
-  PROGMEM Language_Str WELCOME_MSG                         = MACHINE_NAME _UxGT(" готов.");
39
+  PROGMEM Language_Str WELCOME_MSG                         = MACHINE_NAME _UxGT(" Готов.");
40
+  PROGMEM Language_Str MSG_YES                             = _UxGT("Да");
41
+  PROGMEM Language_Str MSG_NO                              = _UxGT("Нет");
40
   PROGMEM Language_Str MSG_BACK                            = _UxGT("Назад");
42
   PROGMEM Language_Str MSG_BACK                            = _UxGT("Назад");
41
-  PROGMEM Language_Str MSG_MEDIA_INSERTED                  = _UxGT("Карта вставлена");
42
-  PROGMEM Language_Str MSG_MEDIA_REMOVED                   = _UxGT("Карта извлечена");
43
-  PROGMEM Language_Str MSG_LCD_ENDSTOPS                    = _UxGT("Эндстопы"); // Max length 8 characters
43
+  PROGMEM Language_Str MSG_MEDIA_ABORTING                  = _UxGT("Прерывание...");
44
+  PROGMEM Language_Str MSG_MEDIA_INSERTED                  = _UxGT("SD-карта вставлена");
45
+  PROGMEM Language_Str MSG_MEDIA_REMOVED                   = _UxGT("SD-карта извлечена");
46
+  PROGMEM Language_Str MSG_MEDIA_WAITING                   = _UxGT("Вставьте SD-карту");
47
+  PROGMEM Language_Str MSG_MEDIA_READ_ERROR                = _UxGT("Ошибка считывания");
48
+  PROGMEM Language_Str MSG_MEDIA_USB_REMOVED               = _UxGT("USB диск удалён");
49
+  PROGMEM Language_Str MSG_MEDIA_USB_FAILED                = _UxGT("Ошибка USB диска");
50
+  #if LCD_WIDTH > 21
51
+    PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW         = _UxGT("Переполнение вызова");
52
+  #else
53
+    PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW         = _UxGT("Переполн. вызова");
54
+  #endif
44
   PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS               = _UxGT("Прогр. эндстопы");
55
   PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS               = _UxGT("Прогр. эндстопы");
45
-  PROGMEM Language_Str MSG_MAIN                            = _UxGT("Меню");
56
+  PROGMEM Language_Str MSG_LCD_ENDSTOPS                    = _UxGT("Эндстопы"); // Max length 8 characters
57
+  PROGMEM Language_Str MSG_MAIN                            = _UxGT("Основное меню");
46
   PROGMEM Language_Str MSG_ADVANCED_SETTINGS               = _UxGT("Другие настройки");
58
   PROGMEM Language_Str MSG_ADVANCED_SETTINGS               = _UxGT("Другие настройки");
47
-  PROGMEM Language_Str MSG_CONFIGURATION                   = _UxGT("Настройки");
59
+  PROGMEM Language_Str MSG_CONFIGURATION                   = _UxGT("Конфигурация");
48
   PROGMEM Language_Str MSG_AUTOSTART                       = _UxGT("Автостарт");
60
   PROGMEM Language_Str MSG_AUTOSTART                       = _UxGT("Автостарт");
49
   PROGMEM Language_Str MSG_DISABLE_STEPPERS                = _UxGT("Выключить двигатели");
61
   PROGMEM Language_Str MSG_DISABLE_STEPPERS                = _UxGT("Выключить двигатели");
50
   PROGMEM Language_Str MSG_DEBUG_MENU                      = _UxGT("Меню отладки");
62
   PROGMEM Language_Str MSG_DEBUG_MENU                      = _UxGT("Меню отладки");
53
   PROGMEM Language_Str MSG_AUTO_HOME_X                     = _UxGT("Парковка X");
65
   PROGMEM Language_Str MSG_AUTO_HOME_X                     = _UxGT("Парковка X");
54
   PROGMEM Language_Str MSG_AUTO_HOME_Y                     = _UxGT("Парковка Y");
66
   PROGMEM Language_Str MSG_AUTO_HOME_Y                     = _UxGT("Парковка Y");
55
   PROGMEM Language_Str MSG_AUTO_HOME_Z                     = _UxGT("Парковка Z");
67
   PROGMEM Language_Str MSG_AUTO_HOME_Z                     = _UxGT("Парковка Z");
68
+  PROGMEM Language_Str MSG_AUTO_Z_ALIGN                    = _UxGT("Авто Z-выравнивание");
56
   PROGMEM Language_Str MSG_LEVEL_BED_HOMING                = _UxGT("Нулевое положение");
69
   PROGMEM Language_Str MSG_LEVEL_BED_HOMING                = _UxGT("Нулевое положение");
57
   PROGMEM Language_Str MSG_LEVEL_BED_WAITING               = _UxGT("Нажмите чтобы начать");
70
   PROGMEM Language_Str MSG_LEVEL_BED_WAITING               = _UxGT("Нажмите чтобы начать");
58
   PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT            = _UxGT("Следующая точка");
71
   PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT            = _UxGT("Следующая точка");
59
   PROGMEM Language_Str MSG_LEVEL_BED_DONE                  = _UxGT("Выравнивание готово!");
72
   PROGMEM Language_Str MSG_LEVEL_BED_DONE                  = _UxGT("Выравнивание готово!");
60
   PROGMEM Language_Str MSG_Z_FADE_HEIGHT                   = _UxGT("Высота спада");
73
   PROGMEM Language_Str MSG_Z_FADE_HEIGHT                   = _UxGT("Высота спада");
61
-  PROGMEM Language_Str MSG_SET_HOME_OFFSETS                = _UxGT("Запомнить парковку");
62
-  PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Коррекции применены");
63
-  PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Запомнить ноль");
74
+  #if LCD_WIDTH > 21
75
+    PROGMEM Language_Str MSG_SET_HOME_OFFSETS              = _UxGT("Установ. смещения дома");
76
+  #else
77
+    PROGMEM Language_Str MSG_SET_HOME_OFFSETS              = _UxGT("Установ.смещ.дома");
78
+  #endif
79
+  PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Смещения применены");
80
+  PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Установить ноль");
64
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Преднагрев ") PREHEAT_1_LABEL;
81
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Преднагрев ") PREHEAT_1_LABEL;
65
   PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Нагрев ") PREHEAT_1_LABEL " ~";
82
   PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Нагрев ") PREHEAT_1_LABEL " ~";
66
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Нагрев ") PREHEAT_1_LABEL _UxGT(" сопло");
83
   PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Нагрев ") PREHEAT_1_LABEL _UxGT(" сопло");
75
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Нагрев ") PREHEAT_2_LABEL _UxGT(" всё");
92
   PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Нагрев ") PREHEAT_2_LABEL _UxGT(" всё");
76
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Нагрев ") PREHEAT_2_LABEL _UxGT(" стол");
93
   PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Нагрев ") PREHEAT_2_LABEL _UxGT(" стол");
77
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Нагрев ") PREHEAT_2_LABEL _UxGT(" правка");
94
   PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Нагрев ") PREHEAT_2_LABEL _UxGT(" правка");
95
+  PROGMEM Language_Str MSG_PREHEAT_CUSTOM                  = _UxGT("Нагрев Свой");
78
   PROGMEM Language_Str MSG_COOLDOWN                        = _UxGT("Охлаждение");
96
   PROGMEM Language_Str MSG_COOLDOWN                        = _UxGT("Охлаждение");
97
+  PROGMEM Language_Str MSG_CUTTER_FREQUENCY                = _UxGT("Частота");
79
   PROGMEM Language_Str MSG_LASER_MENU                      = _UxGT("Управление лазером");
98
   PROGMEM Language_Str MSG_LASER_MENU                      = _UxGT("Управление лазером");
80
   PROGMEM Language_Str MSG_LASER_OFF                       = _UxGT("Выключить лазер");
99
   PROGMEM Language_Str MSG_LASER_OFF                       = _UxGT("Выключить лазер");
81
   PROGMEM Language_Str MSG_LASER_ON                        = _UxGT("Включить лазер");
100
   PROGMEM Language_Str MSG_LASER_ON                        = _UxGT("Включить лазер");
82
   PROGMEM Language_Str MSG_LASER_POWER                     = _UxGT("Мощность лазера");
101
   PROGMEM Language_Str MSG_LASER_POWER                     = _UxGT("Мощность лазера");
83
-  PROGMEM Language_Str MSG_SPINDLE_MENU                    = _UxGT("Шпиндель управление");
102
+  PROGMEM Language_Str MSG_SPINDLE_MENU                    = _UxGT("Управление шпинделем");
84
   PROGMEM Language_Str MSG_SPINDLE_OFF                     = _UxGT("Выключить шпиндель");
103
   PROGMEM Language_Str MSG_SPINDLE_OFF                     = _UxGT("Выключить шпиндель");
85
   PROGMEM Language_Str MSG_SPINDLE_ON                      = _UxGT("Включить шпиндель");
104
   PROGMEM Language_Str MSG_SPINDLE_ON                      = _UxGT("Включить шпиндель");
86
-  PROGMEM Language_Str MSG_SPINDLE_POWER                   = _UxGT("Мощность шпинделя");
105
+  #if LCD_WIDTH > 21
106
+    PROGMEM Language_Str MSG_SPINDLE_POWER                 = _UxGT("Мощность шпинделя");
107
+  #else
108
+    PROGMEM Language_Str MSG_SPINDLE_POWER                 = _UxGT("Мощн.шпинделя");
109
+  #endif
87
   PROGMEM Language_Str MSG_SPINDLE_REVERSE                 = _UxGT("Инверсия шпинделя");
110
   PROGMEM Language_Str MSG_SPINDLE_REVERSE                 = _UxGT("Инверсия шпинделя");
88
   PROGMEM Language_Str MSG_SWITCH_PS_ON                    = _UxGT("Включить питание");
111
   PROGMEM Language_Str MSG_SWITCH_PS_ON                    = _UxGT("Включить питание");
89
   PROGMEM Language_Str MSG_SWITCH_PS_OFF                   = _UxGT("Выключить питание");
112
   PROGMEM Language_Str MSG_SWITCH_PS_OFF                   = _UxGT("Выключить питание");
90
   PROGMEM Language_Str MSG_EXTRUDE                         = _UxGT("Экструзия");
113
   PROGMEM Language_Str MSG_EXTRUDE                         = _UxGT("Экструзия");
91
   PROGMEM Language_Str MSG_RETRACT                         = _UxGT("Втягивание");
114
   PROGMEM Language_Str MSG_RETRACT                         = _UxGT("Втягивание");
92
   PROGMEM Language_Str MSG_MOVE_AXIS                       = _UxGT("Движение по осям");
115
   PROGMEM Language_Str MSG_MOVE_AXIS                       = _UxGT("Движение по осям");
93
-  PROGMEM Language_Str MSG_BED_LEVELING                    = _UxGT("Калибровка стола");
94
-  PROGMEM Language_Str MSG_LEVEL_BED                       = _UxGT("Калибровать стол");
116
+  PROGMEM Language_Str MSG_BED_LEVELING                    = _UxGT("Выравнивание стола");
117
+  PROGMEM Language_Str MSG_LEVEL_BED                       = _UxGT("Выровнять стол");
95
   PROGMEM Language_Str MSG_LEVEL_CORNERS                   = _UxGT("Выровнять углы");
118
   PROGMEM Language_Str MSG_LEVEL_CORNERS                   = _UxGT("Выровнять углы");
96
   PROGMEM Language_Str MSG_NEXT_CORNER                     = _UxGT("Следующий угол");
119
   PROGMEM Language_Str MSG_NEXT_CORNER                     = _UxGT("Следующий угол");
120
+  #if LCD_WIDTH > 21
121
+    PROGMEM Language_Str MSG_MESH_EDITOR                   = _UxGT("Смещение по Z");
122
+    PROGMEM Language_Str MSG_EDITING_STOPPED               = _UxGT("Правка сетки окончена");
123
+  #else
124
+    PROGMEM Language_Str MSG_MESH_EDITOR                   = _UxGT("Смещение Z");
125
+    PROGMEM Language_Str MSG_EDITING_STOPPED               = _UxGT("Правка окончена");
126
+  #endif
97
   PROGMEM Language_Str MSG_EDIT_MESH                       = _UxGT("Редактировать сетку");
127
   PROGMEM Language_Str MSG_EDIT_MESH                       = _UxGT("Редактировать сетку");
98
-  PROGMEM Language_Str MSG_EDITING_STOPPED                 = _UxGT("Правка сетки окончена");
99
-  PROGMEM Language_Str MSG_PROBING_MESH                    = _UxGT("Точка сетки:");
128
+  PROGMEM Language_Str MSG_PROBING_MESH                    = _UxGT("Точка сетки");
100
   PROGMEM Language_Str MSG_MESH_X                          = _UxGT("Индекс X");
129
   PROGMEM Language_Str MSG_MESH_X                          = _UxGT("Индекс X");
101
   PROGMEM Language_Str MSG_MESH_Y                          = _UxGT("Индекс Y");
130
   PROGMEM Language_Str MSG_MESH_Y                          = _UxGT("Индекс Y");
102
   PROGMEM Language_Str MSG_MESH_EDIT_Z                     = _UxGT("Значение Z");
131
   PROGMEM Language_Str MSG_MESH_EDIT_Z                     = _UxGT("Значение Z");
103
   PROGMEM Language_Str MSG_USER_MENU                       = _UxGT("Свои команды");
132
   PROGMEM Language_Str MSG_USER_MENU                       = _UxGT("Свои команды");
104
 
133
 
105
-  PROGMEM Language_Str MSG_M48_TEST                        = _UxGT("Проверка Z-датчика");
134
+  PROGMEM Language_Str MSG_M48_TEST                        = _UxGT("M48 тест Z-зонда");
106
   PROGMEM Language_Str MSG_M48_DEVIATION                   = _UxGT("Отклонение");
135
   PROGMEM Language_Str MSG_M48_DEVIATION                   = _UxGT("Отклонение");
107
-  PROGMEM Language_Str MSG_M48_POINT                       = _UxGT("Измерение");
136
+  PROGMEM Language_Str MSG_M48_POINT                       = _UxGT("M48 точка");
137
+
138
+  PROGMEM Language_Str MSG_IDEX_MENU                       = _UxGT("Меню IDEX");
139
+  PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK              = _UxGT("Авто парковка");
140
+  PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE             = _UxGT("Размножение");
141
+  PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY         = _UxGT("Зеркальная копия");
142
+  PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL             = _UxGT("Полный контроль");
108
 
143
 
109
-  // TODO: IDEX Menu
110
   PROGMEM Language_Str MSG_OFFSETS_MENU                    = _UxGT("Размещение сопел");
144
   PROGMEM Language_Str MSG_OFFSETS_MENU                    = _UxGT("Размещение сопел");
111
 
145
 
112
   PROGMEM Language_Str MSG_HOTEND_OFFSET_X                 = _UxGT("2-е сопло X");
146
   PROGMEM Language_Str MSG_HOTEND_OFFSET_X                 = _UxGT("2-е сопло X");
114
   PROGMEM Language_Str MSG_HOTEND_OFFSET_Z                 = _UxGT("2-е сопло Z");
148
   PROGMEM Language_Str MSG_HOTEND_OFFSET_Z                 = _UxGT("2-е сопло Z");
115
 
149
 
116
   PROGMEM Language_Str MSG_UBL_DOING_G29                   = _UxGT("Выполняем G29");
150
   PROGMEM Language_Str MSG_UBL_DOING_G29                   = _UxGT("Выполняем G29");
117
-  PROGMEM Language_Str MSG_UBL_TOOLS                       = _UxGT("Утилиты UBL");
118
-  PROGMEM Language_Str MSG_UBL_LEVEL_BED                   = _UxGT("Калибровка UBL");
119
-  PROGMEM Language_Str MSG_UBL_MANUAL_MESH                 = _UxGT("Правка сетки вручную");
120
-  PROGMEM Language_Str MSG_UBL_BC_INSERT                   = _UxGT("Z-пробник и замеры");
151
+  PROGMEM Language_Str MSG_UBL_TOOLS                       = _UxGT("Инструменты UBL");
152
+  PROGMEM Language_Str MSG_UBL_LEVEL_BED                   = _UxGT("Настройка UBL");
153
+  PROGMEM Language_Str MSG_LCD_TILTING_MESH                = _UxGT("Точка разворота");
154
+  PROGMEM Language_Str MSG_UBL_MANUAL_MESH                 = _UxGT("Ручной ввод сетки");
155
+  #if LCD_WIDTH > 21
156
+    PROGMEM Language_Str MSG_UBL_BC_INSERT                 = _UxGT("Разместить шайбу и измерить");
157
+    PROGMEM Language_Str MSG_UBL_BC_REMOVE                 = _UxGT("Убрать и замерить стол");
158
+  #else
159
+    PROGMEM Language_Str MSG_UBL_BC_INSERT                 = _UxGT("Разм.шайбу,измерить");
160
+    PROGMEM Language_Str MSG_UBL_BC_REMOVE                 = _UxGT("Убрать, измер. стол");
161
+  #endif
121
   PROGMEM Language_Str MSG_UBL_BC_INSERT2                  = _UxGT("Измерение");
162
   PROGMEM Language_Str MSG_UBL_BC_INSERT2                  = _UxGT("Измерение");
122
-  PROGMEM Language_Str MSG_UBL_BC_REMOVE                   = _UxGT("Убрать и замер стола");
123
   PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT              = _UxGT("Двигаемся дальше");
163
   PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT              = _UxGT("Двигаемся дальше");
124
   PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH               = _UxGT("Активировать UBL");
164
   PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH               = _UxGT("Активировать UBL");
125
   PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH             = _UxGT("Деактивировать UBL");
165
   PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH             = _UxGT("Деактивировать UBL");
126
-  PROGMEM Language_Str MSG_UBL_SET_TEMP_BED                = _UxGT("Температура стола");
127
-  PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM             = _UxGT("Температура стола");
128
-  PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND             = _UxGT("Температура сопла");
129
-  PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM          = _UxGT("Температура сопла");
166
+
130
   PROGMEM Language_Str MSG_UBL_MESH_EDIT                   = _UxGT("Редактор сеток");
167
   PROGMEM Language_Str MSG_UBL_MESH_EDIT                   = _UxGT("Редактор сеток");
131
   PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH            = _UxGT("Править свою сетку");
168
   PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH            = _UxGT("Править свою сетку");
169
+
170
+  #if LCD_WIDTH > 21
171
+    PROGMEM Language_Str MSG_UBL_SET_TEMP_BED              = _UxGT("Температура стола");
172
+    PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM           = _UxGT("Температура стола");
173
+    PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND           = _UxGT("Температура сопла");
174
+    PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM        = _UxGT("Температура сопла");
175
+    PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH         = _UxGT("Построить свою сетку");
176
+    PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH         = _UxGT("Правка сетки завершена");
177
+  #else
178
+    PROGMEM Language_Str MSG_UBL_SET_TEMP_BED              = LCD_STR_THERMOMETER _UxGT(" стола, ") LCD_STR_DEGREE "C";
179
+    PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM           = LCD_STR_THERMOMETER _UxGT(" стола, ") LCD_STR_DEGREE "C";
180
+    PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND           = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
181
+    PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM        = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
182
+    PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH         = _UxGT("Построить свою");
183
+    PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH         = _UxGT("Правка завершена");
184
+  #endif
132
   PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH              = _UxGT("Точная правка сетки");
185
   PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH              = _UxGT("Точная правка сетки");
133
-  PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH           = _UxGT("Правка сетки завершена");
134
-  PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH           = _UxGT("Построить свою сетку");
135
   PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU             = _UxGT("Построить сетку");
186
   PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU             = _UxGT("Построить сетку");
136
   PROGMEM Language_Str MSG_UBL_BUILD_MESH_M1               = _UxGT("Построить сетку ") PREHEAT_1_LABEL;
187
   PROGMEM Language_Str MSG_UBL_BUILD_MESH_M1               = _UxGT("Построить сетку ") PREHEAT_1_LABEL;
137
   PROGMEM Language_Str MSG_UBL_BUILD_MESH_M2               = _UxGT("Построить сетку ") PREHEAT_2_LABEL;
188
   PROGMEM Language_Str MSG_UBL_BUILD_MESH_M2               = _UxGT("Построить сетку ") PREHEAT_2_LABEL;
138
-  PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH             = _UxGT("Построить хол. сетку");
189
+  #if LCD_WIDTH > 21
190
+    PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH           = _UxGT("Построить холодную сетку");
191
+  #else
192
+    PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH           = _UxGT("Строить холод.сетку");
193
+  #endif
139
   PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST          = _UxGT("Правка высоты сетки");
194
   PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST          = _UxGT("Правка высоты сетки");
140
   PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT          = _UxGT("Высота");
195
   PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT          = _UxGT("Высота");
141
   PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU          = _UxGT("Проверить сетку");
196
   PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU          = _UxGT("Проверить сетку");
142
-  PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M1            = _UxGT("Проверить сетку ") PREHEAT_1_LABEL;
143
-  PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M2            = _UxGT("Проверить сетку ") PREHEAT_2_LABEL;
144
-  PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH        = _UxGT("Проверить свою сетку");
197
+  #if LCD_WIDTH > 21
198
+    PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M1          = _UxGT("Проверить сетку ") PREHEAT_1_LABEL;
199
+    PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M2          = _UxGT("Проверить сетку ") PREHEAT_2_LABEL;
200
+    PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH      = _UxGT("Проверить свою сетку");
201
+  #else
202
+    PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M1          = _UxGT("Провер. сетку ") PREHEAT_1_LABEL;
203
+    PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M2          = _UxGT("Провер. сетку ") PREHEAT_2_LABEL;
204
+    PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH      = _UxGT("Провер. свою сетку");
205
+  #endif
206
+  PROGMEM Language_Str MSG_G26_HEATING_BED                 = _UxGT("G26 нагрев стола");
207
+  PROGMEM Language_Str MSG_G26_HEATING_NOZZLE              = _UxGT("G26 нагрев сопла");
208
+  PROGMEM Language_Str MSG_G26_MANUAL_PRIME                = _UxGT("Ручная грунтовка");
209
+  PROGMEM Language_Str MSG_G26_FIXED_LENGTH                = _UxGT("Грунт фикс. длины");
210
+  PROGMEM Language_Str MSG_G26_PRIME_DONE                  = _UxGT("Грунтовка сделана");
211
+  PROGMEM Language_Str MSG_G26_CANCELED                    = _UxGT("G26 завершена");
212
+  PROGMEM Language_Str MSG_G26_LEAVING                     = _UxGT("Выйти из G26");
145
   PROGMEM Language_Str MSG_UBL_CONTINUE_MESH               = _UxGT("Продолжить сетку");
213
   PROGMEM Language_Str MSG_UBL_CONTINUE_MESH               = _UxGT("Продолжить сетку");
146
-  PROGMEM Language_Str MSG_UBL_MESH_LEVELING               = _UxGT("Калибровка сетки");
147
-  PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING        = _UxGT("Калибровка 3-х точек");
214
+  PROGMEM Language_Str MSG_UBL_MESH_LEVELING               = _UxGT("Выравнивание сетки");
215
+  #if LCD_WIDTH > 21
216
+    PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING      = _UxGT("3-х точечное выравнивание");
217
+  #else
218
+    PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING      = _UxGT("3-точечное выравн.");
219
+  #endif
148
   PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING          = _UxGT("Калибровка растера");
220
   PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING          = _UxGT("Калибровка растера");
149
-  PROGMEM Language_Str MSG_UBL_MESH_LEVEL                  = _UxGT("Выровнить сетку");
221
+  PROGMEM Language_Str MSG_UBL_MESH_LEVEL                  = _UxGT("Выровнять сетку");
150
   PROGMEM Language_Str MSG_UBL_SIDE_POINTS                 = _UxGT("Крайние точки");
222
   PROGMEM Language_Str MSG_UBL_SIDE_POINTS                 = _UxGT("Крайние точки");
151
   PROGMEM Language_Str MSG_UBL_MAP_TYPE                    = _UxGT("Тип карты");
223
   PROGMEM Language_Str MSG_UBL_MAP_TYPE                    = _UxGT("Тип карты");
152
   PROGMEM Language_Str MSG_UBL_OUTPUT_MAP                  = _UxGT("Вывести карту сетки");
224
   PROGMEM Language_Str MSG_UBL_OUTPUT_MAP                  = _UxGT("Вывести карту сетки");
153
   PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST             = _UxGT("Вывести на хост");
225
   PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST             = _UxGT("Вывести на хост");
154
   PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV              = _UxGT("Вывести в CSV");
226
   PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV              = _UxGT("Вывести в CSV");
155
-  PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP           = _UxGT("Резервировать сетку");
156
-  PROGMEM Language_Str MSG_UBL_INFO_UBL                    = _UxGT("Вывод информации UBL");
227
+  #if LCD_WIDTH > 21
228
+    PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP         = _UxGT("Сохранить сетку снаружи");
229
+    PROGMEM Language_Str MSG_UBL_INFO_UBL                  = _UxGT("Вывод информации UBL");
230
+  #else
231
+    PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP         = _UxGT("Сохранить снаружи");
232
+    PROGMEM Language_Str MSG_UBL_INFO_UBL                  = _UxGT("Информация UBL");
233
+  #endif
157
   PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT               = _UxGT("Кол-во заполнителя");
234
   PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT               = _UxGT("Кол-во заполнителя");
158
   PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN               = _UxGT("Ручное заполнение");
235
   PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN               = _UxGT("Ручное заполнение");
159
   PROGMEM Language_Str MSG_UBL_SMART_FILLIN                = _UxGT("Умное заполнение");
236
   PROGMEM Language_Str MSG_UBL_SMART_FILLIN                = _UxGT("Умное заполнение");
160
   PROGMEM Language_Str MSG_UBL_FILLIN_MESH                 = _UxGT("Заполнить сетку");
237
   PROGMEM Language_Str MSG_UBL_FILLIN_MESH                 = _UxGT("Заполнить сетку");
161
   PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL              = _UxGT("Аннулировать всё");
238
   PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL              = _UxGT("Аннулировать всё");
162
-  PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST          = _UxGT("Обнулить ближ. точку");
163
-  PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL               = _UxGT("Точная правка всего");
164
-  PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST           = _UxGT("Настр. ближ. точки");
239
+  PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST          = _UxGT("Аннулир. ближайшую");
240
+  PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL               = _UxGT("Точно править всё");
241
+  PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST           = _UxGT("Настр. ближ. точку");
165
   PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU           = _UxGT("Хранилище сеток");
242
   PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU           = _UxGT("Хранилище сеток");
166
   PROGMEM Language_Str MSG_UBL_STORAGE_SLOT                = _UxGT("Слот памяти");
243
   PROGMEM Language_Str MSG_UBL_STORAGE_SLOT                = _UxGT("Слот памяти");
167
-  PROGMEM Language_Str MSG_UBL_LOAD_MESH                   = _UxGT("Загрузить сетку стола");
168
-  PROGMEM Language_Str MSG_UBL_SAVE_MESH                   = _UxGT("Сохранить сетку стола");
244
+  PROGMEM Language_Str MSG_UBL_LOAD_MESH                   = _UxGT("Загрузить сетку");
245
+  PROGMEM Language_Str MSG_UBL_SAVE_MESH                   = _UxGT("Сохранить сетку");
169
   PROGMEM Language_Str MSG_MESH_LOADED                     = _UxGT("Сетка %i загружена");
246
   PROGMEM Language_Str MSG_MESH_LOADED                     = _UxGT("Сетка %i загружена");
170
   PROGMEM Language_Str MSG_MESH_SAVED                      = _UxGT("Сетка %i сохранена");
247
   PROGMEM Language_Str MSG_MESH_SAVED                      = _UxGT("Сетка %i сохранена");
171
   PROGMEM Language_Str MSG_UBL_NO_STORAGE                  = _UxGT("Нет хранилища");
248
   PROGMEM Language_Str MSG_UBL_NO_STORAGE                  = _UxGT("Нет хранилища");
172
   PROGMEM Language_Str MSG_UBL_SAVE_ERROR                  = _UxGT("Ошибка: Сохран. UBL");
249
   PROGMEM Language_Str MSG_UBL_SAVE_ERROR                  = _UxGT("Ошибка: Сохран. UBL");
173
-  PROGMEM Language_Str MSG_UBL_RESTORE_ERROR               = _UxGT("Ошибка: Восстан. UBL");
250
+  PROGMEM Language_Str MSG_UBL_RESTORE_ERROR               = _UxGT("Ошибка: Восстан.UBL");
174
   PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED            = _UxGT("Смещение Z останов.");
251
   PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED            = _UxGT("Смещение Z останов.");
175
-  PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU           = _UxGT("Пошаговое UBL");
176
-  PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH           = _UxGT("1.Построить хол. сетку");
252
+  PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU           = _UxGT("UBL пошагово");
253
+  PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH           = _UxGT("1.Строить холодную");
177
   PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN              = _UxGT("2.Умное заполнение");
254
   PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN              = _UxGT("2.Умное заполнение");
178
   PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU        = _UxGT("3.Проверить сетку");
255
   PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU        = _UxGT("3.Проверить сетку");
179
-  PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL             = _UxGT("4.Точная настр. всего");
256
+  PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL             = _UxGT("4.Точно настр. всё");
180
   PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU        = _UxGT("5.Проверить сетку");
257
   PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU        = _UxGT("5.Проверить сетку");
181
-  PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL             = _UxGT("6.Точная настр. всего");
182
-  PROGMEM Language_Str MSG_UBL_7_SAVE_MESH                 = _UxGT("7.Сохранить сетку стола");
258
+  PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL             = _UxGT("6.Точно настр. всё");
259
+  PROGMEM Language_Str MSG_UBL_7_SAVE_MESH                 = _UxGT("7.Сохранить сетку");
183
 
260
 
184
   PROGMEM Language_Str MSG_LED_CONTROL                     = _UxGT("Настройка подсветки");
261
   PROGMEM Language_Str MSG_LED_CONTROL                     = _UxGT("Настройка подсветки");
185
   PROGMEM Language_Str MSG_LEDS                            = _UxGT("Подсветка");
262
   PROGMEM Language_Str MSG_LEDS                            = _UxGT("Подсветка");
201
   PROGMEM Language_Str MSG_LED_BRIGHTNESS                  = _UxGT("Яркость");
278
   PROGMEM Language_Str MSG_LED_BRIGHTNESS                  = _UxGT("Яркость");
202
 
279
 
203
   PROGMEM Language_Str MSG_MOVING                          = _UxGT("Движемся...");
280
   PROGMEM Language_Str MSG_MOVING                          = _UxGT("Движемся...");
204
-  PROGMEM Language_Str MSG_FREE_XY                         = _UxGT("Освобождаем XY");
281
+  PROGMEM Language_Str MSG_FREE_XY                         = _UxGT("Освободить XY");
205
   PROGMEM Language_Str MSG_MOVE_X                          = _UxGT("Движение по X");
282
   PROGMEM Language_Str MSG_MOVE_X                          = _UxGT("Движение по X");
206
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Движение по Y");
283
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Движение по Y");
207
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Движение по Z");
284
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Движение по Z");
214
   PROGMEM Language_Str MSG_MOVE_10MM                       = _UxGT("Движение 10мм");
291
   PROGMEM Language_Str MSG_MOVE_10MM                       = _UxGT("Движение 10мм");
215
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Скорость");
292
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Скорость");
216
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z стола");
293
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z стола");
217
-  PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Сопло");
294
+  PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Сопло, ") LCD_STR_DEGREE "C";
218
   PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Сопло ~");
295
   PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Сопло ~");
219
-  PROGMEM Language_Str MSG_BED                             = _UxGT("Стол");
296
+  PROGMEM Language_Str MSG_NOZZLE_PARKED                   = _UxGT("Сопло запарковано");
297
+  PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Сопло ожидает");
298
+  PROGMEM Language_Str MSG_BED                             = _UxGT("Стол,  ") LCD_STR_DEGREE "C";
299
+  PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Камера,") LCD_STR_DEGREE "C";
220
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Кулер");
300
   PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Кулер");
221
   PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Кулер ~");
301
   PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Кулер ~");
222
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Кулер доп.");
223
-  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Кулер доп. ~");
224
-  PROGMEM Language_Str MSG_CONTROLLER_FAN                  = _UxGT("Обдув платы");
225
-  PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED       = _UxGT("Обороты простоя");
302
+  PROGMEM Language_Str MSG_STORED_FAN_N                    = _UxGT("Сохранённый кулер ~");
303
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED                 = _UxGT("Дополн. кулер");
304
+  PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N               = _UxGT("Дополн. кулер ~");
305
+  PROGMEM Language_Str MSG_CONTROLLER_FAN                  = _UxGT("Контроллер кулера");
306
+  PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED       = _UxGT("Холостые обороты");
226
   PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON          = _UxGT("Автовключение");
307
   PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON          = _UxGT("Автовключение");
227
   PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED            = _UxGT("Рабочие обороты");
308
   PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED            = _UxGT("Рабочие обороты");
228
-  PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION         = _UxGT("Простой после");
309
+  PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION         = _UxGT("Период простоя");
229
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Поток");
310
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Поток");
230
   PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Поток ~");
311
   PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Поток ~");
231
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Настройки");
312
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Настройки");
232
-  PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Мин");
233
-  PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Макс");
313
+  PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER ", " LCD_STR_DEGREE _UxGT("С  мин");
314
+  PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER ", " LCD_STR_DEGREE _UxGT("С макс");
234
   PROGMEM Language_Str MSG_FACTOR                          = " " LCD_STR_THERMOMETER _UxGT(" Фактор");
315
   PROGMEM Language_Str MSG_FACTOR                          = " " LCD_STR_THERMOMETER _UxGT(" Фактор");
235
-  PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Автотемпература");
316
+  PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Автотемпер.");
236
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Вкл");
317
   PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Вкл");
237
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Выкл");
318
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Выкл");
238
-  PROGMEM Language_Str MSG_PID_AUTOTUNE                    = _UxGT("Автонастройка");
239
-  PROGMEM Language_Str MSG_PID_AUTOTUNE_E                  = _UxGT("Автонастройка *");
319
+
320
+  PROGMEM Language_Str MSG_PID_AUTOTUNE                    = _UxGT("Автоподбор PID");
321
+  PROGMEM Language_Str MSG_PID_AUTOTUNE_E                  = _UxGT("Автоподбор PID *");
322
+  PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE               = _UxGT("Подбор PID выполнен");
323
+  PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM            = _UxGT("Сбой автоподбора. Плохой экструдер.");
324
+  PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH               = _UxGT("Сбой автоподбора. Температура повышена.");
325
+  PROGMEM Language_Str MSG_PID_TIMEOUT                     = _UxGT("Сбой автоподбора! Завершение времени.");
326
+
240
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Выбор");
327
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Выбор");
241
   PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Выбор *");
328
   PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Выбор *");
242
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Ускорение");
329
   PROGMEM Language_Str MSG_ACC                             = _UxGT("Ускорение");
245
   PROGMEM Language_Str MSG_VB_JERK                         = _UxGT("V") LCD_STR_B _UxGT("-рывок");
332
   PROGMEM Language_Str MSG_VB_JERK                         = _UxGT("V") LCD_STR_B _UxGT("-рывок");
246
   PROGMEM Language_Str MSG_VC_JERK                         = _UxGT("V") LCD_STR_C _UxGT("-рывок");
333
   PROGMEM Language_Str MSG_VC_JERK                         = _UxGT("V") LCD_STR_C _UxGT("-рывок");
247
   PROGMEM Language_Str MSG_VE_JERK                         = _UxGT("Ve-рывок");
334
   PROGMEM Language_Str MSG_VE_JERK                         = _UxGT("Ve-рывок");
248
-  PROGMEM Language_Str MSG_VELOCITY                        = _UxGT("Быстрота");
249
-  PROGMEM Language_Str MSG_VMAX_A                          = _UxGT("Vмакс ") LCD_STR_A;
250
-  PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vмакс ") LCD_STR_B;
251
-  PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vмакс ") LCD_STR_C;
252
-  PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vмакс ") LCD_STR_E;
253
-  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vмакс *");
254
-  PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vмин");
255
-  PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vпутеш. мин");
256
-  PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Ускорение");
257
-  PROGMEM Language_Str MSG_AMAX_A                          = _UxGT("Aмакс ") LCD_STR_A;
258
-  PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Aмакс ") LCD_STR_B;
259
-  PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Aмакс ") LCD_STR_C;
260
-  PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Aмакс ") LCD_STR_E;
261
-  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Aмакс *");
262
-  PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-втягивание");
263
-  PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-путеш.");
264
-  PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Шаг/мм");
265
-  PROGMEM Language_Str MSG_A_STEPS                         = LCD_STR_A _UxGT("шаг/мм");
266
-  PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("шаг/мм");
267
-  PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("шаг/мм");
268
-  PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Eшаг/мм");
269
-  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*шаг/мм");
335
+  #if LCD_WIDTH > 21
336
+    PROGMEM Language_Str MSG_JUNCTION_DEVIATION            = _UxGT("Отклонение узла");
337
+  #else
338
+    PROGMEM Language_Str MSG_JUNCTION_DEVIATION            = _UxGT("Отклон. узла");
339
+  #endif
340
+  PROGMEM Language_Str MSG_VELOCITY                        = _UxGT("Скорость, мм/с");
341
+  PROGMEM Language_Str MSG_VMAX_A                          = _UxGT("Скор.макс ") LCD_STR_A;
342
+  PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Скор.макс ") LCD_STR_B;
343
+  PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Скор.макс ") LCD_STR_C;
344
+  PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Скор.макс ") LCD_STR_E;
345
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Скор.макс *");
346
+  PROGMEM Language_Str MSG_VMIN                            = _UxGT("Скор.мин");
347
+  PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Перемещение мин");
348
+  PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Ускорение, мм/с2");
349
+  PROGMEM Language_Str MSG_AMAX_A                          = _UxGT("Ускор.макс ") LCD_STR_A;
350
+  PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Ускор.макс ") LCD_STR_B;
351
+  PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Ускор.макс ") LCD_STR_C;
352
+  PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Ускор.макс ") LCD_STR_E;
353
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Ускор.макс *");
354
+  PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("Ускор.втягив.");
355
+  PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("Ускор.путеш.");
356
+  PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT              = _UxGT("Частота макс.");
357
+  PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE           = _UxGT("Подача мин.");
358
+  PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Шагов/мм");
359
+  PROGMEM Language_Str MSG_A_STEPS                         = LCD_STR_A _UxGT(" шаг/мм");
360
+  PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" шаг/мм");
361
+  PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" шаг/мм");
362
+  PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E шаг/мм");
363
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* шаг/мм");
270
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Температура");
364
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Температура");
271
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Движение");
365
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Движение");
272
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Филамент");
366
   PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Филамент");
273
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E в мм³");
367
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E в мм³");
274
-  PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Диаметр филамента");
275
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Диаметр филамента *");
276
-  PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Загрузка мм");
277
-  PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Выгрузка мм");
278
-  PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("K продвижения");
279
-  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("K продвижения *");
280
-  PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Контраст LCD");
368
+  PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT                = _UxGT("E огран.,мм³");
369
+  PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E              = _UxGT("E огран. *");
370
+  #if LCD_WIDTH > 21
371
+    PROGMEM Language_Str MSG_FILAMENT_DIAM                 = _UxGT("Диам. филамента");
372
+    PROGMEM Language_Str MSG_FILAMENT_DIAM_E               = _UxGT("Диам. филамента *");
373
+  #else
374
+    PROGMEM Language_Str MSG_FILAMENT_DIAM                 = _UxGT("Диам. филам.");
375
+    PROGMEM Language_Str MSG_FILAMENT_DIAM_E               = _UxGT("Диам. филам. *");
376
+  #endif
377
+  PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Загрузка, мм");
378
+  PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Выгрузка, мм");
379
+  PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Kоэф. продвиж.");
380
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Kоэф. продвиж. *");
381
+  PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Контраст экрана");
281
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Сохранить настройки");
382
   PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Сохранить настройки");
282
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Загрузить настройки");
383
   PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Загрузить настройки");
283
-  PROGMEM Language_Str MSG_RESTORE_DEFAULTS                = _UxGT("Вернуть настройки");
284
-  PROGMEM Language_Str MSG_INIT_EEPROM                     = _UxGT("Изначальный EEPROM");
384
+  PROGMEM Language_Str MSG_RESTORE_DEFAULTS                = _UxGT("На базовые параметры");
385
+  #if LCD_WIDTH > 21
386
+    PROGMEM Language_Str MSG_INIT_EEPROM                   = _UxGT("Инициализация EEPROM");
387
+  #else
388
+    PROGMEM Language_Str MSG_INIT_EEPROM                   = _UxGT("Инициализ. EEPROM");
389
+  #endif
390
+  PROGMEM Language_Str MSG_ERR_EEPROM_CRC                  = _UxGT("Сбой EEPROM: CRC");
391
+  PROGMEM Language_Str MSG_ERR_EEPROM_INDEX                = _UxGT("Сбой EEPROM: индекс");
392
+  PROGMEM Language_Str MSG_ERR_EEPROM_VERSION              = _UxGT("Сбой EEPROM: версия");
393
+  PROGMEM Language_Str MSG_SETTINGS_STORED                 = _UxGT("Параметры сохранены");
285
   PROGMEM Language_Str MSG_MEDIA_UPDATE                    = _UxGT("Обновление прошивки");
394
   PROGMEM Language_Str MSG_MEDIA_UPDATE                    = _UxGT("Обновление прошивки");
286
   PROGMEM Language_Str MSG_RESET_PRINTER                   = _UxGT("Сброс принтера");
395
   PROGMEM Language_Str MSG_RESET_PRINTER                   = _UxGT("Сброс принтера");
287
-  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH  _UxGT("Обновить");
396
+  PROGMEM Language_Str MSG_REFRESH                         =  LCD_STR_REFRESH  _UxGT(" Обновить");
288
   PROGMEM Language_Str MSG_INFO_SCREEN                     = _UxGT("Главный экран");
397
   PROGMEM Language_Str MSG_INFO_SCREEN                     = _UxGT("Главный экран");
289
   PROGMEM Language_Str MSG_PREPARE                         = _UxGT("Подготовить");
398
   PROGMEM Language_Str MSG_PREPARE                         = _UxGT("Подготовить");
290
   PROGMEM Language_Str MSG_TUNE                            = _UxGT("Настроить");
399
   PROGMEM Language_Str MSG_TUNE                            = _UxGT("Настроить");
400
+  PROGMEM Language_Str MSG_POWER_MONITOR                   = _UxGT("Монитор питания");
401
+  PROGMEM Language_Str MSG_CURRENT                         = _UxGT("Ток");
402
+  PROGMEM Language_Str MSG_VOLTAGE                         = _UxGT("Напряжение");
403
+  PROGMEM Language_Str MSG_POWER                           = _UxGT("Мощность");
291
   PROGMEM Language_Str MSG_START_PRINT                     = _UxGT("Начало печати");
404
   PROGMEM Language_Str MSG_START_PRINT                     = _UxGT("Начало печати");
292
-  PROGMEM Language_Str MSG_BUTTON_NEXT                     = _UxGT("Дальше");
293
-  PROGMEM Language_Str MSG_BUTTON_INIT                     = _UxGT("Инициализация");
294
-  PROGMEM Language_Str MSG_BUTTON_STOP                     = _UxGT("Остановить");
405
+
406
+  PROGMEM Language_Str MSG_BUTTON_NEXT                     = _UxGT("Дальше"); //short text for buttons
407
+  PROGMEM Language_Str MSG_BUTTON_INIT                     = _UxGT("Иниц-я");
408
+  PROGMEM Language_Str MSG_BUTTON_STOP                     = _UxGT("Стоп");
295
   PROGMEM Language_Str MSG_BUTTON_PRINT                    = _UxGT("Печать");
409
   PROGMEM Language_Str MSG_BUTTON_PRINT                    = _UxGT("Печать");
296
   PROGMEM Language_Str MSG_BUTTON_RESET                    = _UxGT("Сброс");
410
   PROGMEM Language_Str MSG_BUTTON_RESET                    = _UxGT("Сброс");
411
+  PROGMEM Language_Str MSG_BUTTON_IGNORE                   = _UxGT("Игнорир.");
297
   PROGMEM Language_Str MSG_BUTTON_CANCEL                   = _UxGT("Отмена");
412
   PROGMEM Language_Str MSG_BUTTON_CANCEL                   = _UxGT("Отмена");
298
   PROGMEM Language_Str MSG_BUTTON_DONE                     = _UxGT("Готово");
413
   PROGMEM Language_Str MSG_BUTTON_DONE                     = _UxGT("Готово");
414
+  PROGMEM Language_Str MSG_BUTTON_BACK                     = _UxGT("Назад");
415
+  PROGMEM Language_Str MSG_BUTTON_PROCEED                  = _UxGT("Продолжить");
416
+  
299
   PROGMEM Language_Str MSG_PAUSE_PRINT                     = _UxGT("Пауза печати");
417
   PROGMEM Language_Str MSG_PAUSE_PRINT                     = _UxGT("Пауза печати");
300
   PROGMEM Language_Str MSG_RESUME_PRINT                    = _UxGT("Продолжить печать");
418
   PROGMEM Language_Str MSG_RESUME_PRINT                    = _UxGT("Продолжить печать");
301
   PROGMEM Language_Str MSG_STOP_PRINT                      = _UxGT("Остановить печать");
419
   PROGMEM Language_Str MSG_STOP_PRINT                      = _UxGT("Остановить печать");
420
+  PROGMEM Language_Str MSG_PRINTING_OBJECT                 = _UxGT("Печать объекта");
421
+  PROGMEM Language_Str MSG_CANCEL_OBJECT                   = _UxGT("Завершить объект");
422
+  PROGMEM Language_Str MSG_CANCEL_OBJECT_N                 = _UxGT("Завершить объект =");
302
   PROGMEM Language_Str MSG_OUTAGE_RECOVERY                 = _UxGT("Восстановение сбоя");
423
   PROGMEM Language_Str MSG_OUTAGE_RECOVERY                 = _UxGT("Восстановение сбоя");
303
   PROGMEM Language_Str MSG_MEDIA_MENU                      = _UxGT("Печать с SD карты");
424
   PROGMEM Language_Str MSG_MEDIA_MENU                      = _UxGT("Печать с SD карты");
304
   PROGMEM Language_Str MSG_NO_MEDIA                        = _UxGT("Нет SD карты");
425
   PROGMEM Language_Str MSG_NO_MEDIA                        = _UxGT("Нет SD карты");
305
   PROGMEM Language_Str MSG_DWELL                           = _UxGT("Сон...");
426
   PROGMEM Language_Str MSG_DWELL                           = _UxGT("Сон...");
306
   PROGMEM Language_Str MSG_USERWAIT                        = _UxGT("Продолжить...");
427
   PROGMEM Language_Str MSG_USERWAIT                        = _UxGT("Продолжить...");
307
   PROGMEM Language_Str MSG_PRINT_PAUSED                    = _UxGT("Печать на паузе");
428
   PROGMEM Language_Str MSG_PRINT_PAUSED                    = _UxGT("Печать на паузе");
429
+  PROGMEM Language_Str MSG_PRINTING                        = _UxGT("Печать...");
308
   PROGMEM Language_Str MSG_PRINT_ABORTED                   = _UxGT("Печать отменена");
430
   PROGMEM Language_Str MSG_PRINT_ABORTED                   = _UxGT("Печать отменена");
431
+  PROGMEM Language_Str MSG_PRINT_DONE                      = _UxGT("Печать завершена");
309
   PROGMEM Language_Str MSG_NO_MOVE                         = _UxGT("Нет движения.");
432
   PROGMEM Language_Str MSG_NO_MOVE                         = _UxGT("Нет движения.");
310
   PROGMEM Language_Str MSG_KILLED                          = _UxGT("УБИТО. ");
433
   PROGMEM Language_Str MSG_KILLED                          = _UxGT("УБИТО. ");
311
   PROGMEM Language_Str MSG_STOPPED                         = _UxGT("ОСТАНОВЛЕНО. ");
434
   PROGMEM Language_Str MSG_STOPPED                         = _UxGT("ОСТАНОВЛЕНО. ");
312
-  PROGMEM Language_Str MSG_CONTROL_RETRACT                 = _UxGT("Втягивание мм");
313
-  PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP            = _UxGT("Втягивание смены мм");
435
+  #if LCD_WIDTH > 21
436
+    PROGMEM Language_Str MSG_CONTROL_RETRACT               = _UxGT("Втягивание, мм");
437
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP          = _UxGT("Смена втягив., мм");
438
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP  = _UxGT("Возврат смены, мм");
439
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Возврат смены, V");
440
+    PROGMEM Language_Str MSG_AUTORETRACT                   = _UxGT("Автовтягивание");
441
+  #else
442
+    PROGMEM Language_Str MSG_CONTROL_RETRACT               = _UxGT("Втягив., мм");
443
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP          = _UxGT("Смена втяг.,мм");
444
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP  = _UxGT("Возвр.смены,мм");
445
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Возвр.смены V");
446
+    PROGMEM Language_Str MSG_AUTORETRACT                   = _UxGT("Автовтягив.");
447
+  #endif
448
+  PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP            = _UxGT("Подскок, мм");
314
   PROGMEM Language_Str MSG_CONTROL_RETRACTF                = _UxGT("Втягивание V");
449
   PROGMEM Language_Str MSG_CONTROL_RETRACTF                = _UxGT("Втягивание V");
315
-  PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP            = _UxGT("Втяг. прыжка мм");
316
-  PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER         = _UxGT("Возврат мм");
317
-  PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP    = _UxGT("Возврат смены мм");
450
+  PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER         = _UxGT("Возврат, мм");
318
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("Возврат V");
451
   PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("Возврат V");
319
-  PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF   = _UxGT("Возврат смены V");
320
-  PROGMEM Language_Str MSG_AUTORETRACT                     = _UxGT("Автовтягивание");
321
 
452
 
322
-  // TODO: Filament Change Swap / Purge Length
453
+  PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH            = _UxGT("Поменять длины");
454
+  #if LCD_WIDTH > 21
455
+    PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA           = _UxGT("Поменять дополнительно");
456
+  #else
457
+    PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA           = _UxGT("Поменять дополнит.");
458
+  #endif
459
+  PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH           = _UxGT("Очистить длину");
323
 
460
 
324
   PROGMEM Language_Str MSG_TOOL_CHANGE                     = _UxGT("Смена сопел");
461
   PROGMEM Language_Str MSG_TOOL_CHANGE                     = _UxGT("Смена сопел");
325
   PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT               = _UxGT("Поднятие по Z");
462
   PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT               = _UxGT("Поднятие по Z");
326
-
327
-  // TODO: Singlenozzle, nozzle standby
328
-
463
+  #if LCD_WIDTH > 21
464
+    PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED      = _UxGT("Начальная скор.");
465
+    PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED    = _UxGT("Скорость втягив.");
466
+  #else
467
+    PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED      = _UxGT("Началь.скор.");
468
+    PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED    = _UxGT("Скор.втягив.");
469
+  #endif
470
+  PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED           = _UxGT("Парковать голову");
471
+  PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED    = _UxGT("Вернуть скорость");
472
+  PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED          = _UxGT("Обороти кулера");
473
+  PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME           = _UxGT("Время кулера");
474
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_ON               = _UxGT("Авто Вкл.");
475
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF              = _UxGT("Авто Выкл.");
476
+  PROGMEM Language_Str MSG_TOOL_MIGRATION                  = _UxGT("Замена инструмента");
477
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO             = _UxGT("Авто замена");
478
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_END              = _UxGT("Последний экструдер");
479
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP             = _UxGT("Замена на *");
329
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Смена филамента");
480
   PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Смена филамента");
330
   PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Смена филамента *");
481
   PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Смена филамента *");
331
-  PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Загрузка филамента");
332
-  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Загрузка филамента *");
333
-  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Выгрузка филамента *");
482
+  PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Загрузить филамент");
483
+  #if LCD_WIDTH > 21
484
+    PROGMEM Language_Str MSG_FILAMENTLOAD_E                = _UxGT("Загрузить филамент *");
485
+    PROGMEM Language_Str MSG_FILAMENTUNLOAD_E              = _UxGT("Выгрузить филамент *");
486
+  #else
487
+    PROGMEM Language_Str MSG_FILAMENTLOAD_E                = _UxGT("Подать филамент *");
488
+    PROGMEM Language_Str MSG_FILAMENTUNLOAD_E              = _UxGT("Убрать филамент *");
489
+  #endif
334
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Выгрузить всё");
490
   PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Выгрузить всё");
335
-  PROGMEM Language_Str MSG_ATTACH_MEDIA                    = _UxGT("Активировать SD");
491
+  PROGMEM Language_Str MSG_ATTACH_MEDIA                    = _UxGT("Установить SD карту");
336
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Сменить SD карту");
492
   PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Сменить SD карту");
337
-  PROGMEM Language_Str MSG_RELEASE_MEDIA                   = _UxGT("Деактивировать SD");
338
-  PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Z-датчик вне стола");
493
+  PROGMEM Language_Str MSG_RELEASE_MEDIA                   = _UxGT("Освободить SD карту");
494
+  PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Z-зонд вне стола");
339
   PROGMEM Language_Str MSG_SKEW_FACTOR                     = _UxGT("Фактор наклона");
495
   PROGMEM Language_Str MSG_SKEW_FACTOR                     = _UxGT("Фактор наклона");
340
-  PROGMEM Language_Str MSG_BLTOUCH                         = _UxGT("BLTouch");
496
+  PROGMEM Language_Str MSG_BLTOUCH                         = _UxGT("Z-зонд BLTouch");
341
   PROGMEM Language_Str MSG_BLTOUCH_SELFTEST                = _UxGT("Тестирование BLTouch");
497
   PROGMEM Language_Str MSG_BLTOUCH_SELFTEST                = _UxGT("Тестирование BLTouch");
342
   PROGMEM Language_Str MSG_BLTOUCH_RESET                   = _UxGT("Сброс BLTouch");
498
   PROGMEM Language_Str MSG_BLTOUCH_RESET                   = _UxGT("Сброс BLTouch");
343
-  PROGMEM Language_Str MSG_BLTOUCH_DEPLOY                  = _UxGT("Опустить BLTouch");
344
   PROGMEM Language_Str MSG_BLTOUCH_STOW                    = _UxGT("Поднять BLTouch");
499
   PROGMEM Language_Str MSG_BLTOUCH_STOW                    = _UxGT("Поднять BLTouch");
345
-
346
-  // TODO: TouchMI Probe, Manual deploy/stow
347
-
348
-  PROGMEM Language_Str MSG_HOME_FIRST                      = _UxGT("Паркуй %s%s%s сначала");
349
-  PROGMEM Language_Str MSG_ZPROBE_OFFSETS                  = _UxGT("Отступы Z-датчика");
500
+  PROGMEM Language_Str MSG_BLTOUCH_DEPLOY                  = _UxGT("Опустить BLTouch");
501
+  PROGMEM Language_Str MSG_BLTOUCH_SW_MODE                 = _UxGT("Режим SW");
502
+  PROGMEM Language_Str MSG_BLTOUCH_5V_MODE                 = _UxGT("Режим 5V");
503
+  PROGMEM Language_Str MSG_BLTOUCH_OD_MODE                 = _UxGT("Режим OD");
504
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE              = _UxGT("Режим сохранения");
505
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V           = _UxGT("Установить на 5V");
506
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD           = _UxGT("Установить на OD");
507
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO               = _UxGT("Слив отчёта");
508
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE             = _UxGT("ОПАСНОСТЬ: Неправильные параметры приводят к повреждениям! Продолжить?");
509
+  PROGMEM Language_Str MSG_TOUCHMI_PROBE                   = _UxGT("Z-Зонд TouchMI");
510
+  PROGMEM Language_Str MSG_TOUCHMI_INIT                    = _UxGT("Инициализация");
511
+  PROGMEM Language_Str MSG_TOUCHMI_ZTEST                   = _UxGT("Тест Z-смещения");
512
+  PROGMEM Language_Str MSG_TOUCHMI_SAVE                    = _UxGT("Сохранить");
513
+  PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI           = _UxGT("Установить TouchMI");
514
+  PROGMEM Language_Str MSG_MANUAL_DEPLOY                   = _UxGT("Установить зонд");
515
+  PROGMEM Language_Str MSG_MANUAL_STOW                     = _UxGT("Загрузить зонд");
516
+  PROGMEM Language_Str MSG_HOME_FIRST                      = _UxGT("Сначала паркуй %s%s%s");
517
+  PROGMEM Language_Str MSG_ZPROBE_OFFSETS                  = _UxGT("Смещения Z-зонда");
350
   PROGMEM Language_Str MSG_ZPROBE_XOFFSET                  = _UxGT("Смещение X");
518
   PROGMEM Language_Str MSG_ZPROBE_XOFFSET                  = _UxGT("Смещение X");
351
   PROGMEM Language_Str MSG_ZPROBE_YOFFSET                  = _UxGT("Смещение Y");
519
   PROGMEM Language_Str MSG_ZPROBE_YOFFSET                  = _UxGT("Смещение Y");
352
   PROGMEM Language_Str MSG_ZPROBE_ZOFFSET                  = _UxGT("Смещение Z");
520
   PROGMEM Language_Str MSG_ZPROBE_ZOFFSET                  = _UxGT("Смещение Z");
353
   PROGMEM Language_Str MSG_BABYSTEP_X                      = _UxGT("Микрошаг X");
521
   PROGMEM Language_Str MSG_BABYSTEP_X                      = _UxGT("Микрошаг X");
354
   PROGMEM Language_Str MSG_BABYSTEP_Y                      = _UxGT("Микрошаг Y");
522
   PROGMEM Language_Str MSG_BABYSTEP_Y                      = _UxGT("Микрошаг Y");
355
   PROGMEM Language_Str MSG_BABYSTEP_Z                      = _UxGT("Микрошаг Z");
523
   PROGMEM Language_Str MSG_BABYSTEP_Z                      = _UxGT("Микрошаг Z");
524
+  PROGMEM Language_Str MSG_BABYSTEP_TOTAL                  = _UxGT("Сумарно");
356
   PROGMEM Language_Str MSG_ENDSTOP_ABORT                   = _UxGT("Сработал концевик");
525
   PROGMEM Language_Str MSG_ENDSTOP_ABORT                   = _UxGT("Сработал концевик");
357
   PROGMEM Language_Str MSG_HEATING_FAILED_LCD              = _UxGT("Разогрев не удался");
526
   PROGMEM Language_Str MSG_HEATING_FAILED_LCD              = _UxGT("Разогрев не удался");
358
-  PROGMEM Language_Str MSG_HEATING_FAILED_LCD_BED          = _UxGT("Неудача нагрева стола");
359
-  PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP              = _UxGT("Ошибка: Избыточная Т");
360
-  PROGMEM Language_Str MSG_THERMAL_RUNAWAY                 = _UxGT("УБЕГАНИЕ ТЕПЛА");
361
-  PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED             = _UxGT("УБЕГАНИЕ ТЕПЛА СТОЛА");
362
-  // TODO: Heated chamber
527
+  PROGMEM Language_Str MSG_HEATING_FAILED_LCD_BED          = _UxGT("Сбой нагрева стола");
528
+  PROGMEM Language_Str MSG_HEATING_FAILED_LCD_CHAMBER      = _UxGT("Сбой нагрева камеры");
529
+  PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP              = _UxGT("Ошибка:Избыточная Т");
530
+  PROGMEM Language_Str MSG_THERMAL_RUNAWAY                 = _UxGT("УТЕЧКА ТЕПЛА");
531
+  PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED             = _UxGT("УТЕЧКА ТЕПЛА СТОЛА");
532
+  PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER         = _UxGT("УТЕЧКА ТЕПЛА КАМЕРЫ");
363
   PROGMEM Language_Str MSG_ERR_MAXTEMP                     = _UxGT("Ошибка: Т макс.");
533
   PROGMEM Language_Str MSG_ERR_MAXTEMP                     = _UxGT("Ошибка: Т макс.");
364
   PROGMEM Language_Str MSG_ERR_MINTEMP                     = _UxGT("Ошибка: Т мин.");
534
   PROGMEM Language_Str MSG_ERR_MINTEMP                     = _UxGT("Ошибка: Т мин.");
365
   PROGMEM Language_Str MSG_ERR_MAXTEMP_BED                 = _UxGT("Ошибка: Т стола макс");
535
   PROGMEM Language_Str MSG_ERR_MAXTEMP_BED                 = _UxGT("Ошибка: Т стола макс");
366
   PROGMEM Language_Str MSG_ERR_MINTEMP_BED                 = _UxGT("Ошибка: Т стола мин.");
536
   PROGMEM Language_Str MSG_ERR_MINTEMP_BED                 = _UxGT("Ошибка: Т стола мин.");
367
-  // TODO: Heated chamber
537
+  PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER             = _UxGT("Ошибка:Т камеры макс");
538
+  PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER             = _UxGT("Ошибка:Т камеры мин.");
368
   PROGMEM Language_Str MSG_ERR_Z_HOMING                    = _UxGT("Паркуй XY сначала");
539
   PROGMEM Language_Str MSG_ERR_Z_HOMING                    = _UxGT("Паркуй XY сначала");
369
   PROGMEM Language_Str MSG_HALTED                          = _UxGT("ПРИНТЕР ОСТАНОВЛЕН");
540
   PROGMEM Language_Str MSG_HALTED                          = _UxGT("ПРИНТЕР ОСТАНОВЛЕН");
370
   PROGMEM Language_Str MSG_PLEASE_RESET                    = _UxGT("Сделайте сброс");
541
   PROGMEM Language_Str MSG_PLEASE_RESET                    = _UxGT("Сделайте сброс");
374
   PROGMEM Language_Str MSG_HEATING                         = _UxGT("Нагрев...");
545
   PROGMEM Language_Str MSG_HEATING                         = _UxGT("Нагрев...");
375
   PROGMEM Language_Str MSG_COOLING                         = _UxGT("Охлаждение...");
546
   PROGMEM Language_Str MSG_COOLING                         = _UxGT("Охлаждение...");
376
   PROGMEM Language_Str MSG_BED_HEATING                     = _UxGT("Нагрев стола...");
547
   PROGMEM Language_Str MSG_BED_HEATING                     = _UxGT("Нагрев стола...");
548
+  PROGMEM Language_Str MSG_CHAMBER_HEATING                 = _UxGT("Нагрев камеры...");
377
   PROGMEM Language_Str MSG_BED_COOLING                     = _UxGT("Охлаждение стола...");
549
   PROGMEM Language_Str MSG_BED_COOLING                     = _UxGT("Охлаждение стола...");
378
-  // TODO: Heated chamber
550
+  PROGMEM Language_Str MSG_CHAMBER_COOLING                 = _UxGT("Охладжение камеры...");
379
   PROGMEM Language_Str MSG_DELTA_CALIBRATE                 = _UxGT("Калибровка Delta");
551
   PROGMEM Language_Str MSG_DELTA_CALIBRATE                 = _UxGT("Калибровка Delta");
380
   PROGMEM Language_Str MSG_DELTA_CALIBRATE_X               = _UxGT("Калибровать X");
552
   PROGMEM Language_Str MSG_DELTA_CALIBRATE_X               = _UxGT("Калибровать X");
381
   PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y               = _UxGT("Калибровать Y");
553
   PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y               = _UxGT("Калибровать Y");
383
   PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER          = _UxGT("Калибровать центр");
555
   PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER          = _UxGT("Калибровать центр");
384
   PROGMEM Language_Str MSG_DELTA_SETTINGS                  = _UxGT("Настройки Delta");
556
   PROGMEM Language_Str MSG_DELTA_SETTINGS                  = _UxGT("Настройки Delta");
385
   PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE            = _UxGT("Авто калибровка");
557
   PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE            = _UxGT("Авто калибровка");
386
-  PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE          = _UxGT("Задать высоту Delta");
387
-  PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE        = _UxGT("Задать Z-смещение");
388
-  PROGMEM Language_Str MSG_DELTA_DIAG_ROD                  = _UxGT("Диаг. стержень");
558
+  PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE          = _UxGT("Высота Delta");
559
+  #if LCD_WIDTH >= 20
560
+    PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE      = _UxGT("Зондировать Z-смещение");
561
+    PROGMEM Language_Str MSG_DELTA_DIAG_ROD                = _UxGT("Стержень диагонали");
562
+  #else
563
+    PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE      = _UxGT("Зондир. Z-смещения");
564
+    PROGMEM Language_Str MSG_DELTA_DIAG_ROD                = _UxGT("Стержень диаг.");
565
+  #endif
389
   PROGMEM Language_Str MSG_DELTA_HEIGHT                    = _UxGT("Высота");
566
   PROGMEM Language_Str MSG_DELTA_HEIGHT                    = _UxGT("Высота");
390
   PROGMEM Language_Str MSG_DELTA_RADIUS                    = _UxGT("Радиус");
567
   PROGMEM Language_Str MSG_DELTA_RADIUS                    = _UxGT("Радиус");
391
   PROGMEM Language_Str MSG_INFO_MENU                       = _UxGT("О принтере");
568
   PROGMEM Language_Str MSG_INFO_MENU                       = _UxGT("О принтере");
392
   PROGMEM Language_Str MSG_INFO_PRINTER_MENU               = _UxGT("Данные принтера");
569
   PROGMEM Language_Str MSG_INFO_PRINTER_MENU               = _UxGT("Данные принтера");
393
-  PROGMEM Language_Str MSG_3POINT_LEVELING                 = _UxGT("Калибровка 3-х точек");
394
-  PROGMEM Language_Str MSG_LINEAR_LEVELING                 = _UxGT("Калибровка линейная");
395
-  PROGMEM Language_Str MSG_BILINEAR_LEVELING               = _UxGT("Калибровка билинейная");
396
-  PROGMEM Language_Str MSG_UBL_LEVELING                    = _UxGT("Калибровка UBL");
397
-  PROGMEM Language_Str MSG_MESH_LEVELING                   = _UxGT("Калибровка сетки");
570
+  #if LCD_WIDTH > 21
571
+    PROGMEM Language_Str MSG_3POINT_LEVELING               = _UxGT("3-точечное выравнивание");
572
+    PROGMEM Language_Str MSG_LINEAR_LEVELING               = _UxGT("Линейное выравнивание");
573
+    PROGMEM Language_Str MSG_BILINEAR_LEVELING             = _UxGT("Билинейное выравнивание");
574
+  #else
575
+    PROGMEM Language_Str MSG_3POINT_LEVELING               = _UxGT("3-точ. выравнив.");
576
+    PROGMEM Language_Str MSG_LINEAR_LEVELING               = _UxGT("Линейное выравн.");
577
+    PROGMEM Language_Str MSG_BILINEAR_LEVELING             = _UxGT("Билин. выравнив.");
578
+  #endif
579
+  PROGMEM Language_Str MSG_UBL_LEVELING                    = _UxGT("Управление UBL");
580
+  PROGMEM Language_Str MSG_MESH_LEVELING                   = _UxGT("Выравнивание сетки");
581
+
398
   PROGMEM Language_Str MSG_INFO_STATS_MENU                 = _UxGT("Статистика принтера");
582
   PROGMEM Language_Str MSG_INFO_STATS_MENU                 = _UxGT("Статистика принтера");
399
   PROGMEM Language_Str MSG_INFO_BOARD_MENU                 = _UxGT("Данные платы");
583
   PROGMEM Language_Str MSG_INFO_BOARD_MENU                 = _UxGT("Данные платы");
400
   PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU            = _UxGT("Термисторы");
584
   PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU            = _UxGT("Термисторы");
401
   PROGMEM Language_Str MSG_INFO_EXTRUDERS                  = _UxGT("Экструдеры");
585
   PROGMEM Language_Str MSG_INFO_EXTRUDERS                  = _UxGT("Экструдеры");
402
-  PROGMEM Language_Str MSG_INFO_BAUDRATE                   = _UxGT("Скорость БОД");
586
+  PROGMEM Language_Str MSG_INFO_BAUDRATE                   = _UxGT("Скорость,БОД");
403
   PROGMEM Language_Str MSG_INFO_PROTOCOL                   = _UxGT("Протокол");
587
   PROGMEM Language_Str MSG_INFO_PROTOCOL                   = _UxGT("Протокол");
404
-  PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF                = _UxGT("Контроль темп.: Выкл");
405
-  PROGMEM Language_Str MSG_INFO_RUNAWAY_ON                 = _UxGT("Контроль темп.: Вкл");
406
-
588
+  #if LCD_WIDTH > 21
589
+    PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF              = _UxGT("Контроль утечки Т: Выкл");
590
+    PROGMEM Language_Str MSG_INFO_RUNAWAY_ON               = _UxGT("Контроль утечки Т: Вкл");
591
+    PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT           = _UxGT("Время простоя хотенда");
592
+  #else
593
+    PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF              = _UxGT("Контр.утечки Т:Выкл");
594
+    PROGMEM Language_Str MSG_INFO_RUNAWAY_ON               = _UxGT("Контр.утечки Т:Вкл");
595
+    PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT           = _UxGT("Время прост.хот-а");
596
+  #endif
407
   PROGMEM Language_Str MSG_CASE_LIGHT                      = _UxGT("Подсветка корпуса");
597
   PROGMEM Language_Str MSG_CASE_LIGHT                      = _UxGT("Подсветка корпуса");
408
   PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS           = _UxGT("Яркость подсветки");
598
   PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS           = _UxGT("Яркость подсветки");
409
   PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER           = _UxGT("Неверный принтер");
599
   PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER           = _UxGT("Неверный принтер");
410
 
600
 
411
   #if LCD_WIDTH >= 20
601
   #if LCD_WIDTH >= 20
412
     PROGMEM Language_Str MSG_INFO_PRINT_COUNT              = _UxGT("Счётчик печати");
602
     PROGMEM Language_Str MSG_INFO_PRINT_COUNT              = _UxGT("Счётчик печати");
413
-    PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS         = _UxGT("Закончено");
414
     PROGMEM Language_Str MSG_INFO_PRINT_TIME               = _UxGT("Общее время печати");
603
     PROGMEM Language_Str MSG_INFO_PRINT_TIME               = _UxGT("Общее время печати");
415
     PROGMEM Language_Str MSG_INFO_PRINT_LONGEST            = _UxGT("Наидольшее задание");
604
     PROGMEM Language_Str MSG_INFO_PRINT_LONGEST            = _UxGT("Наидольшее задание");
416
     PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT           = _UxGT("Длина филамента");
605
     PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT           = _UxGT("Длина филамента");
417
   #else
606
   #else
418
     PROGMEM Language_Str MSG_INFO_PRINT_COUNT              = _UxGT("Отпечатков");
607
     PROGMEM Language_Str MSG_INFO_PRINT_COUNT              = _UxGT("Отпечатков");
419
-    PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS         = _UxGT("Закончено");
420
     PROGMEM Language_Str MSG_INFO_PRINT_TIME               = _UxGT("Всего");
608
     PROGMEM Language_Str MSG_INFO_PRINT_TIME               = _UxGT("Всего");
421
     PROGMEM Language_Str MSG_INFO_PRINT_LONGEST            = _UxGT("Наидольшее");
609
     PROGMEM Language_Str MSG_INFO_PRINT_LONGEST            = _UxGT("Наидольшее");
422
     PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT           = _UxGT("Выдавлено");
610
     PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT           = _UxGT("Выдавлено");
423
   #endif
611
   #endif
424
-  PROGMEM Language_Str MSG_INFO_MIN_TEMP                   = _UxGT("Температура мин.");
425
-  PROGMEM Language_Str MSG_INFO_MAX_TEMP                   = _UxGT("Температура макс");
612
+  PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS           = _UxGT("Завершено");
613
+
614
+  PROGMEM Language_Str MSG_INFO_MIN_TEMP                   = _UxGT("Мин.  ") LCD_STR_THERMOMETER;
615
+  PROGMEM Language_Str MSG_INFO_MAX_TEMP                   = _UxGT("Макс. ") LCD_STR_THERMOMETER;
426
   PROGMEM Language_Str MSG_INFO_PSU                        = _UxGT("БП");
616
   PROGMEM Language_Str MSG_INFO_PSU                        = _UxGT("БП");
427
   PROGMEM Language_Str MSG_DRIVE_STRENGTH                  = _UxGT("Сила привода");
617
   PROGMEM Language_Str MSG_DRIVE_STRENGTH                  = _UxGT("Сила привода");
428
-  PROGMEM Language_Str MSG_DAC_PERCENT_X                   = _UxGT("X Привод %");
429
-  PROGMEM Language_Str MSG_DAC_PERCENT_Y                   = _UxGT("Y Привод %");
430
-  PROGMEM Language_Str MSG_DAC_PERCENT_Z                   = _UxGT("Z Привод %");
431
-  PROGMEM Language_Str MSG_DAC_PERCENT_E                   = _UxGT("E Привод %");
432
-  PROGMEM Language_Str MSG_DAC_EEPROM_WRITE                = _UxGT("Запись DAC EEPROM");
618
+  PROGMEM Language_Str MSG_DAC_PERCENT_X                   = _UxGT("X Привод, %");
619
+  PROGMEM Language_Str MSG_DAC_PERCENT_Y                   = _UxGT("Y Привод, %");
620
+  PROGMEM Language_Str MSG_DAC_PERCENT_Z                   = _UxGT("Z Привод, %");
621
+  PROGMEM Language_Str MSG_DAC_PERCENT_E                   = _UxGT("E Привод, %");
622
+  PROGMEM Language_Str MSG_ERROR_TMC                       = _UxGT("СБОЙ СВЯЗИ С TMC");
623
+  PROGMEM Language_Str MSG_DAC_EEPROM_WRITE                = _UxGT("Запись DAC в EEPROM");
624
+  PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER          = _UxGT("ЗАМЕНА ФИЛАМЕНТА");
433
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE    = _UxGT("ПЕЧАТЬ НА ПАУЗЕ");
625
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE    = _UxGT("ПЕЧАТЬ НА ПАУЗЕ");
434
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD     = _UxGT("ЗАГРУЗКА ФИЛАМЕНТА");
626
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD     = _UxGT("ЗАГРУЗКА ФИЛАМЕНТА");
435
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD   = _UxGT("ВЫГРУЗКА ФИЛАМЕНТА");
627
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD   = _UxGT("ВЫГРУЗКА ФИЛАМЕНТА");
436
-  PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER   = _UxGT("ОПЦИИ ВОЗОБНОВЛЕНИЯ:");
628
+  PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER   = _UxGT("ОПЦИИ ПРОДОЛЖЕНИЯ:");
437
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE    = _UxGT("Выдавить ещё");
629
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE    = _UxGT("Выдавить ещё");
438
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME   = _UxGT("Возобновить печать");
630
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME   = _UxGT("Возобновить печать");
439
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE          = _UxGT("  Сопла: ");
631
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE          = _UxGT("  Сопла: ");
440
-  PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Возврат не удался");
441
-  PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Не удалось прощупать");
442
-  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Низкая Т");
443
-
444
-  // TODO: MMU2
632
+  #if LCD_WIDTH > 21
633
+    PROGMEM Language_Str MSG_RUNOUT_SENSOR                 = _UxGT("Датчик оконч. филамента");
634
+  #else
635
+    PROGMEM Language_Str MSG_RUNOUT_SENSOR                 = _UxGT("Датчик оконч.филам.");
636
+  #endif
637
+  PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM              = _UxGT("До конца, мм");
638
+  PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Ошибка парковки");
639
+  PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Ошибка зондирования");
640
+  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: Низкая Т") LCD_STR_DEGREE;
445
 
641
 
446
-  // TODO: Mixing
642
+  PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("ВЫБИРЕТЕ ФИЛАМЕНТ");
643
+  PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("Настройки MMU");
644
+  #if LCD_WIDTH > 21
645
+    PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE            = _UxGT("Обновить прошивку MMU!");
646
+  #else
647
+    PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE            = _UxGT("Обнови прошивку MMU");
648
+  #endif
649
+  PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING             = _UxGT("MMU требует внимания");
650
+  PROGMEM Language_Str MSG_MMU2_RESUME                     = _UxGT("Продолжить печать");
651
+  PROGMEM Language_Str MSG_MMU2_RESUMING                   = _UxGT("Продолжение...");
652
+  PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT              = _UxGT("Загрузить филамент");
653
+  PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Загрузить всё");
654
+  PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Загрузить в сопло");
655
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Извлечь филамент");
656
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Извлечь филамент ~");
657
+  PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Выгрузить филамент");
658
+  PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Загрузка %i...");
659
+  #if LCD_WIDTH > 21
660
+    PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT        = _UxGT("Извлечение филамента...");
661
+  #else
662
+    PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT        = _UxGT("Извлеч.филамента...");
663
+  #endif
664
+  PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Выгрузка....");
665
+  PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Всё");
666
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Филамент ~");
667
+  PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Перезапуск MMU");
668
+  PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Перезапуск MMU...");
669
+  PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Удалите и нажмите");
670
+  #if LCD_WIDTH > 21
671
+    PROGMEM Language_Str MSG_MIX                           = _UxGT("Смешивание");
672
+  #else
673
+    PROGMEM Language_Str MSG_MIX                           = _UxGT("Смешив.");
674
+  #endif
675
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Компонент =");
676
+  PROGMEM Language_Str MSG_MIXER                           = _UxGT("Смеситель");
677
+  PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Градиент");
678
+  PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Полний градиент");
679
+  PROGMEM Language_Str MSG_CYCLE_MIX                       = _UxGT("Цикличное смешивание");
680
+  PROGMEM Language_Str MSG_GRADIENT_MIX                    = _UxGT("Градиент смешивания");
681
+  PROGMEM Language_Str MSG_REVERSE_GRADIENT                = _UxGT("Сменить градиент");
682
+  #if LCD_WIDTH > 21
683
+    PROGMEM Language_Str MSG_TOGGLE_MIX                    = _UxGT("Переключить смешивание");
684
+    PROGMEM Language_Str MSG_ACTIVE_VTOOL                  = _UxGT("Активация В-инструм.");
685
+    PROGMEM Language_Str MSG_START_VTOOL                   = _UxGT("Начало В-инструмента");
686
+    PROGMEM Language_Str MSG_END_VTOOL                     = _UxGT("Конец В-инструмента");
687
+    PROGMEM Language_Str MSG_GRADIENT_ALIAS                = _UxGT("Псевдоним В-инструмента");
688
+    PROGMEM Language_Str MSG_RESET_VTOOLS                  = _UxGT("Сброс В-инструментов");
689
+    PROGMEM Language_Str MSG_VTOOLS_RESET                  = _UxGT("В-инструменти сброшены");
690
+    PROGMEM Language_Str MSG_COMMIT_VTOOL                  = _UxGT("Смешать В-инструменти");
691
+  #else
692
+    PROGMEM Language_Str MSG_TOGGLE_MIX                    = _UxGT("Перекл. смешивание");
693
+    PROGMEM Language_Str MSG_ACTIVE_VTOOL                  = _UxGT("Актив.В-инструм.");
694
+    PROGMEM Language_Str MSG_START_VTOOL                   = _UxGT("В-инструм.нач.");
695
+    PROGMEM Language_Str MSG_END_VTOOL                     = _UxGT("В-инструм.кон.");
696
+    PROGMEM Language_Str MSG_GRADIENT_ALIAS                = _UxGT("Псевдоним В-инстр.");
697
+    PROGMEM Language_Str MSG_RESET_VTOOLS                  = _UxGT("Сброс В-инструм.");
698
+    PROGMEM Language_Str MSG_VTOOLS_RESET                  = _UxGT("В-инструм. сброшены");
699
+    PROGMEM Language_Str MSG_COMMIT_VTOOL                  = _UxGT("Смешать В-инструм.");
700
+  #endif
701
+  PROGMEM Language_Str MSG_START_Z                         = _UxGT("Начало Z");
702
+  PROGMEM Language_Str MSG_END_Z                           = _UxGT(" Конец Z");
447
 
703
 
448
   PROGMEM Language_Str MSG_GAMES                           = _UxGT("Игры");
704
   PROGMEM Language_Str MSG_GAMES                           = _UxGT("Игры");
449
   PROGMEM Language_Str MSG_BRICKOUT                        = _UxGT("Кирпичи");
705
   PROGMEM Language_Str MSG_BRICKOUT                        = _UxGT("Кирпичи");
451
   PROGMEM Language_Str MSG_SNAKE                           = _UxGT("Змейка");
707
   PROGMEM Language_Str MSG_SNAKE                           = _UxGT("Змейка");
452
   PROGMEM Language_Str MSG_MAZE                            = _UxGT("Лабиринт");
708
   PROGMEM Language_Str MSG_MAZE                            = _UxGT("Лабиринт");
453
 
709
 
710
+  #if LCD_WIDTH > 21
711
+    PROGMEM Language_Str MSG_BAD_PAGE                      = _UxGT("Плохой индекс страницы");
712
+    PROGMEM Language_Str MSG_BAD_PAGE_SPEED                = _UxGT("Полохая скорость страницы");
713
+  #else
714
+    PROGMEM Language_Str MSG_BAD_PAGE                      = _UxGT("Полохая страница");
715
+    PROGMEM Language_Str MSG_BAD_PAGE_SPEED                = _UxGT("Полохая скор.стран.");
716
+  #endif
717
+
718
+  PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING             = _UxGT(MSG_1_LINE("Парковка..."));
454
   //
719
   //
455
   // Filament Change screens show up to 3 lines on a 4-line display
720
   // Filament Change screens show up to 3 lines on a 4-line display
456
   //                        ...or up to 2 lines on a 3-line display
721
   //                        ...or up to 2 lines on a 3-line display
457
   //
722
   //
458
   #if LCD_HEIGHT >= 4
723
   #if LCD_HEIGHT >= 4
459
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT          = _UxGT(MSG_3_LINE("Ожидайте", "начала смены", "филамента"));
460
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD        = _UxGT(MSG_3_LINE("Ожидайте", "выгрузки", "филамента"));
461
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT        = _UxGT(MSG_3_LINE("Вставьте пруток", "и нажмите кнопку", "для продолжения"));
462
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT          = _UxGT(MSG_2_LINE("Нажмите кнопку для", "нагрева сопла..."));
724
+    PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING        = _UxGT(MSG_3_LINE("Нажмите кнопку", "для продолжения", "печати"));
725
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT          = _UxGT(MSG_2_LINE("Ожидайте начала", "смены филамента"));
726
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT        = _UxGT(MSG_3_LINE("Вставьте филамент", "и нажмите кнопку", "для продолжения"));
727
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT          = _UxGT(MSG_3_LINE("Нажмите кнопку", "для нагрева", "сопла..."));
463
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING       = _UxGT(MSG_2_LINE("Нагрев сопла", "Ждите..."));
728
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING       = _UxGT(MSG_2_LINE("Нагрев сопла", "Ждите..."));
464
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD          = _UxGT(MSG_2_LINE("Ожидайте", "загрузки прутка"));
729
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD        = _UxGT(MSG_3_LINE("Ожидайте", "выгрузки", "филамента"));
730
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD          = _UxGT(MSG_3_LINE("Ожидайте", "загрузки", "филамента"));
465
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE         = _UxGT(MSG_3_LINE("Ожидайте", "экструзии", "филамента"));
731
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE         = _UxGT(MSG_3_LINE("Ожидайте", "экструзии", "филамента"));
732
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE    = _UxGT(MSG_3_LINE("Нажмите кнопку", "для завершения", "очистки филамента"));
466
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME        = _UxGT(MSG_3_LINE("Ожидайте", "возобновления", "печати"));
733
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME        = _UxGT(MSG_3_LINE("Ожидайте", "возобновления", "печати"));
467
   #else
734
   #else
735
+    PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING        = _UxGT(MSG_1_LINE("Продолжить печать"));
468
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT          = _UxGT(MSG_1_LINE("Ожидайте..."));
736
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT          = _UxGT(MSG_1_LINE("Ожидайте..."));
469
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD        = _UxGT(MSG_1_LINE("Выгрузка..."));
470
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT        = _UxGT(MSG_1_LINE("Вставь и нажми"));
737
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT        = _UxGT(MSG_1_LINE("Вставь и нажми"));
738
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT          = _UxGT(MSG_1_LINE("Нагреть сопло"));
471
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING       = _UxGT(MSG_1_LINE("Нагрев..."));
739
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING       = _UxGT(MSG_1_LINE("Нагрев..."));
740
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD        = _UxGT(MSG_1_LINE("Выгрузка..."));
472
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD          = _UxGT(MSG_1_LINE("Загрузка..."));
741
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD          = _UxGT(MSG_1_LINE("Загрузка..."));
473
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE         = _UxGT(MSG_1_LINE("Выдавливание..."));
742
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE         = _UxGT(MSG_1_LINE("Выдавливание..."));
743
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE    = _UxGT(MSG_1_LINE("Завершить очистку"));
474
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME        = _UxGT(MSG_1_LINE("Возобновление..."));
744
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME        = _UxGT(MSG_1_LINE("Возобновление..."));
475
   #endif
745
   #endif
476
 
746
 
481
   PROGMEM Language_Str MSG_TMC_STEPPING_MODE               = _UxGT("Режим шага");
751
   PROGMEM Language_Str MSG_TMC_STEPPING_MODE               = _UxGT("Режим шага");
482
   PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED             = _UxGT("Тихий режим вкл");
752
   PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED             = _UxGT("Тихий режим вкл");
483
 
753
 
484
-  // TODO: Service
754
+  PROGMEM Language_Str MSG_SERVICE_RESET                   = _UxGT("Сброс");
755
+  PROGMEM Language_Str MSG_SERVICE_IN                      = _UxGT(" в:");
756
+  PROGMEM Language_Str MSG_BACKLASH                        = _UxGT("Люфт");
757
+  PROGMEM Language_Str MSG_BACKLASH_CORRECTION             = _UxGT("Исправление");
758
+  PROGMEM Language_Str MSG_BACKLASH_SMOOTHING              = _UxGT("Сглаживание");
485
 
759
 
486
-  // TODO: Backlash
760
+  PROGMEM Language_Str MSG_LEVEL_X_AXIS                    = _UxGT("Уровень оси X");
761
+  PROGMEM Language_Str MSG_AUTO_CALIBRATE                  = _UxGT("Авто калибровка");
762
+  #if LCD_WIDTH > 21
763
+    PROGMEM Language_Str MSG_HEATER_TIMEOUT                = _UxGT("Время нагревателя вышло");
764
+  #else
765
+    PROGMEM Language_Str MSG_HEATER_TIMEOUT                = _UxGT("Время нагрев. вышло");
766
+  #endif
767
+  PROGMEM Language_Str MSG_REHEAT                          = _UxGT("Возобновить нагрев");
768
+  PROGMEM Language_Str MSG_REHEATING                       = _UxGT("Нагрев...");
487
 }
769
 }
770
+
771
+#if FAN_COUNT == 1
772
+  #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
773
+  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
774
+#else
775
+  #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
776
+  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
777
+#endif

+ 648
- 114
Marlin/src/lcd/language/language_uk.h View File

37
   constexpr uint8_t    CHARSIZE                            = 2;
37
   constexpr uint8_t    CHARSIZE                            = 2;
38
   PROGMEM Language_Str LANGUAGE                            = _UxGT("Ukranian");
38
   PROGMEM Language_Str LANGUAGE                            = _UxGT("Ukranian");
39
 
39
 
40
-  PROGMEM Language_Str WELCOME_MSG                         = MACHINE_NAME _UxGT(" готовий.");
41
-  PROGMEM Language_Str MSG_MEDIA_INSERTED                  = _UxGT("Картка вставлена");
42
-  PROGMEM Language_Str MSG_MEDIA_REMOVED                   = _UxGT("Картка видалена");
40
+  PROGMEM Language_Str WELCOME_MSG                         = MACHINE_NAME _UxGT(" Готовий.");
41
+  PROGMEM Language_Str MSG_YES                             = _UxGT("ТАК");
42
+  PROGMEM Language_Str MSG_NO                              = _UxGT("НІ");
43
+  PROGMEM Language_Str MSG_BACK                            = _UxGT("Назад");
44
+  PROGMEM Language_Str MSG_MEDIA_ABORTING                  = _UxGT("Переривання...");
45
+  PROGMEM Language_Str MSG_MEDIA_INSERTED                  = _UxGT("SD-картка вставлена");
46
+  PROGMEM Language_Str MSG_MEDIA_REMOVED                   = _UxGT("SD-картка видалена");
47
+  PROGMEM Language_Str MSG_MEDIA_WAITING                   = _UxGT("Вставте SD-картку");
48
+  PROGMEM Language_Str MSG_MEDIA_READ_ERROR                = _UxGT("Помилка зчитування");
49
+  PROGMEM Language_Str MSG_MEDIA_USB_REMOVED               = _UxGT("USB диск видалений");
50
+  PROGMEM Language_Str MSG_MEDIA_USB_FAILED                = _UxGT("Помилка USB диску");
51
+  #if LCD_WIDTH > 21
52
+    PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW         = _UxGT("Переповнення виклику");
53
+    PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS             = _UxGT("Програмні кінцевики");
54
+  #else
55
+    PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW         = _UxGT("Переповн. виклику");
56
+    PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS             = _UxGT("Прогр.кінцевики");
57
+  #endif
43
   PROGMEM Language_Str MSG_LCD_ENDSTOPS                    = _UxGT("Кінцевик"); // Max length 8 characters
58
   PROGMEM Language_Str MSG_LCD_ENDSTOPS                    = _UxGT("Кінцевик"); // Max length 8 characters
44
-  PROGMEM Language_Str MSG_MAIN                            = _UxGT("Меню");
59
+  PROGMEM Language_Str MSG_MAIN                            = _UxGT("Основне меню");
60
+  PROGMEM Language_Str MSG_ADVANCED_SETTINGS               = _UxGT("Інші налаштування");
61
+  PROGMEM Language_Str MSG_CONFIGURATION                   = _UxGT("Конфігурація");
45
   PROGMEM Language_Str MSG_AUTOSTART                       = _UxGT("Автостарт");
62
   PROGMEM Language_Str MSG_AUTOSTART                       = _UxGT("Автостарт");
46
-  PROGMEM Language_Str MSG_DISABLE_STEPPERS                = _UxGT("Вимк. двигуни");
63
+  PROGMEM Language_Str MSG_DISABLE_STEPPERS                = _UxGT("Вимкнути двигуни");
64
+  PROGMEM Language_Str MSG_DEBUG_MENU                      = _UxGT("Меню Debug");
65
+  PROGMEM Language_Str MSG_PROGRESS_BAR_TEST               = _UxGT("Тест Progress Bar");
47
   PROGMEM Language_Str MSG_AUTO_HOME                       = _UxGT("Авто паркування");
66
   PROGMEM Language_Str MSG_AUTO_HOME                       = _UxGT("Авто паркування");
48
   PROGMEM Language_Str MSG_AUTO_HOME_X                     = _UxGT("Паркування X");
67
   PROGMEM Language_Str MSG_AUTO_HOME_X                     = _UxGT("Паркування X");
49
   PROGMEM Language_Str MSG_AUTO_HOME_Y                     = _UxGT("Паркування Y");
68
   PROGMEM Language_Str MSG_AUTO_HOME_Y                     = _UxGT("Паркування Y");
50
   PROGMEM Language_Str MSG_AUTO_HOME_Z                     = _UxGT("Паркування Z");
69
   PROGMEM Language_Str MSG_AUTO_HOME_Z                     = _UxGT("Паркування Z");
70
+  PROGMEM Language_Str MSG_AUTO_Z_ALIGN                    = _UxGT("Авто Z-вирівнювання");
51
   PROGMEM Language_Str MSG_LEVEL_BED_HOMING                = _UxGT("Паркування XYZ");
71
   PROGMEM Language_Str MSG_LEVEL_BED_HOMING                = _UxGT("Паркування XYZ");
52
   PROGMEM Language_Str MSG_LEVEL_BED_WAITING               = _UxGT("Почати");
72
   PROGMEM Language_Str MSG_LEVEL_BED_WAITING               = _UxGT("Почати");
53
-  PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT            = _UxGT("Слідуюча Точка");
73
+  PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT            = _UxGT("Наступна точка");
54
   PROGMEM Language_Str MSG_LEVEL_BED_DONE                  = _UxGT("Завершено!");
74
   PROGMEM Language_Str MSG_LEVEL_BED_DONE                  = _UxGT("Завершено!");
55
-  PROGMEM Language_Str MSG_SET_HOME_OFFSETS                = _UxGT("Зберегти паркув.");
56
-  PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Зміщення застос.");
57
-  PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Встанов. початок");
75
+  PROGMEM Language_Str MSG_Z_FADE_HEIGHT                   = _UxGT("Висота спаду");
76
+  #if LCD_WIDTH > 21
77
+    PROGMEM Language_Str MSG_SET_HOME_OFFSETS              = _UxGT("Встанов. зміщення дому");
78
+  #else
79
+    PROGMEM Language_Str MSG_SET_HOME_OFFSETS              = _UxGT("Встанов.зміщ.дому");
80
+  #endif
81
+  PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED            = _UxGT("Зміщення прийняті");
82
+  PROGMEM Language_Str MSG_SET_ORIGIN                      = _UxGT("Встановити ноль");
58
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Нагрів ") PREHEAT_1_LABEL;
83
   PROGMEM Language_Str MSG_PREHEAT_1                       = _UxGT("Нагрів ") PREHEAT_1_LABEL;
59
   PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Нагрів ") PREHEAT_1_LABEL " ~";
84
   PROGMEM Language_Str MSG_PREHEAT_1_H                     = _UxGT("Нагрів ") PREHEAT_1_LABEL " ~";
60
-  PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло");
61
-  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ~");
62
-  PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Все");
63
-  PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Стіл");
64
-  PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" нал.");
85
+  PROGMEM Language_Str MSG_PREHEAT_1_END                   = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" сопло");
86
+  PROGMEM Language_Str MSG_PREHEAT_1_END_E                 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" сопло ~");
87
+  PROGMEM Language_Str MSG_PREHEAT_1_ALL                   = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" все");
88
+  PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY               = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" стіл");
89
+  PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS              = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" налашт");
65
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Нагрів ") PREHEAT_2_LABEL;
90
   PROGMEM Language_Str MSG_PREHEAT_2                       = _UxGT("Нагрів ") PREHEAT_2_LABEL;
66
   PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Нагрів ") PREHEAT_2_LABEL " ~";
91
   PROGMEM Language_Str MSG_PREHEAT_2_H                     = _UxGT("Нагрів ") PREHEAT_2_LABEL " ~";
67
-  PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло");
68
-  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ~");
69
-  PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Все");
70
-  PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Стіл");
71
-  PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" нал.");
72
-  PROGMEM Language_Str MSG_COOLDOWN                        = _UxGT("Охолодження");
92
+  PROGMEM Language_Str MSG_PREHEAT_2_END                   = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" сопло");
93
+  PROGMEM Language_Str MSG_PREHEAT_2_END_E                 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" сопло ~");
94
+  PROGMEM Language_Str MSG_PREHEAT_2_ALL                   = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" все");
95
+  PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY               = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" стіл");
96
+  PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS              = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" налашт");
97
+  PROGMEM Language_Str MSG_PREHEAT_CUSTOM                  = _UxGT("Нагрів Свій");
98
+  PROGMEM Language_Str MSG_COOLDOWN                        = _UxGT("Вимкнути нагрів");
99
+  PROGMEM Language_Str MSG_CUTTER_FREQUENCY                = _UxGT("Частота");
100
+  PROGMEM Language_Str MSG_LASER_MENU                      = _UxGT("Керування лазером");
101
+  PROGMEM Language_Str MSG_LASER_OFF                       = _UxGT("Вимкнути лазер");
102
+  PROGMEM Language_Str MSG_LASER_ON                        = _UxGT("Увімкнути лазер");
103
+  #if LCD_WIDTH > 21
104
+    PROGMEM Language_Str MSG_LASER_POWER                   = _UxGT("Потужність лазера");
105
+    PROGMEM Language_Str MSG_SPINDLE_MENU                  = _UxGT("Керування шпінделем");
106
+  #else
107
+    PROGMEM Language_Str MSG_LASER_POWER                   = _UxGT("Потуж.лазера");
108
+    PROGMEM Language_Str MSG_SPINDLE_MENU                  = _UxGT("Керув. шпінделем");
109
+  #endif
110
+  PROGMEM Language_Str MSG_SPINDLE_OFF                     = _UxGT("Вимкнути шпіндель");
111
+  PROGMEM Language_Str MSG_SPINDLE_ON                      = _UxGT("Увімкнути шпіндель");
112
+  #if LCD_WIDTH > 21
113
+    PROGMEM Language_Str MSG_SPINDLE_POWER                 = _UxGT("Потуж. шпінделя");
114
+  #else
115
+    PROGMEM Language_Str MSG_SPINDLE_POWER                 = _UxGT("Потуж. шпінд.");
116
+  #endif
117
+  PROGMEM Language_Str MSG_SPINDLE_REVERSE                 = _UxGT("Напрямок шпінделя");
73
   PROGMEM Language_Str MSG_SWITCH_PS_ON                    = _UxGT("Увімкнути живлення");
118
   PROGMEM Language_Str MSG_SWITCH_PS_ON                    = _UxGT("Увімкнути живлення");
74
   PROGMEM Language_Str MSG_SWITCH_PS_OFF                   = _UxGT("Вимкнути живлення");
119
   PROGMEM Language_Str MSG_SWITCH_PS_OFF                   = _UxGT("Вимкнути живлення");
75
   PROGMEM Language_Str MSG_EXTRUDE                         = _UxGT("Екструзія");
120
   PROGMEM Language_Str MSG_EXTRUDE                         = _UxGT("Екструзія");
76
   PROGMEM Language_Str MSG_RETRACT                         = _UxGT("Втягування");
121
   PROGMEM Language_Str MSG_RETRACT                         = _UxGT("Втягування");
77
   PROGMEM Language_Str MSG_MOVE_AXIS                       = _UxGT("Рух по осям");
122
   PROGMEM Language_Str MSG_MOVE_AXIS                       = _UxGT("Рух по осям");
78
-  PROGMEM Language_Str MSG_BED_LEVELING                    = _UxGT("Нівелювання столу");
79
-  PROGMEM Language_Str MSG_LEVEL_BED                       = _UxGT("Нівелювання столу");
123
+  PROGMEM Language_Str MSG_BED_LEVELING                    = _UxGT("Вирівнювання столу");
124
+  PROGMEM Language_Str MSG_LEVEL_BED                       = _UxGT("Вирівняти стіл");
125
+  PROGMEM Language_Str MSG_LEVEL_CORNERS                   = _UxGT("Вирівняти кути");
126
+  PROGMEM Language_Str MSG_NEXT_CORNER                     = _UxGT("Наступний кут");
127
+  #if LCD_WIDTH > 21
128
+    PROGMEM Language_Str MSG_MESH_EDITOR                   = _UxGT("Зміщення по Z");
129
+  #else
130
+    PROGMEM Language_Str MSG_MESH_EDITOR                   = _UxGT("Зміщення Z");
131
+  #endif
132
+  PROGMEM Language_Str MSG_EDIT_MESH                       = _UxGT("Редагувати сітку");
133
+  PROGMEM Language_Str MSG_EDITING_STOPPED                 = _UxGT("Редагув. зупинено");
134
+  PROGMEM Language_Str MSG_PROBING_MESH                    = _UxGT("Точка сітки");
135
+  PROGMEM Language_Str MSG_MESH_X                          = _UxGT("Індекс X");
136
+  PROGMEM Language_Str MSG_MESH_Y                          = _UxGT("Індекс Y");
137
+  PROGMEM Language_Str MSG_MESH_EDIT_Z                     = _UxGT("Значення Z");
138
+  PROGMEM Language_Str MSG_USER_MENU                       = _UxGT("Власні команди");
139
+  PROGMEM Language_Str MSG_M48_TEST                        = _UxGT("M48 тест зонду");
140
+  PROGMEM Language_Str MSG_M48_POINT                       = _UxGT("M48 точка");
141
+  PROGMEM Language_Str MSG_M48_DEVIATION                   = _UxGT("Відхилення");
142
+  PROGMEM Language_Str MSG_IDEX_MENU                       = _UxGT("Меню IDEX");
143
+  PROGMEM Language_Str MSG_OFFSETS_MENU                    = _UxGT("Зміщення сопел");
144
+  PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK              = _UxGT("Авто паркування");
145
+  PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE             = _UxGT("Розмноження");
146
+  PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY         = _UxGT("Дзеркальна копія");
147
+  PROGMEM Language_Str MSG_IDEX_MODE_FU1L_CTRL             = _UxGT("Повний контроль");
148
+  PROGMEM Language_Str MSG_HOTEND_OFFSET_X                 = _UxGT("Друге сопло X");
149
+  PROGMEM Language_Str MSG_HOTEND_OFFSET_Y                 = _UxGT("Друге сопло Y");
150
+  PROGMEM Language_Str MSG_HOTEND_OFFSET_Z                 = _UxGT("Друге сопло Z");
151
+  
152
+  PROGMEM Language_Str MSG_UBL_DOING_G29                   = _UxGT("Виконується G29");
153
+  PROGMEM Language_Str MSG_UBL_TOOLS                       = _UxGT("Інструменти UBL");
154
+  PROGMEM Language_Str MSG_UBL_LEVEL_BED                   = _UxGT("Налаштування UBL");
155
+  PROGMEM Language_Str MSG_LCD_TILTING_MESH                = _UxGT("Точка розвороту");
156
+  #if LCD_WIDTH > 21
157
+    PROGMEM Language_Str MSG_UBL_MANUAL_MESH               = _UxGT("Ручне введення сітки");
158
+    PROGMEM Language_Str MSG_UBL_BC_INSERT                 = _UxGT("Розмістити шайбу і вимір.");
159
+  #else
160
+    PROGMEM Language_Str MSG_UBL_MANUAL_MESH               = _UxGT("Ручне введ. сітки");
161
+    PROGMEM Language_Str MSG_UBL_BC_INSERT                 = _UxGT("Розм. шайбу і вимір.");
162
+  #endif
163
+  PROGMEM Language_Str MSG_UBL_BC_INSERT2                  = _UxGT("Вимірювання");
164
+  PROGMEM Language_Str MSG_UBL_BC_REMOVE                   = _UxGT("Видалити і виміряти");
165
+  PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT              = _UxGT("До наступної точки");
166
+  PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH               = _UxGT("Активувати UBL");
167
+  PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH             = _UxGT("Деактивувати UBL");
168
+  #if LCD_WIDTH > 21
169
+    PROGMEM Language_Str MSG_UBL_SET_TEMP_BED              = _UxGT("Температура столу");
170
+    PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM           = _UxGT("Температура столу");
171
+    PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND           = _UxGT("Температура сопла");
172
+    PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM        = _UxGT("Температура сопла");
173
+    PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH          = _UxGT("Редагувати свою сітку");
174
+    PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH            = _UxGT("Точне редагування сітки");
175
+    PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH         = _UxGT("Будувати свою сітку");
176
+  #else
177
+    PROGMEM Language_Str MSG_UBL_SET_TEMP_BED              = LCD_STR_THERMOMETER _UxGT(" столу, ") LCD_STR_DEGREE "C";
178
+    PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM           = LCD_STR_THERMOMETER _UxGT(" столу, ") LCD_STR_DEGREE "C";
179
+    PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND           = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
180
+    PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM        = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
181
+    PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH          = _UxGT("Редагувати свою");
182
+    PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH            = _UxGT("Точне редаг. сітки");
183
+    PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH         = _UxGT("Будувати свою");
184
+  #endif
185
+  PROGMEM Language_Str MSG_UBL_MESH_EDIT                   = _UxGT("Редагування сітки");
186
+  PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH           = _UxGT("Сітка побудована");
187
+  PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU             = _UxGT("Будувати сітку");
188
+  PROGMEM Language_Str MSG_UBL_BUILD_MESH_M1               = _UxGT("Будувати сітку ") PREHEAT_1_LABEL;
189
+  PROGMEM Language_Str MSG_UBL_BUILD_MESH_M2               = _UxGT("Будувати сітку ") PREHEAT_2_LABEL;
190
+  PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH             = _UxGT("Буд. холодну сітку");
191
+  PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST          = _UxGT("Встан.висоту сітки");
192
+  PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT          = _UxGT("Висота");
193
+  PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU          = _UxGT("Підтвердити сітку");
194
+  PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M1            = _UxGT("Підтвердити ") PREHEAT_1_LABEL;
195
+  PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M2            = _UxGT("Підтвердити ") PREHEAT_2_LABEL;
196
+  PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH        = _UxGT("Підтвердити свою");
197
+  PROGMEM Language_Str MSG_G26_HEATING_BED                 = _UxGT("G26 нагрів столу");
198
+  PROGMEM Language_Str MSG_G26_HEATING_NOZZLE              = _UxGT("G26 нагрів сопла");
199
+  PROGMEM Language_Str MSG_G26_MANUAL_PRIME                = _UxGT("Ручне грунтування");
200
+  PROGMEM Language_Str MSG_G26_FIXED_LENGTH                = _UxGT("Грунт фікс. довж.");
201
+  PROGMEM Language_Str MSG_G26_PRIME_DONE                  = _UxGT("Грунтув. виконане");
202
+  PROGMEM Language_Str MSG_G26_CANCELED                    = _UxGT("G26 завершена");
203
+  PROGMEM Language_Str MSG_G26_LEAVING                     = _UxGT("Вийти з G26");
204
+  PROGMEM Language_Str MSG_UBL_CONTINUE_MESH               = _UxGT("Продовжити сітку");
205
+  PROGMEM Language_Str MSG_UBL_MESH_LEVELING               = _UxGT("Вирівнювання сітки");
206
+  PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING        = _UxGT("3-точкове вирівн.");
207
+  #if LCD_WIDTH > 21
208
+    PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING        = _UxGT("Вирівнювання растру");
209
+  #else
210
+    PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING        = _UxGT("Вирівнюв. растру");
211
+  #endif
212
+  PROGMEM Language_Str MSG_UBL_MESH_LEVEL                  = _UxGT("Вирівняти сітку");
213
+  PROGMEM Language_Str MSG_UBL_SIDE_POINTS                 = _UxGT("Крайні точки");
214
+  PROGMEM Language_Str MSG_UBL_MAP_TYPE                    = _UxGT("Тип мапи сітки");
215
+  PROGMEM Language_Str MSG_UBL_OUTPUT_MAP                  = _UxGT("Вивести мапу сітки");
216
+  PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST             = _UxGT("Вивести на хост");
217
+  PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV              = _UxGT("Вивести в CSV");
218
+  PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP           = _UxGT("Зберегти зовні");
219
+  PROGMEM Language_Str MSG_UBL_INFO_UBL                    = _UxGT("Інформація по UBL");
220
+  #if LCD_WIDTH > 21
221
+    PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT             = _UxGT("Обсяг заповнювача");
222
+  #else
223
+    PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT             = _UxGT("Обсяг заповн.");
224
+  #endif
225
+  PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN               = _UxGT("Ручне заповнення");
226
+  PROGMEM Language_Str MSG_UBL_SMART_FILLIN                = _UxGT("Розумне заповнення");
227
+  PROGMEM Language_Str MSG_UBL_FILLIN_MESH                 = _UxGT("Заповнити сітку");
228
+  PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL              = _UxGT("Анулювати все");
229
+  PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST          = _UxGT("Анулювати найближчу");
230
+  PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL               = _UxGT("Точно налашт. все");
231
+  #if LCD_WIDTH > 21
232
+    PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST         = _UxGT("Точно налашт.найближчу");
233
+  #else
234
+    PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST         = _UxGT("Точно найближчу");
235
+  #endif
236
+  PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU           = _UxGT("Збереження сітки");
237
+  PROGMEM Language_Str MSG_UBL_STORAGE_SLOT                = _UxGT("Слот пам'яті");
238
+  PROGMEM Language_Str MSG_UBL_LOAD_MESH                   = _UxGT("Завантажити сітку");
239
+  PROGMEM Language_Str MSG_UBL_SAVE_MESH                   = _UxGT("Зберегти сітку");
240
+  PROGMEM Language_Str MSG_MESH_LOADED                     = _UxGT("Сітка %i завантажена");
241
+  PROGMEM Language_Str MSG_MESH_SAVED                      = _UxGT("Сітка %i збережена");
242
+  PROGMEM Language_Str MSG_UBL_NO_STORAGE                  = _UxGT("Немає носія");
243
+  PROGMEM Language_Str MSG_UBL_SAVE_ERROR                  = _UxGT("Збій: збереж. UBL");
244
+  PROGMEM Language_Str MSG_UBL_RESTORE_ERROR               = _UxGT("Збій: відновл. UBL");
245
+  PROGMEM Language_Str MSG_UBL_Z_OFFSET                    = _UxGT("Зміщення Z: ");
246
+  PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED            = _UxGT("Зміщення Z зупинено");
247
+  PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU           = _UxGT("UBL покроково");
248
+  PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH           = _UxGT("1.Будувати холодну");
249
+  PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN              = _UxGT("2.Розумне заповн-я");
250
+  PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU        = _UxGT("3.Затвердити сітку");
251
+  PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL             = _UxGT("4.Точно налашт.все");
252
+  PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU        = _UxGT("5.Затвердити сітку");
253
+  PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL             = _UxGT("6.Точно налашт.все");
254
+  PROGMEM Language_Str MSG_UBL_7_SAVE_MESH                 = _UxGT("7.Зберегти сітку");
255
+
256
+  PROGMEM Language_Str MSG_LED_CONTROL                     = _UxGT("Керування світлом");
257
+  PROGMEM Language_Str MSG_LEDS                            = _UxGT("Підсвітка");
258
+  #if LCD_WIDTH > 21
259
+    PROGMEM Language_Str MSG_LED_PRESETS                   = _UxGT("Передустановки світла");
260
+  #else
261
+    PROGMEM Language_Str MSG_LED_PRESETS                   = _UxGT("Передустан. світла");
262
+  #endif
263
+  PROGMEM Language_Str MSG_SET_LEDS_RED                    = _UxGT("Червоний");
264
+  PROGMEM Language_Str MSG_SET_LEDS_ORANGE                 = _UxGT("Оранжевий");
265
+  PROGMEM Language_Str MSG_SET_LEDS_YELLOW                 = _UxGT("Жовтий");
266
+  PROGMEM Language_Str MSG_SET_LEDS_GREEN                  = _UxGT("Зелений");
267
+  PROGMEM Language_Str MSG_SET_LEDS_BLUE                   = _UxGT("Синій");
268
+  PROGMEM Language_Str MSG_SET_LEDS_INDIGO                 = _UxGT("Індіго");
269
+  PROGMEM Language_Str MSG_SET_LEDS_VIOLET                 = _UxGT("Фіолетовий");
270
+  PROGMEM Language_Str MSG_SET_LEDS_WHITE                  = _UxGT("Білий");
271
+  PROGMEM Language_Str MSG_SET_LEDS_DEFAULT                = _UxGT("За умовчанням");
272
+  PROGMEM Language_Str MSG_CUSTOM_LEDS                     = _UxGT("Свої кольори");
273
+  PROGMEM Language_Str MSG_INTENSITY_R                     = _UxGT("Рівень червоного");
274
+  PROGMEM Language_Str MSG_INTENSITY_G                     = _UxGT("Рівень зеленого");
275
+  PROGMEM Language_Str MSG_INTENSITY_B                     = _UxGT("Рівень синього");
276
+  PROGMEM Language_Str MSG_INTENSITY_W                     = _UxGT("Рівень білого");
277
+  PROGMEM Language_Str MSG_LED_BRIGHTNESS                  = _UxGT("Яскравість");
278
+
279
+  PROGMEM Language_Str MSG_MOVING                          = _UxGT("Переміщення...");
280
+  PROGMEM Language_Str MSG_FREE_XY                         = _UxGT("Звільнити XY");
80
   PROGMEM Language_Str MSG_MOVE_X                          = _UxGT("Рух по X");
281
   PROGMEM Language_Str MSG_MOVE_X                          = _UxGT("Рух по X");
81
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Рух по Y");
282
   PROGMEM Language_Str MSG_MOVE_Y                          = _UxGT("Рух по Y");
82
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Рух по Z");
283
   PROGMEM Language_Str MSG_MOVE_Z                          = _UxGT("Рух по Z");
83
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Екструдер");
284
   PROGMEM Language_Str MSG_MOVE_E                          = _UxGT("Екструдер");
84
   PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Екструдер *");
285
   PROGMEM Language_Str MSG_MOVE_EN                         = _UxGT("Екструдер *");
85
-  PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Рух по %smm");
86
-  PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Рух по 0.1mm");
87
-  PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Рух по 1mm");
88
-  PROGMEM Language_Str MSG_MOVE_10MM                       = _UxGT("Рух по 10mm");
286
+  PROGMEM Language_Str MSG_HOTEND_TOO_COLD                 = _UxGT("Сопло дуже холодне");
287
+  PROGMEM Language_Str MSG_MOVE_Z_DIST                     = _UxGT("Рух по %sмм");
288
+  PROGMEM Language_Str MSG_MOVE_01MM                       = _UxGT("Рух по 0.1мм");
289
+  PROGMEM Language_Str MSG_MOVE_1MM                        = _UxGT("Рух по 1мм");
290
+  PROGMEM Language_Str MSG_MOVE_10MM                       = _UxGT("Рух по 10мм");
89
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Швидкість");
291
   PROGMEM Language_Str MSG_SPEED                           = _UxGT("Швидкість");
90
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z Столу");
292
   PROGMEM Language_Str MSG_BED_Z                           = _UxGT("Z Столу");
91
-  PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Сопло");
293
+  PROGMEM Language_Str MSG_NOZZLE                          = _UxGT("Сопло, ") LCD_STR_DEGREE "C";
92
   PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Сопло ~");
294
   PROGMEM Language_Str MSG_NOZZLE_N                        = _UxGT("Сопло ~");
93
-  PROGMEM Language_Str MSG_BED                             = _UxGT("Стіл");
94
-  PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Охолодж.");
95
-  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Охолодж. ~");
295
+  PROGMEM Language_Str MSG_NOZZLE_PARKED                   = _UxGT("Сопло запарковане");
296
+  PROGMEM Language_Str MSG_NOZZLE_STANDBY                  = _UxGT("Сопло очикує");
297
+  PROGMEM Language_Str MSG_BED                             = _UxGT("Стіл,  ") LCD_STR_DEGREE "C";
298
+  PROGMEM Language_Str MSG_CHAMBER                         = _UxGT("Камера,") LCD_STR_DEGREE "C";
299
+  PROGMEM Language_Str MSG_FAN_SPEED                       = _UxGT("Охолодження");
300
+  PROGMEM Language_Str MSG_FAN_SPEED_N                     = _UxGT("Охолодження ~");
301
+  #if LCD_WIDTH > 21
302
+    PROGMEM Language_Str MSG_STORED_FAN_N                  = _UxGT("Збережене охолодж. ~");
303
+    PROGMEM Language_Str MSG_EXTRA_FAN_SPEED               = _UxGT("Додаткове охолодж.");
304
+    PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N             = _UxGT("Додаткове охолодж. ~");
305
+    PROGMEM Language_Str MSG_CONTROLLER_FAN                = _UxGT("Контролер охолодження");
306
+  #else
307
+    PROGMEM Language_Str MSG_STORED_FAN_N                  = _UxGT("Збереж.охолодж. ~");
308
+    PROGMEM Language_Str MSG_EXTRA_FAN_SPEED               = _UxGT("Додат. охолодж.");
309
+    PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N             = _UxGT("Додат.охолодж ~");
310
+    PROGMEM Language_Str MSG_CONTROLLER_FAN                = _UxGT("Контролер охолодж.");
311
+  #endif
312
+  PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED       = _UxGT("Холості оберти");
313
+  PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED            = _UxGT("Робочі оберти");
314
+  PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON          = _UxGT("Авто-режим");
315
+  PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION         = _UxGT("Період простою");
96
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Потік");
316
   PROGMEM Language_Str MSG_FLOW                            = _UxGT("Потік");
97
   PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Потік ~");
317
   PROGMEM Language_Str MSG_FLOW_N                          = _UxGT("Потік ~");
98
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Налаштування");
318
   PROGMEM Language_Str MSG_CONTROL                         = _UxGT("Налаштування");
99
-  PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER _UxGT(" Мін");
100
-  PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER _UxGT(" Макс");
101
-  PROGMEM Language_Str MSG_FACTOR                          = " " LCD_STR_THERMOMETER _UxGT(" Факт");
319
+  PROGMEM Language_Str MSG_MIN                             = " " LCD_STR_THERMOMETER ", " LCD_STR_DEGREE _UxGT("С  мін");
320
+  PROGMEM Language_Str MSG_MAX                             = " " LCD_STR_THERMOMETER ", " LCD_STR_DEGREE _UxGT("С макс");
321
+  PROGMEM Language_Str MSG_FACTOR                          = " " LCD_STR_THERMOMETER _UxGT(" Фактор");
102
   PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Автотемпер.");
322
   PROGMEM Language_Str MSG_AUTOTEMP                        = _UxGT("Автотемпер.");
103
-  PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Увімк.");
323
+  PROGMEM Language_Str MSG_LCD_ON                          = _UxGT("Увімк");
104
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Вимк.");
324
   PROGMEM Language_Str MSG_LCD_OFF                         = _UxGT("Вимк.");
325
+
326
+  PROGMEM Language_Str MSG_PID_AUTOTUNE                    = _UxGT("Автопідбір PID");
327
+  PROGMEM Language_Str MSG_PID_AUTOTUNE_E                  = _UxGT("Автопідбір PID *");
328
+  PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE               = _UxGT("Підбір PID виконано");
329
+  PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM            = _UxGT("Збій автопідбору. Поганий екструдер.");
330
+  PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH               = _UxGT("Збій автопідбору. Температура завищена.");
331
+  PROGMEM Language_Str MSG_PID_TIMEOUT                     = _UxGT("Збій автопідбору! Завершення часу.");
332
+
105
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Вибрати");
333
   PROGMEM Language_Str MSG_SELECT                          = _UxGT("Вибрати");
106
   PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Вибрати *");
334
   PROGMEM Language_Str MSG_SELECT_E                        = _UxGT("Вибрати *");
107
-  PROGMEM Language_Str MSG_ACC                             = _UxGT("Приск.");
335
+  PROGMEM Language_Str MSG_ACC                             = _UxGT("Прискорорення");
108
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Ривок");
336
   PROGMEM Language_Str MSG_JERK                            = _UxGT("Ривок");
109
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-ривок");
337
   PROGMEM Language_Str MSG_VA_JERK                         = _UxGT("V") LCD_STR_A _UxGT("-ривок");
110
   PROGMEM Language_Str MSG_VB_JERK                         = _UxGT("V") LCD_STR_B _UxGT("-ривок");
338
   PROGMEM Language_Str MSG_VB_JERK                         = _UxGT("V") LCD_STR_B _UxGT("-ривок");
111
   PROGMEM Language_Str MSG_VC_JERK                         = _UxGT("V") LCD_STR_C _UxGT("-ривок");
339
   PROGMEM Language_Str MSG_VC_JERK                         = _UxGT("V") LCD_STR_C _UxGT("-ривок");
112
   PROGMEM Language_Str MSG_VE_JERK                         = _UxGT("Ve-ривок");
340
   PROGMEM Language_Str MSG_VE_JERK                         = _UxGT("Ve-ривок");
113
-  PROGMEM Language_Str MSG_VMAX_A                          = _UxGT("Vмакс") LCD_STR_A;
114
-  PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Vмакс") LCD_STR_B;
115
-  PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Vмакс") LCD_STR_C;
116
-  PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Vмакс") LCD_STR_E;
117
-  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Vмакс *");
118
-  PROGMEM Language_Str MSG_VMIN                            = _UxGT("Vмін");
119
-  PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Vруху мін");
120
-  PROGMEM Language_Str MSG_AMAX_A                          = _UxGT("Aмакс ") LCD_STR_A;
121
-  PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Aмакс ") LCD_STR_B;
122
-  PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Aмакс ") LCD_STR_C;
123
-  PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Aмакс ") LCD_STR_E;
124
-  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Aмакс *");
125
-  PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("A-втягув.");
126
-  PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("A-руху");
127
-  PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Кроків/мм");
128
-  PROGMEM Language_Str MSG_A_STEPS                         = LCD_STR_A _UxGT("кроків/мм");
129
-  PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT("кроків/мм");
130
-  PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT("кроків/мм");
131
-  PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("Eкроків/мм");
132
-  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("*кроків/мм");
341
+  #if LCD_WIDTH > 21
342
+    PROGMEM Language_Str MSG_JUNCTION_DEVIATION            = _UxGT("Відхилення вузла");
343
+  #else
344
+    PROGMEM Language_Str MSG_JUNCTION_DEVIATION            = _UxGT("Відхил.вузла");
345
+  #endif
346
+  PROGMEM Language_Str MSG_VELOCITY                        = _UxGT("Швидкість, мм/с");
347
+  PROGMEM Language_Str MSG_VMAX_A                          = _UxGT("Швидк.макс ") LCD_STR_A;
348
+  PROGMEM Language_Str MSG_VMAX_B                          = _UxGT("Швидк.макс ") LCD_STR_B;
349
+  PROGMEM Language_Str MSG_VMAX_C                          = _UxGT("Швидк.макс ") LCD_STR_C;
350
+  PROGMEM Language_Str MSG_VMAX_E                          = _UxGT("Швидк.макс ") LCD_STR_E;
351
+  PROGMEM Language_Str MSG_VMAX_EN                         = _UxGT("Швидк.макс *");
352
+  PROGMEM Language_Str MSG_VMIN                            = _UxGT("Швидк.мін");
353
+  PROGMEM Language_Str MSG_VTRAV_MIN                       = _UxGT("Переміщення мін");
354
+  PROGMEM Language_Str MSG_ACCELERATION                    = _UxGT("Прискорення, мм/с2");
355
+  PROGMEM Language_Str MSG_AMAX_A                          = _UxGT("Приск.макс ") LCD_STR_A;
356
+  PROGMEM Language_Str MSG_AMAX_B                          = _UxGT("Приск.макс ") LCD_STR_B;
357
+  PROGMEM Language_Str MSG_AMAX_C                          = _UxGT("Приск.макс ") LCD_STR_C;
358
+  PROGMEM Language_Str MSG_AMAX_E                          = _UxGT("Приск.макс ") LCD_STR_E;
359
+  PROGMEM Language_Str MSG_AMAX_EN                         = _UxGT("Приск.макс *");
360
+  PROGMEM Language_Str MSG_A_RETRACT                       = _UxGT("Приск.втягув.");
361
+  PROGMEM Language_Str MSG_A_TRAVEL                        = _UxGT("Приск.переміщ.");
362
+  PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT              = _UxGT("Частота макс.");
363
+  PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE           = _UxGT("Подача мін.");
364
+  PROGMEM Language_Str MSG_STEPS_PER_MM                    = _UxGT("Кроків на мм");
365
+  PROGMEM Language_Str MSG_A_STEPS                         = LCD_STR_A _UxGT(" кроків/мм");
366
+  PROGMEM Language_Str MSG_B_STEPS                         = LCD_STR_B _UxGT(" кроків/мм");
367
+  PROGMEM Language_Str MSG_C_STEPS                         = LCD_STR_C _UxGT(" кроків/мм");
368
+  PROGMEM Language_Str MSG_E_STEPS                         = _UxGT("E кроків/мм");
369
+  PROGMEM Language_Str MSG_EN_STEPS                        = _UxGT("* кроків/мм");
133
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Температура");
370
   PROGMEM Language_Str MSG_TEMPERATURE                     = _UxGT("Температура");
134
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Рух");
371
   PROGMEM Language_Str MSG_MOTION                          = _UxGT("Рух");
135
-  PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Волокно");
372
+  PROGMEM Language_Str MSG_FILAMENT                        = _UxGT("Пруток");
136
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E в мм³");
373
   PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED              = _UxGT("E в мм³");
137
-  PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Діам. волок.");
138
-  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Діам. волок. *");
139
-  PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("контраст LCD");
140
-  PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Зберегти в ПЗП");
141
-  PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Зчитати з ПЗП");
142
-  PROGMEM Language_Str MSG_RESTORE_DEFAULTS                = _UxGT("Відновити базові");
143
-  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH  _UxGT("Поновити");
144
-  PROGMEM Language_Str MSG_INFO_SCREEN                     = _UxGT("Інформація");
374
+  PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT                = _UxGT("E обмеж.,мм³");
375
+  PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E              = _UxGT("E обмеж. *");
376
+  PROGMEM Language_Str MSG_FILAMENT_DIAM                   = _UxGT("Діам. прутка");
377
+  PROGMEM Language_Str MSG_FILAMENT_DIAM_E                 = _UxGT("Діам. прутка *");
378
+  PROGMEM Language_Str MSG_FILAMENT_UNLOAD                 = _UxGT("Вивантаж., мм");
379
+  PROGMEM Language_Str MSG_FILAMENT_LOAD                   = _UxGT("Завантаж., мм");
380
+  PROGMEM Language_Str MSG_ADVANCE_K                       = _UxGT("Kоеф. просув.");
381
+  PROGMEM Language_Str MSG_ADVANCE_K_E                     = _UxGT("Kоеф. просув. *");
382
+  PROGMEM Language_Str MSG_CONTRAST                        = _UxGT("Контраст екрану");
383
+  PROGMEM Language_Str MSG_STORE_EEPROM                    = _UxGT("Зберегти в EEPROM");
384
+  PROGMEM Language_Str MSG_LOAD_EEPROM                     = _UxGT("Зчитати з EEPROM");
385
+  PROGMEM Language_Str MSG_RESTORE_DEFAULTS                = _UxGT("На базові параметри");
386
+  #if LCD_WIDTH > 21
387
+    PROGMEM Language_Str MSG_INIT_EEPROM                   = _UxGT("Ініціалізація EEPROM");
388
+  #else
389
+    PROGMEM Language_Str MSG_INIT_EEPROM                   = _UxGT("Ініціаліз. EEPROM");
390
+  #endif
391
+  PROGMEM Language_Str MSG_ERR_EEPROM_CRC                  = _UxGT("Збій EEPROM: CRC");
392
+  PROGMEM Language_Str MSG_ERR_EEPROM_INDEX                = _UxGT("Збій EEPROM: індекс");
393
+  PROGMEM Language_Str MSG_ERR_EEPROM_VERSION              = _UxGT("Збій EEPROM: версія");
394
+  PROGMEM Language_Str MSG_SETTINGS_STORED                 = _UxGT("Параметри збережені");
395
+  PROGMEM Language_Str MSG_MEDIA_UPDATE                    = _UxGT("Оновити SD-картку");
396
+  PROGMEM Language_Str MSG_RESET_PRINTER                   = _UxGT("Зкинути принтер");
397
+  PROGMEM Language_Str MSG_REFRESH                         = LCD_STR_REFRESH  _UxGT(" Поновити");
398
+  PROGMEM Language_Str MSG_INFO_SCREEN                     = _UxGT("Головний екран");
145
   PROGMEM Language_Str MSG_PREPARE                         = _UxGT("Підготувати");
399
   PROGMEM Language_Str MSG_PREPARE                         = _UxGT("Підготувати");
146
   PROGMEM Language_Str MSG_TUNE                            = _UxGT("Підлаштування");
400
   PROGMEM Language_Str MSG_TUNE                            = _UxGT("Підлаштування");
401
+  PROGMEM Language_Str MSG_POWER_MONITOR                   = _UxGT("Монітор живлення");
402
+  PROGMEM Language_Str MSG_CURRENT                         = _UxGT("Струм");
403
+  PROGMEM Language_Str MSG_VOLTAGE                         = _UxGT("Напруга");
404
+  PROGMEM Language_Str MSG_POWER                           = _UxGT("Потужність");
405
+  PROGMEM Language_Str MSG_START_PRINT                     = _UxGT("Почати друк");
406
+
407
+  PROGMEM Language_Str MSG_BUTTON_NEXT                     = _UxGT("Далі");  //short text for buttons
408
+  PROGMEM Language_Str MSG_BUTTON_INIT                     = _UxGT("Ініц-я");
409
+  PROGMEM Language_Str MSG_BUTTON_STOP                     = _UxGT("Зупинка");
410
+  PROGMEM Language_Str MSG_BUTTON_PRINT                    = _UxGT("Друк");
411
+  PROGMEM Language_Str MSG_BUTTON_RESET                    = _UxGT("Зкинути");
412
+  PROGMEM Language_Str MSG_BUTTON_IGNORE                   = _UxGT("Ігнорув.");
413
+  PROGMEM Language_Str MSG_BUTTON_CANCEL                   = _UxGT("Відміна");
414
+  PROGMEM Language_Str MSG_BUTTON_DONE                     = _UxGT("Готово");
415
+  PROGMEM Language_Str MSG_BUTTON_BACK                     = _UxGT("Назад");
416
+  PROGMEM Language_Str MSG_BUTTON_PROCEED                  = _UxGT("Продовжити");
417
+
418
+  PROGMEM Language_Str MSG_PAUSING                         = _UxGT("Призупинення...");
147
   PROGMEM Language_Str MSG_PAUSE_PRINT                     = _UxGT("Призупинити друк");
419
   PROGMEM Language_Str MSG_PAUSE_PRINT                     = _UxGT("Призупинити друк");
148
   PROGMEM Language_Str MSG_RESUME_PRINT                    = _UxGT("Відновити друк");
420
   PROGMEM Language_Str MSG_RESUME_PRINT                    = _UxGT("Відновити друк");
149
   PROGMEM Language_Str MSG_STOP_PRINT                      = _UxGT("Скасувати друк");
421
   PROGMEM Language_Str MSG_STOP_PRINT                      = _UxGT("Скасувати друк");
422
+  PROGMEM Language_Str MSG_PRINTING_OBJECT                 = _UxGT("Друк об'єкта");
423
+  PROGMEM Language_Str MSG_CANCEL_OBJECT                   = _UxGT("Завершити об'єкт");
424
+  PROGMEM Language_Str MSG_CANCEL_OBJECT_N                 = _UxGT("Завершити об'єкт =");
425
+  PROGMEM Language_Str MSG_OUTAGE_RECOVERY                 = _UxGT("Віднов. після збою");
150
   PROGMEM Language_Str MSG_MEDIA_MENU                      = _UxGT("Друкувати з SD");
426
   PROGMEM Language_Str MSG_MEDIA_MENU                      = _UxGT("Друкувати з SD");
151
-  PROGMEM Language_Str MSG_NO_MEDIA                        = _UxGT("Відсутня SD карт.");
427
+  PROGMEM Language_Str MSG_NO_MEDIA                        = _UxGT("SD-картки немає");
152
   PROGMEM Language_Str MSG_DWELL                           = _UxGT("Сплячка...");
428
   PROGMEM Language_Str MSG_DWELL                           = _UxGT("Сплячка...");
153
-  PROGMEM Language_Str MSG_USERWAIT                        = _UxGT("Очікування дій...");
429
+  PROGMEM Language_Str MSG_USERWAIT                        = _UxGT("Продовжити...");
430
+  PROGMEM Language_Str MSG_PRINT_PAUSED                    = _UxGT("Друк призупинено");
431
+  PROGMEM Language_Str MSG_PRINTING                        = _UxGT("Друк...");
154
   PROGMEM Language_Str MSG_PRINT_ABORTED                   = _UxGT("Друк скасовано");
432
   PROGMEM Language_Str MSG_PRINT_ABORTED                   = _UxGT("Друк скасовано");
433
+  PROGMEM Language_Str MSG_PRINT_DONE                      = _UxGT("Друк завершено");
155
   PROGMEM Language_Str MSG_NO_MOVE                         = _UxGT("Немає руху.");
434
   PROGMEM Language_Str MSG_NO_MOVE                         = _UxGT("Немає руху.");
156
   PROGMEM Language_Str MSG_KILLED                          = _UxGT("ПЕРЕРВАНО. ");
435
   PROGMEM Language_Str MSG_KILLED                          = _UxGT("ПЕРЕРВАНО. ");
157
   PROGMEM Language_Str MSG_STOPPED                         = _UxGT("ЗУПИНЕНО. ");
436
   PROGMEM Language_Str MSG_STOPPED                         = _UxGT("ЗУПИНЕНО. ");
158
-  PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Зміна волокна");
159
-  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Зміна волокна *");
160
-  PROGMEM Language_Str MSG_ATTACH_MEDIA                    = _UxGT("Старт SD картки");
161
-  PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Заміна SD карти");
162
-  PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Z дет. не в межах");
437
+  #if LCD_WIDTH > 21
438
+    PROGMEM Language_Str MSG_CONTROL_RETRACT               = _UxGT("Втягування, мм");
439
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP          = _UxGT("Зміна втягув.,мм");
440
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER       = _UxGT("Повернення, мм");
441
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP  = _UxGT("Поверн.зміни, мм");
442
+    PROGMEM Language_Str MSG_AUTORETRACT                   = _UxGT("Автовтягування");
443
+  #else
444
+    PROGMEM Language_Str MSG_CONTROL_RETRACT               = _UxGT("Втягув., мм");
445
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP          = _UxGT("Зміна втяг.мм");
446
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER       = _UxGT("Поверн., мм");
447
+    PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP  = _UxGT("Повер.зміни,мм");
448
+    PROGMEM Language_Str MSG_AUTORETRACT                   = _UxGT("Автовтягув.");
449
+  #endif
450
+  PROGMEM Language_Str MSG_CONTROL_RETRACTF                = _UxGT("Втягування V");
451
+  PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP            = _UxGT("Підскок, мм");
452
+  PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF        = _UxGT("Повернення V");
453
+  PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF   = _UxGT("Поверн.зміни V");
454
+  PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH            = _UxGT("Поміняти довжини");
455
+  PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA             = _UxGT("Поміняти додатково");
456
+  PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH           = _UxGT("Очистити довжину");
457
+  PROGMEM Language_Str MSG_TOOL_CHANGE                     = _UxGT("Зміна сопла");
458
+  PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT               = _UxGT("Підняти по Z");
459
+  #if LCD_WIDTH > 21
460
+    PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED      = _UxGT("Початк.швидкість");
461
+    PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED    = _UxGT("Швидкість втягув.");
462
+  #else
463
+    PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED      = _UxGT("Початк.швидк.");
464
+    PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED    = _UxGT("Швидк.втягув.");
465
+  #endif
466
+  PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED           = _UxGT("Паркувати голову");
467
+  PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED    = _UxGT("Відновити швидкість");
468
+  #if LCD_WIDTH > 21
469
+    PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED        = _UxGT("Оберти охолодження");
470
+    PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME         = _UxGT("Час охолодження");
471
+  #else
472
+    PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED        = _UxGT("Оберти охолодж.");
473
+    PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME         = _UxGT("Час охолодж.");
474
+  #endif
475
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_ON               = _UxGT("Авто Увімк.");
476
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF              = _UxGT("Авто Вимкн.");
477
+  PROGMEM Language_Str MSG_TOOL_MIGRATION                  = _UxGT("Заміна інструменту");
478
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO             = _UxGT("Авто заміна");
479
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_END              = _UxGT("Останній екструдер");
480
+  PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP             = _UxGT("Заміна на *");
481
+  PROGMEM Language_Str MSG_FILAMENTCHANGE                  = _UxGT("Заміна прутка");
482
+  PROGMEM Language_Str MSG_FILAMENTCHANGE_E                = _UxGT("Заміна прутка *");
483
+  PROGMEM Language_Str MSG_FILAMENTLOAD                    = _UxGT("Подати пруток");
484
+  PROGMEM Language_Str MSG_FILAMENTLOAD_E                  = _UxGT("Подати пруток *");
485
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD                  = _UxGT("Видалити пруток");
486
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_E                = _UxGT("Видалити пруток *");
487
+  PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL              = _UxGT("Видалити все");
488
+  PROGMEM Language_Str MSG_ATTACH_MEDIA                    = _UxGT("Вставити SD-картку");
489
+  PROGMEM Language_Str MSG_CHANGE_MEDIA                    = _UxGT("Заміна SD-картки");
490
+  PROGMEM Language_Str MSG_RELEASE_MEDIA                   = _UxGT("Звільніть SD-картку");
491
+  PROGMEM Language_Str MSG_ZPROBE_OUT                      = _UxGT("Z-Зонд поза столом");
492
+  PROGMEM Language_Str MSG_SKEW_FACTOR                     = _UxGT("Фактор нахилу");
493
+  PROGMEM Language_Str MSG_BLTOUCH                         = _UxGT("Z-зонд BLTouch");
163
   PROGMEM Language_Str MSG_BLTOUCH_SELFTEST                = _UxGT("BLTouch Само-Тест");
494
   PROGMEM Language_Str MSG_BLTOUCH_SELFTEST                = _UxGT("BLTouch Само-Тест");
164
-  PROGMEM Language_Str MSG_BLTOUCH_RESET                   = _UxGT("Скинути BLTouch");
495
+  PROGMEM Language_Str MSG_BLTOUCH_RESET                   = _UxGT("Зкинути BLTouch");
496
+  PROGMEM Language_Str MSG_BLTOUCH_STOW                    = _UxGT("Підняти зонд");
497
+  PROGMEM Language_Str MSG_BLTOUCH_DEPLOY                  = _UxGT("Опустити зонд");
498
+  PROGMEM Language_Str MSG_BLTOUCH_SW_MODE                 = _UxGT("Режим SW");
499
+  PROGMEM Language_Str MSG_BLTOUCH_5V_MODE                 = _UxGT("Режим 5V");
500
+  PROGMEM Language_Str MSG_BLTOUCH_OD_MODE                 = _UxGT("Режим OD");
501
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE              = _UxGT("Режим збереження");
502
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V           = _UxGT("Встановити на 5V");
503
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD           = _UxGT("Встановити на OD");
504
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO               = _UxGT("Злив звіту");
505
+  PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE             = _UxGT("НЕБЕЗПЕКА: Неправильні параметри приводять до пошкоджень! Продовжувати?");
506
+  PROGMEM Language_Str MSG_TOUCHMI_PROBE                   = _UxGT("Z-Зонд TouchMI");
507
+  PROGMEM Language_Str MSG_TOUCHMI_INIT                    = _UxGT("Ініціалізація");
508
+  PROGMEM Language_Str MSG_TOUCHMI_ZTEST                   = _UxGT("Тест Z-зміщення");
509
+  PROGMEM Language_Str MSG_TOUCHMI_SAVE                    = _UxGT("Зберегти");
510
+  PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI           = _UxGT("Установити TouchMI");
511
+  PROGMEM Language_Str MSG_MANUAL_DEPLOY                   = _UxGT("Установити зонд");
512
+  PROGMEM Language_Str MSG_MANUAL_STOW                     = _UxGT("Завантажити зонд");
165
   PROGMEM Language_Str MSG_HOME_FIRST                      = _UxGT("Дім %s%s%s перший");
513
   PROGMEM Language_Str MSG_HOME_FIRST                      = _UxGT("Дім %s%s%s перший");
166
-  PROGMEM Language_Str MSG_ZPROBE_ZOFFSET                  = _UxGT("Зміщення Z");
514
+  PROGMEM Language_Str MSG_ZPROBE_OFFSETS                  = _UxGT("Зміщення зонду");
515
+  PROGMEM Language_Str MSG_ZPROBE_XOFFSET                  = _UxGT("Тест зміщення X");
516
+  PROGMEM Language_Str MSG_ZPROBE_YOFFSET                  = _UxGT("Тест зміщення Y");
517
+  PROGMEM Language_Str MSG_ZPROBE_ZOFFSET                  = _UxGT("Тест зміщення Z");
167
   PROGMEM Language_Str MSG_BABYSTEP_X                      = _UxGT("Мікрокрок X");
518
   PROGMEM Language_Str MSG_BABYSTEP_X                      = _UxGT("Мікрокрок X");
168
   PROGMEM Language_Str MSG_BABYSTEP_Y                      = _UxGT("Мікрокрок Y");
519
   PROGMEM Language_Str MSG_BABYSTEP_Y                      = _UxGT("Мікрокрок Y");
169
   PROGMEM Language_Str MSG_BABYSTEP_Z                      = _UxGT("Мікрокрок Z");
520
   PROGMEM Language_Str MSG_BABYSTEP_Z                      = _UxGT("Мікрокрок Z");
170
-  PROGMEM Language_Str MSG_ENDSTOP_ABORT                   = _UxGT("невдача кінцевика");
171
-  PROGMEM Language_Str MSG_HEATING_FAILED_LCD              = _UxGT("Невдалий нагрів");
172
-  PROGMEM Language_Str MSG_THERMAL_RUNAWAY                 = _UxGT("ЗБІЙ ТЕМПЕРАТУРИ");
173
-  PROGMEM Language_Str MSG_ERR_Z_HOMING                    = _UxGT("Дім XY перший");
521
+  PROGMEM Language_Str MSG_BABYSTEP_TOTAL                  = _UxGT("Сумарно");
522
+  PROGMEM Language_Str MSG_ENDSTOP_ABORT                   = _UxGT("Кінцевик спрацював");
523
+  PROGMEM Language_Str MSG_HEATING_FAILED_LCD              = _UxGT("Збій нагріву");
524
+  PROGMEM Language_Str MSG_HEATING_FAILED_LCD_BED          = _UxGT("Збій нагріву столу");
525
+  PROGMEM Language_Str MSG_HEATING_FAILED_LCD_CHAMBER      = _UxGT("Збій нагріву камери");
526
+  PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP              = _UxGT("ЗАВИЩЕНА Т") LCD_STR_DEGREE;
527
+  PROGMEM Language_Str MSG_THERMAL_RUNAWAY                 = _UxGT("ВИТІК ТЕПЛА");
528
+  PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED             = _UxGT("ВИТІК ТЕПЛА СТОЛУ");
529
+  PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER         = _UxGT("ВИТІК ТЕПЛА КАМЕРИ");
530
+  PROGMEM Language_Str MSG_ERR_MAXTEMP                     = _UxGT("ПЕРЕГРІВ");
531
+  PROGMEM Language_Str MSG_ERR_MINTEMP                     = _UxGT("МІНІМАЛЬНА Т") LCD_STR_DEGREE;
532
+  PROGMEM Language_Str MSG_ERR_MAXTEMP_BED                 = _UxGT("ПЕРЕГРІВ СТОЛУ");
533
+  PROGMEM Language_Str MSG_ERR_MINTEMP_BED                 = _UxGT("МІНІМАЛЬНА Т") LCD_STR_DEGREE _UxGT(" СТОЛУ");
534
+  PROGMEM Language_Str MSG_ERR_MAXTEMP_CHAMBER             = _UxGT("ПЕРЕГРІВ КАМЕРИ");
535
+  PROGMEM Language_Str MSG_ERR_MINTEMP_CHAMBER             = _UxGT("МІНІМАЛЬНА Т") LCD_STR_DEGREE _UxGT(" КАМЕРИ");
536
+  PROGMEM Language_Str MSG_ERR_Z_HOMING                    = _UxGT("Першим дім по XY");
174
   PROGMEM Language_Str MSG_HALTED                          = _UxGT("ПРИНТЕР ЗУПИНЕНО");
537
   PROGMEM Language_Str MSG_HALTED                          = _UxGT("ПРИНТЕР ЗУПИНЕНО");
175
   PROGMEM Language_Str MSG_PLEASE_RESET                    = _UxGT("Перезавантажте");
538
   PROGMEM Language_Str MSG_PLEASE_RESET                    = _UxGT("Перезавантажте");
176
   PROGMEM Language_Str MSG_SHORT_DAY                       = _UxGT("д"); // One character only
539
   PROGMEM Language_Str MSG_SHORT_DAY                       = _UxGT("д"); // One character only
177
   PROGMEM Language_Str MSG_SHORT_HOUR                      = _UxGT("г"); // One character only
540
   PROGMEM Language_Str MSG_SHORT_HOUR                      = _UxGT("г"); // One character only
178
   PROGMEM Language_Str MSG_SHORT_MINUTE                    = _UxGT("х"); // One character only
541
   PROGMEM Language_Str MSG_SHORT_MINUTE                    = _UxGT("х"); // One character only
179
   PROGMEM Language_Str MSG_HEATING                         = _UxGT("Нагрівання...");
542
   PROGMEM Language_Str MSG_HEATING                         = _UxGT("Нагрівання...");
180
-  PROGMEM Language_Str MSG_BED_HEATING                     = _UxGT("Нагрівання столу...");
181
-  PROGMEM Language_Str MSG_DELTA_CALIBRATE                 = _UxGT("Калібр. Delta");
182
-  PROGMEM Language_Str MSG_DELTA_CALIBRATE_X               = _UxGT("Калібрування X");
183
-  PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y               = _UxGT("Калібрування Y");
184
-  PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z               = _UxGT("Калібрування Z");
185
-  PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER          = _UxGT("Калібр. Центру");
543
+  PROGMEM Language_Str MSG_COOLING                         = _UxGT("Охолодження...");
544
+  PROGMEM Language_Str MSG_BED_HEATING                     = _UxGT("Нагрів столу...");
545
+  PROGMEM Language_Str MSG_CHAMBER_HEATING                 = _UxGT("Нагрів камери...");
546
+  #if LCD_WIDTH >= 20
547
+    PROGMEM Language_Str MSG_BED_COOLING                   = _UxGT("Охолодження столу...");
548
+    PROGMEM Language_Str MSG_CHAMBER_COOLING               = _UxGT("Охолодження камери...");
549
+    PROGMEM Language_Str MSG_DELTA_CALIBRATE               = _UxGT("Калібрування Delta");
550
+  #else
551
+    PROGMEM Language_Str MSG_BED_COOLING                   = _UxGT("Охол. столу...");
552
+    PROGMEM Language_Str MSG_CHAMBER_COOLING               = _UxGT("Охол. камери...");
553
+    PROGMEM Language_Str MSG_DELTA_CALIBRATE               = _UxGT("Калібрув. Delta");
554
+  #endif
555
+  PROGMEM Language_Str MSG_DELTA_CALIBRATE_X               = _UxGT("Калібрувати X");
556
+  PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y               = _UxGT("Калібрувати Y");
557
+  PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z               = _UxGT("Калібрувати Z");
558
+  PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER          = _UxGT("Калібр. центр");
559
+  PROGMEM Language_Str MSG_DELTA_SETTINGS                  = _UxGT("Параметри Delta");
560
+  PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE            = _UxGT("Автокалібрування");
561
+  PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE          = _UxGT("Висота Delta");
562
+  #if LCD_WIDTH >= 20
563
+    PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE      = _UxGT("Зондування Z-зміщ.");
564
+    PROGMEM Language_Str MSG_DELTA_DIAG_ROD                = _UxGT("Стрижень діагоналі");
565
+  #else
566
+    PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE      = _UxGT("Зондув. Z-зміщ.");
567
+    PROGMEM Language_Str MSG_DELTA_DIAG_ROD                = _UxGT("Стрижень діаг.");
568
+  #endif
569
+  PROGMEM Language_Str MSG_DELTA_HEIGHT                    = _UxGT("Висота");
570
+  PROGMEM Language_Str MSG_DELTA_RADIUS                    = _UxGT("Радіус");
186
 
571
 
187
   PROGMEM Language_Str MSG_INFO_MENU                       = _UxGT("Про принтер");
572
   PROGMEM Language_Str MSG_INFO_MENU                       = _UxGT("Про принтер");
188
-  PROGMEM Language_Str MSG_INFO_PRINTER_MENU               = _UxGT("Інформація");
189
-  PROGMEM Language_Str MSG_INFO_STATS_MENU                 = _UxGT("Статистика");
573
+  PROGMEM Language_Str MSG_INFO_PRINTER_MENU               = _UxGT("Данні принтера");
574
+
575
+  #if LCD_WIDTH > 21
576
+    PROGMEM Language_Str MSG_3POINT_LEVELING               = _UxGT("3-точкове вирівнювання");
577
+    PROGMEM Language_Str MSG_LINEAR_LEVELING               = _UxGT("Лінійне вирівнювання");
578
+    PROGMEM Language_Str MSG_BILINEAR_LEVELING             = _UxGT("Білінійне вирівнювання");
579
+  #elif LCD_WIDTH == 20
580
+    PROGMEM Language_Str MSG_3POINT_LEVELING               = _UxGT("3-точкове вирівнюв.");
581
+    PROGMEM Language_Str MSG_LINEAR_LEVELING               = _UxGT("Лінійне вирівнюван.");
582
+    PROGMEM Language_Str MSG_BILINEAR_LEVELING             = _UxGT("Білінійне вирівнюв.");
583
+  #else
584
+    PROGMEM Language_Str MSG_3POINT_LEVELING               = _UxGT("3-точк. вирівн.");
585
+    PROGMEM Language_Str MSG_LINEAR_LEVELING               = _UxGT("Лінійне вирівн.");
586
+    PROGMEM Language_Str MSG_BILINEAR_LEVELING             = _UxGT("Білін. вирівнюв.");
587
+  #endif
588
+  PROGMEM Language_Str MSG_UBL_LEVELING                    = _UxGT("Керування UBL");
589
+  PROGMEM Language_Str MSG_MESH_LEVELING                   = _UxGT("Вирівнювання сітки");
590
+
591
+  PROGMEM Language_Str MSG_INFO_STATS_MENU                 = _UxGT("Статистика принтера");
190
   PROGMEM Language_Str MSG_INFO_BOARD_MENU                 = _UxGT("Про плату");
592
   PROGMEM Language_Str MSG_INFO_BOARD_MENU                 = _UxGT("Про плату");
191
   PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU            = _UxGT("Термістори");
593
   PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU            = _UxGT("Термістори");
192
   PROGMEM Language_Str MSG_INFO_EXTRUDERS                  = _UxGT("Екструдери");
594
   PROGMEM Language_Str MSG_INFO_EXTRUDERS                  = _UxGT("Екструдери");
193
-  PROGMEM Language_Str MSG_INFO_BAUDRATE                   = _UxGT("біт/с");
595
+  PROGMEM Language_Str MSG_INFO_BAUDRATE                   = _UxGT("Біт/секунду");
194
   PROGMEM Language_Str MSG_INFO_PROTOCOL                   = _UxGT("Протокол");
596
   PROGMEM Language_Str MSG_INFO_PROTOCOL                   = _UxGT("Протокол");
195
-  PROGMEM Language_Str MSG_CASE_LIGHT                      = _UxGT("Підсвітка");
196
-
197
-  PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER           = _UxGT("Неправильний принтер");
597
+  #if LCD_WIDTH > 21
598
+    PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF              = _UxGT("Контроль витіку ") LCD_STR_THERMOMETER _UxGT(" Вимк");
599
+    PROGMEM Language_Str MSG_INFO_RUNAWAY_ON               = _UxGT("Контроль витіку ") LCD_STR_THERMOMETER _UxGT(" Увімк");
600
+    PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT           = _UxGT("Час простою хотенду");
601
+  #else
602
+    PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF              = _UxGT("Контр.витіку ") LCD_STR_THERMOMETER _UxGT(" Вимк");
603
+    PROGMEM Language_Str MSG_INFO_RUNAWAY_ON               = _UxGT("Контр.витіку ") LCD_STR_THERMOMETER _UxGT(" Увімк");
604
+    PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT           = _UxGT("Час прост. хот-у");
605
+  #endif
198
 
606
 
607
+  PROGMEM Language_Str MSG_CASE_LIGHT                      = _UxGT("Підсвітка");
608
+  PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS           = _UxGT("Яскравість світла");
609
+  PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER           = _UxGT("НЕ ТОЙ ПРИНТЕР");
610
+  PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS           = _UxGT("Завершено");
611
+  PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT             = _UxGT("Екструдовано");
199
   #if LCD_WIDTH >= 20
612
   #if LCD_WIDTH >= 20
200
-    PROGMEM Language_Str MSG_INFO_PRINT_COUNT              = _UxGT("К-сть друків");
201
-    PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS         = _UxGT("Завершено");
613
+    PROGMEM Language_Str MSG_INFO_PRINT_COUNT              = _UxGT("Кількість друків");
202
     PROGMEM Language_Str MSG_INFO_PRINT_TIME               = _UxGT("Весь час друку");
614
     PROGMEM Language_Str MSG_INFO_PRINT_TIME               = _UxGT("Весь час друку");
203
     PROGMEM Language_Str MSG_INFO_PRINT_LONGEST            = _UxGT("Найдовший час");
615
     PROGMEM Language_Str MSG_INFO_PRINT_LONGEST            = _UxGT("Найдовший час");
204
-    PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT           = _UxGT("Екструдовано");
205
   #else
616
   #else
206
     PROGMEM Language_Str MSG_INFO_PRINT_COUNT              = _UxGT("Друків");
617
     PROGMEM Language_Str MSG_INFO_PRINT_COUNT              = _UxGT("Друків");
207
-    PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS         = _UxGT("Завершено");
208
     PROGMEM Language_Str MSG_INFO_PRINT_TIME               = _UxGT("Загалом");
618
     PROGMEM Language_Str MSG_INFO_PRINT_TIME               = _UxGT("Загалом");
209
-    PROGMEM Language_Str MSG_INFO_PRINT_LONGEST            = _UxGT("Найдовший");
210
-    PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT           = _UxGT("Ексдруд.");
619
+    PROGMEM Language_Str MSG_INFO_PRINT_LONGEST            = _UxGT("Найдовше");
211
   #endif
620
   #endif
212
 
621
 
213
-  PROGMEM Language_Str MSG_INFO_MIN_TEMP                   = _UxGT("Мін Темп.");
214
-  PROGMEM Language_Str MSG_INFO_MAX_TEMP                   = _UxGT("Макс Темп.");
215
-  PROGMEM Language_Str MSG_INFO_PSU                        = _UxGT("Джерело жив.");
216
-
622
+  PROGMEM Language_Str MSG_INFO_MIN_TEMP                   = _UxGT("Мін.  ") LCD_STR_THERMOMETER;
623
+  PROGMEM Language_Str MSG_INFO_MAX_TEMP                   = _UxGT("Макс. ") LCD_STR_THERMOMETER;
624
+  PROGMEM Language_Str MSG_INFO_PSU                        = _UxGT("Блок жив-ня");
217
   PROGMEM Language_Str MSG_DRIVE_STRENGTH                  = _UxGT("Сила мотору");
625
   PROGMEM Language_Str MSG_DRIVE_STRENGTH                  = _UxGT("Сила мотору");
218
-  PROGMEM Language_Str MSG_DAC_PERCENT_X                   = _UxGT("X % мотору");
219
-  PROGMEM Language_Str MSG_DAC_PERCENT_Y                   = _UxGT("Y % мотору");
220
-  PROGMEM Language_Str MSG_DAC_PERCENT_Z                   = _UxGT("Z % мотору");
221
-  PROGMEM Language_Str MSG_DAC_PERCENT_E                   = _UxGT("E % мотору");
222
-  PROGMEM Language_Str MSG_DAC_EEPROM_WRITE                = _UxGT("Запис ЦАП на ПЗП");
223
-
626
+  PROGMEM Language_Str MSG_DAC_PERCENT_X                   = _UxGT("Драйвер X, %");
627
+  PROGMEM Language_Str MSG_DAC_PERCENT_Y                   = _UxGT("Драйвер Y, %");
628
+  PROGMEM Language_Str MSG_DAC_PERCENT_Z                   = _UxGT("Драйвер Z, %");
629
+  PROGMEM Language_Str MSG_DAC_PERCENT_E                   = _UxGT("Драйвер E, %");
630
+  PROGMEM Language_Str MSG_ERROR_TMC                       = _UxGT("ЗБІЙ ЗВ'ЯЗКУ З TMC");
631
+  PROGMEM Language_Str MSG_DAC_EEPROM_WRITE                = _UxGT("Запис ЦАП у EEPROM");
632
+  PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER          = _UxGT("ЗАМІНА ПРУТКА");
633
+  PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE    = _UxGT("ЗУПИНКА ДРУКУ");
634
+  PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD     = _UxGT("ЗАВАНТАЖИТИ ПРУТОК");
635
+  PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD   = _UxGT("ВИВАНТАЖИТИ ПРУТОК");
636
+  #if LCD_WIDTH > 21
637
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("ПАРАМЕТРИ ПРОДОВЖЕННЯ:");
638
+  #else
639
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("ПАРАМ.ПРОДОВЖЕННЯ:");
640
+  #endif
641
+  PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE    = _UxGT("Видавити ще");
224
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME   = _UxGT("Відновити друк");
642
   PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME   = _UxGT("Відновити друк");
643
+  PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE          = _UxGT("  Сопло: ");
644
+  #if LCD_WIDTH > 21
645
+    PROGMEM Language_Str MSG_RUNOUT_SENSOR                 = _UxGT("Датчик закінчення прутка");
646
+    PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM            = _UxGT("Відстань закінч.,мм");
647
+  #else
648
+    PROGMEM Language_Str MSG_RUNOUT_SENSOR                 = _UxGT("Датчик закінч.прутка");
649
+    PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM            = _UxGT("До закінч.,мм");
650
+  #endif
651
+  PROGMEM Language_Str MSG_KILL_HOMING_FAILED              = _UxGT("Помилка паркування");
652
+  PROGMEM Language_Str MSG_LCD_PROBING_FAILED              = _UxGT("Помилка зондування");
653
+  PROGMEM Language_Str MSG_M600_TOO_COLD                   = _UxGT("M600: низька Т") LCD_STR_DEGREE;
654
+  
655
+  PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER     = _UxGT("ОБЕРІТЬ ПРУТОК");
656
+  PROGMEM Language_Str MSG_MMU2_MENU                       = _UxGT("Налаштування MMU");
657
+  PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE              = _UxGT("Понови прошивку MMU!");
658
+  PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING             = _UxGT("MMU потребує уваги");
659
+  PROGMEM Language_Str MSG_MMU2_RESUME                     = _UxGT("Продовжити друк");
660
+  PROGMEM Language_Str MSG_MMU2_RESUMING                   = _UxGT("Продовження...");
661
+  PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT              = _UxGT("Завантажити пруток");
662
+  PROGMEM Language_Str MSG_MMU2_LOAD_ALL                   = _UxGT("Завантажити все");
663
+  PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE             = _UxGT("Завантажити в сопло");
664
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT             = _UxGT("Звільнити пруток");
665
+  PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N           = _UxGT("Звільнити пруток ~");
666
+  PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT            = _UxGT("Вивантажити пруток");
667
+  PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT           = _UxGT("Завантаження %i...");
668
+  PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT          = _UxGT("Звільнення прутка...");
669
+  PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT         = _UxGT("Вивантаження ....");
670
+  PROGMEM Language_Str MSG_MMU2_ALL                        = _UxGT("Все");
671
+  PROGMEM Language_Str MSG_MMU2_FILAMENT_N                 = _UxGT("Пруток ~");
672
+  PROGMEM Language_Str MSG_MMU2_RESET                      = _UxGT("Перезапуск MMU");
673
+  PROGMEM Language_Str MSG_MMU2_RESETTING                  = _UxGT("Перезапуск MMU...");
674
+  PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER              = _UxGT("Видаліть, натисніть");
675
+  #if LCD_WIDTH > 21
676
+    PROGMEM Language_Str MSG_MIX                           = _UxGT("Змішування");
677
+  #else
678
+    PROGMEM Language_Str MSG_MIX                           = _UxGT("Змішув.");
679
+  #endif
680
+  PROGMEM Language_Str MSG_MIX_COMPONENT_N                 = _UxGT("Компонент =");
681
+  PROGMEM Language_Str MSG_MIXER                           = _UxGT("Змішувач");
682
+  PROGMEM Language_Str MSG_GRADIENT                        = _UxGT("Градієнт");
683
+  PROGMEM Language_Str MSG_FULL_GRADIENT                   = _UxGT("Повний градієнт");
684
+  PROGMEM Language_Str MSG_CYCLE_MIX                       = _UxGT("Циклічне змішування");
685
+  PROGMEM Language_Str MSG_GRADIENT_MIX                    = _UxGT("Градієнт змішування");
686
+  PROGMEM Language_Str MSG_REVERSE_GRADIENT                = _UxGT("Змінити градієнт");
687
+  #if LCD_WIDTH > 21
688
+    PROGMEM Language_Str MSG_TOGGLE_MIX                    = _UxGT("Перемкнути змішування");
689
+    PROGMEM Language_Str MSG_ACTIVE_VTOOL                  = _UxGT("Активація В-інструменту");
690
+    PROGMEM Language_Str MSG_START_VTOOL                   = _UxGT("Початок В-інструменту");
691
+    PROGMEM Language_Str MSG_END_VTOOL                     = _UxGT("Кінець В-інструменту");
692
+    PROGMEM Language_Str MSG_GRADIENT_ALIAS                = _UxGT("Псевдонім В-інструменту");
693
+    PROGMEM Language_Str MSG_RESET_VTOOLS                  = _UxGT("Зкидання В-інструментів");
694
+    PROGMEM Language_Str MSG_VTOOLS_RESET                  = _UxGT("В-інструменти зкинуті");
695
+    PROGMEM Language_Str MSG_COMMIT_VTOOL                  = _UxGT("Змішати В-інструменти");
696
+  #else
697
+    PROGMEM Language_Str MSG_TOGGLE_MIX                    = _UxGT("Перемкнути змішув.");
698
+    PROGMEM Language_Str MSG_ACTIVE_VTOOL                  = _UxGT("Актив.В-інструм.");
699
+    PROGMEM Language_Str MSG_START_VTOOL                   = _UxGT("В-інструм. поч.");
700
+    PROGMEM Language_Str MSG_END_VTOOL                     = _UxGT("В-інструм. кін.");
701
+    PROGMEM Language_Str MSG_GRADIENT_ALIAS                = _UxGT("Псевдонім В-інстр.");
702
+    PROGMEM Language_Str MSG_RESET_VTOOLS                  = _UxGT("Зкидання В-інструм");
703
+    PROGMEM Language_Str MSG_VTOOLS_RESET                  = _UxGT("В-інструм. зкинуті");
704
+    PROGMEM Language_Str MSG_COMMIT_VTOOL                  = _UxGT("Змішати В-інструм.");
705
+  #endif
706
+  PROGMEM Language_Str MSG_START_Z                         = _UxGT("Початок Z");
707
+  PROGMEM Language_Str MSG_END_Z                           = _UxGT(" Кінець Z");
708
+
709
+  PROGMEM Language_Str MSG_GAMES                           = _UxGT("Ігри");
710
+  PROGMEM Language_Str MSG_BRICKOUT                        = _UxGT("Цеглини");
711
+  PROGMEM Language_Str MSG_INVADERS                        = _UxGT("Вторгнення");
712
+  PROGMEM Language_Str MSG_SNAKE                           = _UxGT("Змійка");
713
+  PROGMEM Language_Str MSG_MAZE                            = _UxGT("Лабіринт");
225
 
714
 
715
+  #if LCD_WIDTH > 21
716
+    PROGMEM Language_Str MSG_BAD_PAGE                      = _UxGT("Поганий індекс сторінки");
717
+    PROGMEM Language_Str MSG_BAD_PAGE_SPEED                = _UxGT("Погана швидкість сторінки");
718
+  #else
719
+    PROGMEM Language_Str MSG_BAD_PAGE                      = _UxGT("Погана сторінка");
720
+    PROGMEM Language_Str MSG_BAD_PAGE_SPEED                = _UxGT("Погана швидк.стор");
721
+  #endif
722
+
723
+  PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING             = _UxGT(MSG_1_LINE("Паркування..."));
226
   #if LCD_HEIGHT >= 4
724
   #if LCD_HEIGHT >= 4
227
     // Up to 3 lines allowed
725
     // Up to 3 lines allowed
228
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT          = _UxGT(MSG_3_LINE("Зачекайте на", "початок заміни", "волокна"));
229
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD        = _UxGT(MSG_2_LINE("Зачекайте на", "вивід волокна"));
230
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT        = _UxGT(MSG_3_LINE("Вставте волокно", "та натисніть для", "продовження..."));
231
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD          = _UxGT(MSG_2_LINE("Зачекайте на", "ввід волокна"));
232
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME        = _UxGT(MSG_3_LINE("Зачекайте на", "відновлення", "друку"));
726
+    PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING        = _UxGT(MSG_3_LINE("Натисніть кнопку", "для продовження", "друку"));
727
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT          = _UxGT(MSG_3_LINE("Зачекайте", "на початок", "заміни прутка"));
728
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT        = _UxGT(MSG_3_LINE("Вставте пруток", "та натисніть", "для продовження..."));
729
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT          = _UxGT(MSG_2_LINE("Натисніть кнопку", "для нагріву сопла"));
730
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING       = _UxGT(MSG_2_LINE("Сопло нагрівається", "зачекайте..."));
731
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD        = _UxGT(MSG_2_LINE("Зачекайте", "на вивід прутка"));
732
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD          = _UxGT(MSG_2_LINE("Зачекайте", "на ввід прутка"));
733
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE         = _UxGT(MSG_2_LINE("Дочекайтесь", "очищення прутка"));
734
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE    = _UxGT(MSG_3_LINE("Натисніть кнопку", "для завершення", "очищення прутка"));
735
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME        = _UxGT(MSG_3_LINE("Зачекайте", "на відновлення", "друку"));
233
   #else
736
   #else
234
     // Up to 2 lines allowed
737
     // Up to 2 lines allowed
738
+    PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING        = _UxGT(MSG_1_LINE("Продовжити друк"));
235
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT          = _UxGT(MSG_1_LINE("Зачекайте..."));
739
     PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT          = _UxGT(MSG_1_LINE("Зачекайте..."));
236
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD        = _UxGT(MSG_1_LINE("Вивід..."));
237
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT        = _UxGT(MSG_1_LINE("Вставте і нат."));
238
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD          = _UxGT(MSG_1_LINE("Ввід..."));
239
-    PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME        = _UxGT(MSG_1_LINE("Відновлення..."));
740
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT        = _UxGT(MSG_1_LINE("Вставте і натисніть"));
741
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT          = _UxGT(MSG_1_LINE("Нагріти сопло"));
742
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING       = _UxGT(MSG_1_LINE("Нагрів сопла..."));
743
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD        = _UxGT(MSG_1_LINE("Вивід прутка..."));
744
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD          = _UxGT(MSG_1_LINE("Ввід прутка..."));
745
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE         = _UxGT(MSG_1_LINE("Очищення прутка..."));
746
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE    = _UxGT(MSG_1_LINE("Завершити очищення"));
747
+    PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME        = _UxGT(MSG_1_LINE("Поновлення друку..."));
240
   #endif
748
   #endif
749
+
750
+  PROGMEM Language_Str MSG_TMC_DRIVERS                     = _UxGT("Драйвери TMC");
751
+  PROGMEM Language_Str MSG_TMC_CURRENT                     = _UxGT("Струм драйвера");
752
+  PROGMEM Language_Str MSG_TMC_HYBRID_THRS                 = _UxGT("Гібридний поріг");
753
+  PROGMEM Language_Str MSG_TMC_HOMING_THRS                 = _UxGT("Дім без кінцевиків");
754
+  PROGMEM Language_Str MSG_TMC_STEPPING_MODE               = _UxGT("Режим мікрокроку");
755
+  PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED             = _UxGT("Тихий режим увімк.");
756
+  PROGMEM Language_Str MSG_SERVICE_RESET                   = _UxGT("Зкидання");
757
+  PROGMEM Language_Str MSG_SERVICE_IN                      = _UxGT(" в:");
758
+  PROGMEM Language_Str MSG_BACKLASH                        = _UxGT("Люфт");
759
+  PROGMEM Language_Str MSG_BACKLASH_CORRECTION             = _UxGT("Виправлення");
760
+  PROGMEM Language_Str MSG_BACKLASH_SMOOTHING              = _UxGT("Зглажування");
761
+
762
+  PROGMEM Language_Str MSG_LEVEL_X_AXIS                    = _UxGT("Рівень вісі X");
763
+  PROGMEM Language_Str MSG_AUTO_CALIBRATE                  = _UxGT("Авто калібрування");
764
+  PROGMEM Language_Str MSG_HEATER_TIMEOUT                  = _UxGT("Час нагрівача збіг");
765
+  PROGMEM Language_Str MSG_REHEAT                          = _UxGT("Поновити нагрів");
766
+  PROGMEM Language_Str MSG_REHEATING                       = _UxGT("Нагрівання...");
241
 }
767
 }
768
+
769
+#if FAN_COUNT == 1
770
+  #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED
771
+  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED
772
+#else
773
+  #define MSG_FIRST_FAN_SPEED       MSG_FAN_SPEED_N
774
+  #define MSG_FIRST_EXTRA_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
775
+#endif

Loading…
Cancel
Save