Multi-language support (#15453)

This commit is contained in:
Marcio Teixeira
2019-10-09 18:46:10 -06:00
committed by Scott Lahteine
parent dc14d4a13c
commit 6a865a6146
105 changed files with 11537 additions and 11196 deletions

View File

@@ -30,213 +30,304 @@
*/
#define DISPLAY_CHARSET_ISO10646_5
#define CHARSIZE 2
#define WELCOME_MSG MACHINE_NAME _UxGT(" готовий.")
#define MSG_MEDIA_INSERTED _UxGT("Картка вставлена")
#define MSG_MEDIA_REMOVED _UxGT("Картка видалена")
#define MSG_LCD_ENDSTOPS _UxGT("Кінцевик") // Max length 8 characters
#define MSG_MAIN _UxGT("Меню")
#define MSG_AUTOSTART _UxGT("Автостарт")
#define MSG_DISABLE_STEPPERS _UxGT("Вимк. двигуни")
#define MSG_AUTO_HOME _UxGT("Авто паркування")
#define MSG_AUTO_HOME_X _UxGT("Паркування X")
#define MSG_AUTO_HOME_Y _UxGT("Паркування Y")
#define MSG_AUTO_HOME_Z _UxGT("Паркування Z")
#define MSG_LEVEL_BED_HOMING _UxGT("Паркування XYZ")
#define MSG_LEVEL_BED_WAITING _UxGT("Почати")
#define MSG_LEVEL_BED_NEXT_POINT _UxGT("Слідуюча Точка")
#define MSG_LEVEL_BED_DONE _UxGT("Завершено!")
#define MSG_SET_HOME_OFFSETS _UxGT("Зберегти паркув.")
#define MSG_HOME_OFFSETS_APPLIED _UxGT("Зміщення застос.")
#define MSG_SET_ORIGIN _UxGT("Встанов. початок")
#define MSG_PREHEAT_1 _UxGT("Нагрів " PREHEAT_1_LABEL)
#define MSG_PREHEAT_1_N MSG_PREHEAT_1 _UxGT(" ")
#define MSG_PREHEAT_1_ALL MSG_PREHEAT_1 _UxGT(" Все")
#define MSG_PREHEAT_1_BEDONLY MSG_PREHEAT_1 _UxGT(" Стіл")
#define MSG_PREHEAT_1_SETTINGS MSG_PREHEAT_1 _UxGT(" нал.")
#define MSG_PREHEAT_2 _UxGT("Нагрів " PREHEAT_2_LABEL)
#define MSG_PREHEAT_2_N MSG_PREHEAT_2 _UxGT(" ")
#define MSG_PREHEAT_2_ALL MSG_PREHEAT_2 _UxGT(" Все")
#define MSG_PREHEAT_2_BEDONLY MSG_PREHEAT_2 _UxGT(" Стіл")
#define MSG_PREHEAT_2_SETTINGS MSG_PREHEAT_2 _UxGT(" нал.")
#define MSG_COOLDOWN _UxGT("Охолодження")
#define MSG_SWITCH_PS_ON _UxGT("Увімкнути живлення")
#define MSG_SWITCH_PS_OFF _UxGT("Вимкнути живлення")
#define MSG_EXTRUDE _UxGT("Екструзія")
#define MSG_RETRACT _UxGT("Втягування")
#define MSG_MOVE_AXIS _UxGT("Рух по осям")
#define MSG_BED_LEVELING _UxGT("Нівелювання столу")
#define MSG_LEVEL_BED _UxGT("Нівелювання столу")
#define MSG_MOVE_X _UxGT("Рух по X")
#define MSG_MOVE_Y _UxGT("Рух по Y")
#define MSG_MOVE_Z _UxGT("Рух по Z")
#define MSG_MOVE_E _UxGT("Екструдер")
#define MSG_MOVE_Z_DIST _UxGT("Рух по %smm")
#define MSG_MOVE_01MM _UxGT("Рух по 0.1mm")
#define MSG_MOVE_1MM _UxGT("Рух по 1mm")
#define MSG_MOVE_10MM _UxGT("Рух по 10mm")
#define MSG_SPEED _UxGT("Швидкість")
#define MSG_BED_Z _UxGT("Z Столу")
#define MSG_NOZZLE _UxGT("Сопло")
#define MSG_BED _UxGT("Стіл")
#define MSG_FAN_SPEED _UxGT("Охолодж.")
#define MSG_FLOW _UxGT("Потік")
#define MSG_CONTROL _UxGT("Налаштування")
#define MSG_MIN _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Мін")
#define MSG_MAX _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Макс")
#define MSG_FACTOR _UxGT(" ") LCD_STR_THERMOMETER _UxGT(" Факт")
#define MSG_AUTOTEMP _UxGT("Автотемпер.")
#define MSG_LCD_ON _UxGT("Увімк.")
#define MSG_LCD_OFF _UxGT("Вимк.")
#define MSG_PID_P _UxGT("PID-P")
#define MSG_PID_I _UxGT("PID-I")
#define MSG_PID_D _UxGT("PID-D")
#define MSG_PID_C _UxGT("PID-C")
#define MSG_SELECT _UxGT("Вибрати")
#define MSG_ACC _UxGT("Приск.")
#define MSG_JERK _UxGT("Ривок")
#if IS_KINEMATIC
#define MSG_VA_JERK _UxGT("Va-ривок")
#define MSG_VB_JERK _UxGT("Vb-ривок")
#define MSG_VC_JERK _UxGT("Vc-ривок")
#else
#define MSG_VA_JERK _UxGT("Vx-ривок")
#define MSG_VB_JERK _UxGT("Vy-ривок")
#define MSG_VC_JERK _UxGT("Vz-ривок")
#endif
#define MSG_VE_JERK _UxGT("Ve-ривок")
#define MSG_VMAX _UxGT("Vмакс")
#define MSG_VMIN _UxGT("Vмін")
#define MSG_VTRAV_MIN _UxGT("Vруху мін")
#define MSG_AMAX _UxGT("Aмакс ")
#define MSG_A_RETRACT _UxGT("A-втягув.")
#define MSG_A_TRAVEL _UxGT("A-руху")
#define MSG_STEPS_PER_MM _UxGT("Кроків/мм")
#if IS_KINEMATIC
#define MSG_ASTEPS _UxGT("Aкроків/мм")
#define MSG_BSTEPS _UxGT("Bкроків/мм")
#define MSG_CSTEPS _UxGT("Cкроків/мм")
#else
#define MSG_ASTEPS _UxGT("Xкроків/мм")
#define MSG_BSTEPS _UxGT("Yкроків/мм")
#define MSG_CSTEPS _UxGT("Zкроків/мм")
#endif
#define MSG_ESTEPS _UxGT("Eкроків/мм")
#define MSG_E0_STEPS _UxGT("E1кроків/мм")
#define MSG_E1_STEPS _UxGT("E2кроків/мм")
#define MSG_E2_STEPS _UxGT("E3кроків/мм")
#define MSG_E3_STEPS _UxGT("E4кроків/мм")
#define MSG_E4_STEPS _UxGT("E5кроків/мм")
#define MSG_E5_STEPS _UxGT("E6кроків/мм")
#define MSG_TEMPERATURE _UxGT("Температура")
#define MSG_MOTION _UxGT("Рух")
#define MSG_FILAMENT _UxGT("Волокно")
#define MSG_VOLUMETRIC_ENABLED _UxGT("E в мм3")
#define MSG_FILAMENT_DIAM _UxGT("Діам. волок.")
#define MSG_CONTRAST _UxGT("контраст LCD")
#define MSG_STORE_EEPROM _UxGT("Зберегти в ПЗП")
#define MSG_LOAD_EEPROM _UxGT("Зчитати з ПЗП")
#define MSG_RESTORE_FAILSAFE _UxGT("Відновити базові")
#define MSG_REFRESH _UxGT("Поновити")
#define MSG_WATCH _UxGT("Інформація")
#define MSG_PREPARE _UxGT("Підготувати")
#define MSG_TUNE _UxGT("Підлаштування")
#define MSG_PAUSE_PRINT _UxGT("Призупинити друк")
#define MSG_RESUME_PRINT _UxGT("Відновити друк")
#define MSG_STOP_PRINT _UxGT("Скасувати друк")
#define MSG_MEDIA_MENU _UxGT("Друкувати з SD")
#define MSG_NO_MEDIA _UxGT("Відсутня SD карт.")
#define MSG_DWELL _UxGT("Сплячка...")
#define MSG_USERWAIT _UxGT("Очікування дій...")
#define MSG_PRINT_ABORTED _UxGT("Друк скасовано")
#define MSG_NO_MOVE _UxGT("Немає руху.")
#define MSG_KILLED _UxGT("ПЕРЕРВАНО. ")
#define MSG_STOPPED _UxGT("ЗУПИНЕНО. ")
#define MSG_FILAMENTCHANGE _UxGT("Зміна волокна")
#define MSG_INIT_MEDIA _UxGT("Старт SD картки")
#define MSG_CHANGE_MEDIA _UxGT("Заміна SD карти")
#define MSG_ZPROBE_OUT _UxGT("Z дет. не в межах")
#define MSG_BLTOUCH_SELFTEST _UxGT("BLTouch Само-Тест")
#define MSG_BLTOUCH_RESET _UxGT("Скинути BLTouch")
#define MSG_HOME_FIRST _UxGT("Дім %s%s%s перший")
#define MSG_ZPROBE_ZOFFSET _UxGT("Зміщення Z")
#define MSG_BABYSTEP_X _UxGT("Мікрокрок X")
#define MSG_BABYSTEP_Y _UxGT("Мікрокрок Y")
#define MSG_BABYSTEP_Z _UxGT("Мікрокрок Z")
#define MSG_ENDSTOP_ABORT _UxGT("невдача кінцевика")
#define MSG_HEATING_FAILED_LCD _UxGT("Невдалий нагрів")
#define MSG_THERMAL_RUNAWAY _UxGT("ЗБІЙ ТЕМПЕРАТУРИ")
#define MSG_ERR_Z_HOMING _UxGT("Дім XY перший")
#define MSG_HALTED _UxGT("ПРИНТЕР ЗУПИНЕНО")
#define MSG_PLEASE_RESET _UxGT("Перезавантажте")
#define MSG_SHORT_DAY _UxGT("д") // One character only
#define MSG_SHORT_HOUR _UxGT("г") // One character only
#define MSG_SHORT_MINUTE _UxGT("х") // One character only
#define MSG_HEATING _UxGT("Нагрівання...")
#define MSG_BED_HEATING _UxGT("Нагрівання столу...")
#define MSG_DELTA_CALIBRATE _UxGT("Калібр. Delta")
#define MSG_DELTA_CALIBRATE_X _UxGT("Калібрування X")
#define MSG_DELTA_CALIBRATE_Y _UxGT("Калібрування Y")
#define MSG_DELTA_CALIBRATE_Z _UxGT("Калібрування Z")
#define MSG_DELTA_CALIBRATE_CENTER _UxGT("Калібр. Центру")
namespace Language_uk {
using namespace Language_en; // Inherit undefined strings from English
#define MSG_INFO_MENU _UxGT("Про принтер")
#define MSG_INFO_PRINTER_MENU _UxGT("Інформація")
#define MSG_INFO_STATS_MENU _UxGT("Статистика")
#define MSG_INFO_BOARD_MENU _UxGT("Про плату")
#define MSG_INFO_THERMISTOR_MENU _UxGT("Термістори")
#define MSG_INFO_EXTRUDERS _UxGT("Екструдери")
#define MSG_INFO_BAUDRATE _UxGT("біт/с")
#define MSG_INFO_PROTOCOL _UxGT("Протокол")
#define MSG_CASE_LIGHT _UxGT("Підсвітка")
constexpr uint8_t CHARSIZE = 2;
PROGMEM Language_Str LANGUAGE = _UxGT("Ukranian");
#define MSG_EXPECTED_PRINTER _UxGT("Неправильний принтер")
PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" готовий.");
PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Картка вставлена");
PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Картка видалена");
PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Кінцевик"); // Max length 8 characters
PROGMEM Language_Str MSG_MAIN = _UxGT("Меню");
PROGMEM Language_Str MSG_AUTOSTART = _UxGT("Автостарт");
PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Вимк. двигуни");
PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Авто паркування");
PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Паркування X");
PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Паркування Y");
PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Паркування Z");
PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Паркування XYZ");
PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Почати");
PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Слідуюча Точка");
PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Завершено!");
PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Зберегти паркув.");
PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Зміщення застос.");
PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Встанов. початок");
PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Нагрів ") PREHEAT_1_LABEL;
PROGMEM Language_Str MSG_PREHEAT_1_H0 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N0;
PROGMEM Language_Str MSG_PREHEAT_1_H1 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N1;
PROGMEM Language_Str MSG_PREHEAT_1_H2 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N2;
PROGMEM Language_Str MSG_PREHEAT_1_H3 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N3;
PROGMEM Language_Str MSG_PREHEAT_1_H4 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N4;
PROGMEM Language_Str MSG_PREHEAT_1_H5 = _UxGT("Нагрів ") PREHEAT_1_LABEL " " LCD_STR_N5;
PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло");
PROGMEM Language_Str MSG_PREHEAT_1_END_E0 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N0;
PROGMEM Language_Str MSG_PREHEAT_1_END_E1 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N1;
PROGMEM Language_Str MSG_PREHEAT_1_END_E2 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N2;
PROGMEM Language_Str MSG_PREHEAT_1_END_E3 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N3;
PROGMEM Language_Str MSG_PREHEAT_1_END_E4 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N4;
PROGMEM Language_Str MSG_PREHEAT_1_END_E5 = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Сопло ") LCD_STR_N5;
PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Все");
PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" Стіл");
PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" нал.");
PROGMEM Language_Str MSG_PREHEAT_2 = _UxGT("Нагрів ") PREHEAT_2_LABEL;
PROGMEM Language_Str MSG_PREHEAT_2_H0 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N0;
PROGMEM Language_Str MSG_PREHEAT_2_H1 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N1;
PROGMEM Language_Str MSG_PREHEAT_2_H2 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N2;
PROGMEM Language_Str MSG_PREHEAT_2_H3 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N3;
PROGMEM Language_Str MSG_PREHEAT_2_H4 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N4;
PROGMEM Language_Str MSG_PREHEAT_2_H5 = _UxGT("Нагрів ") PREHEAT_2_LABEL " " LCD_STR_N5;
PROGMEM Language_Str MSG_PREHEAT_2_END = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло");
PROGMEM Language_Str MSG_PREHEAT_2_END_E0 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N0;
PROGMEM Language_Str MSG_PREHEAT_2_END_E1 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N1;
PROGMEM Language_Str MSG_PREHEAT_2_END_E2 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N2;
PROGMEM Language_Str MSG_PREHEAT_2_END_E3 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N3;
PROGMEM Language_Str MSG_PREHEAT_2_END_E4 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N4;
PROGMEM Language_Str MSG_PREHEAT_2_END_E5 = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Сопло ") LCD_STR_N5;
PROGMEM Language_Str MSG_PREHEAT_2_ALL = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Все");
PROGMEM Language_Str MSG_PREHEAT_2_BEDONLY = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" Стіл");
PROGMEM Language_Str MSG_PREHEAT_2_SETTINGS = _UxGT("Нагрів ") PREHEAT_2_LABEL _UxGT(" нал.");
PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Охолодження");
PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Увімкнути живлення");
PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Вимкнути живлення");
PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Екструзія");
PROGMEM Language_Str MSG_RETRACT = _UxGT("Втягування");
PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Рух по осям");
PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Нівелювання столу");
PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Нівелювання столу");
PROGMEM Language_Str MSG_MOVE_X = _UxGT("Рух по X");
PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Рух по Y");
PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Рух по Z");
PROGMEM Language_Str MSG_MOVE_E = _UxGT("Екструдер");
PROGMEM Language_Str MSG_MOVE_E0 = _UxGT("Екструдер ") LCD_STR_E0;
PROGMEM Language_Str MSG_MOVE_E1 = _UxGT("Екструдер ") LCD_STR_E1;
PROGMEM Language_Str MSG_MOVE_E2 = _UxGT("Екструдер ") LCD_STR_E2;
PROGMEM Language_Str MSG_MOVE_E3 = _UxGT("Екструдер ") LCD_STR_E3;
PROGMEM Language_Str MSG_MOVE_E4 = _UxGT("Екструдер ") LCD_STR_E4;
PROGMEM Language_Str MSG_MOVE_E5 = _UxGT("Екструдер ") LCD_STR_E5;
PROGMEM Language_Str MSG_MOVE_Z_DIST = _UxGT("Рух по %smm");
PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Рух по 0.1mm");
PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Рух по 1mm");
PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Рух по 10mm");
PROGMEM Language_Str MSG_SPEED = _UxGT("Швидкість");
PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Столу");
PROGMEM Language_Str MSG_NOZZLE = _UxGT("Сопло");
PROGMEM Language_Str MSG_NOZZLE_0 = _UxGT("Сопло ") LCD_STR_N0;
PROGMEM Language_Str MSG_NOZZLE_1 = _UxGT("Сопло ") LCD_STR_N1;
PROGMEM Language_Str MSG_NOZZLE_2 = _UxGT("Сопло ") LCD_STR_N2;
PROGMEM Language_Str MSG_NOZZLE_3 = _UxGT("Сопло ") LCD_STR_N3;
PROGMEM Language_Str MSG_NOZZLE_4 = _UxGT("Сопло ") LCD_STR_N4;
PROGMEM Language_Str MSG_NOZZLE_5 = _UxGT("Сопло ") LCD_STR_N5;
PROGMEM Language_Str MSG_BED = _UxGT("Стіл");
PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Охолодж.");
PROGMEM Language_Str MSG_FAN_SPEED_1 = _UxGT("Охолодж. 1");
PROGMEM Language_Str MSG_FAN_SPEED_2 = _UxGT("Охолодж. 2");
PROGMEM Language_Str MSG_FAN_SPEED_3 = _UxGT("Охолодж. 3");
PROGMEM Language_Str MSG_FLOW = _UxGT("Потік");
PROGMEM Language_Str MSG_FLOW_0 = _UxGT("Потік ") LCD_STR_N0;
PROGMEM Language_Str MSG_FLOW_1 = _UxGT("Потік ") LCD_STR_N1;
PROGMEM Language_Str MSG_FLOW_2 = _UxGT("Потік ") LCD_STR_N2;
PROGMEM Language_Str MSG_FLOW_3 = _UxGT("Потік ") LCD_STR_N3;
PROGMEM Language_Str MSG_FLOW_4 = _UxGT("Потік ") LCD_STR_N4;
PROGMEM Language_Str MSG_FLOW_5 = _UxGT("Потік ") LCD_STR_N5;
PROGMEM Language_Str MSG_CONTROL = _UxGT("Налаштування");
PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Мін");
PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Макс");
PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Факт");
PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Автотемпер.");
PROGMEM Language_Str MSG_LCD_ON = _UxGT("Увімк.");
PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Вимк.");
PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
PROGMEM Language_Str MSG_PID_P_E0 = _UxGT("PID-P ") LCD_STR_E0;
PROGMEM Language_Str MSG_PID_P_E1 = _UxGT("PID-P ") LCD_STR_E1;
PROGMEM Language_Str MSG_PID_P_E2 = _UxGT("PID-P ") LCD_STR_E2;
PROGMEM Language_Str MSG_PID_P_E3 = _UxGT("PID-P ") LCD_STR_E3;
PROGMEM Language_Str MSG_PID_P_E4 = _UxGT("PID-P ") LCD_STR_E4;
PROGMEM Language_Str MSG_PID_P_E5 = _UxGT("PID-P ") LCD_STR_E5;
PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
PROGMEM Language_Str MSG_PID_I_E0 = _UxGT("PID-I ") LCD_STR_E0;
PROGMEM Language_Str MSG_PID_I_E1 = _UxGT("PID-I ") LCD_STR_E1;
PROGMEM Language_Str MSG_PID_I_E2 = _UxGT("PID-I ") LCD_STR_E2;
PROGMEM Language_Str MSG_PID_I_E3 = _UxGT("PID-I ") LCD_STR_E3;
PROGMEM Language_Str MSG_PID_I_E4 = _UxGT("PID-I ") LCD_STR_E4;
PROGMEM Language_Str MSG_PID_I_E5 = _UxGT("PID-I ") LCD_STR_E5;
PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
PROGMEM Language_Str MSG_PID_D_E0 = _UxGT("PID-D ") LCD_STR_E0;
PROGMEM Language_Str MSG_PID_D_E1 = _UxGT("PID-D ") LCD_STR_E1;
PROGMEM Language_Str MSG_PID_D_E2 = _UxGT("PID-D ") LCD_STR_E2;
PROGMEM Language_Str MSG_PID_D_E3 = _UxGT("PID-D ") LCD_STR_E3;
PROGMEM Language_Str MSG_PID_D_E4 = _UxGT("PID-D ") LCD_STR_E4;
PROGMEM Language_Str MSG_PID_D_E5 = _UxGT("PID-D ") LCD_STR_E5;
PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
PROGMEM Language_Str MSG_PID_C_E0 = _UxGT("PID-C ") LCD_STR_E0;
PROGMEM Language_Str MSG_PID_C_E1 = _UxGT("PID-C ") LCD_STR_E1;
PROGMEM Language_Str MSG_PID_C_E2 = _UxGT("PID-C ") LCD_STR_E2;
PROGMEM Language_Str MSG_PID_C_E3 = _UxGT("PID-C ") LCD_STR_E3;
PROGMEM Language_Str MSG_PID_C_E4 = _UxGT("PID-C ") LCD_STR_E4;
PROGMEM Language_Str MSG_PID_C_E5 = _UxGT("PID-C ") LCD_STR_E5;
PROGMEM Language_Str MSG_SELECT = _UxGT("Вибрати");
PROGMEM Language_Str MSG_SELECT_E0 = _UxGT("Вибрати ") LCD_STR_E0;
PROGMEM Language_Str MSG_SELECT_E1 = _UxGT("Вибрати ") LCD_STR_E1;
PROGMEM Language_Str MSG_SELECT_E2 = _UxGT("Вибрати ") LCD_STR_E2;
PROGMEM Language_Str MSG_SELECT_E3 = _UxGT("Вибрати ") LCD_STR_E3;
PROGMEM Language_Str MSG_SELECT_E4 = _UxGT("Вибрати ") LCD_STR_E4;
PROGMEM Language_Str MSG_SELECT_E5 = _UxGT("Вибрати ") LCD_STR_E5;
PROGMEM Language_Str MSG_ACC = _UxGT("Приск.");
PROGMEM Language_Str MSG_JERK = _UxGT("Ривок");
PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-ривок");
PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-ривок");
PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-ривок");
PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-ривок");
PROGMEM Language_Str MSG_VMAX_A = _UxGT("акс") LCD_STR_A;
PROGMEM Language_Str MSG_VMAX_B = _UxGT("акс") LCD_STR_B;
PROGMEM Language_Str MSG_VMAX_C = _UxGT("акс") LCD_STR_C;
PROGMEM Language_Str MSG_VMAX_E = _UxGT("акс") LCD_STR_E;
PROGMEM Language_Str MSG_VMAX_E0 = _UxGT("акс ") LCD_STR_E0;
PROGMEM Language_Str MSG_VMAX_E1 = _UxGT("акс ") LCD_STR_E1;
PROGMEM Language_Str MSG_VMAX_E2 = _UxGT("акс ") LCD_STR_E2;
PROGMEM Language_Str MSG_VMAX_E3 = _UxGT("акс ") LCD_STR_E3;
PROGMEM Language_Str MSG_VMAX_E4 = _UxGT("акс ") LCD_STR_E4;
PROGMEM Language_Str MSG_VMAX_E5 = _UxGT("акс ") LCD_STR_E5;
PROGMEM Language_Str MSG_VMIN = _UxGT("ін");
PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vруху мін");
PROGMEM Language_Str MSG_AMAX_A = _UxGT("акс ") LCD_STR_A;
PROGMEM Language_Str MSG_AMAX_B = _UxGT("акс ") LCD_STR_B;
PROGMEM Language_Str MSG_AMAX_C = _UxGT("акс ") LCD_STR_C;
PROGMEM Language_Str MSG_AMAX_E = _UxGT("акс ") LCD_STR_E;
PROGMEM Language_Str MSG_AMAX_E0 = _UxGT("акс ") LCD_STR_E0;
PROGMEM Language_Str MSG_AMAX_E1 = _UxGT("акс ") LCD_STR_E1;
PROGMEM Language_Str MSG_AMAX_E2 = _UxGT("акс ") LCD_STR_E2;
PROGMEM Language_Str MSG_AMAX_E3 = _UxGT("акс ") LCD_STR_E3;
PROGMEM Language_Str MSG_AMAX_E4 = _UxGT("акс ") LCD_STR_E4;
PROGMEM Language_Str MSG_AMAX_E5 = _UxGT("акс ") LCD_STR_E5;
PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-втягув.");
PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-руху");
PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Кроків/мм");
PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("кроків/мм");
PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("кроків/мм");
PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("кроків/мм");
PROGMEM Language_Str MSG_E_STEPS = _UxGT("років/мм");
PROGMEM Language_Str MSG_E0_STEPS = LCD_STR_E0 _UxGT("кроків/мм");
PROGMEM Language_Str MSG_E1_STEPS = LCD_STR_E1 _UxGT("кроків/мм");
PROGMEM Language_Str MSG_E2_STEPS = LCD_STR_E2 _UxGT("кроків/мм");
PROGMEM Language_Str MSG_E3_STEPS = LCD_STR_E3 _UxGT("кроків/мм");
PROGMEM Language_Str MSG_E4_STEPS = LCD_STR_E4 _UxGT("кроків/мм");
PROGMEM Language_Str MSG_E5_STEPS = LCD_STR_E5 _UxGT("кроків/мм");
PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Температура");
PROGMEM Language_Str MSG_MOTION = _UxGT("Рух");
PROGMEM Language_Str MSG_FILAMENT = _UxGT("Волокно");
PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E в мм3");
PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Діам. волок.");
PROGMEM Language_Str MSG_FILAMENT_DIAM_E0 = _UxGT("Діам. волок. ") LCD_STR_E0;
PROGMEM Language_Str MSG_FILAMENT_DIAM_E1 = _UxGT("Діам. волок. ") LCD_STR_E1;
PROGMEM Language_Str MSG_FILAMENT_DIAM_E2 = _UxGT("Діам. волок. ") LCD_STR_E2;
PROGMEM Language_Str MSG_FILAMENT_DIAM_E3 = _UxGT("Діам. волок. ") LCD_STR_E3;
PROGMEM Language_Str MSG_FILAMENT_DIAM_E4 = _UxGT("Діам. волок. ") LCD_STR_E4;
PROGMEM Language_Str MSG_FILAMENT_DIAM_E5 = _UxGT("Діам. волок. ") LCD_STR_E5;
PROGMEM Language_Str MSG_CONTRAST = _UxGT("контраст LCD");
PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Зберегти в ПЗП");
PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Зчитати з ПЗП");
PROGMEM Language_Str MSG_RESTORE_FAILSAFE = _UxGT("Відновити базові");
PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Поновити");
PROGMEM Language_Str MSG_WATCH = _UxGT("Інформація");
PROGMEM Language_Str MSG_PREPARE = _UxGT("Підготувати");
PROGMEM Language_Str MSG_TUNE = _UxGT("Підлаштування");
PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Призупинити друк");
PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Відновити друк");
PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Скасувати друк");
PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Друкувати з SD");
PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Відсутня SD карт.");
PROGMEM Language_Str MSG_DWELL = _UxGT("Сплячка...");
PROGMEM Language_Str MSG_USERWAIT = _UxGT("Очікування дій...");
PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Друк скасовано");
PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Немає руху.");
PROGMEM Language_Str MSG_KILLED = _UxGT("ПЕРЕРВАНО. ");
PROGMEM Language_Str MSG_STOPPED = _UxGT("ЗУПИНЕНО. ");
PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Зміна волокна");
PROGMEM Language_Str MSG_FILAMENTCHANGE_E0 = _UxGT("Зміна волокна ") LCD_STR_E0;
PROGMEM Language_Str MSG_FILAMENTCHANGE_E1 = _UxGT("Зміна волокна ") LCD_STR_E1;
PROGMEM Language_Str MSG_FILAMENTCHANGE_E2 = _UxGT("Зміна волокна ") LCD_STR_E2;
PROGMEM Language_Str MSG_FILAMENTCHANGE_E3 = _UxGT("Зміна волокна ") LCD_STR_E3;
PROGMEM Language_Str MSG_FILAMENTCHANGE_E4 = _UxGT("Зміна волокна ") LCD_STR_E4;
PROGMEM Language_Str MSG_FILAMENTCHANGE_E5 = _UxGT("Зміна волокна ") LCD_STR_E5;
PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("Старт SD картки");
PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Заміна SD карти");
PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z дет. не в межах");
PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch Само-Тест");
PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Скинути BLTouch");
PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Дім %s%s%s перший");
PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Зміщення Z");
PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Мікрокрок X");
PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Мікрокрок Y");
PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Мікрокрок Z");
PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("невдача кінцевика");
PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Невдалий нагрів");
PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ЗБІЙ ТЕМПЕРАТУРИ");
PROGMEM Language_Str MSG_ERR_Z_HOMING = _UxGT("Дім XY перший");
PROGMEM Language_Str MSG_HALTED = _UxGT("ПРИНТЕР ЗУПИНЕНО");
PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Перезавантажте");
PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("д"); // One character only
PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("г"); // One character only
PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("х"); // One character only
PROGMEM Language_Str MSG_HEATING = _UxGT("Нагрівання...");
PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Нагрівання столу...");
PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Калібр. Delta");
PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Калібрування X");
PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Калібрування Y");
PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Калібрування Z");
PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Калібр. Центру");
#if LCD_WIDTH >= 20
#define MSG_INFO_PRINT_COUNT _UxGT("К-сть друків")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Завершено")
#define MSG_INFO_PRINT_TIME _UxGT("Весь час друку")
#define MSG_INFO_PRINT_LONGEST _UxGT("Найдовший час")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Екструдовано")
#else
#define MSG_INFO_PRINT_COUNT _UxGT("Друків")
#define MSG_INFO_COMPLETED_PRINTS _UxGT("Завершено")
#define MSG_INFO_PRINT_TIME _UxGT("Загалом")
#define MSG_INFO_PRINT_LONGEST _UxGT("Найдовший")
#define MSG_INFO_PRINT_FILAMENT _UxGT("Ексдруд.")
#endif
PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Про принтер");
PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Інформація");
PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Статистика");
PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Про плату");
PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Термістори");
PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Екструдери");
PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("біт/с");
PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Протокол");
PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Підсвітка");
#define MSG_INFO_MIN_TEMP _UxGT("Мін Темп.")
#define MSG_INFO_MAX_TEMP _UxGT("Макс Темп.")
#define MSG_INFO_PSU _UxGT("Джерело жив.")
PROGMEM Language_Str MSG_EXPECTED_PRINTER = _UxGT("Неправильний принтер");
#define MSG_DRIVE_STRENGTH _UxGT("Сила мотору")
#define MSG_DAC_PERCENT _UxGT("% мотору")
#define MSG_DAC_EEPROM_WRITE _UxGT("Запис ЦАП на ПЗП")
#if LCD_WIDTH >= 20
PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("К-сть друків");
PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Завершено");
PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Весь час друку");
PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Найдовший час");
PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Екструдовано");
#else
PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Друків");
PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Завершено");
PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Загалом");
PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Найдовший");
PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Ексдруд.");
#endif
#define MSG_FILAMENT_CHANGE_OPTION_RESUME _UxGT("Відновити друк")
PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Мін Темп.");
PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Макс Темп.");
PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Джерело жив.");
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Зачекайте на")
#define MSG_FILAMENT_CHANGE_INIT_2 _UxGT("початок заміни")
#define MSG_FILAMENT_CHANGE_INIT_3 _UxGT("волокна")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Зачекайте на")
#define MSG_FILAMENT_CHANGE_UNLOAD_2 _UxGT("вивід волокна")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Вставте волокно")
#define MSG_FILAMENT_CHANGE_INSERT_2 _UxGT("та натисніть для")
#define MSG_FILAMENT_CHANGE_INSERT_3 _UxGT("продовження...")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Зачекайте на")
#define MSG_FILAMENT_CHANGE_LOAD_2 _UxGT("ввід волокна")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Зачекайте на")
#define MSG_FILAMENT_CHANGE_RESUME_2 _UxGT("відновлення")
#define MSG_FILAMENT_CHANGE_RESUME_3 _UxGT("друку")
#else // LCD_HEIGHT < 4
// Up to 2 lines allowed
#define MSG_FILAMENT_CHANGE_INIT_1 _UxGT("Зачекайте...")
#define MSG_FILAMENT_CHANGE_UNLOAD_1 _UxGT("Вивід...")
#define MSG_FILAMENT_CHANGE_INSERT_1 _UxGT("Вставте і нат.")
#define MSG_FILAMENT_CHANGE_LOAD_1 _UxGT("Ввід...")
#define MSG_FILAMENT_CHANGE_RESUME_1 _UxGT("Відновлення...")
#endif // LCD_HEIGHT < 4
PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Сила мотору");
PROGMEM Language_Str MSG_DAC_PERCENT = _UxGT("% мотору");
PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Запис ЦАП на ПЗП");
PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Відновити друк");
#if LCD_HEIGHT >= 4
// Up to 3 lines allowed
PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Зачекайте на", "початок заміни", "волокна"));
PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Зачекайте на", "вивід волокна"));
PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Вставте волокно", "та натисніть для", "продовження..."));
PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Зачекайте на", "ввід волокна"));
PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Зачекайте на", "відновлення", "друку"));
#else
// Up to 2 lines allowed
PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Зачекайте..."));
PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Вивід..."));
PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Вставте і нат."));
PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Ввід..."));
PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Відновлення..."));
#endif
}