aboutsummaryrefslogtreecommitdiff
path: root/Marlin/src/lcd/language
diff options
context:
space:
mode:
Diffstat (limited to 'Marlin/src/lcd/language')
-rw-r--r--Marlin/src/lcd/language/language_an.h233
-rw-r--r--Marlin/src/lcd/language/language_bg.h155
-rw-r--r--Marlin/src/lcd/language/language_ca.h228
-rw-r--r--Marlin/src/lcd/language/language_cz.h594
-rw-r--r--Marlin/src/lcd/language/language_da.h202
-rw-r--r--Marlin/src/lcd/language/language_de.h632
-rw-r--r--Marlin/src/lcd/language/language_el.h192
-rw-r--r--Marlin/src/lcd/language/language_el_gr.h193
-rw-r--r--Marlin/src/lcd/language/language_en.h704
-rw-r--r--Marlin/src/lcd/language/language_es.h586
-rw-r--r--Marlin/src/lcd/language/language_eu.h321
-rw-r--r--Marlin/src/lcd/language/language_fi.h130
-rw-r--r--Marlin/src/lcd/language/language_fr.h603
-rw-r--r--Marlin/src/lcd/language/language_gl.h603
-rw-r--r--Marlin/src/lcd/language/language_hr.h170
-rw-r--r--Marlin/src/lcd/language/language_hu.h616
-rw-r--r--Marlin/src/lcd/language/language_it.h682
-rw-r--r--Marlin/src/lcd/language/language_jp_kana.h252
-rw-r--r--Marlin/src/lcd/language/language_ko_KR.h106
-rw-r--r--Marlin/src/lcd/language/language_nl.h231
-rw-r--r--Marlin/src/lcd/language/language_pl.h529
-rw-r--r--Marlin/src/lcd/language/language_pt.h170
-rw-r--r--Marlin/src/lcd/language/language_pt_br.h488
-rw-r--r--Marlin/src/lcd/language/language_ro.h624
-rw-r--r--Marlin/src/lcd/language/language_ru.h829
-rw-r--r--Marlin/src/lcd/language/language_sk.h661
-rw-r--r--Marlin/src/lcd/language/language_sv.h681
-rw-r--r--Marlin/src/lcd/language/language_test.h236
-rw-r--r--Marlin/src/lcd/language/language_tr.h583
-rw-r--r--Marlin/src/lcd/language/language_uk.h839
-rw-r--r--Marlin/src/lcd/language/language_vi.h440
-rw-r--r--Marlin/src/lcd/language/language_zh_CN.h623
-rw-r--r--Marlin/src/lcd/language/language_zh_TW.h504
33 files changed, 14640 insertions, 0 deletions
diff --git a/Marlin/src/lcd/language/language_an.h b/Marlin/src/lcd/language/language_an.h
new file mode 100644
index 0000000..0513de7
--- /dev/null
+++ b/Marlin/src/lcd/language/language_an.h
@@ -0,0 +1,233 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Aragonese
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+#define NOT_EXTENDED_ISO10646_1_5X7
+
+namespace Language_an {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 1;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Aragonese");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" parada.");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Tarcheta mesa");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Tarcheta sacada");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstops"); // Max length 8 characters
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menu prencipal");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Inicio automatico");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Amortar motors");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Levar a l'orichen");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Orichen X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Orichen Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Orichen Z");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Orichen XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Encetar (pretar)");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Vinient punto");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Nivelacion feita!");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Achustar desfases");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Desfase aplicau");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Establir orichen");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Precalentar ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Precalentar ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Boquilla ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Tot");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Base");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Precalentar ") PREHEAT_1_LABEL _UxGT(" Conf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Precalentar $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Precalentar $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Precal. $ Boquilla");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Precal. $ Boquilla ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Precalentar $ Tot");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Precalentar $ Base");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Precalentar $ Conf");
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Enfriar");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Enchegar Fuent");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Amortar Fuent");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extruir");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retraer");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Mover Eixes");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Nivelar base");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Nivelar base");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Mover X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrusor");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrusor *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Mover %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mover 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Mover 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidat");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Base Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Boquilla");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Boquilla ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Base");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Ixoriador");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Ixoriador ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Fluxo");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Fluxo ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Temperatura Auto.");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Trigar");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Trigar *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Aceleracion");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vel. viache min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accel");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Acel. max") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Acel. max") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Acel. max") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Acel. max") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Acel. max *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Acel. retrac.");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Acel. Viaje");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Trangos/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" trangos/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" trangos/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" trangos/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E trangos/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* trangos/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Movimiento");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Alzar memoria");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Cargar memoria");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Restaurar memoria");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Tornar a cargar");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Informacion");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Preparar");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Achustar");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausar impresion");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Contin. impresion");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Detener Impresion");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Menu de SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("No i hai tarcheta");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Reposo...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Aguardand ordines");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Impres. cancelada");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Sin movimiento");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("Aturada d'emerch.");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("Aturada.");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retraer mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Retraer mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retraer F");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Devantar mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("DesRet mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Swap DesRet mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("DesRet F");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Retraccion auto.");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Cambear filamento");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Cambear filamento *");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Encetan. tarcheta");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Cambiar tarcheta");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda Z fuera");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reset BLTouch");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Desfase Z");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Micropaso X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Micropaso Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Micropaso Z");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Cancelado - Endstop");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Error: en calentar");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Error: temperatura");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("Error de temperatura");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Error: Temp Max");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Error: Temp Min");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("IMPRESORA ATURADA");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Per favor reinic.");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d");
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h");
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m");
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Calentando...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Calentando base...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibracion Delta");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibrar X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibrar Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibrar Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibrar Centro");
+
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Inf. Impresora");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Inf. Impresora");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Estadisticas Imp.");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Inf. Controlador");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistors");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrusors");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baudios");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocolo");
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Luz");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Conteo de impresion");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completadas");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tiempo total d'imp.");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Impresion mas larga");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Total d'extrusion");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Impresions");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completadas");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Mas larga");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extrusion");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Temperatura menima");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temperatura maxima");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Fuente de aliment");
+
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Fuerza d'o driver");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Escri. DAC EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Resumir imp.");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+
+ #if LCD_HEIGHT >= 4
+ // Up to 3 lines allowed
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Aguardand iniciar", "d'o filamento", "cambear"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Meta o filamento", "y prete lo boton", "pa continar..."));
+ #else // LCD_HEIGHT < 4
+ // Up to 2 lines allowed
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_2_LINE("Aguardand iniciar", "d'o fil. cambear"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_2_LINE("Meta o filamento", "y prete lo boton"));
+ #endif // LCD_HEIGHT < 4
+
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Aguardando a", "expulsar filament"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Aguardando a", "cargar filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Aguardando impre.", "pa continar"));
+}
diff --git a/Marlin/src/lcd/language/language_bg.h b/Marlin/src/lcd/language/language_bg.h
new file mode 100644
index 0000000..5964652
--- /dev/null
+++ b/Marlin/src/lcd/language/language_bg.h
@@ -0,0 +1,155 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Bulgarian
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_5
+
+namespace Language_bg {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Bulgarian");
+
+ 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_MAIN = _UxGT("Меню");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Автостарт");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Изкл. двигатели");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Паркиране");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Задай Начало");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Изходна точка");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Подгряване ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Подгряване ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Подгряване ") PREHEAT_1_LABEL _UxGT(" Дюза ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Подгр. ") PREHEAT_1_LABEL _UxGT(" Всички");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Подгр. ") PREHEAT_1_LABEL _UxGT(" Легло");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Настройки ") PREHEAT_1_LABEL;
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Подгряване $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Подгряване $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Подгряване $ Дюза");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Подгряване $ Дюза ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Подгр. $ Всички");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Подгр. $ Легло");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Настройки $");
+ #endif
+ 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_EN = _UxGT("Екструдер *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _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("Bed Z");
+ PROGMEM Language_Str MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" Дюза");
+ PROGMEM Language_Str MSG_NOZZLE_N = " " LCD_STR_THERMOMETER _UxGT(" Дюза ~");
+ PROGMEM Language_Str MSG_BED = " " LCD_STR_THERMOMETER _UxGT(" Легло");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Вентилатор");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Вентилатор ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Поток");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Поток ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Управление");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Минимум");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Максимум");
+ 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_A_RETRACT = _UxGT("A-откат");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-travel");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Стъпки/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("стъпки/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("стъпки/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("стъпки/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E стъпки/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* стъпки/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Температура");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Движение");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Нишка");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Диам. нишка");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Диам. нишка *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD контраст");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Запази в EPROM");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Зареди от EPROM");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Фабрични настройки");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Обнови");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _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("Меню карта");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Няма карта");
+ 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_CONTROL_RETRACT = _UxGT("Откат mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Смяна Откат mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Откат V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Скок mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Възврат mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Смяна Възврат mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Възврат V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Автоoткат");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Смяна нишка");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Смяна нишка *");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Иниц. SD-Карта");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Смяна SD-Карта");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z-сондата е извадена");
+ 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_DELTA_CALIBRATE = _UxGT("Делта Калибровка");
+ 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("Калибровка Център");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Неправилен принтер");
+}
diff --git a/Marlin/src/lcd/language/language_ca.h b/Marlin/src/lcd/language/language_ca.h
new file mode 100644
index 0000000..6709a0c
--- /dev/null
+++ b/Marlin/src/lcd/language/language_ca.h
@@ -0,0 +1,228 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Catalan
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+namespace Language_ca {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Catalan");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" preparada.");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Targeta detectada.");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Targeta extreta.");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstops");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menú principal");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Inici automatic");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Desactiva motors");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menu de depuracio");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test barra progres");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Ves a l'origen");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("X a origen");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Y a origen");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Z a origen");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Origen XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Premeu per iniciar");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Següent punt");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Anivellament fet!");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Ajusta decalatge");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Decalatge aplicat");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Estableix origen");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Preescalfa ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Preescalfa ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preescalfa ") PREHEAT_1_LABEL _UxGT(" End");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preescalfa ") PREHEAT_1_LABEL _UxGT(" End ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preescalfa ") PREHEAT_1_LABEL _UxGT(" Tot");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preescalfa ") PREHEAT_1_LABEL _UxGT(" Llit");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preescalfa ") PREHEAT_1_LABEL _UxGT(" Conf.");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Preescalfa $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Preescalfa $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Preescalfa $ End");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Preescalfa $ End ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Preescalfa $ Tot");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Preescalfa $ Llit");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Preescalfa $ Conf.");
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Refreda");
+
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrudeix");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retreu");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Mou eixos");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Anivella llit");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Anivella llit");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Movent..");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("XY lliures");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Mou X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mou Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mou Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrusor");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrusor *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Mou %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mou 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mou 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Mou 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Velocitat");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Llit Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozzle");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Llit");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. Ventilador");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. Ventilador ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flux");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flux ~");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VViatge min");
+
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Accel. retracc");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Accel. Viatge");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Passos/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("passos/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("passos/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("passos/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("Epassos/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*passos/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Moviment");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E en mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diam. Fil.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diam. Fil. *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contrast de LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Desa memoria");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Carrega memoria");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Restaura valors");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Actualitza");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Pantalla Info.");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Prepara");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Ajusta");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausa impressio");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Repren impressio");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Atura impressio.");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Imprimeix de SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("No hi ha targeta");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("En repos...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Esperant usuari..");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Imp. cancelada");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Sense moviment.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("MATAT.");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ATURADA.");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retreu mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Retreure mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retreu V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Aixeca mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("DesRet +mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Swap DesRet +mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("DesRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto retraccio");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Canvia filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Canvia filament *");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Inicialitza SD");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Canvia SD");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda Z fora");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reinicia BLTouch");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Home %s%s%s primer");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Decalatge Z");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Micropas X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Micropas Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Micropas Z");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Cancel. Endstop");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Error al escalfar");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Err: TEMP REDUNDANT");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("THERMAL RUNAWAY");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: TEMP MAXIMA");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: TEMP MINIMA");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("IMPRESSORA PARADA");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Reinicieu");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Escalfant...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Escalfant llit...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibratge Delta");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibra X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibra Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibra Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibra el centre");
+
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Quant a la impr.");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Info Impressora");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Estadistiques");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Info placa");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistors");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrusors");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baud");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocol");
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Llum");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Total impressions");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Acabades");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Temps imprimint");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Treball mes llarg");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Total extrudit");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Impressions");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Acabades");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Mes llarg");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extrudit");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Temp. mínima");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temp. màxima");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Font alimentacio");
+
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Força motor");
+
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Repren impressió");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Impressora incorrecta");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Esperant per", "iniciar el canvi", "de filament"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Esperant per", "treure filament"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Poseu filament", "i premeu el boto", "per continuar..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Premeu boto per", "escalfar nozzle."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Escalfant nozzle", "Espereu..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Esperant carrega", "de filament"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Esperant per", "reprendre"));
+ #else // LCD_HEIGHT < 4
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Espereu..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Expulsant..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Insereix i prem"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Escalfant..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Carregant..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Reprenent..."));
+ #endif // LCD_HEIGHT < 4
+}
diff --git a/Marlin/src/lcd/language/language_cz.h b/Marlin/src/lcd/language/language_cz.h
new file mode 100644
index 0000000..adcbba7
--- /dev/null
+++ b/Marlin/src/lcd/language/language_cz.h
@@ -0,0 +1,594 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Czech
+ * UTF-8 for Graphical Display
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ *
+ * Translated by Petr Zahradnik, Computer Laboratory
+ * Blog and video blog Zahradnik se bavi
+ * https://www.zahradniksebavi.cz
+ */
+
+#define DISPLAY_CHARSET_ISO10646_CZ
+
+namespace Language_cz {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Czech");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" připraven.");
+ PROGMEM Language_Str MSG_YES = _UxGT("ANO");
+ PROGMEM Language_Str MSG_NO = _UxGT("NE");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Zpět");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Rušení...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Médium vloženo");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Médium vyjmuto");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Čekání na médium");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Chyba čtení média");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB odstraněno");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Chyba USB");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstopy"); // max 8 znaku
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Soft Endstopy");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Hlavní nabídka");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Další nastavení");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Konfigurace");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autostart");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Uvolnit motory");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Nabídka ladění");
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test ukaz. průběhu");
+ #else
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test uk. průběhu");
+ #endif
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Domovská pozice");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Domů osa X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Domů osa Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Domů osa Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto srovnání Z");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Měření podložky");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Kliknutím spusťte");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Další bod");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Měření hotovo!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Výška srovnávání");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Nastavit ofsety");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Ofsety nastaveny");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Nastavit počátek");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Zahřát ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Zahřát ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" end ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" vše");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" podlož");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Zahřát ") PREHEAT_1_LABEL _UxGT(" nast");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Zahřát $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Zahřát $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Zahřát $ end");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Zahřát $ end ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Zahřát $ vše");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Zahřát $ podlož");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Zahřát $ nast");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Zahřát vlastní");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Zchladit");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Ovládání laseru");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Výkon laseru");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Vřeteno ovládání");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Vřeteno výkon");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Vřeteno opačně");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Zapnout napájení");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Vypnout napájení");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Vytlačit (extr.)");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Zatlačit (retr.)");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Posunout osy");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Vyrovnat podložku");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Vyrovnat podložku");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Vyrovnat rohy");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Další roh");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Editor sítě");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Upravit síť bodů");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Konec úprav sítě");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Měření bodu");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Index X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Index Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Hodnota Z");
+
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Vlastní příkazy");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 test sondy");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 bod");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Odchylka");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Režim IDEX");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Ofsety nástrojů");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Park");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplikace");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Zrcadlení");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Plná kontrola");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2. tryska X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2. tryska Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2. tryska Z");
+
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Provádím G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL nástroje");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Vyrovnání bodu");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Manuální síť bodů");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Vložte kartu, změřte");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Změřte");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Odstraňte a změřte");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Přesun na další");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Aktivovat UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Deaktivovat UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Teplota podložky");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Teplota podložky");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Teplota hotendu");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Teplota hotendu");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Úprava sítě bodů");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Upravit vlastní síť");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Doladit síť bodů");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Konec úprav sítě");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Vlastní síť");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Vytvořit síť");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Síť bodů $");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Kontrola sítě $");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Studená síť bodů");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Upravit výšku sítě");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Výška");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Zkontrolovat síť");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Kontrola vlast. sítě");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 zahřívání podl.");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 zařívání trysky");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Ruční zavedení...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Pevné zavední");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Done Priming");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Canceled");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Leaving G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Pokračovat v síťi");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Síťové rovnání");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-bodové rovnání");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Mřížkové rovnání");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Srovnat podložku");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Postranní body");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Typ sítě bodu");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Exportovat síť");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Exportovat do PC");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Exportovat do CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Záloha do PC");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Info o UBL do PC");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Hustota mřížky");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Ruční hustota");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Chytrá hustota");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Zaplnit mřížku");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Zrušit všechno");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Zrušit poslední");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Upravit všechny");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Upravit poslední");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Uložiště sítí");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Paměťový slot");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Načíst síť bodů");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Uložit síť bodů");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Síť %i načtena");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Síť %i uložena");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Nedostatek místa");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Ch.: Uložit UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Ch.: Obnovit UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-ofset: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Konec Z-ofsetu");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("UBL Postupně");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. Studená síť bodů");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. Chytrá hustota");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. Zkontrolovat síť");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. Upravit všechny");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. Zkontrolovat síť");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. Upravit všechny");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. Uložit síť bodů");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Nastavení LED");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Světla");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Světla Předvolby");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Červená");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Oranžová");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Žlutá");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Zelená");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Modrá");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Fialová");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Bílá");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Výchozí");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Vlastní světla");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Červená intenzita");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Zelená intezita");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Modrá intenzita");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Bílá intenzita");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Jas");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Posouvání...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Uvolnit XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Posunout X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Posunout Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Posunout Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrudér");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrudér *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend je studený");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Posunout o %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Posunout o 0,1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Posunout o 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Posunout o 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Rychlost");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Výška podl.");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Tryska");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Tryska ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Podložka");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Komora");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Rychlost vent.");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Rychlost vent. ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Ulož. vent. ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Rychlost ex. vent.");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Rychlost ex. vent. ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Průtok");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Průtok ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Ovládaní");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" fakt");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autoteplota");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Zap");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Vyp");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID automatika");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID automatika *");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Vybrat");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Vybrat *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Zrychl");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-jerk");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-jerk");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-jerk");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-Jerk");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Odchylka spoje");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Rychlost");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VTrav Min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Akcelerace");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-retrakt");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-přejezd");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Kroků/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("kroků/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("kroků/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("kroků/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("Ekroků/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*kroků/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Teplota");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Pohyb");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E na mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Prum.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Prum. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Vysunout mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Zavést mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K pro posun");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K pro posun *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Kontrast LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Uložit nastavení");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Načíst nastavení");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Obnovit výchozí");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Inic. EEPROM");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Aktualizace z SD");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Reset tiskárny");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Obnovit");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info obrazovka");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Připrava tisku");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Doladění tisku");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Spustit tisk");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Další");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Inicializace");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Stop");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Tisk");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Zrušit");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Hotovo");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Zpět");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Pokračovat");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pozastavit tisk");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Obnovit tisk");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Zastavit tisk");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Tisk objektu");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Zrušit objekt");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Zrušit objekt =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Obnova výpadku");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Tisknout z SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Žádná SD karta");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Uspáno...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Čekání na uživ...");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Tisk pozastaven");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Tisknu...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Tisk zrušen");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Žádný pohyb.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("PŘERUSENO. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ZASTAVENO. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retrakt mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Výměna Re.mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retraktovat V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Zvednuti Z mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Délka retrakce");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Délka zavedení");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Výměna nástroje");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Zdvih Z");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Rychlost primár.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Rychlost retrak.");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Tryska standby");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Vyměnit filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Vyměnit filament *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Zavést filament");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Zavést filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Vysunout filament");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Vysunout filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Vysunout vše");
+
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Načíst médium");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Vyměnit médium");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Vysunout médium");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda Z mimo podl");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Faktor zkosení");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch self-test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("BLTouch reset");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("BLTouch zasunout");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("BLTouch vysunout");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW výsun BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("BLTouch 5V režim");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("BLTouch OD režim");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Uložit režim");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Nastavit 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Nastacit OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Vypsat nastavení");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("VAROVANÍ: Špatné nastavení může způsobit škody! Pokračovat?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Inic. TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Test Z Ofsetu");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Uložiy");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("vysunout TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Vysunout Z-sondu");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Zasunout Z-sondu");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Domů %s%s%s první");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Z ofset");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Celkem");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Endstop abort");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Chyba zahřívání");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("REDUND. TEPLOTA");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("TEPLOTNÍ ÚNIK");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("TEPL. ÚNIK PODL.");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("TEPL. ÚNIK KOMORA");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("VYSOKÁ TEPLOTA");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("NÍZKA TEPLOTA");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("TISK. ZASTAVENA");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Proveďte reset");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d");
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h");
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m");
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Zahřívání...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Chlazení...");
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Zahřívání podložky");
+ #else
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Zahřívání podl.");
+ #endif
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Chlazení podložky");
+ #else
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Chlazení podl.");
+ #endif
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Zahřívání komory...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Chlazení komory...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibrace");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibrovat X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibrovat Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibrovat Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibrovat Střed");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta nastavení");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Autokalibrace");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Nast.výšku delty");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Nast. Z-ofset");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Diag rameno");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Výška");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Poloměr");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("O tiskárně");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Info o tiskárně");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-bodové rovnání");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Lineárni rovnání");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Bilineární rovnání");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Mřížkové rovnání");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Statistika");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Info o desce");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistory");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrudéry");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Rychlost");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokol");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Sledování úniku: VYP");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Sledování úniku: ZAP");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Osvětlení");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Jas světla");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("NESPRÁVNÁ TISKÁRNA");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Počet tisků");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Dokončeno");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Celkový čas");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Nejdelší tisk");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Celkem vytlačeno");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Tisky");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Hotovo");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Čas");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Nejdelší");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Vytlačeno");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Teplota min");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Teplota max");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Nap. zdroj");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Buzení motorů");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Motor %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Motor %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Motor %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Motor %");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC uložit EEPROM");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC CHYBA SPOJENÍ");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("VÝMĚNA FILAMENTU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("TISK POZASTAVEN");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("ZAVEDENÍ FILAMENTU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("VYSUNUTÍ FILAMENTU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("MOŽNOSTI OBNOVENÍ:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Vytlačit víc");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Obnovit tisk");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Tryska: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Senzor filamentu");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Délka mm senz.fil.");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Parkování selhalo");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Kalibrace selhala");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("VYBERTE FILAMENT");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Aktual. MMU firmware!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU potř. pozornost.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Obnovit tisk");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Obnovování...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Zavést filament");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Zavést všechny");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Zavést do trysky");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Vysunout filament");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Vysun. filament ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Vytáhnout filament");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Zavádění fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Vytahování fil. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Vysouvání fil....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Všechny");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Resetovat MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Resetování MMU...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Vytáhněte, klikněte");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Komponenta =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mixér");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Přechod");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Celý přechod");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Přepnout mix");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Střídat mix");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Přechod mix");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Opačný přechod");
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Aktivní V-nástroj");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Spustit V-nástroj");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT("Ukončit V-nástroj");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias V-nástroje");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Resetovat V-nástroj");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Uložit V-nástroj mix");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-nástroj resetovat");
+ #else
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Aktivní V-nástr.");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Spustit V-nástr.");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT("Ukončit V-nástr.");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias V-nástr.");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Reset. V-nástr.");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Uložit V-nás. mix");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-nástr. reset.");
+ #endif
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Počáteční Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Koncové Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Hry");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Bludiště");
+
+ #if LCD_HEIGHT >= 4
+ // Up to 3 lines allowed
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Stikněte tlačítko", "pro obnovení tisku"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkování..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Čekejte prosím", "na zahájení", "výměny filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Vložte filament", "a stiskněte", "tlačítko..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Klikněte pro", "nahřátí trysky"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Čekejte prosím", "na nahřátí tr."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Čekejte prosím", "na vysunuti", "filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_3_LINE("Čekejte prosím", "na zavedení", "filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Vyčkejte na", "vytlačení"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_3_LINE("Klikněte pro", "ukončení", "vytlačování"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Čekejte prosím", "na pokračování", "tisku"));
+ #else // LCD_HEIGHT < 4
+ // Up to 2 lines allowed
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Stikněte tlač.", "pro obnovení"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkování..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Čekejte..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Vložte, klikněte"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Klikněte pro", "nahřátí"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Nahřívání..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Vysouvání..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Zavádění..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Vytlačování..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Klikněte pro", "ukončení"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Pokračování..."));
+ #endif // LCD_HEIGHT < 4
+
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("TMC budiče");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Proud budičů");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Hybridní práh");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Domů bez senzorů");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Režim kroků");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop povolen");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" za:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Vůle");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Korekce");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Vyhlazení");
+}
diff --git a/Marlin/src/lcd/language/language_da.h b/Marlin/src/lcd/language/language_da.h
new file mode 100644
index 0000000..9258812
--- /dev/null
+++ b/Marlin/src/lcd/language/language_da.h
@@ -0,0 +1,202 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Danish
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+
+namespace Language_da {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Danish");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" er klar");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Kort isat");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Kort fjernet");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menu");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Slå alle steppere fra");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Auto Home"); // G28
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Klik når du er klar");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Næste punkt");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Bed level er færdig!");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Sæt forsk. af home");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Forsk. er nu aktiv");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Sæt origin");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Forvarm ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Forvarm ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" end ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" Alle");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" Bed");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Forvarm ") PREHEAT_1_LABEL _UxGT(" conf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Forvarm $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Forvarm $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Forvarm $ end");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Forvarm $ end ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Forvarm $ Alle");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Forvarm $ Bed");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Forvarm $ conf");
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Afkøl");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Slå strøm til");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Slå strøm fra");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extruder");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Flyt akser");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Juster bed");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Juster bed");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Flyt X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Flyt Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Flyt Z");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Flyt %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Flyt 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Flyt 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Flyt 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Hastighed");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Plade Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Dyse");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Dyse ~");
+
+ PROGMEM Language_Str MSG_BED = _UxGT("Plade");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Blæser hastighed");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Blæser hastighed ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontrol");
+ PROGMEM Language_Str MSG_MIN = _UxGT(" \002 Min");
+ PROGMEM Language_Str MSG_MAX = _UxGT(" \002 Max");
+ PROGMEM Language_Str MSG_FACTOR = _UxGT(" \002 Fact");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Til");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Fra");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Vælg");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Vælg *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-retract");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-rejse");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatur");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Bevægelse");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E i mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD kontrast");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Gem i EEPROM");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Hent fra EEPROM");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Gendan Defaults");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Genopfrisk");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info skærm");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Forbered");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pause printet");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Forsæt printet");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Stop printet");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Print fra SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Intet SD kort");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Dvale...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Venter på bruger...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Print annulleret");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Ingen bevægelse.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("DRÆBT. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("STOPPET. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Tilbagetræk mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Skift Re.mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Tilbagetræk V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Skift Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Skift filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Skift filament *");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Skift SD kort");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Probe udenfor plade");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch Selv-Test");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Home %s%s%s først");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Opvarmning fejlet");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Fejl: reserve temp");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("Temp løber løbsk");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Fejl: Maks temp");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Fejl: Min temp");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("PRINTER STOPPET");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Reset Venligst");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // Kun et bogstav
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // Kun et bogstav
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // Kun et bogstav
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Opvarmer...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Opvarmer plade...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibrering");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibrer X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibrer Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibrer Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibrerings Center");
+
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Om Printer");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Kort Info");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Thermistors");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Ant. Prints");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Færdige");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total print tid");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Længste print");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Total Extruderet");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Prints");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Færdige");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Længste");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruderet");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Strømfors.");
+
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Driv Styrke");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driv %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driv %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driv %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driv %");
+
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC EEPROM Skriv");
+
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Forsæt print");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Forkert printer");
+
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Vent på start", "af filament", "skift"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Vent på", "filament udskyd."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Indsæt filament", "og tryk på knap", "for at fortsætte..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Vent på", "filament indtag"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Vent på at print", "fortsætter"));
+ #else // LCD_HEIGHT < 4
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Vent venligst..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Udskyder..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Indsæt og klik"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Indtager..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Fortsætter..."));
+ #endif // LCD_HEIGHT < 4
+}
diff --git a/Marlin/src/lcd/language/language_de.h b/Marlin/src/lcd/language/language_de.h
new file mode 100644
index 0000000..68791d9
--- /dev/null
+++ b/Marlin/src/lcd/language/language_de.h
@@ -0,0 +1,632 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * German
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+namespace Language_de {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Deutsch");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" bereit");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("JA");
+ PROGMEM Language_Str MSG_NO = _UxGT("NEIN");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Zurück");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Abbruch...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Medium erkannt");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Medium entfernt");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Warten auf Medium");
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("SD Init fehlgesch.");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Medium Lesefehler");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB Gerät entfernt");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB Start fehlge.");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Subcall überschritten");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstopp"); // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Software-Endstopp");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Hauptmenü");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Erw. Einstellungen");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Konfiguration");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autostart");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Motoren deaktivieren"); // M84 :: Max length 19 characters
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Debug-Menü");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Statusbalken-Test");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Auto Home");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Home X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Home Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Z-Achsen ausgleichen");
+ PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Bett ausrichten"); // Bettausrichtung
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("XYZ homen");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Klick zum Starten");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Nächste Koordinate");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Nivellieren fertig!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Ausblendhöhe");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Setze Homeversatz");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Homeversatz aktiv");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Setze Nullpunkte"); //"G92 X0 Y0 Z0" commented out in marlinui.cpp
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = PREHEAT_1_LABEL _UxGT(" Vorwärmen");
+ PROGMEM Language_Str MSG_PREHEAT_1_H = PREHEAT_1_LABEL _UxGT(" Vorwärmen ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_END = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärmen");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = PREHEAT_1_LABEL _UxGT(" Extr. Vorwärm. ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = PREHEAT_1_LABEL _UxGT(" Alles Vorwärmen");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = PREHEAT_1_LABEL _UxGT(" Bett Vorwärmen");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = PREHEAT_1_LABEL _UxGT(" Einstellungen");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("$ Vorwärmen");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("$ Vorwärmen") " ~";
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("$ Extr. Vorwärmen");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("$ Extr. Vorwärm. ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("$ Alles Vorwärmen");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("$ Bett Vorwärmen");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("$ Einstellungen");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("benutzerdef. Heizen");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Abkühlen");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frequenz");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Laser");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Laserleistung");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Spindel-Steuerung");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Spindelleistung");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Spindelrichtung");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Netzteil ein");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Netzteil aus");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrudieren");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Einzug");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Achsen bewegen");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Bett-Nivellierung");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Bett nivellieren");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Ecken nivellieren");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Nächste Ecke");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Netz Editor");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Netz bearbeiten");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Netzbearb. angeh.");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Messpunkt");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Index X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Index Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Z-Wert");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Benutzer-Menü");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Sondentest");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Punkt");
+ PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Zu weit draußen");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Abweichung");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX-Modus");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Werkzeugversätze");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Autom. parken");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplizieren");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Spiegelkopie");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("vollstä. Kontrolle");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2. Düse X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2. Düse Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2. Düse Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("G29 ausführen");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL-Werkzeuge");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Berührungspunkt");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Netz manuell erst.");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Unterlegen & messen");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Messen");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Entfernen & messen");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Nächster Punkt...");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("UBL aktivieren");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("UBL deaktivieren");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Betttemperatur");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Betttemperatur");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Hotend-Temp.");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Hotend-Temp.");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Netz bearbeiten");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Eigenes Netz bearb.");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Feineinstellung...");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Bearbeitung beendet");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Eigenes Netz erst.");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Netz erstellen");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("$ Netz erstellen");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("$ Netz validieren");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Netz erstellen kalt");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Netzhöhe einst.");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Höhe");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Netz validieren");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Eig. Netz validieren");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 heizt Bett");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Düse aufheizen");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Manuell Prime...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Feste Länge Prime");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Priming fertig");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 abgebrochen");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("G26 verlassen");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Netzerst. forts.");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Netz-Nivellierung");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-Punkt-Nivell.");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Gitternetz-Nivell.");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Netz nivellieren");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Eckpunkte");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Kartentyp");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Karte ausgeben");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Ausgabe für Host");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Ausgabe für CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Externe Sicherung");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("UBL-Info ausgeben");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Menge an Füllung");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Manuelles Füllen");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Cleveres Füllen");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Netz Füllen");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Alles annullieren");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Nächstlieg. ann.");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Feineinst. Alles");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Feineinst. Nächstl.");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Netz-Speicherplatz");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Speicherort");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Bettnetz laden");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Bettnetz speichern");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Netz %i geladen");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Netz %i gespeichert");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Kein Speicher");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Err:UBL speichern");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Err:UBL wiederherst.");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Versatz: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z-Versatz angehalten");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Schrittweises UBL");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Netz erstellen kalt");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Cleveres Füllen");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Netz validieren");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Feineinst. Alles");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Netz validieren");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Feineinst. Alles");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Bettnetz speichern");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Licht-Steuerung");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Licht");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Licht-Einstellung");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Rot");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Orange");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Gelb");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Grün");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Blau");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Violett");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Weiß");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Standard");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Benutzerdefiniert");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Intensität Rot");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Intensität Grün");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Intensität Blau");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Intensität Weiß");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Helligkeit");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("In Bewegung...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Abstand XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Bewege X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Bewege Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Bewege Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Bewege Extruder");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Bewege Extruder *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend zu kalt");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT(" %s mm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT(" 0,1 mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT(" 1,0 mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("10,0 mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Geschw.");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Bett Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Düse");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Düse ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Düse geparkt");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Düse bereit");
+ PROGMEM Language_Str MSG_BED = _UxGT("Bett");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Gehäuse");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Lüfter");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Lüfter ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Gespeich. Lüfter ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Geschw. Extralüfter");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Geschw. Extralüfter ~");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Lüfter Kontroller");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Lüfter Leerlauf");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Motorlast Modus");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Lüfter Motorlast");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Ausschalt Delay");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flussrate");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flussrate ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Einstellungen");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Faktor");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Auto Temperatur");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("an");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("aus");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autotune");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autotune *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("PID Tuning fertig");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Autotune fehlge. Falscher Extruder");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Autotune fehlge. Temperatur zu hoch.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Autotune fehlge.! Timeout.");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Auswählen");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Auswählen *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Beschleunigung");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V ") LCD_STR_A _UxGT(" Jerk");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V ") LCD_STR_B _UxGT(" Jerk");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V ") LCD_STR_C _UxGT(" Jerk");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("V E Jerk");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Junction Dev");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Geschwindigkeit");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("V max ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("V max ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("V max ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("V max ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("V max *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("V min ");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("V min Leerfahrt");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Beschleunigung");
+ PROGMEM Language_Str MSG_AMAX = _UxGT("A max "); // space intentional
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("A max ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("A max ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("A max ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("A max ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("A max *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A Einzug");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A Leerfahrt");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("max. Frequenz");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("min. Vorschub");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Steps/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" Steps/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" Steps/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" Steps/mm");
+ PROGMEM Language_Str MSG_E_STEPS = LCD_STR_E _UxGT(" Steps/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* Steps/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatur");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Bewegung");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E Limit in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E Limit *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Filamentdurchmesser");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Filamentdurchmesser *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Entladen mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Laden mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Vorschubfaktor");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Vorschubfaktor *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD-Kontrast");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Konfig. speichern");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Konfig. laden");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Standardwerte laden");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Werkseinstellungen");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("EEPROM CRC Fehler");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("EEPROM Index Fehler");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("EEPROM Version Fehler");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Einstell. gespei.");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("FW Update vom Medium");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Drucker neustarten");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Aktualisieren");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Vorbereitung");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Justierung");
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Power Monitor");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("Strom");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Spannung");
+ PROGMEM Language_Str MSG_POWER = _UxGT("Power");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Starte Druck");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Weiter");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Bestätigen");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Stop");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Drucken");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Reseten");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Ignorieren");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Abbrechen");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Fertig");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Zurück");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Weiter");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Pause...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("SD-Druck pausieren");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("SD-Druck fortsetzen");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("SD-Druck abbrechen");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Objekt drucken");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Objekt abbrechen");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Objekt abbrechen =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Wiederh. n. Stroma.");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Druck vom Medium");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Kein Medium");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Warten...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Klick zum Fortsetzen");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Druck pausiert...");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Druckt...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Druck abgebrochen");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Druck fertig");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Motoren angeschaltet");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("ABGEBROCHEN");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ANGEHALTEN");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Einzug mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Wechs. Einzug mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("V Einzug");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Z-Sprung mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Wechs. Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Autom. Einzug");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Einzugslänge");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Extra Einzug");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Entladelänge");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Werkzeugwechsel");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Z anheben");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Prime-Geschwin.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Einzug-Geschwin.");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Kopf parken");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Rückzugsgeschwindigkeit");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Lüfter Geschwindigkeit");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Lüfter Zeit");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto AN");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto AUS");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Werkzeugmigration");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Auto-Migration");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Letzter Extruder");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Migrieren zu *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Filament wechseln");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Filament wechseln *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Filament laden");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Filament laden *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Filament entladen");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Filament entladen *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Alles entladen");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Medium initial."); // Manually initialize the SD-card via user interface
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Medium getauscht"); // SD-card changed by user. For machines with no autocarddetect. Both send "M21"
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Medium freigeben"); // if Marlin gets confused - M22
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z-Sonde außerhalb");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Korrekturfaktor");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Selbsttest");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Zurücksetzen");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Einfahren");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Ausfahren");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW-Modus");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("5V-Modus");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("OD-Modus");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Mode-Store");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Setze auf 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Setze auf OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Modus: ");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("ACHTUNG: Falsche Einstellung - kann zu Beschädigung führen! Fortfahren?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("TouchMI initial.");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Test Z-Versatz");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Speichern");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("TouchMI ausfahren");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Z-Sonde ausfahren");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Z-Sonde einfahren");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Vorher %s%s%s homen");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Sondenversatz");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Sondenversatz X");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Sondenversatz Y");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Sondenversatz Z");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Abbr. mit Endstopp");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("HEIZEN ERFOLGLOS");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("REDUND. TEMP-ABWEI.");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = " " LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("BETT") " " LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("GEH.") " " LCD_STR_THERMOMETER _UxGT(" NICHT ERREICHT");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = " " LCD_STR_THERMOMETER _UxGT(" ÜBERSCHRITTEN");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = " " LCD_STR_THERMOMETER _UxGT(" UNTERSCHRITTEN");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("DRUCKER GESTOPPT");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Bitte neustarten");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("t"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("heizt...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("kühlt...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Bett heizt...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Bett kühlt...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Gehäuse heizt...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Gehäuse kühlt...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta kalibrieren");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibriere X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibriere Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibriere Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibriere Mitte");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta Einst. anzeig.");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Autom. Kalibrierung");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Delta Höhe setzen");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Sondenversatz Z");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Diag Rod");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Höhe");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Radius");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Über den Drucker");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Drucker-Info");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-Punkt-Nivellierung");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Lineare Nivellierung");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Bilineare Nivell.");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Netz-Nivellierung");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Drucker-Statistik");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Board-Info");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Thermistoren");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extruder");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baudrate");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokoll");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Runaway Watch: AUS");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Runaway Watch: AN");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Hotend Idle Timeout");
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Beleuchtung");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Helligkeit");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Falscher Drucker");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Gesamte Drucke");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Komplette Drucke");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Gesamte Druckzeit");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Längste Druckzeit");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Gesamt Extrudiert");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Drucke");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Komplette");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Gesamte");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Längste");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extrud.");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Min Temp");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Max Temp");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Netzteil");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Motorleistung");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Treiber %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Treiber %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Treiber %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Treiber %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC Verbindungsfehler");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Werte speichern");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("FILAMENT WECHSEL");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("DRUCK PAUSIERT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("FILAMENT LADEN");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("FILAMENT ENTLADEN");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("FORTS. OPTIONEN:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Mehr entladen");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Druck weiter");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Düse: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Runout-Sensor");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Runout-Weg mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Homing gescheitert");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Probing gescheitert");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("FILAMENT WÄHLEN");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Update MMU Firmware!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU handeln erfor.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Druck fortsetzen");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Fortfahren...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Filament laden");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Lade alle");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Düse laden");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Filament auswerfen");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Filament ~ auswerfen");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Filament entladen ");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Lade Fila. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Fila. auswerfen...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Fila. entladen...");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Alle");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("setze MMU zurück");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU zurücksetzen...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Entfernen, klicken");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Komponente =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mixer");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient"); // equal Farbverlauf
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Volle Gradient");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Mix umschalten");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Zyklus Mix");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Gradient Mix");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Umgekehrte Gradient");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Aktives V-Tool");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("V-Tool Start");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT("V-Tool Ende");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("V-Tool Alias");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("V-Tools Reseten");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("V-Tool Mix sichern");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-Tools ist resetet");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Z Start:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT("Z Ende:");
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Spiele");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Maze");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("ungült. Seitenzahl");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("ungült. Seitengeschw.");
+
+ PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Passwort bearbeiten");
+ PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Login erforderlich");
+ PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Passwort Einstellungen");
+ PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("PIN eingeben");
+ PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Passwort ändern");
+ PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Passwort löschen");
+ PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("Passwort ist ");
+ PROGMEM Language_Str MSG_START_OVER = _UxGT("von vorn beginnen");
+ PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Bald speichern!");
+ PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Passwort gelöscht");
+
+ //
+ // Die Filament-Change-Bildschirme können bis zu 3 Zeilen auf einem 4-Zeilen-Display anzeigen
+ // ...oder 2 Zeilen auf einem 3-Zeilen-Display.
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Knopf drücken um", "Druck fortzusetzen"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_2_LINE("Druck ist", "pausiert..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Warte auf den", "Start des", "Filamentwechsels..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Filament einlegen", "und Knopf drücken", "um fortzusetzen"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Knopf drücken um", "Düse aufzuheizen"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Düse heizt auf", "bitte warten..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Warte auf", "Entnahme", "des Filaments..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_3_LINE("Warte auf", "Laden des", "Filaments..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_3_LINE("Warte auf", "Spülung", "der Düse..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_3_LINE("Klicke um", "die Düsenspülung", "zu beenden"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Warte auf", "Fortsetzen des", "Drucks..."));
+ #else // LCD_HEIGHT < 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Klick zum Fortsetzen"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Pausiert..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Bitte warten..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Laden und Klick"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Klick zum Heizen"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Heizen..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Entnehmen..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Laden..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Spülen..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Klick zum beenden", "der Düsenspülung"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Fortsetzen..."));
+ #endif // LCD_HEIGHT < 4
+
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("TMC Treiber"); // Max length 18 characters
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Treiber Strom");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Hybrid threshold");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Sensorloses Homing");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Schrittmodus");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop einsch.");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" im:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Spiel");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Korrektur");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Glätten");
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("X Achse leveln");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto. Kalibiren");
+ #if ENABLED(TOUCH_UI_FTDI_EVE)
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Idle Timeout, Temperatur fällt. Drücke Okay, um erneut aufzuheizen und fortzufahren.");
+ #else
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Heizungs Timeout");
+ #endif
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Erneut aufheizen");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Erneut aufhei. ...");
+}
diff --git a/Marlin/src/lcd/language/language_el.h b/Marlin/src/lcd/language/language_el.h
new file mode 100644
index 0000000..ebe27fe
--- /dev/null
+++ b/Marlin/src/lcd/language/language_el.h
@@ -0,0 +1,192 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Greek
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_GREEK
+
+namespace Language_el {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Greek");
+
+ 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_MAIN = _UxGT("Βασική Οθόνη");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Αυτόματη εκκίνηση");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Απενεργοποίηση Μοτέρ");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Αυτομ. επαναφορά στο αρχικό σημείο"); //SHORTEN
+ 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("Επαναφορά Επ. Εκτύπωσης"); //SHORTEN
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Επιπεδοποίηση επ. Εκτύπωσης περιμενει"); //SHORTEN
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Επόμενο σημείο");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Ολοκλήρωση επιπεδοποίησης!"); //SHORTEN
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Ορισμός βασικών μετατοπίσεων"); //SHORTEN
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Εφαρμόστηκαν οι μετατοπίσεις"); //SHORTEN
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Ορισμός προέλευσης");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" όλα");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" bed"); //SHORTEN
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" επιβεβαίωση"); //SHORTEN
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Προθέρμανση $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Προθέρμανση $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Προθέρμανση $ End");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Προθέρμανση $ End ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Προθέρμανση $ όλα");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Προθέρμανση $ bed"); //SHORTEN
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Προθέρμανση $ επιβεβαίωση"); //SHORTEN
+ #endif
+ 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("Επιπεδοποίηση Επ. Εκτύπωσης"); //SHORTEN
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Επιπεδοποίηση Επ. Εκτύπωσης"); //SHORTEN
+ 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_EN = _UxGT("Εξωθητήρας *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Μετακίνηση %s μμ");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Μετακίνηση 0,1 μμ");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Μετακίνηση 1 μμ");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Μετακίνηση 10 μμ");
+ 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_N = _UxGT("Ακροφύσιο ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Κλίνη");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Ταχύτητα ανεμιστήρα");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Ταχύτητα ανεμιστήρα ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Ροή");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Ροή ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Έλεγχος");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Αυτομ ρύθμιση θερ/σίας"); //SHORTEN
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Ενεργοποιημένο");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Απενεργοποιημένο");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Επιτάχυνση");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("Vαντίδραση ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("Vαντίδραση ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("Vαντίδραση ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Vαντίδραση E");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("V Μέγιστο") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("V Μέγιστο") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("V Μέγιστο") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("V Μέγιστο") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("V Μέγιστο *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("V Ελάχιστο");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vελάχ. μετατόπιση");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accel");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Aμεγ ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Aμεγ ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Aμεγ ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Aμεγ ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Aμεγ *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Α-ανάσυρση");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Α-μετατόπιση");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Bήματα ανά μμ");
+ PROGMEM Language_Str MSG_A_STEPS = _UxGT("Bήματα ") LCD_STR_A _UxGT(" ανά μμ");
+ PROGMEM Language_Str MSG_B_STEPS = _UxGT("Bήματα ") LCD_STR_B _UxGT(" ανά μμ");
+ PROGMEM Language_Str MSG_C_STEPS = _UxGT("Bήματα ") LCD_STR_C _UxGT(" ανά μμ");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("Bήματα Ε ανά μμ");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("Bήματα * ανά μμ");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Θερμοκρασία");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Κίνηση");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Νήμα");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("Ε σε μμ") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Διάμετρος νήματος");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Διάμετρος νήματος *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Κοντράστ LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Αποθήκευση");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Φόρτωση");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Επαναφορά ασφαλούς αντιγράφου"); //SHORTEN
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Ανανέωση");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _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("Διακόπτεται η εκτύπωση"); //SHORTEN
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Καμία κίνηση.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("ΤΕΡΜΑΤΙΣΜΟΣ. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ΔΙΑΚΟΠΗ. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Ανάσυρση μμ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Εναλλαγή ανάσυρσης μμ"); //SHORTEN
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Ανάσυρση V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Μεταπήδηση μμ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Αυτόματη ανάσυρση");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Αλλαγή νήματος");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Αλλαγή νήματος *");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Προετοιμασία κάρτας SD"); //SHORTEN
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Αλλαγή κάρτας SD");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Διερεύνηση Z εκτός Επ.Εκτύπωσης"); //SHORTEN
+ PROGMEM Language_Str MSG_YX_UNHOMED = _UxGT("Επαναφορά Χ/Υ πριν από Ζ"); //SHORTEN
+ PROGMEM Language_Str MSG_XYZ_UNHOMED = _UxGT("Επαναφορά ΧΥΖ πρώτα");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Μετατόπιση Ζ");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Μικρό βήμα Χ");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Μικρό βήμα Υ");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Μικρό βήμα Ζ");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Ακύρωση endstop ");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Ανεπιτυχής θέρμανση");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("ΠΛΕΟΝΑΖΟΥΣΑ ΘΕΡΜΟΤΗΤΑ");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ΔΙΑΦΥΓΗ ΘΕΡΜΟΚΡΑΣΙΑΣ");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("ΠΕΡΙΤΗ ΘΕΡΜΟΚΡΑΣΙΑ");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("ΜΗ ΕΠΑΡΚΗΣ ΘΕΡΜΟΚΡΑΣΙΑΣ"); //SHORTEN
+ PROGMEM Language_Str MSG_HALTED = _UxGT("H εκτύπωση διακόπηκε");
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Θερμαίνεται…");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Θέρμανση ΕΠ. Εκτύπωσης"); //SHORTEN
+ 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("Βαθμονόμηση κέντρου");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Εσφαλμένος εκτυπωτής");
+}
diff --git a/Marlin/src/lcd/language/language_el_gr.h b/Marlin/src/lcd/language/language_el_gr.h
new file mode 100644
index 0000000..e6909ad
--- /dev/null
+++ b/Marlin/src/lcd/language/language_el_gr.h
@@ -0,0 +1,193 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Greek (Greece)
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_GREEK
+
+namespace Language_el_gr {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Greek (Greece)");
+
+ 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("Endstops"); // Max length 8 characters
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Βασική Οθόνη");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _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("Επαναφορά στο αρχικό σημείο ΧΥΖ");
+ 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("Ορισμός προέλευσης");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" End ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" όλα");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" κλίνη");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Προθέρμανση ") PREHEAT_1_LABEL _UxGT(" επιβεβαίωση");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Προθέρμανση $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Προθέρμανση $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Προθέρμανση $ End");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Προθέρμανση $ End ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Προθέρμανση $ όλα");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Προθέρμανση $ κλίνη");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Προθέρμανση $ επιβεβαίωση");
+ #endif
+ 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_EN = _UxGT("Εξωθητήρας *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Μετακίνηση %s μμ");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Μετακίνηση 0,1 μμ");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Μετακίνηση 1 μμ");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Μετακίνηση 10 μμ");
+ 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_N = _UxGT("Ακροφύσιο ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Κλίνη");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Ταχύτητα ανεμιστήρα");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Ταχύτητα ανεμιστήρα ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Ροή");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Ροή ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Έλεγχος");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Αυτομ. ρύθμιση θερμοκρασίας");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Ενεργοποιημένο");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Απενεργοποιημένο");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Επιτάχυνση");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Vαντίδραση");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("Vαντίδραση ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("Vαντίδραση ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("Vαντίδραση ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Vαντίδραση E");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vμεγ ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vμεγ ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vμεγ ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vμεγ ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vμεγ *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vελαχ");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vελάχ. μετατόπιση");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accel");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Aμεγ ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Aμεγ ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Aμεγ ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Aμεγ ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Aμεγ *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Α-ανάσυρση");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Α-μετατόπιση");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Bήματα ανά μμ");
+ PROGMEM Language_Str MSG_A_STEPS = _UxGT("Bήματα ") LCD_STR_A _UxGT(" ανά μμ");
+ PROGMEM Language_Str MSG_B_STEPS = _UxGT("Bήματα ") LCD_STR_B _UxGT(" ανά μμ");
+ PROGMEM Language_Str MSG_C_STEPS = _UxGT("Bήματα ") LCD_STR_C _UxGT(" ανά μμ");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("Bήματα Ε ανά μμ");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("Bήματα * ανά μμ");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Θερμοκρασία");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Κίνηση");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Νήμα");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("Ε σε μμ") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Διάμετρος νήματος");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Διάμετρος νήματος *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Κοντράστ LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Αποθήκευση");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Φόρτωση");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Επαναφορά ασφαλούς αντιγράφου");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Ανανέωση");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _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_CONTROL_RETRACT = _UxGT("Ανάσυρση μμ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Εναλλαγή ανάσυρσης μμ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Ανάσυρση V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Μεταπήδηση μμ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Αυτόματη ανάσυρση");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Αλλαγή νήματος");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Αλλαγή νήματος *");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Προετοιμασία κάρτας SD");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Αλλαγή κάρτας SD");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Διερεύνηση Z εκτός κλίνης");
+ PROGMEM Language_Str MSG_YX_UNHOMED = _UxGT("Επαναφορά Χ/Υ πριν από Ζ");
+ PROGMEM Language_Str MSG_XYZ_UNHOMED = _UxGT("Επαναφορά ΧΥΖ πρώτα");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Μετατόπιση Ζ");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Μικρό βήμα Χ");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Μικρό βήμα Υ");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Μικρό βήμα Ζ");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Ματαίωση endstop ");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Ανεπιτυχής θέρμανση");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Λάθος: ΠΛΕΟΝΑΖΟΥΣΑ ΘΕΡΜΟΤΗΤΑ");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ΔΙΑΦΥΓΗ ΘΕΡΜΟΤΗΤΑΣ");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Λάθος: ΜΕΓΙΣΤΗ ΘΕΡΜΟΤΗΤΑ");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Λάθος: ΕΛΑΧΙΣΤΗ ΘΕΡΜΟΤΗΤΑ");
+ 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("Βαθμονόμηση κέντρου");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Εσφαλμένος εκτυπωτής");
+}
diff --git a/Marlin/src/lcd/language/language_en.h b/Marlin/src/lcd/language/language_en.h
new file mode 100644
index 0000000..b17e81d
--- /dev/null
+++ b/Marlin/src/lcd/language/language_en.h
@@ -0,0 +1,704 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * English
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ *
+ * Substitutions are applied for the following characters when used
+ * in menu items that call lcd_put_u8str_ind_P with an index:
+ *
+ * = displays '0'....'10' for indexes 0 - 10
+ * ~ displays '1'....'11' for indexes 0 - 10
+ * * displays 'E1'...'E11' for indexes 0 - 10 (By default. Uses LCD_FIRST_TOOL)
+ */
+
+#define en 1234
+#if LCD_LANGUAGE == en
+ #define NOT_EXTENDED_ISO10646_1_5X7
+#endif
+#undef en
+
+namespace Language_en {
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("English");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" Ready.");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("YES");
+ PROGMEM Language_Str MSG_NO = _UxGT("NO");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Back");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Aborting...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Media Inserted");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Media Removed");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Waiting for media");
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("SD Init Fail");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Media read error");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB device removed");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB start failed");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Subcall Overflow");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstops"); // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Soft Endstops");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Main");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Advanced Settings");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Configuration");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Run Auto Files");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Disable Steppers");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Debug Menu");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Progress Bar Test");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Auto Home");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Home X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Home Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto Z-Align");
+ PROGMEM Language_Str MSG_ITERATION = _UxGT("G34 Iteration: %i");
+ PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Accuracy Decreasing!");
+ PROGMEM Language_Str MSG_ACCURACY_ACHIEVED = _UxGT("Accuracy Achieved");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Homing XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Click to Begin");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Next Point");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Leveling Done!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Fade Height");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Set Home Offsets");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets Applied");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Set Origin");
+ PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Assisted Tramming");
+ PROGMEM Language_Str MSG_TRAMMING_WIZARD = _UxGT("Tramming Wizard");
+ PROGMEM Language_Str MSG_SELECT_ORIGIN = _UxGT("Select Origin");
+ PROGMEM Language_Str MSG_LAST_VALUE_SP = _UxGT("Last value ");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Preheat ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Preheat ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" End ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" All");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Bed");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preheat ") PREHEAT_1_LABEL _UxGT(" Conf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Preheat $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Preheat $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Preheat $ End");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Preheat $ End ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Preheat $ All");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Preheat $ Bed");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Preheat $ Conf");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Preheat Custom");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Cooldown");
+
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frequency");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Laser Control");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Spindle Control");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Laser Power");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Spindle Pwr");
+ PROGMEM Language_Str MSG_LASER_TOGGLE = _UxGT("Toggle Laser");
+ PROGMEM Language_Str MSG_LASER_PULSE_MS = _UxGT("Test Pulse ms");
+ PROGMEM Language_Str MSG_LASER_FIRE_PULSE = _UxGT("Fire Pulse");
+ PROGMEM Language_Str MSG_SPINDLE_TOGGLE = _UxGT("Toggle Spindle");
+ PROGMEM Language_Str MSG_SPINDLE_FORWARD = _UxGT("Spindle Forward");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Spindle Reverse");
+
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Switch Power On");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Switch Power Off");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrude");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retract");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Move Axis");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Bed Leveling");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Level Bed");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Level Corners");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_RAISE = _UxGT("Raise Bed Until Probe Triggered");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_IN_RANGE = _UxGT("All Corners Within Tolerance. Level Bed");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_GOOD_POINTS = _UxGT("Good Points: ");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_LAST_Z = _UxGT("Last Z: ");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Next Corner");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Mesh Editor");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Edit Mesh");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Mesh Editing Stopped");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Probing Point");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Index X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Index Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Z Value");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Custom Commands");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Probe Test");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Point");
+ PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Probe out of bounds");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Deviation");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX Mode");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Tool Offsets");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Park");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplication");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Mirrored Copy");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Full Control");
+ PROGMEM Language_Str MSG_IDEX_DUPE_GAP = _UxGT("Duplicate X-Gap");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2nd Nozzle X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2nd Nozzle Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2nd Nozzle Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Doing G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL Tools");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Tilting Point");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Manually Build Mesh");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Place Shim & Measure");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Measure");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Remove & Measure Bed");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Moving to next");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Activate UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Deactivate UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Bed Temp");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Bed Temp");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Hotend Temp");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Hotend Temp");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Mesh Edit");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Edit Custom Mesh");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Fine Tuning Mesh");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Done Editing Mesh");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Build Custom Mesh");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Build Mesh");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Build Mesh ($)");
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Build Cold Mesh");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Adjust Mesh Height");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Height Amount");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Validate Mesh");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Validate Mesh ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Validate Custom Mesh");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Heating Bed");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Heating Nozzle");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Manual priming...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Fixed Length Prime");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Done Priming");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Canceled");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Leaving G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Continue Bed Mesh");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Mesh Leveling");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-Point Leveling");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Grid Mesh Leveling");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Level Mesh");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Side Points");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Map Type");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Output Mesh Map");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Output for Host");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Output for CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Off Printer Backup");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Output UBL Info");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Fill-in Amount");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Manual Fill-in");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Smart Fill-in");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Fill-in Mesh");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Invalidate All");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Invalidate Closest");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Fine Tune All");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Fine Tune Closest");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Mesh Storage");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Memory Slot");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Load Bed Mesh");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Save Bed Mesh");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Mesh %i Loaded");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Mesh %i Saved");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("No Storage");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Err: UBL Save");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Err: UBL Restore");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Offset: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z-Offset Stopped");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Step-By-Step UBL");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. Build Cold Mesh");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. Smart Fill-in");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. Validate Mesh");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. Fine Tune All");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. Validate Mesh");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. Fine Tune All");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. Save Bed Mesh");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("LED Control");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Lights");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Light Presets");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Red");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Orange");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Yellow");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Green");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Blue");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Violet");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("White");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Default");
+ PROGMEM Language_Str MSG_LED_CHANNEL_N = _UxGT("Channel =");
+ PROGMEM Language_Str MSG_LEDS2 = _UxGT("Lights #2");
+ PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Light #2 Presets");
+ PROGMEM Language_Str MSG_NEO2_BRIGHTNESS = _UxGT("Brightness");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Custom Lights");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Red Intensity");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Green Intensity");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Blue Intensity");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("White Intensity");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Brightness");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Moving...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Free XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Move X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Move Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Move Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend too cold");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Move %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Move 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Move 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Move 10mm");
+ PROGMEM Language_Str MSG_MOVE_0001IN = _UxGT("Move 0.001in");
+ PROGMEM Language_Str MSG_MOVE_001IN = _UxGT("Move 0.01in");
+ PROGMEM Language_Str MSG_MOVE_01IN = _UxGT("Move 0.1in");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Speed");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozzle");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Nozzle Parked");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Nozzle Standby");
+ PROGMEM Language_Str MSG_BED = _UxGT("Bed");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Enclosure");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Fan Speed");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Fan Speed ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Stored Fan ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra Fan Speed");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra Fan Speed ~");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Controller Fan");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Idle Speed");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Auto Mode");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Active Speed");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Idle Period");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flow");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flow ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("On");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Off");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autotune");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autotune *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("PID tuning done");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Autotune failed. Bad extruder.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Autotune failed. Temperature too high.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Autotune failed! Timeout.");
+ PROGMEM Language_Str MSG_PID_P = _UxGT("PID-P");
+ PROGMEM Language_Str MSG_PID_P_E = _UxGT("PID-P *");
+ PROGMEM Language_Str MSG_PID_I = _UxGT("PID-I");
+ PROGMEM Language_Str MSG_PID_I_E = _UxGT("PID-I *");
+ PROGMEM Language_Str MSG_PID_D = _UxGT("PID-D");
+ PROGMEM Language_Str MSG_PID_D_E = _UxGT("PID-D *");
+ PROGMEM Language_Str MSG_PID_C = _UxGT("PID-C");
+ PROGMEM Language_Str MSG_PID_C_E = _UxGT("PID-C *");
+ PROGMEM Language_Str MSG_PID_F = _UxGT("PID-F");
+ PROGMEM Language_Str MSG_PID_F_E = _UxGT("PID-F *");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Select");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Select *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Accel");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-Jerk");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Junction Dev");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocity");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VTrav Min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Acceleration");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-Retract");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-Travel");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Frequency max");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Feed min");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Steps/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" Steps/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" Steps/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" Steps/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E steps/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* Steps/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperature");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Motion");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E Limit in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E Limit *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Unload mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Load mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD Contrast");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Store Settings");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Load Settings");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Restore Defaults");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Initialize EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("EEPROM CRC Error");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("EEPROM Index Error");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("EEPROM Version Error");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Settings Stored");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Media Update");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Reset Printer");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Refresh");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info Screen");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Prepare");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Tune");
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Power monitor");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("Current");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Voltage");
+ PROGMEM Language_Str MSG_POWER = _UxGT("Power");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Start Print");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Next");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Init");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Stop");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Print");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Ignore");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Cancel");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Done");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Back");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Proceed");
+ PROGMEM Language_Str MSG_BUTTON_SKIP = _UxGT("Skip");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Pausing...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pause Print");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Resume Print");
+ PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Host Start");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Stop Print");
+ PROGMEM Language_Str MSG_END_LOOPS = _UxGT("End Repeat Loops");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Printing Object");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancel Object");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Cancel Object =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Power Outage");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Print from Media");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("No Media");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Sleep...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Click to Resume...");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Print Paused");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Printing...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Print Aborted");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Print Done");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("No Move.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("KILLED. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("STOPPED. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retract mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Re.mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retract V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Swap Length");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Swap Extra");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Purge Length");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Tool Change");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Z Raise");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Prime Speed");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Retract Speed");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Park Head");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Recover Speed");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Fan Speed");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Fan Time");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto ON");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto OFF");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Tool Migration");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Auto-migration");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Last Extruder");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Migrate to *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Change Filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Change Filament *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Load Filament");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Load *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Unload Filament");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Unload *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Unload All");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Attach Media");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Change Media");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Release Media");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z Probe Past Bed");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Skew Factor");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Self-Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Stow");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Deploy");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("5V-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("OD-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Mode-Store");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Set BLTouch to 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Set BLTouch to OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Report Drain");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("DANGER: Bad settings can cause damage! Proceed anyway?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Init TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Z Offset Test");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Save");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Deploy TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Deploy Z-Probe");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Stow Z-Probe");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Home %s%s%s First");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Probe Offsets");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Probe X Offset");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Probe Y Offset");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Probe Z Offset");
+ PROGMEM Language_Str MSG_MOVE_NOZZLE_TO_BED = _UxGT("Move Nozzle to Bed");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Endstop Abort");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Heating Failed");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Err: REDUNDANT TEMP");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("THERMAL RUNAWAY");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("BED THERMAL RUNAWAY");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("CHAMBER T. RUNAWAY");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: MAXTEMP");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: MINTEMP");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("PRINTER HALTED");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Please Reset");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Heating...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Cooling...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Bed Heating...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Bed Cooling...");
+ PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Probe Heating...");
+ PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Probe Cooling...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Chamber Heating...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Chamber Cooling...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Calibration");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibrate X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibrate Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibrate Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibrate Center");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta Settings");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto Calibration");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Set Delta Height");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Probe Z-offset");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Diag Rod");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Height");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Radius");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("About Printer");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Printer Info");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-Point Leveling");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Linear Leveling");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Bilinear Leveling");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Mesh Leveling");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Printer Stats");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Board Info");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Thermistors");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extruders");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baud");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocol");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Runaway Watch: OFF");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Runaway Watch: ON");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Hotend Idle Timeout");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Case Light");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Light Brightness");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("INCORRECT PRINTER");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Print Count");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completed");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total Print Time");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Longest Job Time");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruded Total");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Prints");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completed");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Longest");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruded");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Min Temp");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Max Temp");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("PSU");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Drive Strength");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC CONNECTION ERROR");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC EEPROM Write");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("FILAMENT CHANGE");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("PRINT PAUSED");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("LOAD FILAMENT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("UNLOAD FILAMENT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("RESUME OPTIONS:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Purge more");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Continue");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Nozzle: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Runout Sensor");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Runout Dist mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Homing Failed");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Probing Failed");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("CHOOSE FILAMENT");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Update MMU Firmware!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU Needs Attention.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("MMU Resume");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("MMU Resuming...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("MMU Load");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("MMU Load All");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("MMU Load to Nozzle");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("MMU Eject");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("MMU Eject ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("MMU Unload");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Loading Fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Ejecting Fil. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Unloading Fil....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("All");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Reset MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU Resetting...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Remove, click");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Component =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mixer");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Full Gradient");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Toggle Mix");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Cycle Mix");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Gradient Mix");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Reverse Gradient");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Active V-tool");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Start V-tool");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" End V-tool");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias V-tool");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Reset V-tools");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Commit V-tool Mix");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-tools Were Reset");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Start Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" End Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Games");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Maze");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Bad page index");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Bad page speed");
+
+ PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Edit Password");
+ PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Login Required");
+ PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Password Settings");
+ PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Enter Digit");
+ PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Set/Edit Password");
+ PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Remove Password");
+ PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("Password is ");
+ PROGMEM Language_Str MSG_START_OVER = _UxGT("Start Over");
+ PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Remember to Save!");
+ PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Password Removed");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Press Button", "to resume print"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parking..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Wait for", "filament change", "to start"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Insert filament", "and press button", "to continue"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Press button", "to heat nozzle"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Nozzle heating", "Please wait..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Wait for", "filament unload"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Wait for", "filament load"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Wait for", "filament purge"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Click to finish", "filament purge"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Wait for print", "to resume..."));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Click to continue"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parking..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Please wait..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Insert and Click"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Click to heat"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Heating..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Ejecting..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Loading..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Purging..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Click to finish"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Resuming..."));
+ #endif
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("TMC Drivers");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Driver Current");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Hybrid Threshold");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Sensorless Homing");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Stepping Mode");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop Enabled");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" in:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Backlash");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Correction");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Smoothing");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Level X Axis");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto Calibrate");
+ #if ENABLED(TOUCH_UI_FTDI_EVE)
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Idle timeout, temperature decreased. Press Okay to reheat and again to resume.");
+ #else
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Heater Timeout");
+ #endif
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Reheat");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Reheating...");
+
+ PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Z Probe Wizard");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_PROBING = _UxGT("Probing Z Reference");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_MOVING = _UxGT("Moving to Probing Pos");
+
+ PROGMEM Language_Str MSG_SOUND = _UxGT("Sound");
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Top Left");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Bottom Left");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Top Right");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Bottom Right");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Calibration Completed");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Calibration Failed");
+}
+
+#if FAN_COUNT == 1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
+#else
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
+#endif
diff --git a/Marlin/src/lcd/language/language_es.h b/Marlin/src/lcd/language/language_es.h
new file mode 100644
index 0000000..58559a4
--- /dev/null
+++ b/Marlin/src/lcd/language/language_es.h
@@ -0,0 +1,586 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Spanish
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+namespace Language_es {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Spanish");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" Lista");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("SI");
+ PROGMEM Language_Str MSG_NO = _UxGT("NO");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Atrás");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Cancelando...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("SD/USB insertado");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("SD/USB retirado");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Esperando al SD/USB");
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Fallo al iniciar SD");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Error lectura SD/USB");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("Disp. USB retirado");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Inicio USB fallido");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Desbordamiento de subllamada");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstops"); // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Soft Endstops");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menú principal");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Ajustes avanzados");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Configuración");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Inicio automático");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Apagar motores");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menú depuración");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Prob. barra progreso");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Llevar al origen");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Origen X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Origen Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Origen Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto alineado Z");
+ PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Recorrido asistido");
+ PROGMEM Language_Str MSG_ITERATION = _UxGT("G34 Iteración: %i");
+ PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("¡Precisión disminuyendo!");
+ PROGMEM Language_Str MSG_ACCURACY_ACHIEVED = _UxGT("Precisión conseguida");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Origen XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Pulsar para comenzar");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Siguiente punto");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("¡Nivelación lista!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Compen. Altura");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Ajustar desfases");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Desfase aplicada");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Establecer origen");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Precal. ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Precal. ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Fusor");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Fusor ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Todo");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Cama");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Precal. ") PREHEAT_1_LABEL _UxGT(" Ajuste");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Precal. $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Precal. $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Precal. $ Fusor");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Precal. $ Fusor ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Precal. $ Todo");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Precal. $ Cama");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Precal. $ Ajuste");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Precal. manual");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Enfriar");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frecuencia");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Control Láser");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Potencia Láser");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Control Mandrino");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Potencia Mandrino");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Invertir giro");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Encender Fuente");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Apagar Fuente");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extruir");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retraer");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Mover ejes");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Nivelando Cama");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Nivelar Cama");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Nivelar Esquinas");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Siguente Esquina");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Editor Mallado");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Editar Mallado");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Ed. Mallado parada");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Sondear Punto");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Índice X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Índice Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Valor Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Com. Personalizados");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Probar Sonda");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Punto");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Desviación");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Modo IDEX");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Desfase Herramienta");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Aparcado");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplicar");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Copia Reflejada");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Control Total");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2ª Fusor X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2ª Fusor Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2ª Fusor Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Hacer G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Herramientas UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Nivelado UBL");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Punto de inclinación");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Crear Mallado man.");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Colocar cuña y Medir");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Medir");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Retirar y Medir Cama");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Mover al Siguente");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Activar UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Desactivar UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Temp. Cama");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Temp. Cama perso.");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Temp. Fusor");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Temp. Fusor perso.");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Editar Mallado");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Edit. Mallado perso.");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Ajuste fino Mallado");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Term. edici. Mallado");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Crear Mallado Pers.");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Crear Mallado");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Crear Mallado ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Valid. Mall. ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Crear Mallado Frío");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Ajustar alt. Mallado");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Cantidad de altura");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Valid. Mallado");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Valid. Mall. perso.");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Calentando Cama");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Calent. Boquilla");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Imprimado manual...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Impri. longit. fija");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Imprimación Lista");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Cancelado");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Dejando G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Contin. Mallado cama");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Nivelando Mallado");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("Nivelando 3Puntos");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Niv. Mall. cuadri");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Nivel de Mallado");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Puntos Laterales");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Tipo de mapa ");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Salida Mapa mallado");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Salida para el host");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Salida para CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Cópia de seg. ext");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Salida Info. UBL");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Cantidad de relleno");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Relleno manual");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Relleno inteligente");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Mallado de relleno");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Invalidar todo");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Invalidar proximos");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Ajustar Fino Todo");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Ajustar Fino proxi.");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Almacen de Mallado");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Huecos memoria");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Cargar Mall. cama");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Guardar Mall. cama");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Malla %i Cargada");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Malla %i Guardada");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Sin guardar");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Error: Guardar UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Error: Restaurar UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Desfase de Z: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Desfase de Z Parado");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("UBL Paso a Paso");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Crear Mall. Frío");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Relleno intelig.");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Valid. Mallado");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Ajustar Fino Todo");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Valid. Mallado");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Ajustar Fino Todo");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Guardar Mall. cama");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Control LED");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("LEDS");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Color predefinido");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Rojo");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Naranja");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Amarillo");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Verde");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Azul");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Índigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Violeta");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Blanco");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Por defecto");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Color personalizado");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Intensidad Rojo");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Intensidad Verde");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Intensidad Azul");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Intensidad Blanco");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Brillo");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Moviendo...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Libre XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Mover X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrusor");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrusor *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend muy frio");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Mover %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mover 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Mover 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidad");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Cama Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Boquilla");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Boquilla ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Boquilla Aparcada");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Boquilla en Espera");
+ PROGMEM Language_Str MSG_BED = _UxGT("Cama");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Recinto");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Ventilador");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Ventilador ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Vent. almacenado ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Vel. Ext. ventil.");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Vel. Ext. ventil. ~");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Controlador Vent.");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Velocidad en reposo");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Modo Auto");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Velocidad Activa");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Periodo de reposo");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flujo");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flujo ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Factor");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Temp. Autom.");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Enc");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Apg");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Auto-ajuste");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Auto-ajuste *");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Seleccionar");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Seleccionar *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Aceleración");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-Jerk");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Desvi. Unión");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocidad");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vel. viaje min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Acceleración");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Acel. max") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Acel. max") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Acel. max") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Acel. max") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Acel. max *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Acel. retrac.");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Acel. Viaje");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Pasos/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" pasos/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" pasos/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" pasos/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E pasos/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* pasos/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Movimiento");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E en mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diámetro Fil.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diámetro Fil. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Descarga mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Carga mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Avance K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Avance K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Guardar EEPROM");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Cargar EEPROM");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Rest. fábrica");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Inicializar EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("Err: EEPROM CRC");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("Err: Índice EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("Err: Versión EEPROM");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Actualizar SD/USB");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Resetear Impresora");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Recargar");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Pantalla de Inf.");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Preparar");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Ajustar");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Iniciar impresión");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Siguinte");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Iniciar");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Parar");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Imprimir");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Reiniciar");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Cancelar");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Listo");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Retroceder");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Proceder");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausar impresión");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Reanudar impresión");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Detener impresión");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Imprimiendo Objeto");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancelar Objeto");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Cancelar Objeto =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Rec. Fallo electrico");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Imprim. desde SD/USB");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("SD/USB no presente");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Reposo...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Pulsar para Reanudar");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Impresión Pausada");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Imprimiendo...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Impresión cancelada");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Impresión Completada");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Sin movimiento");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("MUERTA");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("DETENIDA");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retraer mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Interc. Retraer mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retraer V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Levantar mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("DesRet mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Interc. DesRet mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("DesRet V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Retracción Auto.");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Inter. longitud");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Purgar longitud");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Cambiar Herramienta");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Aumentar Z");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Vel. de Cebado");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Vel. de retracción");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Cambiar filamento");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Cambiar filamento *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Cargar filamento");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Cargar filamento *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Descargar filamento");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Descargar fil. *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Descargar todo");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Iniciar SD/USB");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Cambiar SD/USB");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Lanzar SD/USB");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda Z fuera cama");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Factor de desviación");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Auto-Prueba");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reiniciar");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Subir pistón");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Bajar pistón");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("Modo Software");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("Modo 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("Modo OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Modo almacenar");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Poner BLTouch a 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Poner BLTouch a OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Informe de drenaje");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("PELIGRO: ¡Una mala configuración puede producir daños! ¿Proceder igualmente?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Iniciar TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Test de desfase Z");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Guardar");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Subir TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Subir Sonda Z");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Bajar Sonda Z");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Origen %s%s%s Prim.");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Desf. Sonda");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Desf. Sonda X");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Desf. Sonda Y");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Desf. Sonda Z");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Micropaso X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Micropaso Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Micropaso Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Cancelado - Endstop");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Calent. fallido");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Err: TEMP. REDUN.");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("FUGA TÉRMICA");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("FUGA TÉRMICA CAMA");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("FUGA TÉRMICA CAMARA");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err:TEMP. MÁX");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err:TEMP. MIN");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("IMPRESORA DETENIDA");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Por favor, reinicie");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Calentando...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Enfriando...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Calentando Cama...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Enfriando Cama...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Calentando Cámara...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Enfriando Cámara...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibración Delta");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibrar X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibrar Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibrar Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibrar Centro");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Configuración Delta");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto Calibración");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Est. Altura Delta");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Ajustar Sonda Z");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Barra Diagonal");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Altura");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Radio");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Info. Impresora");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Info. Impresora");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("Nivelando 3puntos");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Nivelando Lineal");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Nivelando Bilineal");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Nivelando UBL");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Nivelando en Mallado");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Estadísticas Imp.");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Info. Controlador");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistores");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrusores");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baudios");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocolo");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Vig. Fuga Térm.: OFF");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Vig. Fuga Térm.: ON");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Luz cabina");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Brillo cabina");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Impresora incorrecta");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Cont. de impresión");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completadas");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tiempo total de imp.");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Impresión más larga");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Total Extruido");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Impresiones");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completadas");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Más larga");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruido");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Temp. Mínima");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temp. Máxima");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("F. Aliment.");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Fuerza de empuje");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("ERROR CONEX. TMC");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Escribe DAC EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("CAMBIAR FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("IMPRESIÓN PAUSADA");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("CARGAR FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("DESCARGAR FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("OPC. REINICIO:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Purgar más");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Continuar imp.");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Boquilla: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Sens. filamento");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Dist. filamento mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Ir a origen Fallado");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Sondeo Fallado");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ELIJE FILAMENTO");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("¡Actu. MMU Firmware!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU Necesita Cuidado");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Continuar imp.");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Resumiendo...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Cargar Filamento");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Cargar Todo");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Cargar hasta boqui.");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Expulsar Filamento");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Expulsar Filamento ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Descargar Filamento");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Cargando Fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Expulsando Fil. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Descargando Fil....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Todo");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filamento ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Reiniciar MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Reiniciando MMU...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Retirar, y pulsar");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Mezcla");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Componente =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Miezclador");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Degradado");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Degradado Total");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Mezcla Conmutada");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Mezcla Cíclica");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Mezcla de Degradado");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Degradado inverso");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Activar Herr.V");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Inicio Herr.V");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" Fin Herr.V");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias Herr.V");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Reiniciar Herr.V");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Cometer mezc. Herr.V");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("Herr.V reiniciados");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Inicio Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Fin Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Juegos");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Maze");
+
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Pulsar el botón para", "reanudar impresión"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Aparcando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Esperando para", "iniciar el cambio", "de filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Inserte el filamento", "y pulse el botón", "para continuar..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Pulse el botón para", "calentar la boquilla"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Calentando boquilla", "Espere por favor..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Espere para", "liberar el filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Espere para", "cargar el filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Espere para", "purgar el filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Pulse para finalizar", "la purga de filamen."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Esperando impresora", "para reanudar..."));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Pulse para continuar"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Aparcando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Por Favor espere..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Inserte y Pulse"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Pulse para Calentar"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Calentando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Liberando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Cargando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Purgando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Pulse para finalizar"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Reanudando..."));
+ #endif
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("Controladores TMC");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Amperaje Controlador");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Límite Hibrido");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Origen sin sensores");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Modo de pasos");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop Habilit.");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Reiniciar");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" dentro:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Backlash");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Corrección");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Suavizado");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Nivel Eje X");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto Calibrar");
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("T. de esp. Calent.");
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Recalentar");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Recalentando...");
+}
diff --git a/Marlin/src/lcd/language/language_eu.h b/Marlin/src/lcd/language/language_eu.h
new file mode 100644
index 0000000..1c1c9e4
--- /dev/null
+++ b/Marlin/src/lcd/language/language_eu.h
@@ -0,0 +1,321 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Basque-Euskera
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+#define NOT_EXTENDED_ISO10646_1_5X7
+
+namespace Language_eu {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 1;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Basque-Euskera");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" prest.");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Atzera");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Txartela sartuta");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Txartela kenduta");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menu nagusia");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Auto hasiera");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Itzali motoreak");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Arazketa Menua");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Prog. Barra Proba");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Hasierara joan");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("X jatorrira");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Y jatorrira");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Z jatorrira");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("XYZ hasieraratzen");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Klik egin hasteko");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Hurrengo Puntua");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Berdintzea eginda");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Etxe. offset eza.");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsetak ezarrita");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Hasiera ipini");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Berotu ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Berotu ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Amaia ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Guztia");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Ohea");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Berotu ") PREHEAT_1_LABEL _UxGT(" Ezarp.");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Berotu $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Berotu $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Berotu $ Amaia");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Berotu $ Amaia ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Berotu $ Guztia");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Berotu $ Ohea");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Berotu $ Ezarp.");
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Hoztu");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Energia piztu");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Energia itzali");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Estruitu");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Atzera eragin");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Ardatzak mugitu");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Ohe berdinketa");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Ohea berdindu");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Ertzak berdindu");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Hurrengo ertza");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Sarea editatu");
+
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("G29 exekutatzen");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL Tresnak");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Sarea eskuz sortu");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Neurtu");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("UBL aktibatu");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("UBL desaktibatu");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Ohearen tenperatura");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Bed Temp");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Mutur beroaren tenp.");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Hotend Temp");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Sarea editatu");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Sarea editatzea eginda");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Sarea sortu");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("$ sarea sortu");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("$ sarea balioetsi");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Sare hotza sortu");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Sarearen altuera doitu");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Sarea balioetsi");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Ohe sarea balioetsi");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Sare berdinketa");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3 puntuko berdinketa");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Lauki-sare berdinketa");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Sarea berdindu");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Mapa mota");
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("LED ezarpenak");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Argiak");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Argi aurrehautaketak");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Gorria");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Laranja");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Horia");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Berdea");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Urdina");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Bioleta");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Zuria");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Lehenetsia");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Argi pertsonalizatuak");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Intentsitate gorria");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Intentsitate berdea");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Intentsitate urdina");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Intentsitate zuria");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Distira");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Mugitzen...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Askatu XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Mugitu X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mugitu Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mugitu Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Estrusorea");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Estrusorea *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Mugitu %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mugitu 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mugitu 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Mugitu 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Abiadura");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Ohea");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Pita");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Pita ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Ohea");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Haizagailu abiadura");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Haizagailu abiadura ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Haiz.gehig. abiadura");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Haiz.gehig. abiadura ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Fluxua");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Fluxua ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontrola");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fakt");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Auto tenperatura");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Aukeratu");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Aukeratu *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Azelerazioa");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Astindua");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-astindua");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-astindua");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-astindua");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-astindua");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VBidaia min");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-retrakt");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-bidaia");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Pausoak/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" pausoak/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" pausoak/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" pausoak/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E pausoak/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* pausoak/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Tenperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Mugimendua");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Harizpia");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E mm3-tan");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Hariz. Dia.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Hariz. Dia. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Deskargatu mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Kargatu mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K Aurrerapena");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K Aurrerapena *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD kontrastea");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Gorde memoria");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Kargatu memoria");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Larri. berriz.");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("EEPROM-a hasieratu");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Berriz kargatu");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Pantaila info");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Prestatu");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Doitu");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausatu inprimak.");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Jarraitu inprima.");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Gelditu inprima.");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("SD-tik inprimatu");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Ez dago SD-rik");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Lo egin...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Aginduak zain...");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Inprim. geldi.");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Inprim. deusezta.");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Mugimendu gabe.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("AKABATUTA. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("GELDITUTA. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Atzera egin mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Atzera mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Atzera egin V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Igo mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Atzera egin mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Swap Atzera mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Atzera egin V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Atzera egin");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Aldatu harizpia");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Aldatu harizpia *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Harizpia kargatu");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Harizpia kargatu *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Harizpia deskargatu");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Harizpia deskargatu *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Erabat deskargatu");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Hasieratu SD-a");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Aldatu txartela");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z zunda kanpora");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Okertze faktorea");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch AutoProba");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("BLTouch berrabia.");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("BLTouch jaitsi/luzatu");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("BLTouch igo/jaso");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Etxera %s%s%s lehenengo");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Z Konpentsatu");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Mikro-urratsa X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Mikro-urratsa Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Mikro-urratsa Z");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Endstop deusezta.");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Err: Beroketa");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Err: Tenperatura");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("TENP. KONTROL EZA");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: Tenp Maximoa");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: Tenp Minimoa");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("INPRIMA. GELDIRIK");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Berrabia. Mesedez");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Berotzen...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Ohea Berotzen...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibraketa");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibratu X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibratu Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibratu Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibratu Zentrua");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta ezarpenak");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto Kalibraketa");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Delta Alt. Ezar.");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Barra diagonala");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Altuera");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Erradioa");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Inprimagailu Inf.");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Inprimagailu Inf.");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3 puntuko berdinketa");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Berdinketa lineala");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Berdinketa bilinearra");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Sare berdinketa");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Inprima. estatis.");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Txartelaren Info.");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistoreak");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Estrusoreak");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baudioak");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokoloa");
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Kabina Argia");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Argiaren Distira");
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Inprim. Zenbaketa");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Burututa");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Inprim. denbora");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Imprimatze luzeena");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Estruituta guztira");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Inprimatze");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Burututa");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Guztira");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Luzeena");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Estrusio");
+ #endif
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Tenp. Minimoa");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Tenp. Maximoa");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Elikadura-iturria");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Driver-aren potentzia");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Idatzi DAC EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("HARIZPIA ALDATU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("HARIZPIA KARGATU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("HARIZPIA DESKARGATU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("ALDAKETA AUKERAK:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Inprima. jarraitu");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Pita: ");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Hasi. huts egin du");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Neurketak huts egin du");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Inprimagailu okerra");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Mesedez, itxaron..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Deskargatzen..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Sartu eta click egin"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Berotzen..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Kargatzen..."));
+}
diff --git a/Marlin/src/lcd/language/language_fi.h b/Marlin/src/lcd/language/language_fi.h
new file mode 100644
index 0000000..9954f1d
--- /dev/null
+++ b/Marlin/src/lcd/language/language_fi.h
@@ -0,0 +1,130 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Finnish
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+
+namespace Language_fi {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Finnish");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" valmis.");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Kortti asetettu");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Kortti poistettu");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Palaa");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Automaatti");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Vapauta moottorit");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Aja referenssiin");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Aseta origo");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Esilämmitä ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Esilämmitä ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT("Suutin ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT(" Kaikki");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Esilä. ") PREHEAT_1_LABEL _UxGT(" Alusta");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Esilämm. ") PREHEAT_1_LABEL _UxGT(" konf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Esilämmitä $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Esilämmitä $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Esilä. $Suutin");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Esilä. $Suutin ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Esilä. $ Kaikki");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Esilä. $ Alusta");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Esilämm. $ konf");
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Jäähdytä");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Virta päälle");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Virta pois");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Pursota");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Vedä takaisin");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Liikuta akseleita");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Liikuta X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Liikuta Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Liikuta Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Liikuta %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Liikuta 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Liikuta 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Liikuta 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Nopeus");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Suutin");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Suutin ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Alusta");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Tuul. nopeus");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Tuul. nopeus ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Virtaus");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Virtaus ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontrolli");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Kerr");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Kiihtyv");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VLiike min");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-peruuta");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Lämpötila");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Liike");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD kontrasti");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Tallenna muistiin");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Lataa muistista");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Palauta oletus");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Päivitä");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Seuraa");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Valmistele");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Säädä");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Keskeytä tulostus");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Jatka tulostusta");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Pysäytä tulostus");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Korttivalikko");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Ei korttia");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Nukkumassa...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Odotet. valintaa");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Ei liiketta.");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Vedä mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Va. Vedä mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Vedä V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Z mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Va. Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoVeto.");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibrointi");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibroi X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibroi Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibroi Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibroi Center");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Väärä tulostin");
+}
diff --git a/Marlin/src/lcd/language/language_fr.h b/Marlin/src/lcd/language/language_fr.h
new file mode 100644
index 0000000..031db35
--- /dev/null
+++ b/Marlin/src/lcd/language/language_fr.h
@@ -0,0 +1,603 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * French
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+
+namespace Language_fr {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Français");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" prête.");
+ PROGMEM Language_Str MSG_YES = _UxGT("Oui");
+ PROGMEM Language_Str MSG_NO = _UxGT("Non");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Retour");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Annulation...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Média inséré");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Média retiré");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Attente média");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Err lecture média");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB débranché");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Erreur média USB");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Butées");
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Butées SW");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menu principal");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Config. avancée");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Configuration");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Exéc. auto.gcode");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Arrêter moteurs");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menu debug");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test barre progress.");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Origine auto");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Origine X auto");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Origine Y auto");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Origine Z auto");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Align. Z auto");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Origine XYZ...");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Clic pour commencer");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Point suivant");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Mise à niveau OK!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Hauteur lissée");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Régl. décal origine");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Décalages appliqués");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Régler origine");
+ PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Assistant Molettes");
+ PROGMEM Language_Str MSG_TRAMMING_WIZARD = _UxGT("Assistant Molettes");
+ PROGMEM Language_Str MSG_SELECT_ORIGIN = _UxGT("Molette du lit"); // Not a selection of the origin
+ PROGMEM Language_Str MSG_LAST_VALUE_SP = _UxGT("Ecart origine ");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Préchauffage ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Préchauffage ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" buse ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" Tout");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Préch. ") PREHEAT_1_LABEL _UxGT(" lit");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Régler préch. ") PREHEAT_1_LABEL;
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Préchauffage $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Préchauffage $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Préch. $ buse");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Préch. $ buse ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Préch. $ Tout");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Préch. $ lit");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Régler préch. $");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Préchauf. perso");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Refroidir");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Contrôle Laser");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Puissance");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Inverser broches");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Allumer alim.");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Eteindre alim.");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrusion");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Rétractation");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Déplacer un axe");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Régler Niv. lit");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Niveau du lit");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Niveau des coins");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_RAISE = _UxGT("Relever le coin jusqu'à la sonde");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_IN_RANGE = _UxGT("Coins dans la tolérance. Niveau lit ");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Coin suivant");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Modif. maille"); // 13 car. max
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Modifier grille");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Modification arrêtée");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Mesure point");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Index X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Index Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Valeur Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Commandes perso");
+
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Mesure point");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("Ecart sonde Z M48");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Ecart");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("Point M48");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Mode IDEX");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Park");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplication");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Copie miroir");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Contrôle complet");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Offsets Outil");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("Buse 2 X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("Buse 2 Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("Buse 2 Z");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26: Chauffage du lit");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("Buse en chauffe...");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Amorce manuelle...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Amorce longueur fixe");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Amorce terminée");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 annulé");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Sortie G26");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("G29 en cours");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Outils UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Niveau lit unifié");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Maillage manuel");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Poser câle & mesurer");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Mesure");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("ôter et mesurer lit");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Aller au suivant");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Activer l'UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Désactiver l'UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Température lit");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Température lit");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Température buse");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Température buse");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Modifier grille");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Modif. grille perso");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Réglage fin");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Terminer");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Créer la grille");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Créer grille $");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Impr. grille $");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Créer grille ...");
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Mesure à froid");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Ajuster haut. couche");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Hauteur (x0.1mm)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Vérifier grille");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Impr. grille ...");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Continuer grille");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Niveau par mailles");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("Niveau à 3 points");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Niveau par grille");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Effectuer mesures");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Points latéraux");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Type de carte");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Exporter grille");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Export pour hôte");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Export en CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Export sauvegarde");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Infos debug UBL");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Nombre de points");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Remplissage manuel");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Remplissage auto");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Remplissage grille");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Tout effacer");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Effacer le + près");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Réglage fin (tous)");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Réglage fin + près");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Stockage grille");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Slot mémoire");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Charger la grille");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Stocker la grille");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Grille %i chargée");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Grille %i enreg.");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Pas de mémoire");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Err: Enreg. UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Err: Ouvrir UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Offset: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Décal. Z arrêté");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Assistant UBL");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Mesure à froid");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Compléter auto.");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Vérifier grille");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Réglage fin");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Vérifier grille");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Réglage fin");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Stocker grille");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Contrôle LED");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Lumière");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Préregl. LED");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Rouge");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Orange");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Jaune");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Vert");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Bleu");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Violet");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Blanc");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Defaut");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("LEDs perso.");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Intensité rouge");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Intensité vert");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Intensité bleu");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Intensité blanc");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Luminosité");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Déplacement...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Débloquer XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Déplacer X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Déplacer Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Déplacer Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrudeur");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrudeur *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Buse trop froide");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Déplacer %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Déplacer 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Déplacer 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Déplacer 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Vitesse");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Lit Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Buse");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Buse ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Lit");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Caisson");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vit. ventil. "); // 15 car. max
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vit. ventil. ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Vit. enreg. ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra ventil. ");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra ventil. ~");
+
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flux");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flux ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Contrôler");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Facteur");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Temp. Auto.");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Marche");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Arrêt");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autotune");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autotune *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("Tuning PID terminé");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Echec Autotune! E incorrect");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Echec Autotune! Temp. trop haute");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Echec Autotune! Opér. expirée");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Sélectionner");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Sélectionner *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Accélération");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT(" jerk");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT(" jerk");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT(" jerk");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve jerk");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Vélocité");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Déviat. jonct.");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vmin course");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accélération");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Acc.rétraction");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Acc.course");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Fréquence max");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Vitesse min");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Pas/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" pas/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" pas/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" pas/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E pas/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* pas/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Température");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Mouvement");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E en mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("Limite en mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("Limite *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diamètre fil.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diamètre fil. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Retrait mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Charger mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Avance K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Avance K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Enregistrer config.");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Charger config.");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Restaurer défauts");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Initialiser EEPROM");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Config. enregistrée");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("MaJ Firmware SD");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("RaZ imprimante");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Actualiser");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Surveiller");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Préparer");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Régler");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Démarrer impression");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Suivant");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Init.");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Stop");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Imprimer");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Ignorer");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Annuler");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Terminé");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Retour");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Procéder");
+ PROGMEM Language_Str MSG_BUTTON_SKIP = _UxGT("Passer");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Mise en pause...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pause impression");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Reprendre impr.");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Arrêter impr.");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Impression objet");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Annuler objet");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Annuler objet =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Récup. coup.");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Impression SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Pas de média");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Repos...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Attente utilis.");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Impr. en pause");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Impression");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Impr. annulée");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Moteurs bloqués");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("KILLED");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("STOPPÉ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Rétractation mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Ech. rétr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Vit. rétract°");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Saut Z mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Rét.reprise mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Ech.reprise mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("V.rét. reprise");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("V.éch. reprise");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Rétraction auto");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Changement outil");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Augmenter Z");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Vitesse primaire");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Vitesse rétract°");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Garer Extrudeur");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Vitesse reprise");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Vit. ventil.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Temps ventil.");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto ON");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto OFF");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Migration d'outil");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Migration auto");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Extrudeur Final");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Migrer vers *");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Attente buse");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Longueur retrait");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Longueur Extra");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Longueur de purge");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Changer filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Changer filament *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Charger filament");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Charger filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Retrait filament");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Retrait filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Retirer tout");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Charger le média");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Actualiser média");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Retirer le média");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonde Z hors lit");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Facteur écart");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Self-Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Ranger");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Déployer");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("Mode SW");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("Mode 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("Mode OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Appliquer Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Mise en 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Mise en OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Afficher Mode");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Init. TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Test décalage Z");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Sauvegarde");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Déployer TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Déployer Sonde Z");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Ranger Sonde Z");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Origine %s%s%s Premier");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Position sonde Z");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Décalage X");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Décalage Y");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Décalage Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Butée abandon");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Err de chauffe");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Err TEMP. REDONDANTE");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("Err THERMIQUE");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err TEMP. MAX");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err TEMP. MIN");
+
+ PROGMEM Language_Str MSG_HALTED = _UxGT("IMPR. STOPPÉE");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Redémarrer SVP");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("j"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+
+ PROGMEM Language_Str MSG_HEATING = _UxGT("en chauffe...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Refroidissement");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Lit en chauffe...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Refroid. du lit...");
+ PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Probe en chauffe...");
+ PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Refroid. Probe...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Chauffe caisson...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Refroid. caisson...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibration Delta");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibrer X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibrer Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibrer Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibrer centre");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Réglages Delta");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Calibration Auto");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Hauteur Delta");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Delta Z sonde");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Diagonale");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Hauteur");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Rayon");
+
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Infos imprimante");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Infos imprimante");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("Niveau à 3 points");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Niveau linéaire");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Niveau bilinéaire");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Niveau lit unifié");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Niveau par grille");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Stats. imprimante");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Infos carte");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Thermistances");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrudeurs");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Bauds");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocole");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Protection inactive");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Protection active");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Hotend Idle Timeout");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Lumière caisson");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Luminosité");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Imprimante incorrecte");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Nbre impressions");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Terminées");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tps impr. total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Impr. la + longue");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Total filament");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Impressions");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Terminées");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("+ long");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Filament");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Temp Min");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temp Max");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Alim.");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Puiss. moteur ");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC EEPROM sauv.");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("ERREUR CONNEXION TMC");
+
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("CHANGER FILAMENT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("IMPR. PAUSE");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("CHARGER FIL");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("DECHARGER FIL");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("OPTIONS REPRISE:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Purger encore");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Reprendre impr.");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Buse: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Capteur fil.");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Echec origine");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Echec sonde");
+
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("MAJ firmware MMU!!");
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("CHOISIR FILAMENT");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU ne répond plus");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Continuer Imp. MMU");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Reprise MMU...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Charge dans MMU");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Charger tous dans MMU");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Charger dans buse");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Ejecter fil. du MMU");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Ejecter fil. ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Retrait filament");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Chargem. fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Ejection fil...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Retrait fil....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Tous");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Réinit. MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Réinit. MMU...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Retrait, click");
+
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Composante =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mixeur");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Dégradé");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Dégradé complet");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Toggle mix");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Cycle mix");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Mix dégradé");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Inverser dégradé");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Active V-tool");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Début V-tool");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" Fin V-tool");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias V-tool");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Réinit. V-tools");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Valider Mix V-tool");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-tools réinit. ok");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Début Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Fin Z:");
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Jeux");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Casse-briques");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Labyrinthe");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Erreur index page");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Erreur vitesse page");
+
+ #if LCD_HEIGHT >= 4
+ // Up to 3 lines allowed
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Presser bouton", "pour reprendre"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parking..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_2_LINE("Attente filament", "pour démarrer"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Insérer filament", "et app. bouton", "pour continuer..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Presser le bouton", "pour chauffer..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Buse en chauffe", "Patienter SVP..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Attente", "retrait du filament"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Attente", "chargement filament"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Attente", "Purge filament"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Presser pour finir", "la purge du filament"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Attente reprise", "impression"));
+ #else // LCD_HEIGHT < 4
+ // Up to 2 lines allowed
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Clic pour continuer"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Patience..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Insérer fil."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Chauffer ?"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Chauffage..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Retrait fil..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Chargement..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Purge..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Terminer ?"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Reprise..."));
+ #endif // LCD_HEIGHT < 4
+
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Courant driver");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Seuil hybride");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Home sans capteur");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Mode pas à pas");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop activé");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Réinit.");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" dans:");
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Correction");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Lissage");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Niveau axe X");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Etalon. auto.");
+ #if ENABLED(TOUCH_UI_FTDI_EVE)
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("En protection, temp. réduite. Ok pour rechauffer et continuer.");
+ #else
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("En protection");
+ #endif
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Chauffer");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Réchauffe...");
+
+ PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Assistant Sonde Z");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_PROBING = _UxGT("Mesure référence");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_MOVING = _UxGT("Dépl. vers pos");
+
+ PROGMEM Language_Str MSG_SOUND = _UxGT("Sons");
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Coin haut gauche");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Coin bas gauche");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Coin haut droit");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Coin bas droit");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Calibration terminée");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Échec de l'étalonnage");
+}
diff --git a/Marlin/src/lcd/language/language_gl.h b/Marlin/src/lcd/language/language_gl.h
new file mode 100644
index 0000000..d0ec16b
--- /dev/null
+++ b/Marlin/src/lcd/language/language_gl.h
@@ -0,0 +1,603 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Galician language (ISO "gl")
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+
+namespace Language_gl {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 1;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Galician");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" lista.");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("SI");
+ PROGMEM Language_Str MSG_NO = _UxGT("NON");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Atrás");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Cancelando...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Tarxeta inserida");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Tarxeta retirada");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Agardando ao SD/USB");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Erro lectura SD/USB");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("Disp. USB retirado");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Inicio USB fallido");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Desbord. Subch.");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("FinCarro");
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("FinCarro SW");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menú principal");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Axustes avanzados");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Configuración");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autoarranque");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Apagar motores");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menú depuración");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test barra progreso");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Ir a orixe");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Ir orixe X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Ir orixe Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Ir orixe Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Autoaliñar Z");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Ir orixes XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Prema pulsador");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Seguinte punto");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Fin Nivelación!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Compensación Altura");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Axustar Desfases");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Desfases aplicados");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Fixar orixe");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Prequentar ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Prequentar ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Bico ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Todo");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" Cama");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preque. ") PREHEAT_1_LABEL _UxGT(" conf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Prequentar $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Prequentar $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Preque. $ Bico");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Preque. $ Bico ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Preque. $ Todo");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Preque. $ Cama");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Preque. $ conf");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Preque. Personali.");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Arrefriar");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frecuencia");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Control Láser");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Potencia Láser");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Control Fuso");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Potencia Fuso");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Inverter xiro");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Acender");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Apagar");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extruír");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retraer");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Mover eixe");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Nivelando Cama");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Nivelar Cama");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Nivelar Cantos");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Seguinte Canto");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Editor Mallado");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Editar Mallado");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Ed. Mallado Detida");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Punto de Proba");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Índice X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Índice Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Valor Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Comandos Personaliz.");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Probar Sonda");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Punto");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Desviación");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Modo IDEX");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Ferramentas Compens");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Estacionar");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplicación");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Copia Espello");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Control Total");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2º Bico X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2º Bico Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2º Bico Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Executando G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Ferramentas UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Punto de inclinación");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Facer Malla Manual");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Colocar Calzo e Medir");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Medir");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Quitar e Medir Cama");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Mover ao Seguinte");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Activar UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Desactivar UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Temp Cama");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Temp Cama");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Temp Bico");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Temp Bico");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Editar Malla");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Edit. Malla Person.");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Axuste Fino da Malla");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Fin Edición da Malla");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Crear Malla Person.");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Crear Malla");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Crear Malla ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Validar Malla ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Crear Malla Fría");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Axustar Altura Malla");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Altura");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Validar Malla");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Validar Malla perso.");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Quentando Cama");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Quentando Bico");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Traballo manual...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Traballo Lonxit Fixa");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Fin Traballo");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Cancelado");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Saíndo de G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Continuar Malla");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Nivelación Malla");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("Nivelación 3Puntos");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Nivelación Grid");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Nivelar Malla");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Puntos Laterais");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Tipo de Mapa ");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Gardar Mapa");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Enviar ao Host");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Gardar en CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Backup Externo");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Info do UBL");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Cantidade de Recheo");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Recheo Manual");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Recheo Intelixente");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Recheo da Malla");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Invalidar todo");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Invalidar cercanos");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Axustar Fino Todo");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Axustar Fino Cerc");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Almacenamento Malla");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Rañura Memoria");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Cargar Malla Cama");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Gardar Malla Cama");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Malla %i Cargada");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Malla %i Gardada");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Sen Gardar");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Erro: Gardadado UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Erro: Recuperación UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Desfase de Z: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Desfase de Z Detido");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("UBL Paso a Paso");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. Crear Malla Fría");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. Recheo Intelixente");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. Validar Malla");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. Axustar Fino Todo");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. Validar Malla");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. Axustar Fino Todo");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. Gardar Malla Cama");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Control LED");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Luces");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Axustes Luz");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Vermello");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Laranxa");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Amarelo");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Verde");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Azul");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Índigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Violeta");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Branco");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Por defecto");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Luces personalizadas");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Intensidade Vermello");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Intensidade Verde");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Intensidade Azul");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Intensidade Branco");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Brillo");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Movendo...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Libre XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Mover X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrusor");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrusor *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Bico moi frío");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Mover %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mover 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Mover 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidade");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Cama Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Bico");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Bico ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Bico Estacionado");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Bico Standby");
+ PROGMEM Language_Str MSG_BED = _UxGT("Cama");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Cámara");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. Ventilador");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. Ventilador ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Ventilador Mem. ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Vel. Vent. Extra");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Vel. Vent. Extra ~");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Controlador Vent.");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Velocidade Repouso");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Modo Auto");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Velocidade Activa");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Tempo Repouso");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Fluxo");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Fluxo ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Temperatura Auto.");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Acender");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Apagar");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("Auto-Sint. PID");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("Auto-Sint. PID *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("Fin Auto-Sint PID");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Auto-Sint. fallida. Extrusor danado.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Auto-Sint. fallida. Temperatura moi alta.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Auto-Sint. fallida. Tempo excedido.");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Escolla");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Escolla *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Acel");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-Jerk");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Desvío Unión");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocidade");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("V-viaxe min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Aceleración");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-retrac.");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-viaxe");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Frecuencia max");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Avance min");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Pasos/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" pasos/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" pasos/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" pasos/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E pasos/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* pasos/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Movemento");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E en mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diam. fil.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diam. fil. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Descarga mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Carga mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Avance K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Avance K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Constraste LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Gardar Configuración");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Cargar Configuración");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Rest. Defecto");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Inicializar EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("Erro: CRC EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("Erro: Índice EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("Erro: Versión EEPROM");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Config Gardada");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Actualizar SD/USB");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Reiniciar Impresora");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Recargar");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Información");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Preparar");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Axustar");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Comezar impresión");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Seguinte");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Comezar");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Deter");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Imprimir");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Reiniciar");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Cancelar");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Listo");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Atrás");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Proceder");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Pausando...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausar impresión");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Retomar impresión");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Deter impresión");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Imprimindo Obxecto");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancelar Obxecto");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Cancelar Obxecto =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Recuperar Impresión");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Tarxeta SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Sen tarxeta SD");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("En repouso...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Prema para Retomar..");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Impresión Pausada");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Imprimindo...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Impresión Cancelada");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Fin Impresión");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Sen movemento.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("MORTO.");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("DETIDO.");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retraer mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Cambio retra. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retraer V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Alzar Z mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Recup. retra. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Cambio recup. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Recuperacion V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retracción");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Lonxitude Retracción");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Cambio Extra");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Lonxitude de Purga");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Cambiar Ferramenta");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Levantar Z");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Velocidade prim.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Vel. de Retracción");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Extrusor Est.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Vel. Recuperación");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Vel. Ventilador");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Tempo Ventilador");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto ON");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto OFF");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Cambio Ferramenta");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Cambio Automático");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Último Extrusor");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Cambio a *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Cambiar Filamento");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Cambiar Filamento *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Cargar Filamento");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Cargar Filamento *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Descargar Filamento");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Descargar Filamento *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Descargar Todo");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Iniciar SD/USB");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Cambiar SD/USB");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Lanzar SD/USB");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda-Z fóra Cama");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Factor de Desviación");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Auto-Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reiniciar");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Recoller");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Estender");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("Modo Software");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("Modo 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("Modo OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Modo Almacenar");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Axustar BLTouch a 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Axustar BLTouch a OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Modo de Informe");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("PERIGO: Unha mala configuración pode producir daños! Proceder igualmente?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Iniciar TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Test de Desfase Z");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Gardar");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Estender TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Estender Sonda Z");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Recoller Sonda Z");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Orixe %s%s%s Primeiro");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Desfases Sonda");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Desfase Sonda X");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Desfase Sonda Y");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Desfase Z");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Micropaso X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Micropaso Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Micropaso Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Erro FinCarro");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Fallo Quentando");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Erro:Temp Redundante");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("FUGA TÉRMICA");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("FUGA TÉRMICA CAMA");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("FUGA TÉRMICA CÁMARA");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Erro:TEMP MÁX");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Erro:TEMP MÍN");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("IMPRESORA DETIDA");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Debe reiniciar!");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Quentando...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Arrefriando...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Quentando cama...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Enfriando Cama...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Quentando Cámara...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Arrefriando Cámara...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibracion Delta");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibrar X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibrar Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibrar Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibrar Centro");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Configuración Delta");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto Calibración");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Ax. Altura Delta");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Axustar Sonda Z");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Barra Diagonal");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Altura");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Radio");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Acerca de...");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Información");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("Nivelación 3puntos");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Nivelación Lineal");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Nivelación Bilineal");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Nivelación UBL");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Nivelación en Malla");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Estatísticas");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Placa nai");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistores");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrusores");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baudios");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocolo");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Reloxo Traballo: OFF");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Reloxo Traballo: ON");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Luz da Caixa");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Brillo Luces");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("IMPRESORA INCORRECTA");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Total Impresións");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completadas");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tempo Total Imp.");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Impresión máis longa");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Total Extruído");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Impresións");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completadas");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Máis Longa");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruido");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Temp Mín");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temp Máx");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Fonte Alimentación");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Forza do Motor");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("ERRO CONEX. TMC");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Escribe DAC EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("CAMBIAR FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("IMPRESIÓN PAUSADA");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("CARGAR FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("DESCARGAR FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("OPCIÓN DE RETOMAR:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Purgar máis");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Retomar traballo");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Bico: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Sensor Filamento");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Dist mm Sensor Fil");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Fallo ao ir á Orixe");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Fallo ao Sondar");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ESCOLLE FILAMENTO");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Actualizar FW MMU!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU Precisa Atención.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Retomar impr.");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Retomando...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Cargar Filamento");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Cargar Todo");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Cargar até bico");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Expulsar Filamento");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Expulsar Filamento ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Descargar Filamento");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Cargando Fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Expulsando Fil. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Descargando Fil...");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Todo");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filamento ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Reiniciar MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Reiniciando MMU...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Expulsar, premer");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Mestura");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Compoñente =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mesturadora");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Degradado");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Degradado Total");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Mestura Conmutada");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Mestura Cíclica");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Mestura de Degradado");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Degradado Inverso");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Activar Ferr-V");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Inicio Ferr-V");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" Fin Ferr-V");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias Ferr-V");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Reiniciar Ferr-V");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Commit mest. Ferr-V");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("Ferr-V reiniciadas");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Inicio Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Fin Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Xogos");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Labirinto");
+
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Preme o botón para", "continuar impresión"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Estacionando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Agarde para", "comezar cambio", "de filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Introduza o", "filamento e", "faga click"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Prema o botón para", "quentar o bico"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Quentando bico", "Agarde, por favor..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Agarde pola", "descarga do", "filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_3_LINE("Agarde pola", "carga do", "filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Agarde para", "purgar o filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Prema para finalizar", "a purga do filamen."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Agarde a que", "se retome", "a impresión"));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Premer para continuar"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Estacionando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Agarde..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Introduza e click"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Prema para quentar"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Quentando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Descargando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Cargando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Purgando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Prema para finalizar"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Retomando..."));
+ #endif
+
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("Controladores TMC");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Controlador Actual");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Limiar Hibrido");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Orixe sen Sensores");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Modo de pasos");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop Habilit.");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Reiniciar");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" dentro:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Reacción");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Corrección");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Suavizado");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Nivel Eixe X");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto Calibrar");
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Tempo exc. Quent.");
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Requentar");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Requentando...");
+}
diff --git a/Marlin/src/lcd/language/language_hr.h b/Marlin/src/lcd/language/language_hr.h
new file mode 100644
index 0000000..1684ad0
--- /dev/null
+++ b/Marlin/src/lcd/language/language_hr.h
@@ -0,0 +1,170 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Croatian (Hrvatski)
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1 // use the better font on full graphic displays.
+
+namespace Language_hr {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Croatian");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" spreman.");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("SD kartica umetnuta");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("SD kartica uklonjena");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstops"); // Max length 8 characters
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Main");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Auto pokretanje");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Ugasi steppere");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Automatski homing");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Home-aj X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Home-aj Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home-aj Z");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Home-aj XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Klikni za početak");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Sljedeća točka");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Niveliranje gotovo!");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Postavi home offsete");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets postavljeni");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Postavi ishodište");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Predgrij ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Predgrij ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Dizna ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Sve");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" Bed");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Predgrij ") PREHEAT_1_LABEL _UxGT(" conf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Predgrij $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Predgrij $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Predgrij $ Dizna");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Predgrij $ Dizna ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Predgrij $ Sve");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Predgrij $ Bed");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Predgrij $ conf");
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Hlađenje");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Uključi napajanje");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Isključi napajanje");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Miči os");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Niveliraj bed");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Niveliraj bed");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Miči X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Miči Y");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Miči %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Miči 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Miči 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Miči 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Brzina");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Dizna");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Dizna ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Bed");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Brzina ventilatora");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Brzina ventilatora ~");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Odaberi");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Odaberi *");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperature");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Gibanje");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Kontrast LCD-a");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Pohrani u memoriju");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Učitaj memoriju");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Učitaj Defaults");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Osvježi");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info screen");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Pripremi");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pauziraj print");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Nastavi print");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Zaustavi print");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Printaj s SD kartice");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Nema SD kartice");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Čekaj korisnika...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Print otkazan");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ZAUSTAVLJEN. ");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Promijeni filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Promijeni filament *");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Init. SD karticu");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Promijeni SD karticu");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Grijanje neuspješno");
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Grijanje...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Grijanje Bed-a...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibracija");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibriraj X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibriraj Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibriraj Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibriraj Središte");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("O printeru");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Podaci o printeru");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Statistika printera");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Podaci o elektronici");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistori");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extruderi");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baud");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokol");
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Osvjetljenje");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Neispravan pisač");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Broj printova");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Završeni");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Ukupno printanja");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Najduži print");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extrudirano ukupno");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Printovi");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Završeni");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Ukupno");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Najduži");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extrudirano");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Napajanje");
+
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Nastavi print");
+
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Čekaj", "filament unload"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Pričekaj", "filament load"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Nastavljam..."));
+
+ #if LCD_HEIGHT >= 4
+ // Up to 3 lines allowed
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Čekaj početak", "filamenta", "promijeni"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Umetni filament", "i pritisni tipku", "za nastavak..."));
+ #else
+ // Up to 2 lines allowed
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT("Pričekaj...");
+ //PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_2_LINE("?", "?"));
+ #endif
+}
diff --git a/Marlin/src/lcd/language/language_hu.h b/Marlin/src/lcd/language/language_hu.h
new file mode 100644
index 0000000..523f9c1
--- /dev/null
+++ b/Marlin/src/lcd/language/language_hu.h
@@ -0,0 +1,616 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Magyar
+ *
+ * LCD Menü Üzenetek. Lásd még https://marlinfw.org/docs/development/lcd_language.html
+ * Marlin 2.0.x bugfix Magyar fordítása. A fordítást folyamatosan javítom és frissítem.
+ * A Magyar fordítást készítette: AntoszHUN
+ *
+ *
+ */
+
+namespace Language_hu {
+ using namespace Language_en; // A fordítás az örökölt Amerikai Angol (English) karakterláncokat használja.
+
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Magyar");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" Kész.");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("IGEN");
+ PROGMEM Language_Str MSG_NO = _UxGT("NEM");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Vissza");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Megszakítás...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Tároló Behelyezve");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Tároló Eltávolítva");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Várakozás a tárolóra");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Tároló olvasási hiba");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB eltávolítva");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB eszköz hiba");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Túlfolyás");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Végállás"); // Maximum 8 karakter
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Szoft. Végállás");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("<Fömenü>");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("További Beállítások");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Konfiguráció");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autoinditás");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Motorok kikapcsolása");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Hiba Menü");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Haladás sáv teszt");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("XYZ Auto kezdöpont");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("X Kezdöpont");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Y Kezdöpont");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Z Kezdöpont");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto Z-Igazítás");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("XYZ Kezdöpont");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Kattints a kezdéshez.");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Következö Pont");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Szintezés Kész!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Szint Csökkentés");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Kezdöpont eltolás");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Eltolás beállítva.");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Eredeti Be");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Fütés ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Fütés ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Fütés ") PREHEAT_1_LABEL _UxGT(" Fej");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Fütés ") PREHEAT_1_LABEL _UxGT(" Fej ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Fütés ") PREHEAT_1_LABEL _UxGT(" Mind");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Fütés ") PREHEAT_1_LABEL _UxGT(" Ágy");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Fütés ") PREHEAT_1_LABEL _UxGT(" Beáll");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Fütés $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Fütés $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Fütés $ Fej");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Fütés $ Fej ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Fütés $ Mind");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Fütés $ Ágy");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Fütés $ Beáll");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Egyedi Elömelegítés");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Visszahütés");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frekvencia");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Lézer Vezérlés");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Lézer Teljesítmény");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Orsó Vezérlés");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Orsó Teljesítmény");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Orsó Hátra");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Bekapcsolás");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Kikapcsolás");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrudál");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Visszahúz");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Tengelyek Mozgatása");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Ágy Szintezés");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Ágy szintezése");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Sarok szint");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Következö sarok");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Háló Szerkesztö");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Háló Szerkesztése");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Háló Szerk. Állj");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Próbapont");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Index X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Index Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Z Érték");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Egyéni Parancs");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Probe Teszt");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Pont");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Eltérés");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX Mód");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Eszköz Eltolás");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Parkolás");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplikálás");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Tükrözött másolás");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Teljes felügyelet");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2. fúvóka X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2. fúvóka Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2. fúvóka Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Szintezz! G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL Eszköz");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Egységes Ágy Szint");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Döntési Pont");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Kézi Háló Építés");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Tégy alátétet és mérj");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Mérés");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Üres ágyat mérj");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Továbblépés");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("UBL Aktivál");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("UBL Deaktivál");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Ágy Höfok");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Ágy Höfok");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Fúvóka Höfok");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Fúvóka Höfok");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Háló Szerkesztés");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Egyéni Háló Szerkesztés");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Finomított Háló");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Háló Kész");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Egyéni Háló Építés");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Háló Építés");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Háló Építés ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Háló Elfogadás ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Hideg Háló Építés");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("AHáló Magasság Állítása");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Összmagasság");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Háló Elfogadás");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Valódi Háló Elfogadása");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Ágy Fűtés");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Fúvóka Fűtés");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Kézi alapozás...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Fix hosszúságú alap");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Alapozás Kész");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Törölve");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Kilépö G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Ágy Háló Folyt.");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Háló Szintezés");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-Pontos Szintezés");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Rács Szintezés");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Háló Szint");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Oldal pontok");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Térkép Típus");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Háló Térkép Kimenet");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Host Kimenet");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("CSV Kimenet");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Nyomtató Backup Ki");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("UBL Infó Kimenet");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Kitöltési Költség");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Kézi Kitöltés");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Okos Kitöltés");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Háló Kitöltés");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Minden Érvénytelen");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Közelebbi Érvénytelen");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Mindet Finomhangolja");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Közelebbi Finomhangolása");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Háló Tárolás");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Memória Foglalat");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Ágy háló Betöltés");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Ágy háló Mentés");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("M117 Háló %i Betöltve");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("M117 Háló %i Mentve");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Nincs tároló");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Hiba: UBL Mentés");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Hiba: UBL Visszaáll");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Eltolás: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z-Eltolás Leállítva");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Lépésröl Lépésre UBL");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. Hideg Háló Készítés");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. Inteligens Kitöltés");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. Háló Érvényesítés");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. Minden Finomítása");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. Háló Érvényesítés");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. Minden Finomítása");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. Ágy Háló Mentése");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("LED Vezérlés");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Világítás");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Beállított Színek");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Piros");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Narancs");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Sárga");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Zöld");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Kék");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigó");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Viola");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Fehér");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Alapérték");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Egyéni Szín");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Piros Intenzitás");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Zöld Intenzitás");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Kék Intenzitás");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Fehér Intenzitás");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Fényerö");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Mozgás...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("XY Szabad");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("X Mozgás");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Y Mozgás");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Z Mozgás");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Adagoló");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Adagoló *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("A fúvóka túl hideg");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Mozgás %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mozgás 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mozgás 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Mozgás 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Sebesség");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Z ágy");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Fúvóka");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Fúvóka ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Fej Parkolva");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Fej Készenlétbe");
+ PROGMEM Language_Str MSG_BED = _UxGT("Ágy");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Burkolat");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Hütés sebesség");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Hütés sebesség =");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Tárolt Hütés =");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra hütés sebesség");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra hütés sebesség =");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Hűtésvezérlés");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Alapjárat");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Automatikus Mód");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Aktív Sebesség");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Készenlét");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Folyás");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Folyás ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Konfiguráció");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Minimum");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Maximum");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Tényezö");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Automata Höfok");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Be");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Ki");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Hangolás");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Hangolás *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("PID hangolás kész");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Hangolási hiba. Rossz Adagoló.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Hangolási hiba. Magas hömérséklet.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Hangolási hiba! Idötúllépés.");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Kiválaszt");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Kiválaszt *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Gyorsítás");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Rántás");
+ PROGMEM Language_Str MSG_VA_JERK = LCD_STR_A _UxGT(" Ránt. Seb.");
+ PROGMEM Language_Str MSG_VB_JERK = LCD_STR_B _UxGT(" Ránt. Seb.");
+ PROGMEM Language_Str MSG_VC_JERK = LCD_STR_C _UxGT(" Ránt. Seb.");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("E Ránt. Seb.");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Csomopont Eltérés");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Sebesség");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Max Sebesség ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Max Sebesség ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Max Sebesség ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Max Sebesség ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Max Sebesség *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Min Sebesség");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Min Utazó.seb.");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Gyorsulás");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Max Gyors. ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Max Gyors. ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Max Gyors. ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Max Gyors. ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Max Gyorsulás *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Visszahúzás");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Utazás");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Max Frekvencia");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Min Elötolás");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Lépés/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" lépés/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" lépés/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" lépés/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E lépés/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*lépés/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Höfok");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Mozgatások");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Nyomtatószál");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E mm") SUPERSCRIPT_THREE _UxGT("-ben");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Szál. Átm.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Szál. Átm. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Kiadás mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Betöltés mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Haladó K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Haladó K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD kontraszt");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Mentés EEPROM");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Betöltés EEPROM");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Alapértelmezett");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("EEPROM Inicializálás");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("Hiba: EEPROM CRC");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("Hiba: EEPROM Index");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("Hiba: EEPROM Verzió");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Beállítások Mentve");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Tároló Frissítés");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Nyomtató Újraindítása");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Frissítés");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("<Infó Képernyö>");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Vezérlés");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Hangolás");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Nyomtatás Indítása");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Tovább");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Kezdet");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Állj");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Nyomtatás");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Újraindítás");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Mégse");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Kész");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Vissza");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Folytatás");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Szüneteltetve...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Nyomtatás Szünetelés");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Nyomtatás folytatása");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Nyomtatás leállítása");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Objektum Nyomtatása");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Objektum Törlése");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Objektum Törlése =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Kiesés Helyreáll.");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Nyomtatás Tárolóról");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Nincs Tároló");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Alvás...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Katt a folytatáshoz...");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Nyomtatás szünetelve");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Nyomtatás...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Nyomtatás leállítva");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Nyomtatás Kész");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Nincs mozgás.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("HALOTT! ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("MEGÁLLT! ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Visszahúzás mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Visszahúzás Cs. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Viszahúzás");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Ugrás mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Visszah.helyre mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Csere.Visszah.helyre mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Visszavonás V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S Vi.vo V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoVisszah.");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Visszahúzás Távolság");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Extra Csere");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Tisztítási Távolság");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Szerszámcsere");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Z Emelés");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Fösebesség");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Visszah. Sebesség");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Fej Parkolás");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Visszahúzás Sebesség");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("FAN Sebesség");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("FAN idö");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto BE");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto KI");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Szerszámcsere");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Automata Csere");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Utolsó Adagoló");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Csere *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Szál csere");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Szál csere *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Szál betöltés");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Szál betöltés *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Szál eltávolítás");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Szál eltávolítás *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Mindet Eltávolít");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Tároló");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Tároló csere");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Tároló Kiadása");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z szonda tálcán kivül");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Ferdeség Faktor");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Önteszt");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Visszaállítás");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Elhelyez");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Telepít");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW-Mód");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("5V-Mód");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("OD-Mód");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Módok");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("BLTouch 5V Mód");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("BLTouch OD Mód");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Jelentés");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("VESZÉLY: A rossz beállítások kárt okozhatnak! Biztos továbblép?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Kezd TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Z Eltolás Teszt");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Mentés");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("TouchMI Használ");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Z-Szonda Használ");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Z-Szonda Elhelyezés");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Elsö %s%s%s Kell");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Szonda Eltolások");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Szonda X Eltolás");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Szonda Y Eltolás");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Szonda Z Eltolás");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Mikrolépés X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Mikrolépés Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Mikrolépés Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Teljes");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Végállás megszakítva!");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Fütés hiba!");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Hiba: SZÜKSÉGTELEN HÖFOK");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("FÜTÉSKIMARADÁS");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("ÁGY FÜTÉSKIMARADÁS");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("KAMRA FÜTÉSKIMARADÁS");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Hiba: MAX Höfok");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Hiba: MIN Höfok");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("A NYOMTATÓ LEFAGYOTT");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Indítsd újra!");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("n"); // Csak egy karakter
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("ó"); // Csak egy karakter
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("p"); // Csak egy karakter
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Fütés...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Hütés...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Ágy fütés...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Ágy hütés...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Kamra fütés...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Kamra hütés...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibráció");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("X Kalibrálás");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Y Kalibrálás");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Z Kalibrálás");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Központ Kalibrálás");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta Beállítások");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto Kalibráció");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Delta Magasság Kalib.");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Z Szonda Eltolás");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Diag Rúd");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Magasság");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Sugár");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("A Nyomtatóról");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Nyomtató Infó");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-Pontos Szintezés");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Lineáris Szintezés");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Bilineáris Szintezés");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Egységes Ágy Szintezés");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Háló Szintezés");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Statisztikák");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Alaplap Infó");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termisztorok");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Adagolók");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Átviteli sebesség");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokoll");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Futáselemzés: KI");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Futáselemzés: BE");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Munkalámpa");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Fényerösség");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("HELYTELEN NYOMTATÓ");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Nyomtatás Számláló");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Befejezett");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Összes nyomtatási idö");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Leghosszabb munkaidö");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Összes anyag");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Nyomtatások");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Befejezett");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Összes");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Leghosszabb");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Kiadott");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Min Höfok");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Max Höfok");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("PSU");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Meghajtási Erö");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Meghajtó %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Meghajtó %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Meghajtó %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Meghajtó %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC CSATLAKOZÁSI HIBA");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC EEPROM Írása");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("NYOMTATÓSZÁL CSERE");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("NYOMTATÁS SZÜNETEL");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("SZÁL BETÖLTÉS");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("SZÁL ELTÁVOLÍTÁS");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("FOLYTATÁSI OPCIÓ:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Tisztítsd meg");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Folytatás");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Fúvóka: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Túlfutás Szenzor");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Túlfutás Táv. mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Tájolási hiba");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Szondázás hiba");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("SZÁLVÁLASZTÁS");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("MMU Szoftver Feltöltése!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU Figyelmeztetés.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Nyomtatás Folytatása");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Folytatás...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Szál Betöltése");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Összes Betöltése");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Fúvóka Betöltése");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Szál Kiadása");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Szál Kiadása ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Kiadja a szálat");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Szál betölt. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Szál kiadás....");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Szál kiadása....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Mind");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Nyomtatószál ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("MMU Újraindítás");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU Újraindul...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Eltávolít, kattint");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Kever");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Összetevö =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Keverö");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Színátm.");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Teljes Színátm.");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Váltás Keverésre");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Ciklikus Keverés");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Színátm. Keverés");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Fordított Színátm.");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Aktív V-szerszám");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Kezdés V-szerszám");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" Vége V-szerszám");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Ál V-szerszám");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Újra V-szerszám");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Gyors V-szerszám Kev.");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-szersz. visszaáll.");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Kezdés Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Vége Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Játékok");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Maze");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Nyomj gombot", "nyomtatás folytatáshoz"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkolás..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Várj míg", "szál csere", "indítás"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Szál behelyezés", "majd nyomj gombot", "a folytatáshoz"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Nyomj gombot", "a fúvóka fűtéséhez"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Fúvóka fűtése", "Kérlek várj..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Várj a", "szál kiadására"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Várj a", "szál betöltésére"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Várj a", "szál tisztításra"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Kattints a készre", "szál tiszta"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Várj a nyomtatóra", "majd folytat..."));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Katt a folytatáshoz"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkolás..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Kérlek Várj..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Behelyez majd katt"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Katt a fűtéshez"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Fűtés..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Kiadás..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Betöltés..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Tisztítás..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Katt ha kész"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Folytatás..."));
+ #endif
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("TMC Meghajtók");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Meghajtó áram");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Hibrid Küszöbérték");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Motoros Kezdöpont");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Léptetö Mód");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop Mód");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Újraindítás");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" be:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Holtjáték");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Korrekció");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Simítás");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("X Tengely Szint");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Önkalibrálás");
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Fűtéskimaradás");
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Újrafűt");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Újrafűtés...");
+}
+
+#if FAN_COUNT == 1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
+#else
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
+#endif
diff --git a/Marlin/src/lcd/language/language_it.h b/Marlin/src/lcd/language/language_it.h
new file mode 100644
index 0000000..5bfb6aa
--- /dev/null
+++ b/Marlin/src/lcd/language/language_it.h
@@ -0,0 +1,682 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Italian
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ *
+ * Substitutions are applied for the following characters when used
+ * in menu items that call lcd_put_u8str_ind_P with an index:
+ *
+ * = displays '0'....'10' for indexes 0 - 10
+ * ~ displays '1'....'11' for indexes 0 - 10
+ * * displays 'E1'...'E11' for indexes 0 - 10 (By default. Uses LCD_FIRST_TOOL)
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+
+namespace Language_it {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 1;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Italiano");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" pronta.");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("Si");
+ PROGMEM Language_Str MSG_NO = _UxGT("No");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Indietro");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Annullando...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Media inserito");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Media rimosso");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Aspettando media");
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Inizial.SD fallita");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Err.leggendo media");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("Dispos.USB rimosso");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Avvio USB fallito");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Overflow subchiamate");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Finecor."); // Max 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Finecorsa Soft");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menu principale");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Impostaz. avanzate");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Configurazione");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autostart");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Disabilita Motori");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menu di debug");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test barra avanzam.");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Auto Home");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Home asse X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Home asse Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Home asse Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Allineam.automat. Z");
+ PROGMEM Language_Str MSG_ITERATION = _UxGT("Iterazione G34: %i");
+ PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Precisione in calo!");
+ PROGMEM Language_Str MSG_ACCURACY_ACHIEVED = _UxGT("Precisione raggiunta");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Home assi XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Premi per iniziare");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Punto successivo");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Livel. terminato!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Fade Height");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Imp. offset home");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offset applicato");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Imposta Origine");
+ PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Tramming assistito");
+ PROGMEM Language_Str MSG_TRAMMING_WIZARD = _UxGT("Wizard Tramming");
+ PROGMEM Language_Str MSG_SELECT_ORIGIN = _UxGT("Selez. origine");
+ PROGMEM Language_Str MSG_LAST_VALUE_SP = _UxGT("Ultimo valore ");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Preriscalda ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Preriscalda ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Ugello ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Tutto");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" Piatto");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preris.") PREHEAT_1_LABEL _UxGT(" conf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Preriscalda $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Preriscalda $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Preris.$ Ugello");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Preris.$ Ugello ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Preris.$ Tutto");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Preris.$ Piatto");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Preris.$ conf");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Prerisc.personal.");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Raffredda");
+
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frequenza");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Controllo laser");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Controllo mandrino");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Potenza laser");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Potenza mandrino");
+ PROGMEM Language_Str MSG_LASER_TOGGLE = _UxGT("Alterna Laser");
+ PROGMEM Language_Str MSG_LASER_PULSE_MS = _UxGT("ms impulso di test");
+ PROGMEM Language_Str MSG_LASER_FIRE_PULSE = _UxGT("Spara impulso");
+ PROGMEM Language_Str MSG_SPINDLE_TOGGLE = _UxGT("Alterna mandrino");
+ PROGMEM Language_Str MSG_SPINDLE_FORWARD = _UxGT("Mandrino in avanti");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Inverti mandrino");
+
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Accendi aliment.");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Spegni aliment.");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Estrudi");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Ritrai");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Muovi Asse");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Livella piano");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Livella piano");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Calibra piano");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_RAISE = _UxGT("Regola la vite finche' la sonda non rileva il piano.");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_IN_RANGE = _UxGT("Tolleranza raggiunta su tutti gli angoli. Piano livellato!");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_GOOD_POINTS = _UxGT("Punti buoni: ");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_LAST_Z = _UxGT("Ultimo Z: ");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Prossimo punto");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Editor Mesh");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Modifica Mesh");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Modif. Mesh Fermata");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Punto sondato");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Indice X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Indice Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Valore di Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Comandi personaliz.");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("Test sonda M48");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("Punto M48");
+ PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Sonda oltre i limiti");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Deviazione");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Modo IDEX");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Strumenti Offsets");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Park");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplicazione");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Copia speculare");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Pieno controllo");
+ PROGMEM Language_Str MSG_IDEX_DUPE_GAP = _UxGT("X-Gap-X duplicato");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2° ugello X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2° ugello Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2° ugello Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("G29 in corso");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Strumenti UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Livel.letto unificato");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Punto inclinaz.");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Mesh Manuale");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Metti spes. e misura");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Misura");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Rimuovi e mis.piatto");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Spostamento succes.");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Attiva UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Disattiva UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Temp. Piatto");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Temp. Piatto");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Temp. Ugello");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Temp. Ugello");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Modifica Mesh");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Modif.Mesh personal.");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Ritocca Mesh");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Modif.Mesh fatta");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Crea Mesh personal.");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Crea Mesh");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Crea Mesh ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Valida Mesh ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Crea Mesh a freddo");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Aggiusta Alt. Mesh");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Altezza");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Valida Mesh");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 riscald.letto");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 riscald.ugello");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Priming manuale...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Prime a lung.fissa");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Priming terminato");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Annullato");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Uscita da G26");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Valida Mesh pers.");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Continua Mesh");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Livell. Mesh");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("Livell. 3 Punti");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Livell. Griglia Mesh");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Livella Mesh");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Punti laterali");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Tipo di Mappa");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Esporta Mappa");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Esporta per Host");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Esporta in CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Backup esterno");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Esporta Info UBL");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Riempimento");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Riempimento Manuale");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Riempimento Smart");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Riempimento Mesh");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Invalida Tutto");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Invalid.Punto Vicino");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Ritocca All");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Ritocca Punto Vicino");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Mesh Salvate");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Slot di memoria");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Carica Mesh Piatto");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Salva Mesh Piatto");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Mesh %i caricata");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Mesh %i salvata");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Nessuna memoria");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Err: Salvataggio UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Err: Ripristino UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Offset: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z-Offset Fermato");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("UBL passo passo");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Crea Mesh a freddo");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Riempimento Smart");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Valida Mesh");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Ritocca All");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Valida Mesh");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Ritocca All");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Salva Mesh Piatto");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Controllo LED");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Luci");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Preset luce");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Rosso");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Arancione");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Giallo");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Verde");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Blu");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indaco");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Viola");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Bianco");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Predefinito");
+ PROGMEM Language_Str MSG_LED_CHANNEL_N = _UxGT("Canale =");
+ PROGMEM Language_Str MSG_LEDS2 = _UxGT("Luci #2");
+ PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Luce #2 Presets");
+ PROGMEM Language_Str MSG_NEO2_BRIGHTNESS = _UxGT("Luminosità");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Luci personalizzate");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Intensità rosso");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Intensità verde");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Intensità blu");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Intensità bianco");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Luminosità");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("In movimento...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("XY liberi");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Muovi X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Muovi Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Muovi Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Estrusore");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Estrusore *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Ugello freddo");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Muovi di %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Muovi di 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Muovi di 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Muovi di 10mm");
+ PROGMEM Language_Str MSG_MOVE_0001IN = _UxGT("Muovi di 0.001in");
+ PROGMEM Language_Str MSG_MOVE_001IN = _UxGT("Muovi di 0.01in");
+ PROGMEM Language_Str MSG_MOVE_01IN = _UxGT("Muovi di 0.1in");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Velocità");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Piatto Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Ugello");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Ugello ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Ugello parcheggiato");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Ugello in pausa");
+ PROGMEM Language_Str MSG_BED = _UxGT("Piatto");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Camera");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. ventola"); // Max 15 characters
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. ventola ~"); // Max 15 characters
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Ventola mem. ~"); // Max 15 characters
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra vel.vent."); // Max 15 characters
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra v.vent. ~"); // Max 15 characters
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Controller vent.");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Vel. inattivo");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Modo autom.");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Vel. attivo");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Tempo inattivo");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flusso");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flusso ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Controllo");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("On");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Off");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("Calibrazione PID");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("Calibraz. PID *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("Calibr.PID eseguita");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Calibrazione fallita. Estrusore errato.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Calibrazione fallita. Temperatura troppo alta.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Calibrazione fallita! Tempo scaduto.");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Seleziona");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Seleziona *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Accel");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-jerk");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-jerk");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-jerk");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-jerk");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Deviaz. giunzioni");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocità");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VTrav min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Accelerazione");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-Ritrazione");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-Spostamento");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Frequenza max");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Feed min");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Passi/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("passi/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("passi/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("passi/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("Epassi/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*passi/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Movimento");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("Limite E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("Limite E *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diam. filo");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diam. filo *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Rimuovi mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Carica mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K Avanzamento");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K Avanzamento *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contrasto LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Salva impostazioni");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Carica impostazioni");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Ripristina imp.");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Inizializza EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("Err: CRC EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("Err: Indice EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("Err: Versione EEPROM");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Impostazioni mem.");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Aggiorna media");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Resetta stampante");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Aggiorna");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Schermata info");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Prepara");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Regola");
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Controllo aliment.");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("Corrente");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Tensione");
+ PROGMEM Language_Str MSG_POWER = _UxGT("Potenza");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Avvia stampa");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Prossimo");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Inizializza");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Stop");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Stampa");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Resetta");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Ignora");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Annulla");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Fatto");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Indietro");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Procedi");
+ PROGMEM Language_Str MSG_BUTTON_SKIP = _UxGT("Salta");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Messa in pausa...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausa stampa");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Riprendi stampa");
+ PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Host Avvio");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Arresta stampa");
+ PROGMEM Language_Str MSG_END_LOOPS = _UxGT("Fine cicli di rip.");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Stampa Oggetto");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancella Oggetto");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Canc. Oggetto =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Ripresa da PowerLoss");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Stampa da media");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Media non presente");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Sospensione...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Premi tasto..");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Stampa sospesa");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Stampa...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Stampa Annullata");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Stampa Eseguita");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Nessun Movimento");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("UCCISO. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ARRESTATO. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Ritrai mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Scamb. Ritrai mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Ritrai V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Salta mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Avanza mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Scamb. Avanza mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Avanza V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Scamb. Avanza V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("AutoRitrai");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Lunghezza scambio");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Extra scambio");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Lunghezza spurgo");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Cambio utensile");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Risalita Z");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Velocità innesco");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Velocità ritrazione");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Parcheggia testa");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Recover Speed");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Velocità ventola");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Tempo ventola");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto ON");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto OFF");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Migrazione utensile");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Auto-migrazione");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Ultimo estrusore");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Migra a *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Cambia filamento");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Cambia filam. *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Carica filamento");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Carica filamento *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Rimuovi filamento");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Rimuovi filam. *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Rimuovi tutto");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Collega media");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Cambia media");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Rilascia media");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z probe fuori piatto");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Fattore distorsione");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Autotest BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Resetta BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Estendi BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("BLTouch modo SW");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("BLTouch modo 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("BLTouch modo OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("BLTouch modo mem.");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Metti BLTouch a 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Metti BLTouch a OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Segnala modo");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("PERICOLO: impostazioni errate possono cause danni! Procedo comunque?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Inizializ.TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Test Z offset");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Memorizzare");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Estendi TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Estendi Sonda-Z");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Ritrai BLTouch");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Ritrai Sonda-Z");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Home %s%s%s prima");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Offsets sonda");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Offset X sonda");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Offset Y sonda");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Offset Z sonda");
+ PROGMEM Language_Str MSG_MOVE_NOZZLE_TO_BED = _UxGT("Muovi ugel.su letto");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Totali");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Finecorsa annullati");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Risc.Fallito"); // Max 12 caratteri
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Err: TEMP RIDONDANTE");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("TEMP FUORI CONTROLLO");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("TEMP PIAT.FUORI CTRL");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("T.CAMERA FUORI CTRL");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: TEMP MASSIMA");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: TEMP MINIMA");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("STAMPANTE FERMATA");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Riavviare prego");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("g"); // Un solo carattere
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // Un solo carattere
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // Un solo carattere
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Riscaldamento...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Raffreddamento..");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Risc. piatto...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Raffr. piatto...");
+ PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Risc. sonda...");
+ PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Raffr. sonda...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Risc. camera...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Raffr. camera...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibraz. Delta");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibra X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibra Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibra Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibra centro");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Impostaz. Delta");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto calibrazione");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Imp. altezza Delta");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Offset sonda-Z");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Barra Diagonale");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Altezza");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Raggio");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Riguardo stampante");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Info. stampante");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("Livel. a 3 punti");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Livel. Lineare");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Livel. Bilineare");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Livel.piatto unific.");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Livel. Mesh");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Statistiche");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Info. scheda");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistori");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Estrusori");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baud");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocollo");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Controllo fuga: OFF");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Controllo fuga: ON");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Timeout inatt.ugello");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Luci Case");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Luminosità Luci");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("STAMPANTE ERRATA");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Contat. stampa");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completati");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tempo totale");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Lavoro più lungo");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Totale estruso");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Stampe");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completati");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Durata");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Più lungo");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Estruso");
+ #endif
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Temp min");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temp max");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Alimentatore");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Potenza Drive");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("ERR.CONNESSIONE TMC");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Scrivi DAC EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("CAMBIO FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("STAMPA IN PAUSA");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("CARICA FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("RIMUOVI FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("OPZIONI RIPRESA:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Spurga di più");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Riprendi stampa");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Ugello: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Sens.filo termin."); // Max 17 characters
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Dist mm filo term.");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Home fallito");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Sondaggio fallito");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("SCELTA FILAMENTO");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Agg.firmware MMU!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU chiede attenz.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("MMU riprendi");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("MMU ripresa...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("MMU carica");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("MMU carica tutto");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Carica fino ugello");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("MMU espelli");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("MMU espelli ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("MMU scarica");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Caric.fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Esplus.filam. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Scaric.filam. ...");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Tutto");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filamento ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Azzera MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Azzeramento MMU...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Rimuovi, click");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Miscela");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Componente =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Miscelatore");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradiente");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Gradiente pieno");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Alterna miscela");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Ciclo miscela");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Miscela gradiente");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Inverti gradiente");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("V-tool attivo");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("V-tool iniziale");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT("V-tool finale");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("V-tool alias");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Ripristina V-tools");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Commit mix V-tool");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-tools ripristin.");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Z inizio:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT("Z fine:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Giochi");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Maze");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Indice pag. errato");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Vel. pag. errata");
+
+ PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Modif.password");
+ PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Login richiesto");
+ PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Impostaz.password");
+ PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Inserisci cifra");
+ PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Imp./Modif.password");
+ PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Elimina password");
+ PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("La password è ");
+ PROGMEM Language_Str MSG_START_OVER = _UxGT("Ricominciare");
+ PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Ricordati di mem.!");
+ PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Password eliminata");
+
+ //
+ // Le schermate di Cambio Filamento possono visualizzare fino a 3 linee su un display a 4 righe
+ // ...o fino a 2 linee su un display a 3 righe.
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_3_LINE("Premi per", "riprendere", "la stampa"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parcheggiando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Attendere avvio", "del cambio", "di filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Inserisci il", "filamento e premi", "per continuare"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Premi per", "riscaldare ugello"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Riscaldam. ugello", "Attendere prego..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Attendere", "l'espulsione", "del filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_3_LINE("Attendere", "il caricamento", "del filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_3_LINE("Attendere", "lo spurgo", "del filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_3_LINE("Premi x terminare", "lo spurgo", "del filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Attendere", "la ripresa", "della stampa..."));
+ #else // LCD_HEIGHT < 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Premi x continuare"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Attendere..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Inserisci e premi"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Riscalda ugello"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Riscaldamento..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Espulsione..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Caricamento..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Spurgo filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Premi x terminare"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Ripresa..."));
+ #endif // LCD_HEIGHT < 4
+
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("Driver TMC");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Correnti driver");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Soglia modo ibrido");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Sensorless homing");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Stealthchop");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("Stealthchop");
+
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Resetta");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" tra:");
+
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Gioco");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Correzione");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Appianamento");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Livello asse X");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto Calibra");
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Timeout riscaldatore");
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Riscalda");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Riscaldando...");
+
+ PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Wizard Z offset");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_PROBING = _UxGT("Altezza di riferimento sonda");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_MOVING = _UxGT("Spostati in posizione di rilevazione");
+
+ PROGMEM Language_Str MSG_SOUND = _UxGT("Suoni");
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Alto sinistra");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Basso sinistra");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Alto destra");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Basso destra");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Calibrazione completata");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Calibrazione fallita");
+}
diff --git a/Marlin/src/lcd/language/language_jp_kana.h b/Marlin/src/lcd/language/language_jp_kana.h
new file mode 100644
index 0000000..8431d86
--- /dev/null
+++ b/Marlin/src/lcd/language/language_jp_kana.h
@@ -0,0 +1,252 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Japanese (Kana)
+ * UTF-8 for Graphical Display
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+//#define DISPLAY_CHARSET_ISO10646_KANA
+
+namespace Language_jp_kana {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 3;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Japanese");
+
+ // This is just to show the potential benefit of Unicode.
+ // This translation can be improved by using the full charset of unicode codeblock U+30A0 to U+30FF.
+
+ // 片仮名表示定義
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" ジュンビカンリョウ");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("メディアガソウニュウサレマシタ"); // "Card inserted"
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("メディアガアリマセン"); // "Card removed"
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("メディアノトリダシ");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("エンドストップ"); // "Endstops" // Max length 8 characters
+ PROGMEM Language_Str MSG_MAIN = _UxGT("メイン"); // "Main"
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("ジドウカイシ"); // "Autostart"
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("モーターデンゲン オフ"); // "Disable steppers"
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("デバッグメニュー"); // "Debug Menu"
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("プログレスバー テスト"); // "Progress Bar Test"
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("ゲンテンフッキ"); // "Auto home"
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Xジク ゲンテンフッキ"); // "Home X"
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Yジク ゲンテンフッキ"); // "Home Y"
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Zジク ゲンテンフッキ"); // "Home Z"
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("ゲンテンフッキチュウ"); // "Homing XYZ"
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("レベリングカイシ"); // "Click to Begin"
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("ツギノソクテイテンヘ"); // "Next Point"
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("レベリングカンリョウ"); // "Leveling Done!"
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("キジュンオフセットセッテイ"); // "Set home offsets"
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("オフセットガテキヨウサレマシタ"); // "Offsets applied"
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("キジュンセット"); // "Set origin"
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = PREHEAT_1_LABEL _UxGT(" ヨネツ"); // "Preheat " PREHEAT_1_LABEL
+ PROGMEM Language_Str MSG_PREHEAT_1_H = PREHEAT_1_LABEL _UxGT(" ヨネツ ~"); // "Preheat " PREHEAT_1_LABEL
+ PROGMEM Language_Str MSG_PREHEAT_1_END = PREHEAT_1_LABEL _UxGT(" ヨネツノズル"); // " Nozzle"
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = PREHEAT_1_LABEL _UxGT(" ヨネツノズル ~"); // " Nozzle"
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = PREHEAT_1_LABEL _UxGT(" スベテヨネツ"); // " All"
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = PREHEAT_1_LABEL _UxGT(" ベッドヨネツ"); // " Bed"
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = PREHEAT_1_LABEL _UxGT(" ヨネツセッテイ"); // " conf"
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("$ ヨネツ"); // "Preheat " PREHEAT_1_LABEL
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("$ ヨネツ ~"); // "Preheat " PREHEAT_1_LABEL
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("$ ヨネツノズル"); // " Nozzle"
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("$ ヨネツノズル ~"); // " Nozzle"
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("$ スベテヨネツ"); // " All"
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("$ ベッドヨネツ"); // " Bed"
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("$ ヨネツセッテイ"); // " conf"
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("カネツテイシ"); // "Cooldown"
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("デンゲン オン"); // "Switch power on"
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("デンゲン オフ"); // "Switch power off"
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("オシダシ"); // "Extrude"
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("ヒキコミセッテイ"); // "Retract"
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("ジクイドウ"); // "Move axis"
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("ベッドレベリング"); // "Bed leveling"
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("ベッドレベリング"); // "Level bed"
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("イドウチュウ"); // "Moving..."
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("XYジク カイホウ"); // "Free XY"
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Xジク イドウ"); // "Move X"
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Yジク イドウ"); // "Move Y"
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Zジク イドウ"); // "Move Z"
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("エクストルーダー"); // "Extruder"
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("%smm イドウ"); // "Move 0.025mm"
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("0.1mm イドウ"); // "Move 0.1mm"
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT(" 1mm イドウ"); // "Move 1mm"
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT(" 10mm イドウ"); // "Move 10mm"
+ PROGMEM Language_Str MSG_SPEED = _UxGT("ソクド"); // "Speed"
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Zオフセット"); // "Bed Z"
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("ノズル"); // "Nozzle"
+ PROGMEM Language_Str MSG_BED = _UxGT("ベッド"); // "Bed"
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("ファンソクド"); // "Fan speed"
+ PROGMEM Language_Str MSG_FLOW = _UxGT("トシュツリョウ"); // "Flow"
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("セイギョ"); // "Control"
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" サイテイ"); // " Min"
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" サイコウ"); // " Max"
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" ファクター"); // " Fact"
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("ジドウオンドセイギョ"); // "Autotemp"
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("オン"); // "On"
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("オフ"); // "Off"
+ PROGMEM Language_Str MSG_SELECT = _UxGT("センタク"); // "Select"
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("センタク *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("カソクド mm/s") SUPERSCRIPT_TWO; // "Accel"
+ PROGMEM Language_Str MSG_JERK = _UxGT("ヤクドウ mm/s"); // "Jerk"
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("ジク ヤクドウ mm/s") LCD_STR_A; // "Va-jerk"
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("ジク ヤクドウ mm/s") LCD_STR_B; // "Vb-jerk"
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("ジク ヤクドウ mm/s") LCD_STR_C; // "Vc-jerk"
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("ステップ/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("ステップ/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("ステップ/mm");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("エクストルーダー ヤクド"); // "Ve-jerk"
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("サイダイオクリソクド ") LCD_STR_A; // "Vmax A"
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("サイダイオクリソクド ") LCD_STR_A; // "Vmax B"
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("サイダイオクリソクド ") LCD_STR_A; // "Vmax C"
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("サイダイオクリソクド ") LCD_STR_A; // "Vmax E"
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("サイダイオクリソクド *"); // "Vmax E1"
+ PROGMEM Language_Str MSG_VMIN = _UxGT("サイショウオクリソクド"); // "Vmin"
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("サイショウイドウソクド"); // "VTrav min"
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("カソクド mm/s") SUPERSCRIPT_TWO; // "Accel"
+ PROGMEM Language_Str MSG_AMAX = _UxGT("サイダイカソクド "); // "Amax "
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("ヒキコミカソクド"); // "A-retract"
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("イドウカソクド"); // "A-travel"
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("オンド"); // "Temperature"
+ PROGMEM Language_Str MSG_MOTION = _UxGT("ウゴキセッテイ"); // "Motion"
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("フィラメント"); // "Filament"
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("フィラメントチョッケイ"); // "Fil. Dia."
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("フィラメントチョッケイ *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCDコントラスト"); // "LCD contrast"
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("EEPROMヘホゾン"); // "Store memory"
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("EEPROMカラヨミコミ"); // "Load memory"
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("セッテイリセット"); // "Restore Defaults"
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("リフレッシュ"); // "Refresh"
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("ジョウホウガメン"); // "Info screen"
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("ジュンビセッテイ"); // "Prepare"
+ PROGMEM Language_Str MSG_TUNE = _UxGT("チョウセイ"); // "Tune"
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("イチジテイシ"); // "Pause print"
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("プリントサイカイ"); // "Resume print"
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("プリントテイシ"); // "Stop print"
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("メディアカラプリント"); // "Print from SD"
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("メディアガアリマセン"); // "Card removed"
+ PROGMEM Language_Str MSG_DWELL = _UxGT("キュウシ"); // "Sleep..."
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("ツヅケルニハクリックシテクダサイ"); // "Wait for user..."
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("プリントガチュウシサレマシタ"); // "Print aborted"
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("ウゴキマセン"); // "No move."
+ PROGMEM Language_Str MSG_KILLED = _UxGT("ヒジョウテイシ"); // "KILLED. "
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("テイシシマシタ"); // "STOPPED. "
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("ヒキコミリョウ mm"); // "Retract mm"
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("ヒキコミリョウS mm"); // "Swap Re.mm"
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("ヒキコミソクド mm/s"); // "Retract V"
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("ノズルタイヒ mm"); // "Hop mm"
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("ホショウリョウ mm"); // "Unretr. mm"
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("ホショウリョウS mm"); // "S Unretr. mm"
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("ホショウソクド mm/s"); // "Unretract V"
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("ジドウヒキコミ"); // "Auto-Retract"
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("フィラメントコウカン"); // "Change filament"
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("メディアサイヨミコミ"); // "Init. SD card"
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("メディアコウカン"); // "Change SD card"
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Zプローブ ベッドガイ"); // "Z probe out. bed"
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch ジコシンダン"); // "BLTouch Self-Test"
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("BLTouch リセット"); // "Reset BLTouch"
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("サキニ %s%s%s ヲフッキサセテクダサイ"); // "Home ... first"
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Zオフセット"); // "Z Offset"
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Xジク ビドウ"); // "Babystep X"
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Yジク ビドウ"); // "Babystep Y"
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Zジク ビドウ"); // "Babystep Z"
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("イドウゲンカイケンチキノウ"); // "Endstop abort"
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("カネツシッパイ"); // "Heating failed"
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("エラー:ジョウチョウサーミスターキノウ"); // "Err: REDUNDANT TEMP"
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ネツボウソウ"); // "THERMAL RUNAWAY"
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("エラー:サイコウオンチョウカ"); // "Err: MAXTEMP"
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("エラー:サイテイオンミマン"); // "Err: MINTEMP"
+ PROGMEM Language_Str MSG_HALTED = _UxGT("プリンターハテイシシマシタ"); // "PRINTER HALTED"
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("リセットシテクダサイ"); // "Please reset"
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("カネツチュウ"); // "Heating..."
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("ベッド カネツチュウ"); // "Bed Heating..."
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("デルタ コウセイ"); // "Delta Calibration"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Xジク コウセイ"); // "Calibrate X"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Yジク コウセイ"); // "Calibrate Y"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Zジク コウセイ"); // "Calibrate Z"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("チュウシン コウセイ"); // "Calibrate Center"
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("コノプリンターニツイテ"); // "About Printer"
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("プリンタージョウホウ"); // "Printer Info"
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("プリントジョウキョウ"); // "Printer Stats"
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("セイギョケイジョウホウ"); // "Board Info"
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("サーミスター"); // "Thermistors"
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("エクストルーダースウ"); // "Extruders"
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("ボーレート"); // "Baud"
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("プロトコル"); // "Protocol"
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("キョウタイナイショウメイ"); // "Case light"
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("プリントスウ "); // "Print Count"
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("カンリョウスウ"); // "Completed"
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("プリントジカンルイケイ"); // "Total print time"
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("サイチョウプリントジカン"); // "Longest job time"
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("フィラメントシヨウリョウルイケイ"); // "Extruded total"
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("セッテイサイテイオン"); // "Min Temp"
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("セッテイサイコウオン"); // "Max Temp"
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("デンゲンシュベツ"); // "Power Supply"
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("モータークドウリョク"); // "Drive Strength"
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X DACシュツリョク %"); // "X Driver %"
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y DACシュツリョク %"); // "Y Driver %"
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z DACシュツリョク %"); // "Z Driver %"
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E DACシュツリョク %"); // "E Driver %"
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("EEPROMヘホゾン"); // "Store memory"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("イチジテイシ");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("プリントサイカイ"); // "Resume print"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_2_LINE("コウカンヲカイシシマス", "シバラクオマチクダサイ")); // "Wait for start of the filament"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("フィラメントヌキダシチュウ", "シバラクオマチクダサイ")); // "Wait for filament unload"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_2_LINE("フィラメントヲソウニュウシ,", "クリックスルトゾッコウシマス")); // "Insert filament and press button"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("フィラメントソウテンチュウ", "シバラクオマチクダサイ")); // "Wait for filament load"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("プリントヲサイカイシマス", "シバラクオマチクダサイ")); // "Wait for print to resume"
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("マチガッタプリンター"); // "Wrong printer"
+
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("セッテイカンリ");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("ショウサイセッテイ");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("コショカイフク");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("EEPROMショキカ");
+
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("ツギヘ");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("ショキカ");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("ストップ");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("プリント");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("リセット");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("キャンセル");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("カンリョウ");
+
+ PROGMEM Language_Str MSG_YES = _UxGT("ハイ");
+ PROGMEM Language_Str MSG_NO = _UxGT("イイエ");
+ PROGMEM Language_Str MSG_BACK = _UxGT("モドリ");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("ソクド");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("ステップ/mm");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("ユーザーコマンド");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("プリントガイチジテイシサレマシタ");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("プリントチュウ...");
+}
diff --git a/Marlin/src/lcd/language/language_ko_KR.h b/Marlin/src/lcd/language/language_ko_KR.h
new file mode 100644
index 0000000..2070089
--- /dev/null
+++ b/Marlin/src/lcd/language/language_ko_KR.h
@@ -0,0 +1,106 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Korean
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+namespace Language_ko_KR {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 1;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Korean");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" 준비.");
+ PROGMEM Language_Str MSG_BACK = _UxGT("뒤로");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("카드 삽입됨");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("카드 제거됨");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("엔드스탑");
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("소프트 엔드스탑");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("뒤로");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("고급 설정");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("설정");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("자동 시작");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("모터 정지");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("디버깅 메뉴");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _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("다음 Point");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("레벨링 완료!");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("예열하기 - ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("예열하기 - ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("예열하기 - ") PREHEAT_1_LABEL _UxGT(" 노즐 ~");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("예열하기 - $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("예열하기 - $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("예열하기 - $ 노즐");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("예열하기 - $ 노즐 ~");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Custom 예열");
+ 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_IDEX_MODE_MIRRORED_COPY = _UxGT("미러 사본");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("오토레벨링 하기");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("노즐");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("노즐 ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("베드");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("펜 속도");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("펜 속도 ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("엑스트라 펜 속도");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("엑스트라 펜 속도 ~");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("온도");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("동작");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("설정 저장하기");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("설정 읽어오기");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("설정 되돌리기");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("EEPROM 초기화");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("새로고침");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("처음으로");
+ PROGMEM Language_Str MSG_PREPARE = _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_PRINT_PAUSED = _UxGT("일시 정지됨");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("출력중...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("취소됨");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("죽음. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("멈춤. ");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("잘못된 프린터");
+}
diff --git a/Marlin/src/lcd/language/language_nl.h b/Marlin/src/lcd/language/language_nl.h
new file mode 100644
index 0000000..82e5c29
--- /dev/null
+++ b/Marlin/src/lcd/language/language_nl.h
@@ -0,0 +1,231 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Dutch
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+#define NOT_EXTENDED_ISO10646_1_5X7
+
+namespace Language_nl {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 1;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Dutch");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" gereed.");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Terug");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Kaart ingestoken");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Kaart verwijderd");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstops"); // Max length 8 characters
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Hoofdmenu");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autostart");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Motoren uit");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Debug Menu"); // accepted English terms
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Vooruitgang Test");
+
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Klik voor begin");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Volgende Plaats");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Bed level kompl.");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Zet home offsets");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("H offset toegep.");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Nulpunt instellen");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = PREHEAT_1_LABEL _UxGT(" voorverwarmen");
+ PROGMEM Language_Str MSG_PREHEAT_1_H = PREHEAT_1_LABEL _UxGT(" voorverw. ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_END = PREHEAT_1_LABEL _UxGT(" voorverw. Einde");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = PREHEAT_1_LABEL _UxGT(" voorverw. Einde ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = PREHEAT_1_LABEL _UxGT(" voorverw. aan");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = PREHEAT_1_LABEL _UxGT(" voorverw. Bed");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = PREHEAT_1_LABEL _UxGT(" verw. conf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("$ voorverwarmen");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("$ voorverw. ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("$ voorverw. Einde");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("$ voorverw. Einde ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("$ voorverw. aan");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("$ voorverw. Bed");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("$ verw. conf");
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Afkoelen");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Stroom aan");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Stroom uit");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrude");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retract");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("As verplaatsen");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Bed Leveling");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Level bed");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Verplaatsen...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Vrij XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Verplaats X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Verplaats Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Verplaats Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Verplaats %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Verplaats 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Verplaats 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Verplaats 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Snelheid");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozzle");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Bed");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Fan snelheid");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Fan snelheid ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flow");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flow ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Aan");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Uit");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Selecteer");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Selecteer *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Versn");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatuur");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Beweging");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K"); // accepted english dutch
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *"); // accepted english dutch
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD contrast");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Geheugen opslaan");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Geheugen laden");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Noodstop reset");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Ververs");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info scherm");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Voorbereiden");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Afstellen");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Print pauzeren");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Print hervatten");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Print stoppen");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Print van SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Geen SD kaart");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Slapen...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Wachten...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Print afgebroken");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Geen beweging.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("Afgebroken. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("Gestopt. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retract mm"); // accepted English term in Dutch
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Ruil Retract mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retract F");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Ruil Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretr. FR");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Verv. Filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Verv. Filament *");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Init. SD kaart");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Verv. SD Kaart");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z probe uit. bed");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch Zelf-Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reset BLTouch");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Home %s%s%s Eerst");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Z Offset"); // accepted English term in Dutch
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystap X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystap Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystap Z");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Endstop afbr.");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Voorverw. fout");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Redun. temp fout");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("Therm. wegloop");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: Max. temp");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: Min. temp");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("PRINTER GESTOPT");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Reset A.U.B.");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only. Keep English standard
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Voorwarmen...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Bed voorverw...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Calibratie");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibreer X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibreer Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibreer Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibreer Midden");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto Calibratie");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Zet Delta Hoogte");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Case licht");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Onjuiste printer");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Printed Aantal");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Totaal Voltooid");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Totale Printtijd");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Langste Printtijd");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Totaal Extrudeert");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Aantal");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Voltooid");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Printtijd ");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Langste");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extrud.");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Min Temp");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Max Temp");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("PSU"); // accepted English term in Dutch
+
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Motorstroom");
+
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC Opslaan");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Hervat print");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Nozzle: "); // accepted English term
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ // Up to 3 lines
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Wacht voor start", "filament te", "verwisselen"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Wacht voor", "filament uit", "te laden"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Klik knop om...", "verw. nozzle.")); //nozzle accepted English term
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Nozzle verw.", "Wacht a.u.b."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Laad filament", "en druk knop", "om verder..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_3_LINE("Wacht voor", "filament te", "laden"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Wacht voor print", "om verder", "te gaan"));
+ #else
+ // Up to 2 lines
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_2_LINE("Wacht voor", "start..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Wacht voor", "uitladen..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Klik knop om...", "verw. nozzle.")); //nozzle accepted English term
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Verwarmen..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_2_LINE("Laad filament", "en druk knop"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Wacht voor", "inladen..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Wacht voor", "printing..."));
+ #endif
+}
diff --git a/Marlin/src/lcd/language/language_pl.h b/Marlin/src/lcd/language/language_pl.h
new file mode 100644
index 0000000..bf7d32e
--- /dev/null
+++ b/Marlin/src/lcd/language/language_pl.h
@@ -0,0 +1,529 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Polish - includes accented characters
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_PL
+
+namespace Language_pl {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Polish");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" gotowy.");
+ PROGMEM Language_Str MSG_YES = _UxGT("TAK");
+ PROGMEM Language_Str MSG_NO = _UxGT("NIE");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Wstecz");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Przerywanie...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Karta włożona");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Karta usunięta");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Oczekiwanie na kartę");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Bład odczytu karty");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("Urządzenie USB usunięte");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Błąd uruchomienia USB");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Krańców."); // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Progr. Krańcówki");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menu główne");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Ustawienie zaawansowane");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Konfiguracja");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autostart");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Wyłącz silniki");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menu Debugowania");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Testowy pasek postępu");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Pozycja zerowa");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Zeruj X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Zeruj Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Zeruj Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Autowyrównanie Z");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Pozycja zerowa");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Kliknij by rozp.");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Następny punkt");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Wypoziomowano!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Wys. zanikania");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Ust. poz. zer.");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Poz. zerowa ust.");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Ustaw punkt zero");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Rozgrzej ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Rozgrzej ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" Dysza ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" wsz.");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" stół");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Rozgrzej ") PREHEAT_1_LABEL _UxGT(" ustaw.");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Rozgrzej $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Rozgrzej $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Rozgrzej $ Dysza");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Rozgrzej $ Dysza ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Rozgrzej $ wsz.");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Rozgrzej $ stół");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Rozgrzej $ ustaw.");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Rozgrzej własne ust.");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Chłodzenie");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Sterowanie Lasera");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Zasilanie Lasera");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Sterowanie wrzeciona");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Zasilanie wrzeciona");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Rewers wrzeciona");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Włącz zasilacz");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Wyłącz zasilacz");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Ekstruzja");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Wycofanie");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Ruch osi");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Poziomowanie stołu");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Wypoziomuj stół");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Narożniki poziomowania");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Nastepny narożnik");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Edytor siatki");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Edycja siatki");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Edycja siatki zatrzymana");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Punkt pomiarowy");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Indeks X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Indeks Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Wartość Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Własne Polecenia");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Test sondy");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Punky");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Odchylenie");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Tryb IDEX");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Przesunięcie narzędzia");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Parkowanie");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplikowanie");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Kopia lustrzana");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Pełne sterowanie");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2ga dysza X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2ga dysza Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2ga dysza Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Wykonywanie G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Narzędzia UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Punkt pochylenia");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Ręczne Budowanie Siatki");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Umieść podkładkę i zmierz");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Zmierz");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Usuń & Zmierz Stół");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Przesuwanie do następnego");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Aktywacja UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Dezaktywacja UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Temperatura stołu");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Temperatura stołu");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Temperatura dyszy");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Temperatura dyszy");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Edycja siatki");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Edycja własnej siatki");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Dostrajanie siatki");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Koniec edycji siati");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Buduj własna siatkę");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Buduj siatkę");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Buduj siatkę ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Sprawdzenie siatki ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Buduj siatkę na zimno");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Dostrojenie wysokości siatki");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Wartość wysokości");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Sprawdzenie siatki");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Sprawdzenie własnej siatki");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Nagrzewanie stołu");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Nagrzewanie dyszy");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Napełnianie ręczne...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Napełnij kreśloną długością");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Napełnianie zakończone");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Przewane");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Opuszczanie G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Kontynuuj tworzenie siatki");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Poziomowanie siatką");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("Poziomowaie 3-punktowe");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Poziomowaie według siatki");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Poziomuj siatkę");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Punkty boczne");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Rodzaj mapy");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Wyslij mapę siatki");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Wyslij do Hosta");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Wyslij do CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Kopia poza drukarką");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Wyslij info UBL");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Stopień wypełnienia");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Ręczne wypełnienie");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Inteligentne wypełnienie");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Wypełnienie siatki");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Unieważnij wszystko");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Unieważnij najbliższy");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Dostrajaj wszystko");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Dostrajaj najbliższy");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Przechowywanie siatki");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Slot Pamięci");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Załaduj siatkę stołu");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Zapisz siatkę stołu");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Siatka %i załadowana");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Siatka %i zapisana");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Brak magazynu");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Błąd: Zapis UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Bład: Odczyt UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Przesunięcie Z: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Przesunięcie Z zatrzymane");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("UBL Krok po kroku");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. Tworzenie zimnej siatki");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. Inteligentne wypełnienie");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. Sprawdzenie siatki");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. Dostrojenie wszystkiego");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. Sprawdzenie siatki");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. Dostrojenie wszystkiego");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. Zapis siatki stołu");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Sterowanie LED");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Światła");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Ustawienia świateł");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Czerwony");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Pomarańczowy");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Zółty");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Zielony");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Niebieski");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indygo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Fioletowy");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Biały");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Domyślny");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Własne światła");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Czerwony");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Zielony");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Niebieski");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Biały");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Jasność");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Ruch...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Swobodne XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Przesuń w X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Przesuń w Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Przesuń w Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Ekstruzja (os E)");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Ekstruzja (os E) *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Dysza za zimna");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Przesuń co %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Przesuń co .1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Przesuń co 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Przesuń co 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Predkość");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Stół Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Dysza");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Dysza ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Stół");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Obudowa");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Obroty wiatraka");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Obroty wiatraka ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Obroty dodatkowego wiatraka");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Obroty dodatkowego wiatraka ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Przepływ");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Przepływ ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Ustawienia");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Mnożnik");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Auto. temperatura");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Wł.");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Wył.");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autostrojenie");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autostrojenie *");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Wybierz");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Wybierz *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Przyspieszenie");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Zryw");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("Zryw V") LCD_STR_A;
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("Zryw V") LCD_STR_B;
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("Zryw V") LCD_STR_C;
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Zryw Ve");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Junction Dev");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Prędkość (V)");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vskok min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Przyspieszenie (A)");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-wycofanie");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-przesuń.");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("kroki/mm");
+ PROGMEM Language_Str MSG_A_STEPS = _UxGT("kroki") LCD_STR_A _UxGT("/mm");
+ PROGMEM Language_Str MSG_B_STEPS = _UxGT("kroki") LCD_STR_B _UxGT("/mm");
+ PROGMEM Language_Str MSG_C_STEPS = _UxGT("kroki") LCD_STR_C _UxGT("/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("krokiE/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("kroki */mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Ruch");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E w mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Śr. fil.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Śr. fil. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Wysuń mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Wsuń mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Kontrast LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Zapisz w pamięci");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Wczytaj z pamięci");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Ustaw. fabryczne");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Initializuj EEPROM");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Uaktualnij kartę");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Resetuj drukarkę");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Odswież");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Ekran główny");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Przygotuj");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Strojenie");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Start wydruku");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Następny");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Inic.");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Stop");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Drukuj");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Resetuj");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Przerwij");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Gotowe");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Wstrzymaj druk");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Wznowienie");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Stop");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Odzyskiwanie po awarii");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Karta SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Brak karty");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Uśpij...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Oczekiwanie...");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Druk wstrzymany");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Drukowanie...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Druk przerwany");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Brak ruchu");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("Ubity. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("Zatrzymany. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Wycofaj mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Z Wycof. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Wycofaj V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Skok Z mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Cof. wycof. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Z Cof. wyc. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Cof. wycof. V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto. wycofanie");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Długość zmiany");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Długość oczyszczania");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Zmiana narzędzia");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Podniesienie Z");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Prędkość napełniania");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Prędkość wycofania");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Dysza w oczekiwaniu");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Zmień filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Zmień filament *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Wsuń Filament");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Wsuń Filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Wysuń Filament");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Wysuń Filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Wysuń wszystkie");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Inicjal. karty SD");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Zmiana karty SD");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Zwolnienie karty");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda Z za stołem");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Współczynik skrzywienia");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch Self-Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reset BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Stow");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Deploy");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("5V-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("OD-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Mode-Store");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Set BLTouch to 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Set BLTouch to OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Report Drain");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("UWAGA: Złe ustawienia mogą uszkodzić drukarkę. Kontynuować?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Init TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Z Offset Test");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Save");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Deploy TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Deploy Z-Probe");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Stow Z-Probe");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Najpierw Home %s%s%s");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Offset Z");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Łącznie");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Błąd krańcówki");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Rozgrz. nieudane");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Błąd temperatury");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ZANIK TEMPERATURY");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("ZANIK TEMP. STOŁU");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("ZANIK TEMP.KOMORY");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Błąd: MAXTEMP");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Błąd: MINTEMP");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("Drukarka zatrzym.");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Proszę zresetować");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("g"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Rozgrzewanie...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Chłodzenie...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Rozgrzewanie stołu...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Chłodzenie stołu...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Rozgrzewanie komory...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Chłodzenie komory...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Kalibrowanie Delty");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibruj X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibruj Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibruj Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibruj środek");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Ustawienia delty");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto kalibrowanie");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Ustaw wysokość delty");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Przesun. Z sondy");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Ukośne ramię");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Wysokość");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Promień");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("O drukarce");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Info drukarki");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("Poziomowanie 3-punktowe");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Poziomowanie liniowe");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Poziomowanie biliniowe");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Poziomowanie siatką");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Statystyki");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Info płyty");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistory");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Ekstrudery");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Predkość USB");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokół");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Zegar pracy: OFF");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Zegar pracy: ON");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Oświetlenie obudowy");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Jasność oświetlenia");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Niepoprawna drukarka");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Wydrukowano");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Ukończono");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Czas druku");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Najdł. druk");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Użyty fil.");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Wydrukowano");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Ukończono");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Razem");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Najdł. druk");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Użyty fil.");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Min Temp");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Max Temp");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Zasilacz");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Siła silnika");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Siła %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Siła %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Siła %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Siła %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC BŁĄD POŁĄCZENIA");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Zapisz DAC EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("ZMIEŃ FILAMENT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("WYDRUK WSTRZYMANY");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("WSUŃ FILAMENT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("WYSUŃ FILAMENT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("OPCJE WZNOWIENIA:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Oczyść więcej");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Kontynuuj");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Dysza: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Czujnik filamentu");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Dystans do czujnika mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Zerowanie nieudane");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Sondowanie nieudane");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("WYBIERZ FILAMENT");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Uaktualnij firmware MMU!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU wymaga uwagi.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Wznów wydruk");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Wznawianie...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Wsuń filament");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Wsuń wszystko");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Wsuń do dyszy");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Wysuń filament");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Wysuń filament ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Wysuń filament");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Wsuwanie fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Wysuwanie fil. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Wysuwanie fil....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Wszystko");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Resetuj MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Resetowanie MMU...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Usuń, kliknij");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Miks");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Komponent =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mikser");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Pełny gradient");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Przełacz miks");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Cycle Mix");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Gradient Mix");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Odwrotny gradient");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Nacisnik przycisk", "by wznowić drukowanie"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkowanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Czekam na", "zmianę filamentu", "by wystartować"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Włóż filament", "i naciśnij przycisk", "by kontynuować"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Naciśnij przycisk", "by nagrzać dyszę"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Nagrzewanie dyszy", "Proszę czekać..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Czekam na", "wyjęcie filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Czekam na", "włożenie filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Czekam na", "oczyszczenie filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Kliknij by zakończyć", "oczyszczanie filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Czekam na", "wznowienie wydruku..."));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Kliknij by kontynuować"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkowanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Proszę czekać..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Włóż i kliknij"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Kliknij by nagrzać"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Nagrzewanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Wysuwanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Wsuwanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Oczyszczanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Kliknij by zakończyć"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Wznawianie..."));
+ #endif
+}
diff --git a/Marlin/src/lcd/language/language_pt.h b/Marlin/src/lcd/language/language_pt.h
new file mode 100644
index 0000000..60b0c55
--- /dev/null
+++ b/Marlin/src/lcd/language/language_pt.h
@@ -0,0 +1,170 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Portuguese
+ * UTF-8 for Graphical Display
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+ #define DISPLAY_CHARSET_ISO10646_1
+
+namespace Language_pt {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Portuguese");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" pronta.");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Cartão inserido");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Cartão removido");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menu principal");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Desactivar motores");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Ir para origem");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Ir para origem X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Ir para origem Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Ir para origem Z");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Indo para origem");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Click para iniciar");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Próximo ponto");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Pronto !");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Definir desvio");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offsets aplicados");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Definir origem");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL _UxGT(" Bico ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Pre-aq. ") PREHEAT_1_LABEL _UxGT(" Tudo");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Pre-aq. ") PREHEAT_1_LABEL _UxGT(" ") LCD_STR_THERMOMETER _UxGT("Base");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Definições ") PREHEAT_1_LABEL;
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Pre-aquecer $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Pre-aquecer $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Pre-aquecer $ Bico");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Pre-aquecer $ Bico ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Pre-aq. $ Tudo");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Pre-aq. $ ") LCD_STR_THERMOMETER _UxGT("Base");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Definições $");
+ #endif
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Arrefecer");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Ligar");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Desligar");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrudir");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retrair");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Mover eixo");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Mover X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Mover Extrusor");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Mover Extrusor *");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Mover %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mover 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Mover 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidade");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Base Z");
+ PROGMEM Language_Str MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" Bico");
+ PROGMEM Language_Str MSG_NOZZLE_N = " " LCD_STR_THERMOMETER _UxGT(" Bico ~");
+ PROGMEM Language_Str MSG_BED = " " LCD_STR_THERMOMETER _UxGT(" Base");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. ventoinha");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. ventoinha ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Fluxo");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Fluxo ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Controlo");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-retracção");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-movimento");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Passo/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" passo/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" passo/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" passo/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E passo/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* passo/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Movimento");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E em mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Diam.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Diam. *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Guardar na memoria");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Carregar da memoria");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Rest. de emergen.");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT(" Recarregar");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Monitorizar");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Preparar");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Afinar");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausar impressão");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Retomar impressão");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Parar impressão");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Imprimir do SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Sem cartão SD");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Em espera...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Á espera de ordem");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Impressão cancelada");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Sem movimento");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("EMERGÊNCIA. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("PARADO. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT(" Retrair mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Troca Retrair mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT(" Retrair V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT(" Levantar mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT(" DesRet mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Troca DesRet mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT(" DesRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT(" Auto-Retract");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Trocar filamento");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Trocar filamento *");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Inici. cartão SD");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Trocar cartão SD");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sensor fora/base");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Desvio Z");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Fim de curso");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Aquecimento falhou");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: T Máxima");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: T Mínima");
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Aquecendo...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Aquecendo base...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibração Delta");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibrar X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibrar Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibrar Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibrar Centro");
+
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Fim de curso");
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Impressora Incorreta");
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Superior Esquerdo");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Inferior Esquerdo");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Superior Direto");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Inferior Direto");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Calibração Completa");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Calibração Falhou");
+}
diff --git a/Marlin/src/lcd/language/language_pt_br.h b/Marlin/src/lcd/language/language_pt_br.h
new file mode 100644
index 0000000..4ddf424
--- /dev/null
+++ b/Marlin/src/lcd/language/language_pt_br.h
@@ -0,0 +1,488 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Portuguese (Brazil)
+ * UTF-8 for Graphical Display
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+namespace Language_pt_br {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Portuguese (BR)");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" pronto.");
+ PROGMEM Language_Str MSG_YES = _UxGT("SIM");
+ PROGMEM Language_Str MSG_NO = _UxGT("NÃO");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Voltar");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Abortando...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Cartão inserido");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Cartão removido");
+ PROGMEM Language_Str MSG_MEDIA_RELEASED = _UxGT("Cartão liberado");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Aguardando cartão");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Erro de leitura");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB removido");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB falhou");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Fins de curso");
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Soft Fins curso");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Menu principal");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Config. Avançada");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Configuração");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Início automático");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Desabilit. motores");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menu Debug");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Testar Barra Progres");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Ir a origem XYZ");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Ir na origem X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Ir na origem Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Ir na origem Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto alinhar Z");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Indo para origem");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Clique para Iniciar");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Próximo Ponto");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Fim nivelação!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Suavizar altura");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Compensar origem");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Alteração aplicada");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Ajustar Origem");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Pre-aquecer ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Extrusora ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Extrusora ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Pre-aq.Todo ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Pre-aq.Mesa ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Ajustar ") PREHEAT_1_LABEL;
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Pre-aquecer $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Pre-aquecer $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Extrusora $");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Extrusora $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Pre-aq.Todo $");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Pre-aq.Mesa $");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Ajustar $");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Customizar Pre-aq.");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Esfriar");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Ligar");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Desligar");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrusar");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retrair");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Mover eixo");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Nivelação Mesa");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Nivelar Mesa");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Nivelar Cantos");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Próximo Canto");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Editor de Malha");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Editar Malha");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Fim da Edição");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Sondando ponto");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Índice X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Índice Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Valor Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Comando customizado");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Teste de sonda");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Ponto");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Modo IDEX");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Estacionar");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplicação");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Cópia espelhada");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Controle Total");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2o bico X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2o bico Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2o bico Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Executando G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Ferramentas UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Nivel. Mesa Unif.");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Fazer malha manual");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Calçar e calibrar");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Medir");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Remover e calibrar");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Movendo para Próximo");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Ativar UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Desativar UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Temp. Mesa");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Temp. Mesa");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Temp. Extrusora");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Temp. Extrusora");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Editar Malha");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Editar Malha Custom");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Ajuste Fino da Malha");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Fim da Edição");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Montar Malha Custom");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Montar ");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Montar $");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Checar $");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Montar Malha fria");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Ajustar Altura");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Quant. de Altura");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Validar Malha");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Validar Malha Custom");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Aquecendo Mesa");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Aquecendo Ext.");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Cancelado");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("G26 Saindo");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Continuar Malha");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Nivelação da Malha");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("Nivelação 3 pontos");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Nivelação Grid");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Nivelar Malha");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Cantos");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Tipo de Mapa");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Salvar Mapa da Malha");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Enviar Para Host");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Salvar Malha CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Salvar Backup");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Informação do UBL");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Qtd de Enchimento");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Enchimento Manual");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Enchimento Smart");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Preencher malha");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Invalidar tudo");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Invalidar próximo");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Ajuste Fino de Todos");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Ajustar Mais Próximo");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Armazenamento Malha");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Slot de Memória");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Ler Malha");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Salvar Malha");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Malha %i carregada");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Malha %i salva");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Sem armazenamento");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Erro ao salvar UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Erro no restauro UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Compensação Z: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Compensação Z parou");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("UBL passo a passo");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Montar Malha fria");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Enchimento Smart");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Validar Malha");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Ajuste Fino de Todos");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Validar Malha");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Ajuste Fino de Todos");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Salvar Malha");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Controle do LED");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Luz");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Configuração da Luz");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Luz Vermelha");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Luz Laranja");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Luz Amarela");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Luz Verde");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Luz Azul");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Luz Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Luz Violeta");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Luz Branca");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Luz Padrão");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Luz Customizada");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Intensidade Vermelho");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Intensidade Verde");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Intensidade Azul");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Intensidade Branco");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Brilho");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Movendo...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Liberar XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Mover X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Mover Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Mover Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Mover Extrusor");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Mover Extrusor *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Extrus. mto fria");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Mover %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Mover 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Mover 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Mover 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Velocidade");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Base Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Bocal");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Bocal ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Mesa");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Vel. Ventoinha");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Vel. Ventoinha ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("+Vel. Ventoinha");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("+Vel. Ventoinha ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Vazão");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Vazão ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Controle");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Máx");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fator");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Temp. Automática");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Ligado");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Desligado");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Selecionar");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Selecionar *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Acel.");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Arrancada");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("arrancada V") LCD_STR_A;
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("arrancada V") LCD_STR_B;
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("arrancada V") LCD_STR_C;
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("arrancada VE");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Desv. Junção");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocidade");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VDeslocamento min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Aceleração");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Retrair A");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Movimento A");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Passo/mm");
+ PROGMEM Language_Str MSG_A_STEPS = _UxGT("Passo ") LCD_STR_A _UxGT("/mm");
+ PROGMEM Language_Str MSG_B_STEPS = _UxGT("Passo ") LCD_STR_B _UxGT("/mm");
+ PROGMEM Language_Str MSG_C_STEPS = _UxGT("Passo ") LCD_STR_C _UxGT("/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatura");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Movimento");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filamento");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("Extrusão em mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Diâmetro Fil.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Diâmetro Fil. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Descarr. mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Carregar mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Avanço K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Avanço K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Contraste");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Salvar Configuração");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Ler Configuração");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Restauro seguro");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Iniciar EEPROM");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Atualiz. SD");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Resetar Impressora");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Atualização");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Informações");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Preparar");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Ajustar");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Iniciar Impressão");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Prox.");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Iniciar");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Parar");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Imprimir");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Resetar");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Cancelar");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Pronto");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Voltar");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Continuar");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausar impressão");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Continuar impressão");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Parar impressão");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Imprimindo objeto");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancelar Objeto");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Cancelar Objeto =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Recuperar Impressão");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Imprimir do SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Sem cartão SD");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Dormindo...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Clique para retomar");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Impressão Pausada");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Imprimindo...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Impressão Abortada");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Sem movimento");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("PARADA DE EMERGÊNCIA");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("PAROU. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retrair mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Retrair Troca mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retrair V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Saltar mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Des-Retrair mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Des-RetTroca mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Des-Retrair V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Des-RetTroca V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Retração Automática");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Distancia Retração");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Distancia Purga");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Mudar Ferramenta");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Levantar Z");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Preparar Veloc.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Veloc. Retração");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Standby bico");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Trocar Filamento");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Trocar Filamento *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Carregar Filamento");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Carregar Filamento *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Descarreg. Filamento");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Descarreg. Filamento *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Descarregar Todos");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Iniciar SD");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Trocar SD");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Liberar SD");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda fora da mesa");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Fator de Cisalho");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Testar BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reiniciar BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Recolher BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Estender BLTouch");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Estender Sonda-Z");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Recolher Sonda-Z");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Home %s%s%s Primeiro");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Compensar Sonda");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Compensar Sonda em X");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Compensar Sonda em Y");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Compensar Sonda em Z");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Passinho X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Passinho Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Passinho Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Abortar Fim de Curso");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Aquecimento falhou");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Erro:Temp Redundante");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ESCAPE TÉRMICO");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("ESCAPE TÉRMICO MESA");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("ESCAPE TÉRMICO CAMARA");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Erro:Temp Máxima");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Erro:Temp Mínima");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("IMPRESSORA PAROU");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Favor resetar");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d");
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h");
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m");
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Aquecendo...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Resfriando...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Aquecendo mesa...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Esfriando mesa...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Aquecendo Câmara...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Esfriando Câmara...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Calibrar Delta");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibrar X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibrar Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibrar Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibrar Centro");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Configuração Delta");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto-Calibração");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Calibrar Altura");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Desloc. Sonda Z");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Haste Diagonal");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Altura");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Raio");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Sobre");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Impressora");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("Nivelamento 3 pontos");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Nivelamento Linear");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Nivelamento Bilinear");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Nivelamento UBL");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Nivelamento da Malha");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Estatísticas");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Info. da Placa");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistores");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrusoras");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Taxa de Transmissão");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocolo");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Luz da Impressora");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Intensidade Brilho");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Impressora Incorreta");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Total de Impressões");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Realizadas");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tempo de Impressão");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Trabalho Mais longo");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Total de Extrusão");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Qtd de Impressões");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Realizadas");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tempo de Impressão");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Maior trabalho");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("T. Extrusão");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Temp Mín");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temp Máx");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("PSU");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Força do Motor");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Escrever EEPROM DAC");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("TROCA DE FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("IMPRESSÃO PAUSADA");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("CARREGAR FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("DESCARREG. FILAMENTO");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("Config. de Retomada");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Purgar mais");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Continuar Impressão");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Bocal: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Sensor filamento");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Falha ao ir à origem");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Falha ao sondar");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ESCOLHER FILAMENTO");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Continuar Impressão");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Continuando...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Carregar Filamento");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Carregar Todos");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Carregar para bocal");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Ejetar Filamento");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Ejetar Filamento ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Liberar Filamento");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Carregando Fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Ejetando Fil. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Carregando Fil....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Todos");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filamento ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Resetar MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Resetando MMU...");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Jogos");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Labirinto");
+
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Aperte o botão para", "continuar impressão"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_INIT = _UxGT(MSG_1_LINE("Estacionando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Esperando o", "inicio da", "troca de filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Coloque filamento", "pressione o botão", "para continuar..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Pressione o botão", "p/ aquecer o bocal"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Aquecendo o bocal", "Aguarde..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Esperando", "remoção de filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Esperando", "filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Espere pela", "purga de filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Clique para finaliz.", "purga de filamento"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Esperando impressão", "continuar"));
+ #else // LCD_HEIGHT < 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Clique p. continuar"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_INIT = _UxGT(MSG_1_LINE("Estacionando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Aguarde..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Insira e Clique"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Clique para Aquecer"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Aquecendo..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Ejetando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Carregando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Purgando..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Clique p. finalizar"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Continuando..."));
+ #endif
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Superior Esquerdo");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Inferior Esquerdo");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Superior Direto");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Inferior Direto");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Calibração Completa");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Calibração Falhou");
+}
diff --git a/Marlin/src/lcd/language/language_ro.h b/Marlin/src/lcd/language/language_ro.h
new file mode 100644
index 0000000..bd7e1b7
--- /dev/null
+++ b/Marlin/src/lcd/language/language_ro.h
@@ -0,0 +1,624 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+ /**
+ * Romanian
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ *
+ * Translation by cristyanul
+ */
+namespace Language_ro {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Romanian");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" Pregatit.");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("DA");
+ PROGMEM Language_Str MSG_NO = _UxGT("NU");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Inapoi");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Abandon...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Media Introdus");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Media Inlaturat");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Astept Media");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Eroare Citire Media");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("Dispozitiv USB Inlaturat");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Pornire USB Esuata");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Eroare:Subcall Overflow");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstops"); // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Soft Endstops");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Principal");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Setari Avansate");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Configurare");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autostart");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Dezactivare Motoare");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Meniu Debug");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test Bara Progres");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Auto Acasa");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Acasa X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Acasa Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Acasa Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto Aliniere-Z");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Acasa XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Click pentru a incepe");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Urmatorul Punct");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Nivelare Terminata!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Fade Inaltime");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Seteaza Offseturile Acasa");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offseturi Aplicate");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Seteaza Originea");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Preincalzeste ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Preincalzeste ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Preincalzeste ") PREHEAT_1_LABEL _UxGT(" Capatul");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Preincalzeste ") PREHEAT_1_LABEL _UxGT(" Capatul ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Preincalzeste ") PREHEAT_1_LABEL _UxGT(" Tot");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Preincalzeste ") PREHEAT_1_LABEL _UxGT(" Patul");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Preincalzeste ") PREHEAT_1_LABEL _UxGT(" Conf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Preincalzeste $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Preincalzeste $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Preincalzeste $ Capatul");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Preincalzeste $ Capatul ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Preincalzeste $ Tot");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Preincalzeste $ Patul");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Preincalzeste $ Conf");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Preincalzeste Personalizat");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Racire");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frecventa");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Control Laser");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Puterea Laserului");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Controlul Spindle");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Puterea Spindle");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Spindle Invers");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Porneste");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Opreste");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrudeaza");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Retracteaza");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Muta Axa");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Nivelarea Patului");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Niveleaza Patul");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Niveleaza Colturile");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Urmatorul Colt");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Editor Mesh");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Editeaza Mesh");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Editarea Meshului Oprita");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Punctul de Probare");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Index X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Index Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Valoare Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Comenzi Personalizate");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Probe Test");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Point");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Deviation");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX Mode");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Tool Offsets");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Park");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplication");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Mirrored Copy");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Full Control");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2nd Nozzle X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2nd Nozzle Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2nd Nozzle Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Doing G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL Tools");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Unified Bed Leveling");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Tilting Point");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Manually Build Mesh");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Place Shim & Measure");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Measure");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Remove & Measure Bed");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Moving to next");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Activate UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Deactivate UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Bed Temp");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Bed Temp");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Hotend Temp");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Hotend Temp");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Mesh Edit");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Edit Custom Mesh");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Fine Tuning Mesh");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Done Editing Mesh");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Build Custom Mesh");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Build Mesh");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Build Mesh ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Validate Mesh ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Build Cold Mesh");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Adjust Mesh Height");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Height Amount");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Validate Mesh");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Validate Custom Mesh");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Heating Bed");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Heating Nozzle");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Manual priming...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Fixed Length Prime");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Done Priming");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Canceled");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Leaving G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Continue Bed Mesh");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Mesh Leveling");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-Point Leveling");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Grid Mesh Leveling");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Level Mesh");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Side Points");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Map Type");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Output Mesh Map");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Output for Host");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Output for CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Off Imprimanta Backup");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Output UBL Info");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Fill-in Amount");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Manual Fill-in");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Smart Fill-in");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Fill-in Mesh");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Invalidate All");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Invalidate Closest");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Fine Tune All");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Fine Tune Closest");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Mesh Storage");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Memory Slot");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Load Bed Mesh");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Save Bed Mesh");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Mesh %i Loaded");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Mesh %i Saved");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("No Storage");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Err: UBL Save");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Err: UBL Restore");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Offset: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z-Offset Stopped");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Step-By-Step UBL");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. Build Cold Mesh");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. Smart Fill-in");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. Validate Mesh");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. Fine Tune All");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. Validate Mesh");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. Fine Tune All");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. Save Bed Mesh");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("LED Control");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Lights");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Light Presets");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Red");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Orange");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Yellow");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Green");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Blue");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Violet");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("White");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Default");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Custom Lights");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Red Intensity");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Green Intensity");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Blue Intensity");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("White Intensity");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Brightness");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Moving...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Free XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Move X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Move Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Move Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Capat Prea Rece");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Move %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Move 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Move 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Move 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Speed");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Bed Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozzle");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozzle ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Nozzle Parked");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Nozzle Standby");
+ PROGMEM Language_Str MSG_BED = _UxGT("Bed");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Enclosure");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Fan Speed");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Fan Speed ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Stored Fan ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra Fan Speed");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra Fan Speed ~");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Controller Fan");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Idle Speed");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Auto Mode");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Active Speed");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Idle Period");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flow");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flow ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Control");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fact");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("On");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Off");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autotune");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autotune *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("PID tuning done");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Autotune failed. Bad extruder.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Autotune failed. Temperature too high.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Autotune failed! Timeout.");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Select");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Select *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Accel");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Jerk");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-Jerk");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-Jerk");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Junction Dev");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Velocity");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VTrav Min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Acceleration");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-Retract");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-Travel");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Frequency max");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Feed min");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Steps/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("steps/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("steps/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("steps/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("Esteps/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*steps/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperature");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Motion");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E Limit in mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E Limit *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Fil. Dia.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Fil. Dia. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Unload mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Load mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD Contrast");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Store Settings");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Load Settings");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Restore Defaults");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Initialize EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("EEPROM CRC Error");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("EEPROM Index Error");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("EEPROM Version Error");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Settings Stored");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Media Update");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Reset Imprimanta");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Refresh");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info Screen");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Prepare");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Tune");
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Power monitor");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("Intensitate");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Voltaj");
+ PROGMEM Language_Str MSG_POWER = _UxGT("Putere");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Start Imprimare");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Urmatorul");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Initiere");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Stop");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Imprimeaza");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Reseteaza");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Ignora");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Anuleaza");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("OK");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Inapoi");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Proceed");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Pausing...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pause Print");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Resume Print");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Stop Print");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Printing Object");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Cancel Object");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Cancel Object =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Outage Recovery");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Print from Media");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("No Media");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Sleep...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Click to Resume...");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Print Paused");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Printing...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Print Aborted");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Print Done");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("No Move.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("KILLED. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("STOPPED. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retract mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Re.mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retract V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Swap Length");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Swap Extra");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Purge Length");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Tool Inlocuire");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Z Raise");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Prime Speed");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Retract Speed");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Park Head");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Recover Speed");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Fan Speed");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Fan Time");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto Pornit");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto Oprit");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Tool Migration");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Auto-migrare");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Last Extruder");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Migrate to *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Inlocuire Filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Inlocuire Filament *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Incarcare Filament");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Incarcare Filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Scoatere Filament");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Scoatere Filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Scoate Tot");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Atasare Media");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Inlocuire Media");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Eliberare Media");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z Probe Past Bed");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Skew Factor");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Self-Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Stow");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Deploy");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("5V-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("OD-Mode");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Mode-Store");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Set BLTouch to 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Set BLTouch to OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Report Drain");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("DANGER: Bad settings can cause damage! Proceed anyway?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Init TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Z Offset Test");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Save");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Deploy TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Deploy Z-Probe");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Stow Z-Probe");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Home %s%s%s First");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Probe Offsets");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Probe X Offset");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Probe Y Offset");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Probe Z Offset");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Endstop Abort");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Heating Failed");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Err: REDUNDANT TEMP");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("THERMAL RUNAWAY");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("BED THERMAL RUNAWAY");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("CHAMBER T. RUNAWAY");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Err: MAXTEMP");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Err: MINTEMP");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("PRINTER HALTED");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Please Reset");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Heating...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Cooling...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Bed Heating...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Bed Cooling...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Chamber Heating...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Chamber Cooling...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Calibration");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Calibrate X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Calibrate Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Calibrate Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Calibrate Center");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta Settings");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto Calibration");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Set Delta Height");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Probe Z-offset");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Diag Rod");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Inaltime");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Radius");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Despre Imprimanta");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Info Imprimanta");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("Nivelare in 3 puncte");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Nivelare Lineara");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Nivelare Bilineara");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Nivelarea Patului Unificata");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Nivelare Mesh");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Status Imprimanta");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Informatii Placa");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistoare");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrudere");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baud");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protocol");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Runaway Watch: OFF");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Runaway Watch: ON");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Hotend Idle Timeout");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Case Light");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Light Brightness");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("INCORRECT PRINTER");
+
+#if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Total Printuri");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completat");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Timp Imprimare Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Longest Job Time");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Total Extrudat");
+#else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Prints");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Completed");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Longest");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruded");
+#endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Temperatura Minima");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Temperatura Maxima");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("PSU");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Drive Strength");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC CONNECTION ERROR");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC EEPROM Write");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("FILAMENT CHANGE");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("PRINT PAUSED");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("LOAD FILAMENT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("UNLOAD FILAMENT");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("RESUME OPTIONS:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Purge more");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Continue");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Nozzle: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Runout Sensor");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Runout Dist mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Homing Failed");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Probing Failed");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("CHOOSE FILAMENT");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Update MMU Firmware!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU Needs Attention.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("MMU Resume");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("MMU Resuming...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("MMU Load");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("MMU Load All");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("MMU Load to Nozzle");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("MMU Eject");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("MMU Eject ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("MMU Unload");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Loading Fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Ejecting Fil. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Unloading Fil....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("All");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Reset MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU Resetting...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Remove, click");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Component =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mixer");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Full Gradient");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Toggle Mix");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Cycle Mix");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Gradient Mix");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Reverse Gradient");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Active V-tool");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Start V-tool");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" End V-tool");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias V-tool");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Reset V-tools");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Commit V-tool Mix");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-tools Were Reset");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Start Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" End Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Jocuri");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Maze");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Bad page index");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Bad page speed");
+
+ //
+ // Filament Inlocuire screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+#if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Apasa Butonul", "pentru a reveni la print"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parcare..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Astept ca", "inlocuirea filamentului", "sa inceapa"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Insert filament", "and press button", "to continue"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Press button", "to heat nozzle"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Nozzle heating", "Please wait..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Wait for", "filament unload"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Wait for", "filament load"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Wait for", "filament purge"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Click to finish", "filament purge"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Wait for print", "to resume..."));
+#else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Click to continue"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parcare..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Va rog asteptati..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Insert and Click"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Click pentru incalzire"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Incalzire..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Ejectare..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Incarcare..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Curatare..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Click pentru a termina"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Se Reia..."));
+#endif
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("TMC Drivers");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Driver Current");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Hybrid Threshold");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Sensorless Homing");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Stepping Mode");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop Enabled");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" in:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Backlash");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Corectare");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Smoothing");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Nivelare Axa X");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto Calibrare");
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Timeout Incalzitor");
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Reincalzire");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Reincalzire...");
+}
+
+#if FAN_COUNT == 1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
+#else
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
+#endif
diff --git a/Marlin/src/lcd/language/language_ru.h b/Marlin/src/lcd/language/language_ru.h
new file mode 100644
index 0000000..b3176c0
--- /dev/null
+++ b/Marlin/src/lcd/language/language_ru.h
@@ -0,0 +1,829 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Russian
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+#define DISPLAY_CHARSET_ISO10646_5
+
+namespace Language_ru {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Russian");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" Готов.");
+ PROGMEM Language_Str MSG_YES = _UxGT("Да");
+ PROGMEM Language_Str MSG_NO = _UxGT("Нет");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Назад");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Прерывание...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("SD-карта вставлена");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("SD-карта извлечена");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Вставьте SD-карту");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Сбой инициализации SD");
+ #else
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Сбой инициализ. SD");
+ #endif
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Ошибка считывания");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB диск удалён");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Ошибка USB диска");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Переполнение вызова");
+ #else
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Переполн. вызова");
+ #endif
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Прогр. эндстопы");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Эндстопы"); // Max length 8 characters
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Основное меню");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Другие настройки");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Конфигурация");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Автостарт");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Выключить двигатели");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Меню отладки");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Тест индикатора");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Парковка XYZ");
+ 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_AUTO_Z_ALIGN = _UxGT("Авто Z-выравнивание");
+ PROGMEM Language_Str MSG_ITERATION = _UxGT("G34 Итерация: %i");
+ PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Уменьшение точности!");
+ PROGMEM Language_Str MSG_ACCURACY_ACHIEVED = _UxGT("Точность достигнута");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Нулевое положение");
+ 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_Z_FADE_HEIGHT = _UxGT("Высота спада");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Установ. смещения дома");
+ #else
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Установ.смещ.дома");
+ #endif
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Смещения применены");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Установить ноль");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Преднагрев ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Нагрев ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Нагрев ") PREHEAT_1_LABEL _UxGT(" сопло");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Нагрев ") PREHEAT_1_LABEL _UxGT(" сопло ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Нагрев ") PREHEAT_1_LABEL _UxGT(" всё");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Нагрев ") PREHEAT_1_LABEL _UxGT(" стол");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Нагрев ") PREHEAT_1_LABEL _UxGT(" правка");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Преднагрев $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Нагрев $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Нагрев $ сопло");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Нагрев $ сопло ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Нагрев $ всё");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Нагрев $ стол");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Нагрев $ правка");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Нагрев Свой");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Охлаждение");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Частота");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Управление лазером");
+ PROGMEM Language_Str MSG_LASER_TOGGLE = _UxGT("Переключить лазер");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Мощность лазера");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Управление шпинделем");
+ PROGMEM Language_Str MSG_SPINDLE_TOGGLE = _UxGT("Переключить шпиндель");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Мощность шпинделя");
+ #else
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Мощн.шпинделя");
+ #endif
+ PROGMEM Language_Str MSG_SPINDLE_FORWARD = _UxGT("Шпиндель вперёд");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _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_LEVEL_CORNERS = _UxGT("Выровнять углы");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Следующий угол");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Смещение по Z");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Правка сетки окончена");
+ #else
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Смещение Z");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Правка окончена");
+ #endif
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Редактировать сетку");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Точка сетки");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Индекс X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Индекс Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Значение Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Свои команды");
+
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 тест Z-зонда");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Отклонение");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 точка");
+ PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Зонд за пределами");
+
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Меню IDEX");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Размещение сопел");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Авто парковка");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Размножение");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Зеркальная копия");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Полный контроль");
+ PROGMEM Language_Str MSG_IDEX_DUPE_GAP = _UxGT("Дублировать X-зазор");
+
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2-е сопло X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2-е сопло Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2-е сопло Z");
+
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Выполняем G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Инструменты UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Настройка UBL");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Точка разворота");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Ручной ввод сетки");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Разместить шайбу и измерить");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Убрать и замерить стол");
+ #else
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Разм.шайбу,измерить");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Убрать, измер. стол");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Измерение");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Двигаемся дальше");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Активировать UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Деактивировать UBL");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Редактор сеток");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Править свою сетку");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Температура стола");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Температура стола");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Температура сопла");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Температура сопла");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Построить свою сетку");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Правка сетки завершена");
+ #else
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = LCD_STR_THERMOMETER _UxGT(" стола, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = LCD_STR_THERMOMETER _UxGT(" стола, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Построить свою");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Правка завершена");
+ #endif
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Точная правка сетки");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Построить сетку");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Построить сетку $");
+ #endif
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Построить холодную сетку");
+ #else
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Строить холод.сетку");
+ #endif
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Правка высоты сетки");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Высота");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Проверить сетку");
+ #if LCD_WIDTH > 21
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Проверить сетку $");
+ #endif
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Проверить свою сетку");
+ #else
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Провер. сетку $");
+ #endif
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Провер. свою сетку");
+ #endif
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 нагрев стола");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 нагрев сопла");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Ручная грунтовка");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Грунт фикс. длины");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Грунтовка сделана");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 завершена");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Выйти из G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Продолжить сетку");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Выравнивание сетки");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-х точечное выравнивание");
+ #else
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-точечное выравн.");
+ #endif
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Калибровка растера");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Выровнять сетку");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Крайние точки");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Тип карты");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Вывести карту сетки");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Вывести на хост");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Вывести в CSV");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Сохранить сетку снаружи");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Вывод информации UBL");
+ #else
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Сохранить снаружи");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Информация UBL");
+ #endif
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Кол-во заполнителя");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Ручное заполнение");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Умное заполнение");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Заполнить сетку");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Аннулировать всё");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Аннулир. ближайшую");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Точно править всё");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Настр. ближ. точку");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Хранилище сеток");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Слот памяти");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Загрузить сетку");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Сохранить сетку");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Сетка %i загружена");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Сетка %i сохранена");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Нет хранилища");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Ошибка: Сохран. UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Ошибка: Восстан.UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Смещение Z: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Смещение Z останов.");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("UBL пошагово");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Строить холодную");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Умное заполнение");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Проверить сетку");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Точно настр. всё");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Проверить сетку");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Точно настр. всё");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Сохранить сетку");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Настройка подсветки");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Подсветка");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Предустановки света");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Красный");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Оранжевый");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Жёлтый");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Зелёный");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Синий");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Индиго");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Фиолетовый");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Белый");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Свет по умолчанию");
+ PROGMEM Language_Str MSG_LED_CHANNEL_N = _UxGT("Канал =");
+ PROGMEM Language_Str MSG_LEDS2 = _UxGT("Свет #2");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Свет #2 предустановки");
+ #else
+ PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Свет #2 предустан.");
+ #endif
+ PROGMEM Language_Str MSG_NEO2_BRIGHTNESS = _UxGT("Яркость");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Свой цвет подсветки");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Уровень красного");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Уровень зелёного");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Уровень синего");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Уровень белого");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Яркость");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Движемся...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Освободить XY");
+ 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_EN = _UxGT("Экструдер *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Сопло не нагрето");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Движение %sмм");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Движение 0.1мм");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Движение 1мм");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Движение 10мм");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Скорость");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Z стола");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Сопло, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Сопло ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Сопло запарковано");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Сопло ожидает");
+ PROGMEM Language_Str MSG_BED = _UxGT("Стол, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Камера,") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Кулер");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Кулер ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Сохранённый кулер ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Дополн. кулер");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Дополн. кулер ~");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Контроллер кулера");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Холостые обороты");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Автовключение");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Рабочие обороты");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Период простоя");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Поток");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Поток ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Настройки");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER ", " LCD_STR_DEGREE _UxGT("С мин");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER ", " LCD_STR_DEGREE _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_AUTOTUNE = _UxGT("Автоподбор PID");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("Автоподбор PID *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("Подбор PID выполнен");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Сбой автоподбора. Плохой экструдер.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Сбой автоподбора. Температура повышена.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Сбой автоподбора! Завершение времени.");
+
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Выбор");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Выбор *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Ускорение");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Рывок");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-рывок");
+ 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-рывок");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Отклонение узла");
+ #else
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Отклон. узла");
+ #endif
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Скорость, мм/с");
+ 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_EN = _UxGT("Скор.макс *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Скор.мин");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Перемещение мин");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Ускорение, мм/с2");
+ 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_EN = _UxGT("Ускор.макс *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Ускор.втягив.");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Ускор.путеш.");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Частота макс.");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Подача мин.");
+ 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("E шаг/мм");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* шаг/мм");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Температура");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Движение");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Филамент");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E в мм") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E огран.,мм") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E огран. *");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Диам. филамента");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Диам. филамента *");
+ #else
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Диам. филам.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Диам. филам. *");
+ #endif
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Загрузка, мм");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Выгрузка, мм");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Kоэф. продвиж.");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Kоэф. продвиж. *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Контраст экрана");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Сохранить настройки");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Загрузить настройки");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("На базовые параметры");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Инициализация EEPROM");
+ #else
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Инициализ. EEPROM");
+ #endif
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("Сбой EEPROM: CRC");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("Сбой EEPROM: индекс");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("Сбой EEPROM: версия");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Параметры сохранены");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Обновление прошивки");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Сброс принтера");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT(" Обновить");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Главный экран");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Подготовить");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Настроить");
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Монитор питания");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("Ток");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Напряжение");
+ PROGMEM Language_Str MSG_POWER = _UxGT("Мощность");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Начало печати");
+
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Дальше"); //short text for buttons
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Иниц-я");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Стоп");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Печать");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Сброс");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Игнорир.");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Отмена");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Готово");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Назад");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Продолжить");
+ PROGMEM Language_Str MSG_BUTTON_SKIP = _UxGT("Пропустить");
+
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Пауза печати");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Продолжить печать");
+ PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Старт с хоста");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Остановить печать");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Печать объекта");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Завершить объект");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Завершить объект =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _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_PAUSED = _UxGT("Печать на паузе");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Печать...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Печать отменена");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Печать завершена");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Нет движения.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("УБИТО. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ОСТАНОВЛЕНО. ");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Втягивание, мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Смена втягив., мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Возврат смены, мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Возврат смены, V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Автовтягивание");
+ #else
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Втягив., мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Смена втяг.,мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Возвр.смены,мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Возвр.смены V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Автовтягив.");
+ #endif
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Подскок, мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Втягивание V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Возврат, мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Возврат V");
+
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Поменять длины");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Поменять дополнительно");
+ #else
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Поменять дополнит.");
+ #endif
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Очистить длину");
+
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Смена сопел");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Поднятие по Z");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Начальная скор.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Скорость втягив.");
+ #else
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Началь.скор.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Скор.втягив.");
+ #endif
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Парковать голову");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Вернуть скорость");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Обороти кулера");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Время кулера");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Авто Вкл.");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Авто Выкл.");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Замена инструмента");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Авто замена");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Последний экструдер");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Замена на *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Смена филамента");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Смена филамента *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Загрузить филамент");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Загрузить филамент *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Выгрузить филамент *");
+ #else
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Подать филамент *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Убрать филамент *");
+ #endif
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Выгрузить всё");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Установить SD карту");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Сменить SD карту");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Освободить SD карту");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z-зонд вне стола");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Фактор наклона");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("Z-зонд BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Тестирование BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Сброс BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Поднять BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Опустить BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("Режим SW");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("Режим 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("Режим OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Режим сохранения");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Установить на 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Установить на OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Слив отчёта");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("ОПАСНОСТЬ: Неправильные параметры приводят к повреждениям! Продолжить?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("Z-Зонд TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Инициализация");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Тест Z-смещения");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Сохранить");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Установить TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Установить зонд");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Загрузить зонд");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Сначала паркуй %s%s%s");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Смещения Z-зонда");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Смещение X");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Смещение Y");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Смещение Z");
+ PROGMEM Language_Str MSG_MOVE_NOZZLE_TO_BED = _UxGT("Двигать сопло к столу");
+ 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_BABYSTEP_TOTAL = _UxGT("Сумарно");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Сработал концевик");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Разогрев не удался");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Ошибка:Избыточная Т");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("УТЕЧКА ТЕПЛА");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("УТЕЧКА ТЕПЛА СТОЛА");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("УТЕЧКА ТЕПЛА КАМЕРЫ");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Ошибка: Т макс.");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Ошибка: Т мин.");
+ 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_COOLING = _UxGT("Охлаждение...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Нагрев стола...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Охлаждение стола...");
+ PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Нагрев зонда...");
+ PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Охлаждение зонда...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Нагрев камеры...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _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("Калибровать центр");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Настройки Delta");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Авто калибровка");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Высота Delta");
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Зондировать Z-смещение");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Стержень диагонали");
+ #else
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Зондир. Z-смещения");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Стержень диаг.");
+ #endif
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Высота");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Радиус");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("О принтере");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Данные принтера");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-точечное выравнивание");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Линейное выравнивание");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Билинейное выравнивание");
+ #else
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-точ. выравнив.");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Линейное выравн.");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Билин. выравнив.");
+ #endif
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Управление UBL");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _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("Протокол");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Контроль утечки Т: Выкл");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Контроль утечки Т: Вкл");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Время простоя хотенда");
+ #else
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Контр.утечки Т:Выкл");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Контр.утечки Т:Вкл");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Время прост.хот-а");
+ #endif
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Подсветка корпуса");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Яркость подсветки");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Неверный принтер");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _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_PRINT_TIME = _UxGT("Всего");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Наидольшее");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Выдавлено");
+ #endif
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Завершено");
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Мин. ") LCD_STR_THERMOMETER;
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Макс. ") LCD_STR_THERMOMETER;
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("БП");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Сила привода");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Привод, %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Привод, %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Привод, %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Привод, %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("СБОЙ СВЯЗИ С TMC");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Запись DAC в EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("ЗАМЕНА ФИЛАМЕНТА");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("ПЕЧАТЬ НА ПАУЗЕ");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("ЗАГРУЗКА ФИЛАМЕНТА");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("ВЫГРУЗКА ФИЛАМЕНТА");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("ОПЦИИ ПРОДОЛЖЕНИЯ:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Выдавить ещё");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Возобновить печать");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Сопла: ");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Датчик оконч. филамента");
+ #else
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Датчик оконч.филам.");
+ #endif
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("До конца, мм");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Ошибка парковки");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Ошибка зондирования");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ВЫБИРЕТЕ ФИЛАМЕНТ");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("Настройки MMU");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Обновить прошивку MMU!");
+ #else
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Обнови прошивку MMU");
+ #endif
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU требует внимания");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Продолжить печать");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Продолжение...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Загрузить филамент");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Загрузить всё");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Загрузить в сопло");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Извлечь филамент");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Извлечь филамент ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Выгрузить филамент");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Загрузка %i...");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Извлечение филамента...");
+ #else
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Извлеч.филамента...");
+ #endif
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Выгрузка....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Всё");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Филамент ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Перезапуск MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Перезапуск MMU...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Удалите и нажмите");
+
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_MIX = _UxGT("Смешивание");
+ #else
+ PROGMEM Language_Str MSG_MIX = _UxGT("Смешив.");
+ #endif
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Компонент =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Смеситель");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Градиент");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Полный градиент");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Цикличное смешивание");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Градиент смешивания");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Сменить градиент");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Переключить смешивание");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Активация В-инструм.");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Начало В-инструмента");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT("Конец В-инструмента");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Псевдоним В-инструмента");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Сброс В-инструментов");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Смешать В-инструменты");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("В-инструменты сброшены");
+ #else
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Перекл. смешивание");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Актив.В-инструм.");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("В-инструм.нач.");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT("В-инструм.кон.");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Псевдоним В-инстр.");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Сброс В-инструм.");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Смешать В-инструм.");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("В-инструм. сброшены");
+ #endif
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Начало Z");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Конец Z");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Игры");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Кирпичи");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Вторжение");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Змейка");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Лабиринт");
+
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Плохой индекс страницы");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Плохая скорость страницы");
+ #else
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Плохая страница");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Плохая скор.стран.");
+ #endif
+
+ PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Редактировать пароль");
+ PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Нужен логин");
+ PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Настройки пароля");
+ PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Введите цифру");
+ PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Смените пароль");
+ PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Удалить пароль");
+ PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("Пароль это ");
+ PROGMEM Language_Str MSG_START_OVER = _UxGT("Старт через");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Запомни для сохранения!");
+ #else
+ PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Запомни, сохрани!");
+ #endif
+ PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Пароль удалён");
+
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Парковка..."));
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_3_LINE("Нажмите кнопку", "для продолжения", "печати"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_2_LINE("Ожидайте начала", "смены филамента"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Вставьте филамент", "и нажмите кнопку", "для продолжения"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_3_LINE("Нажмите кнопку", "для нагрева", "сопла..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Нагрев сопла", "Ждите..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Ожидайте", "выгрузки", "филамента"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_3_LINE("Ожидайте", "загрузки", "филамента"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_3_LINE("Ожидайте", "экструзии", "филамента"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_3_LINE("Нажмите кнопку", "для завершения", "очистки филамента"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Ожидайте", "возобновления", "печати"));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Продолжить печать"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Ожидайте..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Вставь и нажми"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Нагреть сопло"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Нагрев..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Выгрузка..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Загрузка..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Выдавливание..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Завершить очистку"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Возобновление..."));
+ #endif
+
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("Драйвера TMC");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Ток двигателей");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Гибридный режим");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Режим без эндстопов");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Режим драйвера");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("Тихий режим вкл");
+
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Сброс");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" в:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Люфт");
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Исправление");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Сглаживание");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Уровень оси X");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Авто калибровка");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Время нагревателя вышло");
+ #else
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Время нагрев. вышло");
+ #endif
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Возобновить нагрев");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Нагрев...");
+
+ PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Мастер Z-зонда");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_PROBE_WIZARD_PROBING = _UxGT("Зондиров. контрольной точки Z");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_MOVING = _UxGT("Движение к точке зондирования");
+ #else
+ PROGMEM Language_Str MSG_PROBE_WIZARD_PROBING = _UxGT("Зондир.контр.точки Z");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_MOVING = _UxGT("Движ. к точке зондир.");
+ #endif
+
+ PROGMEM Language_Str MSG_SOUND = _UxGT("Звук");
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Верхний левый");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Нижний левый");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Верхний правый");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Нижний правый");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Калибровка успешна");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Ошибка калибровки");
+}
+
+#if FAN_COUNT == 1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
+#else
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
+#endif
diff --git a/Marlin/src/lcd/language/language_sk.h b/Marlin/src/lcd/language/language_sk.h
new file mode 100644
index 0000000..1900f53
--- /dev/null
+++ b/Marlin/src/lcd/language/language_sk.h
@@ -0,0 +1,661 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Slovak
+ * UTF-8 for Graphical Display
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ *
+ * Translated by Michal Holeš, Farma MaM
+ * https://www.facebook.com/farmamam
+ */
+#define DISPLAY_CHARSET_ISO10646_SK
+
+namespace Language_sk {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Slovak");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" pripravená.");
+ PROGMEM Language_Str MSG_YES = _UxGT("ÁNO");
+ PROGMEM Language_Str MSG_NO = _UxGT("NIE");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Naspäť");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Ruším...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Karta vložená");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Karta vybraná");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Čakám na kartu");
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Inicial. SD zlyhala");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Chyba čítania karty");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB zaria. odstrán.");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Chyba spúšťania USB");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Preteč. podprogramu");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Endstopy"); // max 8 znakov
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Soft. endstopy");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Hlavná ponuka");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Pokročilé nastav.");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Konfigurácia");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Auto-štart");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Uvolniť motory");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Ponuka ladenia");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Test uk. priebehu");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Domovská pozícia");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Domov os X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Domov os Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Domov os Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto-zarovn. Z");
+ PROGMEM Language_Str MSG_ITERATION = _UxGT("Iterácia G34: %i");
+ PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Klesajúca presnosť!");
+ PROGMEM Language_Str MSG_ACCURACY_ACHIEVED = _UxGT("Dosiahnutá presnosť");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Parkovanie XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Kliknutím začnete");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Ďalší bod");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Vyrovnanie hotové!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Výška rovnania");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Nastaviť ofsety");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Ofsety nastavené");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Nastaviť začiatok");
+ PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Asist. vyrovnanie");
+ PROGMEM Language_Str MSG_TRAMMING_WIZARD = _UxGT("Spriev. vyrovn.");
+ PROGMEM Language_Str MSG_SELECT_ORIGIN = _UxGT("Vyberte začiatok");
+ PROGMEM Language_Str MSG_LAST_VALUE_SP = _UxGT("Posl. hodnota ");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Zahriať ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Zahriať ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" hotend ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" všetko");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" podlož");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Zahriať ") PREHEAT_1_LABEL _UxGT(" nast.");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Zahriať $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Zahriať $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Zahriať $ hotend");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Zahriať $ hotend ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Zahriať $ všetko");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Zahriať $ podlož");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Zahriať $ nast.");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Vlastná teplota");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Schladiť");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frekvencia");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Nastavenie lasera");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Výkon lasera");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Nastavenie vretena");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Výkon vretena");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Spätný chod");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Zapnúť napájanie");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Vypnúť napájanie");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Vytlačiť (extr.)");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Vytiahnuť (retr.)");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Posunúť osy");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Vyrovnanie podložky");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Vyrovnať podložku");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Vyrovnať rohy");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Ďalší roh");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Editor sieťe bodov");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Upraviť sieť bodov");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Koniec úprav siete");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Skúšam bod");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Index X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Index Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Hodnota Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Vlastné príkazy");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Test sondy");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Bod");
+ PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Sonda mimo hraníc");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Odchýlka");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX režim");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Ofset nástrojov");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-parkovanie");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplikácia");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Zrkadlená kópia");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Plná kontrola");
+ PROGMEM Language_Str MSG_IDEX_DUPE_GAP = _UxGT("Duplik. medz.-X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2. tryska X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2. tryska Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2. tryska Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Vykonávam G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Nástroje UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("UBL rovnanie");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Vyrovnávam bod");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Manuálna sieť bodov");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Položte a zmerajte");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Zmerajte");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Odstráňte a zmerajte");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Presun na ďalší");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Aktivovať UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Deaktivovať UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Teplota podložky");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Teplota podložky");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Teplota hotendu");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Teplota hotendu");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Úprava siete bodov");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Upraviť vlastnú sieť");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Doladiť sieť bodov");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Koniec úprav siete");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Vlastná sieť");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Vytvoriť sieť");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Sieť bodov ($)");
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Studená sieť bodov");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Upraviť výšku siete");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Výška");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Skontrolovať sieť");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Kontrola siete ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Kontrola vlast.siete");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 ohrev podlž.");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 ohrev trysky");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Ručné čistenie...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Čistenie pevn. dĺž.");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Čistenie dokončené");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 zrušený");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Opúšťam G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Pokračovať v sieti");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Sieťové rovnanie");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-bodové rovnanie");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Mriežkové rovnanie");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Vyrovnať podložku");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Postranné body");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Typ siete bodov");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Exportovať sieť");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Export do hosta");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Export do CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Externá záloha");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Info. o výst. UBL");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Hustota mriežky");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Ručné vyplnenie");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Chytré vyplnenie");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Vyplniť mriežku");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Zrušiť všetko");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Zrušiť najbližší");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Upraviť všetky");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Upraviť najbližší");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Úložisko sietí");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Pamäťový slot");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Načítať sieť bodov");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Uložiť sieť bodov");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Sieť %i načítaná");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Sieť %i uložená");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Nedostatok miesta");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Chyba: Ukladanie UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Chyba: Obnovenie UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Ofset: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Koniec kompenz. Z");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Postupné UBL");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Studená sieť bodov");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Chytré vyplnenie");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Skontrolovať sieť");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Upraviť všetky");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Skontrolovať sieť");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Upraviť všetky");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Uložiť sieť bodov");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Nastavenie LED");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Svetlo");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Predvolby svetla");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Červená");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Oranžová");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Žltá");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Zelená");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Modrá");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Fialová");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Biela");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Obnoviť nastavenie");
+ PROGMEM Language_Str MSG_LED_CHANNEL_N = _UxGT("Kanál =");
+ PROGMEM Language_Str MSG_LEDS2 = _UxGT("Svetlo #2");
+ PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Predvolby svetla #2");
+ PROGMEM Language_Str MSG_NEO2_BRIGHTNESS = _UxGT("Jas");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Vlastná farba");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Inten. červenej");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Inten. zelenej");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Inten. modrej");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Inten. bielej");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Jas");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Posúvam...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Uvolniť XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Posunúť X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Posunúť Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Posunúť Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extrudér");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extrudér *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hotend je studený");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Posunúť o %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Posunúť o 0,1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Posunúť o 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Posunúť o 10mm");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Rýchlosť");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Výška podl.");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Tryska");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Tryska ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Tryska zaparkovaná");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Záložná tryska");
+ PROGMEM Language_Str MSG_BED = _UxGT("Podložka");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Komora");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Rýchlosť vent.");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Rýchlosť vent. ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Ulož. vent. ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Rýchlosť ex. vent.");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Rýchlosť ex. vent. ~");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Vent. riad. jedn.");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Voľno. rýchl.");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Auto-režim");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Aktív. rýchl.");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Doba nečinnosti");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Prietok");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Prietok ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Ovládanie");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fakt");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Auto-teplota");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Zap");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Vyp");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID kalibrácia");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID kalibrácia *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("PID kal. dokončená");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Auto-kal. zlyhala. Zlý extrúder.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Auto-kal. zlyhala. Príliš vysoká tepl.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Auto-kal. zlyhala! Čas vypršal.");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Vybrať");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Vybrať *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Zrýchlenie");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Skok");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-skok");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-skok");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-skok");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-skok");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Junction Dev");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Rýchlosť");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VPrej Min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Akcelerácia");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-retrakt");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-prejazd");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Max. frekvencia");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Min. posun");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Kroky/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("krokov/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("krokov/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("krokov/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("Ekrokov/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("*krokov/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Teplota");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Pohyb");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filament");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E v mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E Limit v mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E Limit *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Priem. fil.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Priem. fil. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Vysunúť mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Zaviesť mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K pre posun");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K pre posun *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Kontrast LCD");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Uložiť nastavenie");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Načítať nastavenie");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Obnoviť nastavenie");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Inicializ. EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("Chyba: EEPROM CRC");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("Chyba: EEPROM Index");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("Chyba: Verzia EEPROM");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Nastavenie uložené");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Aktualizovať z SD");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Reštart. tlačiar.");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Obnoviť");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info. obrazovka");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Príprava tlače");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Doladenie tlače");
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Monitor napájania");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("Prúd");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Napätie");
+ PROGMEM Language_Str MSG_POWER = _UxGT("Výkon");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Spustiť tlač");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Ďalší");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Inicial.");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Zastaviť");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Tlačiť");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Vynulovať");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Ignorovať");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Zrušiť");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Hotovo");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Naspäť");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Pokračovať");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Pozastavujem...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pozastaviť tlač");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Obnoviť tlač");
+ PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Spustiť z hosta");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Zastaviť tlač");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Tlačím objekt");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Zrušiť objekt");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Zrušiť objekt =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Obnova po výp. nap.");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Tlačiť z SD");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Žiadna SD karta");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Spím...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Pokrač. kliknutím...");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Tlač pozastavená");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Tlačím...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Tlač zrušená");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Tlač dokončená");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Žiadny pohyb.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("PRERUŠENÉ. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ZASTAVENÉ. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Retrakt mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Výmena Re.mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Retraktovať V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Zdvih Z mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Retract");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Dĺžka výmeny");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Vymeniť naviac");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Dĺžka vytlačenia");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Výmena nástroja");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Zdvihnúť Z");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Primárna rýchl.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Rýchl. retrakcie");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Parkovať hlavu");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Rýchl. obnovenia");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Rýchlosť vent.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Doba fúkania");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto-Zap");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto-Vyp");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Výmena nástroja");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Auto-výmena");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Posl. extruder");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Vymeniť za *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Vymeniť filament");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Vymeniť filament *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Zaviesť filament");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Zaviesť filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Vysunúť filament");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Vysunúť filament *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Vysunúť všetko");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Načítať SD kartu");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Vymeniť SD kartu");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Odpojiť SD kartu");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Sonda Z mimo podl.");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Faktor skosenia");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Self-Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Zasunúť");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Vysunúť");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("Režim SW");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("Režim 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("Režim OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Ulož. režim");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Prepnúť do 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Prepnúť do OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Zobraziť režim");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("POZOR: Zlé nastav. môže spôsobiť poškoden. Pokračovať?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Inicializ. TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Test Z ofsetu");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Uložiť");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Zasunúť TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Zasunúť sondu Z");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Vysunúť sondu Z");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Najskôr os %s%s%s domov");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Ofsety sondy Z");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("X ofset");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Y ofset");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Z ofset");
+ PROGMEM Language_Str MSG_MOVE_NOZZLE_TO_BED = _UxGT("Pos. trysku k podl.");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Babystep X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Babystep Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Babystep Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Celkom");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Zastavenie Endstop");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Chyba ohrevu");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Chyba: REDUND. TEP.");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("TEPLOTNÝ SKOK");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("TEPLOTNÝ SKOK PODL.");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("TEPLOTNÝ SKOK KOMO.");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Chyba: MAXTEMP");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Chyba: MINTEMP");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("TLAČIAREŇ ZASTAVENÁ");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Reštartuje ju");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d");
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("h");
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m");
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Ohrev...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Ochladzovanie...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Ohrev podložky...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Ochladz. podložky...");
+ PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Ohrev sondy...");
+ PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Ochladz. sondy...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Ohrev komory...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Ochladz. komory...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta kalibrácia");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibrovať X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibrovať Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibrovať Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibrovať stred");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta nastavenia");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto-kalibrácia");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Nast. výšku delty");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Ofset sondy Z");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Diag. rameno");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Výška");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Polomer");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("O tlačiarni");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Info. o tlačiarni");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-bodové rovnanie");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Lineárne rovnanie");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Bilineárne rovnanie");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("UBL rovnanie");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Mriežkové rovnanie");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Štatistika");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Info. o doske");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistory");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extrudéry");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Rýchlosť");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokol");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Tepl. ochrana: VYP");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Tepl. ochrana: ZAP");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Vypr.čas nečinnosti");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Osvetlenie");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Jas svetla");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Nesprávna tlačiareň");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Počet tlačí");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Dokončené");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Celkový čas");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Najdlhšia tlač");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Celkom vytlačené");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Tlače");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Hotovo");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Čas");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Najdlhšia");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Vytlačené");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Teplota min");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Teplota max");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Nap. zdroj");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Budenie motorov");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Motor %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Motor %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Motor %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Motor %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("CHYBA KOMUNIKÁ. TMC");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Uložiť do EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("VÝMENA FILAMENTU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("PAUZA TLAČE");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("ZAVEDENIE FILAMENTU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("VYSUNUTIE FILAMENTU");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("MOŽNOSTI POKRAČ.:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Vytlačiť viacej");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Obnoviť tlač");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Tryska: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Senzor filamentu");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Vzd. mm fil. senz.");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Parkovanie zlyhalo");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Kalibrácia zlyhala");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("VYBERTE FILAMENT");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU2");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Aktualizujte FW MMU!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU potrebuje zásah.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Obnoviť tlač");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Obnovovanie...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Zaviesť filament");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Zaviesť všetky");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Zaviesť po trysku");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Vysunúť filament");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Vysunúť filament ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Vyňať filament");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Zavádzanie fil. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Vysúvanie fil. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Vysúvanie fil. ...");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Všetky");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filament ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Reštartovať MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("Reštart MMU...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Odstráňte, kliknite");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Mix");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Zložka ~");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mixér");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Plný gradient");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Prepnúť mix");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Cyklický mix");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Gradientný mix");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Otočiť gradient");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Aktívny V-tool");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Počiat. V-tool");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT("Konečn. V-tool");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias V-tool");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Vynulovať V-tools");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Uložiť V-tool Mix");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-tools vynulované");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Počiat.Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT("Konečn.Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Hry");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Nájazdníci");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Had");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Bludisko");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Chyb. index stránky");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Chyb. rých. stránky");
+
+ PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Zmeniť heslo");
+ PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Vyžad. sa prihl.");
+ PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Nastavenie hesla");
+ PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Zvoľte číslo");
+ PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Zmeniť heslo");
+ PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Odstrániť heslo");
+ PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("Heslo je ");
+ PROGMEM Language_Str MSG_START_OVER = _UxGT("Začať odznova");
+ PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Nezabudnite uložiť!");
+ PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Heslo odstránené");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Stlačte tlačidlo", "pre obnovu tlače"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkovanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Čakajte prosím", "na spustenie", "výmeny filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Vložte filament", "a stlačte tlačidlo", "pre pokračovanie"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Stlačte tlačidlo", "pre ohrev trysky"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Ohrev trysky", "Čakajte prosím..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_3_LINE("Čakajte prosím", "na vysunutie", "filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_3_LINE("Čakajte prosím", "na zavedenie", "filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_3_LINE("Čakajte prosím", "na vytlačenie", "filamentu"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_3_LINE("Stlačte tlačidlo", "pre dokončenie", "vytláčania filam."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Čakajte prosím na", "obnovenie tlače..."));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Kliknite pre pokr."));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkovanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Čakajte prosím..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Vložte a kliknite"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Kliknite pre ohrev"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Ohrev..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Vysúvanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Zavádzanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Vytlačovanie..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Klik. pre dokonč."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Pokračovanie..."));
+ #endif
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("Ovládače TMC");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Prúd ovládača");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Hybridný prah");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Bezsenzor. domov");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Režim krokovania");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop zapnutý");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Vynulovať");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT("za:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Kompenz. vôle");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Korekcia");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Vyhladzovanie");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Vyrovnať os X");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto-kalibrovať");
+ #if ENABLED(TOUCH_UI_FTDI_EVE)
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Vypršal čas ohrevu, znížená teplota. Stlačte OK pre ohrev a ešte raz pre obnovu.");
+ #else
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Vypršal čas ohrevu");
+ #endif
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Zohriať");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Zohrievanie...");
+
+ PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Sprievodca sondy Z");
+
+ PROGMEM Language_Str MSG_SOUND = _UxGT("Zvuk");
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Ľavý horný");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Ľavý dolný");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Pravý horný");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Pravý dolný");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Kalibrácia dokončená");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Kalibrácia zlyhala");
+}
diff --git a/Marlin/src/lcd/language/language_sv.h b/Marlin/src/lcd/language/language_sv.h
new file mode 100644
index 0000000..722443f
--- /dev/null
+++ b/Marlin/src/lcd/language/language_sv.h
@@ -0,0 +1,681 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License för more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Swedish
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_1
+
+namespace Language_sv {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Swedish");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" Redo.");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("JA");
+ PROGMEM Language_Str MSG_NO = _UxGT("NEJ");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Bakåt");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Avbryter...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Media Instatt");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Media Borttaget");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Väntar på media");
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("SD init misslyckades");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Media läsningsfel");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB enhet borttagen");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB start misslyckad");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Underanrop överskriden");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Slutstop"); // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Mjuk slutstopp");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Huvud");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Advancerade inställningar");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Konfiguration");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Autostarta Filer");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Inaktivera Stegare");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Debug Meny");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Framstegsindikator Test");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Auto Hem");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Hem X");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Hem Y");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Hem Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Auto Z-Justering");
+ PROGMEM Language_Str MSG_ITERATION = _UxGT("G34 Iteration: %i");
+ PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Noggrannhet Minskar!");
+ PROGMEM Language_Str MSG_ACCURACY_ACHIEVED = _UxGT("Noggrannhet uppnådd");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Hemning XYZ");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Klicka för att börja");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Nästa Punkt");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Nivellering Färdig!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Falna Höjd");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Sätt Hem Offset");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Offset Tillämpad");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Sätt Origo");
+ PROGMEM Language_Str MSG_ASSISTED_TRAMMING = _UxGT("Assisterad justering");
+ PROGMEM Language_Str MSG_TRAMMING_WIZARD = _UxGT("Justerings Wizard");
+ PROGMEM Language_Str MSG_SELECT_ORIGIN = _UxGT("Välj Origo");
+ PROGMEM Language_Str MSG_LAST_VALUE_SP = _UxGT("Senaste värde ");
+
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Förvärmning ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Förvärmning ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Förvärmning ") PREHEAT_1_LABEL _UxGT(" Stoppa");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Förvärmning ") PREHEAT_1_LABEL _UxGT(" Stoppa ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Förvärmning ") PREHEAT_1_LABEL _UxGT(" Alla");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Förvärmning ") PREHEAT_1_LABEL _UxGT(" Bädd");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Förvärmning ") PREHEAT_1_LABEL _UxGT(" Konf");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Förvärmning $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Förvärmning $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Förvärmning $ Stoppa");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Förvärmning $ Stoppa ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Förvärmning $ Alla");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Förvärmning $ Bädd");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Förvärmning $ Donf");
+ #endif
+
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Förvärmning Anpassad");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Nedkylning");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Frekvens");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Laser kontroll");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Spindel Kontroll");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Laser Styrka");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Spindel Styrka");
+ PROGMEM Language_Str MSG_LASER_TOGGLE = _UxGT("Växla Laser");
+ PROGMEM Language_Str MSG_LASER_PULSE_MS = _UxGT("Test Puls ms");
+ PROGMEM Language_Str MSG_LASER_FIRE_PULSE = _UxGT("Avfyra Puls");
+ PROGMEM Language_Str MSG_SPINDLE_TOGGLE = _UxGT("Växla Spindel");
+ PROGMEM Language_Str MSG_SPINDLE_FORWARD = _UxGT("Spindel Framåt");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Spindel Bakåt");
+ PROGMEM Language_Str MSG_LASER_OFF = _UxGT("Laser Av");
+ PROGMEM Language_Str MSG_LASER_ON = _UxGT("Laser På");
+ PROGMEM Language_Str MSG_SPINDLE_OFF = _UxGT("Spindel Av");
+ PROGMEM Language_Str MSG_SPINDLE_ON = _UxGT("Spindel På");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Sätt på ström");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Stäng av ström");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Extrudera");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Dra tillbaka");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Flytta Axel");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Bädd Nivellering");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Nivellera Bädd");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Nivellera Hörn");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_RAISE = _UxGT("Höj Bädd tills nästa Sond Triggad");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_IN_RANGE = _UxGT("Alla Hörn inom Tolerans. Nivellering Bädd");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_GOOD_POINTS = _UxGT("Bra Punkter: ");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_LAST_Z = _UxGT("Senaste Z: ");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Nästa Hörn");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Nät Redigerare");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Redigera Nät");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Nätredigering Stoppad");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Sonderingspunkt");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Index X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Index Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Z Värde");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Anpassade Kommandon");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Sond Test");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Punkt");
+ PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Sond utan för gränser");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Avvikelse");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX Läge");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Verktygsoffset");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Parkera");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplicering");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Speglad Kopia");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Full Kontroll");
+ PROGMEM Language_Str MSG_IDEX_DUPE_GAP = _UxGT("Duplicera X-Avstånd");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2:a Munstycke X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2:a Munstycke Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2:a Munstycke Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Utför G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL Verktyg");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Enad Bädd Nivellering (UBL)");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Lutningspunkt");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Manuellt skapa nät");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Placera Shim & Mät");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Mät");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Ta bort & Mät bädd");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Flyttar till nästa");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Aktivera UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Avaktivera UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Bädd Temp");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Bädd Temp");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Hetände Temp");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Hetände Temp");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Nät Redigera");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Redigera Anpassat Nät");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Finjustera Nät");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Färdig Redigera Nät");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Bygg Anpassat Nät");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Bygg Nät");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Bygg Nät ($)");
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Bygg Kallt Nät");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Justera Nät Höjd");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Höjd Antal");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Validera Nät");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Validera Nät ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Validera Anpassat Nät");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Värma Bädd");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Värma Munstycke");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Manuel grundning...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Fastlängd Grundning");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Färdig Grundning");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 Avbruten");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Nivellera G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Fortsätt Bädd Nät");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Nät Nivellering");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-Punkts Nivellering");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Rutnät Nivellering");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Nivellera Nät");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Sidopunkter");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Kart Typ");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Utmatning Nät Map");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Utmatning för Värd");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Utmatning för CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Utanför skrivare Backup");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Utmatning UBL Info");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Ifyllnad Mängd");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Manuell Ifyllnad");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Smart Ifyllnad");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Ifyllnad Nät");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Ogiltigförklara Alla");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Ogiltigförklara Närmast");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Finjustera Alla");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Finjustera Närmast");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Nät Lagra");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Minnesöppning");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Ladda Bädd Nät");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Spara Bädd Nät");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Nät %i Ladda");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Nät %i Sparad");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Ingen Lagring");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Fel: UBL Sparad");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Fel: UBL Återställd");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Offset: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z-Offset Stoppad");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Steg-för-Steg UBL");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. Bygg Kallt Nät");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. Smart Ifyllnad");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. Validera Nät");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. Finjustera Alla");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. Validera Nät");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. Finjustera Alla");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. Spara Bädd Nät");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("LED Kontroll");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Ljus");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Ljus Förinställd");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Röd");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Orange");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Gul");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Grön");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Blå");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Indigo");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Violet");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Vitt");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Standard");
+ PROGMEM Language_Str MSG_LED_CHANNEL_N = _UxGT("Kanal =");
+ PROGMEM Language_Str MSG_LEDS2 = _UxGT("Ljus #2");
+ PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Ljus #2 Förinställd");
+ PROGMEM Language_Str MSG_NEO2_BRIGHTNESS = _UxGT("Ljusstyrka");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Anpassat Ljus");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Rör Intensitet");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Grön Intensitet");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Blå Intensitet");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Vit Intensitet");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Brightness");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Flyttar...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Fri XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Flytta X");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Flytta Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Flytta Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Extruder");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Extruder *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Hetände för kall");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Flytta %smm");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Flytta 0.1mm");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Flytta 1mm");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Flytta 10mm");
+ PROGMEM Language_Str MSG_MOVE_0001IN = _UxGT("Flytta 0.001tum");
+ PROGMEM Language_Str MSG_MOVE_001IN = _UxGT("Flytta 0.01tum");
+ PROGMEM Language_Str MSG_MOVE_01IN = _UxGT("Flytta 0.1tum");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Hastighet");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Bädd Z");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Munstycke");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Munstycke ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Munstycke Parkerad");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Munstycke Standby");
+ PROGMEM Language_Str MSG_BED = _UxGT("Bädd");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Inkapsling");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Fläkt Hastighet");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Fläkt Hastighet ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Lagrad Fläkt ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Extra Fläkt Hastighet");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Extra Fläkt Hastighet ~");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Kontroller Fläkt");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Overksam Hastighet");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Auto läga");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Aktive Hastighet");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Overksam Period");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Flöde");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Flöde ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontroll");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Fakt");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Autotemp");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("På");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Av");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Autojustera");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Autojustera *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("PID tuning done");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Autojustera misslyckad. Dålig extruder.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Autojustera misslyckad. Temperatur för hög.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Autojustera misslyckad! Tidsgräns.");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Välj");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Välj *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Accel");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Ryck");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Ryck");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-Ryck");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-Ryck");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-Ryck");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Knutpunkt Avv");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Hastighet");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vmax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vmax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vmax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vmax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vmax *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vmin");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("VTrav Min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Acceleration");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Amax ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Amax ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Amax ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Amax ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Amax *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("A-Dra tillbaka");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("A-Färdas");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Frekvens max");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Flöde min");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Steg/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" Steg/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" Steg/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" Steg/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E Steg/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* Steg/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Temperatur");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Rörelse");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Tråd");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E i mm³");
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E Gräns i mm³");
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E Gräns *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Tråd Dia.");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Tråd Dia. *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Lossa mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Ladda mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advancera K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advancera K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD Kontrast");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Spara Inställningar");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Ladda Inställningar");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Återställ Standard");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Initiera EEPROM");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("EEPROM CRC Fel");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("EEPROM Index Fel");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("EEPROM Version Fel");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Inställningar Lagrad");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Media Uppdatera");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Återställ Skrivare");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Uppdatera");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Info Skärm");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Förbered");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Justera");
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Ström övervakning");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("Ström");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Spänning");
+ PROGMEM Language_Str MSG_POWER = _UxGT("Ström");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Start Utskrift");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Nästa");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Initiera");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Stoppa");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Skriv");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Återställa");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Ignorera");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Avbryt");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Färdig");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Bakåt");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Fortsätt");
+ PROGMEM Language_Str MSG_BUTTON_SKIP = _UxGT("Hoppa över");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Paus..");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Pausera Utskrift");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Återuppta Utskrift");
+ PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Värd Start");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Stoppa Utskrift");
+ PROGMEM Language_Str MSG_END_LOOPS = _UxGT("Slut Upprepningsloop");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Skriver Objekt");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Avbryt Objekt");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Avbryt Objekt =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Ström Avbrott");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("Skriv fråm Media");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Inget Media");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Sov...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Klick för att återuppta...");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Utskrift Pausad");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Skriver...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Utskrift Avbruten");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Utskrift Färdig");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Ingen Flytt.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("DÖDAD. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("STOPPAD. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Dra tillbaka mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Byt Dra.mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Dra tillbaka V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hoppa mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Åter dra tillbaka. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Byt åter dra t. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Återdrat. V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Byt åter dra. V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Auto-Dra-tillbka");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Byt Längd");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Byt Extra");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Rensa Längd");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Byt verktyg");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Z Höj");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Grund Hastighet");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Återgå Hastighet");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Parkera Huvud");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Återgår Hastighet");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Fläkt Hastighet");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Fläkt Tid");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Auto PÅ");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Auto AV");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Verktyg Migration");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Auto-migration");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Senast Extruder");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Migrera till *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Byt Tråd");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Byt Tråd *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Ladda Tråd");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Ladda *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Lossa Tråd");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Lossa *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Lossa All");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Bifoga Media");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Byt Media");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Släpp Media");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z Sond Utanför Bädd");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Skev Faktor");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Själv-Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Återställ");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Stuva undan");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Fällut");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW-Läge");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("5V-Läge");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("OD-Läge");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Läge-Lägring");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Sätt BLTouch to 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Sätt BLTouch to OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Reportera Dränering");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("FARA: Dålig inställningar kan orsaka skada! Fortsätt ändå?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Initiera TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Z Offset Test");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Spara");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Fällut TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Fällut Z-Sond");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Stuva undan Z-Sond");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Hem %s%s%s Först");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Sond Offsets");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Sond X Offset");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Sond Y Offset");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Sond Z Offset");
+ PROGMEM Language_Str MSG_MOVE_NOZZLE_TO_BED = _UxGT("Flytta Munstycke till Bädd");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Småsteg X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Småsteg Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Småsteg Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Total");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Slutstopp Avbrott");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Värma Misslyckad");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Fel: REDUNDANT TEMP");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("TERMISK ÖVERDRIFT");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("BÄDD TERMISK ÖVERDRIFT");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("KAMMARE T. ÖVERDRIFT");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Fel: MAXTEMP");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Fel: MINTEMP");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("Utskrift stoppad");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Snälla Återställ");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("d"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("t"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("m"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Värmer...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Kyler...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Bädd Värmer...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Bädd Kyler...");
+ PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Sond Värmer...");
+ PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Sond Kyler...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Kammare Värmer...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Kammare Kyler...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibrering");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Kalibrera X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Kalibrera Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Kalibrera Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Kalibrera Center");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta Inställningar");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Auto Kalibrering");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Sätt Delta Höjd");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Sond Z-offset");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Diag Rod");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Höjd");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Radius");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Om Skrivaren");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Skrivare Info");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-Punkt Nivellering");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Linjär Nivellering");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Bilinjär Nivellering");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Enhetlig Bädd Nivellering (UBL)");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Nät Nivellering");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Skrivar Stats");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Kort Info");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistor");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Extruderare");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baud");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokoll");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Överdrift Övervakning: AV");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Överdrift Övervakning: PÅ");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Hetände Overksam Tidsgräns");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Lådljus");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Ljus ljusstyrka");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("INKORREKT SKRIVARE");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Utskriftsantal");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Färdiga");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total Utskriftstid");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Längsta Jobbtid");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruderade Totalt");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Utskrift");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Färdig");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Total");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Längsta");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Extruderad");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Min Temp");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Max Temp");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("PSU");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Driv Styrka");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Driver %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Driver %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC KOPPLNINGSFEL");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC EEPROM Skriv");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("TRÅDBYTE");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("UTSKRIFTSPAUSERAD");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("LADDA TRÅD");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("LOSSA TRÅD");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("ÅTERGÅ VAÖ:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Rensa mer");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Fortsätt");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Munstycke: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Utskjut Sensor");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Utskjut Dist mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Hemning Misslyckad");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Sondering Misslyckad");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("VÄLJ TRÅD");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Uppdatera MMU Firmware!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU Behöver uppmärksamhet.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("MMU Återuppta");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("MMU Återupptas...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("MMU Ladda");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("MMU Ladda Alla");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("MMU Ladda till Munstycke");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("MMU Mata ut");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("MMU Mata ut ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("MMU Lossa");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Ladda Tråd %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Mata ut Tråd ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Lossa Tråd...");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Alla");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Tråd ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("Återställ MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU Återställer...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Ta bort, Klicka");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Mixa");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Komponent =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Mixer");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradient");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Full Gradient");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Växla Mix");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Totera Mix");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Gradient Mix");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Omvänd Gradient");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Aktive V-verktyg");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Start V-verktyg");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" Slut V-verktyg");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias V-verktyg");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Återställ V-verktyg");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Kommitta V-verktyg Mix");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-verktyg blev Återställda");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Start Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Slut Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Spel");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Labyrint");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Dålig sida index");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Dålig sida hastighet");
+
+ PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Redigera Lösenord");
+ PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Login Krävs");
+ PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Lösenordsinställningar");
+ PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Ange Siffra");
+ PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Sätt/Redigera Lösenord");
+ PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Ta bort Lösenord");
+ PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("Lösenord är ");
+ PROGMEM Language_Str MSG_START_OVER = _UxGT("Börja om");
+ PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Kom ihåg att Spara!");
+ PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Lösenord Bort taget");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Tryck på knappen", "för att fortsätta utskrift"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkera..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Vänta på", "trådbyte", "att börja"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Sätt in tråd", "och tryck på knappen", "för att fortsätta"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Tryck på knappen", "för att värma munstycke"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Munstycke värms", "Var snäll och vänta..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Väntar på", "trådlossning"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Väntar på", "trådladdning"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Väntar på", "tråd utrensning"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Klicka för att slutföra", "tråd utrensning"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Väntar på utskrift", "att återstarta..."));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Klick för att fortsätta"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Parkera..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Vänta..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Sätt in och klicka"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Klicka för att värma"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Värmer..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Lossar..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Laddar..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Rensar..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Klicka för att slutföra"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Återgår..."));
+ #endif
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("TMC Drivers");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Driver Ström");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Hybrid Tröskelvärde");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Sensorlös Hemning");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Stegningsläge");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("Smyghack Aktiverad");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Återställ");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" in:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Backlash");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Korrigering");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Glättning");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Nivå X Axel");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Auto Kalibrera");
+ #if ENABLED(TOUCH_UI_FTDI_EVE)
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Overksam tidsgräns, temperatur minskning. Tryck ok för att återvärma och igen för att fortsätta.");
+ #else
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Värmare Tidsgräns");
+ #endif
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Återvärm");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Återvärmning...");
+
+ PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Z Sond Wizard");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_PROBING = _UxGT("Sondering Z Referens");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_MOVING = _UxGT("Flyttar till Sonderings Pos");
+
+ PROGMEM Language_Str MSG_SOUND = _UxGT("Ljud");
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Uppe Vänster");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Nere Vänster");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Uppe Höger");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Nere Höger");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Kalibrering Färdig");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Kalibrering Misslyckad");
+}
diff --git a/Marlin/src/lcd/language/language_test.h b/Marlin/src/lcd/language/language_test.h
new file mode 100644
index 0000000..16cafbe
--- /dev/null
+++ b/Marlin/src/lcd/language/language_test.h
@@ -0,0 +1,236 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * TEST
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+// Select ONE of the following Mappers.
+// They decide what to do with a symbol in the area of [0x80:0xFF]. They take a symbol of this language file and make them point
+// into an array with 128 cells, where they'll find the place of the symbol of the font in use.
+//
+// a.)For ASCII coded Language_xx.h files like (en) there are no occurrences of symbols above 0x7F so no mapper is needed.
+// If such a symbol appears it is mapped directly into the font. This is the case for the language files we used until now, with all the STR_XX or
+// "\xxx" symbols. All Symbols are only one byte long.
+// b.) For Unicoded Language_xx.h files (currently ru, de and kana_utf8 ) the non ASCII [0x00-0x7F] symbols are represented by more than one byte.
+// In the case of two bytes the first is pointing to a 'codepage' and the second to a place in the codepage. These codepages contain 64 symbols.
+// So two of them can be mapped. For most of the European languages the necessary symbols are contained in the pages C2 and C3. Cyrillic uses D0
+// and D1.
+// c.) For katakana (one of the Japanese symbol sets) Unicode uses 3 bytes. Here the second byte also points to a codepage and byte 3 to the symbol.
+// I hope the pages E282 and E283 are sufficient to write katakana.
+// Kanji (an other Japanese symbol set) uses far more than two codepages. So currently I don't see a chance to map the Unicodes. Its not
+// impossible to have a close to direct mapping but will need giant conversion tables and fonts (we don't want to have in a embedded system).
+
+
+// Select the better font for full graphic displays.
+//#define DISPLAY_CHARSET_ISO10646_1
+//#define DISPLAY_CHARSET_ISO10646_5
+//#define DISPLAY_CHARSET_ISO10646_GREEK
+//#define DISPLAY_CHARSET_ISO10646_KANA
+
+
+
+// next 5 lines select variants in this file only
+#define DISPLAYTEST
+//#define WEST
+//#define CYRIL
+//#define KANA
+
+
+// TESTSTRINGS
+
+#define STRG_ASCII_2 _UxGT(" !\"#$%&'()*+,-./")
+#define STRG_ASCII_3 _UxGT("0123456789:;<=>?")
+#define STRG_ASCII_4 _UxGT("@ABCDEFGHIJKLMNO")
+#define STRG_ASCII_5 _UxGT("PQRSTUVWXYZ[\\]^_")
+#define STRG_ASCII_6 _UxGT("`abcdefghijklmno")
+#define STRG_ASCII_7 _UxGT("pqrstuvwxyz{|}~")
+
+#define STRG_C2_8 _UxGT("")
+#define STRG_C2_9 _UxGT("")
+#define STRG_C2_a _UxGT(" ¡¢£¤¥¦§¨©ª«¬­®¯")
+#define STRG_C2_b _UxGT("°±²³´µ¶·¸¹º»¼½¾¿")
+#define STRG_C3_8 _UxGT("ÈÁÂÃÄÅÆÇÈÉÊËÌÍÎÏ")
+#define STRG_C3_9 _UxGT("ÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞß")
+#define STRG_C3_a _UxGT("àáâãäåæçèéêëìíîï")
+#define STRG_C3_b _UxGT("ðñòóôõö÷øùúûüýþÿ")
+
+#define STRG_D0_8 _UxGT("ЀЁЂЃЄЅІЇЈЉЊЋЌЍЎЏ")
+#define STRG_D0_9 _UxGT("АБВГДЕЖЗИЙКЛМНОП")
+#define STRG_D0_a _UxGT("РСТУФХЦЧШЩЪЫЬЭЮЯ")
+#define STRG_D0_b _UxGT("абвгдежзийклмноп")
+#define STRG_D1_8 _UxGT("рстуфхцчшщъыьэюя")
+#define STRG_D1_9 _UxGT("ѐёђѓєѕіїјљњћќѝўџ")
+#define STRG_D1_a _UxGT("ѠѡѢѣѤѥѦѧѨѩѪѫѬѭѮѯ")
+#define STRG_D1_b _UxGT("ѰѱѲѳѴѵѶѷѸѹѺѻѼѽѾѿ")
+
+#define STRG_E382_8 _UxGT("よめもゃやゅゆょよらりるれろゎわ")
+#define STRG_E382_9 _UxGT("ゐゑをんゔゕゖ゗゘゙゚゛ ゜ゝゞゟ")
+#define STRG_E382_a _UxGT("゠ァアィイゥウェエォオカガキギク")
+#define STRG_E382_b _UxGT("グケゲコゴサザシジスズセゼソゾタ")
+#define STRG_E383_8 _UxGT("トチヂッツヅテデトドナニヌネノハ")
+#define STRG_E383_9 _UxGT("バパヒビピフブプヘベペホボポマミ")
+#define STRG_E383_a _UxGT("ムメモャヤュユョヨラリルレロヮワ")
+#define STRG_E383_b _UxGT("ヰヱヲンヴヵヶヷヸヹヺ・ーヽヾヿ")
+
+#define STRG_OKTAL_0 "\000\001\002\003\004\005\006\007\010\011\012\013\014\015\016\017"
+#define STRG_OKTAL_1 "\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037"
+#define STRG_OKTAL_2 "\040\041\042\043\044\045\046\047\050\051\052\053\054\055\056\057"
+#define STRG_OKTAL_3 "\060\061\062\063\064\065\066\067\070\071\072\073\074\075\076\077"
+#define STRG_OKTAL_4 "\100\101\102\103\104\105\106\107\110\111\112\113\114\115\116\117"
+#define STRG_OKTAL_5 "\120\121\122\123\124\125\126\127\130\131\132\133\134\135\136\137"
+#define STRG_OKTAL_6 "\140\141\142\143\144\145\146\147\150\151\152\153\154\155\156\157"
+#define STRG_OKTAL_7 "\160\161\162\163\164\165\166\167\170\171\172\173\174\175\176\177"
+#define STRG_OKTAL_8 "\200\201\202\203\204\205\206\207\210\211\212\213\214\215\216\217"
+#define STRG_OKTAL_9 "\220\221\222\223\224\225\226\227\230\231\232\233\234\235\236\237"
+#define STRG_OKTAL_a "\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256\257"
+#define STRG_OKTAL_b "\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277"
+#define STRG_OKTAL_c "\300\301\302\303\304\305\306\307\310\311\312\313\314\315\316\317"
+#define STRG_OKTAL_d "\320\321\322\323\324\325\326\327\330\331\332\333\334\335\336\337"
+#define STRG_OKTAL_e "\340\341\342\343\344\345\346\347\350\351\352\353\354\355\356\357"
+#define STRG_OKTAL_f "\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376\377"
+
+namespace Language_test {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 1;
+
+ #if ENABLED(DISPLAYTEST)
+ PROGMEM Language_Str WELCOME_MSG = _UxGT("Language TEST");
+
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Display test");
+ PROGMEM Language_Str MSG_PREPARE = STRG_OKTAL_b;
+ PROGMEM Language_Str MSG_CONTROL = STRG_OKTAL_c;
+ #endif
+
+ #if ENABLED(WEST)
+ PROGMEM Language_Str WELCOME_MSG = _UxGT("Language TEST");
+
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("\001\002\003\004\005\006\007\010\011");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("UTF8");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("ASCII");
+
+ PROGMEM Language_Str MSG_MAIN = _UxGT("..");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = STRG_C2_8;
+ PROGMEM Language_Str MSG_AUTO_HOME = STRG_C2_9;
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = STRG_C2_a;
+ PROGMEM Language_Str MSG_PREHEAT_1 = STRG_C2_b;
+ PROGMEM Language_Str MSG_PREHEAT_2 = STRG_C3_8;
+ PROGMEM Language_Str MSG_COOLDOWN = STRG_C3_9;
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = STRG_C3_a;
+ PROGMEM Language_Str MSG_MOVE_AXIS = STRG_C3_b;
+
+ PROGMEM Language_Str MSG_MAIN = STRG_OKTAL_2;
+ PROGMEM Language_Str MSG_TEMPERATURE = STRG_OKTAL_3;
+ PROGMEM Language_Str MSG_MOTION = STRG_OKTAL_4;
+ PROGMEM Language_Str MSG_FILAMENT = STRG_OKTAL_5;
+ PROGMEM Language_Str MSG_CONTRAST = STRG_OKTAL_6;
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = STRG_OKTAL_7;
+
+ PROGMEM Language_Str MSG_NOZZLE = STRG_OKTAL_8;
+ PROGMEM Language_Str MSG_NOZZLE_N = STRG_OKTAL_8 " ~";
+ PROGMEM Language_Str MSG_FAN_SPEED = STRG_OKTAL_9;
+ PROGMEM Language_Str MSG_FAN_SPEED_N = STRG_OKTAL_9;
+ PROGMEM Language_Str MSG_AUTOTEMP = STRG_OKTAL_a;
+ PROGMEM Language_Str MSG_MIN = STRG_OKTAL_b;
+ PROGMEM Language_Str MSG_MAX = STRG_OKTAL_c;
+ PROGMEM Language_Str MSG_FACTOR = STRG_OKTAL_d;
+ PROGMEM Language_Str MSG_PID_P = STRG_OKTAL_e;
+ PROGMEM Language_Str MSG_PID_I = STRG_OKTAL_f;
+
+ #endif
+
+ #if ENABLED(CYRIL)
+ PROGMEM Language_Str WELCOME_MSG = _UxGT("Language TEST");
+
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("\001\002\003\004\005\006\007\010\011");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("UTF8");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("ASCII");
+
+ PROGMEM Language_Str MSG_MAIN = _UxGT("..");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = STRG_D0_8;
+ PROGMEM Language_Str MSG_AUTO_HOME = STRG_D0_9;
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = STRG_D0_a;
+ PROGMEM Language_Str MSG_PREHEAT_1 = STRG_D0_b;
+ PROGMEM Language_Str MSG_PREHEAT_2 = STRG_D1_8;
+ PROGMEM Language_Str MSG_COOLDOWN = STRG_D1_9;
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = STRG_D1_a;
+ PROGMEM Language_Str MSG_MOVE_AXIS = STRG_D1_b;
+
+ PROGMEM Language_Str MSG_MAIN = STRG_OKTAL_2;
+ PROGMEM Language_Str MSG_TEMPERATURE = STRG_OKTAL_3;
+ PROGMEM Language_Str MSG_MOTION = STRG_OKTAL_4;
+ PROGMEM Language_Str MSG_FILAMENT = STRG_OKTAL_5;
+ PROGMEM Language_Str MSG_CONTRAST = STRG_OKTAL_6;
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = STRG_OKTAL_7;
+
+ PROGMEM Language_Str MSG_NOZZLE = STRG_OKTAL_8;
+ PROGMEM Language_Str MSG_NOZZLE_N = STRG_OKTAL_8 " ~";
+ PROGMEM Language_Str MSG_FAN_SPEED_N = STRG_OKTAL_9;
+ PROGMEM Language_Str MSG_AUTOTEMP = STRG_OKTAL_a;
+ PROGMEM Language_Str MSG_MIN = STRG_OKTAL_b;
+ PROGMEM Language_Str MSG_MAX = STRG_OKTAL_c;
+ PROGMEM Language_Str MSG_FACTOR = STRG_OKTAL_d;
+ PROGMEM Language_Str MSG_PID_P = STRG_OKTAL_e;
+ PROGMEM Language_Str MSG_PID_I = STRG_OKTAL_f;
+
+ #endif
+
+ #if ENABLED(KANA)
+ PROGMEM Language_Str WELCOME_MSG = _UxGT("Language TEST");
+
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("\001\002\003\004\005\006\007\010\011");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("UTF8");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("ASCII");
+
+ PROGMEM Language_Str MSG_MAIN = _UxGT("..");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = STRG_E382_8;
+ PROGMEM Language_Str MSG_AUTO_HOME = STRG_E382_9;
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = STRG_E382_a;
+ PROGMEM Language_Str MSG_PREHEAT_1 = STRG_E382_b;
+ PROGMEM Language_Str MSG_PREHEAT_2 = STRG_E383_8;
+ PROGMEM Language_Str MSG_COOLDOWN = STRG_E383_9;
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = STRG_E383_a;
+ PROGMEM Language_Str MSG_MOVE_AXIS = STRG_E383_b;
+
+ PROGMEM Language_Str MSG_MAIN = STRG_OKTAL_2;
+ PROGMEM Language_Str MSG_TEMPERATURE = STRG_OKTAL_3;
+ PROGMEM Language_Str MSG_MOTION = STRG_OKTAL_4;
+ PROGMEM Language_Str MSG_FILAMENT = STRG_OKTAL_5;
+ PROGMEM Language_Str MSG_CONTRAST = STRG_OKTAL_6;
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = STRG_OKTAL_7;
+
+ PROGMEM Language_Str MSG_NOZZLE = STRG_OKTAL_8;
+ PROGMEM Language_Str MSG_NOZZLE_N = STRG_OKTAL_8 " ~";
+ PROGMEM Language_Str MSG_FAN_SPEED_N = STRG_OKTAL_9;
+ PROGMEM Language_Str MSG_AUTOTEMP = STRG_OKTAL_a;
+ PROGMEM Language_Str MSG_MIN = STRG_OKTAL_b;
+ PROGMEM Language_Str MSG_MAX = STRG_OKTAL_c;
+ PROGMEM Language_Str MSG_FACTOR = STRG_OKTAL_d;
+ PROGMEM Language_Str MSG_PID_P = STRG_OKTAL_e;
+ PROGMEM Language_Str MSG_PID_I = STRG_OKTAL_f;
+ #endif
+}
diff --git a/Marlin/src/lcd/language/language_tr.h b/Marlin/src/lcd/language/language_tr.h
new file mode 100644
index 0000000..a7a4056
--- /dev/null
+++ b/Marlin/src/lcd/language/language_tr.h
@@ -0,0 +1,583 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Turkish
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ *
+ * Bu çeviri dosyasındaki sorunlar ve düzeltmeler için iletişim;
+ * Contact for issues and corrections in this translation file;
+ * Yücel Temel - (info@elektromanyetix.com) - https://elektromanyetix.com/
+ */
+
+#define DISPLAY_CHARSET_ISO10646_TR
+
+namespace Language_tr {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Turkish");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" hazır.");
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("EVET");
+ PROGMEM Language_Str MSG_NO = _UxGT("HAYIR");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Geri");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Durduruluyor...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("SD K. Yerleştirildi.");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("SD Kart Çıkarıldı.");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("SD Kart Bekleniyor");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Kart Okuma Hatası");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB Çıkarıldı");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB Başlat. Hatası");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Enstops"); // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Yazılımsal Endstops");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Ana");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Gelişmiş Ayarlar");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Yapılandırma");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Oto. Başlat");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Motorları Durdur");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Hata Ayıklama");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Durum Çubuğu Testi");
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Eksenleri Sıfırla");
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("X Sıfırla");
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Y Sıfırla");
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Z Sıfırla");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Oto. Z-Hizalama");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("XYZ Sıfırlanıyor");
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Başlatmak için tıkla");
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Sonraki Nokta");
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("Hizalama Tamam!");
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Kaçınma Yüksekliği");
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Ofset Ayarla");
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Ofset Tamam");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Sıfır Belirle");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Ön Isınma ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Ön Isınma ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Nozul ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Tüm");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Tabla");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Ön Isınma ") PREHEAT_1_LABEL _UxGT(" Ayarlar");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Ön Isınma $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Ön Isınma $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Ön Isınma $ Nozul");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Ön Isınma $ Nozul ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Ön Isınma $ Tüm");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Ön Isınma $ Tabla");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Ön Isınma $ Ayarlar");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Özel Ön Isınma");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Soğut/(Durdur)");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Lazer Kontrolü");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Lazer Gücü");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Spindle Kontrolü");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Spindle Gücü");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("Spindle Ters Yön");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Gücü Aç");
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Gücü Kapat");
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Ekstrüzyon");
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Geri Çek");
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Eksen Hareketleri");
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("Tabla Hizalama");
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Tabla Hizası");
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Hizalama Köşeleri");
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Sonraki Köşe");
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Mesh Editörü");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Mesh Düzenle");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Mesh Düzenleme Durdu");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Prop Noktası");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("İndeks X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("İndeks Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Z Değeri");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Özel Komutlar");
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 Prob Testi");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 Nokta");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Sapma");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX Modu");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Takım Ofsetleri");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Oto-Park");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Kopyala");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Yansıtılmış kopya");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Tam Kontrol");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2. nozul X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2. nozul Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2. nozul Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("G29 Çalışıyor");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL Araçları");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("UBL Yatak Hizalama");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Eğim Noktası");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Elle Mesh Oluştur");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Altlık & Ölçü Ver");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Ölçü");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Yataktan Ölçü Kaldır");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Sonrakine Git");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("UBL'yi Etkinleştir");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("UBL'yi Etkisizleştir");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Yatak Sıcaklığı");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Yatak Sıcaklığı");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Nozul Sıcaklığı");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Nozul Sıcaklığı");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Mesh Düzenleme");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Özel Mesh Düzenleme");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("İnce Ayar Mesh");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Mesh Düzenleme Tamam");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Özel Mesh Oluştur");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Mesh Oluştur");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Mesh Oluştur ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Doğrulama Mesh ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Soğuk Mesh Oluştur");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Mesh Yükseklik Ayarı");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Yükseklik miktarı");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Doğrulama Mesh");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Özel Mesh Doğrulama");
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 Isıtma Tablası");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 Isıtma Memesi");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Manuel çalışma...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Birincil Sabit Uzunluk");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Çalışma Tamamlandı");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 İptal edildi");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Çıkış G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Tabla Mesh Devam et");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Mesh Hizalama");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-Nokta Hizalama");
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Kafes Mesh Hizalama");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Mesh Seviyesi");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Yan Noktalar");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Haritalama Türü");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Mesh Çıkış Haritası");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Host için Çıktı");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("CSV için Çıktı");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Yazıcıda Yedek Kpalı");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("UBL Çıkış Bilgisi");
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Dolgu Miktarı");
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Manuel Dolgu");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Akıllı Dogu");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Mesh Dolgu");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Tümünü Geçersiz Kıl");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Yakını Geçersiz Kıl");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Tümünü İnce Ayarla");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Yakını İnce Ayarla");
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Mesh Depolama");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Bellek Yuvası");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Yatak Mesh Yükle");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Yatak Mesh Kayıt Et");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Mesh %i yüklendi");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Mesh %i kayıtlandı");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Depolama Yok");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Hata: UBL Kayıt");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Hata: UBL Yenileme");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-Ofset: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z-Ofset Durduruldu");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Adım Adım UBL");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Soğuk Mesh Oluştur");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Akıllı Dogu");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Doğrulama Mesh");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Tümünü İnce Ayarla");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Doğrulama Mesh");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Tümünü İnce Ayarla");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Yatak Mesh Kayıt Et");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("LED Kontrolü");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("LEDler");
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("LED Hazır Ayarları");
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Kırmızı");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Turuncu");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Sarı");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Yeşil");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Mavi");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Lacivert");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Menekşe");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Beyaz");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Varsayılan");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Özel Işıklar");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Kırmızı Şiddeti");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Yeşil Şiddeti");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Mavi Şiddeti");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Beyaz Şiddeti");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Parlaklık");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Hareket Ediyor..");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Durdur XY");
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("X Hareketi");
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Y Hareketi");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Z Hareketi");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Ekstruder");
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Ekstruder *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Nozul Çok Soğuk");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _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("Hız");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Mesafesi");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Nozul");
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Nozul ~");
+ PROGMEM Language_Str MSG_BED = _UxGT("Tabla");
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Çevirme");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Fan Hızı");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Fan Hızı ~");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Depolanan Fan ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Ekstra Fan Hızı");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Ekstra Fan Hızı ~");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Akış");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Akış ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Kontrol");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Min");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Max");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Çarpan");
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Oto. Sıcaklık");
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Açık");
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Kapalı");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("PID Kalibrasyon");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("PID Kalibrasyon *");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Seç");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Seç *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("İvme");
+
+ PROGMEM Language_Str MSG_JERK = _UxGT("Sarsım");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-Sarsım");
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("V") LCD_STR_B _UxGT("-Sarsım");
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("V") LCD_STR_C _UxGT("-Sarsım");
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Ve-Sarsım");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Jonksiyon Sapması");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Hız Vektörü");
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("HızVektör.max ") LCD_STR_A;
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("HızVektör.max ") LCD_STR_B;
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("HızVektör.max ") LCD_STR_C;
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("HızVektör.max ") LCD_STR_E;
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("HızVektör.max *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("HızVektör.min");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("HV.gezinme min");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Ivme");
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Max. ivme ") LCD_STR_A;
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Max. ivme ") LCD_STR_B;
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Max. ivme ") LCD_STR_C;
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Max. ivme ") LCD_STR_E;
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Max. ivme *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Ivme-geri çekme");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Ivme-gezinme");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Adım/mm");
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT(" adım/mm");
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT(" adım/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT(" adım/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E adım/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* adım/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Sıcaklık");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Hareket");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Filaman");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("Ekstrüzyon/mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Filaman Çapı");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Filaman Çapı *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Çıkart mm");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Yükle mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K İlerlet");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K İlerlet *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD Kontrast");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Hafızaya Al");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Hafızadan Yükle");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Fabrika Ayarları");
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("EEPROM'u başlat");
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("Hata: EEPROM CRC");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("Hata: EEPROM Indeks");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("Hata: EEPROM Versiyonu");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("SD Güncellemesi");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Yazıcıyı Resetle");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Yenile");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Bilgi Ekranı");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Hazırlık");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Ayar");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Yaz. Başlat");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("İleri");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("İçinde");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Durdur");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Yazdır");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Resetle");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("İptal");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Tamamlandı");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Geri");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Devam ediyor");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Duraklat");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Sürdür");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Durdur");
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Yazdırma Nesnesi");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Nesneyi İptal Et");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Nesneyi İptal Et =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Kesinti Kurtarma");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("SD Karttan Yazdır");
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("SD Kart Yok!");
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Uyku...");
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Operatör bekleniyor.");
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("Baskı Duraklatıldı");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Baskı Yapılıyor...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Baskı Durduruldu!");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("İşlem yok.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("Kilitlendi. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("Durdu. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Geri Çek mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Swap Re.mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Geri Çekme V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Atlama mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("S Unretr. mm");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Unretract V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Oto. Geri Çekme");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("G.Çekme Boyu");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Tasfiye uzunluğu");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Takım Değişimi");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Z Yükselt");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Birincil Hız");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Geri Çekme Hızı");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Nozul Beklemede");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Filaman Değiştir");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Filaman Değiştir *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Filaman Yükle");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Filaman Yükle *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Filaman Çıkart");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Filaman Çıkart *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Tümünü Çıkart");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("SD Kart Başlatılıyor");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("SD Kart Değiştir");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("SD Kart Çıkart");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z Prob Açık. Tabla");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Çarpıklık Faktörü");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch K. Test");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Reset");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Kapat");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Aç");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW-Modu");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("5V-Modu");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("OD-Modu");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Mode-Store");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("BLTouch 5V Ayarla");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("BLTouch OD Ayarla");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Drenaj Raporu");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("TEHLIKE: Kötü ayarlar hasara neden olabilir! Yine de devam edilsin mi?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Init TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Z Ofset Testi");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Kaydet");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("TouchMI Aç");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Z-Probe Aç");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Z-Probe Kapat");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Önce %s%s%s Sıfırla");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Prob Ofsetleri");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("X Prob Ofset");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Y Prob Ofset");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Z Prob Ofset");
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Miniadım X");
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Miniadım Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Miniadım Z");
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("Toplam");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Endstop iptal");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Isınma başarısız");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Hata: Sıcaklık Aşımı");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("TERMAL PROBLEM");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("TABLA TERMAL PROBLEM");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("ODA TERMAL PROBLEM");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Hata: MAX.SICAKLIK");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Hata: MIN.SICAKLIK");
+ PROGMEM Language_Str MSG_HALTED = _UxGT("YAZICI DURDURULDU");
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Lütfen Resetleyin");
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("G"); // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("S"); // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("D"); // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Isınıyor...");
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Soğuyor...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Tabla Isınıyor...");
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Tabla Soğuyor...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Oda Isınıyor...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Oda Soğuyor...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Delta Kalibrasyonu");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Ayarla X");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Ayarla Y");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Ayarla Z");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Ayarla Merkez");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Delta Ayarları");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Oto Kalibrasyon");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Delta Yük. Ayarla");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Z Prob Ofseti");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Çapral Mil");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Yükseklik");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Yarıçap");
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Yazıcı Hakkında");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Yazıcı Bilgisi");
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-Nokta Hizalama");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Doğrusal Hizalama");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("İki Yönlü Doğ. Hiza.");
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("Birleşik Tabla Hiza.");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Mesh Hizalama");
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("İstatistikler");
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Kontrolcü Bilgisi");
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Termistörler");
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Ekstruderler");
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("İletişim Hızı");
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Protokol");
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Aydınlatmayı Aç");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Aydınlatma Parlaklğı");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("Yanlış Yazıcı");
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Baskı Sayısı");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Tamamlanan");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Toplam Baskı Süresi");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("En Uzun Baskı Süresi");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Toplam Filaman");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Baskı");
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Tamamlanan");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Süre");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("En Uzun");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Filaman");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Min Sıc.");
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Max Sıc.");
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Güç Kaynağı");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Sürücü Gücü");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X Sürücü %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y Sürücü %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z Sürücü %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E Sürücü %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC BAĞLANTI HATASI");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("DAC EEPROM Yaz");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("FILAMAN DEGISTIR");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("BASKI DURAKLATILDI");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("FILAMAN YüKLE");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("FILAMAN ÇIKART");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("Seçenekler:");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Daha Fazla Tasviye");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Baskıyı sürdür");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Nozul: ");
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Runout Sensörü");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Aşınma Farkı mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Sıfırlama Başarısız");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Probing Başarısız");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("FILAMAN SEÇ");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("MMU Yaz. Güncelle!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU Dikkat Gerektirir.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("Yaz. Devam Et");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("Sürdürülüyor...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("Filaman Yükle");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("Tümünü Yükle");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("Nozula Yükle");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("Filaman Çıkart");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("Filaman Çıkart ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("Filamenti Boşalt");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("Fil. Yükleniyor %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("Fil Çıkartılıyor. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("Fil. Boşaltılıyor....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("Tümü");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("Filaman ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("MMU Resetle");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU Resetleniyot...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("Kaldır, tıkla");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("Karışım");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Bileşen =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Karıştırıcı");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Gradyan");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Tam Gradyan");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Karışım Geçişi");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Döngü Karışımı");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Gradyan Karışımı");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Ters Gradyan");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Aktif V-tool");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Başlat V-tool");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" Bitir V-tool");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Alias V-tool");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Reset V-tools");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("V-tool Karışıö Yap");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-tools Resetlendi");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Başlat Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Bitir Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Oyunlar");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Brickout");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Invaders");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Sn4k3");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Maze");
+
+ //
+ // Filament Değişim ekranları 4 satırlı ekranda 3 satıra kadar gösterilir
+ // ...veya 3 satırlı ekranda 2 satıra kadar
+ //
+ #if LCD_HEIGHT >= 4
+
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Baskıya devam etmek", "için Butona bas"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Park Ediliyor..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Filaman değişimi", "için başlama", "bekleniyor"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Filamanı yükle", "ve devam için", "tuşa bas..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Nozulü Isıtmak için", "Butona Bas."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Nozul Isınıyor", "Lütfen Bekleyin..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Filamanın çıkması", "bekleniyor"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Filamanın yüklenmesi", "bekleniyor.."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Filaman Temizlemesi", "için bekle"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Filaman Temizlemesi", "bitirmek için tıkla"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Baskının devam ", "etmesi için bekle"));
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Sürdürmek İçin Tıkla"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Park Ediliyor..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Lütfen bekleyiniz..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Yükle ve bas"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Isıtmak için Tıkla"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Isınıyor..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Çıkartılıyor..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Yüklüyor..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Temizleniyor..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Bitirmek için Tıkla"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Sürdürülüyor..."));
+ #endif
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("TMC Sürücüleri");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Sürücü Akımı");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Hibrit Eşiği");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Sensörsüz Sıfırlama");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Adım Modu");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop Aktif");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Resetle");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" içinde:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Ters Tepki");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Düzeltme");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Yumuşatma");
+}
+
+#if FAN_COUNT == 1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
+#else
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
+#endif
diff --git a/Marlin/src/lcd/language/language_uk.h b/Marlin/src/lcd/language/language_uk.h
new file mode 100644
index 0000000..069ad70
--- /dev/null
+++ b/Marlin/src/lcd/language/language_uk.h
@@ -0,0 +1,839 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Ukrainian
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+
+#define DISPLAY_CHARSET_ISO10646_5
+
+namespace Language_uk {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Ukranian");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" Готовий.");
+ PROGMEM Language_Str MSG_YES = _UxGT("ТАК");
+ PROGMEM Language_Str MSG_NO = _UxGT("НІ");
+ PROGMEM Language_Str MSG_BACK = _UxGT("Назад");
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Переривання...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("SD-картка вставлена");
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("SD-картка видалена");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Вставте SD-картку");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Збій ініціалізації SD");
+ #else
+ PROGMEM Language_Str MSG_SD_INIT_FAIL = _UxGT("Збій ініціаліз. SD");
+ #endif
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Помилка зчитування");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB диск видалений");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("Помилка USB диску");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Переповнення виклику");
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Програмні кінцевики");
+ #else
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("Переповн. виклику");
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Прогр.кінцевики");
+ #endif
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Кінцевик"); // Max length 8 characters
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Основне меню");
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Інші налаштування");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Конфігурація");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Автостарт");
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Вимкнути двигуни");
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Меню Debug");
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _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_AUTO_Z_ALIGN = _UxGT("Авто Z-вирівнювання");
+ PROGMEM Language_Str MSG_ITERATION = _UxGT("G34 Ітерація: %i");
+ PROGMEM Language_Str MSG_DECREASING_ACCURACY = _UxGT("Зменьшення точності!");
+ PROGMEM Language_Str MSG_ACCURACY_ACHIEVED = _UxGT("Точність досягнута");
+ 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_Z_FADE_HEIGHT = _UxGT("Висота спаду");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Встанов. зміщення дому");
+ #else
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Встанов. зміщ. дому");
+ #endif
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Зміщення прийняті");
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Встановити нуль");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Нагрів ") PREHEAT_1_LABEL;
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Нагрів ") PREHEAT_1_LABEL " ~";
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" сопло");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" сопло ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" все");
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" стіл");
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Нагрів ") PREHEAT_1_LABEL _UxGT(" налашт");
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Нагрів $");
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Нагрів $ ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Нагрів $ сопло");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Нагрів $ сопло ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Нагрів $ все");
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Нагрів $ стіл");
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Нагрів $ налашт");
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Нагрів свого");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Вимкнути нагрів");
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("Частота");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("Керування лазером");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Потужність лазера");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Керування шпінделем");
+ #else
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("Потуж.лазера");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("Керув. шпінделем");
+ #endif
+ PROGMEM Language_Str MSG_SPINDLE_TOGGLE = _UxGT("Перемкнути шпіндель");
+ PROGMEM Language_Str MSG_LASER_TOGGLE = _UxGT("Перемкнути лазер");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Потуж. шпінделя");
+ #else
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("Потуж. шпінд.");
+ #endif
+ PROGMEM Language_Str MSG_SPINDLE_FORWARD = _UxGT("Шпіндель вперед");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _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_LEVEL_CORNERS = _UxGT("Вирівняти кути");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_RAISE = _UxGT("Вгору до спрацювання зонду"); // not sure about this one
+ #else
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_RAISE = _UxGT("Вгору до спрацюв. зонду");
+ #endif
+ PROGMEM Language_Str MSG_LEVEL_CORNERS_IN_RANGE = _UxGT("Кути в межах. Вирівнювання столу"); // Too long?
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Наступний кут");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Зміщення по Z");
+ #else
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("Зміщення Z");
+ #endif
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Редагувати сітку");
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Редагув. зупинено");
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("Точка сітки");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Індекс X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Індекс Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Значення Z");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Власні команди");
+
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 тест зонду");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 точка");
+ PROGMEM Language_Str MSG_M48_OUT_OF_BOUNDS = _UxGT("Зонд за межами");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("Відхилення");
+
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("Режим IDEX");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Зміщення сопел");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Авто паркування");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Дуплікація");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Дзеркальна копія");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Повний контроль");
+ PROGMEM Language_Str MSG_IDEX_DUPE_GAP = _UxGT("Дублюв. X-проміжок");
+
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("Друге сопло X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("Друге сопло Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("Друге сопло Z");
+
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Виконується G29");
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Інструменти UBL");
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("Налаштування UBL");
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("Точка нахилу");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Ручне введення сітки");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Розмістити шайбу і вимір.");
+ #else
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Ручне введ. сітки");
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Розм. шайбу і вимір.");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Вимірювання");
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Видалити і виміряти стіл");
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Рух до наступної");
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Активувати UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Деактивувати UBL");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Температура столу");
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Температура свого столу");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Температура сопла");
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Температура свого сопла");
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Редагувати свою сітку");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Точне редагування сітки");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Будувати свою сітку");
+ #else
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = LCD_STR_THERMOMETER _UxGT(" столу, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = LCD_STR_THERMOMETER _UxGT(" столу, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = LCD_STR_THERMOMETER _UxGT(" сопла, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Редагувати свою");
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Точне редаг. сітки");
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Будувати свою");
+ #endif
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Редагування сітки");
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Сітка побудована");
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Будувати сітку");
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Будувати сітку ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Підтвердити ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Буд. холодну сітку");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Встан.висоту сітки");
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Висота");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Підтвердити сітку");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Підтвердити свою");
+
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 нагрів столу");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 нагрів сопла");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("Ручне грунтування");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("Фікс. довж. грунт."); // ґ is not supported
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("Грунтув. виконане");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26 скасовано");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("Вийти з G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Продовжити сітку");
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Вирівнювання сітки");
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("3-точкове вирівн.");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Вирівнювання растру");
+ #else
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Вирівнюв. растру");
+ #endif
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Вирівняти сітку");
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Крайні точки");
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Тип мапи сітки");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Вивести мапу сітки");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Вивести на хост");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Вивести в CSV");
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Зберегти зовні");
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Інформація по UBL");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Обсяг заповнювача");
+ #else
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Обсяг заповн.");
+ #endif
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Ручне заповнення");
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Розумне заповнення");
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Заповнити сітку");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Анулювати все");
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Анулювати найближчу");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Точно налаштувати все");
+ #else
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Точно налашт. все");
+ #endif
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Точно налашт.найближчу");
+ #else
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Точно найближчу");
+ #endif
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Збереження сітки");
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Слот пам'яті");
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Завантажити сітку");
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Зберегти сітку");
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("Сітка %i завантажена");
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("Сітка %i збережена");
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("Немає носія");
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Збій: збереж. UBL");
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Збій: відновл. UBL");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Зміщення Z: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Зміщення Z зупинено");
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("UBL покроково");
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Збудувати холодну");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Розумне заповн-я");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Затвердити сітку");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Точно налашт.все");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Затвердити сітку");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Точно налашт.все");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Зберегти сітку");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Керування світлом");
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Підсвітка");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Передустановки світла");
+ #else
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Передустан. світла");
+ #endif
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Червоний");
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Помаранчевий");
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Жовтий");
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Зелений");
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Синій");
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Індіго");
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Фіолетовий");
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Білий");
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("За умовчанням");
+ PROGMEM Language_Str MSG_LED_CHANNEL_N = _UxGT("Канал =");
+ PROGMEM Language_Str MSG_LEDS2 = _UxGT("Світло #2");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Передустановка світла #2");
+ #else
+ PROGMEM Language_Str MSG_NEO2_PRESETS = _UxGT("Передустан. світла #2");
+ #endif
+ PROGMEM Language_Str MSG_NEO2_BRIGHTNESS = _UxGT("Яскравість");
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Своє світло");
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Рівень червоного");
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Рівень зеленого");
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Рівень синього");
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Рівень білого");
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("Яскравість");
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Рух...");
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Звільнити XY");
+ 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_EN = _UxGT("Екструдер *");
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Сопло дуже холодне");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("Рух %sмм");
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Рух 0.1мм");
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Рух 1мм");
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Рух 10мм");
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Швидкість");
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Столу");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Сопло, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Сопло ~");
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("Сопло запарковане");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("Сопло очікує");
+ PROGMEM Language_Str MSG_BED = _UxGT("Стіл, ") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Камера,") LCD_STR_DEGREE "C";
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Швидк. вент.");
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Швидк. вент. ~");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Збереж. швидк. вент. ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Дод. швидк. вент. ~");
+ #else
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Збереж. вент. ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Додат.вент. ~");
+ #endif
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("Вент. контролера");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Дод. швидк. вент.");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("Холості оберти");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("Авто-режим");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("Робочі оберти");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("Період простою");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Потік");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Потік ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Налаштування");
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER ", " LCD_STR_DEGREE _UxGT("С мін");
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER ", " LCD_STR_DEGREE _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_AUTOTUNE = _UxGT("Автопідбір PID");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("Автопідбір PID *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("Підбір PID виконано");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("Збій автопідбору. Поганий екструдер.");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("Збій автопідбору. Температура завищена.");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("Збій автопідбору! Вичерпан час.");
+
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Вибрати");
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Вибрати *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Прискорорення");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Ривок");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("V") LCD_STR_A _UxGT("-ривок");
+ 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-ривок");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Відхилення вузла");
+ #else
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Відхил.вузла");
+ #endif
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Швидкість, мм/с");
+ 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_EN = _UxGT("Швидк.макс *");
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Швидк.мін");
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Переміщення мін");
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Прискорення, мм/с2");
+ 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_EN = _UxGT("Приск.макс *");
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("Приск.втягув.");
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("Приск.переміщ.");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("Частота макс.");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("Подача мін.");
+ 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("E кроків/мм");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* кроків/мм");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Температура");
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Рух");
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Пруток");
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E, мм") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E обмеж.,мм") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E обмеж. *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Діам. прутка");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Діам. прутка *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Вивантаж., мм");
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Завантаж., мм");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Kоеф. просув.");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Kоеф. просув. *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Контраст екрану");
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Зберегти в EEPROM");
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Зчитати з EEPROM");
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("На базові параметри");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Ініціалізація EEPROM");
+ #else
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Ініціаліз. EEPROM");
+ #endif
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("Збій EEPROM: CRC");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("Збій EEPROM: індекс");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("Збій EEPROM: версія");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("Параметри збережені");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Оновити SD-картку");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Зкинути принтер");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT(" Поновити");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Головний екран");
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Підготувати");
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Підлаштування");
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("Монітор живлення");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("Струм");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("Напруга");
+ PROGMEM Language_Str MSG_POWER = _UxGT("Потужність");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("Почати друк");
+
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("Далі"); //short text for buttons
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("Ініц-я");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("Зупинка");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("Друк");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("Зкинути");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("Ігнорув.");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("Відміна");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("Готово");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("Назад");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("Продовжити");
+ PROGMEM Language_Str MSG_BUTTON_SKIP = _UxGT("Пропустити");
+
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("Призупинення...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Призупинити друк");
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Відновити друк");
+ PROGMEM Language_Str MSG_HOST_START_PRINT = _UxGT("Старт з хосту");
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Скасувати друк");
+ PROGMEM Language_Str MSG_END_LOOPS = _UxGT("End Repeat Loops"); // needs translation
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("Друк об'єкта");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("Завершити об'єкт");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("Завершити об'єкт =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _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_PAUSED = _UxGT("Друк призупинено");
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Друк...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("Друк скасовано");
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("Друк завершено");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Немає руху.");
+ PROGMEM Language_Str MSG_KILLED = _UxGT("ПЕРЕРВАНО. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ЗУПИНЕНО. ");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Втягування, мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Зміна втягув.,мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Ретракт V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Стрибок, мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Повернення, мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Поверн.зміни, мм");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Автовтягування");
+ #else
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Втягув., мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Зміна втяг.мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("Поверн., мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("Повер.зміни,мм");
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("Автовтягув.");
+ #endif
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Втягування V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Підскок, мм");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("Повернення V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("Поверн.зміни V");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Змінити довжини");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("Змінити додатково");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("Очистити довжину");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Зміна сопла");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Підняти по Z");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Початк.швидкість");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Швидкість втягув.");
+ #else
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Початк.швидк.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Швидк.втягув.");
+ #endif
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("Паркувати голову");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("Відновити швидкість");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Оберти вентилятора");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Час вентилятора");
+ #else
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("Оберти вент.");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("Час вент.");
+ #endif
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("Авто Увімк.");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("Авто Вимкн.");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("Заміна інструменту");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("Авто заміна");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("Останній екструдер");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("Заміна на *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Заміна прутка");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Заміна прутка *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Подати пруток");
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Подати пруток *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Видалити пруток");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Видалити пруток *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Видалити все");
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Вставити SD-картку");
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Заміна SD-картки");
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Видаліть SD-картку");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z-Зонд поза столом");
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Фактор нахилу");
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch");
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Само-тест");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Зкинути зонд");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Підняти зонд");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Опустити зонд");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("Режим SW");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("Режим 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("Режим OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("Режим збереження");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("Встановити BLT на 5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("Встановити BLT на OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("Звітувати злив");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("НЕБЕЗПЕКА: Неправильні параметри приводять до пошкоджень! Продовжити?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("Z-Зонд TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("Ініц. TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Тест Z-зміщення");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("Зберегти");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("Установити TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Установити Z-зонд");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Завантажити Z-зонд");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Спочатку дім %s%s%s");
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("Зміщення зонду");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("Зміщення по X");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("Зміщення по Y");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Зміщення по Z");
+ PROGMEM Language_Str MSG_MOVE_NOZZLE_TO_BED = _UxGT("Рухати сопло до столу");
+ 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_BABYSTEP_TOTAL = _UxGT("Сумарно");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Кінцевик спрацював");
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Збій нагріву");
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("ЗАВИЩЕНА Т") LCD_STR_DEGREE;
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("ВИТІК ТЕПЛА");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("ВИТІК ТЕПЛА СТОЛУ");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("ВИТІК ТЕПЛА КАМЕРИ");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("МАКСИМАЛЬНА Т");
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("МІНІМАЛЬНА Т") LCD_STR_DEGREE;
+ 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_COOLING = _UxGT("Охолодження...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Нагрів столу...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("Нагрів камери...");
+ PROGMEM Language_Str MSG_PROBE_HEATING = _UxGT("Нагрів зонду...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Калібрування Delta");
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Охолодження столу...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Охолодження камери...");
+ PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Охолодження зонду...");
+ #else
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Охол. столу...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("Охол. камери...");
+ PROGMEM Language_Str MSG_PROBE_COOLING = _UxGT("Охол. зонду...");
+ #endif
+ 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("Калібр. центр");
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Параметри Delta");
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Автокалібрування");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Встан. Висоту Delta");
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Z-зміщення зонду");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Діагональ стрижня");
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Висота");
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Радіус");
+
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Про принтер");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Дані принтера");
+
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-точкове вирівнювання");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Лінійне вирівнювання");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Білінійне вирівнювання");
+ #else
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("3-точкове вирівн.");
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("Лінійне вирівн.");
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("Білінійне вирівн.");
+ #endif
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("UBL");
+ PROGMEM Language_Str MSG_MESH_LEVELING = _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("Протокол");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Контроль витіку ") LCD_STR_THERMOMETER _UxGT(" Вимк");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Контроль витіку ") LCD_STR_THERMOMETER _UxGT(" Увімк");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Час простою хотенду");
+ #else
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("Контр.витіку ") LCD_STR_THERMOMETER _UxGT(" Вимк");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("Контр.витіку ") LCD_STR_THERMOMETER _UxGT(" Увімк");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("Час прост. хот-у");
+ #endif
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Підсвітка");
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Яскравість світла");
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("НЕ ТОЙ ПРИНТЕР");
+
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Завершено");
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Екструдовано");
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Кількість друків");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Весь час друку");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Найдовший час");
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Друків");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Загалом");
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Найдовше");
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Мін. ") LCD_STR_THERMOMETER;
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Макс. ") LCD_STR_THERMOMETER;
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Блок жив-ня");
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Сила мотору");
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("Драйвер X, %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Драйвер Y, %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Драйвер Z, %");
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("Драйвер E, %");
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("ЗБІЙ ЗВ'ЯЗКУ З TMC");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Запис ЦАП у EEPROM");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("ЗАМІНА ПРУТКА");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("ЗУПИНКА ДРУКУ");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("ЗАВАНТАЖИТИ ПРУТОК");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("ВИВАНТАЖИТИ ПРУТОК");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("ПАРАМЕТРИ ПРОДОВЖЕННЯ:");
+ #else
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("ПАРАМ.ПРОДОВЖЕННЯ:");
+ #endif
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Видавити ще");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Відновити друк");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Сопло: ");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Датчик закінчення прутка");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("Відстань закінч.,мм");
+ #else
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("Датчик закінч.прутка");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("До закінч.,мм");
+ #endif
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Помилка паркування");
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("Помилка зондування");
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("ОБЕРІТЬ ПРУТОК");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("Онови прошивку MMU!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU потребує уваги");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("MMU Продовжити");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("MMU Продовження...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("MMU Завантажити");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("MMU Завантажити все");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("MMU Завантажити в сопло");
+ #else
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("MMU Завантаж. в сопло");
+ #endif
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("MMU Звільнити");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("MMU Звільнити ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("MMU Вивантажити");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("MMU Завантаж. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("MMU Звільнення...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("MMU Вивантаження...");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("MMU Все");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("MMU Пруток ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("MMU Перезапуск");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU Перезапуск...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("MMU Видаліть, натисніть");
+
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_MIX = _UxGT("Змішування");
+ #else
+ PROGMEM Language_Str MSG_MIX = _UxGT("Змішув.");
+ #endif
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("Компонент =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("Змішувач");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("Градієнт");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("Повний градієнт");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("Змішування переключ.");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("Циклічне змішування");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("Градієнт змішування");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("Змінити градієнт");
+
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Активація В-інструменту");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Псевдонім В-інструменту");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Зкидання В-інструментів");
+ #else
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("Актив. В-інструм.");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("Псевдонім В-інструм.");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("Зкидання В-інструм.");
+ #endif
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("Початок В-інструменту");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT("Кінець В-інструменту");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("Змішати В-інструменти");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("В-інструменти зкинуті");
+
+ PROGMEM Language_Str MSG_START_Z = _UxGT("Початок Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" Кінець Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("Ігри");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("Цеглини");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("Вторгнення");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("Zм!йк@");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("Лабіринт");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("Погана сторінка");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Погана швидкість стор.");
+ #else
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("Погана швидк. стор.");
+ #endif
+
+ PROGMEM Language_Str MSG_EDIT_PASSWORD = _UxGT("Редагувати пароль");
+ PROGMEM Language_Str MSG_LOGIN_REQUIRED = _UxGT("Потрібен логін");
+ PROGMEM Language_Str MSG_PASSWORD_SETTINGS = _UxGT("Параметри паролю");
+ PROGMEM Language_Str MSG_ENTER_DIGIT = _UxGT("Введіть цифру");
+ PROGMEM Language_Str MSG_CHANGE_PASSWORD = _UxGT("Змінити пароль");
+ PROGMEM Language_Str MSG_REMOVE_PASSWORD = _UxGT("Видалити пароль");
+ PROGMEM Language_Str MSG_PASSWORD_SET = _UxGT("Пароль: ");
+ PROGMEM Language_Str MSG_START_OVER = _UxGT("Старт через");
+ PROGMEM Language_Str MSG_REMINDER_SAVE_SETTINGS = _UxGT("Не забудь зберегти!");
+ PROGMEM Language_Str MSG_PASSWORD_REMOVED = _UxGT("Пароль видалений");
+
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("Паркування..."));
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ // Up to 3 lines allowed
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_3_LINE("Натисніть кнопку", "для продовження", "друку"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Зачекайте", "на початок", "заміни прутка"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Вставте пруток", "та натисніть", "для продовження"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Натисніть кнопку", "для нагріву сопла"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Сопло нагрівається", "зачекайте..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Зачекайте", "на вивід прутка"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Зачекайте", "на ввід прутка"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Дочекайтесь", "очищення прутка"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_3_LINE("Натисніть кнопку", "для завершення", "очищення прутка"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_3_LINE("Зачекайте", "на відновлення", "друку"));
+ #else
+ // Up to 2 lines allowed
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Продовжити друк"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Зачекайте..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Вставте і натисніть"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Нагріти сопло"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Нагрів сопла..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Вивід прутка..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Ввід прутка..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Очищення прутка..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Завершити очищення"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Поновлення друку..."));
+ #endif
+
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("Драйвери TMC");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Струм драйвера");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Гібридний поріг");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Дім без кінцевиків");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Режим мікрокроку");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("Тихий режим увімк.");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("Зкидання");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" в:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("Люфт");
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("Виправлення");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("Зглажування");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("Рівень вісі X");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("Авто калібрування");
+
+ #if ENABLED(TOUCH_UI_FTDI_EVE)
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Час простою збіг, температура впала. Натисніть ОК, щоби знову нагріти та продовжити");
+ #else
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("Час нагрівача збіг");
+ #endif
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("Поновити нагрів");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("Нагрівання...");
+
+ PROGMEM Language_Str MSG_PROBE_WIZARD = _UxGT("Майстер Z-зонда");
+ #if LCD_WIDTH > 21
+ PROGMEM Language_Str MSG_PROBE_WIZARD_PROBING = _UxGT("Зондув. контрольної точки Z");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_MOVING = _UxGT("Рух до точки зондування");
+ #else
+ PROGMEM Language_Str MSG_PROBE_WIZARD_PROBING = _UxGT("Зондув.контр.точки Z");
+ PROGMEM Language_Str MSG_PROBE_WIZARD_MOVING = _UxGT("Рух до точки зондув.");
+ #endif
+
+ PROGMEM Language_Str MSG_SOUND = _UxGT("Звук");
+
+ PROGMEM Language_Str MSG_TOP_LEFT = _UxGT("Верхній лівий");
+ PROGMEM Language_Str MSG_BOTTOM_LEFT = _UxGT("Нижній лівий");
+ PROGMEM Language_Str MSG_TOP_RIGHT = _UxGT("Верхній правий");
+ PROGMEM Language_Str MSG_BOTTOM_RIGHT = _UxGT("Нижній правий");
+ PROGMEM Language_Str MSG_CALIBRATION_COMPLETED = _UxGT("Калібрування успішне");
+ PROGMEM Language_Str MSG_CALIBRATION_FAILED = _UxGT("Збій калібрування");
+}
+
+#if FAN_COUNT == 1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
+#else
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
+#endif
diff --git a/Marlin/src/lcd/language/language_vi.h b/Marlin/src/lcd/language/language_vi.h
new file mode 100644
index 0000000..fad3250
--- /dev/null
+++ b/Marlin/src/lcd/language/language_vi.h
@@ -0,0 +1,440 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Vietnamese
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+namespace Language_vi {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 2;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Vietnamese");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT(" Sẵn sàng."); // Ready
+ PROGMEM Language_Str MSG_BACK = _UxGT("Trở lại"); // Back
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("Đang hủy bỏ...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("Phương tiện được cắm vào"); // Media inserted
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("Phương tiện được rút ra");
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("Chờ đợi phương tiện");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("Lỗi đọc phương tiện");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB được rút ra");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB khởi thất bại");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("Công tắc"); // Endstops - công tắc hành trình
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("Công tắc mềm"); // soft Endstops
+ PROGMEM Language_Str MSG_MAIN = _UxGT("Chính"); // Main
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("Thiết lập cấp cao"); // Advanced Settings
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("Cấu hình"); // Configuration
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("Khởi chạy tự động"); // Autostart
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("Tắt động cơ bước"); // Disable steppers
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("Menu gỡ lỗi"); // Debug Menu
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("Kiểm tra tiến độ"); // Progress bar test
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("Về nhà tự động"); // Auto home
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("Về nhà X"); // home x
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("Về nhà Y"); // home y
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("Về nhà Z");
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("Chỉnh canh Z tự động");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("Đang về nhà XYZ"); // Homing XYZ
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("Nhấn để bắt đầu"); // Click to Begin
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("Điểm tiếp theo"); // Next Point
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("San lấp được hoàn thành"); // Leveling Done!
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("Chiều cao mờ dần"); // Fade Height
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("Đặt bù đắp nhà"); // Set home offsets
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("Bù đắp được áp dụng"); // Offsets applied
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("Đặt nguồn gốc"); // Set origin
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước"); // Preheat
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" trước ~"); // Preheat
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu");
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Đầu ~");
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Tất cả"); // all
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Bàn"); // bed -- using vietnamese term for 'table' instead
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("Làm nóng ") PREHEAT_1_LABEL _UxGT(" Cấu hình"); // conf
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("Làm nóng $ trước"); // Preheat
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("Làm nóng $ trước ~"); // Preheat
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("Làm nóng $ Đầu");
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("Làm nóng $ Đầu ~");
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("Làm nóng $ Tất cả"); // all
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("Làm nóng $ Bàn"); // bed -- using vietnamese term for 'table' instead
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("Làm nóng $ Cấu hình"); // conf
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("Sự nóng trước tự chọn"); // Preheat Custom
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("Nguội xuống"); // Cooldown
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("Bật nguồn"); // Switch power on
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("Tắt nguồn"); // Switch power off
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("Ép đùn"); // Extrude
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("Rút lại"); // Retract
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("Di chuyển trục"); // Move axis
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("San Lấp Bàn"); // Bed Leveling
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("Làm bằng mặt bàn"); // Level bed
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("Làm bằng góc bàn"); // Level corners
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("Góc tiếp theo"); // Next corner
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("Chỉnh lưới đã dừng"); // Mesh Editing Stopped
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("Mục lục X"); // Index X
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("Mục lục Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Giá trị Z"); // Z Value
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("Các lệnh tự chọn"); // Custom Commands
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("Đang chạy G29"); // Doing G29
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("Công cụ UBL"); // UBL tools
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("San Lấp Bàn Thống Nhất (UBL)"); // Unified Bed Leveling
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("chế độ IDEX"); // IDEX Mode
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Đậu tự động"); // Auto-Park
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Sự gấp đôi"); // Duplication
+ PROGMEM Language_Str MSG_IDEX_MODE_SCALED_COPY = _UxGT("Bản sao thu nhỏ");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Toàn quyền điều khiển"); // Full control
+ PROGMEM Language_Str MSG_IDEX_X_OFFSET = _UxGT("Đầu phun X nhì"); // 2nd nozzle X
+ PROGMEM Language_Str MSG_IDEX_Y_OFFSET = _UxGT("Đầu phun Y nhì");
+ PROGMEM Language_Str MSG_IDEX_Z_OFFSET = _UxGT("Đầu phun Z nhì");
+ PROGMEM Language_Str MSG_IDEX_SAVE_OFFSETS = _UxGT("Lưu bù đắp"); // Save offsets
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("Tự xây dựng lưới"); // Manually Build Mesh
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("Đặt chêm và đo"); // Place shim & measure
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("Đo"); // Measure
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("Tháo và đo bàn"); // Remove & measure bed
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("Chuyển sang tiếp theo"); // moving to next
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("Bật UBL");
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("Tắt UBL");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("Nhiệt độ bàn"); // Bed Temp
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("Bed Temp");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("Nhiệt độ đầu phun"); // Hotend Temp
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("Hotend Temp");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("Chỉnh sửa lưới"); // Mesh Edit
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("Chỉnh sửa lưới tự chọn"); // Edit Custom Mesh
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("Chỉnh lưới chính xác"); // Fine tuning mesh
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("Chỉnh sửa xong lưới"); // Done Editing Mesh
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("Xây dựng lưới tự chọn"); // Build Custom Mesh
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("Xây dựng lưới"); // Build Mesh
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("Xây dựng lưới ($)");
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("Thẩm tra lưới ($)");
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("Xây dựng lưới lạnh"); // Build cold mesh
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("Điều chỉnh chiều cao lưới"); // Adjust Mesh Height
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("Số lượng chiều cao"); // Height Amount
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("Thẩm tra lưới"); // Validate Mesh
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("Thẩm tra lưới tự chọn"); // validate custom mesh
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("Tiếp tục xây lưới bàn"); // Continue Bed Mesh
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("Đang san lấp lưới"); // Mesh Leveling
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("Đang san lấp 3-điểm"); // 3-Point Leveling
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("Đang san lấp lưới phẳng"); // Grid (planar) Mesh Leveling
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("Làm bằng lưới"); // Level Mesh
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("Điểm bên cạnh"); // Side Points
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("Loại bản đồ"); // Map Type
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("Đầu ra bản đồ lưới"); // Output Mesh Map
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("Đầu ra cho máy chủ"); // Output for Host
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("Đầu ra cho CSV"); // Output for CSV
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("Hỗ trợ lưới"); // Off Printer Backup | backup mesh
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("Đầu ra thông tin UBL"); // Output UBL Info
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("Chỉnh sửa lưới"); // Edit mesh
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("Số lượng lấp đầy"); // Fill-in Amount
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("Tự lấp đầy"); // Manual Fill-in
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("Lấp đầy thông minh"); // Smart Fill-in
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("Lưới lấp đầy"); // Fill-in Mesh
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("Bác bỏ tất cả"); // Invalidate All
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("Bác bỏ gần nhất"); // Invalidate Closest
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("Chỉnh chính xác tất cả"); // Fine Tune ALl
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("Chỉnh chính xác gần nhất"); // Fine Tune Closest
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("Lưu trữ lưới"); // Mesh Storage
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("Khe nhớ"); // Memory Slot
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("Tải lưới bàn"); // Load Bed Mesh
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("Lưu lưới bàn"); // Save Bed Mesh
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("%i lưới được nạp"); // Mesh %i loaded
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("%i lưới đã lưu");
+ PROGMEM Language_Str MSG_NO_STORAGE = _UxGT("Không lưu trữ"); // No Storage
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("Điều sai: Lưu UBL"); // Err: UBL Save
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("Điều Sai: Khôi Phục UBL"); // Err: UBL Restore
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Đầu Dò-Z Đã Ngừng"); // Z-Offset Stopped
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("Bước-Từng-Bước UBL"); // Step-By-Step UBL
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1.Xây dựng lưới lạnh");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2.Lấp đầy thông minh");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3.Thẩm tra lưới");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4.Chỉnh chính xác tất cả");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5.Thẩm tra lưới");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6.Chỉnh chính xác tất cả");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7.Lưu lưới bàn");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("Điều khiển LED"); // LED Control
+ PROGMEM Language_Str MSG_LEDS = _UxGT("Đèn"); // Lights
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("Đèn định sẵn"); // Light Presets
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("Đỏ"); // Red
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("Cam"); // Orange
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("Vàng"); // Yellow
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("Xanh Lá"); // Green
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("Xanh"); // Blue
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("Xanh Đậm"); // Indigo
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("Tím"); // Violet
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("Trắng"); // White
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("Mặc định"); // Default
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("Đèn Tự Chọn"); // Custom Lights
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("Cường Độ Đỏ"); // Red Intensity
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("Cường Độ Xanh Lá"); // Green Intensity
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("Cường Độ Xanh"); // Blue Intensity
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("Cường Độ Trắng"); // White Intensity
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("độ sáng"); // Brightness
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("Di chuyển..."); // Moving
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("Giải phóng XY"); // Free XY
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("Di chuyển X"); // Move X
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("Di chuyển Y");
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("Di chuyển Z");
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("Máy đùn"); // Extruder
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("Máy đùn *"); // Extruder
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("Đầu nóng quá lạnh"); // Hotend too cold
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("Di chuyển 0.1mm"); // Move 0.1mm
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("Di chuyển 1mm"); // Move 1mm
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("Di chuyển 10mm"); // Move 10mm
+ PROGMEM Language_Str MSG_SPEED = _UxGT("Tốc độ"); // Speed
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("Z Bàn");
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("Đầu phun"); // Nozzle
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("Đầu phun ~"); // Nozzle
+ PROGMEM Language_Str MSG_BED = _UxGT("Bàn"); // bed
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("Tốc độ quạt"); // fan speed
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("Tốc độ quạt ~"); // fan speed
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("Tốc độ quạt phụ"); // Extra fan speed
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("Tốc độ quạt phụ ~"); // Extra fan speed
+ PROGMEM Language_Str MSG_FLOW = _UxGT("Lưu Lượng");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("Lưu Lượng ~");
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("Điều khiển"); // Control
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" Đa"); // min
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" Thiểu");
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" Hệ Số"); // factor
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("Nhiệt độ tự động"); // Autotemp
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("Bật"); // on
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("Tắt"); // off
+ PROGMEM Language_Str MSG_SELECT = _UxGT("Lựa"); // Select
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("Lựa *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("Tăng Tốc");
+ PROGMEM Language_Str MSG_JERK = _UxGT("Giật");
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("Giật-V") LCD_STR_A;
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("Giật-V") LCD_STR_B;
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("Giật-V") LCD_STR_C;
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("Giật-Ve");
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("Độ Lệch Chỗ Giao"); // Junction Dev
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("Vận tốc"); // velocity
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("Vđa") LCD_STR_A; // Vmax
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("Vđa") LCD_STR_B; // Vmax
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("Vđa") LCD_STR_C; // Vmax
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("Vđa") LCD_STR_E; // Vmax
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("Vđa *"); // Vmax
+ PROGMEM Language_Str MSG_VMIN = _UxGT("Vthiểu"); // Vmin
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("Vchuyển thiểu"); // VTrav min
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("Sự tăng tốc"); // Acceleration
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("Tăng tốc ca") LCD_STR_A; // Amax
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("Tăng tốc ca") LCD_STR_B; // Amax
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("Tăng tốc ca") LCD_STR_C; // Amax
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("Tăng tốc ca") LCD_STR_E; // Amax
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("Tăng tốc ca *"); // Amax
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("TT-Rút"); // A-retract
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("TT-Chuyển"); // A-travel
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("Bước/mm"); // Steps
+ PROGMEM Language_Str MSG_A_STEPS = _UxGT("Bước") LCD_STR_A _UxGT("/mm"); // Asteps/mm
+ PROGMEM Language_Str MSG_B_STEPS = _UxGT("Bước") LCD_STR_B _UxGT("/mm");
+ PROGMEM Language_Str MSG_C_STEPS = _UxGT("Bước") LCD_STR_C _UxGT("/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("BướcE/mm");
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("Bước */mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("Nhiệt độ"); // Temperature
+ PROGMEM Language_Str MSG_MOTION = _UxGT("Chuyển động"); // Motion
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("Vật liệu in"); // dây nhựa
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E bằng mm") SUPERSCRIPT_THREE; // E in mm
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("Đường kính nhựa"); // Fil. Dai.
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("Đường kính nhựa *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("Dỡ mm"); // unload mm
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("Nạp mm");
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("K Cấp Cao"); // Advance K
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("K Cấp Cao *"); // Advance K
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("Độ tương phản LCD"); // LCD contrast
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("Lưu các thiết lập"); // Store settings
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("Tải các cài đặt"); // Load settings
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("Khôi phục phòng hư"); // Restore Defaults
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("Khởi Tạo EEPROM"); // Initialize EEPROM
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("Cập Nhật phương tiện"); // Update media
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("Bặt Lại Máy In");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("Cập Nhật"); // Refresh
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("Màn Hình Thông Tin"); // Info screen
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("Chuẩn bị"); // Prepare
+ PROGMEM Language_Str MSG_TUNE = _UxGT("Điều Chỉnh"); // Tune
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("Tạm dừng in"); // Pause print
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("Tiếp tục in"); // Resume print
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("Ngừng in"); // Stop print
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("Phục Hồi Mất Điện"); // Outage Recovery
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("In từ phương tiện"); // Print from media
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("Không có phương tiện"); // No media
+ PROGMEM Language_Str MSG_DWELL = _UxGT("Ngủ..."); // Sleep
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("Nhấn để tiếp tục..."); // Click to resume (same as 'continue')
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("In tạm dừng"); // print paused
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("Đang in..."); // printing
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("In đã hủy bỏ"); // Print aborted
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("Không di chuyển."); // No move.
+ PROGMEM Language_Str MSG_KILLED = _UxGT("ĐÃ CHẾT. ");
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("ĐÃ NGỪNG. ");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("Rút mm"); // Retract mm
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("Rút Trao.mm"); // Swap Re.mm
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("Rút V");
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Nhảy mm"); // hop
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("BỏRút mm"); // Unretr. mm
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("BỏRút T mm"); // S Unretr. mm
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("BỏRút V"); // UnRet V
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("BỏRút T V"); // S UnRet V
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("RútTựĐộng"); // Auto-Retract
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("Khoảng Cách Rút"); // Retract Distance
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("Thay Đổi Công Cụ"); // Tool Change
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Đưa Lên Z"); // Z Raise
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("Tốc Độ Tuôn Ra"); // Prime Speed
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("Tốc Độ Rút Lại"); // Retract Speed
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("Thay dây nhựa"); // change filament
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("Thay dây nhựa *"); // change filament
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("Nạp dây nhựa"); // load filament
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("Nạp dây nhựa *"); // load filament
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("Dỡ dây nhựa"); // unload filament
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("Dỡ dây nhựa *"); // unload filament
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("Dỡ tất cả"); // Unload All
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("Khởi tạo phương tiện"); // Attach media
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("Thay phương tiện"); // Change midea
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("Phát hành phương tiện");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Đầu Dò Z qua bàn"); // Z Probe past bed
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("Hệ số nghiêng"); // Skew Factor
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTOUCH"); // BLTouch
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("Tự kiểm tra BLTOUCH "); // BLTouch Self-Test
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("Bặt lại BLTouch"); // Reset BLTouch
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("Đem BLTouch"); // Deploy BLTouch
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("Cất BLTouch"); // Stow BLTouch
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("Đem Đầu Dò-Z"); // Deploy Z-Probe
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("Cất Đầu Dò-Z"); // Stow Z-Probe
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("Về nhà %s%s%s Trước");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("Đầu Dò Bù Đắp Z"); // Probe Z Offset
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("Nhít X"); // Babystep X
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("Nhít Y");
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("Nhít Z");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("Hủy bỏ công tắc"); // Endstop abort
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("Sưởi đầu phun không thành công"); // Heating failed
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("Điều sai: nhiệt độ dư"); // Err: REDUNDANT TEMP
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("Vấn đề nhiệt"); // THERMAL RUNAWAY | problem
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("Vấn đề nhiệt bàn"); // BED THERMAL RUNAWAY
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("Điều sai: nhiệt độ tối đa"); // Err: MAXTEMP
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("Điều sai: nhiệt độ tối thiểu"); // Err: MINTEMP
+ PROGMEM Language_Str MSG_HALTED = _UxGT("MÁY IN ĐÃ DỪNG LẠI"); // PRINTER HALTED
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("Xin bặt lại"); // Please reset
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("n"); // d - ngày - One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("g"); // h - giờ - One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("p"); // m - phút - One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("Đang sưởi nóng..."); // heating
+ PROGMEM Language_Str MSG_COOLING = _UxGT("Đang làm nguội..."); // cooling
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("Đang sưởi nong bàn..."); // bed heating
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("Đang làm nguội bàn..."); // bed cooling
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("Cân Chỉnh Delta"); // Delta calibration
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("Chỉnh X lại");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("Chỉnh Y lại");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("Chỉnh Z lại");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("Chỉnh Z Center"); // Calibrate Center
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("Cài Đặt Delta"); // Delta Settings
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("Cân Chỉnh Tự Động"); // Auto Calibration
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("Đặt Chiều Cao Delta"); // Set Delta Height
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Đầu Dò Z-Bù Đắp"); // Probe Z-offset
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("Gậy Chéo"); // Diag Rod
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("Chiều Cao"); // Height
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("Bán Kính"); // Radius
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("Về Máy In");
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("Thông Tin Máy In"); // Printer Info
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("San lấp 3-Điểm"); // 3-Point Leveling
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("San Lấp Tuyến Tính"); // Linear Leveling
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("San Lấp Song Tuyến"); // Bilinear Leveling
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("San Lấp Bàn Thống Nhất"); // Unified Bed Leveling
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("Lưới San Lấp"); // Mesh Leveling
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("Thống Kê Máy In"); // Printer Stats
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("Thông Tin Bo Mạch"); // Board Info
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("Điện Trở Nhiệt"); // Thermistors
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("Máy đùn"); // Extruders
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("Baud"); // Baud
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("Giao Thức"); // Protocol
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("Đèn Khuông"); // Case light
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("Độ Sáng"); // Light Brightness
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("Số In"); // Print Count
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Đã hoàn thành");
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tổng số thời gian in"); // Total print time
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Thời gian việc lâu nhất"); // Longest job time
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Tổng số đùn"); // Extruded total
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("In"); // prints
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("Đã hoàn thành"); // Completed
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("Tổng số"); // total
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("Dài nhất"); // Longest
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("Đã ép đùn");
+ #endif
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("Nhiệt độ tối thiểu"); // Min Temp
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("Nhiệt độ tối đa"); // Max temp
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("Bộ nguồn"); // PSU
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("Sức mạnh ổ đĩa"); // Drive Strength
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X % trình điều khiển"); // X Driver %
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y % trình điều khiển"); // Y Driver %
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z % trình điều khiển"); // Z Driver %
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E % trình điều khiển"); // E Driver %
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("Ghi DAC EEPROM"); // DAC EEPROM Write
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("In tạm dừng"); // PRINT PAUSED
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("Nạp dây nhựa");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("Dỡ dây nhựa"); // unload filament
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("Tùy chọn hồi phục:"); // RESUME OPTIONS
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("Xả thêm"); // Purge more
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("Tiếp tục"); // continue
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" Đầu Phun: "); // Nozzle
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR_ENABLE = _UxGT("Cảm Biến Hết"); // Runout Sensor
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("Sự nhà không thành công"); // Homing failed
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT(" không thành công"); // Probing failed
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("Nhấn nút", "để tiếp tục in")); // Press button to resume print
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("Chờ cho sự", "thay đổi dây nhựa", "bắt đầu")); // wait for filament change to start
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("Đút dây nhựa vào", "và nhấn nút", "để tiếp tục")); // insert filament and press button to continue //
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("Nhấn nút", "để làm nóng đầu phun")); // Press button to heat nozzle
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("Đầu phun đang nóng lên", "Xin chờ...")); // Nozzle heating Please wait
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("Chờ tro", "dây nhựa ra")); // Wait for filament unload
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("Chờ tro", "dây nhựa vào")); // Wait for filament load
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("Chờ tro", "xả dây nhựa")); // wait for filament purge
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("Nhấn nút để kết thúc", "xả dây nhựa")); // Click to finish dây nhựa purge
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("Chờ tro in", "tiếp tục...")); // Wait for print to resume
+ #else // LCD_HEIGHT < 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("Nhấn nút để tiếp tục")); // Click to continue
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("Xin chờ..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("Chèn và nhấn")); // Insert and Click
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("Nhấn để sưởi")); // Click to heat
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("Đang sưởi nóng")); // Heating
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("Đang dỡ ra...")); // Ejecting
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("Đang nạp...")); // Loading
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("Đang xả...")); // Purging
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("Nhấn nút để kết thúc")); // Click to finish
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("Đang tiếp tục...")); // Resuming
+ #endif // LCD_HEIGHT < 4
+
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("Trình điều khiển TMC"); // TMC drivers
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("Dòng điện trình điều khiển"); // Driver current
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("Ngưỡng Hỗn Hợp"); // Hybrid threshold
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("Vô cảm biến"); // Sensorless homing
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("Chế độ từng bước"); // Stepping mode
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("CắtTàngHình được kích hoạt"); // StealthChop enabled
+}
diff --git a/Marlin/src/lcd/language/language_zh_CN.h b/Marlin/src/lcd/language/language_zh_CN.h
new file mode 100644
index 0000000..5e7c5e7
--- /dev/null
+++ b/Marlin/src/lcd/language/language_zh_CN.h
@@ -0,0 +1,623 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Simplified Chinese
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+namespace Language_zh_CN {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 3;
+ PROGMEM Language_Str LANGUAGE = _UxGT("简体中文");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT("已就绪."); //" ready."
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("马林");
+ PROGMEM Language_Str MSG_YES = _UxGT("是");
+ PROGMEM Language_Str MSG_NO = _UxGT("否");
+ PROGMEM Language_Str MSG_BACK = _UxGT("返回"); // ”Back“
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("放弃中...");
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("存储卡已插入"); //"Card inserted"
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("存储卡被拔出"); //"Card removed"
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("等待存储器");
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("存储器读取错误");
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB设备已弹出");
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB启动错误");
+ PROGMEM Language_Str MSG_KILL_SUBCALL_OVERFLOW = _UxGT("子响应溢出");
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("挡块"); //"Endstops" // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("软挡块");
+ PROGMEM Language_Str MSG_MAIN = _UxGT("主菜单"); //"Main"
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("高级设置");
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("配置");
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("自动开始"); //"Autostart"
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("关闭步进电机"); //"Disable steppers"
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("调试菜单"); // "Debug Menu"
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("进度条测试"); // "Progress Bar Test"
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("自动回原点"); //"Auto home"
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("回X原位"); //"Home X"
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("回Y原位"); //"Home Y"
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("回Z原位"); //"Home Z"
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("自动Z对齐");
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("平台调平XYZ归原位"); //"Homing XYZ"
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("单击开始热床调平"); //"Click to Begin"
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("下个热床调平点"); //"Next Point"
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("完成热床调平"); //"Leveling Done!"
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("淡出高度"); // "Fade Height"
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("设置原点偏移"); //"Set home offsets"
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("偏移已启用"); //"Offsets applied"
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("设置原点"); //"Set origin"
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("预热 ") PREHEAT_1_LABEL; //"Preheat PREHEAT_2_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("预热 ") PREHEAT_1_LABEL " ~"; //"Preheat PREHEAT_2_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴"); //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 喷嘴 ~"); //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 全部"); //MSG_PREHEAT_1 " All"
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 热床"); //MSG_PREHEAT_1 " Bed"
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("预热 ") PREHEAT_1_LABEL _UxGT(" 设置"); //MSG_PREHEAT_1 " conf"
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("预热 $"); //"Preheat PREHEAT_2_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("预热 $ ~"); //"Preheat PREHEAT_2_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("预热 $ 喷嘴"); //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("预热 $ 喷嘴 ~"); //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("预热 $ 全部"); //MSG_PREHEAT_1 " All"
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("预热 $ 热床"); //MSG_PREHEAT_1 " Bed"
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("预热 $ 设置"); //MSG_PREHEAT_1 " conf"
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("预热自定义");
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("降温"); //"Cooldown"
+ PROGMEM Language_Str MSG_CUTTER_FREQUENCY = _UxGT("切割频率");
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("激光控制");
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("激光电源");
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("主轴控制");
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("主轴电源");
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("主轴反转");
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("电源打开"); //"Switch power on"
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("电源关闭"); //"Switch power off"
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("挤出"); //"Extrude"
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("回抽"); //"Retract"
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("移动轴"); //"Move axis"
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("调平热床"); //"Bed leveling"
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("调平热床"); //"Level bed"
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("调平边角"); // "Level corners"
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("下个边角"); // "Next corner"
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("网格编辑器");
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("编辑网格"); // "Edit Mesh"
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("网格编辑已停止"); // "Mesh Editing Stopped"
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("探测点");
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("索引X");
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("索引Y");
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Z 值");
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("定制命令"); // "Custom Commands"
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48探测");
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48点");
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("M48偏差");
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX模式");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("工具偏移量");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("自动停靠");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("复制");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("镜像复制");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("完全控制");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("第二喷头是X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("第二喷头是Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("第二喷头是Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("执行G29"); // "Doing G29"
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL工具"); // "UBL Tools"
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("统一热床调平(UBL)"); // "Unified Bed Leveling"
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("倾斜點");
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("手工创设网格"); // "Manually Build Mesh"
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("放置垫片并测量"); // "Place shim & measure"
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("测量"); // "Measure"
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("移除并测量热床"); // "Remove & measure bed"
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("移动到下一个"); // "Moving to next"
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("激活UBL"); // "Activate UBL"
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("关闭UBL"); // "Deactivate UBL"
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("热床温度"); // "Bed Temp"
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("热床温度");
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("热端温度"); // "Hotend Temp"
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("热端温度");
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("网格编辑"); // "Mesh Edit"
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("编辑客户网格"); // "Edit Custom Mesh"
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("细调网格"); // "Fine Tuning Mesh"
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("完成编辑网格"); // "Done Editing Mesh"
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("创设客户网格"); // "Build Custom Mesh"
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("创设网格"); // "Build Mesh"
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("创设 $ 网格"); // "Build PREHEAT_1_LABEL Mesh"
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("批准 $ 网格"); // "Validate PREHEAT_1_LABEL Mesh"
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("创设冷网格"); // "Build Cold Mesh"
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("调整网格高度"); // "Adjust Mesh Height"
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("高度合计"); // "Height Amount"
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("批准网格"); // "Validate Mesh"
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("批准客户网格"); // "Validate Custom Mesh"
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26加热热床");
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26加热喷嘴");
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("手动填装中...");
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("固定距离填装");
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("填装完成");
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26已取消");
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("离开G26");
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("继续热床网格"); // "Continue Bed Mesh"
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("网格调平"); // "Mesh Leveling"
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("三点调平"); // "3-Point Leveling"
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("格子网格调平"); // "Grid Mesh Leveling"
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("调平网格"); // "Level Mesh"
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("边点"); // "Side Points"
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("图类型"); // "Map Type"
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("输出网格图"); // "Output Mesh Map"
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("输出到主机"); // "Output for Host"
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("输出到CSV"); // "Output for CSV"
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("输出到备份"); // "Off Printer Backup"
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("输出UBL信息"); // "Output UBL Info"
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("填充合计"); // "Fill-in Amount"
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("手工填充"); // "Manual Fill-in"
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("聪明填充"); // "Smart Fill-in"
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("填充网格"); // "Fill-in Mesh"
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("作废所有的"); // "Invalidate All"
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("作废最近的"); // "Invalidate Closest"
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("细调所有的"); // "Fine Tune All"
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("细调最近的"); // "Fine Tune Closest"
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("网格存储"); // "Mesh Storage"
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("存储槽"); // "Memory Slot"
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("装载热床网格"); // "Load Bed Mesh"
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("保存热床网格"); // "Save Bed Mesh"
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("网格 %i 已装载"); // "Mesh %i loaded"
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("网格 %i 已保存"); // "Mesh %i saved"
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("没有存储"); // "No storage"
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("错误: UBL保存"); // "Err: UBL Save"
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("错误: UBL还原"); // "Err: UBL Restore"
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z偏移量: ");
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z偏移已停止"); // "Z-Offset Stopped"
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("一步步UBL"); // "Step-By-Step UBL"
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. 创设冷网格");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. 聪明填充");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. 批准网格");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. 细调所有的");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. 批准网格");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. 细调所有的");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. 保存热床网格");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("LED控制"); // "LED Control")
+ PROGMEM Language_Str MSG_LEDS = _UxGT("灯"); // "Lights")
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("灯预置"); // "Light Presets")
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("红"); // "Red")
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("橙"); // "Orange")
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("黄"); // "Yellow")
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("绿"); // "Green")
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("蓝"); // "Blue")
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("青"); // "Indigo")
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("紫"); // "Violet")
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("白"); // "White")
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("缺省"); // "Default")
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("定制灯"); // "Custom Lights")
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("红饱和度"); // "Red Intensity")
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("绿饱和度"); // "Green Intensity")
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("蓝饱和度"); // "Blue Intensity")
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("白饱和度"); // "White Intensity")
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("亮度"); // "Brightness")
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("移动..."); // "Moving...")
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("释放 XY"); // "Free XY")
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("移动X"); //"Move X"
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("移动Y"); //"Move Y"
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("移动Z"); //"Move Z"
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("挤出机"); //"Extruder"
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("挤出机 *"); //"Extruder"
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("热端太冷");
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("移动 %s mm"); //"Move 0.025mm"
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("移动 0.1 mm"); //"Move 0.1mm"
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("移动 1 mm"); //"Move 1mm"
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("移动 10 mm"); //"Move 10mm"
+ PROGMEM Language_Str MSG_SPEED = _UxGT("速率"); //"Speed"
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("热床Z"); //"Bed Z"
+ PROGMEM Language_Str MSG_NOZZLE = _UxGT("喷嘴"); //"Nozzle" 噴嘴
+ PROGMEM Language_Str MSG_NOZZLE_N = _UxGT("喷嘴 ~"); //"Nozzle" 噴嘴
+ PROGMEM Language_Str MSG_NOZZLE_PARKED = _UxGT("喷嘴已停靠");
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("喷嘴待命中");
+ PROGMEM Language_Str MSG_BED = _UxGT("热床"); //"Bed"
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("机箱壳");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("风扇速率"); //"Fan speed"
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("风扇速率 ~"); //"Fan speed"
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("存储的风扇 ~");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("额外风扇速率"); // "Extra fan speed"
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("额外风扇速率 ~"); // "Extra fan speed"
+ PROGMEM Language_Str MSG_CONTROLLER_FAN = _UxGT("控制器风扇");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_IDLE_SPEED = _UxGT("空闲速度");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_AUTO_ON = _UxGT("自动模式");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_SPEED = _UxGT("工作速度");
+ PROGMEM Language_Str MSG_CONTROLLER_FAN_DURATION = _UxGT("空闲周期");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("挤出速率"); //"Flow"
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("挤出速率 ~"); //"Flow"
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("控制"); //"Control"
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" 最小"); //" " LCD_STR_THERMOMETER " Min"
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" 最大"); //" " LCD_STR_THERMOMETER " Max"
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" 因数"); //" " LCD_STR_THERMOMETER " Fact"
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("自动控温"); //"Autotemp"
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("开"); //"On"
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("关"); //"Off"
+ PROGMEM Language_Str MSG_PID_AUTOTUNE = _UxGT("自动PID");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_E = _UxGT("自动PID *");
+ PROGMEM Language_Str MSG_PID_AUTOTUNE_DONE = _UxGT("PID调整完成");
+ PROGMEM Language_Str MSG_PID_BAD_EXTRUDER_NUM = _UxGT("自动调失败. 坏的挤出机");
+ PROGMEM Language_Str MSG_PID_TEMP_TOO_HIGH = _UxGT("自动调失败. 温度太高");
+ PROGMEM Language_Str MSG_PID_TIMEOUT = _UxGT("自动调失败! 超时");
+ PROGMEM Language_Str MSG_SELECT = _UxGT("选择"); //"Select"
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("选择 *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("加速度"); //"Accel" acceleration
+ PROGMEM Language_Str MSG_JERK = _UxGT("抖动速率"); // "Jerk"
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("轴抖动速率") LCD_STR_A; //"Va-jerk"
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("轴抖动速率") LCD_STR_B; //"Vb-jerk"
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("轴抖动速率") LCD_STR_C; //"Vc-jerk"
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("挤出机抖动速率"); //"Ve-jerk"
+ PROGMEM Language_Str MSG_JUNCTION_DEVIATION = _UxGT("接点差");
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("速度"); // "Velocity"
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("最大进料速率") LCD_STR_A; //"Vmax " max_feedrate_mm_s
+ PROGMEM Language_Str MSG_VMAX_B = _UxGT("最大进料速率") LCD_STR_B; //"Vmax " max_feedrate_mm_s
+ PROGMEM Language_Str MSG_VMAX_C = _UxGT("最大进料速率") LCD_STR_C; //"Vmax " max_feedrate_mm_s
+ PROGMEM Language_Str MSG_VMAX_E = _UxGT("最大进料速率") LCD_STR_E; //"Vmax " max_feedrate_mm_s
+ PROGMEM Language_Str MSG_VMAX_EN = _UxGT("最大进料速率 *"); //"Vmax " max_feedrate_mm_s
+ PROGMEM Language_Str MSG_VMIN = _UxGT("最小进料速率"); //"Vmin" min_feedrate_mm_s
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("最小移动速率"); //"VTrav min" min_travel_feedrate_mm_s, (target) speed of the move
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("加速度"); // "Acceleration"
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("最大打印加速度") LCD_STR_A; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
+ PROGMEM Language_Str MSG_AMAX_B = _UxGT("最大打印加速度") LCD_STR_B; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
+ PROGMEM Language_Str MSG_AMAX_C = _UxGT("最大打印加速度") LCD_STR_C; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
+ PROGMEM Language_Str MSG_AMAX_E = _UxGT("最大打印加速度") LCD_STR_E; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
+ PROGMEM Language_Str MSG_AMAX_EN = _UxGT("最大打印加速度 *"); //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("收进加速度"); //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("非打印移动加速度"); //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
+ PROGMEM Language_Str MSG_XY_FREQUENCY_LIMIT = _UxGT("频率最大");
+ PROGMEM Language_Str MSG_XY_FREQUENCY_FEEDRATE = _UxGT("进给速度");
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("轴步数/mm"); //"Steps/mm" axis_steps_per_mm, axis steps-per-unit G92
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("步数/mm"); //"Asteps/mm"
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("步数/mm"); //"Bsteps/mm"
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("步数/mm"); //"Csteps/mm"
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("E 步数/mm"); //"Esteps/mm"
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("* 步数/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("温度"); //"Temperature"
+ PROGMEM Language_Str MSG_MOTION = _UxGT("运动"); //"Motion"
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("料丝"); //"Filament" menu_advanced_filament
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("E 在 mm") SUPERSCRIPT_THREE; //"E in mm3" volumetric_enabled
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT = _UxGT("E 限制 在 mm") SUPERSCRIPT_THREE;
+ PROGMEM Language_Str MSG_VOLUMETRIC_LIMIT_E = _UxGT("E 限制 *");
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("丝料直径"); //"Fil. Dia."
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("丝料直径 *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("卸载 mm"); // "Unload mm"
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("装载 mm"); // "Load mm"
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD对比度"); //"LCD contrast"
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("保存设置"); //"Store memory"
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("装载设置"); //"Load memory"
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("恢复安全值"); //"Restore Defaults"
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("初始化设置"); // "Initialize EEPROM"
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("EEPROM CRC 错误");
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("EEPROM Index 错误");
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("EEPROM Version 错误");
+ PROGMEM Language_Str MSG_SETTINGS_STORED = _UxGT("设置已保存");
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("存储器更新");
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("复位打印机");
+ PROGMEM Language_Str MSG_REFRESH = LCD_STR_REFRESH _UxGT("刷新");
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("信息屏"); //"Info screen"
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("准备"); //"Prepare"
+ PROGMEM Language_Str MSG_TUNE = _UxGT("调整"); //"Tune"
+ PROGMEM Language_Str MSG_POWER_MONITOR = _UxGT("电源监控");
+ PROGMEM Language_Str MSG_CURRENT = _UxGT("电流");
+ PROGMEM Language_Str MSG_VOLTAGE = _UxGT("电压");
+ PROGMEM Language_Str MSG_POWER = _UxGT("功率");
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("开始打印");
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("下一个");
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("初始");
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("停止");
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("打印");
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("复位");
+ PROGMEM Language_Str MSG_BUTTON_IGNORE = _UxGT("忽略");
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("取消");
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("完成");
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("返回");
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("继续");
+ PROGMEM Language_Str MSG_PAUSING = _UxGT("暂停中...");
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("暂停打印"); //"Pause print"
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("恢复打印"); //"Resume print"
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("停止打印"); //"Stop print"
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("打印物体");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("取消物体");
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("取消物体 =");
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("中断恢复");
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("从存储卡上打印"); //"Print from SD"
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("无存储卡"); //"No SD card"
+ PROGMEM Language_Str MSG_DWELL = _UxGT("休眠中 ..."); //"Sleep..."
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("点击继续 ..."); //"Click to resume..."
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("暫停打印"); // "Print paused"
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("打印中...");
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("已取消打印"); //"Print aborted"
+ PROGMEM Language_Str MSG_PRINT_DONE = _UxGT("打印已完成");
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("无移动"); //"No move."
+ PROGMEM Language_Str MSG_KILLED = _UxGT("已杀掉"); //"KILLED. "
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("已停止"); //"STOPPED. "
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("回抽长度mm"); //"Retract mm" retract_length, retract length (positive mm)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("换手回抽长度mm"); //"Swap Re.mm" swap_retract_length, swap retract length (positive mm), for extruder change
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("回抽速率mm/s"); //"Retract V" retract_feedrate_mm_s, feedrate for retracting (mm/s)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm"); //"Hop mm" retract_zraise, retract Z-lift
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("回抽恢复长度mm"); //"UnRet +mm" retract_recover_extra, additional recover length (mm, added to retract length when recovering)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("换手回抽恢复长度mm"); //"S UnRet+mm" swap_retract_recover_extra, additional swap recover length (mm, added to retract length when recovering from extruder change)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("回抽恢复后进料速率mm/s"); //"Unretract V" retract_recover_feedrate_mm_s, feedrate for recovering from retraction (mm/s)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); // "S UnRet V"
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("自动抽回"); //"Auto-Retract" autoretract_enabled,
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("交换长度");
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_EXTRA = _UxGT("额外的交换");
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("清洗长度");
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("换工具");
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Z抬起");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("进给速度");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("回抽速度");
+ PROGMEM Language_Str MSG_FILAMENT_PARK_ENABLED = _UxGT("停靠头");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_UNRETRACT_SPEED = _UxGT("恢复速度");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_SPEED = _UxGT("风扇速度");
+ PROGMEM Language_Str MSG_SINGLENOZZLE_FAN_TIME = _UxGT("风扇时间");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_ON = _UxGT("自动开");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_OFF = _UxGT("自动关");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION = _UxGT("工具迁移");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_AUTO = _UxGT("自动迁移");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_END = _UxGT("上一个挤出机");
+ PROGMEM Language_Str MSG_TOOL_MIGRATION_SWAP = _UxGT("迁移至 *");
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("更换丝料"); //"Change filament"
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("更换丝料 *"); //"Change filament"
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("装载丝料"); // "Load filament"
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("装载丝料 *"); // "Load filament"
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("卸载丝料"); // "Unload filament"
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("卸载丝料 *"); // "Unload filament"
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("卸载全部"); // "Unload All"
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("初始化存储卡"); //"Init. SD card"
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("更换存储卡"); //"Change SD card"
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("释放存储卡");
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z探针在热床之外"); //"Z probe out. bed" Z probe is not within the physical limits
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("偏斜因数"); // "Skew Factor"
+ PROGMEM Language_Str MSG_BLTOUCH = _UxGT("BLTouch"); // "BLTouch"
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("自检");
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("重置");
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("装载");
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("部署");
+ PROGMEM Language_Str MSG_BLTOUCH_SW_MODE = _UxGT("SW模式");
+ PROGMEM Language_Str MSG_BLTOUCH_5V_MODE = _UxGT("5V模式");
+ PROGMEM Language_Str MSG_BLTOUCH_OD_MODE = _UxGT("OD模式");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE = _UxGT("模式保存");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_5V = _UxGT("设置BLTouch为5V");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_STORE_OD = _UxGT("设置BLTouch为OD");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_ECHO = _UxGT("报告开漏");
+ PROGMEM Language_Str MSG_BLTOUCH_MODE_CHANGE = _UxGT("危险: 错误的设置将引起损坏! 是否继续?");
+ PROGMEM Language_Str MSG_TOUCHMI_PROBE = _UxGT("TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_INIT = _UxGT("初始化TouchMI");
+ PROGMEM Language_Str MSG_TOUCHMI_ZTEST = _UxGT("Z偏移量测试");
+ PROGMEM Language_Str MSG_TOUCHMI_SAVE = _UxGT("保存");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY_TOUCHMI = _UxGT("部署TouchMI");
+ PROGMEM Language_Str MSG_MANUAL_DEPLOY = _UxGT("部署Z探针");
+ PROGMEM Language_Str MSG_MANUAL_STOW = _UxGT("收好Z探针");
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("归位 %s%s%s 先"); //"Home ... first"
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("探针偏移量");
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("探针X偏移");
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("探针Y偏移");
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("探针Z偏移"); //"Z Offset"
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("微量调整X轴"); //"Babystep X" lcd_babystep_x, Babystepping enables the user to control the axis in tiny amounts
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("微量调整Y轴"); //"Babystep Y"
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("微量调整Z轴"); //"Babystep Z"
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("总计");
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("挡块终止"); //"Endstop abort"
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("加热失败"); //"Heating failed"
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("错误:冗余温度"); //"Err: REDUNDANT TEMP"
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("温控失控"); //"THERMAL RUNAWAY"
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("热床热量失控");
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("机箱热量失控");
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("错误:最高温度"); //"Err: MAXTEMP"
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("错误:最低温度"); //"Err: MINTEMP"
+ PROGMEM Language_Str MSG_HALTED = _UxGT("打印停机"); //"PRINTER HALTED"
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("请重置"); //"Please reset"
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("天"); //"d" // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("时"); //"h" // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("分"); //"m" // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("加热中 ..."); //"Heating..."
+ PROGMEM Language_Str MSG_COOLING = _UxGT("冷却中 ...");
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("加热热床中 ..."); //"Bed Heating..."
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("热床冷却中 ...");
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("机箱加热中 ...");
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("机箱冷却中 ...");
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("⊿校准"); //"Delta Calibration"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("⊿校准X"); //"Calibrate X"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("⊿校准Y"); //"Calibrate Y"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("⊿校准Z"); //"Calibrate Z"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("⊿校准中心"); //"Calibrate Center"
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("⊿设置"); // "Delta Settings"
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("⊿自动校准"); // "Auto Calibration"
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("设置⊿高度"); // "Set Delta Height"
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("探针Z偏移量");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("⊿斜柱"); // "Diag Rod"
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("⊿高度"); // "Height"
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("⊿半径"); // "Radius"
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("关于打印机"); //"About Printer"
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("打印机信息"); //"Printer Info"
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("三点调平"); // "3-Point Leveling"
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("线性调平"); // "Linear Leveling"
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT("双线性调平"); // "Bilinear Leveling"
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("统一热床调平(UBL)"); // "Unified Bed Leveling"
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("网格调平"); // "Mesh Leveling"
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("打印机统计"); //"Printer Stats"
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("主板信息"); //"Board Info"
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("温度计"); //"Thermistors"
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT("挤出机"); //"Extruders"
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("波特率"); //"Baud"
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("协议"); //"Protocol"
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("监控温度失控:关");
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("监控温度失控:开");
+ PROGMEM Language_Str MSG_HOTEND_IDLE_TIMEOUT = _UxGT("热端空闲超时");
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("外壳灯"); // "Case light"
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("灯亮度"); // "Light BRIGHTNESS"
+
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("打印机不正确"); // "The printer is incorrect"
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("打印计数"); //"Print Count"
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("完成了"); //"Completed"
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("总打印时间"); //"Total print time"
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("最长工作时间"); //"Longest job time"
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("总计挤出"); //"Extruded total"
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("打印数"); //"Prints"
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("完成"); //"Completed"
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("总共"); //"Total"
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("最长"); //"Longest"
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("已挤出"); //"Extruded"
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("最低温度"); //"Min Temp"
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("最高温度"); //"Max Temp"
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("电源供应"); //"Power Supply"
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("驱动力度"); // "Drive Strength"
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X 驱动 %"); // "X Driver %"
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y 驱动 %"); // "Y Driver %"
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z 驱动 %"); // "Z Driver %"
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E 驱动 %"); // "E Driver %"
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC 连接错误");
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("保存驱动设置"); // "DAC EEPROM Write"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("更换料");
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("打印已暂停"); // "PRINT PAUSED"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("装载丝料"); // "LOAD FILAMENT"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("卸载丝料"); // "UNLOAD FILAMENT"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("恢复选项:"); // "RESUME OPTIONS:"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("清除更多"); // "Purge more"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("恢复打印"); //"Resume print"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" 喷嘴: "); // " Nozzle: "
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("断料传感器");
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("断料距离mm");
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("归原位失败"); // "Homing failed"
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("探针探测失败"); // "Probing failed"
+
+ PROGMEM Language_Str MSG_MMU2_CHOOSE_FILAMENT_HEADER = _UxGT("选择料");
+ PROGMEM Language_Str MSG_MMU2_MENU = _UxGT("MMU");
+ PROGMEM Language_Str MSG_KILL_MMU2_FIRMWARE = _UxGT("升级MMU固件!");
+ PROGMEM Language_Str MSG_MMU2_NOT_RESPONDING = _UxGT("MMU需要专注.");
+ PROGMEM Language_Str MSG_MMU2_RESUME = _UxGT("MMU恢复");
+ PROGMEM Language_Str MSG_MMU2_RESUMING = _UxGT("MMU恢复中...");
+ PROGMEM Language_Str MSG_MMU2_LOAD_FILAMENT = _UxGT("MMU加载");
+ PROGMEM Language_Str MSG_MMU2_LOAD_ALL = _UxGT("MMU加载全部");
+ PROGMEM Language_Str MSG_MMU2_LOAD_TO_NOZZLE = _UxGT("MMU加载到喷嘴");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT = _UxGT("MMU弹出");
+ PROGMEM Language_Str MSG_MMU2_EJECT_FILAMENT_N = _UxGT("MMU弹出 ~");
+ PROGMEM Language_Str MSG_MMU2_UNLOAD_FILAMENT = _UxGT("MMU卸载");
+ PROGMEM Language_Str MSG_MMU2_LOADING_FILAMENT = _UxGT("加载填充. %i...");
+ PROGMEM Language_Str MSG_MMU2_EJECTING_FILAMENT = _UxGT("弹出填充. ...");
+ PROGMEM Language_Str MSG_MMU2_UNLOADING_FILAMENT = _UxGT("卸载填充....");
+ PROGMEM Language_Str MSG_MMU2_ALL = _UxGT("全部");
+ PROGMEM Language_Str MSG_MMU2_FILAMENT_N = _UxGT("料 ~");
+ PROGMEM Language_Str MSG_MMU2_RESET = _UxGT("复位MMU");
+ PROGMEM Language_Str MSG_MMU2_RESETTING = _UxGT("MMU复位中...");
+ PROGMEM Language_Str MSG_MMU2_EJECT_RECOVER = _UxGT("移出, 按下");
+
+ PROGMEM Language_Str MSG_MIX = _UxGT("混合");
+ PROGMEM Language_Str MSG_MIX_COMPONENT_N = _UxGT("器件 =");
+ PROGMEM Language_Str MSG_MIXER = _UxGT("混合器");
+ PROGMEM Language_Str MSG_GRADIENT = _UxGT("梯度");
+ PROGMEM Language_Str MSG_FULL_GRADIENT = _UxGT("全梯度");
+ PROGMEM Language_Str MSG_TOGGLE_MIX = _UxGT("开关混合");
+ PROGMEM Language_Str MSG_CYCLE_MIX = _UxGT("循环混合");
+ PROGMEM Language_Str MSG_GRADIENT_MIX = _UxGT("梯度混合");
+ PROGMEM Language_Str MSG_REVERSE_GRADIENT = _UxGT("反向梯度");
+ PROGMEM Language_Str MSG_ACTIVE_VTOOL = _UxGT("激活 V-tool");
+ PROGMEM Language_Str MSG_START_VTOOL = _UxGT("开始 V-tool");
+ PROGMEM Language_Str MSG_END_VTOOL = _UxGT(" 结束 V-tool");
+ PROGMEM Language_Str MSG_GRADIENT_ALIAS = _UxGT("别名 V-tool");
+ PROGMEM Language_Str MSG_RESET_VTOOLS = _UxGT("复位 V-tools");
+ PROGMEM Language_Str MSG_COMMIT_VTOOL = _UxGT("提交 V-tool Mix");
+ PROGMEM Language_Str MSG_VTOOLS_RESET = _UxGT("V-tools 已复位");
+ PROGMEM Language_Str MSG_START_Z = _UxGT("开始 Z:");
+ PROGMEM Language_Str MSG_END_Z = _UxGT(" 结束 Z:");
+
+ PROGMEM Language_Str MSG_GAMES = _UxGT("游戏");
+ PROGMEM Language_Str MSG_BRICKOUT = _UxGT("敲方块");
+ PROGMEM Language_Str MSG_INVADERS = _UxGT("入侵者");
+ PROGMEM Language_Str MSG_SNAKE = _UxGT("贪吃蛇");
+ PROGMEM Language_Str MSG_MAZE = _UxGT("迷宫");
+
+ PROGMEM Language_Str MSG_BAD_PAGE = _UxGT("错误页面索引");
+ PROGMEM Language_Str MSG_BAD_PAGE_SPEED = _UxGT("错误页面速度");
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("按下按钮", "恢复打印"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("停靠中..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("等待开始", "丝料", "变更")); // "Wait for start of the filament change"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("插入料", "并按下", "以继续"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("按下按钮来", "加热喷嘴.")); // "Press button to heat nozzle."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("加热喷嘴", "请等待 ...")); // "Heating nozzle Please wait..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("等待", "卸下丝料")); // "Wait for filament unload"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("等待", "进料")); // "Wait for filament load"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("等待", "丝料清除")); // "Wait for filament purge"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("按下已完成", "料的清洗"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("等待打印", "恢复")); // "Wait for print to resume"
+ #else
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("按下继续"));
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("停靠中..."));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("请等待 ...")); //"Please wait..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("插入并单击")); //"Insert and Click"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("按下加热"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("加热中 ...")); // "Heating..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("退出中 ...")); //"Ejecting..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("装载中 ...")); //"Loading..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("清除中 ...")); // "Purging..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("按下完成"));
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("恢复中 ...")); //"Resuming..."
+ #endif
+ PROGMEM Language_Str MSG_TMC_DRIVERS = _UxGT("TMC驱动器");
+ PROGMEM Language_Str MSG_TMC_CURRENT = _UxGT("驱动电流");
+ PROGMEM Language_Str MSG_TMC_HYBRID_THRS = _UxGT("混合阈值");
+ PROGMEM Language_Str MSG_TMC_HOMING_THRS = _UxGT("无感回零");
+ PROGMEM Language_Str MSG_TMC_STEPPING_MODE = _UxGT("步进模式");
+ PROGMEM Language_Str MSG_TMC_STEALTH_ENABLED = _UxGT("StealthChop已使能");
+ PROGMEM Language_Str MSG_SERVICE_RESET = _UxGT("复位");
+ PROGMEM Language_Str MSG_SERVICE_IN = _UxGT(" 在:");
+ PROGMEM Language_Str MSG_BACKLASH = _UxGT("回差");
+ PROGMEM Language_Str MSG_BACKLASH_A = LCD_STR_A;
+ PROGMEM Language_Str MSG_BACKLASH_B = LCD_STR_B;
+ PROGMEM Language_Str MSG_BACKLASH_C = LCD_STR_C;
+ PROGMEM Language_Str MSG_BACKLASH_CORRECTION = _UxGT("校正");
+ PROGMEM Language_Str MSG_BACKLASH_SMOOTHING = _UxGT("平滑的");
+
+ PROGMEM Language_Str MSG_LEVEL_X_AXIS = _UxGT("X轴调平");
+ PROGMEM Language_Str MSG_AUTO_CALIBRATE = _UxGT("自动校准");
+ PROGMEM Language_Str MSG_HEATER_TIMEOUT = _UxGT("加热器超时");
+ PROGMEM Language_Str MSG_REHEAT = _UxGT("重新加热");
+ PROGMEM Language_Str MSG_REHEATING = _UxGT("重新加热中...");
+}
+
+#if FAN_COUNT == 1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
+#else
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
+#endif
diff --git a/Marlin/src/lcd/language/language_zh_TW.h b/Marlin/src/lcd/language/language_zh_TW.h
new file mode 100644
index 0000000..f86b153
--- /dev/null
+++ b/Marlin/src/lcd/language/language_zh_TW.h
@@ -0,0 +1,504 @@
+/**
+ * Marlin 3D Printer Firmware
+ * Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
+ *
+ * Based on Sprinter and grbl.
+ * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
+#pragma once
+
+/**
+ * Traditional Chinese
+ *
+ * LCD Menu Messages
+ * See also https://marlinfw.org/docs/development/lcd_language.html
+ */
+namespace Language_zh_TW {
+ using namespace Language_en; // Inherit undefined strings from English
+
+ constexpr uint8_t CHARSIZE = 3;
+ PROGMEM Language_Str LANGUAGE = _UxGT("Traditional Chinese");
+
+ PROGMEM Language_Str WELCOME_MSG = MACHINE_NAME _UxGT("已就緒."); //" ready."
+ PROGMEM Language_Str MSG_MARLIN = _UxGT("Marlin");
+ PROGMEM Language_Str MSG_YES = _UxGT("是"); //"YES"
+ PROGMEM Language_Str MSG_NO = _UxGT("否"); //"NO"
+ PROGMEM Language_Str MSG_BACK = _UxGT("返回"); // "Back"
+ PROGMEM Language_Str MSG_MEDIA_ABORTING = _UxGT("正在中止..."); //"Aborting..."
+ PROGMEM Language_Str MSG_MEDIA_INSERTED = _UxGT("記憶卡已插入"); //"Card inserted"
+ PROGMEM Language_Str MSG_MEDIA_REMOVED = _UxGT("記憶卡被拔出"); //"Card removed"
+ PROGMEM Language_Str MSG_MEDIA_WAITING = _UxGT("等待記憶卡"); //"Waiting for media"
+ PROGMEM Language_Str MSG_MEDIA_READ_ERROR = _UxGT("記憶卡讀取錯誤"); //"Media read error"
+ PROGMEM Language_Str MSG_MEDIA_USB_REMOVED = _UxGT("USB裝置已移除"); //"USB device removed"
+ PROGMEM Language_Str MSG_MEDIA_USB_FAILED = _UxGT("USB啟動失敗"); //"USB start failed"
+ PROGMEM Language_Str MSG_LCD_ENDSTOPS = _UxGT("擋塊"); //"Endstops" // Max length 8 characters
+ PROGMEM Language_Str MSG_LCD_SOFT_ENDSTOPS = _UxGT("軟體擋塊"); //"Soft Endstops"
+ PROGMEM Language_Str MSG_MAIN = _UxGT("主選單"); //"Main"
+ PROGMEM Language_Str MSG_ADVANCED_SETTINGS = _UxGT("進階設置"); //"Advanced Settings"
+ PROGMEM Language_Str MSG_CONFIGURATION = _UxGT("設置"); //Configuration
+ PROGMEM Language_Str MSG_RUN_AUTO_FILES = _UxGT("自動開始"); //"Autostart"
+ PROGMEM Language_Str MSG_DISABLE_STEPPERS = _UxGT("關閉步進馬達"); //"Disable steppers"
+ PROGMEM Language_Str MSG_DEBUG_MENU = _UxGT("除錯選單"); // "Debug Menu"
+ PROGMEM Language_Str MSG_PROGRESS_BAR_TEST = _UxGT("進度條測試"); // "Progress Bar Test"
+ PROGMEM Language_Str MSG_AUTO_HOME = _UxGT("自動回原點"); //"Auto home"
+ PROGMEM Language_Str MSG_AUTO_HOME_X = _UxGT("回X原點"); //"Home X"
+ PROGMEM Language_Str MSG_AUTO_HOME_Y = _UxGT("回Y原點"); //"Home Y"
+ PROGMEM Language_Str MSG_AUTO_HOME_Z = _UxGT("回Z原點"); //"Home Z"
+ PROGMEM Language_Str MSG_AUTO_Z_ALIGN = _UxGT("自動Z對齊"); //"Auto Z-Align"
+ PROGMEM Language_Str MSG_LEVEL_BED_HOMING = _UxGT("平台調平XYZ歸原點"); //"Homing XYZ"
+ PROGMEM Language_Str MSG_LEVEL_BED_WAITING = _UxGT("單擊開始熱床調平"); //"Click to Begin"
+ PROGMEM Language_Str MSG_LEVEL_BED_NEXT_POINT = _UxGT("下個熱床調平點"); //"Next Point"
+ PROGMEM Language_Str MSG_LEVEL_BED_DONE = _UxGT("完成熱床調平"); //"Leveling Done!"
+ PROGMEM Language_Str MSG_Z_FADE_HEIGHT = _UxGT("淡出高度"); // "Fade Height"
+ PROGMEM Language_Str MSG_SET_HOME_OFFSETS = _UxGT("設置原點偏移"); //"Set home offsets"
+ PROGMEM Language_Str MSG_HOME_OFFSETS_APPLIED = _UxGT("偏移已啟用"); //"Offsets applied"
+ PROGMEM Language_Str MSG_SET_ORIGIN = _UxGT("設置原點"); //"Set origin"
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_PREHEAT_1 = _UxGT("預熱 ") PREHEAT_1_LABEL; //"Preheat PREHEAT_1_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_1_H = _UxGT("預熱 ") PREHEAT_1_LABEL " ~"; //"Preheat PREHEAT_1_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_1_END = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴"); //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_1_END_E = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 噴嘴 ~"); //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_1_ALL = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 全部"); //MSG_PREHEAT_1 " All"
+ PROGMEM Language_Str MSG_PREHEAT_1_BEDONLY = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 熱床"); //MSG_PREHEAT_1 " Bed"
+ PROGMEM Language_Str MSG_PREHEAT_1_SETTINGS = _UxGT("預熱 ") PREHEAT_1_LABEL _UxGT(" 設置"); //MSG_PREHEAT_1 " conf"
+
+ PROGMEM Language_Str MSG_PREHEAT_M = _UxGT("預熱 $"); //"Preheat PREHEAT_1_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_M_H = _UxGT("預熱 $ ~"); //"Preheat PREHEAT_1_LABEL"
+ PROGMEM Language_Str MSG_PREHEAT_M_END = _UxGT("預熱 $ 噴嘴"); //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_M_END_E = _UxGT("預熱 $ 噴嘴 ~"); //MSG_PREHEAT_1 " "
+ PROGMEM Language_Str MSG_PREHEAT_M_ALL = _UxGT("預熱 $ 全部"); //MSG_PREHEAT_1 " All"
+ PROGMEM Language_Str MSG_PREHEAT_M_BEDONLY = _UxGT("預熱 $ 熱床"); //MSG_PREHEAT_1 " Bed"
+ PROGMEM Language_Str MSG_PREHEAT_M_SETTINGS = _UxGT("預熱 $ 設置"); //MSG_PREHEAT_1 " conf"
+ #endif
+ PROGMEM Language_Str MSG_PREHEAT_CUSTOM = _UxGT("自定預熱"); //"Preheat Custom"
+ PROGMEM Language_Str MSG_COOLDOWN = _UxGT("降溫"); //"Cooldown"
+ PROGMEM Language_Str MSG_LASER_MENU = _UxGT("激光控制"); //"Laser Control"
+ PROGMEM Language_Str MSG_LASER_POWER = _UxGT("激光電源"); //"Laser Power"
+ PROGMEM Language_Str MSG_SPINDLE_MENU = _UxGT("主軸控告制"); //"Spindle Control"
+ PROGMEM Language_Str MSG_SPINDLE_POWER = _UxGT("主軸電源"); //"Spindle Power"
+ PROGMEM Language_Str MSG_SPINDLE_REVERSE = _UxGT("主軸反轉"); //"Spindle Reverse"
+ PROGMEM Language_Str MSG_SWITCH_PS_ON = _UxGT("電源打開"); //"Switch power on"
+ PROGMEM Language_Str MSG_SWITCH_PS_OFF = _UxGT("電源關閉"); //"Switch power off"
+ PROGMEM Language_Str MSG_EXTRUDE = _UxGT("擠出"); //"Extrude"
+ PROGMEM Language_Str MSG_RETRACT = _UxGT("回縮"); //"Retract"
+ PROGMEM Language_Str MSG_MOVE_AXIS = _UxGT("移動軸"); //"Move axis"
+ PROGMEM Language_Str MSG_BED_LEVELING = _UxGT("調平熱床"); //"Bed leveling"
+ PROGMEM Language_Str MSG_LEVEL_BED = _UxGT("調平熱床"); //"Level bed"
+ PROGMEM Language_Str MSG_LEVEL_CORNERS = _UxGT("調平邊角"); // "Level corners"
+ PROGMEM Language_Str MSG_NEXT_CORNER = _UxGT("下個邊角"); // "Next corner"
+ PROGMEM Language_Str MSG_MESH_EDITOR = _UxGT("網格編輯器"); //"Mesh Editor"
+ PROGMEM Language_Str MSG_EDIT_MESH = _UxGT("編輯網格"); // "Edit Mesh"
+ PROGMEM Language_Str MSG_EDITING_STOPPED = _UxGT("網格編輯已停止"); // "Mesh Editing Stopped"
+ PROGMEM Language_Str MSG_PROBING_MESH = _UxGT("探測點"); //"Probing Point"
+ PROGMEM Language_Str MSG_MESH_X = _UxGT("索引 X"); //"Index X"
+ PROGMEM Language_Str MSG_MESH_Y = _UxGT("索引 Y"); //"Index Y"
+ PROGMEM Language_Str MSG_MESH_EDIT_Z = _UxGT("Z 值"); //"Z Value"
+ PROGMEM Language_Str MSG_USER_MENU = _UxGT("自定命令"); // "Custom Commands"
+ PROGMEM Language_Str MSG_M48_TEST = _UxGT("M48 探測測試"); //"M48 Probe Test"
+ PROGMEM Language_Str MSG_M48_POINT = _UxGT("M48 探測點"); //"M48 Point"
+ PROGMEM Language_Str MSG_M48_DEVIATION = _UxGT("偏差"); //"Deviation"
+ PROGMEM Language_Str MSG_IDEX_MENU = _UxGT("IDEX Mode");
+ PROGMEM Language_Str MSG_OFFSETS_MENU = _UxGT("Tool Offsets");
+ PROGMEM Language_Str MSG_IDEX_MODE_AUTOPARK = _UxGT("Auto-Park");
+ PROGMEM Language_Str MSG_IDEX_MODE_DUPLICATE = _UxGT("Duplication");
+ PROGMEM Language_Str MSG_IDEX_MODE_MIRRORED_COPY = _UxGT("Mirrored Copy");
+ PROGMEM Language_Str MSG_IDEX_MODE_FULL_CTRL = _UxGT("Full Control");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_X = _UxGT("2nd Nozzle X");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Y = _UxGT("2nd Nozzle Y");
+ PROGMEM Language_Str MSG_HOTEND_OFFSET_Z = _UxGT("2nd Nozzle Z");
+ PROGMEM Language_Str MSG_UBL_DOING_G29 = _UxGT("執行G29"); // "Doing G29"
+ PROGMEM Language_Str MSG_UBL_TOOLS = _UxGT("UBL工具"); // "UBL Tools"
+ PROGMEM Language_Str MSG_UBL_LEVEL_BED = _UxGT("統一熱床調平(UBL)"); // "Unified Bed Leveling"
+ PROGMEM Language_Str MSG_LCD_TILTING_MESH = _UxGT("傾斜點"); //"Tilting Point"
+ PROGMEM Language_Str MSG_UBL_MANUAL_MESH = _UxGT("手工建網"); // "Manually Build Mesh"
+ PROGMEM Language_Str MSG_UBL_BC_INSERT = _UxGT("放置墊片並測量"); // "Place shim & measure"
+ PROGMEM Language_Str MSG_UBL_BC_INSERT2 = _UxGT("測量"); // "Measure"
+ PROGMEM Language_Str MSG_UBL_BC_REMOVE = _UxGT("移除並測量熱床"); // "Remove & measure bed"
+ PROGMEM Language_Str MSG_UBL_MOVING_TO_NEXT = _UxGT("移動到下一個"); // "Moving to next"
+ PROGMEM Language_Str MSG_UBL_ACTIVATE_MESH = _UxGT("啟動UBL"); // "Activate UBL"
+ PROGMEM Language_Str MSG_UBL_DEACTIVATE_MESH = _UxGT("關閉UBL"); // "Deactivate UBL"
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_BED = _UxGT("置設熱床溫度"); // "Bed Temp"
+ PROGMEM Language_Str MSG_UBL_BED_TEMP_CUSTOM = _UxGT("置設熱床溫度"); //"Bed Temp")
+ PROGMEM Language_Str MSG_UBL_SET_TEMP_HOTEND = _UxGT("置設噴嘴溫度"); // "Hotend Temp"
+ PROGMEM Language_Str MSG_UBL_HOTEND_TEMP_CUSTOM = _UxGT("熱端溫度"); //"Hotend Temp"
+ PROGMEM Language_Str MSG_UBL_MESH_EDIT = _UxGT("網格編輯"); // "Mesh Edit"
+ PROGMEM Language_Str MSG_UBL_EDIT_CUSTOM_MESH = _UxGT("編輯客戶網格"); // "Edit Custom Mesh"
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_MESH = _UxGT("細調網格"); // "Fine Tuning Mesh"
+ PROGMEM Language_Str MSG_UBL_DONE_EDITING_MESH = _UxGT("完成編輯網格"); // "Done Editing Mesh"
+ PROGMEM Language_Str MSG_UBL_BUILD_CUSTOM_MESH = _UxGT("創設客戶網格"); // "Build Custom Mesh"
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_MENU = _UxGT("創設網格"); // "Build Mesh"
+ #if PREHEAT_COUNT
+ PROGMEM Language_Str MSG_UBL_BUILD_MESH_M = _UxGT("創設 $ 網格"); // "Build PREHEAT_1_LABEL Mesh"
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_M = _UxGT("批准 $ 網格"); // "Validate PREHEAT_1_LABEL Mesh"
+ #endif
+ PROGMEM Language_Str MSG_UBL_BUILD_COLD_MESH = _UxGT("創設冷網格"); // "Build Cold Mesh"
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_ADJUST = _UxGT("調整網格高度"); // "Adjust Mesh Height"
+ PROGMEM Language_Str MSG_UBL_MESH_HEIGHT_AMOUNT = _UxGT("高度合計"); // "Height Amount"
+ PROGMEM Language_Str MSG_UBL_VALIDATE_MESH_MENU = _UxGT("批准網格"); // "Validate Mesh"
+ PROGMEM Language_Str MSG_UBL_VALIDATE_CUSTOM_MESH = _UxGT("批准客戶網格"); // "Validate Custom Mesh"
+ PROGMEM Language_Str MSG_G26_HEATING_BED = _UxGT("G26 加熱熱床"); //"G26 Heating Bed"
+ PROGMEM Language_Str MSG_G26_HEATING_NOZZLE = _UxGT("G26 加熱噴嘴"); //"G26 Heating Nozzle"
+ PROGMEM Language_Str MSG_G26_MANUAL_PRIME = _UxGT("手動填裝"); //"Manual priming..."
+ PROGMEM Language_Str MSG_G26_FIXED_LENGTH = _UxGT("固定距離填裝"); //"Fixed Length Prime"
+ PROGMEM Language_Str MSG_G26_PRIME_DONE = _UxGT("完成填裝"); //"Done Priming"
+ PROGMEM Language_Str MSG_G26_CANCELED = _UxGT("G26已取消"); //"G26 Canceled"
+ PROGMEM Language_Str MSG_G26_LEAVING = _UxGT("離開 G26"); //"Leaving G26"
+ PROGMEM Language_Str MSG_UBL_CONTINUE_MESH = _UxGT("繼續熱床網格"); // "Continue Bed Mesh"
+ PROGMEM Language_Str MSG_UBL_MESH_LEVELING = _UxGT("網格調平"); // "Mesh Leveling"
+ PROGMEM Language_Str MSG_UBL_3POINT_MESH_LEVELING = _UxGT("三點調平"); // "3-Point Leveling"
+ PROGMEM Language_Str MSG_UBL_GRID_MESH_LEVELING = _UxGT("格子網格調平"); // "Grid Mesh Leveling"
+ PROGMEM Language_Str MSG_UBL_MESH_LEVEL = _UxGT("調平網格"); // "Level Mesh"
+ PROGMEM Language_Str MSG_UBL_SIDE_POINTS = _UxGT("邊點"); // "Side Points"
+ PROGMEM Language_Str MSG_UBL_MAP_TYPE = _UxGT("圖類型"); // "Map Type"
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP = _UxGT("輸出網格圖"); // "Output Mesh Map"
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_HOST = _UxGT("輸出到主機"); // "Output for Host"
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_CSV = _UxGT("輸出到CSV"); // "Output for CSV"
+ PROGMEM Language_Str MSG_UBL_OUTPUT_MAP_BACKUP = _UxGT("輸出到備份"); // "Off Printer Backup"
+ PROGMEM Language_Str MSG_UBL_INFO_UBL = _UxGT("輸出UBL信息"); // "Output UBL Info"
+ PROGMEM Language_Str MSG_UBL_FILLIN_AMOUNT = _UxGT("填充合計"); // "Fill-in Amount"
+ PROGMEM Language_Str MSG_UBL_MANUAL_FILLIN = _UxGT("手工填充"); // "Manual Fill-in"
+ PROGMEM Language_Str MSG_UBL_SMART_FILLIN = _UxGT("聰明填充"); // "Smart Fill-in"
+ PROGMEM Language_Str MSG_UBL_FILLIN_MESH = _UxGT("填充網格"); // "Fill-in Mesh"
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_ALL = _UxGT("作廢所有的"); // "Invalidate All"
+ PROGMEM Language_Str MSG_UBL_INVALIDATE_CLOSEST = _UxGT("作廢最近的"); // "Invalidate Closest"
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_ALL = _UxGT("細調所有的"); // "Fine Tune All"
+ PROGMEM Language_Str MSG_UBL_FINE_TUNE_CLOSEST = _UxGT("細調最近的"); // "Fine Tune Closest"
+ PROGMEM Language_Str MSG_UBL_STORAGE_MESH_MENU = _UxGT("網格存儲"); // "Mesh Storage"
+ PROGMEM Language_Str MSG_UBL_STORAGE_SLOT = _UxGT("存儲槽"); // "Memory Slot"
+ PROGMEM Language_Str MSG_UBL_LOAD_MESH = _UxGT("裝載熱床網格"); // "Load Bed Mesh"
+ PROGMEM Language_Str MSG_UBL_SAVE_MESH = _UxGT("保存熱床網格"); // "Save Bed Mesh"
+ PROGMEM Language_Str MSG_MESH_LOADED = _UxGT("網格 %i 已裝載"); // "Mesh %i loaded"
+ PROGMEM Language_Str MSG_MESH_SAVED = _UxGT("網格 %i 已保存"); // "Mesh %i saved"
+ PROGMEM Language_Str MSG_UBL_NO_STORAGE = _UxGT("沒有存儲"); // "No storage"
+ PROGMEM Language_Str MSG_UBL_SAVE_ERROR = _UxGT("錯誤: UBL保存"); // "Err: UBL Save"
+ PROGMEM Language_Str MSG_UBL_RESTORE_ERROR = _UxGT("錯誤: UBL還原"); // "Err: UBL Restore"
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET = _UxGT("Z-偏移:"); //"Z-Offset: "
+ PROGMEM Language_Str MSG_UBL_Z_OFFSET_STOPPED = _UxGT("Z偏移已停止"); // "Z-Offset Stopped"
+ PROGMEM Language_Str MSG_UBL_STEP_BY_STEP_MENU = _UxGT("一步步UBL"); // "Step-By-Step UBL"
+ PROGMEM Language_Str MSG_UBL_1_BUILD_COLD_MESH = _UxGT("1. 創設冷網格");
+ PROGMEM Language_Str MSG_UBL_2_SMART_FILLIN = _UxGT("2. 聰明填充");
+ PROGMEM Language_Str MSG_UBL_3_VALIDATE_MESH_MENU = _UxGT("3. 批准網格");
+ PROGMEM Language_Str MSG_UBL_4_FINE_TUNE_ALL = _UxGT("4. 細調所有的");
+ PROGMEM Language_Str MSG_UBL_5_VALIDATE_MESH_MENU = _UxGT("5. 批准網格");
+ PROGMEM Language_Str MSG_UBL_6_FINE_TUNE_ALL = _UxGT("6. 細調所有的");
+ PROGMEM Language_Str MSG_UBL_7_SAVE_MESH = _UxGT("7. 保存熱床網格");
+
+ PROGMEM Language_Str MSG_LED_CONTROL = _UxGT("燈管控制"); // "LED Control")
+ PROGMEM Language_Str MSG_LEDS = _UxGT("燈"); // "Lights")
+ PROGMEM Language_Str MSG_LED_PRESETS = _UxGT("燈預置"); // "Light Presets")
+ PROGMEM Language_Str MSG_SET_LEDS_RED = _UxGT("红"); // "Red")
+ PROGMEM Language_Str MSG_SET_LEDS_ORANGE = _UxGT("橙"); // "Orange")
+ PROGMEM Language_Str MSG_SET_LEDS_YELLOW = _UxGT("黃"); // "Yellow")
+ PROGMEM Language_Str MSG_SET_LEDS_GREEN = _UxGT("綠"); // "Green")
+ PROGMEM Language_Str MSG_SET_LEDS_BLUE = _UxGT("藍"); // "Blue")
+ PROGMEM Language_Str MSG_SET_LEDS_INDIGO = _UxGT("青"); // "Indigo")
+ PROGMEM Language_Str MSG_SET_LEDS_VIOLET = _UxGT("紫"); // "Violet")
+ PROGMEM Language_Str MSG_SET_LEDS_WHITE = _UxGT("白"); // "White")
+ PROGMEM Language_Str MSG_SET_LEDS_DEFAULT = _UxGT("復歸"); // "Default")
+ PROGMEM Language_Str MSG_CUSTOM_LEDS = _UxGT("定制燈"); // "Custom Lights")
+ PROGMEM Language_Str MSG_INTENSITY_R = _UxGT("紅飽和度"); // "Red Intensity")
+ PROGMEM Language_Str MSG_INTENSITY_G = _UxGT("綠飽和度"); // "Green Intensity")
+ PROGMEM Language_Str MSG_INTENSITY_B = _UxGT("藍飽和度"); // "Blue Intensity")
+ PROGMEM Language_Str MSG_INTENSITY_W = _UxGT("白飽和度"); // "White Intensity")
+ PROGMEM Language_Str MSG_LED_BRIGHTNESS = _UxGT("亮度"); // "Brightness")
+
+ PROGMEM Language_Str MSG_MOVING = _UxGT("移動 ..."); // "Moving...")
+ PROGMEM Language_Str MSG_FREE_XY = _UxGT("釋放 XY"); // "Free XY")
+ PROGMEM Language_Str MSG_MOVE_X = _UxGT("移動X"); //"Move X"
+ PROGMEM Language_Str MSG_MOVE_Y = _UxGT("移動Y"); //"Move Y"
+ PROGMEM Language_Str MSG_MOVE_Z = _UxGT("移動Z"); //"Move Z"
+ PROGMEM Language_Str MSG_MOVE_E = _UxGT("擠出機"); //"Extruder"
+ PROGMEM Language_Str MSG_MOVE_EN = _UxGT("擠出機 *"); //"Extruder *"
+ PROGMEM Language_Str MSG_HOTEND_TOO_COLD = _UxGT("噴嘴溫度不夠"); //"Hotend too cold"
+ PROGMEM Language_Str MSG_MOVE_N_MM = _UxGT("移動 %s mm"); //"Move 0.025mm"
+ PROGMEM Language_Str MSG_MOVE_01MM = _UxGT("移動 0.1 mm"); //"Move 0.1mm"
+ PROGMEM Language_Str MSG_MOVE_1MM = _UxGT("移動 1 mm"); //"Move 1mm"
+ PROGMEM Language_Str MSG_MOVE_10MM = _UxGT("移動 10 mm"); //"Move 10mm"
+ PROGMEM Language_Str MSG_SPEED = _UxGT("速率"); //"Speed"
+ PROGMEM Language_Str MSG_BED_Z = _UxGT("熱床Z"); //"Bed Z"
+ PROGMEM Language_Str MSG_NOZZLE = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴"); //"Nozzle" 噴嘴
+ PROGMEM Language_Str MSG_NOZZLE_N = " " LCD_STR_THERMOMETER _UxGT(" 噴嘴 ~");
+ PROGMEM Language_Str MSG_BED = " " LCD_STR_THERMOMETER _UxGT(" 熱床"); //"Bed"
+ PROGMEM Language_Str MSG_CHAMBER = _UxGT("Enclosure");
+ PROGMEM Language_Str MSG_FAN_SPEED = _UxGT("風扇速率"); //"Fan speed"
+ PROGMEM Language_Str MSG_FAN_SPEED_N = _UxGT("風扇速率 =");
+ PROGMEM Language_Str MSG_STORED_FAN_N = _UxGT("Stored Fan =");
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED = _UxGT("額外風扇速率"); // "Extra fan speed"
+ PROGMEM Language_Str MSG_EXTRA_FAN_SPEED_N = _UxGT("額外風扇速率 =");
+ PROGMEM Language_Str MSG_FLOW = _UxGT("擠出速率");
+ PROGMEM Language_Str MSG_FLOW_N = _UxGT("擠出速率 ~"); //"Flow"
+ PROGMEM Language_Str MSG_CONTROL = _UxGT("控制"); //"Control"
+ PROGMEM Language_Str MSG_MIN = " " LCD_STR_THERMOMETER _UxGT(" 最小"); //" " LCD_STR_THERMOMETER " Min"
+ PROGMEM Language_Str MSG_MAX = " " LCD_STR_THERMOMETER _UxGT(" 最大"); //" " LCD_STR_THERMOMETER " Max"
+ PROGMEM Language_Str MSG_FACTOR = " " LCD_STR_THERMOMETER _UxGT(" 系數"); //" " LCD_STR_THERMOMETER " Fact"
+ PROGMEM Language_Str MSG_AUTOTEMP = _UxGT("自動控溫"); //"Autotemp"
+ PROGMEM Language_Str MSG_LCD_ON = _UxGT("開 "); //"On"
+ PROGMEM Language_Str MSG_LCD_OFF = _UxGT("關 "); //"Off"
+
+ PROGMEM Language_Str MSG_SELECT = _UxGT("選擇"); //"Select"
+ PROGMEM Language_Str MSG_SELECT_E = _UxGT("選擇 *");
+ PROGMEM Language_Str MSG_ACC = _UxGT("加速度"); //"Accel" acceleration
+ PROGMEM Language_Str MSG_JERK = _UxGT("抖動速率"); //"Jerk"
+ PROGMEM Language_Str MSG_VA_JERK = _UxGT("軸抖動速率") LCD_STR_A; //"Va-jerk"
+ PROGMEM Language_Str MSG_VB_JERK = _UxGT("軸抖動速率") LCD_STR_B; //"Vb-jerk"
+ PROGMEM Language_Str MSG_VC_JERK = _UxGT("軸抖動速率") LCD_STR_C; //"Vc-jerk"
+ PROGMEM Language_Str MSG_VE_JERK = _UxGT("擠出機抖動速率"); //"Ve-jerk"
+
+ PROGMEM Language_Str MSG_VELOCITY = _UxGT("速度"); // "Velocity"
+ PROGMEM Language_Str MSG_VMAX_A = _UxGT("最大進料速率") LCD_STR_A; //"Vmax " max_feedrate_mm_s
+ 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_EN = _UxGT("最大進料速率 *"); //"Vmax " max_feedrate_mm_s
+ PROGMEM Language_Str MSG_VMIN = _UxGT("最小進料速率"); //"Vmin" min_feedrate_mm_s
+ PROGMEM Language_Str MSG_VTRAV_MIN = _UxGT("最小移動速率"); //"VTrav min" min_travel_feedrate_mm_s, (target) speed of the move
+ PROGMEM Language_Str MSG_ACCELERATION = _UxGT("加速度"); // "Acceleration"
+ PROGMEM Language_Str MSG_AMAX_A = _UxGT("最大列印加速度") LCD_STR_A; //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
+ 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_EN = _UxGT("最大列印加速度 *"); //"Amax " max_acceleration_mm_per_s2, acceleration in units/s^2 for print moves
+ PROGMEM Language_Str MSG_A_RETRACT = _UxGT("回縮加速度"); //"A-retract" retract_acceleration, E acceleration in mm/s^2 for retracts
+ PROGMEM Language_Str MSG_A_TRAVEL = _UxGT("非列印移動加速度"); //"A-travel" travel_acceleration, X, Y, Z acceleration in mm/s^2 for travel (non printing) moves
+ PROGMEM Language_Str MSG_STEPS_PER_MM = _UxGT("軸步數/mm"); //"Steps/mm" axis_steps_per_mm, axis steps-per-unit G92
+ PROGMEM Language_Str MSG_A_STEPS = LCD_STR_A _UxGT("軸步數/mm"); //"Asteps/mm" axis_steps_per_mm, axis steps-per-unit G92
+ PROGMEM Language_Str MSG_B_STEPS = LCD_STR_B _UxGT("軸步數/mm");
+ PROGMEM Language_Str MSG_C_STEPS = LCD_STR_C _UxGT("軸步數/mm");
+ PROGMEM Language_Str MSG_E_STEPS = _UxGT("擠出機步數/mm"); //"Esteps/mm"
+ PROGMEM Language_Str MSG_EN_STEPS = _UxGT("擠出機~步數/mm");
+ PROGMEM Language_Str MSG_TEMPERATURE = _UxGT("溫度"); //"Temperature"
+ PROGMEM Language_Str MSG_MOTION = _UxGT("運作"); //"Motion"
+ PROGMEM Language_Str MSG_FILAMENT = _UxGT("絲料測容"); //"Filament" menu_control_volumetric
+ PROGMEM Language_Str MSG_VOLUMETRIC_ENABLED = _UxGT("測容積mm") SUPERSCRIPT_THREE; //"E in mm3" volumetric_enabled
+ PROGMEM Language_Str MSG_FILAMENT_DIAM = _UxGT("絲料直徑"); //"Fil. Dia."
+ PROGMEM Language_Str MSG_FILAMENT_DIAM_E = _UxGT("絲料直徑 *");
+ PROGMEM Language_Str MSG_FILAMENT_UNLOAD = _UxGT("卸載 mm"); // "Unload mm"
+ PROGMEM Language_Str MSG_FILAMENT_LOAD = _UxGT("装載 mm"); // "Load mm"
+ PROGMEM Language_Str MSG_ADVANCE_K = _UxGT("Advance K");
+ PROGMEM Language_Str MSG_ADVANCE_K_E = _UxGT("Advance K *");
+ PROGMEM Language_Str MSG_CONTRAST = _UxGT("LCD對比度"); //"LCD contrast"
+ PROGMEM Language_Str MSG_STORE_EEPROM = _UxGT("保存設置"); //"Store memory"
+ PROGMEM Language_Str MSG_LOAD_EEPROM = _UxGT("載入設置"); //"Load memory"
+ PROGMEM Language_Str MSG_RESTORE_DEFAULTS = _UxGT("恢復安全值"); //"Restore failsafe"
+ PROGMEM Language_Str MSG_INIT_EEPROM = _UxGT("初始化設置"); // "Initialize EEPROM"
+ PROGMEM Language_Str MSG_ERR_EEPROM_CRC = _UxGT("錯誤: EEPROM CRC"); //"Err: EEPROM CRC"
+ PROGMEM Language_Str MSG_ERR_EEPROM_INDEX = _UxGT("錯誤: EEPROM Index"); //"Err: EEPROM Index"
+ PROGMEM Language_Str MSG_ERR_EEPROM_VERSION = _UxGT("錯誤: EEPROM Version"); //"EEPROM Version"
+ PROGMEM Language_Str MSG_MEDIA_UPDATE = _UxGT("媒體更新"); //"Media Update"
+ PROGMEM Language_Str MSG_RESET_PRINTER = _UxGT("重置打印機"); //"Reset Printer
+ PROGMEM Language_Str MSG_REFRESH = _UxGT("刷新"); //"Refresh"
+ PROGMEM Language_Str MSG_INFO_SCREEN = _UxGT("資訊界面"); //"Info screen"
+ PROGMEM Language_Str MSG_PREPARE = _UxGT("準備"); //"Prepare"
+ PROGMEM Language_Str MSG_TUNE = _UxGT("調整"); //"Tune"
+ PROGMEM Language_Str MSG_START_PRINT = _UxGT("開始列印"); //"Start Print"
+ PROGMEM Language_Str MSG_BUTTON_NEXT = _UxGT("下一個"); //"Next"
+ PROGMEM Language_Str MSG_BUTTON_INIT = _UxGT("初始 "); //"Init"
+ PROGMEM Language_Str MSG_BUTTON_STOP = _UxGT("停止 "); //"Stop"
+ PROGMEM Language_Str MSG_BUTTON_PRINT = _UxGT("列印 "); //"Print"
+ PROGMEM Language_Str MSG_BUTTON_RESET = _UxGT("復歸 "); //"Reset"
+ PROGMEM Language_Str MSG_BUTTON_CANCEL = _UxGT("放棄 "); //"Cancel"
+ PROGMEM Language_Str MSG_BUTTON_DONE = _UxGT("確認 "); //"Done"
+ PROGMEM Language_Str MSG_BUTTON_BACK = _UxGT("返回 "); //"Back"
+ PROGMEM Language_Str MSG_BUTTON_PROCEED = _UxGT("繼續 "); //"Proceed"
+ PROGMEM Language_Str MSG_PAUSE_PRINT = _UxGT("暫停列印"); //"Pause print"
+ PROGMEM Language_Str MSG_RESUME_PRINT = _UxGT("恢復列印"); //"Resume print"
+ PROGMEM Language_Str MSG_STOP_PRINT = _UxGT("停止列印"); //"Stop print"
+ PROGMEM Language_Str MSG_PRINTING_OBJECT = _UxGT("列印物件"); //"Printing Object"
+ PROGMEM Language_Str MSG_CANCEL_OBJECT = _UxGT("中止物件"); //"Cancel Object"
+ PROGMEM Language_Str MSG_CANCEL_OBJECT_N = _UxGT("中止物件 ="); //"Cancel Object ="
+ PROGMEM Language_Str MSG_OUTAGE_RECOVERY = _UxGT("中斷恢復"); //"Outage Recovery"
+ PROGMEM Language_Str MSG_MEDIA_MENU = _UxGT("從記憶卡上列印"); //"Print from SD"
+ PROGMEM Language_Str MSG_NO_MEDIA = _UxGT("無記憶卡"); //"No SD card"
+ PROGMEM Language_Str MSG_DWELL = _UxGT("休眠 ..."); //"Sleep..."
+ PROGMEM Language_Str MSG_USERWAIT = _UxGT("點擊繼續 ..."); //"Click to resume..."
+ PROGMEM Language_Str MSG_PRINT_PAUSED = _UxGT("列印已暫停"); // "Print paused"
+ PROGMEM Language_Str MSG_PRINTING = _UxGT("列印中 ..."); //"Printing..."
+ PROGMEM Language_Str MSG_PRINT_ABORTED = _UxGT("已取消列印"); //"Print aborted"
+ PROGMEM Language_Str MSG_NO_MOVE = _UxGT("無移動"); //"No move."
+ PROGMEM Language_Str MSG_KILLED = _UxGT("已砍掉"); //"KILLED. "
+ PROGMEM Language_Str MSG_STOPPED = _UxGT("已停止"); //"STOPPED. "
+ PROGMEM Language_Str MSG_CONTROL_RETRACT = _UxGT("回縮長度mm"); //"Retract mm" retract_length, retract length (positive mm)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_SWAP = _UxGT("換手回抽長度mm"); //"Swap Re.mm" swap_retract_length, swap retract length (positive mm), for extruder change
+ PROGMEM Language_Str MSG_CONTROL_RETRACTF = _UxGT("回縮速率mm/s"); //"Retract V" retract_feedrate_mm_s, feedrate for retracting (mm/s)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_ZHOP = _UxGT("Hop mm"); //"Hop mm" retract_zraise, retract Z-lift
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER = _UxGT("回縮恢復長度mm"); //"UnRet +mm" retract_recover_extra, additional recover length (mm, added to retract length when recovering)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAP = _UxGT("換手回縮恢復長度mm"); //"S UnRet+mm" swap_retract_recover_extra, additional swap recover length (mm, added to retract length when recovering from extruder change)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVERF = _UxGT("回縮恢復後進料速率mm/s"); //"Unretract V" retract_recover_feedrate_mm_s, feedrate for recovering from retraction (mm/s)
+ PROGMEM Language_Str MSG_CONTROL_RETRACT_RECOVER_SWAPF = _UxGT("S UnRet V"); // "S UnRet V"
+ PROGMEM Language_Str MSG_AUTORETRACT = _UxGT("自動回縮"); //"Auto-Retract" autoretract_enabled,
+ PROGMEM Language_Str MSG_FILAMENT_SWAP_LENGTH = _UxGT("交換長度"); //"Swap Length"
+ PROGMEM Language_Str MSG_FILAMENT_PURGE_LENGTH = _UxGT("清除長度"); //"Purge Length"
+ PROGMEM Language_Str MSG_TOOL_CHANGE = _UxGT("交換工具"); //"Tool Change"
+ PROGMEM Language_Str MSG_TOOL_CHANGE_ZLIFT = _UxGT("Z軸提昇"); //"Z Raise"
+ PROGMEM Language_Str MSG_SINGLENOZZLE_PRIME_SPEED = _UxGT("最高速度"); //"Prime Speed"
+ PROGMEM Language_Str MSG_SINGLENOZZLE_RETRACT_SPEED = _UxGT("收回速度"); //"Retract Speed"
+ PROGMEM Language_Str MSG_NOZZLE_STANDBY = _UxGT("噴嘴待機"); //"Nozzle Standby"
+ PROGMEM Language_Str MSG_FILAMENTCHANGE = _UxGT("更換絲料"); //"Change filament"
+ PROGMEM Language_Str MSG_FILAMENTCHANGE_E = _UxGT("更換絲料 *");
+ PROGMEM Language_Str MSG_FILAMENTLOAD = _UxGT("裝載絲料"); // "Load filament"
+ PROGMEM Language_Str MSG_FILAMENTLOAD_E = _UxGT("裝載絲料 *");
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD = _UxGT("卸載絲料"); // "Unload filament"
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_E = _UxGT("卸載絲料 *"); // "Unload filament"
+ PROGMEM Language_Str MSG_FILAMENTUNLOAD_ALL = _UxGT("卸載全部"); // "Unload All"
+ PROGMEM Language_Str MSG_INIT_MEDIA = _UxGT("初始化記憶卡"); //"Init. SD card"
+ PROGMEM Language_Str MSG_ATTACH_MEDIA = _UxGT("連接記憶卡"); //"Attach Media
+ PROGMEM Language_Str MSG_CHANGE_MEDIA = _UxGT("更換記憶卡"); //"Change SD card"
+ PROGMEM Language_Str MSG_RELEASE_MEDIA = _UxGT("釋放媒體"); //"Release Media"
+ PROGMEM Language_Str MSG_ZPROBE_OUT = _UxGT("Z探針在熱床之外"); //"Z probe out. bed" Z probe is not within the physical limits
+ PROGMEM Language_Str MSG_SKEW_FACTOR = _UxGT("偏斜因數"); // "Skew Factor"
+
+ PROGMEM Language_Str MSG_BLTOUCH_SELFTEST = _UxGT("BLTouch 自檢"); // "BLTouch Self-Test"
+ PROGMEM Language_Str MSG_BLTOUCH_RESET = _UxGT("重置BLTouch"); // "Reset BLTouch"
+ PROGMEM Language_Str MSG_BLTOUCH_STOW = _UxGT("裝載BLTouch"); // "Stow BLTouch"
+ PROGMEM Language_Str MSG_BLTOUCH_DEPLOY = _UxGT("部署BLTouch"); // "Deploy BLTouch"
+
+ PROGMEM Language_Str MSG_HOME_FIRST = _UxGT("歸位 %s%s%s 先"); //"Home ... first"
+ PROGMEM Language_Str MSG_ZPROBE_OFFSETS = _UxGT("探針偏移"); //Probe Offsets
+ PROGMEM Language_Str MSG_ZPROBE_XOFFSET = _UxGT("探針X偏移量"); //Probe X Offset
+ PROGMEM Language_Str MSG_ZPROBE_YOFFSET = _UxGT("探針Y偏移量"); //Probe Y Offset
+ PROGMEM Language_Str MSG_ZPROBE_ZOFFSET = _UxGT("探針Z偏移量"); //Probe Z Offset
+ PROGMEM Language_Str MSG_BABYSTEP_X = _UxGT("微量調整X軸"); //"Babystep X" lcd_babystep_x, Babystepping enables the user to control the axis in tiny amounts
+ PROGMEM Language_Str MSG_BABYSTEP_Y = _UxGT("微量調整Y軸"); //"Babystep Y"
+ PROGMEM Language_Str MSG_BABYSTEP_Z = _UxGT("微量調整Z軸"); //"Babystep Z"
+ PROGMEM Language_Str MSG_BABYSTEP_TOTAL = _UxGT("總計"); //"Total"
+ PROGMEM Language_Str MSG_ENDSTOP_ABORT = _UxGT("擋塊終止"); //"Endstop abort"
+ PROGMEM Language_Str MSG_HEATING_FAILED_LCD = _UxGT("加熱失敗"); //"Heating failed"
+ PROGMEM Language_Str MSG_ERR_REDUNDANT_TEMP = _UxGT("錯誤:冗餘溫度"); //"Err: REDUNDANT TEMP"
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY = _UxGT("溫度失控"); //"THERMAL RUNAWAY"
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_BED = _UxGT("熱床溫度失控"); //"BED THERMAL RUNAWAY"
+ PROGMEM Language_Str MSG_THERMAL_RUNAWAY_CHAMBER = _UxGT("機箱溫度失控"); //"CHAMBER T. RUNAWAY"
+ PROGMEM Language_Str MSG_ERR_MAXTEMP = _UxGT("錯誤:最高溫度"); //"Err: MAXTEMP"
+ PROGMEM Language_Str MSG_ERR_MINTEMP = _UxGT("錯誤:最低溫度"); //"Err: MINTEMP"
+ PROGMEM Language_Str MSG_HALTED = _UxGT("印表機停機"); //"PRINTER HALTED"
+ PROGMEM Language_Str MSG_PLEASE_RESET = _UxGT("請重置"); //"Please reset"
+ PROGMEM Language_Str MSG_SHORT_DAY = _UxGT("天"); //"d" // One character only
+ PROGMEM Language_Str MSG_SHORT_HOUR = _UxGT("時"); //"h" // One character only
+ PROGMEM Language_Str MSG_SHORT_MINUTE = _UxGT("分"); //"m" // One character only
+ PROGMEM Language_Str MSG_HEATING = _UxGT("加熱中 ..."); //"Heating..."
+ PROGMEM Language_Str MSG_COOLING = _UxGT("冷卻中 ..."); //"Cooling..."
+ PROGMEM Language_Str MSG_BED_HEATING = _UxGT("加熱熱床中 ..."); //"Bed Heating..."
+ PROGMEM Language_Str MSG_BED_COOLING = _UxGT("熱床冷卻中 ..."); //"Bed Cooling..."
+ PROGMEM Language_Str MSG_CHAMBER_HEATING = _UxGT("機箱加熱中 .."); //"Chamber Heating..."
+ PROGMEM Language_Str MSG_CHAMBER_COOLING = _UxGT("機箱冷卻中 ..."); //Chamber Cooling...
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE = _UxGT("⊿校準"); //"Delta Calibration"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_X = _UxGT("⊿校準X"); //"Calibrate X"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Y = _UxGT("⊿校準Y"); //"Calibrate Y"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_Z = _UxGT("⊿校準Z"); //"Calibrate Z"
+ PROGMEM Language_Str MSG_DELTA_CALIBRATE_CENTER = _UxGT("⊿校準中心"); //"Calibrate Center"
+ PROGMEM Language_Str MSG_DELTA_SETTINGS = _UxGT("⊿設置"); // "Delta Settings"
+ PROGMEM Language_Str MSG_DELTA_AUTO_CALIBRATE = _UxGT("⊿自動校準"); // "Auto Calibration"
+ PROGMEM Language_Str MSG_DELTA_HEIGHT_CALIBRATE = _UxGT("設置⊿高度"); // "Set Delta Height"
+ PROGMEM Language_Str MSG_DELTA_Z_OFFSET_CALIBRATE = _UxGT("Z偏移");
+ PROGMEM Language_Str MSG_DELTA_DIAG_ROD = _UxGT("⊿斜柱"); // "Diag Rod"
+ PROGMEM Language_Str MSG_DELTA_HEIGHT = _UxGT("⊿高度"); // "Height"
+ PROGMEM Language_Str MSG_DELTA_RADIUS = _UxGT("⊿半徑"); // "Radius"
+ PROGMEM Language_Str MSG_INFO_MENU = _UxGT("關於印表機"); //"About Printer"
+ PROGMEM Language_Str MSG_INFO_PRINTER_MENU = _UxGT("印表機訊息"); //"Printer Info"
+ PROGMEM Language_Str MSG_3POINT_LEVELING = _UxGT("三點調平"); // "3-Point Leveling"
+ PROGMEM Language_Str MSG_LINEAR_LEVELING = _UxGT("線性調平"); // "Linear Leveling"
+ PROGMEM Language_Str MSG_BILINEAR_LEVELING = _UxGT(" 雙線性調平"); // "Bilinear Leveling"
+ PROGMEM Language_Str MSG_UBL_LEVELING = _UxGT("統一熱床調平(UBL)"); // "Unified Bed Leveling"
+ PROGMEM Language_Str MSG_MESH_LEVELING = _UxGT("網格調平"); // "Mesh Leveling"
+ PROGMEM Language_Str MSG_INFO_STATS_MENU = _UxGT("印表機統計"); //"Printer Stats"
+ PROGMEM Language_Str MSG_INFO_BOARD_MENU = _UxGT("主板訊息"); //"Board Info"
+ PROGMEM Language_Str MSG_INFO_THERMISTOR_MENU = _UxGT("溫度計"); //"Thermistors"
+ PROGMEM Language_Str MSG_INFO_EXTRUDERS = _UxGT(" 擠出機"); //"Extruders"
+ PROGMEM Language_Str MSG_INFO_BAUDRATE = _UxGT("傳輸率"); //"Baud"
+ PROGMEM Language_Str MSG_INFO_PROTOCOL = _UxGT("協議"); //"Protocol"
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_OFF = _UxGT("監測溫度失控:關"); //"Runaway Watch: OFF"
+ PROGMEM Language_Str MSG_INFO_RUNAWAY_ON = _UxGT("監測溫度失控:開"); //"Runaway Watch: ON"
+
+ PROGMEM Language_Str MSG_CASE_LIGHT = _UxGT("外殼燈"); // "Case light"
+ PROGMEM Language_Str MSG_CASE_LIGHT_BRIGHTNESS = _UxGT("燈亮度"); // "Light BRIGHTNESS"
+ PROGMEM Language_Str MSG_KILL_EXPECTED_PRINTER = _UxGT("打印機不正確"); // "The printer is incorrect"
+
+ #if LCD_WIDTH >= 20
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("列印計數"); //"Print Count"
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("已完成"); //"Completed"
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("總列印時間"); //"Total print time"
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("最長工作時間"); //"Longest job time"
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("總計擠出"); //"Extruded total"
+ #else
+ PROGMEM Language_Str MSG_INFO_PRINT_COUNT = _UxGT("列印數"); //"Prints"
+ PROGMEM Language_Str MSG_INFO_COMPLETED_PRINTS = _UxGT("完成"); //"Completed"
+ PROGMEM Language_Str MSG_INFO_PRINT_TIME = _UxGT("總共"); //"Total"
+ PROGMEM Language_Str MSG_INFO_PRINT_LONGEST = _UxGT("最長"); //"Longest"
+ PROGMEM Language_Str MSG_INFO_PRINT_FILAMENT = _UxGT("已擠出"); //"Extruded"
+ #endif
+
+ PROGMEM Language_Str MSG_INFO_MIN_TEMP = _UxGT("最低溫度"); //"Min Temp"
+ PROGMEM Language_Str MSG_INFO_MAX_TEMP = _UxGT("最高溫度"); //"Max Temp"
+ PROGMEM Language_Str MSG_INFO_PSU = _UxGT("電源供應"); //"Power Supply"
+ PROGMEM Language_Str MSG_DRIVE_STRENGTH = _UxGT("驅動力度"); // "Drive Strength"
+ PROGMEM Language_Str MSG_DAC_PERCENT = _UxGT("驅動 %"); // "Driver %"
+ PROGMEM Language_Str MSG_DAC_PERCENT_X = _UxGT("X 驅動 %"); //X Driver %
+ PROGMEM Language_Str MSG_DAC_PERCENT_Y = _UxGT("Y 驅動 %"); //Y Driver %
+ PROGMEM Language_Str MSG_DAC_PERCENT_Z = _UxGT("Z 驅動 %"); //Z Driver %
+ PROGMEM Language_Str MSG_DAC_PERCENT_E = _UxGT("E 驅動 %"); //E Driver %
+ PROGMEM Language_Str MSG_ERROR_TMC = _UxGT("TMC連接錯誤"); //"TMC CONNECTION ERROR"
+ PROGMEM Language_Str MSG_DAC_EEPROM_WRITE = _UxGT("保存驅動設置"); // "DAC EEPROM Write"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER = _UxGT("更換絲料"); //"FILAMENT CHANGE"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_PAUSE = _UxGT("列印已暫停"); // "PRINT PAUSED"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_LOAD = _UxGT("裝載絲料"); // "LOAD FILAMENT"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEADER_UNLOAD = _UxGT("卸載絲料"); // "UNLOAD FILAMENT"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_HEADER = _UxGT("恢複選項:"); // "RESUME OPTIONS:"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_PURGE = _UxGT("清除更多"); // "Purge more"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_OPTION_RESUME = _UxGT("恢復列印"); //"Resume print"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_NOZZLE = _UxGT(" 噴嘴: "); // " Nozzle: "
+ PROGMEM Language_Str MSG_RUNOUT_SENSOR = _UxGT("斷絲偵測"); //"Runout Sensor"
+ PROGMEM Language_Str MSG_RUNOUT_DISTANCE_MM = _UxGT("絲距離mm"); //"Runout Dist mm"
+ PROGMEM Language_Str MSG_KILL_HOMING_FAILED = _UxGT("歸原位失敗"); // "Homing failed"
+ PROGMEM Language_Str MSG_LCD_PROBING_FAILED = _UxGT("探針探測失敗"); // "Probing failed"
+
+ //
+ // Filament Change screens show up to 3 lines on a 4-line display
+ // ...or up to 2 lines on a 3-line display
+ //
+ #if LCD_HEIGHT >= 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_2_LINE("按下按鈕", "恢復列印")); //"Press Button to resume print"
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("停車中 ...")); //"Parking..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_3_LINE("等待開始", "絲料", "變更")); //"Wait for start of the filament change"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_2_LINE("等待", "卸下絲料")); //"Wait for filament unload"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_3_LINE("插入絲料", "並按鍵", "繼續 ...")); //"Insert filament and press button to continue..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_2_LINE("按下按鈕", "加熱噴嘴.")); // "Press button to heat nozzle."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_2_LINE("加熱噴嘴", "請等待 ...")); // "Heating nozzle Please wait..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_2_LINE("等待", "進料")); //"Wait for filament load"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_2_LINE("等待", "絲料清除")); // "Wait for filament purge"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_2_LINE("按下完成","絲料清除")); //"Press button to filament purge"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_2_LINE("等待列印", "恢復")); //"Wait for print to resume"
+ #else // LCD_HEIGHT < 4
+ PROGMEM Language_Str MSG_ADVANCED_PAUSE_WAITING = _UxGT(MSG_1_LINE("按下繼續..")); //"Click to continue"
+ PROGMEM Language_Str MSG_PAUSE_PRINT_PARKING = _UxGT(MSG_1_LINE("停車中 ...")); //"Parking..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INIT = _UxGT(MSG_1_LINE("請等待 ...")); //"Please wait..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_INSERT = _UxGT(MSG_1_LINE("插入並點擊")); //"Insert and Click"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEAT = _UxGT(MSG_1_LINE("按下加熱..")); //"Click to heat"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_HEATING = _UxGT(MSG_1_LINE("加熱中 ...")); //"Heating..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_UNLOAD = _UxGT(MSG_1_LINE("退出中 ...")); //"Ejecting..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_LOAD = _UxGT(MSG_1_LINE("載入中 ...")); //"Loading..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_PURGE = _UxGT(MSG_1_LINE("清除中 ...")); //"Purging..."
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_CONT_PURGE = _UxGT(MSG_1_LINE("按下完成..")); //"Click to finish"
+ PROGMEM Language_Str MSG_FILAMENT_CHANGE_RESUME = _UxGT(MSG_1_LINE("恢復中 ...")); //"Resuming..."
+ #endif // LCD_HEIGHT < 4
+}
+
+#if FAN_COUNT == 1
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED
+#else
+ #define MSG_FIRST_FAN_SPEED MSG_FAN_SPEED_N
+ #define MSG_EXTRA_FIRST_FAN_SPEED MSG_EXTRA_FAN_SPEED_N
+#endif