From 18821f29d52013bc0573ee49b8ce1e2a6784151b Mon Sep 17 00:00:00 2001 From: Marcio Teixeira Date: Sat, 14 Sep 2019 05:51:49 -0600 Subject: [PATCH] LULZBOT_TOUCH_UI: Localization, runtime language selection (#15249) --- Marlin/Makefile | 6 +- .../lcd/extensible_ui/lib/lulzbot/config.h | 7 + .../lulzbot/ftdi_eve_lib/basic/commands.cpp | 2 +- .../lib/lulzbot/ftdi_eve_lib/basic/commands.h | 2 +- .../ftdi_eve_lib/extended/command_processor.h | 58 ++- .../lib/lulzbot/language/language.cpp | 55 +++ .../lib/lulzbot/language/language.h | 46 ++ .../lib/lulzbot/language/language_de.h | 84 ++++ .../lib/lulzbot/language/language_en.h | 410 ++++++++++++++++++ .../lib/lulzbot/language/language_fr.h | 90 ++++ .../lib/lulzbot/language/languages.h | 26 ++ .../lib/lulzbot/screens/about_screen.cpp | 23 +- .../screens/advanced_settings_menu.cpp | 64 +-- .../screens/backlash_compensation_screen.cpp | 18 +- .../base_numeric_adjustment_screen.cpp | 56 +-- .../lulzbot/screens/bio_advanced_settings.cpp | 30 +- .../lulzbot/screens/bio_confirm_home_e.cpp | 2 +- .../lulzbot/screens/bio_confirm_home_xyz.cpp | 2 +- .../lib/lulzbot/screens/bio_main_menu.cpp | 16 +- .../lib/lulzbot/screens/bio_status_screen.cpp | 20 +- .../lib/lulzbot/screens/bio_tune_menu.cpp | 35 +- .../lib/lulzbot/screens/boot_screen.cpp | 6 +- .../screens/change_filament_screen.cpp | 80 ++-- .../confirm_abort_print_dialog_box.cpp | 2 +- .../confirm_auto_calibration_dialog_box.cpp | 2 +- .../confirm_erase_flash_dialog_box.cpp | 6 +- .../screens/default_acceleration_screen.cpp | 12 +- .../lulzbot/screens/dialog_box_base_class.cpp | 8 +- .../lulzbot/screens/display_tuning_screen.cpp | 12 +- .../lulzbot/screens/endstop_state_screen.cpp | 46 +- .../screens/feedrate_percent_screen.cpp | 6 +- .../lib/lulzbot/screens/filament_menu.cpp | 16 +- .../screens/filament_runout_screen.cpp | 10 +- .../lib/lulzbot/screens/files_screen.cpp | 8 +- .../screens/interface_settings_screen.cpp | 26 +- .../screens/interface_sounds_screen.cpp | 16 +- .../lib/lulzbot/screens/jerk_screen.cpp | 12 +- .../screens/junction_deviation_screen.cpp | 4 +- .../lib/lulzbot/screens/kill_screen.cpp | 4 +- .../lib/lulzbot/screens/language_menu.cpp | 56 +++ .../lulzbot/screens/linear_advance_screen.cpp | 12 +- .../lib/lulzbot/screens/lock_screen.cpp | 8 +- .../lib/lulzbot/screens/main_menu.cpp | 40 +- .../screens/max_acceleration_screen.cpp | 20 +- .../lulzbot/screens/max_velocity_screen.cpp | 20 +- .../lib/lulzbot/screens/move_axis_screen.cpp | 20 +- .../lulzbot/screens/nozzle_offsets_screen.cpp | 12 +- .../lulzbot/screens/nudge_nozzle_screen.cpp | 29 +- .../screens/restore_failsafe_dialog_box.cpp | 6 +- .../screens/save_settings_dialog_box.cpp | 4 +- .../lib/lulzbot/screens/screens.cpp | 3 + .../lib/lulzbot/screens/screens.h | 32 +- .../lulzbot/screens/spinner_dialog_box.cpp | 2 +- .../lib/lulzbot/screens/statistics_screen.cpp | 14 +- .../lib/lulzbot/screens/status_screen.cpp | 94 ++-- .../stepper_bump_sensitivity_screen.cpp | 8 +- .../screens/stepper_current_screen.cpp | 20 +- .../lib/lulzbot/screens/steps_screen.cpp | 20 +- .../lulzbot/screens/temperature_screen.cpp | 33 +- .../screens/touch_calibration_screen.cpp | 38 +- .../lib/lulzbot/screens/tune_menu.cpp | 40 +- .../lib/lulzbot/screens/z_offset_screen.cpp | 6 +- config/default/Configuration_adv.h | 7 + .../3DFabXYZ/Migbot/Configuration_adv.h | 7 + .../ADIMLab/Gantry v1/Configuration_adv.h | 7 + .../ADIMLab/Gantry v2/Configuration_adv.h | 7 + .../AlephObjects/TAZ4/Configuration_adv.h | 7 + .../Alfawise/U20-bltouch/Configuration_adv.h | 7 + .../examples/Alfawise/U20/Configuration_adv.h | 7 + .../AliExpress/UM2pExt/Configuration_adv.h | 7 + config/examples/Anet/A2/Configuration_adv.h | 7 + .../examples/Anet/A2plus/Configuration_adv.h | 7 + config/examples/Anet/A6/Configuration_adv.h | 7 + config/examples/Anet/A8/Configuration_adv.h | 7 + .../examples/Anet/A8plus/Configuration_adv.h | 7 + config/examples/Anet/E16/Configuration_adv.h | 7 + .../examples/AnyCubic/i3/Configuration_adv.h | 7 + config/examples/ArmEd/Configuration_adv.h | 7 + .../BIBO/TouchX/cyclops/Configuration_adv.h | 7 + .../BIBO/TouchX/default/Configuration_adv.h | 7 + .../examples/BQ/Hephestos/Configuration_adv.h | 7 + .../BQ/Hephestos_2/Configuration_adv.h | 7 + config/examples/BQ/WITBOX/Configuration_adv.h | 7 + config/examples/Cartesio/Configuration_adv.h | 7 + .../Creality/CR-10/Configuration_adv.h | 7 + .../Creality/CR-10S/Configuration_adv.h | 7 + .../Creality/CR-10_5S/Configuration_adv.h | 7 + .../Creality/CR-10mini/Configuration_adv.h | 7 + .../Creality/CR-20 Pro/Configuration_adv.h | 7 + .../Creality/CR-20/Configuration_adv.h | 7 + .../Creality/CR-8/Configuration_adv.h | 7 + .../Creality/Ender-2/Configuration_adv.h | 7 + .../Creality/Ender-3/Configuration_adv.h | 7 + .../Creality/Ender-4/Configuration_adv.h | 7 + .../Creality/Ender-5/Configuration_adv.h | 7 + .../Dagoma/Disco Ultimate/Configuration_adv.h | 7 + .../Sidewinder X1/Configuration_adv.h | 7 + .../examples/Einstart-S/Configuration_adv.h | 7 + .../FYSETC/AIO_II/Configuration_adv.h | 7 + .../Cheetah 1.2/BLTouch/Configuration_adv.h | 7 + .../Cheetah 1.2/base/Configuration_adv.h | 7 + .../Cheetah/BLTouch/Configuration_adv.h | 7 + .../FYSETC/Cheetah/base/Configuration_adv.h | 7 + .../examples/FYSETC/F6_13/Configuration_adv.h | 7 + config/examples/Felix/Configuration_adv.h | 7 + .../FlashForge/CreatorPro/Configuration_adv.h | 7 + .../FolgerTech/i3-2020/Configuration_adv.h | 7 + .../Formbot/Raptor/Configuration_adv.h | 7 + .../Formbot/T_Rex_2+/Configuration_adv.h | 7 + .../Formbot/T_Rex_3/Configuration_adv.h | 7 + .../examples/Geeetech/A10/Configuration_adv.h | 7 + .../Geeetech/A10M/Configuration_adv.h | 7 + .../Geeetech/A20M/Configuration_adv.h | 7 + .../Geeetech/MeCreator2/Configuration_adv.h | 7 + .../Prusa i3 Pro C/Configuration_adv.h | 7 + .../Prusa i3 Pro W/Configuration_adv.h | 7 + .../Infitary/i3-M508/Configuration_adv.h | 7 + .../examples/JGAurora/A1/Configuration_adv.h | 7 + .../examples/JGAurora/A5/Configuration_adv.h | 7 + .../examples/JGAurora/A5S/Configuration_adv.h | 7 + .../examples/MakerParts/Configuration_adv.h | 7 + .../examples/Malyan/M150/Configuration_adv.h | 7 + .../examples/Malyan/M200/Configuration_adv.h | 7 + .../Micromake/C1/enhanced/Configuration_adv.h | 7 + config/examples/Mks/Robin/Configuration_adv.h | 7 + config/examples/Mks/Sbase/Configuration_adv.h | 7 + .../RapideLite/RL200/Configuration_adv.h | 7 + config/examples/RigidBot/Configuration_adv.h | 7 + config/examples/SCARA/Configuration_adv.h | 7 + .../Black_STM32F407VET6/Configuration_adv.h | 7 + .../examples/Sanguinololu/Configuration_adv.h | 7 + .../Tevo/Michelangelo/Configuration_adv.h | 7 + .../Tevo/Tarantula Pro/Configuration_adv.h | 7 + .../Tornado/V1 (MKS Base)/Configuration_adv.h | 7 + .../V2 (MKS GEN-L)/Configuration_adv.h | 7 + config/examples/TheBorg/Configuration_adv.h | 7 + config/examples/TinyBoy2/Configuration_adv.h | 7 + .../examples/Tronxy/X3A/Configuration_adv.h | 7 + .../Tronxy/X5S-2E/Configuration_adv.h | 7 + .../UltiMachine/Archim1/Configuration_adv.h | 7 + .../UltiMachine/Archim2/Configuration_adv.h | 7 + .../examples/VORONDesign/Configuration_adv.h | 7 + .../Velleman/K8200/Configuration_adv.h | 7 + .../Velleman/K8400/Configuration_adv.h | 7 + .../WASP/PowerWASP/Configuration_adv.h | 7 + .../Wanhao/Duplicator 6/Configuration_adv.h | 7 + .../Duplicator i3 Mini/Configuration_adv.h | 7 + .../delta/Anycubic/Kossel/Configuration_adv.h | 7 + .../Dreammaker/Overlord/Configuration_adv.h | 7 + .../Overlord_Pro/Configuration_adv.h | 7 + .../FLSUN/auto_calibrate/Configuration_adv.h | 7 + .../delta/FLSUN/kossel/Configuration_adv.h | 7 + .../FLSUN/kossel_mini/Configuration_adv.h | 7 + .../Geeetech/Rostock 301/Configuration_adv.h | 7 + .../delta/MKS/SBASE/Configuration_adv.h | 7 + .../Tevo Little Monster/Configuration_adv.h | 7 + .../delta/generic/Configuration_adv.h | 7 + .../delta/kossel_mini/Configuration_adv.h | 7 + .../delta/kossel_xl/Configuration_adv.h | 7 + .../gCreate/gMax1.5+/Configuration_adv.h | 7 + config/examples/makibox/Configuration_adv.h | 7 + .../tvrrug/Round2/Configuration_adv.h | 7 + config/examples/wt150/Configuration_adv.h | 7 + 163 files changed, 2034 insertions(+), 538 deletions(-) create mode 100644 Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.cpp create mode 100644 Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.h create mode 100644 Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_de.h create mode 100644 Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_en.h create mode 100644 Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_fr.h create mode 100644 Marlin/src/lcd/extensible_ui/lib/lulzbot/language/languages.h create mode 100644 Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/language_menu.cpp diff --git a/Marlin/Makefile b/Marlin/Makefile index 05535fed0..ec420ff66 100644 --- a/Marlin/Makefile +++ b/Marlin/Makefile @@ -691,9 +691,9 @@ LIBWARN = -w -Wno-packed-bitfield-compat CSTANDARD = -std=gnu99 CXXSTANDARD = -std=gnu++11 CDEBUG = -g$(DEBUG) -CWARN = -Wall -Wstrict-prototypes -Wno-packed-bitfield-compat -Wno-pragmas -Wunused-parameter -CXXWARN = -Wall -Wno-packed-bitfield-compat -Wno-pragmas -Wunused-parameter -CTUNING = -fsigned-char -funsigned-bitfields -fpack-struct -fno-exceptions \ +CWARN = -Wall -Wstrict-prototypes -Wno-packed-bitfield-compat -Wno-pragmas -Wunused-parameter -Wno-format +CXXWARN = -Wall -Wno-packed-bitfield-compat -Wno-pragmas -Wunused-parameter -Wno-format +CTUNING = -fsigned-char -funsigned-bitfields -fno-exceptions \ -fshort-enums -ffunction-sections -fdata-sections ifneq ($(HARDWARE_MOTHERBOARD),) CTUNING += -DMOTHERBOARD=${HARDWARE_MOTHERBOARD} diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/config.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/config.h index 8a5876c19..5e6d7255d 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/config.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/config.h @@ -82,6 +82,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif +// When labels do not fit buttons, use smaller font +//#define TOUCH_UI_FIT_TEXT + +// Enable support for selection of languages at run-time +// (otherwise will use the value of LCD_LANGUAGE) +//#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Parental lock". // This is a recommended for smaller displays. //#define TOUCH_UI_PASSCODE diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp index c7d159945..79b4eb868 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.cpp @@ -66,7 +66,7 @@ uint16_t CLCD::FontMetrics::get_text_width(const char *str, size_t n) const { return width; } -uint16_t CLCD::FontMetrics::get_text_width_P(const char *str, size_t n) const { +uint16_t CLCD::FontMetrics::get_text_width(progmem_str str, size_t n) const { uint16_t width = 0; const uint8_t *p = (const uint8_t *) str; for(;;) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.h index b0082867e..5e16a13fe 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/basic/commands.h @@ -166,7 +166,7 @@ class CLCD::FontMetrics { // Returns width of string, up to a maximum of n characters. uint16_t get_text_width(const char *str, size_t n = SIZE_MAX) const; - uint16_t get_text_width_P(const char *str, size_t n = SIZE_MAX) const; + uint16_t get_text_width(progmem_str str, size_t n = SIZE_MAX) const; }; /******************* FT800/810 Graphic Commands *********************************/ diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.h index b011e9637..0fd7889a1 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/ftdi_eve_lib/extended/command_processor.h @@ -220,6 +220,14 @@ class CommandProcessor : public CLCD::CommandFifo { return *this; } + CommandProcessor& toggle2(int16_t x, int16_t y, int16_t w, int16_t h, progmem_str no, progmem_str yes, bool state, uint16_t options = FTDI::OPT_3D) { + char text[strlen_P((const char *)no) + strlen_P((const char *)yes) + 2]; + strcpy_P(text, (const char *)no); + strcat(text, "\xFF"); + strcat_P(text, (const char *)yes); + return toggle(x, y, w, h, text, state, options); + } + // Contrained drawing routines. These constrain the widget inside a box for easier layout. // The FORCEDINLINE ensures that the code is inlined so that all the math is done at compile time. @@ -288,8 +296,28 @@ class CommandProcessor : public CLCD::CommandFifo { void apply_text_alignment(int16_t &x, int16_t &y, int16_t w, int16_t h, uint16_t options) { using namespace FTDI; - x += ((options & OPT_CENTERX) ? w / 2 : ((options & OPT_RIGHTX) ? w : 0)); - y += ((options & OPT_CENTERY) ? h / 2 : h); + x += ((options & OPT_CENTERX) ? w/2 : ((options & OPT_RIGHTX) ? w : 0)); + y += ((options & OPT_CENTERY) ? h/2 : h); + } + + // Reduce font size until text fits the enclosing box. + template + int8_t apply_fit_text(int16_t w, int16_t h, T text) { + using namespace FTDI; + int8_t font = _font; + for (;;) { + #ifdef TOUCH_UI_USE_UTF8 + const int16_t width = get_utf8_text_width(text, font_size_t::from_romfont(font)); + const int16_t height = font_size_t::from_romfont(font).get_height(); + #else + CLCD::FontMetrics fm(font); + const int16_t width = fm.get_text_width(text); + const int16_t height = fm.height; + #endif + if ((width < w && height < h) || font == 26) break; + font--; + } + return font; } CommandProcessor& number(int16_t x, int16_t y, int16_t w, int16_t h, int32_t n, uint16_t options = FTDI::OPT_CENTER) { @@ -299,14 +327,19 @@ class CommandProcessor : public CLCD::CommandFifo { return *this; } - template FORCEDINLINE + template CommandProcessor& text(int16_t x, int16_t y, int16_t w, int16_t h, T text, uint16_t options = FTDI::OPT_CENTER) { using namespace FTDI; apply_text_alignment(x, y, w, h, options); - #ifdef TOUCH_UI_USE_UTF8 - draw_utf8_text(*this, x, y, text, font_size_t::from_romfont(_font), options); + #ifdef TOUCH_UI_FIT_TEXT + const int8_t font = apply_fit_text(w, h, text); #else - CLCD::CommandFifo::text(x, y, _font, options); + const int8_t font = _font; + #endif + #ifdef TOUCH_UI_USE_UTF8 + draw_utf8_text(*this, x, y, text, font_size_t::from_romfont(font), options); + #else + CLCD::CommandFifo::text(x, y, font, options); CLCD::CommandFifo::str(text); #endif return *this; @@ -319,8 +352,8 @@ class CommandProcessor : public CLCD::CommandFifo { cmd(BITMAP_TRANSFORM_A(uint32_t(float(256)/scale))); cmd(BITMAP_TRANSFORM_E(uint32_t(float(256)/scale))); } - cmd(BITMAP_SIZE(info.filter, info.wrapx, info.wrapy, info.width * scale, info.height * scale)); - cmd(VERTEX2F((x + w / 2 - info.width * scale / 2) * 16, (y + h / 2 - info.height * scale / 2) * 16)); + cmd(BITMAP_SIZE(info.filter, info.wrapx, info.wrapy, info.width*scale, info.height*scale)); + cmd(VERTEX2F((x + w/2 - info.width*scale/2)*16, (y + h/2 - info.height*scale/2)*16)); if (scale != 1) { cmd(BITMAP_TRANSFORM_A(256)); cmd(BITMAP_TRANSFORM_E(256)); @@ -333,11 +366,16 @@ class CommandProcessor : public CLCD::CommandFifo { using namespace FTDI; bool styleModified = false; if (_btn_style_callback) styleModified = _btn_style_callback(*this, _tag, _style, options, false); - CLCD::CommandFifo::button(x, y, w, h, _font, options); + #ifdef TOUCH_UI_FIT_TEXT + const int8_t font = apply_fit_text(w, h, text); + #else + const int8_t font = _font; + #endif + CLCD::CommandFifo::button(x, y, w, h, font, options); #ifdef TOUCH_UI_USE_UTF8 apply_text_alignment(x, y, w, h, OPT_CENTER); CLCD::CommandFifo::str(F("")); - draw_utf8_text(*this, x, y, text, font_size_t::from_romfont(_font), OPT_CENTER); + draw_utf8_text(*this, x, y, text, font_size_t::from_romfont(font), OPT_CENTER); #else CLCD::CommandFifo::str(text); #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.cpp new file mode 100644 index 000000000..73c0a69cf --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.cpp @@ -0,0 +1,55 @@ +/***************** + * language.cpp * + *****************/ + +/**************************************************************************** + * Written By Mark Pelletier 2017 - Aleph Objects, Inc. * + * Written By Marcio Teixeira 2018 - Aleph Objects, Inc. * + * * + * 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. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../compat.h" + +#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LANGUAGE_MENU) + + #include "language_de.h" + #include "language_en.h" + #include "language_fr.h" + + PROGMEM Language_List languages = { + &Language_de::strings, + &Language_en::strings, + &Language_fr::strings + }; + + uint8_t get_language_count() { + return sizeof(languages)/sizeof(languages[0]); + } + + static uint8_t lang = 0; + + void set_language(uint8_t l) { + lang = l; + }; + + const char *get_text(uint8_t lang, String_Indices index) { + const Language_Strings* strings = (const Language_Strings*) pgm_read_ptr(&languages[lang]); + return (const char *)pgm_read_ptr(&(*strings)[int(index)]); + }; + + const char *get_text(String_Indices index) { + return get_text(lang, index); + }; +#endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.h new file mode 100644 index 000000000..52aae2502 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language.h @@ -0,0 +1,46 @@ +/************** + * language.h * + **************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * 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. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +enum class String_Indices { LANGUAGE_STRINGS, COUNT }; + +typedef const char Language_Str[]; +typedef const char* const Language_Strings[int(String_Indices::COUNT)]; +typedef const Language_Strings* const Language_List[]; + +#ifndef TOUCH_UI_LANGUAGE_MENU + // Default mode, support only one language. + #define __GET_TEXTF(MSG,LANG) Language_##LANG::MSG + #define _GET_TEXTF(MSG,LANG) __GET_TEXTF(MSG,LANG) + #define GET_TEXTF(MSG) reinterpret_cast(_GET_TEXTF(MSG,LCD_LANGUAGE)) + #define GET_TEXT(MSG) _GET_TEXTF(MSG,LCD_LANGUAGE) + #define MAKE_LANGUAGE_STRINGS() +#else + // Support multiple languages at run-time. + uint8_t get_language_count(); + void set_language(uint8_t index); + const char *get_text(String_Indices index); + const char *get_text(uint8_t lang, String_Indices index); + #define GET_TEXT(MSG) get_text(String_Indices::MSG) + #define GET_TEXTF(MSG) reinterpret_cast(get_text(String_Indices::MSG)) + #define MAKE_LANGUAGE_STRINGS() PROGMEM Language_Strings strings = { LANGUAGE_STRINGS } +#endif \ No newline at end of file diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_de.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_de.h new file mode 100644 index 000000000..e34b588ce --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_de.h @@ -0,0 +1,84 @@ +/***************** + * language_de.h * + *****************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * 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. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +#include "language_en.h" + +namespace Language_de { + using namespace Language_en; + + PROGMEM Language_Str LANGUAGE = u8"Deutsche"; + + PROGMEM Language_Str YES = u8"JA"; + PROGMEM Language_Str NO = u8"NEIN"; + PROGMEM Language_Str BACK = u8"Zurück"; + + PROGMEM Language_Str MOVE_AXIS = u8"Achsen bewegen"; + PROGMEM Language_Str MOTORS_OFF = u8"Motoren deaktivieren"; + PROGMEM Language_Str TEMPERATURE = u8"Temperatur"; + PROGMEM Language_Str CHANGE_FILAMENT = u8"Filament wechseln"; + PROGMEM Language_Str ADVANCED_SETTINGS = u8"Erw. Einstellungen"; + PROGMEM Language_Str ABOUT_PRINTER = u8"Über den Drucker"; + PROGMEM Language_Str PRINTER_STATISTICS = u8"Drucker-Statistik"; + + PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Sondenversatz Z"; + PROGMEM Language_Str TOOL_OFFSETS = u8"Werkzeugversätze"; + PROGMEM Language_Str VELOCITY = u8"Geschwindigkeit"; + PROGMEM Language_Str ACCELERATION = u8"Beschleunigung"; + PROGMEM Language_Str ACCEL_PRINTING = u8"Beschleunigung"; + PROGMEM Language_Str ACCEL_TRAVEL = u8"A Einzug"; + PROGMEM Language_Str ACCEL_RETRACT = u8"A Leerfahrt"; + PROGMEM Language_Str BACKLASH = u8"Spiel"; + PROGMEM Language_Str SMOOTHING = u8"Glätten"; + PROGMEM Language_Str CORRECTION = u8"Korrektur"; + PROGMEM Language_Str ENDSTOPS = u8"Endstopp"; + PROGMEM Language_Str SOFT_ENDSTOPS = u8"Software-Endstopp"; + PROGMEM Language_Str RESTORE_DEFAULTS = u8"Standardwerte laden"; + + + PROGMEM Language_Str HOTEND = u8"Düse"; + PROGMEM Language_Str HOTEND1 = u8"Düse 1"; + PROGMEM Language_Str HOTEND2 = u8"Düse 2"; + PROGMEM Language_Str HOTEND3 = u8"Düse 3"; + PROGMEM Language_Str HOTEND4 = u8"Düse 4"; + PROGMEM Language_Str BED = u8"Bett"; + PROGMEM Language_Str AXIS_ALL = u8"Alle"; + + PROGMEM Language_Str FAN_SPEED = u8"Lüfter"; + + PROGMEM Language_Str PRINT_FILE = u8"Drucken"; + + PROGMEM Language_Str RESUME_PRINT = u8"SD-Druck fortsetzen"; + PROGMEM Language_Str PAUSE_PRINT = u8"SD-Druck pausieren"; + PROGMEM Language_Str STOP_PRINT = u8"SD-Druck abbrechen"; + + PROGMEM Language_Str INFO_PRINT_COUNT = u8"Gesamte Drucke"; + PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Komplette Drucke"; + PROGMEM Language_Str INFO_PRINT_TIME = u8"Gesamte Druckzeit"; + PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Längste Druckzeit"; + PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Gesamt Extrudiert"; + + PROGMEM Language_Str PRINTER_HALTED = u8"DRUCKER GESTOPPT"; + PROGMEM Language_Str PLEASE_RESET = u8"Bitte neustarten"; + + MAKE_LANGUAGE_STRINGS(); +}; // namespace Language_de diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_en.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_en.h new file mode 100644 index 000000000..5731e4984 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_en.h @@ -0,0 +1,410 @@ +/***************** + * language_en.h * + *****************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * 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. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +// The list LANGUAGE_STRINGS should define all the strings used in the default +// language (Language_en). Translations do *not* need to re-define this. + +#define LANGUAGE_STRINGS \ + LANGUAGE, \ + YES, \ + NO, \ + BACK, \ + COLOR_TOUCH_PANEL, \ + ABOUT_ALEPH_OBJECTS, OKAY, \ + FIRMWARE_FOR_TOOLHEAD, \ + AUTO_HOME, \ + CLEAN_NOZZLE, \ + CHANGE_FILAMENT, \ + ADVANCED_SETTINGS, \ + PRINTER_STATISTICS, \ + ABOUT_PRINTER, \ + MOTORS_OFF, \ + ZPROBE_ZOFFSET, \ + STEPS_PER_MM, \ + HOME_SENSE, \ + TOOL_OFFSETS, \ + MOTOR_CURRENT, \ + FILAMENT, \ + ENDSTOPS, \ + X_MAX, \ + X_MIN, \ + Y_MAX, \ + Y_MIN, \ + Z_MAX, \ + Z_MIN, \ + Z_PROBE, \ + RUNOUT_1, \ + RUNOUT_2, \ + SOFT_ENDSTOPS, \ + DISPLAY_MENU, \ + INTERFACE_SETTINGS, \ + RESTORE_DEFAULTS, \ + VELOCITY, \ + VMAX_X, \ + VMAX_Y, \ + VMAX_Z, \ + VMAX_E1, \ + VMAX_E2, \ + VMAX_E3, \ + VMAX_E4, \ + ACCELERATION, \ + ACCEL_PRINTING, \ + ACCEL_TRAVEL, \ + ACCEL_RETRACT, \ + AMAX_X, \ + AMAX_Y, \ + AMAX_Z, \ + AMAX_E1, \ + AMAX_E2, \ + AMAX_E3, \ + AMAX_E4, \ + JERK, \ + JUNCTION_DEVIATION, \ + BACKLASH, \ + MEASURE_AUTOMATICALLY, \ + H_OFFSET, \ + V_OFFSET, \ + TOUCH_SCREEN, \ + CALIBRATE, \ + HOME, \ + UNITS_MILLIAMP, \ + UNITS_MM, \ + UNITS_MM_S, \ + UNITS_MM_S2, \ + UNITS_STEP_MM, \ + UNITS_PERCENT, \ + UNITS_C, \ + TEMP_IDLE, \ + MATERIAL_PLA, \ + MATERIAL_ABS, \ + MATERIAL_HIGH_TEMP, \ + AXIS_X, \ + AXIS_Y, \ + AXIS_Z, \ + AXIS_E, \ + AXIS_E1, \ + AXIS_E2, \ + AXIS_E3, \ + AXIS_E4, \ + AXIS_ALL, \ + HOTEND, \ + HOTEND1, \ + HOTEND2, \ + HOTEND3, \ + HOTEND4, \ + BED, \ + SMOOTHING, \ + CORRECTION, \ + PRINTING, \ + SET_MAXIMUM, \ + RUNOUT_SENSOR, \ + DETECTION_THRESHOLD, \ + DISTANCE, \ + TEMPERATURE, \ + COOLDOWN, \ + FAN_SPEED, \ + PRINT_SPEED, \ + SPEED, \ + MOVE_AXIS, \ + LINEAR_ADVANCE, \ + LINEAR_ADVANCE_K, \ + LINEAR_ADVANCE_K1, \ + LINEAR_ADVANCE_K2, \ + LINEAR_ADVANCE_K3, \ + LINEAR_ADVANCE_K4, \ + NUDGE_NOZZLE, \ + ADJUST_BOTH_NOZZLES, \ + SHOW_OFFSETS, \ + INCREMENT, \ + ERASE_FLASH_WARNING, \ + ERASING, \ + ERASED, \ + CALIBRATION_WARNING, \ + ABORT_WARNING, \ + EXTRUDER_SELECTION, \ + CURRENT_TEMPERATURE, \ + REMOVAL_TEMPERATURE, \ + HEATING, \ + CAUTION, \ + HOT, \ + UNLOAD_FILAMENT, \ + LOAD_FILAMENT, \ + MOMENTARY, \ + CONTINUOUS, \ + PLEASE_WAIT, \ + PRINT_MENU, \ + FINE_MOTION, \ + MEDIA, \ + ENABLE_MEDIA, \ + INSERT_MEDIA, \ + MENU, \ + LCD_BRIGHTNESS, \ + SOUND_VOLUME, \ + SCREEN_LOCK, \ + BOOT_SCREEN, \ + INTERFACE_SOUNDS, \ + EEPROM_RESTORED, \ + EEPROM_RESET, \ + EEPROM_SAVED, \ + EEPROM_SAVE_PROMPT, \ + EEPROM_RESET_WARNING, \ + OPEN_DIR, \ + PRINT_FILE, \ + PRINT_STARTING, \ + PRINT_FINISHED, \ + PRINT_ERROR, \ + PASSCODE_REJECTED, \ + PASSCODE_ACCEPTED, \ + PASSCODE_SELECT, \ + PASSCODE_REQUEST, \ + PRINTER_HALTED, \ + PLEASE_RESET, \ + CLICK_SOUNDS, \ + INFO_PRINT_COUNT, \ + INFO_COMPLETED_PRINTS, \ + INFO_PRINT_TIME, \ + INFO_PRINT_LONGEST, \ + INFO_PRINT_FILAMENT, \ + RESUME_PRINT, \ + PAUSE_PRINT, \ + STOP_PRINT, \ + TOUCH_CALIBRATION_START, \ + TOUCH_CALIBRATION_PROMPT \ + LULZBOT_BIOPRINTER_STRINGS + +#ifndef LULZBOT_USE_BIOPRINTER_UI + #define LULZBOT_BIOPRINTER_STRINGS +#else + #define LULZBOT_BIOPRINTER_STRINGS ,\ + MAIN_MENU, \ + UNLOCK_XY_AXIS, \ + LOAD_SYRINGE, \ + BED_TEMPERATURE, \ + LOADING_WARNING, \ + HOMING_WARNING +#endif + +#include "language.h" // This must be included after LANGUAGE_STRINGS + +// The string table for this language. + +namespace Language_en { + PROGMEM Language_Str LANGUAGE = u8"English"; + + PROGMEM Language_Str YES = u8"Yes"; + PROGMEM Language_Str NO = u8"No"; + PROGMEM Language_Str BACK = u8"Back"; + PROGMEM Language_Str OKAY = u8"Okay"; + PROGMEM Language_Str MENU = u8"Menu"; + PROGMEM Language_Str MEDIA = u8"Media"; + + PROGMEM Language_Str AUTO_HOME = u8"Auto Home"; + PROGMEM Language_Str CLEAN_NOZZLE = u8"Clean Nozzle"; + PROGMEM Language_Str MOVE_AXIS = u8"Move Axis"; + PROGMEM Language_Str MOTORS_OFF = u8"Motors Off"; + PROGMEM Language_Str TEMPERATURE = u8"Temperature"; + PROGMEM Language_Str CHANGE_FILAMENT = u8"Change Filament"; + PROGMEM Language_Str ADVANCED_SETTINGS = u8"Advanced Settings"; + PROGMEM Language_Str ABOUT_PRINTER = u8"About Printer"; + PROGMEM Language_Str PRINTER_STATISTICS = u8"Printer Statistics"; + + PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Z Offset"; + PROGMEM Language_Str STEPS_PER_MM = u8"Steps/mm"; + PROGMEM Language_Str TOOL_OFFSETS = u8"Tool Offsets"; + PROGMEM Language_Str VELOCITY = u8"Velocity"; + PROGMEM Language_Str VMAX_X = u8"Vmax X"; + PROGMEM Language_Str VMAX_Y = u8"Vmax Y"; + PROGMEM Language_Str VMAX_Z = u8"Vmax Z"; + PROGMEM Language_Str VMAX_E1 = u8"Vmax E1"; + PROGMEM Language_Str VMAX_E2 = u8"Vmax E2"; + PROGMEM Language_Str VMAX_E3 = u8"Vmax E3"; + PROGMEM Language_Str VMAX_E4 = u8"Vmax E4"; + PROGMEM Language_Str ACCELERATION = u8"Acceleration"; + PROGMEM Language_Str ACCEL_PRINTING = u8"Printing"; + PROGMEM Language_Str ACCEL_TRAVEL = u8"Travel"; + PROGMEM Language_Str ACCEL_RETRACT = u8"Retraction"; + PROGMEM Language_Str AMAX_X = u8"Amax X"; + PROGMEM Language_Str AMAX_Y = u8"Amax Y"; + PROGMEM Language_Str AMAX_Z = u8"Amax Z"; + PROGMEM Language_Str AMAX_E1 = u8"Amax E1"; + PROGMEM Language_Str AMAX_E2 = u8"Amax E2"; + PROGMEM Language_Str AMAX_E3 = u8"Amax E3"; + PROGMEM Language_Str AMAX_E4 = u8"Amax E4"; + PROGMEM Language_Str JERK = u8"Jerk"; + PROGMEM Language_Str JUNCTION_DEVIATION = u8"Junc Dev"; + PROGMEM Language_Str BACKLASH = u8"Backlash"; + PROGMEM Language_Str SMOOTHING = u8"Smoothing"; + PROGMEM Language_Str CORRECTION = u8"Correction"; + PROGMEM Language_Str MOTOR_CURRENT = u8"Currents"; + PROGMEM Language_Str FILAMENT = u8"Filament"; + PROGMEM Language_Str ENDSTOPS = u8"Endstops"; + PROGMEM Language_Str SOFT_ENDSTOPS = u8"Soft Endstops"; + PROGMEM Language_Str RESTORE_DEFAULTS = u8"Restore Defaults"; + + PROGMEM Language_Str HOTEND = u8"Hot End"; + PROGMEM Language_Str HOTEND1 = u8"Hot End 1"; + PROGMEM Language_Str HOTEND2 = u8"Hot End 2"; + PROGMEM Language_Str HOTEND3 = u8"Hot End 3"; + PROGMEM Language_Str HOTEND4 = u8"Hot End 4"; + PROGMEM Language_Str BED = u8"Bed"; + PROGMEM Language_Str AXIS_X = u8"X"; + PROGMEM Language_Str AXIS_Y = u8"Y"; + PROGMEM Language_Str AXIS_Z = u8"Z"; + PROGMEM Language_Str AXIS_E = u8"E"; + PROGMEM Language_Str AXIS_E1 = u8"E1"; + PROGMEM Language_Str AXIS_E2 = u8"E2"; + PROGMEM Language_Str AXIS_E3 = u8"E3"; + PROGMEM Language_Str AXIS_E4 = u8"E4"; + PROGMEM Language_Str AXIS_ALL = u8"All"; + PROGMEM Language_Str HOME = u8"Home"; + + PROGMEM Language_Str FAN_SPEED = u8"Fan Speed"; + PROGMEM Language_Str RUNOUT_SENSOR = u8"Runout Sensor"; + + PROGMEM Language_Str OPEN_DIR = u8"Open"; + PROGMEM Language_Str PRINT_FILE = u8"Print"; + + PROGMEM Language_Str RESUME_PRINT = u8"Resume Print"; + PROGMEM Language_Str PAUSE_PRINT = u8"Pause Print"; + PROGMEM Language_Str STOP_PRINT = u8"Stop Print"; + + PROGMEM Language_Str PRINT_STARTING = u8"Print starting"; + PROGMEM Language_Str PRINT_FINISHED = u8"Print finished"; + PROGMEM Language_Str PRINT_ERROR = u8"Print error"; + + PROGMEM Language_Str INFO_PRINT_COUNT = u8"Print Count"; + PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Total Prints"; + PROGMEM Language_Str INFO_PRINT_TIME = u8"Total Print Time"; + PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Longest Print"; + PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Filament Used"; + + PROGMEM Language_Str PRINTER_HALTED = u8"PRINTER HALTED"; + PROGMEM Language_Str PLEASE_RESET = u8"Please reset"; + + PROGMEM Language_Str COLOR_TOUCH_PANEL = u8"Color Touch Panel"; + PROGMEM Language_Str ABOUT_ALEPH_OBJECTS = u8"(C) 2019 Aleph Objects, Inc.\n\nwww.lulzbot.com"; + + PROGMEM Language_Str FIRMWARE_FOR_TOOLHEAD = u8"Firmware for toolhead:\n%s\n\n"; + + PROGMEM Language_Str HOME_SENSE = u8"Home Sense"; + PROGMEM Language_Str X_MAX = u8"X Max"; + PROGMEM Language_Str X_MIN = u8"X Min"; + PROGMEM Language_Str Y_MAX = u8"Y Max"; + PROGMEM Language_Str Y_MIN = u8"Y Min"; + PROGMEM Language_Str Z_MAX = u8"Z Max"; + PROGMEM Language_Str Z_MIN = u8"Z Min"; + PROGMEM Language_Str Z_PROBE = u8"Z Probe"; + PROGMEM Language_Str RUNOUT_1 = u8"Runout 1"; + PROGMEM Language_Str RUNOUT_2 = u8"Runout 2"; + PROGMEM Language_Str DISPLAY_MENU = u8"Display"; + PROGMEM Language_Str INTERFACE_SETTINGS = u8"Interface Settings"; + PROGMEM Language_Str MEASURE_AUTOMATICALLY = u8"Measure automatically"; + PROGMEM Language_Str H_OFFSET = u8"H Offset"; + PROGMEM Language_Str V_OFFSET = u8"V Offset"; + PROGMEM Language_Str TOUCH_SCREEN = u8"Touch Screen"; + PROGMEM Language_Str CALIBRATE = u8"Calibrate"; + + PROGMEM Language_Str UNITS_MILLIAMP = u8"mA"; + PROGMEM Language_Str UNITS_MM = u8"mm"; + PROGMEM Language_Str UNITS_MM_S = u8"mm/s"; + PROGMEM Language_Str UNITS_MM_S2 = u8"mm/s^2"; + PROGMEM Language_Str UNITS_STEP_MM = u8"st/mm"; + PROGMEM Language_Str UNITS_PERCENT = u8"%"; + #if defined(TOUCH_UI_USE_UTF8) && defined(TOUCH_UI_UTF8_WESTERN_CHARSET) + PROGMEM Language_Str UNITS_C = u8"°C"; + #else + PROGMEM Language_Str UNITS_C = u8" C"; + #endif + PROGMEM Language_Str MATERIAL_PLA = u8"PLA"; + PROGMEM Language_Str MATERIAL_ABS = u8"ABS"; + PROGMEM Language_Str MATERIAL_HIGH_TEMP = u8"High"; + PROGMEM Language_Str TEMP_IDLE = u8"idle"; + + PROGMEM Language_Str PRINTING = u8"Printing"; + PROGMEM Language_Str SET_MAXIMUM = u8"Set Maximum"; + PROGMEM Language_Str DETECTION_THRESHOLD = u8"Detection Threshold"; + PROGMEM Language_Str DISTANCE = u8"Distance"; + PROGMEM Language_Str COOLDOWN = u8"Cooldown (All Off)"; + PROGMEM Language_Str PRINT_SPEED = u8"Print Speed"; + PROGMEM Language_Str SPEED = u8"Speed"; + PROGMEM Language_Str LINEAR_ADVANCE = u8"Linear Advance"; + PROGMEM Language_Str LINEAR_ADVANCE_K = u8"K"; + PROGMEM Language_Str LINEAR_ADVANCE_K1 = u8"K E1"; + PROGMEM Language_Str LINEAR_ADVANCE_K2 = u8"K E2"; + PROGMEM Language_Str LINEAR_ADVANCE_K3 = u8"K E3"; + PROGMEM Language_Str LINEAR_ADVANCE_K4 = u8"K E4"; + PROGMEM Language_Str NUDGE_NOZZLE = u8"Nudge Nozzle"; + PROGMEM Language_Str ADJUST_BOTH_NOZZLES = u8"Adjust Both Nozzles"; + PROGMEM Language_Str SHOW_OFFSETS = u8"Show Offsets"; + PROGMEM Language_Str INCREMENT = u8"Increment"; + PROGMEM Language_Str ERASE_FLASH_WARNING = u8"Are you sure? SPI flash will be erased."; + PROGMEM Language_Str ERASING = u8"Erasing..."; + PROGMEM Language_Str ERASED = u8"SPI flash erased"; + PROGMEM Language_Str CALIBRATION_WARNING = u8"For best results, unload the filament and clean the hotend prior to starting calibration. Continue?"; + PROGMEM Language_Str ABORT_WARNING = u8"Are you sure you want to cancel the print?"; + PROGMEM Language_Str EXTRUDER_SELECTION = u8"Extruder Selection"; + PROGMEM Language_Str CURRENT_TEMPERATURE = u8"Current Temp"; + PROGMEM Language_Str REMOVAL_TEMPERATURE = u8"Removal Temp"; + PROGMEM Language_Str HEATING = u8"Heating"; + PROGMEM Language_Str CAUTION = u8"Caution:"; + PROGMEM Language_Str HOT = u8"Hot!"; + PROGMEM Language_Str UNLOAD_FILAMENT = u8"Unload"; + PROGMEM Language_Str LOAD_FILAMENT = u8"Load/Extruder"; + PROGMEM Language_Str MOMENTARY = u8"Momentary"; + PROGMEM Language_Str CONTINUOUS = u8"Continuous"; + PROGMEM Language_Str PLEASE_WAIT = u8"Please wait..."; + PROGMEM Language_Str PRINT_MENU = u8"Print Menu"; + PROGMEM Language_Str FINE_MOTION = u8"Fine motion"; + PROGMEM Language_Str ENABLE_MEDIA = u8"Enable Media"; + PROGMEM Language_Str INSERT_MEDIA = u8"Insert Media..."; + PROGMEM Language_Str LCD_BRIGHTNESS = u8"LCD brightness"; + PROGMEM Language_Str SOUND_VOLUME = u8"Sound volume"; + PROGMEM Language_Str SCREEN_LOCK = u8"Screen lock"; + PROGMEM Language_Str BOOT_SCREEN = u8"Boot screen"; + PROGMEM Language_Str INTERFACE_SOUNDS = u8"Interface Sounds"; + PROGMEM Language_Str CLICK_SOUNDS = u8"Click sounds"; + PROGMEM Language_Str EEPROM_RESTORED = u8"Settings restored from backup"; + PROGMEM Language_Str EEPROM_RESET = u8"Settings restored to default"; + PROGMEM Language_Str EEPROM_SAVED = u8"Settings saved!"; + PROGMEM Language_Str EEPROM_SAVE_PROMPT = u8"Do you wish to save these settings as defaults?"; + PROGMEM Language_Str EEPROM_RESET_WARNING = u8"Are you sure? Customizations will be lost."; + + PROGMEM Language_Str PASSCODE_REJECTED = u8"Wrong passcode!"; + PROGMEM Language_Str PASSCODE_ACCEPTED = u8"Passcode accepted!"; + PROGMEM Language_Str PASSCODE_SELECT = u8"Select Passcode:"; + PROGMEM Language_Str PASSCODE_REQUEST = u8"Enter Passcode:"; + + PROGMEM Language_Str TOUCH_CALIBRATION_START = u8"Release to begin screen calibration"; + PROGMEM Language_Str TOUCH_CALIBRATION_PROMPT = u8"Touch the dots to calibrate"; + + #ifdef LULZBOT_USE_BIOPRINTER_UI + PROGMEM Language_Str MAIN_MENU = u8"Main Menu"; + PROGMEM Language_Str UNLOCK_XY_AXIS = u8"Unlock XY Axis"; + PROGMEM Language_Str LOAD_SYRINGE = u8"Load Syringe"; + PROGMEM Language_Str BED_TEMPERATURE = u8"Bed Temperature"; + PROGMEM Language_Str LOADING_WARNING = u8"About to home to loading position.\nEnsure the top and the bed of the printer are clear.\n\nContinue?"; + PROGMEM Language_Str HOMING_WARNING = u8"About to re-home plunger and auto-level. Remove syringe prior to proceeding.\n\nContinue?"; + #endif + + MAKE_LANGUAGE_STRINGS(); +}; // namespace Language_en diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_fr.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_fr.h new file mode 100644 index 000000000..73319c5ea --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/language_fr.h @@ -0,0 +1,90 @@ +/***************** + * language_fr.h * + *****************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * 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. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +#include "language_en.h" + +namespace Language_fr { + using namespace Language_en; + + PROGMEM Language_Str LANGUAGE = u8"Français"; + + PROGMEM Language_Str YES = u8"oui"; + PROGMEM Language_Str NO = u8"non"; + PROGMEM Language_Str BACK = u8"Retour"; + + PROGMEM Language_Str AUTO_HOME = u8"Origine auto"; + //PROGMEM Language_Str CLEAN_NOZZLE = u8"Clean Nozzle"; + PROGMEM Language_Str MOVE_AXIS = u8"Déplacer un axe"; + PROGMEM Language_Str MOTORS_OFF = u8"Arrêter moteurs"; + PROGMEM Language_Str TEMPERATURE = u8"Température"; + PROGMEM Language_Str CHANGE_FILAMENT = u8"Changer filament"; + PROGMEM Language_Str ADVANCED_SETTINGS = u8"Config. avancée"; + PROGMEM Language_Str ABOUT_PRINTER = u8"Infos imprimante"; + PROGMEM Language_Str PRINTER_STATISTICS = u8"Stats. imprimante"; + + PROGMEM Language_Str ZPROBE_ZOFFSET = u8"Décalage Z"; + PROGMEM Language_Str STEPS_PER_MM = u8"Pas/mm"; + PROGMEM Language_Str TOOL_OFFSETS = u8"Offsets Outil"; + PROGMEM Language_Str VELOCITY = u8"Vélocité"; + PROGMEM Language_Str ACCELERATION = u8"Accélération"; + PROGMEM Language_Str ACCEL_PRINTING = u8"A impr."; + PROGMEM Language_Str ACCEL_TRAVEL = u8"A dépl."; + PROGMEM Language_Str ACCEL_RETRACT = u8"A retrait"; + PROGMEM Language_Str JUNCTION_DEVIATION = u8"Déviat. jonct."; + //PROGMEM Language_Str BACKLASH = u8"Backlash"; + PROGMEM Language_Str SMOOTHING = u8"Lissage"; + PROGMEM Language_Str MOTOR_CURRENT = u8"Courant"; + PROGMEM Language_Str ENDSTOPS = u8"Butées"; + PROGMEM Language_Str SOFT_ENDSTOPS = u8"Butées SW"; + PROGMEM Language_Str RESTORE_DEFAULTS = u8"Restaurer défauts"; + + + PROGMEM Language_Str HOTEND = u8"Buse"; + PROGMEM Language_Str HOTEND1 = u8"Buse 1"; + PROGMEM Language_Str HOTEND2 = u8"Buse 2"; + PROGMEM Language_Str HOTEND3 = u8"Buse 3"; + PROGMEM Language_Str HOTEND4 = u8"Buse 4"; + PROGMEM Language_Str BED = u8"Lit"; + PROGMEM Language_Str AXIS_ALL = u8"Tous"; + PROGMEM Language_Str HOME = u8"Origine"; + + PROGMEM Language_Str FAN_SPEED = u8"Vitesse ventil."; + PROGMEM Language_Str RUNOUT_SENSOR = u8"Capteur fil."; + + PROGMEM Language_Str PRINT_FILE = u8"Imprimer"; + + PROGMEM Language_Str RESUME_PRINT = u8"Reprendre impr."; + PROGMEM Language_Str PAUSE_PRINT = u8"Pause impression"; + PROGMEM Language_Str STOP_PRINT = u8"Arrêter impr."; + + PROGMEM Language_Str INFO_PRINT_COUNT = u8"Nbre impressions"; + PROGMEM Language_Str INFO_COMPLETED_PRINTS = u8"Terminées"; + PROGMEM Language_Str INFO_PRINT_TIME = u8"Tps impr. total"; + PROGMEM Language_Str INFO_PRINT_LONGEST = u8"Impr. la + longue"; + PROGMEM Language_Str INFO_PRINT_FILAMENT = u8"Total filament"; + + PROGMEM Language_Str PRINTER_HALTED = u8"IMPR. STOPPÉE"; + PROGMEM Language_Str PLEASE_RESET = u8"Redémarrer SVP"; + + MAKE_LANGUAGE_STRINGS(); +}; // namespace Language_fr diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/languages.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/languages.h new file mode 100644 index 000000000..03edc5515 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/language/languages.h @@ -0,0 +1,26 @@ +/*************** + * languages.h * + ***************/ + +/**************************************************************************** + * Written By Marcio Teixeira 2019 - Aleph Objects, Inc. * + * * + * 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. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#pragma once + +#include "language_en.h" +#include "language_de.h" +#include "language_fr.h" diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp index f27d1401f..b062446ca 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/about_screen.cpp @@ -49,22 +49,33 @@ void AboutScreen::onRedraw(draw_mode_t) { #ifdef LULZBOT_LCD_MACHINE_NAME LULZBOT_LCD_MACHINE_NAME #else - "Color Touch Panel" + GET_TEXTF(COLOR_TOUCH_PANEL) #endif ), OPT_CENTER, font_xlarge); + #ifdef LULZBOT_LCD_TOOLHEAD_NAME + char about_str[ + strlen_P(GET_TEXT(FIRMWARE_FOR_TOOLHEAD)) + + strlen_P(LULZBOT_LCD_TOOLHEAD_NAME) + + strlen_P(GET_TEXT(ABOUT_ALEPH_OBJECTS)) + 1]; + + sprintf_P(about_str, GET_TEXT(FIRMWARE_FOR_TOOLHEAD), LULZBOT_LCD_TOOLHEAD_NAME); + strcat_P(about_str, GET_TEXT(ABOUT_ALEPH_OBJECTS)); + #endif + cmd.tag(2); - draw_text_box(cmd, BTN_POS(1,3), BTN_SIZE(4,3), F( + draw_text_box(cmd, BTN_POS(1,3), BTN_SIZE(4,3), #ifdef LULZBOT_LCD_TOOLHEAD_NAME - "Firmware for toolhead:\n" LULZBOT_LCD_TOOLHEAD_NAME "\n\n" + about_str + #else + GET_TEXTF(ABOUT_ALEPH_OBJECTS) #endif - "(C) 2019 Aleph Objects, Inc.\n\nwww.lulzbot.com" - ), OPT_CENTER, font_medium); + , OPT_CENTER, font_medium); cmd.tag(0); draw_text_box(cmd, BTN_POS(1,6), BTN_SIZE(4,2), progmem_str(getFirmwareName_str()), OPT_CENTER, font_medium); - cmd.font(font_medium).colors(action_btn).tag(1).button(BTN_POS(2,8), BTN_SIZE(2,1), F("Okay")); + cmd.font(font_medium).colors(action_btn).tag(1).button(BTN_POS(2,8), BTN_SIZE(2,1), GET_TEXTF(OKAY)); } bool AboutScreen::onTouchEnd(uint8_t tag) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp index f711003c7..4a4947666 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/advanced_settings_menu.cpp @@ -49,52 +49,52 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { #else .enabled(0) #endif - .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), F("Z Offset ")) + .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(ZPROBE_ZOFFSET)) .enabled(1) - .tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), F("Steps/mm")) + .tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(STEPS_PER_MM)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(13).button( BTN_POS(1,5), BTN_SIZE(1,1), F("Motor mA")) + .tag(13).button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXTF(MOTOR_CURRENT)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(14).button( BTN_POS(1,4), BTN_SIZE(1,1), F("Bump Sense")) + .tag(14).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(HOME_SENSE)) #if HOTENDS > 1 .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), F("Nozzle Offset")) + .tag(4) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(TOOL_OFFSETS)) #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(11).button( BTN_POS(1,3), BTN_SIZE(1,1), F("Filament")) - .tag(12).button( BTN_POS(1,6), BTN_SIZE(1,1), F("Endstops")) - .tag(15).button( BTN_POS(2,6), BTN_SIZE(1,1), F("Display")) - .tag(9) .button( BTN_POS(1,7), BTN_SIZE(2,1), F("Interface Settings")) - .tag(10).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Restore Factory Defaults")) - .tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), F("Velocity ")) - .tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), F("Acceleration")) + .tag(11).button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXTF(FILAMENT)) + .tag(12).button( BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXTF(ENDSTOPS)) + .tag(15).button( BTN_POS(2,6), BTN_SIZE(1,1), GET_TEXTF(DISPLAY_MENU)) + .tag(9) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SETTINGS)) + .tag(10).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(RESTORE_DEFAULTS)) + .tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(VELOCITY)) + .tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(ACCELERATION)) #if ENABLED(JUNCTION_DEVIATION) - .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Junc Dev")) + .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JUNCTION_DEVIATION)) #else - .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Jerk")) + .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JERK)) #endif #if ENABLED(BACKLASH_GCODE) .enabled(1) #else .enabled(0) #endif - .tag(8).button( BTN_POS(2,5), BTN_SIZE(1,1), F("Backlash")) + .tag(8).button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXTF(BACKLASH)) .colors(action_btn) - .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), F("Back")); + .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS #else @@ -105,47 +105,47 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { #else .enabled(0) #endif - .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,2), F("Z Offset ")) + .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,2), GET_TEXTF(ZPROBE_ZOFFSET)) .enabled(1) - .tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), F("Steps/mm")) + .tag(3) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(STEPS_PER_MM)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(13).button( BTN_POS(3,1), BTN_SIZE(1,1), F("Motor mA")) + .tag(13).button( BTN_POS(3,1), BTN_SIZE(1,1), GET_TEXTF(MOTOR_CURRENT)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(14).button( BTN_POS(3,2), BTN_SIZE(1,1), F("Bump Sense")) + .tag(14).button( BTN_POS(3,2), BTN_SIZE(1,1), GET_TEXTF(HOME_SENSE)) #if ENABLED(BACKLASH_GCODE) .enabled(1) #else .enabled(0) #endif - .tag(8).button( BTN_POS(3,3), BTN_SIZE(1,1), F("Backlash")) + .tag(8).button( BTN_POS(3,3), BTN_SIZE(1,1), GET_TEXTF(BACKLASH)) #if HOTENDS > 1 .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), F("Nozzle Offsets")) - .tag(12).button( BTN_POS(3,4), BTN_SIZE(1,1), F("Endstops")) - .tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), F("Velocity ")) - .tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), F("Acceleration")) + .tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXTF(TOOL_OFFSETS)) + .tag(12).button( BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXTF(ENDSTOPS)) + .tag(5) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(VELOCITY)) + .tag(6) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(ACCELERATION)) #if ENABLED(JUNCTION_DEVIATION) - .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Junc Dev")) + .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JUNCTION_DEVIATION)) #else - .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Jerk")) + .tag(7) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JERK)) #endif - .tag(11).button( BTN_POS(1,4), BTN_SIZE(1,1), F("Filament")) - .tag(15).button( BTN_POS(3,5), BTN_SIZE(1,1), F("Display")) - .tag(9) .button( BTN_POS(1,5), BTN_SIZE(2,1), F("Interface Settings")) - .tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), F("Restore Defaults")) + .tag(11).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(FILAMENT)) + .tag(15).button( BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXTF(DISPLAY_MENU)) + .tag(9) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SETTINGS)) + .tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(RESTORE_DEFAULTS)) .colors(action_btn) - .tag(1) .button( BTN_POS(3,6), BTN_SIZE(1,1), F("Back")); + .tag(1) .button( BTN_POS(3,6), BTN_SIZE(1,1), GET_TEXTF(BACK)); #endif } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp index 257b80004..925a0f2f5 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/backlash_compensation_screen.cpp @@ -32,17 +32,17 @@ using namespace Theme; void BacklashCompensationScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(2).units(PSTR("mm")); - w.heading( PSTR("Axis Backlash")); - w.color(x_axis).adjuster(2, PSTR("X:"), getAxisBacklash_mm(X)); - w.color(y_axis).adjuster(4, PSTR("Y:"), getAxisBacklash_mm(Y)); - w.color(z_axis).adjuster(6, PSTR("Z:"), getAxisBacklash_mm(Z)); + w.precision(2).units( GET_TEXTF(UNITS_MM)); + w.heading( GET_TEXTF(BACKLASH)); + w.color(x_axis).adjuster(2, GET_TEXTF(AXIS_X), getAxisBacklash_mm(X)); + w.color(y_axis).adjuster(4, GET_TEXTF(AXIS_Y), getAxisBacklash_mm(Y)); + w.color(z_axis).adjuster(6, GET_TEXTF(AXIS_Z), getAxisBacklash_mm(Z)); #if ENABLED(CALIBRATION_GCODE) - w.button(12, PSTR("Measure automatically")); + w.button(12, GET_TEXTF(MEASURE_AUTOMATICALLY)); #endif - w.color(other).adjuster(8, PSTR("Smoothing:"), getBacklashSmoothing_mm()); - w.precision(0).units(PSTR("%")) - .adjuster(10, PSTR("Correction:"), getBacklashCorrection_percent()); + w.color(other).adjuster(8, GET_TEXTF(SMOOTHING), getBacklashSmoothing_mm()); + w.precision(0).units(GET_TEXTF(UNITS_PERCENT)) + .adjuster(10, GET_TEXTF(CORRECTION), getBacklashCorrection_percent()); w.precision(2).increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp index 2fb5c98cb..9c8cca68e 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/base_numeric_adjustment_screen.cpp @@ -50,15 +50,15 @@ BaseNumericAdjustmentScreen::widgets_t::widgets_t(draw_mode_t what) : _what(what cmd.font(font_medium) .colors(action_btn) #ifdef TOUCH_UI_PORTRAIT - .tag(1).button( BTN_POS(1,10), BTN_SIZE(13,1), F("Back")) + .tag(1).button( BTN_POS(1,10), BTN_SIZE(13,1), GET_TEXTF(BACK)) #else - .tag(1).button( BTN_POS(15,7), BTN_SIZE(4,1), F("Back")) + .tag(1).button( BTN_POS(15,7), BTN_SIZE(4,1), GET_TEXTF(BACK)) #endif .colors(normal_btn); } _line = 1; - _units = PSTR(""); + _units = F(""); } BaseNumericAdjustmentScreen::widgets_t &BaseNumericAdjustmentScreen::widgets_t::precision(uint8_t decimals, precision_default_t initial) { @@ -69,14 +69,14 @@ BaseNumericAdjustmentScreen::widgets_t &BaseNumericAdjustmentScreen::widgets_t:: return *this; } -void BaseNumericAdjustmentScreen::widgets_t::heading(const char *label) { +void BaseNumericAdjustmentScreen::widgets_t::heading(progmem_str label) { CommandProcessor cmd; cmd.font(font_medium).cmd(COLOR_RGB(bg_text_enabled)); if (_what & BACKGROUND) { #ifdef TOUCH_UI_PORTRAIT - cmd.tag(0).fgcolor(bg_color).button( BTN_POS(1, _line), BTN_SIZE(12,1), progmem_str(label), OPT_FLAT); + cmd.tag(0).fgcolor(bg_color).button( BTN_POS(1, _line), BTN_SIZE(12,1), label, OPT_FLAT); #else - cmd.tag(0).fgcolor(bg_color).button( BTN_POS(5, _line), BTN_SIZE(8,1), progmem_str(label), OPT_FLAT); + cmd.tag(0).fgcolor(bg_color).button( BTN_POS(5, _line), BTN_SIZE(8,1), label, OPT_FLAT); #endif } @@ -140,9 +140,9 @@ void BaseNumericAdjustmentScreen::widgets_t::increments() { cmd.fgcolor(bg_color) .tag(0) #ifdef TOUCH_UI_PORTRAIT - .font(font_small).button( BTN_POS(1, _line), BTN_SIZE(4,1), F("Increment:"), OPT_FLAT); + .font(font_small).button( BTN_POS(1, _line), BTN_SIZE(4,1), GET_TEXTF(INCREMENT), OPT_FLAT); #else - .font(font_medium).button( BTN_POS(15,1), BTN_SIZE(4,1), F("Increment:"), OPT_FLAT); + .font(font_medium).button( BTN_POS(15,1), BTN_SIZE(4,1), GET_TEXTF(INCREMENT), OPT_FLAT); #endif } @@ -157,7 +157,7 @@ void BaseNumericAdjustmentScreen::widgets_t::increments() { #endif } -void BaseNumericAdjustmentScreen::widgets_t::adjuster_sram_val(uint8_t tag, const char *label, const char *value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::adjuster_sram_val(uint8_t tag, progmem_str label, const char *value, bool is_enabled) { CommandProcessor cmd; if (_what & BACKGROUND) { @@ -179,7 +179,7 @@ void BaseNumericAdjustmentScreen::widgets_t::adjuster_sram_val(uint8_t tag, cons _line++; } -void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, const char *label, const char *value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, progmem_str label, const char *value, bool is_enabled) { if (_what & BACKGROUND) { adjuster_sram_val(tag, label, nullptr); } @@ -191,7 +191,7 @@ void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, const char *l } } -void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, const char *label, float value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, progmem_str label, float value, bool is_enabled) { if (_what & BACKGROUND) { adjuster_sram_val(tag, label, nullptr); } @@ -205,7 +205,7 @@ void BaseNumericAdjustmentScreen::widgets_t::adjuster(uint8_t tag, const char *l } } -void BaseNumericAdjustmentScreen::widgets_t::button(uint8_t tag, const char *label, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::button(uint8_t tag, progmem_str label, bool is_enabled) { if (_what & FOREGROUND) { CommandProcessor cmd; cmd.colors(normal_btn) @@ -216,13 +216,13 @@ void BaseNumericAdjustmentScreen::widgets_t::button(uint8_t tag, const char *lab #else .font(font_medium) #endif - .button(BTN_POS(5,_line), BTN_SIZE(9,1), progmem_str(label)); + .button(BTN_POS(5,_line), BTN_SIZE(9,1), label); } _line++; } -void BaseNumericAdjustmentScreen::widgets_t::text_field(uint8_t tag, const char *label, const char *value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::text_field(uint8_t tag, progmem_str label, const char *value, bool is_enabled) { CommandProcessor cmd; if (_what & BACKGROUND) { @@ -230,7 +230,7 @@ void BaseNumericAdjustmentScreen::widgets_t::text_field(uint8_t tag, const char .font(font_small) .cmd(COLOR_RGB(bg_text_enabled)) .fgcolor(_color).tag(0).button( BTN_POS(5,_line), BTN_SIZE(9,1), F(""), OPT_FLAT) - .fgcolor(bg_color) .tag(0).button( BTN_POS(1,_line), BTN_SIZE(4,1), (progmem_str) label, OPT_FLAT); + .fgcolor(bg_color) .tag(0).button( BTN_POS(1,_line), BTN_SIZE(4,1), label, OPT_FLAT); } if (_what & FOREGROUND) { @@ -242,7 +242,7 @@ void BaseNumericAdjustmentScreen::widgets_t::text_field(uint8_t tag, const char _line++; } -void BaseNumericAdjustmentScreen::widgets_t::two_buttons(uint8_t tag1, const char *label1, uint8_t tag2, const char *label2, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::two_buttons(uint8_t tag1, progmem_str label1, uint8_t tag2, progmem_str label2, bool is_enabled) { if (_what & FOREGROUND) { CommandProcessor cmd; cmd.enabled(is_enabled) @@ -251,23 +251,23 @@ void BaseNumericAdjustmentScreen::widgets_t::two_buttons(uint8_t tag1, const cha #else .font(font_medium) #endif - .tag(is_enabled ? tag1: 0).button(BTN_POS(5,_line), BTN_SIZE(4.5,1), progmem_str(label1)) - .tag(is_enabled ? tag2: 0).button(BTN_POS(9.5,_line), BTN_SIZE(4.5,1), progmem_str(label2)); + .tag(is_enabled ? tag1: 0).button(BTN_POS(5,_line), BTN_SIZE(4.5,1), label1) + .tag(is_enabled ? tag2: 0).button(BTN_POS(9.5,_line), BTN_SIZE(4.5,1), label2); } _line++; } -void BaseNumericAdjustmentScreen::widgets_t::toggle(uint8_t tag, const char *label, const char *text, bool value, bool is_enabled) { +void BaseNumericAdjustmentScreen::widgets_t::toggle(uint8_t tag, progmem_str label, bool value, bool is_enabled) { if (_what & BACKGROUND) { CommandProcessor cmd; cmd.fgcolor(bg_color) .tag(0) .font(font_small) #ifdef TOUCH_UI_PORTRAIT - .button( BTN_POS(1, _line), BTN_SIZE( 8,1), progmem_str(label), OPT_FLAT); + .button( BTN_POS(1, _line), BTN_SIZE( 8,1), label, OPT_FLAT); #else - .button( BTN_POS(1, _line), BTN_SIZE(10,1), progmem_str(label), OPT_FLAT); + .button( BTN_POS(1, _line), BTN_SIZE(10,1), label, OPT_FLAT); #endif } @@ -278,9 +278,9 @@ void BaseNumericAdjustmentScreen::widgets_t::toggle(uint8_t tag, const char *lab .font(font_small) .colors(ui_toggle) #ifdef TOUCH_UI_PORTRAIT - .toggle(BTN_POS( 9,_line), BTN_SIZE(5,1), progmem_str(text), value); + .toggle2(BTN_POS( 9,_line), BTN_SIZE(5,1), GET_TEXTF(NO), GET_TEXTF(YES), value); #else - .toggle(BTN_POS(10,_line), BTN_SIZE(4,1), progmem_str(text), value); + .toggle2(BTN_POS(10,_line), BTN_SIZE(4,1), GET_TEXTF(NO), GET_TEXTF(YES), value); #endif } @@ -293,7 +293,7 @@ void BaseNumericAdjustmentScreen::widgets_t::home_buttons(uint8_t tag) { cmd.fgcolor(bg_color) .tag(0) .font(font_small) - .button( BTN_POS(1, _line), BTN_SIZE(4,1), F("Home:"), OPT_FLAT); + .button( BTN_POS(1, _line), BTN_SIZE(4,1), GET_TEXTF(HOME), OPT_FLAT); } if (_what & FOREGROUND) { @@ -304,10 +304,10 @@ void BaseNumericAdjustmentScreen::widgets_t::home_buttons(uint8_t tag) { #else .font(font_medium) #endif - .tag(tag+0).button(BTN_POS(5,_line), BTN_SIZE(2,1), F("X")) - .tag(tag+1).button(BTN_POS(7,_line), BTN_SIZE(2,1), F("Y")) - .tag(tag+2).button(BTN_POS(9,_line), BTN_SIZE(2,1), F("Z")) - .tag(tag+3).button(BTN_POS(11,_line), BTN_SIZE(3,1), F("All")); + .tag(tag+0).button(BTN_POS(5,_line), BTN_SIZE(2,1), GET_TEXTF(AXIS_X)) + .tag(tag+1).button(BTN_POS(7,_line), BTN_SIZE(2,1), GET_TEXTF(AXIS_Y)) + .tag(tag+2).button(BTN_POS(9,_line), BTN_SIZE(2,1), GET_TEXTF(AXIS_Z)) + .tag(tag+3).button(BTN_POS(11,_line), BTN_SIZE(3,1), GET_TEXTF(AXIS_ALL)); } _line++; diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp index 1fddbd654..da02d24f1 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_advanced_settings.cpp @@ -43,52 +43,52 @@ void AdvancedSettingsMenu::onRedraw(draw_mode_t what) { #define GRID_ROWS 9 #define GRID_COLS 2 - .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), F("Display")) + .tag(2) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(DISPLAY_MENU)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(3) .button( BTN_POS(1,2), BTN_SIZE(1,1), F("Motor mA")) + .tag(3) .button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(MOTOR_CURRENT)) #if HAS_TRINAMIC .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), F("Bump Sense")) - .tag(5) .button( BTN_POS(1,4), BTN_SIZE(1,1), F("Endstops")) + .tag(4) .button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXTF(BUMP_SENSE)) + .tag(5) .button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(ENDSTOPS)) #if HOTENDS > 1 .enabled(1) #else .enabled(0) #endif - .tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), F("Nozzle Offset")) + .tag(6) .button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXTF(NOZZLE_OFFSETS)) - .tag(7) .button( BTN_POS(2,1), BTN_SIZE(1,1), F("Steps/mm")) - .tag(8) .button( BTN_POS(2,2), BTN_SIZE(1,1), F("Velocity ")) - .tag(9) .button( BTN_POS(2,3), BTN_SIZE(1,1), F("Acceleration")) + .tag(7) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(STEPS_PER_MM)) + .tag(8) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(MAX_VELOCITY)) + .tag(9) .button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(MAX_ACCELERATION)) #if ENABLED(JUNCTION_DEVIATION) - .tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Junc Dev")) + .tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(JUNCTION_DEVIATION)) #else - .tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Jerk")) + .tag(10) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(MAX_JERK)) #endif #if ENABLED(BACKLASH_GCODE) .enabled(1) #else .enabled(0) #endif - .tag(11) .button( BTN_POS(2,5), BTN_SIZE(1,1), F("Backlash")) + .tag(11) .button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXTF(BACKLASH)) #if ENABLED(LIN_ADVANCE) .enabled(1) #else .enabled(0) #endif - .tag(12) .button( BTN_POS(1,6), BTN_SIZE(2,1), F("Linear Advance")) - .tag(13) .button( BTN_POS(1,7), BTN_SIZE(2,1), F("Interface Settings")) - .tag(14) .button( BTN_POS(1,8), BTN_SIZE(2,1), F("Restore Factory Defaults")) + .tag(12) .button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(LINEAR_ADVANCE)) + .tag(13) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SETTINGS)) + .tag(14) .button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(RESTORE_FAILSAFE)) .colors(action_btn) - .tag(1). button( BTN_POS(1,9), BTN_SIZE(2,1), F("Back")); + .tag(1). button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp index c106db242..c43a80e1c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_e.cpp @@ -29,7 +29,7 @@ using namespace FTDI; void BioConfirmHomeE::onRedraw(draw_mode_t) { - drawMessage(F("About to re-home plunger and auto-level. Remove syringe prior to proceeding.\n\nContinue?")); + drawMessage(GET_TEXTF(HOMING_WARNING)); drawYesNoButtons(1); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp index dbd04fc35..091a2baaf 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_confirm_home_xyz.cpp @@ -29,7 +29,7 @@ using namespace FTDI; void BioConfirmHomeXYZ::onRedraw(draw_mode_t) { - drawMessage(F("About to home to loading position.\nEnsure the top and the bed of the printer are clear.\n\nContinue?")); + drawMessage(GET_TEXTF(LOADING_WARNING)); drawYesNoButtons(1); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp index 0a42bc580..a42cb547a 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_main_menu.cpp @@ -42,17 +42,17 @@ void MainMenu::onRedraw(draw_mode_t what) { if (what & FOREGROUND) { CommandProcessor cmd; cmd.cmd(COLOR_RGB(bg_text_enabled)) - .font(font_large).text( BTN_POS(1,1), BTN_SIZE(2,1), F("Main Menu")) + .font(font_large).text( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(MAIN_MENU)) .colors(normal_btn) .font(font_medium) - .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), F("Load Syringe")) - .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Unlock XY Axis")) - .tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), F("Bed Temperature")) - .tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), F("Interface Settings")) - .tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), F("Advanced Settings")) - .tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), F("About Printer")) + .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(LOAD_SYRINGE)) + .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(UNLOCK_XY_AXIS)) + .tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(BED_TEMPERATURE)) + .tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SETTINGS)) + .tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(ADVANCED_SETTINGS)) + .tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(ABOUT_PRINTER)) .colors(action_btn) - .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Back")); + .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(BACK)); } #undef GRID_COLS diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp index 7e119a5e1..7c55d962c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_status_screen.cpp @@ -91,12 +91,12 @@ void StatusScreen::draw_temperature(draw_mode_t what) { .cmd(COLOR_RGB(bg_text_enabled)); if (!isHeaterIdle(BED) && getTargetTemp_celsius(BED) > 0) { - sprintf_P(bed_str, PSTR("%-3d C"), ROUND(getTargetTemp_celsius(BED))); + sprintf_P(bed_str, F("%3d%S"), ROUND(getTargetTemp_celsius(BED), GET_TEXT(UNITS_C))); ui.bounds(POLY(target_temp), x, y, h, v); cmd.text(x, y, h, v, bed_str); } - sprintf_P(bed_str, PSTR("%-3d C"), ROUND(getActualTemp_celsius(BED))); + sprintf_P(bed_str, F("%3d%S"), ROUND(getActualTemp_celsius(BED)), GET_TEXT(UNITS_C)); ui.bounds(POLY(actual_temp), x, y, h, v); cmd.text(x, y, h, v, bed_str); } @@ -175,13 +175,13 @@ void StatusScreen::draw_fine_motion(draw_mode_t what) { ui.bounds(POLY(fine_label), x, y, h, v); cmd.cmd(COLOR_RGB(bg_text_enabled)) - .text(x, y, h, v, F("Fine motion:")); + .text(x, y, h, v, GET_TEXTF(FINE_MOTION)); } if (what & FOREGROUND) { ui.bounds(POLY(fine_toggle), x, y, h, v); cmd.colors(ui_toggle) - .toggle(x, y, h, v, F("no\xFFyes"), fine_motion); + .toggle2(x, y, h, v, GET_TEXTF(NO), GET_TEXTF(YES), fine_motion); } } @@ -226,16 +226,12 @@ void StatusScreen::draw_buttons(draw_mode_t) { .colors(has_media ? action_btn : normal_btn) .tag(9).button(BTN_POS(1,9), BTN_SIZE(1,1), isPrintingFromMedia() ? - F("Printing") : - #if ENABLED(USB_FLASH_DRIVE_SUPPORT) + GET_TEXTF(PRINTING) : #ifdef LULZBOT_MANUAL_USB_STARTUP - (Sd2Card::ready() ? F("USB Drive") : F("Enable USB")) + (Sd2Card::ready() ? GET_TEXTF(MEDIA) : GET_TEXTF(ENABLE_MEDIA)) #else - F("USB Drive") + GET_TEXTF(MEDIA) #endif - #else - F("SD Card") - #endif ); cmd.colors(!has_media ? action_btn : normal_btn).tag(10).button(BTN_POS(2,9), BTN_SIZE(1,1), F("Menu")); @@ -282,7 +278,7 @@ bool StatusScreen::onTouchEnd(uint8_t tag) { case 9: #if ENABLED(USB_FLASH_DRIVE_SUPPORT) && defined(LULZBOT_MANUAL_USB_STARTUP) if (!Sd2Card::ready()) { - StatusScreen::setStatusMessage(F("Insert USB drive...")); + StatusScreen::setStatusMessage(GET_TEXTF(INSERT_MEDIA)); Sd2Card::usbStartup(); } else { GOTO_SCREEN(FilesScreen); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp index 09aedbd33..ab6f2dda8 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/bio_tune_menu.cpp @@ -38,27 +38,26 @@ void TuneMenu::onRedraw(draw_mode_t what) { .font(font_medium); } - #define GRID_ROWS 8 + #define GRID_ROWS 7 #define GRID_COLS 2 if (what & FOREGROUND) { CommandProcessor cmd; cmd.cmd(COLOR_RGB(bg_text_enabled)) - .font(font_large).text ( BTN_POS(1,1), BTN_SIZE(2,1), F("Print Menu")) + .font(font_large).text ( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(PRINT_MENU)) .colors(normal_btn) .font(font_medium) - .enabled(!isPrinting()).tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), isPrinting() ? F("Printing...") : F("Print Again")) - .enabled( isPrinting()).tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Print Speed")) - .tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), F("Bed Temperature")) + .enabled( isPrinting()).tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(PRINT_SPEED)) + .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(BED_TEMPERATURE)) #if ENABLED(BABYSTEPPING) .enabled(true) #else .enabled(false) #endif - .tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), F("Nudge Nozzle")) - .enabled(!isPrinting()).tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), F("Load Syringe")) - .enabled(!isPrinting()).tag(7).button( BTN_POS(1,7), BTN_SIZE(2,1), F("Unlock XY Axis")) - .colors(action_btn) .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Back")); + .tag(4).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(NUDGE_NOZZLE)) + .enabled(!isPrinting()).tag(5).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(LOAD_SYRINGE)) + .enabled(!isPrinting()).tag(6).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(UNLOCK_XY_AXIS)) + .colors(action_btn) .tag(1).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(BACK)); } #undef GRID_COLS #undef GRID_ROWS @@ -66,18 +65,12 @@ void TuneMenu::onRedraw(draw_mode_t what) { bool TuneMenu::onTouchEnd(uint8_t tag) { switch (tag) { - case 1: GOTO_PREVIOUS(); break; - case 2: { - FileList files; - printFile(files.shortFilename()); - GOTO_PREVIOUS(); - break; - } - case 3: GOTO_SCREEN(FeedratePercentScreen); break; - case 4: GOTO_SCREEN(TemperatureScreen); break; - case 5: GOTO_SCREEN(NudgeNozzleScreen); break; - case 6: GOTO_SCREEN(BioConfirmHomeXYZ); break; - case 7: StatusScreen::unlockMotors(); break; + case 1: GOTO_PREVIOUS(); break; + case 2: GOTO_SCREEN(FeedratePercentScreen); break; + case 3: GOTO_SCREEN(TemperatureScreen); break; + case 4: GOTO_SCREEN(NudgeNozzleScreen); break; + case 5: GOTO_SCREEN(BioConfirmHomeXYZ); break; + case 6: StatusScreen::unlockMotors(); break; default: return false; } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp index c697e6340..c5af7ad55 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/boot_screen.cpp @@ -57,13 +57,14 @@ void BootScreen::onIdle() { // in case the display is borked. InterfaceSettingsScreen::failSafeSettings(); + StatusScreen::loadBitmaps(); GOTO_SCREEN(TouchCalibrationScreen); current_screen.forget(); PUSH_SCREEN(StatusScreen); } else { if (!UIFlashStorage::is_valid()) { StatusScreen::loadBitmaps(); - SpinnerDialogBox::show(F("Please wait...")); + SpinnerDialogBox::show(GET_TEXTF(PLEASE_WAIT)); UIFlashStorage::format_flash(); SpinnerDialogBox::hide(); } @@ -82,6 +83,9 @@ void BootScreen::onIdle() { current_screen.forget(); PUSH_SCREEN(StatusScreen); PUSH_SCREEN(BioConfirmHomeE); + #elif defined(TOUCH_UI_LANGUAGE_MENU) + StatusScreen::setStatusMessage(F(WELCOME_MSG)); + GOTO_SCREEN(LanguageMenu); #else StatusScreen::setStatusMessage(F(WELCOME_MSG)); GOTO_SCREEN(StatusScreen); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp index 8945aeb43..04ff0cf7c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/change_filament_screen.cpp @@ -114,29 +114,24 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { #else .font(font_medium) #endif - .text(BTN_POS(1,1), BTN_SIZE(2,1), F("Extruder Selection:")) + .text(BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(EXTRUDER_SELECTION)) #ifdef TOUCH_UI_PORTRAIT - .text(BTN_POS(1,7), BTN_SIZE(1,1), F("Current Temp:")) + .text(BTN_POS(1,7), BTN_SIZE(1,1), F("")) #else - .text(BTN_POS(3,1), BTN_SIZE(2,1), F("Current Temp:")) + .text(BTN_POS(3,1), BTN_SIZE(2,1), GET_TEXTF(CURRENT_TEMPERATURE)) .font(font_small) #endif - .text(BTN_POS(1,3), BTN_SIZE(2,1), F("Removal Temp:")); + .text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(REMOVAL_TEMPERATURE)); drawTempGradient(BTN_POS(1,4), BTN_SIZE(1,3)); } if (what & FOREGROUND) { char e_str[15]; - const char *idle = PSTR("%-3d C / idle"); - const char *not_idle = PSTR("%-3d / %-3d C"); - - sprintf_P( - e_str, - isHeaterIdle(getExtruder()) ? idle : not_idle, - ROUND(getActualTemp_celsius(getExtruder())), - ROUND(getTargetTemp_celsius(getExtruder())) - ); + if (isHeaterIdle(getExtruder())) + sprintf_P(e_str, PSTR("%3d%S / %S"), ROUND(getActualTemp_celsius(getExtruder())), GET_TEXT(UNITS_C), GET_TEXT(TEMP_IDLE)); + else + sprintf_P(e_str, PSTR("%3d / %3d%S"), ROUND(getActualTemp_celsius(getExtruder())), ROUND(getTargetTemp_celsius(getExtruder())), GET_TEXT(UNITS_C)); const rgb_t tcol = getWarmColor(getActualTemp_celsius(getExtruder()), COOL_TEMP, LOW_TEMP, MED_TEMP, HIGH_TEMP); cmd.cmd(COLOR_RGB(tcol)) @@ -158,12 +153,12 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { const bool t_ok = getActualTemp_celsius(getExtruder()) > getSoftenTemp() - 10; if (screen_data.ChangeFilamentScreen.t_tag && !t_ok) { - cmd.text(BTN_POS(1,6), BTN_SIZE(1,1), F("Heating...")); + cmd.text(BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXTF(HEATING)); } else if (getActualTemp_celsius(getExtruder()) > 100) { cmd.cmd(COLOR_RGB(0xFF0000)) - .text(BTN_POS(1,4), BTN_SIZE(1,1), F("Caution:")) + .text(BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(CAUTION)) .colors(normal_btn) - .text(BTN_POS(1,6), BTN_SIZE(1,1), F("Hot!")); + .text(BTN_POS(1,6), BTN_SIZE(1,1), GET_TEXTF(HOT)); } #define TOG_STYLE(A) colors(A ? action_btn : normal_btn) @@ -195,15 +190,28 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { const bool tog7 = screen_data.ChangeFilamentScreen.repeat_tag == 7; const bool tog8 = screen_data.ChangeFilamentScreen.repeat_tag == 8; + #ifdef TOUCH_UI_PORTRAIT - cmd.font(font_large) + cmd.font(font_large); #else - cmd.font(font_small) + cmd.font(font_small); #endif - .tag(2) .TOG_STYLE(tog2) .button (BTN_POS(2,6), BTN_SIZE(1,1), F( STRINGIFY(LOW_TEMP) "C (PLA)")) - .tag(3) .TOG_STYLE(tog3) .button (BTN_POS(2,5), BTN_SIZE(1,1), F( STRINGIFY(MED_TEMP) "C (ABS)")) - .tag(4) .TOG_STYLE(tog4) .button (BTN_POS(2,4), BTN_SIZE(1,1), F( STRINGIFY(HIGH_TEMP) "C (High)")) - .colors(normal_btn) + { + char str[30]; + sprintf_P(str, PSTR("%3d%S (%S)"), LOW_TEMP, GET_TEXT(UNITS_C), GET_TEXT(MATERIAL_PLA)); + cmd.tag(2) .TOG_STYLE(tog2) .button (BTN_POS(2,6), BTN_SIZE(1,1), str); + } + { + char str[30]; + sprintf_P(str, PSTR("%3d%S (%S)"), MED_TEMP, GET_TEXT(UNITS_C), GET_TEXT(MATERIAL_ABS)); + cmd.tag(3) .TOG_STYLE(tog3) .button (BTN_POS(2,5), BTN_SIZE(1,1), str); + } + { + char str[30]; + sprintf_P(str, PSTR("%3d%S (%S)"), HIGH_TEMP, GET_TEXT(UNITS_C), GET_TEXT(MATERIAL_HIGH_TEMP)); + cmd.tag(4) .TOG_STYLE(tog4) .button (BTN_POS(2,4), BTN_SIZE(1,1), str); + } + cmd.colors(normal_btn) // Add tags to color gradient .cmd(COLOR_MASK(0,0,0,0)) @@ -215,23 +223,23 @@ void ChangeFilamentScreen::onRedraw(draw_mode_t what) { .cmd(COLOR_RGB(t_ok ? bg_text_enabled : bg_text_disabled)) #ifdef TOUCH_UI_PORTRAIT .font(font_large) - .tag(0) .text (BTN_POS(1,8), BTN_SIZE(1,1), F("Unload")) - .text (BTN_POS(2,8), BTN_SIZE(1,1), F("Load/Extrude")) - .tag(5) .enabled(t_ok).button (BTN_POS(1,9), BTN_SIZE(1,1), F("Momentary")) - .tag(6) .enabled(t_ok).button (BTN_POS(2,9), BTN_SIZE(1,1), F("Momentary")) - .tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(1,10), BTN_SIZE(1,1), F("Continuous")) - .tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(2,10), BTN_SIZE(1,1), F("Continuous")) - .tag(1).colors(action_btn) .button (BTN_POS(1,11), BTN_SIZE(2,1), F("Back")); + .tag(0) .text (BTN_POS(1,8), BTN_SIZE(1,1), GET_TEXTF(UNLOAD_FILAMENT)) + .text (BTN_POS(2,8), BTN_SIZE(1,1), GET_TEXTF(LOAD_FILAMENT)) + .tag(5) .enabled(t_ok).button (BTN_POS(1,9), BTN_SIZE(1,1), GET_TEXTF(MOMENTARY)) + .tag(6) .enabled(t_ok).button (BTN_POS(2,9), BTN_SIZE(1,1), GET_TEXTF(MOMENTARY)) + .tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(1,10), BTN_SIZE(1,1), GET_TEXTF(CONTINUOUS)) + .tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(2,10), BTN_SIZE(1,1), GET_TEXTF(CONTINUOUS)) + .tag(1).colors(action_btn) .button (BTN_POS(1,11), BTN_SIZE(2,1), GET_TEXTF(BACK)); #else .font(font_small) - .tag(0) .text (BTN_POS(3,3), BTN_SIZE(1,1), F("Unload")) - .text (BTN_POS(4,3), BTN_SIZE(1,1), F("Load/Extrude")) - .tag(5) .enabled(t_ok).button (BTN_POS(3,4), BTN_SIZE(1,1), F("Momentary")) - .tag(6) .enabled(t_ok).button (BTN_POS(4,4), BTN_SIZE(1,1), F("Momentary")) - .tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(3,5), BTN_SIZE(1,1), F("Continuous")) - .tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(4,5), BTN_SIZE(1,1), F("Continuous")) + .tag(0) .text (BTN_POS(3,3), BTN_SIZE(1,1), GET_TEXTF(UNLOAD_FILAMENT)) + .text (BTN_POS(4,3), BTN_SIZE(1,1), GET_TEXTF(LOAD_FILAMENT)) + .tag(5) .enabled(t_ok).button (BTN_POS(3,4), BTN_SIZE(1,1), GET_TEXTF(MOMENTARY)) + .tag(6) .enabled(t_ok).button (BTN_POS(4,4), BTN_SIZE(1,1), GET_TEXTF(MOMENTARY)) + .tag(7).TOG_STYLE(tog7).enabled(t_ok).button (BTN_POS(3,5), BTN_SIZE(1,1), GET_TEXTF(CONTINUOUS)) + .tag(8).TOG_STYLE(tog8).enabled(t_ok).button (BTN_POS(4,5), BTN_SIZE(1,1), GET_TEXTF(CONTINUOUS)) .font(font_medium) - .tag(1).colors(action_btn) .button (BTN_POS(3,6), BTN_SIZE(2,1), F("Back")); + .tag(1).colors(action_btn) .button (BTN_POS(3,6), BTN_SIZE(2,1), GET_TEXTF(BACK)); #endif } #undef GRID_COLS diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp index 77d4fcfac..32dba3df0 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_abort_print_dialog_box.cpp @@ -29,7 +29,7 @@ using namespace ExtUI; void ConfirmAbortPrintDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("Are you sure you want to cancel the print?")); + drawMessage(GET_TEXTF(ABORT_WARNING)); drawYesNoButtons(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp index 395fe83fb..161828595 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_auto_calibration_dialog_box.cpp @@ -30,7 +30,7 @@ using namespace ExtUI; using namespace Theme; void ConfirmAutoCalibrationDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("For best results, unload the filament and clean the hotend prior to starting calibration. Continue?")); + drawMessage(GET_TEXTF(CALIBRATION_WARNING)); drawYesNoButtons(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp index 6db2ff4d3..610d97b11 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/confirm_erase_flash_dialog_box.cpp @@ -31,17 +31,17 @@ using namespace FTDI; void ConfirmEraseFlashDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("Are you sure? SPI flash will be erased.")); + drawMessage(GET_TEXTF(ERASE_FLASH_WARNING)); drawYesNoButtons(); } bool ConfirmEraseFlashDialogBox::onTouchEnd(uint8_t tag) { switch (tag) { case 1: - SpinnerDialogBox::show(F("Erasing...")); + SpinnerDialogBox::show(GET_TEXTF(ERASING)); UIFlashStorage::format_flash(); SpinnerDialogBox::hide(); - AlertDialogBox::show(F("SPI flash erased")); + AlertDialogBox::show(GET_TEXTF(ERASED)); // Remove ConfirmEraseFlashDialogBox from the stack // so the alert box doesn't return to me. current_screen.forget(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp index 1e1cb8457..fdfacd58c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/default_acceleration_screen.cpp @@ -33,14 +33,14 @@ using namespace Theme; void DefaultAccelerationScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0); - w.units(PSTR("mm/s^2")); - w.heading( PSTR("Default Acceleration")); + w.units(GET_TEXTF(UNITS_MM_S2)); + w.heading( GET_TEXTF(ACCELERATION)); w.color(other); - w.adjuster( 2, PSTR("Printing:"), getPrintingAcceleration_mm_s2() ); - w.adjuster( 4, PSTR("Travel:"), getTravelAcceleration_mm_s2() ); - w.adjuster( 6, PSTR("Retraction:"), getRetractAcceleration_mm_s2() ); + w.adjuster( 2, GET_TEXTF(ACCEL_PRINTING), getPrintingAcceleration_mm_s2() ); + w.adjuster( 4, GET_TEXTF(ACCEL_TRAVEL), getTravelAcceleration_mm_s2() ); + w.adjuster( 6, GET_TEXTF(ACCEL_RETRACT), getRetractAcceleration_mm_s2() ); w.increments(); - w.button( 8, PSTR("Set Axis Maximum")); + w.button( 8, GET_TEXTF(SET_MAXIMUM)); } bool DefaultAccelerationScreen::onTouchHeld(uint8_t tag) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp index 6178a71e9..09075b2c5 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/dialog_box_base_class.cpp @@ -45,19 +45,19 @@ void DialogBoxBaseClass::drawMessage(const T message, int16_t font) { } template void DialogBoxBaseClass::drawMessage(const char *, int16_t font); -template void DialogBoxBaseClass::drawMessage(const progmem_str, int16_t font); +template void DialogBoxBaseClass::drawMessage(progmem_str, int16_t font); void DialogBoxBaseClass::drawYesNoButtons(uint8_t default_btn) { CommandProcessor cmd; cmd.font(font_medium) - .colors(default_btn == 1 ? action_btn : normal_btn).tag(1).button( BTN_POS(1,8), BTN_SIZE(1,1), F("Yes")) - .colors(default_btn == 2 ? action_btn : normal_btn).tag(2).button( BTN_POS(2,8), BTN_SIZE(1,1), F("No")); + .colors(default_btn == 1 ? action_btn : normal_btn).tag(1).button( BTN_POS(1,8), BTN_SIZE(1,1), GET_TEXTF(YES)) + .colors(default_btn == 2 ? action_btn : normal_btn).tag(2).button( BTN_POS(2,8), BTN_SIZE(1,1), GET_TEXTF(NO)); } void DialogBoxBaseClass::drawOkayButton() { CommandProcessor cmd; cmd.font(font_medium) - .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Okay")); + .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(OKAY)); } void DialogBoxBaseClass::drawButton(const progmem_str label) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp index 7af436a5c..eedc3d22c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/display_tuning_screen.cpp @@ -32,14 +32,14 @@ using namespace Theme; void DisplayTuningScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0, BaseNumericAdjustmentScreen::DEFAULT_LOWEST); - w.units(PSTR("")); - w.heading( PSTR("Display Tuning")); + w.units(F("")); + w.heading(GET_TEXTF(DISPLAY_MENU)); w.color(other); - w.adjuster( 2, PSTR("H Offset:"), CLCD::mem_read_16(CLCD::REG::HOFFSET) ); - w.adjuster( 4, PSTR("V Offset:"), CLCD::mem_read_16(CLCD::REG::VOFFSET) ); + w.adjuster( 2, GET_TEXTF(H_OFFSET), CLCD::mem_read_16(CLCD::REG::HOFFSET) ); + w.adjuster( 4, GET_TEXTF(V_OFFSET), CLCD::mem_read_16(CLCD::REG::VOFFSET) ); w.increments(); - w.heading( PSTR("Touch Screen")); - w.button(6, PSTR("Calibrate")); + w.heading( GET_TEXTF(TOUCH_SCREEN)); + w.button(6, GET_TEXTF(CALIBRATE)); } bool DisplayTuningScreen::onTouchHeld(uint8_t tag) { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp index f1e13d3a9..b474b0c16 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/endstop_state_screen.cpp @@ -48,7 +48,7 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) { #define GRID_ROWS 7 #define GRID_COLS 6 - #define PIN_BTN(X,Y,PIN,LABEL) button(BTN_POS(X,Y), BTN_SIZE(2,1), F(LABEL)) + #define PIN_BTN(X,Y,PIN,LABEL) button(BTN_POS(X,Y), BTN_SIZE(2,1), LABEL) #define PIN_ENABLED(LABEL,PIN,INV,X,Y) cmd.enabled(1).colors(READ(PIN##_PIN) != INV ? action_btn : normal_btn).PIN_BTN(X,Y,PIN,LABEL); #define PIN_DISABLED(LABEL,PIN,INV,X,Y) cmd.enabled(0).PIN_BTN(X,Y,PIN,LABEL); @@ -57,68 +57,68 @@ void EndstopStatesScreen::onRedraw(draw_mode_t) { #else cmd.font(font_medium) #endif - .text(BTN_POS(1,1), BTN_SIZE(6,1), F("Endstop States:")) + .text(BTN_POS(1,1), BTN_SIZE(6,1), GET_TEXTF(ENDSTOPS)) .font(font_tiny); #if PIN_EXISTS(X_MAX) - PIN_ENABLED ("X Max", X_MAX,X_MAX_ENDSTOP_INVERTING,1,2) + PIN_ENABLED (GET_TEXTF(X_MAX), X_MAX,X_MAX_ENDSTOP_INVERTING,1,2) #else - PIN_DISABLED("X Max",X_MAX,X_MAX_ENDSTOP_INVERTING,1,2) + PIN_DISABLED(GET_TEXTF(X_MAX),X_MAX,X_MAX_ENDSTOP_INVERTING,1,2) #endif #if PIN_EXISTS(Y_MAX) - PIN_ENABLED ("Y Max",Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2) + PIN_ENABLED (GET_TEXTF(Y_MAX),Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2) #else - PIN_DISABLED("Y Max",Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2) + PIN_DISABLED(GET_TEXTF(Y_MAX),Y_MAX,Y_MAX_ENDSTOP_INVERTING,3,2) #endif #if PIN_EXISTS(Z_MAX) - PIN_ENABLED ("Z Max",Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2) + PIN_ENABLED (GET_TEXTF(Z_MAX),Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2) #else - PIN_DISABLED("Z Max",Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2) + PIN_DISABLED(GET_TEXTF(Z_MAX),Z_MAX,Z_MAX_ENDSTOP_INVERTING,5,2) #endif #if PIN_EXISTS(X_MIN) - PIN_ENABLED ("X Min",X_MIN,X_MIN_ENDSTOP_INVERTING,1,3) + PIN_ENABLED (GET_TEXTF(X_MIN),X_MIN,X_MIN_ENDSTOP_INVERTING,1,3) #else - PIN_DISABLED("X Min",X_MIN,X_MIN_ENDSTOP_INVERTING,1,3) + PIN_DISABLED(GET_TEXTF(X_MIN),X_MIN,X_MIN_ENDSTOP_INVERTING,1,3) #endif #if PIN_EXISTS(Y_MIN) - PIN_ENABLED ("Y Min",Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3) + PIN_ENABLED (GET_TEXTF(Y_MIN),Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3) #else - PIN_DISABLED("Y Min",Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3) + PIN_DISABLED(GET_TEXTF(Y_MIN),Y_MIN,Y_MIN_ENDSTOP_INVERTING,3,3) #endif #if PIN_EXISTS(Z_MIN) - PIN_ENABLED ("Z Min",Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3) + PIN_ENABLED (GET_TEXTF(Z_MIN),Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3) #else - PIN_DISABLED("Z Min",Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3) + PIN_DISABLED(GET_TEXTF(Z_MIN),Z_MIN,Z_MIN_ENDSTOP_INVERTING,5,3) #endif #if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT) - PIN_ENABLED ("Runout 1",FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4) + PIN_ENABLED (GET_TEXTF(RUNOUT_1),FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4) #else - PIN_DISABLED("Runout 1",FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4) + PIN_DISABLED(GET_TEXTF(RUNOUT_1),FIL_RUNOUT, FIL_RUNOUT_INVERTING,1,4) #endif #if ENABLED(FILAMENT_RUNOUT_SENSOR) && PIN_EXISTS(FIL_RUNOUT2) - PIN_ENABLED ("Runout 2",FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4) + PIN_ENABLED (GET_TEXTF(RUNOUT_2),FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4) #else - PIN_DISABLED("Runout 2",FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4) + PIN_DISABLED(GET_TEXTF(RUNOUT_2),FIL_RUNOUT2,FIL_RUNOUT_INVERTING,3,4) #endif #if PIN_EXISTS(Z_MIN_PROBE) - PIN_ENABLED ("Z Probe",Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4) + PIN_ENABLED (GET_TEXTF(Z_PROBE),Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4) #else - PIN_DISABLED("Z Probe",Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4) + PIN_DISABLED(GET_TEXTF(Z_PROBE),Z_MIN_PROBE,Z_MIN_PROBE_ENDSTOP_INVERTING,5,4) #endif #if HAS_SOFTWARE_ENDSTOPS #undef EDGE_R #define EDGE_R 30 cmd.font(font_small) - .text (BTN_POS(1,5), BTN_SIZE(3,1), F("Soft Limits:"), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,5), BTN_SIZE(3,1), GET_TEXTF(SOFT_ENDSTOPS), OPT_RIGHTX | OPT_CENTERY) .colors(ui_toggle) - .tag(2).toggle(BTN_POS(4,5), BTN_SIZE(3,1), F("off\xFFon"), getSoftEndstopState()); + .tag(2).toggle2(BTN_POS(4,5), BTN_SIZE(3,1), GET_TEXTF(NO), GET_TEXTF(YES), getSoftEndstopState()); #undef EDGE_R #define EDGE_R 0 #endif cmd.font(font_medium) .colors(action_btn) - .tag(1).button( BTN_POS(1,7), BTN_SIZE(6,1), F("Back")); + .tag(1).button( BTN_POS(1,7), BTN_SIZE(6,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp index e9f527ef9..c42296f79 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/feedrate_percent_screen.cpp @@ -31,10 +31,10 @@ using namespace ExtUI; void FeedratePercentScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(0).units(PSTR("%")); + w.precision(0).units(GET_TEXTF(UNITS_PERCENT)); - w.heading(PSTR("Print Speed")); - w.adjuster(4, PSTR("Speed"), getFeedrate_percent()); + w.heading(GET_TEXTF(PRINT_SPEED)); + w.adjuster(4, GET_TEXTF(SPEED), getFeedrate_percent()); w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp index 55280859a..a0213d5ed 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_menu.cpp @@ -43,43 +43,43 @@ void FilamentMenu::onRedraw(draw_mode_t what) { #ifdef TOUCH_UI_PORTRAIT #define GRID_ROWS 9 #define GRID_COLS 2 - .text ( BTN_POS(1,1), BTN_SIZE(2,1), F("Filament Options:")) + .text ( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(FILAMENT)) .font(font_medium).colors(normal_btn) #if ENABLED(FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), F("Runout Sensor")) + .tag(2).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(RUNOUT_SENSOR)) #if ENABLED(LIN_ADVANCE) .enabled(1) #else .enabled(0) #endif - .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Linear Advance")) + .tag(3).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(LINEAR_ADVANCE)) .colors(action_btn) - .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), F("Back")); + .tag(1) .button( BTN_POS(1,9), BTN_SIZE(2,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS #else #define GRID_ROWS 6 #define GRID_COLS 3 - .text ( BTN_POS(1,1), BTN_SIZE(3,1), F("Filament Options:")) + .text ( BTN_POS(1,1), BTN_SIZE(3,1), GET_TEXTF(FILAMENT)) .font(font_medium).colors(normal_btn) #if ENABLED(FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(2).button( BTN_POS(1,2), BTN_SIZE(3,1), F("Filament Runout")) + .tag(2).button( BTN_POS(1,2), BTN_SIZE(3,1), GET_TEXTF(RUNOUT_SENSOR)) #if ENABLED(LIN_ADVANCE) .enabled(1) #else .enabled(0) #endif - .tag(3).button( BTN_POS(1,3), BTN_SIZE(3,1), F("Linear Advance")) + .tag(3).button( BTN_POS(1,3), BTN_SIZE(3,1), GET_TEXTF(LINEAR_ADVANCE)) .colors(action_btn) - .tag(1) .button( BTN_POS(1,6), BTN_SIZE(3,1), F("Back")); + .tag(1) .button( BTN_POS(1,6), BTN_SIZE(3,1), GET_TEXTF(BACK)); #endif } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp index ccad90171..12bf61d68 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/filament_runout_screen.cpp @@ -32,15 +32,15 @@ using namespace Theme; void FilamentRunoutScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.heading( PSTR("Runout Detection:")); - w.toggle( 2, PSTR("Filament Sensor:"), PSTR("off\xFFon"), getFilamentRunoutEnabled()); + w.heading( GET_TEXTF(FILAMENT)); + w.toggle( 2, GET_TEXTF(RUNOUT_SENSOR), getFilamentRunoutEnabled()); #ifdef FILAMENT_RUNOUT_DISTANCE_MM - w.heading(PSTR("Detection Threshold:")); - w.units(PSTR("mm")); + w.heading(GET_TEXTF(DETECTION_THRESHOLD)); + w.units(GET_TEXTF(UNITS_MM)); w.precision(0); w.color(e_axis); - w.adjuster( 10, PSTR("Distance:"), getFilamentRunoutDistance_mm(), getFilamentRunoutEnabled()); + w.adjuster( 10, GET_TEXTF(DISTANCE), getFilamentRunoutDistance_mm(), getFilamentRunoutEnabled()); w.increments(); #endif } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp index e8aaf36ff..fac80d1f7 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/files_screen.cpp @@ -165,13 +165,13 @@ void FilesScreen::drawFooter() { cmd.colors(normal_btn) .font(font_medium) .colors(has_selection ? normal_btn : action_btn) - .tag(back_tag).button( BTN_POS(4,y), BTN_SIZE(3,h), F("Back")) + .tag(back_tag).button( BTN_POS(4,y), BTN_SIZE(3,h), GET_TEXTF(BACK)) .enabled(has_selection) .colors(has_selection ? action_btn : normal_btn); if (screen_data.FilesScreen.flags.is_dir) { - cmd.tag(244).button( BTN_POS(1, y), BTN_SIZE(3,h), F("Open")); + cmd.tag(244).button( BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXTF(OPEN_DIR)); } else { - cmd.tag(243).button( BTN_POS(1, y), BTN_SIZE(3,h), F("Print")); + cmd.tag(243).button( BTN_POS(1, y), BTN_SIZE(3,h), GET_TEXTF(PRINT_FILE)); } } @@ -210,7 +210,7 @@ bool FilesScreen::onTouchEnd(uint8_t tag) { break; case 243: printFile(getSelectedShortFilename()); - StatusScreen::setStatusMessage(F("Print Starting")); + StatusScreen::setStatusMessage(GET_TEXTF(PRINT_STARTING)); GOTO_SCREEN(StatusScreen); return true; case 244: diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp index 265d0e103..e1b27c79a 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_settings_screen.cpp @@ -69,15 +69,15 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) { .cmd(COLOR_RGB(bg_text_enabled)) .tag(0) .font(font_medium) - .text(BTN_POS(1,1), BTN_SIZE(4,1), F("Interface Settings")) + .text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXTF(INTERFACE_SETTINGS)) #undef EDGE_R #define EDGE_R 30 .font(font_small) .tag(0) - .text(BTN_POS(1,2), BTN_SIZE(2,1), F("LCD brightness:"), OPT_RIGHTX | OPT_CENTERY) - .text(BTN_POS(1,3), BTN_SIZE(2,1), F("Sound volume:"), OPT_RIGHTX | OPT_CENTERY) - .text(BTN_POS(1,4), BTN_SIZE(2,1), F("Screen lock:"), OPT_RIGHTX | OPT_CENTERY); - cmd.text(BTN_POS(1,5), BTN_SIZE(2,1), F("Boot screen:"), OPT_RIGHTX | OPT_CENTERY); + .text(BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(LCD_BRIGHTNESS), OPT_RIGHTX | OPT_CENTERY) + .text(BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(SOUND_VOLUME), OPT_RIGHTX | OPT_CENTERY) + .text(BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(SCREEN_LOCK), OPT_RIGHTX | OPT_CENTERY); + cmd.text(BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(BOOT_SCREEN), OPT_RIGHTX | OPT_CENTERY); #undef EDGE_R } @@ -94,19 +94,19 @@ void InterfaceSettingsScreen::onRedraw(draw_mode_t what) { .tag(2).slider(BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.brightness, 128) .tag(3).slider(BTN_POS(3,3), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF) .colors(ui_toggle) - .tag(4).toggle(BTN_POS(3,4), BTN_SIZE(w,1), F("off\xFFon"), LockScreen::is_enabled()) - .tag(5).toggle(BTN_POS(3,5), BTN_SIZE(w,1), F("off\xFFon"), UIData::animations_enabled()) + .tag(4).toggle2(BTN_POS(3,4), BTN_SIZE(w,1), GET_TEXTF(NO), GET_TEXTF(YES), LockScreen::is_enabled()) + .tag(5).toggle2(BTN_POS(3,5), BTN_SIZE(w,1), GET_TEXTF(NO), GET_TEXTF(YES), UIData::animations_enabled()) #undef EDGE_R #define EDGE_R 0 #ifdef TOUCH_UI_PORTRAIT .colors(normal_btn) - .tag(6).button (BTN_POS(1,6), BTN_SIZE(4,1), F("Customize Sounds")) + .tag(6).button (BTN_POS(1,6), BTN_SIZE(4,1), GET_TEXTF(INTERFACE_SOUNDS)) .colors(action_btn) - .tag(1).button (BTN_POS(1,7), BTN_SIZE(4,1), F("Back")); + .tag(1).button (BTN_POS(1,7), BTN_SIZE(4,1), GET_TEXTF(BACK)); #else - .tag(6).button (BTN_POS(1,6), BTN_SIZE(2,1), F("Customize Sounds")) + .tag(6).button (BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(INTERFACE_SOUNDS)) .colors(action_btn) - .tag(1).button (BTN_POS(3,6), BTN_SIZE(2,1), F("Back")); + .tag(1).button (BTN_POS(3,6), BTN_SIZE(2,1), GET_TEXTF(BACK)); #endif } } @@ -263,9 +263,9 @@ void InterfaceSettingsScreen::loadSettings(const char *buff) { success = persistentStore.write_data(0, data, LULZBOT_EEPROM_BACKUP_SIZE) == PERSISTENT_STORE_SUCCESS; if (success) - StatusScreen::setStatusMessage(F("Settings restored from backup")); + StatusScreen::setStatusMessage(GET_TEXTF(EEPROM_RESTORED)); else - StatusScreen::setStatusMessage(F("Settings restored to default")); + StatusScreen::setStatusMessage(GET_TEXTF(EEPROM_RESET)); return success; } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp index a1a05d080..a116ae29f 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/interface_sounds_screen.cpp @@ -71,15 +71,15 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) { #define GRID_ROWS 9 .font(font_medium) - .text(BTN_POS(1,1), BTN_SIZE(4,1), F("Interface Sounds")) + .text(BTN_POS(1,1), BTN_SIZE(4,1), GET_TEXTF(INTERFACE_SOUNDS)) #undef EDGE_R #define EDGE_R 30 .font(font_small) - .tag(0).text (BTN_POS(1,2), BTN_SIZE(2,1), F("Sound volume:"), OPT_RIGHTX | OPT_CENTERY) - .text (BTN_POS(1,3), BTN_SIZE(2,1), F("Click sounds:"), OPT_RIGHTX | OPT_CENTERY) - .text (BTN_POS(1,5), BTN_SIZE(2,1), F("Print starting:"), OPT_RIGHTX | OPT_CENTERY) - .text (BTN_POS(1,6), BTN_SIZE(2,1), F("Print finished:"), OPT_RIGHTX | OPT_CENTERY) - .text (BTN_POS(1,7), BTN_SIZE(2,1), F("Print error:"), OPT_RIGHTX | OPT_CENTERY); + .tag(0).text (BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(SOUND_VOLUME), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(CLICK_SOUNDS), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(PRINT_STARTING), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(PRINT_FINISHED), OPT_RIGHTX | OPT_CENTERY) + .text (BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(PRINT_ERROR), OPT_RIGHTX | OPT_CENTERY); #undef EDGE_R } @@ -95,7 +95,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) { #define EDGE_R 30 .tag(2).slider (BTN_POS(3,2), BTN_SIZE(2,1), screen_data.InterfaceSettingsScreen.volume, 0xFF) .colors(ui_toggle) - .tag(3).toggle (BTN_POS(3,3), BTN_SIZE(w,1), F("off\xFFon"), UIData::touch_sounds_enabled()) + .tag(3).toggle2 (BTN_POS(3,3), BTN_SIZE(w,1), GET_TEXTF(NO), GET_TEXTF(YES), UIData::touch_sounds_enabled()) #undef EDGE_R .colors(normal_btn) #define EDGE_R 0 @@ -103,7 +103,7 @@ void InterfaceSoundsScreen::onRedraw(draw_mode_t what) { .tag(5).button (BTN_POS(3,6), BTN_SIZE(2,1), getSoundSelection(PRINTING_FINISHED)) .tag(6).button (BTN_POS(3,7), BTN_SIZE(2,1), getSoundSelection(PRINTING_FAILED)) .colors(action_btn) - .tag(1).button (BTN_POS(1,9), BTN_SIZE(4,1), F("Back")); + .tag(1).button (BTN_POS(1,9), BTN_SIZE(4,1), GET_TEXTF(BACK)); } } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp index 7ffb4c5dd..705331475 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/jerk_screen.cpp @@ -34,12 +34,12 @@ void JerkScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(1); - w.units(PSTR("mm/s")); - w.heading( PSTR("Maximum Jerk")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisMaxJerk_mm_s(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisMaxJerk_mm_s(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisMaxJerk_mm_s(Z) ); - w.color(e_axis) .adjuster( 8, PSTR("E:"), getAxisMaxJerk_mm_s(E0) ); + w.units(GET_TEXTF(UNITS_MM_S)); + w.heading(GET_TEXTF(JERK)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(AXIS_X), getAxisMaxJerk_mm_s(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(AXIS_Y), getAxisMaxJerk_mm_s(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(AXIS_Z), getAxisMaxJerk_mm_s(Z) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(AXIS_E), getAxisMaxJerk_mm_s(E0) ); w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp index 1cc4471b5..b4381b7ef 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/junction_deviation_screen.cpp @@ -33,8 +33,8 @@ using namespace Theme; void JunctionDeviationScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(2); - w.units(PSTR("mm")); - w.heading( PSTR("Junction Deviation")); + w.units(GET_TEXTF(UNITS_MM)); + w.heading(GET_TEXTF(JUNCTION_DEVIATION)); w.color(other) .adjuster( 2, PSTR(""), getJunctionDeviation_mm() ); w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp index 84cbd583c..7fa850673 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/kill_screen.cpp @@ -46,8 +46,8 @@ void KillScreen::show(progmem_str message) { cmd.font(Theme::font_large) .cmd(COLOR_RGB(Theme::bg_text_enabled)) .text(BTN_POS(1,2), BTN_SIZE(4,1), message) - .text(BTN_POS(1,3), BTN_SIZE(4,1), F("PRINTER HALTED")) - .text(BTN_POS(1,6), BTN_SIZE(4,1), F("Please reset")); + .text(BTN_POS(1,3), BTN_SIZE(4,1), GET_TEXTF(PRINTER_HALTED)) + .text(BTN_POS(1,6), BTN_SIZE(4,1), GET_TEXTF(PLEASE_RESET)); #undef GRID_COLS #undef GRID_ROWS diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/language_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/language_menu.cpp new file mode 100644 index 000000000..cea354b71 --- /dev/null +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/language_menu.cpp @@ -0,0 +1,56 @@ +/********************* + * language_menu.cpp * + *********************/ + +/**************************************************************************** + * Written By Mark Pelletier 2017 - Aleph Objects, Inc. * + * Written By Marcio Teixeira 2018 - Aleph Objects, Inc. * + * * + * 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. * + * * + * To view a copy of the GNU General Public License, go to the following * + * location: . * + ****************************************************************************/ + +#include "../config.h" + +#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LANGUAGE_MENU) + +#include "screens.h" + +using namespace FTDI; +using namespace Theme; + +void LanguageMenu::onRedraw(draw_mode_t) { + CommandProcessor cmd; + cmd.cmd(CLEAR_COLOR_RGB(Theme::bg_color)) + .cmd(CLEAR(true,true,true)) + .colors(normal_btn) + .font(Theme::font_medium); + + #define GRID_ROWS 8 + #define GRID_COLS 1 + + for (uint8_t i = 0; i < get_language_count(); i++) + cmd.tag(1 + i).button(BTN_POS(1,i + 1), BTN_SIZE(1,1), get_text(i, String_Indices::LANGUAGE)); +} + +bool LanguageMenu::onTouchEnd(uint8_t tag) { + const uint8_t lang = tag - 1; + if (tag != 0) { + set_language(lang); + GOTO_SCREEN(StatusScreen); + return true; + } + return false; +} + +#endif // LULZBOT_TOUCH_UI diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp index 8b7137cb8..2c08fb24c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/linear_advance_screen.cpp @@ -33,16 +33,16 @@ using namespace Theme; void LinearAdvanceScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(2, DEFAULT_LOWEST).color(e_axis); - w.heading( PSTR("Linear Advance:")); + w.heading( GET_TEXTF(LINEAR_ADVANCE)); #if EXTRUDERS == 1 - w.adjuster( 2, PSTR("K:"), getLinearAdvance_mm_mm_s(E0) ); + w.adjuster( 2, GET_TEXTF(LINEAR_ADVANCE_K), getLinearAdvance_mm_mm_s(E0) ); #else - w.adjuster( 2, PSTR("K E1:"), getLinearAdvance_mm_mm_s(E0) ); - w.adjuster( 4, PSTR("K E2:"), getLinearAdvance_mm_mm_s(E1) ); + w.adjuster( 2, GET_TEXTF(LINEAR_ADVANCE_K1), getLinearAdvance_mm_mm_s(E0) ); + w.adjuster( 4, GET_TEXTF(LINEAR_ADVANCE_K2), getLinearAdvance_mm_mm_s(E1) ); #if EXTRUDERS > 2 - w.adjuster( 6, PSTR("K E3:"), getLinearAdvance_mm_mm_s(E2) ); + w.adjuster( 6, GET_TEXTF(LINEAR_ADVANCE_K3), getLinearAdvance_mm_mm_s(E2) ); #if EXTRUDERS > 3 - w.adjuster( 8, PSTR("K E4:"), getLinearAdvance_mm_mm_s(E3) ); + w.adjuster( 8, GET_TEXTF(LINEAR_ADVANCE_K4), getLinearAdvance_mm_mm_s(E3) ); #endif #endif #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp index 99b78933a..ae683ced5 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/lock_screen.cpp @@ -65,16 +65,16 @@ void LockScreen::onRedraw(draw_mode_t what) { progmem_str message; switch (message_style()) { case 'w': - message = F("Wrong passcode!"); + message = GET_TEXTF(PASSCODE_REJECTED); break; case 'g': - message = F("Passcode accepted!"); + message = GET_TEXTF(PASSCODE_ACCEPTED); break; default: if (passcode == 0) { - message = F("Select Passcode:"); + message = GET_TEXTF(PASSCODE_SELECT); } else { - message = F("Enter Passcode:"); + message = GET_TEXTF(PASSCODE_REQUEST); } } message_style() = '\0'; // Terminate the string. diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp index 9c6a3f4c2..827e3b5a1 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/main_menu.cpp @@ -43,53 +43,53 @@ void MainMenu::onRedraw(draw_mode_t what) { #ifdef TOUCH_UI_PORTRAIT #define GRID_ROWS 8 #define GRID_COLS 2 - .tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), F("Auto Home")) + .tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(AUTO_HOME)) #ifdef NOZZLE_CLEAN_FEATURE .enabled(1) #else .enabled(0) #endif - .tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), F("Clean Nozzle")) - .tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), F("Move Axis")) - .tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), F("Motors Off")) - .tag(6).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Temperature")) - .tag(7).button( BTN_POS(1,4), BTN_SIZE(2,1), F("Change Filament")) - .tag(8).button( BTN_POS(1,5), BTN_SIZE(2,1), F("Advanced Settings")) + .tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(CLEAN_NOZZLE)) + .tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(MOVE_AXIS)) + .tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(MOTORS_OFF)) + .tag(6).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(TEMPERATURE)) + .tag(7).button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(CHANGE_FILAMENT)) + .tag(8).button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(ADVANCED_SETTINGS)) #ifdef PRINTCOUNTER .enabled(1) #else .enabled(0) #endif - .tag(9).button( BTN_POS(1,7), BTN_SIZE(2,1), F("Printer Statistics")) - .tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), F("About Printer")) + .tag(9).button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(PRINTER_STATISTICS)) + .tag(10).button( BTN_POS(1,6), BTN_SIZE(2,1), GET_TEXTF(ABOUT_PRINTER)) .colors(action_btn) - .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), F("Back")); + .tag(1).button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS #else #define GRID_ROWS 5 #define GRID_COLS 2 - .tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), F("Auto Home")) + .tag(2).button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXT(AUTO_HOME)) #if ENABLED(NOZZLE_CLEAN_FEATURE) .enabled(1) #else .enabled(0) #endif - .tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), F("Clean Nozzle")) - .tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), F("Move Axis")) - .tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), F("Motors Off")) - .tag(6).button( BTN_POS(1,3), BTN_SIZE(1,1), F("Temperature")) - .tag(7).button( BTN_POS(2,3), BTN_SIZE(1,1), F("Change Filament")) - .tag(8).button( BTN_POS(1,4), BTN_SIZE(1,1), F("Advanced Settings")) + .tag(3).button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(CLEAN_NOZZLE)) + .tag(4).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(MOVE_AXIS)) + .tag(5).button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(MOTORS_OFF)) + .tag(6).button( BTN_POS(1,3), BTN_SIZE(1,1), GET_TEXTF(TEMPERATURE)) + .tag(7).button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(CHANGE_FILAMENT)) + .tag(8).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(ADVANCED_SETTINGS)) #ifdef PRINTCOUNTER .enabled(1) #else .enabled(0) #endif - .tag(9).button( BTN_POS(2,4), BTN_SIZE(1,1), F("Printer Statistics")) - .tag(10).button( BTN_POS(1,5), BTN_SIZE(1,1), F("About Printer")) + .tag(9).button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(PRINTER_STATISTICS)) + .tag(10).button( BTN_POS(1,5), BTN_SIZE(1,1), GET_TEXTF(ABOUT_PRINTER)) .colors(action_btn) - .tag(1).button( BTN_POS(2,5), BTN_SIZE(1,1), F("Back")); + .tag(1).button( BTN_POS(2,5), BTN_SIZE(1,1), GET_TEXTF(BACK)); #undef GRID_COLS #undef GRID_ROWS #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp index ccc58b5a3..80e7f59cd 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_acceleration_screen.cpp @@ -33,21 +33,21 @@ using namespace Theme; void MaxAccelerationScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0); - w.units(PSTR("mm/s^2")); - w.heading( PSTR("Maximum Acceleration")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisMaxAcceleration_mm_s2(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisMaxAcceleration_mm_s2(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisMaxAcceleration_mm_s2(Z) ); + w.units(GET_TEXTF(UNITS_MM_S2)); + w.heading(GET_TEXTF(ACCELERATION)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(AMAX_X), getAxisMaxAcceleration_mm_s2(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(AMAX_Y), getAxisMaxAcceleration_mm_s2(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(AMAX_Z), getAxisMaxAcceleration_mm_s2(Z) ); #if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS) - w.color(e_axis).adjuster( 8, PSTR("E:"), getAxisMaxAcceleration_mm_s2(E0) ); + w.color(e_axis).adjuster( 8, GET_TEXTF(AMAX_E1), getAxisMaxAcceleration_mm_s2(E0) ); #elif EXTRUDERS > 1 - w.color(e_axis).adjuster( 8, PSTR("E1:"), getAxisMaxAcceleration_mm_s2(E0) ); - w.color(e_axis).adjuster(10, PSTR("E2:"), getAxisMaxAcceleration_mm_s2(E1) ); + w.color(e_axis).adjuster( 8, GET_TEXTF(AMAX_E1), getAxisMaxAcceleration_mm_s2(E0) ); + w.color(e_axis).adjuster(10, GET_TEXTF(AMAX_E2), getAxisMaxAcceleration_mm_s2(E1) ); #if EXTRUDERS > 2 - w.color(e_axis).adjuster(12, PSTR("E3:"), getAxisMaxAcceleration_mm_s2(E2) ); + w.color(e_axis).adjuster(12, GET_TEXTF(AMAX_E3), getAxisMaxAcceleration_mm_s2(E2) ); #endif #if EXTRUDERS > 3 - w.color(e_axis).adjuster(14, PSTR("E4:"), getAxisMaxAcceleration_mm_s2(E3) ); + w.color(e_axis).adjuster(14, GET_TEXTF(AMAX_E4), getAxisMaxAcceleration_mm_s2(E3) ); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp index e147bfe4e..719e5a308 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/max_velocity_screen.cpp @@ -34,21 +34,21 @@ void MaxVelocityScreen::onRedraw(draw_mode_t what) { using namespace ExtUI; widgets_t w(what); w.precision(0); - w.units(PSTR("mm/s")); - w.heading( PSTR("Maximum Velocity")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisMaxFeedrate_mm_s(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisMaxFeedrate_mm_s(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisMaxFeedrate_mm_s(Z) ); + w.units(GET_TEXTF(UNITS_MM_S)); + w.heading( GET_TEXTF(VELOCITY)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(VMAX_X), getAxisMaxFeedrate_mm_s(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(VMAX_Y), getAxisMaxFeedrate_mm_s(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(VMAX_Z), getAxisMaxFeedrate_mm_s(Z) ); #if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS) - w.color(e_axis) .adjuster( 8, PSTR("E:"), getAxisMaxFeedrate_mm_s(E0) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(VMAX_E1), getAxisMaxFeedrate_mm_s(E0) ); #elif EXTRUDERS > 1 - w.color(e_axis) .adjuster( 8, PSTR("E1:"), getAxisMaxFeedrate_mm_s(E0) ); - w.color(e_axis) .adjuster( 10, PSTR("E2:"), getAxisMaxFeedrate_mm_s(E1) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(VMAX_E1), getAxisMaxFeedrate_mm_s(E0) ); + w.color(e_axis) .adjuster( 10, GET_TEXTF(VMAX_E2), getAxisMaxFeedrate_mm_s(E1) ); #if EXTRUDERS > 2 - w.color(e_axis).adjuster( 12, PSTR("E3:"), getAxisMaxFeedrate_mm_s(E2) ); + w.color(e_axis).adjuster( 12, GET_TEXTF(VMAX_E3), getAxisMaxFeedrate_mm_s(E2) ); #endif #if EXTRUDERS > 3 - w.color(e_axis).adjuster( 14, PSTR("E4:"), getAxisMaxFeedrate_mm_s(E3) ); + w.color(e_axis).adjuster( 14, GET_TEXTF(VMAX_E4), getAxisMaxFeedrate_mm_s(E3) ); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp index 5a5f70576..a2edde8b3 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/move_axis_screen.cpp @@ -45,23 +45,23 @@ void MoveAxisScreen::onEntry() { void MoveAxisScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(1); - w.units(PSTR("mm")); - w.heading( PSTR("Move Axis")); + w.units(GET_TEXTF(UNITS_MM)); + w.heading( GET_TEXTF(MOVE_AXIS)); w.home_buttons(20); - w.color(Theme::x_axis ) .adjuster( 2, PSTR("X:"), getAxisPosition_mm(X), canMove(X)); - w.color(Theme::y_axis ) .adjuster( 4, PSTR("Y:"), getAxisPosition_mm(Y), canMove(Y)); - w.color(Theme::z_axis ) .adjuster( 6, PSTR("Z:"), getAxisPosition_mm(Z), canMove(Z)); + w.color(Theme::x_axis ) .adjuster( 2, GET_TEXTF(AXIS_X), getAxisPosition_mm(X), canMove(X)); + w.color(Theme::y_axis ) .adjuster( 4, GET_TEXTF(AXIS_Y), getAxisPosition_mm(Y), canMove(Y)); + w.color(Theme::z_axis ) .adjuster( 6, GET_TEXTF(AXIS_Z), getAxisPosition_mm(Z), canMove(Z)); #if EXTRUDERS == 1 - w.color(Theme::e_axis) .adjuster( 8, PSTR("E:"), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); + w.color(Theme::e_axis) .adjuster( 8, GET_TEXTF(AXIS_E), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); #elif EXTRUDERS > 1 - w.color(Theme::e_axis) .adjuster( 8, PSTR("E1:"), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); - w.color(Theme::e_axis) .adjuster( 10, PSTR("E2:"), screen_data.MoveAxisScreen.e_rel[1], canMove(E1)); + w.color(Theme::e_axis) .adjuster( 8, GET_TEXTF(AXIS_E1), screen_data.MoveAxisScreen.e_rel[0], canMove(E0)); + w.color(Theme::e_axis) .adjuster( 10, GET_TEXTF(AXIS_E2), screen_data.MoveAxisScreen.e_rel[1], canMove(E1)); #if EXTRUDERS > 2 - w.color(Theme::e_axis) .adjuster( 12, PSTR("E3:"), screen_data.MoveAxisScreen.e_rel[2], canMove(E2)); + w.color(Theme::e_axis) .adjuster( 12, GET_TEXTF(AXIS_E3), screen_data.MoveAxisScreen.e_rel[2], canMove(E2)); #endif #if EXTRUDERS > 3 - w.color(Theme::e_axis) .adjuster( 14, PSTR("E4:"), screen_data.MoveAxisScreen.e_rel[3], canMove(E3)); + w.color(Theme::e_axis) .adjuster( 14, GET_TEXTF(AXIS_E4), screen_data.MoveAxisScreen.e_rel[3], canMove(E3)); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp index 558c1acfc..e8835ba85 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nozzle_offsets_screen.cpp @@ -39,14 +39,14 @@ void NozzleOffsetScreen::onEntry() { void NozzleOffsetScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(2).units(PSTR("mm")); + w.precision(2).units(GET_TEXTF(UNITS_MM)); - w.heading( PSTR("Nozzle Offset")); - w.color(Theme::x_axis).adjuster(2, PSTR("X:"), ExtUI::getNozzleOffset_mm(X, E1)); - w.color(Theme::y_axis).adjuster(4, PSTR("Y:"), ExtUI::getNozzleOffset_mm(Y, E1)); - w.color(Theme::z_axis).adjuster(6, PSTR("Z:"), ExtUI::getNozzleOffset_mm(Z, E1)); + w.heading( GET_TEXTF(TOOL_OFFSETS)); + w.color(Theme::x_axis).adjuster(2, GET_TEXTF(AXIS_X), ExtUI::getNozzleOffset_mm(X, E1)); + w.color(Theme::y_axis).adjuster(4, GET_TEXTF(AXIS_Y), ExtUI::getNozzleOffset_mm(Y, E1)); + w.color(Theme::z_axis).adjuster(6, GET_TEXTF(AXIS_Z), ExtUI::getNozzleOffset_mm(Z, E1)); #if ENABLED(CALIBRATION_GCODE) - w.button(8, PSTR("Measure automatically"), !isPrinting()); + w.button(8, GET_TEXTF(MEASURE_AUTOMATICALLY), !isPrinting()); #endif w.increments(); } diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp index b956c37a9..2fe4eb38a 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/nudge_nozzle_screen.cpp @@ -44,41 +44,42 @@ void NudgeNozzleScreen::onEntry() { void NudgeNozzleScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(PSTR("mm")); + w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(GET_TEXTF(UNITS_MM)); - w.heading( PSTR("Nudge Nozzle")); + w.heading( GET_TEXTF(NUDGE_NOZZLE)); #if ENABLED(BABYSTEP_XY) - w.color(x_axis).adjuster(2, PSTR("X:"), screen_data.NudgeNozzleScreen.rel[0] / getAxisSteps_per_mm(X)); - w.color(y_axis).adjuster(4, PSTR("Y:"), screen_data.NudgeNozzleScreen.rel[1] / getAxisSteps_per_mm(Y)); + w.color(x_axis).adjuster(2, GET_TEXTF(AXIS_X), screen_data.NudgeNozzleScreen.rel[0] / getAxisSteps_per_mm(X)); + w.color(y_axis).adjuster(4, GET_TEXTF(AXIS_Y), screen_data.NudgeNozzleScreen.rel[1] / getAxisSteps_per_mm(Y)); #endif - w.color(z_axis).adjuster(6, PSTR("Z:"), screen_data.NudgeNozzleScreen.rel[2] / getAxisSteps_per_mm(Z)); + w.color(z_axis).adjuster(6, GET_TEXTF(AXIS_Z), screen_data.NudgeNozzleScreen.rel[2] / getAxisSteps_per_mm(Z)); w.increments(); #if EXTRUDERS > 1 - w.toggle (8, PSTR("Adjust Both Nozzles:"), PSTR("no\xFFyes"), screen_data.NudgeNozzleScreen.link_nozzles, PSTR("Yes\nNo")); + w.toggle (8, GET_TEXTF(ADJUST_BOTH_NOZZLES), screen_data.NudgeNozzleScreen.link_nozzles); #endif #if EXTRUDERS > 1 || HAS_BED_PROBE - w.toggle (9, PSTR("Show Offsets:"), PSTR("no\xFFyes"), screen_data.NudgeNozzleScreen.show_offsets, PSTR("Yes\nNo")); + w.toggle (9, GET_TEXTF(SHOW_OFFSETS), screen_data.NudgeNozzleScreen.show_offsets); if (screen_data.NudgeNozzleScreen.show_offsets) { - char str[19], num1[7]; + char str[19]; w.draw_mode(BOTH); w.color(other); #if HAS_BED_PROBE - dtostrf(getZOffset_mm(), 4, 2, num1); - sprintf_P(str, PSTR("%s mm"), num1); - w.text_field (0, PSTR("Z Offset"), str); + dtostrf(getZOffset_mm(), 4, 2, str); + strcat(str, " "); + strcat_P(str, GET_TEXT(UNITS_MM)); + w.text_field (0, GET_TEXTF(ZPROBE_ZOFFSET), str); #endif #if EXTRUDERS > 1 - char num2[7], num3[7]; + char num1[7], num2[7], num3[7]; dtostrf(getNozzleOffset_mm(X, E1), 4, 2, num1); dtostrf(getNozzleOffset_mm(Y, E1), 4, 2, num2); dtostrf(getNozzleOffset_mm(Z, E1), 4, 2, num3); - sprintf_P(str, PSTR("%s; %s; %s mm"), num1, num2, num3); - w.text_field (0, PSTR("Noz. Offset"), str); + sprintf_P(str, PSTR("%s; %s; %s %S"), num1, num2, num3, GET_TEXT(UNITS_MM)); + w.text_field (0, GET_TEXTF(TOOL_OFFSETS), str); #endif } #endif diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp index a93727cd8..717fea9ca 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/restore_failsafe_dialog_box.cpp @@ -29,15 +29,15 @@ using namespace ExtUI; void RestoreFailsafeDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("Are you sure? Customizations will be lost.")); + drawMessage(GET_TEXTF(EEPROM_RESET_WARNING)); drawYesNoButtons(); } bool RestoreFailsafeDialogBox::onTouchEnd(uint8_t tag) { switch (tag) { case 1: - ExtUI::injectCommands_P(PSTR("M502\nM117 Factory settings restored.")); - AlertDialogBox::show(F("Factory settings restored.")); + ExtUI::injectCommands_P(PSTR("M502")); + AlertDialogBox::show(GET_TEXTF(EEPROM_RESET)); // Remove RestoreFailsafeDialogBox from the stack // so the alert box doesn't return to it. current_screen.forget(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp index 8a58af119..b29c171cf 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/save_settings_dialog_box.cpp @@ -31,7 +31,7 @@ using namespace ExtUI; bool SaveSettingsDialogBox::needs_save = false; void SaveSettingsDialogBox::onRedraw(draw_mode_t) { - drawMessage(F("Do you wish to save these settings as defaults?")); + drawMessage(GET_TEXTF(EEPROM_SAVE_PROMPT)); drawYesNoButtons(); } @@ -40,7 +40,7 @@ bool SaveSettingsDialogBox::onTouchEnd(uint8_t tag) { switch (tag) { case 1: injectCommands_P(PSTR("M500")); - AlertDialogBox::show(F("Settings saved!")); + AlertDialogBox::show(GET_TEXTF(EEPROM_SAVED)); // Remove SaveSettingsDialogBox from the stack // so the alert box doesn't return to me. current_screen.forget(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp index c4f456c3e..eb8644d5c 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.cpp @@ -31,6 +31,9 @@ screen_data_t screen_data; SCREEN_TABLE { DECL_SCREEN(BootScreen), + #if ENABLED(TOUCH_UI_LANGUAGE_MENU) + DECL_SCREEN(LanguageMenu), + #endif DECL_SCREEN(TouchCalibrationScreen), DECL_SCREEN(StatusScreen), DECL_SCREEN(MainMenu), diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.h b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.h index 6d50509f6..f7552d200 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.h +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/screens.h @@ -23,6 +23,7 @@ #pragma once #include "../ftdi_eve_lib/ftdi_eve_lib.h" +#include "../language/languages.h" #include "../theme/theme.h" #define ROUND(val) uint16_t((val)+0.5) @@ -219,6 +220,7 @@ class StatusScreen : public BaseScreen, public CachedScreen 1 - w.color(e_axis).adjuster( 8, PSTR("E1:"), getAxisCurrent_mA(E0) ); - w.color(e_axis).adjuster(10, PSTR("E2:"), getAxisCurrent_mA(E1) ); + w.color(e_axis).adjuster( 8, GET_TEXTF(AXIS_E1), getAxisCurrent_mA(E0) ); + w.color(e_axis).adjuster(10, GET_TEXTF(AXIS_E2), getAxisCurrent_mA(E1) ); #if EXTRUDERS > 2 - w.color(e_axis).adjuster(12, PSTR("E3:"), getAxisCurrent_mA(E2) ); + w.color(e_axis).adjuster(12, GET_TEXTF(AXIS_E3), getAxisCurrent_mA(E2) ); #endif #if EXTRUDERS > 3 - w.color(e_axis).adjuster(14, PSTR("E4:"), getAxisCurrent_mA(E3) ); + w.color(e_axis).adjuster(14, GET_TEXTF(AXIS_E4), getAxisCurrent_mA(E3) ); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp index f368b3b42..3f69e2555 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/steps_screen.cpp @@ -33,21 +33,21 @@ using namespace Theme; void StepsScreen::onRedraw(draw_mode_t what) { widgets_t w(what); w.precision(0); - w.units(PSTR("st/mm")); - w.heading( PSTR("Steps/mm")); - w.color(x_axis) .adjuster( 2, PSTR("X:"), getAxisSteps_per_mm(X) ); - w.color(y_axis) .adjuster( 4, PSTR("Y:"), getAxisSteps_per_mm(Y) ); - w.color(z_axis) .adjuster( 6, PSTR("Z:"), getAxisSteps_per_mm(Z) ); + w.units(GET_TEXTF(UNITS_STEP_MM)); + w.heading( GET_TEXTF(STEPS_PER_MM)); + w.color(x_axis) .adjuster( 2, GET_TEXTF(AXIS_X), getAxisSteps_per_mm(X) ); + w.color(y_axis) .adjuster( 4, GET_TEXTF(AXIS_Y), getAxisSteps_per_mm(Y) ); + w.color(z_axis) .adjuster( 6, GET_TEXTF(AXIS_Z), getAxisSteps_per_mm(Z) ); #if EXTRUDERS == 1 || DISABLED(DISTINCT_E_FACTORS) - w.color(e_axis) .adjuster( 8, PSTR("E:"), getAxisSteps_per_mm(E0) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(AXIS_E), getAxisSteps_per_mm(E0) ); #elif EXTRUDERS > 1 - w.color(e_axis) .adjuster( 8, PSTR("E1:"), getAxisSteps_per_mm(E0) ); - w.color(e_axis) .adjuster(10, PSTR("E2:"), getAxisSteps_per_mm(E1) ); + w.color(e_axis) .adjuster( 8, GET_TEXTF(AXIS_E1), getAxisSteps_per_mm(E0) ); + w.color(e_axis) .adjuster(10, GET_TEXTF(AXIS_E2), getAxisSteps_per_mm(E1) ); #if EXTRUDERS > 2 - w.color(e_axis) .adjuster(12, PSTR("E3:"), getAxisSteps_per_mm(E2) ); + w.color(e_axis) .adjuster(12, GET_TEXTF(AXIS_E3), getAxisSteps_per_mm(E2) ); #endif #if EXTRUDERS > 3 - w.color(e_axis) .adjuster(14, PSTR("E4:"), getAxisSteps_per_mm(E3) ); + w.color(e_axis) .adjuster(14, GET_TEXTF(AXIS_E4), getAxisSteps_per_mm(E3) ); #endif #endif w.increments(); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp index 841e1d940..aeaecb409 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/temperature_screen.cpp @@ -32,36 +32,29 @@ using namespace ExtUI; void TemperatureScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(0).color(temp).units( - PSTR( - #if defined(TOUCH_UI_USE_UTF8) && defined(TOUCH_UI_UTF8_WESTERN_CHARSET) - u8"°C" - #else - "C" - #endif - )); - w.heading( PSTR("Temperature:")); - w.button(30, PSTR("Cooldown (All Off)")); + w.precision(0).color(temp).units(GET_TEXTF(UNITS_C)); + w.heading(GET_TEXTF(TEMPERATURE)); + w.button(30, GET_TEXTF(COOLDOWN)); #ifndef LULZBOT_DISABLE_TOOLHEAD_HEATER #if HOTENDS == 1 - w.adjuster( 2, PSTR("Hot End:"), getTargetTemp_celsius(E0)); + w.adjuster( 2, GET_TEXTF(HOTEND), getTargetTemp_celsius(E0)); #else - w.adjuster( 2, PSTR("Hot End 1:"), getTargetTemp_celsius(E0)); - w.adjuster( 4, PSTR("Hot End 2:"), getTargetTemp_celsius(E1)); + w.adjuster( 2, GET_TEXTF(HOTEND1), getTargetTemp_celsius(E0)); + w.adjuster( 4, GET_TEXTF(HOTEND2), getTargetTemp_celsius(E1)); #if HOTENDS > 2 - w.adjuster( 6, PSTR("Hot End 3:"), getTargetTemp_celsius(E2)); + w.adjuster( 6, GET_TEXTF(HOTEND3), getTargetTemp_celsius(E2)); #endif #if HOTENDS > 3 - w.adjuster( 8, PSTR("Hot End 4:"), getTargetTemp_celsius(E3)); + w.adjuster( 8, GET_TEXTF(HOTEND4), getTargetTemp_celsius(E3)); #endif #endif #endif #if HAS_HEATED_BED - w.adjuster( 20, PSTR("Bed:"), getTargetTemp_celsius(BED)); + w.adjuster( 20, GET_TEXTF(BED), getTargetTemp_celsius(BED)); #endif #if FAN_COUNT > 0 - w.color(fan_speed).units(PSTR("%")); - w.adjuster( 10, PSTR("Fan Speed:"), getTargetFan_percent(FAN0)); + w.color(fan_speed).units(GET_TEXTF(UNITS_PERCENT)); + w.adjuster( 10, GET_TEXTF(FAN_SPEED), getTargetFan_percent(FAN0)); #endif w.increments(); } @@ -88,8 +81,8 @@ bool TemperatureScreen::onTouchHeld(uint8_t tag) { case 9: UI_INCREMENT(TargetTemp_celsius, E3); break; #endif #if FAN_COUNT > 0 - case 10: UI_DECREMENT(TargetFan_percent, FAN0); break; - case 11: UI_INCREMENT(TargetFan_percent, FAN0); break; + case 10: UI_DECREMENT(TargetFan_percent, FAN0); break; + case 11: UI_INCREMENT(TargetFan_percent, FAN0); break; #endif case 30: setTargetTemp_celsius(0,E0); diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp index 0adf2885b..2e513d320 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/touch_calibration_screen.cpp @@ -44,22 +44,9 @@ void TouchCalibrationScreen::onEntry() { cmd.cmd(CMD_DLSTART) .cmd(CLEAR_COLOR_RGB(bg_color)) .cmd(CLEAR(true,true,true)) - .cmd(COLOR_RGB(bg_text_enabled)) - #ifdef TOUCH_UI_PORTRAIT - .font(font_large) - .text ( BTN_POS(1,8), BTN_SIZE(4,1), F("Release to begin")) - .text ( BTN_POS(1,9), BTN_SIZE(4,1), F("screen calibration")) - #else - .font( - #ifdef TOUCH_UI_800x480 - font_large - #else - font_medium - #endif - ) - .text ( BTN_POS(1,1), BTN_SIZE(4,16), F("Release to calibrate")) - #endif - .cmd(DL::DL_DISPLAY) + .cmd(COLOR_RGB(bg_text_enabled)); + draw_text_box(cmd, BTN_POS(1,1), BTN_SIZE(4,16), GET_TEXTF(TOUCH_CALIBRATION_START), OPT_CENTER, font_large); + cmd.cmd(DL::DL_DISPLAY) .cmd(CMD_SWAP) .execute(); @@ -88,23 +75,10 @@ void TouchCalibrationScreen::onRedraw(draw_mode_t) { CommandProcessor cmd; cmd.cmd(CLEAR_COLOR_RGB(bg_color)) .cmd(CLEAR(true,true,true)) - .cmd(COLOR_RGB(bg_text_enabled)) + .cmd(COLOR_RGB(bg_text_enabled)); - #ifdef TOUCH_UI_PORTRAIT - .font(font_large) - .text ( BTN_POS(1,8), BTN_SIZE(4,1), F("Touch the dots")) - .text ( BTN_POS(1,9), BTN_SIZE(4,1), F("to calibrate")) - #else - .font( - #ifdef TOUCH_UI_800x480 - font_large - #else - font_medium - #endif - ) - .text ( BTN_POS(1,1), BTN_SIZE(4,16), F("Touch the dots to calibrate")) - #endif - .cmd(CMD_CALIBRATE); + draw_text_box(cmd, BTN_POS(1,1), BTN_SIZE(4,16), GET_TEXTF(TOUCH_CALIBRATION_PROMPT), OPT_CENTER, font_large); + cmd.cmd(CMD_CALIBRATE); } void TouchCalibrationScreen::onIdle() { diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp index 08f1d67aa..416a0146f 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/tune_menu.cpp @@ -52,79 +52,79 @@ void TuneMenu::onRedraw(draw_mode_t what) { cmd.colors(normal_btn) .font(font_medium) #ifdef TOUCH_UI_PORTRAIT - .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(2,1), F("Temperature")) - .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(2,1), F("Change Filament")) - #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) + .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(2,1), GET_TEXTF(TEMPERATURE)) + .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(2,1), GET_TEXTF(CHANGE_FILAMENT)) + #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(9).button( BTN_POS(1,3), BTN_SIZE(2,1), F("Filament Options")) + .tag(9).button( BTN_POS(1,3), BTN_SIZE(2,1), GET_TEXTF(FILAMENT)) #if ENABLED(BABYSTEPPING) - .tag(4).enabled(1) .button( BTN_POS(1,4), BTN_SIZE(2,1), F("Nudge Nozzle")) + .tag(4).enabled(1) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(NUDGE_NOZZLE)) #else #if HAS_BED_PROBE .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), F("Adjust Z-Offset")) + .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(ZPROBE_ZOFFSET)) #endif - .tag(5).enabled(1) .button( BTN_POS(1,5), BTN_SIZE(2,1), F("Print Speed")) + .tag(5).enabled(1) .button( BTN_POS(1,5), BTN_SIZE(2,1), GET_TEXTF(PRINT_SPEED)) .tag(isPrintingFromMediaPaused() ? 7 : 6) #if ENABLED(SDSUPPORT) .enabled(isPrintingFromMedia()) #else .enabled(0) #endif - .button( BTN_POS(1,6), BTN_SIZE(2,1), isPrintingFromMediaPaused() ? F("Resume Print") : F("Pause Print")) + .button( BTN_POS(1,6), BTN_SIZE(2,1), isPrintingFromMediaPaused() ? GET_TEXTF(RESUME_PRINT) : GET_TEXTF(PAUSE_PRINT)) #if ENABLED(SDSUPPORT) .enabled(isPrintingFromMedia()) #else .enabled(0) #endif - .tag(8) .button( BTN_POS(1,7), BTN_SIZE(2,1), F("Cancel Print")) + .tag(8) .button( BTN_POS(1,7), BTN_SIZE(2,1), GET_TEXTF(STOP_PRINT)) .tag(1).colors(action_btn) - .button( BTN_POS(1,8), BTN_SIZE(2,1), F("Back")); + .button( BTN_POS(1,8), BTN_SIZE(2,1), GET_TEXTF(BACK)); #else // TOUCH_UI_PORTRAIT - .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(1,1), F("Temperature")) - .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(1,1), F("Change Filament")) + .tag(2).enabled(1) .button( BTN_POS(1,1), BTN_SIZE(1,1), GET_TEXTF(TEMPERATURE)) + .tag(3).enabled(!isPrinting()).button( BTN_POS(1,2), BTN_SIZE(1,1), GET_TEXTF(CHANGE_FILAMENT)) #if ENABLED(BABYSTEPPING) .enabled(1) #else .enabled(0) #endif #if ENABLED(BABYSTEPPING) - .tag(4) .button( BTN_POS(2,1), BTN_SIZE(1,1), F("Nudge Nozzle")) + .tag(4) .button( BTN_POS(2,1), BTN_SIZE(1,1), GET_TEXTF(NUDGE_NOZZLE)) #else #if HAS_BED_PROBE .enabled(1) #else .enabled(0) #endif - .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), F("Adjust Z-Offset")) + .tag(4) .button( BTN_POS(1,4), BTN_SIZE(2,1), GET_TEXTF(ZPROBE_ZOFFSET)) #endif - .tag(5).enabled(1) .button( BTN_POS(2,2), BTN_SIZE(1,1), F("Print Speed")) + .tag(5).enabled(1) .button( BTN_POS(2,2), BTN_SIZE(1,1), GET_TEXTF(PRINT_SPEED)) .tag(isPrintingFromMediaPaused() ? 7 : 6) #if ENABLED(SDSUPPORT) .enabled(isPrintingFromMedia()) #else .enabled(0) #endif - .button( BTN_POS(1,3), BTN_SIZE(1,1), isPrintingFromMediaPaused() ? F("Resume Print") : F("Pause Print")) + .button( BTN_POS(1,3), BTN_SIZE(1,1), isPrintingFromMediaPaused() ? GET_TEXTF(RESUME_PRINT) : GET_TEXTF(PAUSE_PRINT)) #if ENABLED(SDSUPPORT) .enabled(isPrintingFromMedia()) #else .enabled(0) #endif - .tag(8). button( BTN_POS(2,3), BTN_SIZE(1,1), F("Cancel Print")) - #if EITHER(LIN_ADVANCE, FILAMENT_RUNOUT_SENSOR) + .tag(8). button( BTN_POS(2,3), BTN_SIZE(1,1), GET_TEXTF(STOP_PRINT)) + #if ENABLED(LIN_ADVANCE) || ENABLED(FILAMENT_RUNOUT_SENSOR) .enabled(1) #else .enabled(0) #endif - .tag(9).button( BTN_POS(1,4), BTN_SIZE(1,1), F("Filament Options")) - .tag(1).colors(action_btn) .button( BTN_POS(2,4), BTN_SIZE(1,1), F("Back")); + .tag(9).button( BTN_POS(1,4), BTN_SIZE(1,1), GET_TEXTF(FILAMENT)) + .tag(1).colors(action_btn) .button( BTN_POS(2,4), BTN_SIZE(1,1), GET_TEXTF(BACK)); #endif } #undef GRID_COLS diff --git a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp index 5b26bb539..32a54c09b 100644 --- a/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp +++ b/Marlin/src/lcd/extensible_ui/lib/lulzbot/screens/z_offset_screen.cpp @@ -32,10 +32,10 @@ using namespace Theme; void ZOffsetScreen::onRedraw(draw_mode_t what) { widgets_t w(what); - w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(PSTR("mm")); + w.precision(2, BaseNumericAdjustmentScreen::DEFAULT_MIDRANGE).units(GET_TEXTF(UNITS_MM)); - w.heading( PSTR("Z Offset")); - w.color(z_axis).adjuster(4, PSTR("Z Offset:"), getZOffset_mm()); + w.heading( GET_TEXTF(ZPROBE_ZOFFSET)); + w.color(z_axis).adjuster(4, GET_TEXTF(ZPROBE_ZOFFSET), getZOffset_mm()); w.increments(); } diff --git a/config/default/Configuration_adv.h b/config/default/Configuration_adv.h index 0ba59bdb6..35442401b 100644 --- a/config/default/Configuration_adv.h +++ b/config/default/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/3DFabXYZ/Migbot/Configuration_adv.h b/config/examples/3DFabXYZ/Migbot/Configuration_adv.h index 627747753..3922a101c 100644 --- a/config/examples/3DFabXYZ/Migbot/Configuration_adv.h +++ b/config/examples/3DFabXYZ/Migbot/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/ADIMLab/Gantry v1/Configuration_adv.h b/config/examples/ADIMLab/Gantry v1/Configuration_adv.h index aa729faaa..6c946432c 100644 --- a/config/examples/ADIMLab/Gantry v1/Configuration_adv.h +++ b/config/examples/ADIMLab/Gantry v1/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/ADIMLab/Gantry v2/Configuration_adv.h b/config/examples/ADIMLab/Gantry v2/Configuration_adv.h index 14481395b..ede80f46e 100644 --- a/config/examples/ADIMLab/Gantry v2/Configuration_adv.h +++ b/config/examples/ADIMLab/Gantry v2/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/AlephObjects/TAZ4/Configuration_adv.h b/config/examples/AlephObjects/TAZ4/Configuration_adv.h index 01709226b..0035ed653 100644 --- a/config/examples/AlephObjects/TAZ4/Configuration_adv.h +++ b/config/examples/AlephObjects/TAZ4/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Alfawise/U20-bltouch/Configuration_adv.h b/config/examples/Alfawise/U20-bltouch/Configuration_adv.h index bdf8bf55c..c6d23307c 100644 --- a/config/examples/Alfawise/U20-bltouch/Configuration_adv.h +++ b/config/examples/Alfawise/U20-bltouch/Configuration_adv.h @@ -1215,6 +1215,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Alfawise/U20/Configuration_adv.h b/config/examples/Alfawise/U20/Configuration_adv.h index cf47d26a8..13988ef7d 100644 --- a/config/examples/Alfawise/U20/Configuration_adv.h +++ b/config/examples/Alfawise/U20/Configuration_adv.h @@ -1214,6 +1214,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/AliExpress/UM2pExt/Configuration_adv.h b/config/examples/AliExpress/UM2pExt/Configuration_adv.h index fd301b694..6ab3085f0 100644 --- a/config/examples/AliExpress/UM2pExt/Configuration_adv.h +++ b/config/examples/AliExpress/UM2pExt/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Anet/A2/Configuration_adv.h b/config/examples/Anet/A2/Configuration_adv.h index eff097caa..6e09e109e 100644 --- a/config/examples/Anet/A2/Configuration_adv.h +++ b/config/examples/Anet/A2/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Anet/A2plus/Configuration_adv.h b/config/examples/Anet/A2plus/Configuration_adv.h index eff097caa..6e09e109e 100644 --- a/config/examples/Anet/A2plus/Configuration_adv.h +++ b/config/examples/Anet/A2plus/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Anet/A6/Configuration_adv.h b/config/examples/Anet/A6/Configuration_adv.h index 84d89395c..837ec8953 100644 --- a/config/examples/Anet/A6/Configuration_adv.h +++ b/config/examples/Anet/A6/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Anet/A8/Configuration_adv.h b/config/examples/Anet/A8/Configuration_adv.h index 4105782fd..b62057b44 100644 --- a/config/examples/Anet/A8/Configuration_adv.h +++ b/config/examples/Anet/A8/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Anet/A8plus/Configuration_adv.h b/config/examples/Anet/A8plus/Configuration_adv.h index 92f5fe3a8..3a2f7d5f7 100644 --- a/config/examples/Anet/A8plus/Configuration_adv.h +++ b/config/examples/Anet/A8plus/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Anet/E16/Configuration_adv.h b/config/examples/Anet/E16/Configuration_adv.h index f347c161a..57f338240 100644 --- a/config/examples/Anet/E16/Configuration_adv.h +++ b/config/examples/Anet/E16/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/AnyCubic/i3/Configuration_adv.h b/config/examples/AnyCubic/i3/Configuration_adv.h index 221f945ae..95dfa55b0 100644 --- a/config/examples/AnyCubic/i3/Configuration_adv.h +++ b/config/examples/AnyCubic/i3/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/ArmEd/Configuration_adv.h b/config/examples/ArmEd/Configuration_adv.h index b34a15f8e..0bf753502 100644 --- a/config/examples/ArmEd/Configuration_adv.h +++ b/config/examples/ArmEd/Configuration_adv.h @@ -1215,6 +1215,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h b/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h index 5e7b56fcf..ba736c012 100644 --- a/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h +++ b/config/examples/BIBO/TouchX/cyclops/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/BIBO/TouchX/default/Configuration_adv.h b/config/examples/BIBO/TouchX/default/Configuration_adv.h index 48f3325d2..42a8786e8 100644 --- a/config/examples/BIBO/TouchX/default/Configuration_adv.h +++ b/config/examples/BIBO/TouchX/default/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/BQ/Hephestos/Configuration_adv.h b/config/examples/BQ/Hephestos/Configuration_adv.h index a9727ebbd..7fdb7df73 100644 --- a/config/examples/BQ/Hephestos/Configuration_adv.h +++ b/config/examples/BQ/Hephestos/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/BQ/Hephestos_2/Configuration_adv.h b/config/examples/BQ/Hephestos_2/Configuration_adv.h index 2fa88aed5..1525ae7a4 100644 --- a/config/examples/BQ/Hephestos_2/Configuration_adv.h +++ b/config/examples/BQ/Hephestos_2/Configuration_adv.h @@ -1219,6 +1219,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/BQ/WITBOX/Configuration_adv.h b/config/examples/BQ/WITBOX/Configuration_adv.h index a9727ebbd..7fdb7df73 100644 --- a/config/examples/BQ/WITBOX/Configuration_adv.h +++ b/config/examples/BQ/WITBOX/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Cartesio/Configuration_adv.h b/config/examples/Cartesio/Configuration_adv.h index 9e57c85c7..242404bca 100644 --- a/config/examples/Cartesio/Configuration_adv.h +++ b/config/examples/Cartesio/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/CR-10/Configuration_adv.h b/config/examples/Creality/CR-10/Configuration_adv.h index 3d15f58aa..a79827917 100644 --- a/config/examples/Creality/CR-10/Configuration_adv.h +++ b/config/examples/Creality/CR-10/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/CR-10S/Configuration_adv.h b/config/examples/Creality/CR-10S/Configuration_adv.h index 5c99b692f..2a757c1ec 100644 --- a/config/examples/Creality/CR-10S/Configuration_adv.h +++ b/config/examples/Creality/CR-10S/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/CR-10_5S/Configuration_adv.h b/config/examples/Creality/CR-10_5S/Configuration_adv.h index 13dbd86cf..120a2d329 100644 --- a/config/examples/Creality/CR-10_5S/Configuration_adv.h +++ b/config/examples/Creality/CR-10_5S/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/CR-10mini/Configuration_adv.h b/config/examples/Creality/CR-10mini/Configuration_adv.h index a7a38f9a4..1485a9b68 100644 --- a/config/examples/Creality/CR-10mini/Configuration_adv.h +++ b/config/examples/Creality/CR-10mini/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/CR-20 Pro/Configuration_adv.h b/config/examples/Creality/CR-20 Pro/Configuration_adv.h index 2cfb90ada..3a75f67d1 100644 --- a/config/examples/Creality/CR-20 Pro/Configuration_adv.h +++ b/config/examples/Creality/CR-20 Pro/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/CR-20/Configuration_adv.h b/config/examples/Creality/CR-20/Configuration_adv.h index d205aca8e..73f1ee425 100644 --- a/config/examples/Creality/CR-20/Configuration_adv.h +++ b/config/examples/Creality/CR-20/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/CR-8/Configuration_adv.h b/config/examples/Creality/CR-8/Configuration_adv.h index 02531657d..03550e8e1 100644 --- a/config/examples/Creality/CR-8/Configuration_adv.h +++ b/config/examples/Creality/CR-8/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/Ender-2/Configuration_adv.h b/config/examples/Creality/Ender-2/Configuration_adv.h index 5daba654f..25c2c3351 100644 --- a/config/examples/Creality/Ender-2/Configuration_adv.h +++ b/config/examples/Creality/Ender-2/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/Ender-3/Configuration_adv.h b/config/examples/Creality/Ender-3/Configuration_adv.h index e2e8e4d07..dcdd15f46 100644 --- a/config/examples/Creality/Ender-3/Configuration_adv.h +++ b/config/examples/Creality/Ender-3/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/Ender-4/Configuration_adv.h b/config/examples/Creality/Ender-4/Configuration_adv.h index 09569215e..f22edda37 100644 --- a/config/examples/Creality/Ender-4/Configuration_adv.h +++ b/config/examples/Creality/Ender-4/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Creality/Ender-5/Configuration_adv.h b/config/examples/Creality/Ender-5/Configuration_adv.h index 2029812ea..41a5d82f2 100644 --- a/config/examples/Creality/Ender-5/Configuration_adv.h +++ b/config/examples/Creality/Ender-5/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Dagoma/Disco Ultimate/Configuration_adv.h b/config/examples/Dagoma/Disco Ultimate/Configuration_adv.h index 81ad79e7b..a97e52884 100644 --- a/config/examples/Dagoma/Disco Ultimate/Configuration_adv.h +++ b/config/examples/Dagoma/Disco Ultimate/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h b/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h index 910b5655a..b7de2d61e 100755 --- a/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h +++ b/config/examples/EVNOVO (Artillery)/Sidewinder X1/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Einstart-S/Configuration_adv.h b/config/examples/Einstart-S/Configuration_adv.h index e404c82e8..678b19641 100644 --- a/config/examples/Einstart-S/Configuration_adv.h +++ b/config/examples/Einstart-S/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/FYSETC/AIO_II/Configuration_adv.h b/config/examples/FYSETC/AIO_II/Configuration_adv.h index 5ad08b99e..f2ddcf1e2 100644 --- a/config/examples/FYSETC/AIO_II/Configuration_adv.h +++ b/config/examples/FYSETC/AIO_II/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h b/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h index 9cc8ef563..1746450b5 100644 --- a/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h +++ b/config/examples/FYSETC/Cheetah 1.2/BLTouch/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h b/config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h index 9cc8ef563..1746450b5 100644 --- a/config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h +++ b/config/examples/FYSETC/Cheetah 1.2/base/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/FYSETC/Cheetah/BLTouch/Configuration_adv.h b/config/examples/FYSETC/Cheetah/BLTouch/Configuration_adv.h index 9cc8ef563..1746450b5 100644 --- a/config/examples/FYSETC/Cheetah/BLTouch/Configuration_adv.h +++ b/config/examples/FYSETC/Cheetah/BLTouch/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/FYSETC/Cheetah/base/Configuration_adv.h b/config/examples/FYSETC/Cheetah/base/Configuration_adv.h index 9cc8ef563..1746450b5 100644 --- a/config/examples/FYSETC/Cheetah/base/Configuration_adv.h +++ b/config/examples/FYSETC/Cheetah/base/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/FYSETC/F6_13/Configuration_adv.h b/config/examples/FYSETC/F6_13/Configuration_adv.h index a835d3a22..cf770c3a6 100644 --- a/config/examples/FYSETC/F6_13/Configuration_adv.h +++ b/config/examples/FYSETC/F6_13/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Felix/Configuration_adv.h b/config/examples/Felix/Configuration_adv.h index eb36a3a6c..b3c0cbedd 100644 --- a/config/examples/Felix/Configuration_adv.h +++ b/config/examples/Felix/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/FlashForge/CreatorPro/Configuration_adv.h b/config/examples/FlashForge/CreatorPro/Configuration_adv.h index e3d09fafc..eb4964699 100644 --- a/config/examples/FlashForge/CreatorPro/Configuration_adv.h +++ b/config/examples/FlashForge/CreatorPro/Configuration_adv.h @@ -1210,6 +1210,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/FolgerTech/i3-2020/Configuration_adv.h b/config/examples/FolgerTech/i3-2020/Configuration_adv.h index 104a90546..7c0e0033b 100644 --- a/config/examples/FolgerTech/i3-2020/Configuration_adv.h +++ b/config/examples/FolgerTech/i3-2020/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Formbot/Raptor/Configuration_adv.h b/config/examples/Formbot/Raptor/Configuration_adv.h index 5867d60a8..c6dc2d256 100644 --- a/config/examples/Formbot/Raptor/Configuration_adv.h +++ b/config/examples/Formbot/Raptor/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Formbot/T_Rex_2+/Configuration_adv.h b/config/examples/Formbot/T_Rex_2+/Configuration_adv.h index 9827e26a6..e6e9861f0 100644 --- a/config/examples/Formbot/T_Rex_2+/Configuration_adv.h +++ b/config/examples/Formbot/T_Rex_2+/Configuration_adv.h @@ -1215,6 +1215,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Formbot/T_Rex_3/Configuration_adv.h b/config/examples/Formbot/T_Rex_3/Configuration_adv.h index dac0e9e71..57e1eb881 100644 --- a/config/examples/Formbot/T_Rex_3/Configuration_adv.h +++ b/config/examples/Formbot/T_Rex_3/Configuration_adv.h @@ -1215,6 +1215,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Geeetech/A10/Configuration_adv.h b/config/examples/Geeetech/A10/Configuration_adv.h index 3bb556b4c..6f9e1139e 100644 --- a/config/examples/Geeetech/A10/Configuration_adv.h +++ b/config/examples/Geeetech/A10/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Geeetech/A10M/Configuration_adv.h b/config/examples/Geeetech/A10M/Configuration_adv.h index 8c5c123d4..e5c728dd3 100644 --- a/config/examples/Geeetech/A10M/Configuration_adv.h +++ b/config/examples/Geeetech/A10M/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Geeetech/A20M/Configuration_adv.h b/config/examples/Geeetech/A20M/Configuration_adv.h index 2f6b3c195..639b0f1c3 100644 --- a/config/examples/Geeetech/A20M/Configuration_adv.h +++ b/config/examples/Geeetech/A20M/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Geeetech/MeCreator2/Configuration_adv.h b/config/examples/Geeetech/MeCreator2/Configuration_adv.h index b39c4ed64..a0dfbdde4 100644 --- a/config/examples/Geeetech/MeCreator2/Configuration_adv.h +++ b/config/examples/Geeetech/MeCreator2/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h b/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h index 3bb556b4c..6f9e1139e 100644 --- a/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h +++ b/config/examples/Geeetech/Prusa i3 Pro C/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h b/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h index 3bb556b4c..6f9e1139e 100644 --- a/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h +++ b/config/examples/Geeetech/Prusa i3 Pro W/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Infitary/i3-M508/Configuration_adv.h b/config/examples/Infitary/i3-M508/Configuration_adv.h index b6756a634..b501996d9 100644 --- a/config/examples/Infitary/i3-M508/Configuration_adv.h +++ b/config/examples/Infitary/i3-M508/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/JGAurora/A1/Configuration_adv.h b/config/examples/JGAurora/A1/Configuration_adv.h index 91b289bfc..19417775a 100644 --- a/config/examples/JGAurora/A1/Configuration_adv.h +++ b/config/examples/JGAurora/A1/Configuration_adv.h @@ -1216,6 +1216,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/JGAurora/A5/Configuration_adv.h b/config/examples/JGAurora/A5/Configuration_adv.h index 5f4c2067e..0ef5a5dd1 100644 --- a/config/examples/JGAurora/A5/Configuration_adv.h +++ b/config/examples/JGAurora/A5/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/JGAurora/A5S/Configuration_adv.h b/config/examples/JGAurora/A5S/Configuration_adv.h index 91b289bfc..19417775a 100644 --- a/config/examples/JGAurora/A5S/Configuration_adv.h +++ b/config/examples/JGAurora/A5S/Configuration_adv.h @@ -1216,6 +1216,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/MakerParts/Configuration_adv.h b/config/examples/MakerParts/Configuration_adv.h index 5bbef202e..65ff8c12e 100644 --- a/config/examples/MakerParts/Configuration_adv.h +++ b/config/examples/MakerParts/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Malyan/M150/Configuration_adv.h b/config/examples/Malyan/M150/Configuration_adv.h index 1c9ddcc9d..00372a64a 100644 --- a/config/examples/Malyan/M150/Configuration_adv.h +++ b/config/examples/Malyan/M150/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Malyan/M200/Configuration_adv.h b/config/examples/Malyan/M200/Configuration_adv.h index 2bdfc2cf3..3d4c7ef05 100644 --- a/config/examples/Malyan/M200/Configuration_adv.h +++ b/config/examples/Malyan/M200/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Micromake/C1/enhanced/Configuration_adv.h b/config/examples/Micromake/C1/enhanced/Configuration_adv.h index b2c2de4f1..b00a5aff6 100644 --- a/config/examples/Micromake/C1/enhanced/Configuration_adv.h +++ b/config/examples/Micromake/C1/enhanced/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Mks/Robin/Configuration_adv.h b/config/examples/Mks/Robin/Configuration_adv.h index 22982e2a1..15b9a312e 100644 --- a/config/examples/Mks/Robin/Configuration_adv.h +++ b/config/examples/Mks/Robin/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Mks/Sbase/Configuration_adv.h b/config/examples/Mks/Sbase/Configuration_adv.h index 3f66cd88f..274c16554 100644 --- a/config/examples/Mks/Sbase/Configuration_adv.h +++ b/config/examples/Mks/Sbase/Configuration_adv.h @@ -1212,6 +1212,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/RapideLite/RL200/Configuration_adv.h b/config/examples/RapideLite/RL200/Configuration_adv.h index 7f81fa0d1..44e14166e 100644 --- a/config/examples/RapideLite/RL200/Configuration_adv.h +++ b/config/examples/RapideLite/RL200/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/RigidBot/Configuration_adv.h b/config/examples/RigidBot/Configuration_adv.h index b6b6c0ac1..49ca9a66d 100644 --- a/config/examples/RigidBot/Configuration_adv.h +++ b/config/examples/RigidBot/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/SCARA/Configuration_adv.h b/config/examples/SCARA/Configuration_adv.h index 3f953d243..3743fce5d 100644 --- a/config/examples/SCARA/Configuration_adv.h +++ b/config/examples/SCARA/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h b/config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h index a738a4886..682d4e274 100644 --- a/config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h +++ b/config/examples/STM32/Black_STM32F407VET6/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Sanguinololu/Configuration_adv.h b/config/examples/Sanguinololu/Configuration_adv.h index 3f064a49e..e0ffec6b9 100644 --- a/config/examples/Sanguinololu/Configuration_adv.h +++ b/config/examples/Sanguinololu/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Tevo/Michelangelo/Configuration_adv.h b/config/examples/Tevo/Michelangelo/Configuration_adv.h index ab05f960e..9559d27b2 100644 --- a/config/examples/Tevo/Michelangelo/Configuration_adv.h +++ b/config/examples/Tevo/Michelangelo/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Tevo/Tarantula Pro/Configuration_adv.h b/config/examples/Tevo/Tarantula Pro/Configuration_adv.h index 5a9889165..4484b3dcb 100755 --- a/config/examples/Tevo/Tarantula Pro/Configuration_adv.h +++ b/config/examples/Tevo/Tarantula Pro/Configuration_adv.h @@ -1207,6 +1207,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h b/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h index 19e605c87..4c987ec70 100755 --- a/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h +++ b/config/examples/Tevo/Tornado/V1 (MKS Base)/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h b/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h index 19e605c87..4c987ec70 100755 --- a/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h +++ b/config/examples/Tevo/Tornado/V2 (MKS GEN-L)/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/TheBorg/Configuration_adv.h b/config/examples/TheBorg/Configuration_adv.h index 579d69df5..ce2ef53a1 100644 --- a/config/examples/TheBorg/Configuration_adv.h +++ b/config/examples/TheBorg/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/TinyBoy2/Configuration_adv.h b/config/examples/TinyBoy2/Configuration_adv.h index 2e80fae0e..17f3c0a88 100644 --- a/config/examples/TinyBoy2/Configuration_adv.h +++ b/config/examples/TinyBoy2/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Tronxy/X3A/Configuration_adv.h b/config/examples/Tronxy/X3A/Configuration_adv.h index 6ec87b944..6b3d3f9b5 100644 --- a/config/examples/Tronxy/X3A/Configuration_adv.h +++ b/config/examples/Tronxy/X3A/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Tronxy/X5S-2E/Configuration_adv.h b/config/examples/Tronxy/X5S-2E/Configuration_adv.h index ae1f35300..fe3946219 100644 --- a/config/examples/Tronxy/X5S-2E/Configuration_adv.h +++ b/config/examples/Tronxy/X5S-2E/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/UltiMachine/Archim1/Configuration_adv.h b/config/examples/UltiMachine/Archim1/Configuration_adv.h index a8f8af17b..777ad3c69 100644 --- a/config/examples/UltiMachine/Archim1/Configuration_adv.h +++ b/config/examples/UltiMachine/Archim1/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/UltiMachine/Archim2/Configuration_adv.h b/config/examples/UltiMachine/Archim2/Configuration_adv.h index 101dc42ed..652f1b70a 100644 --- a/config/examples/UltiMachine/Archim2/Configuration_adv.h +++ b/config/examples/UltiMachine/Archim2/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/VORONDesign/Configuration_adv.h b/config/examples/VORONDesign/Configuration_adv.h index c9ae4c639..42e8cb9e1 100644 --- a/config/examples/VORONDesign/Configuration_adv.h +++ b/config/examples/VORONDesign/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Velleman/K8200/Configuration_adv.h b/config/examples/Velleman/K8200/Configuration_adv.h index b4021204f..5ece7806d 100644 --- a/config/examples/Velleman/K8200/Configuration_adv.h +++ b/config/examples/Velleman/K8200/Configuration_adv.h @@ -1224,6 +1224,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Velleman/K8400/Configuration_adv.h b/config/examples/Velleman/K8400/Configuration_adv.h index fc32a6eba..229312d29 100644 --- a/config/examples/Velleman/K8400/Configuration_adv.h +++ b/config/examples/Velleman/K8400/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/WASP/PowerWASP/Configuration_adv.h b/config/examples/WASP/PowerWASP/Configuration_adv.h index f5d4f1f4d..5298216d2 100644 --- a/config/examples/WASP/PowerWASP/Configuration_adv.h +++ b/config/examples/WASP/PowerWASP/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Wanhao/Duplicator 6/Configuration_adv.h b/config/examples/Wanhao/Duplicator 6/Configuration_adv.h index 73308254b..eb71be5e3 100644 --- a/config/examples/Wanhao/Duplicator 6/Configuration_adv.h +++ b/config/examples/Wanhao/Duplicator 6/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h b/config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h index 0ab060a2c..c2c5dddfe 100644 --- a/config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h +++ b/config/examples/Wanhao/Duplicator i3 Mini/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/Anycubic/Kossel/Configuration_adv.h b/config/examples/delta/Anycubic/Kossel/Configuration_adv.h index 561edee0a..d363c4c6d 100644 --- a/config/examples/delta/Anycubic/Kossel/Configuration_adv.h +++ b/config/examples/delta/Anycubic/Kossel/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/Dreammaker/Overlord/Configuration_adv.h b/config/examples/delta/Dreammaker/Overlord/Configuration_adv.h index 61a651a4b..f5b8f603e 100644 --- a/config/examples/delta/Dreammaker/Overlord/Configuration_adv.h +++ b/config/examples/delta/Dreammaker/Overlord/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h b/config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h index 61a651a4b..f5b8f603e 100644 --- a/config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h +++ b/config/examples/delta/Dreammaker/Overlord_Pro/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h b/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h index 5a3a16981..00fa3fba2 100644 --- a/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h +++ b/config/examples/delta/FLSUN/auto_calibrate/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/FLSUN/kossel/Configuration_adv.h b/config/examples/delta/FLSUN/kossel/Configuration_adv.h index 5a3a16981..00fa3fba2 100644 --- a/config/examples/delta/FLSUN/kossel/Configuration_adv.h +++ b/config/examples/delta/FLSUN/kossel/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h b/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h index a653ba873..e530c0907 100644 --- a/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h +++ b/config/examples/delta/FLSUN/kossel_mini/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h b/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h index d5967de29..eb9d199cb 100644 --- a/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h +++ b/config/examples/delta/Geeetech/Rostock 301/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/MKS/SBASE/Configuration_adv.h b/config/examples/delta/MKS/SBASE/Configuration_adv.h index efb13d920..de1ed198e 100644 --- a/config/examples/delta/MKS/SBASE/Configuration_adv.h +++ b/config/examples/delta/MKS/SBASE/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/Tevo Little Monster/Configuration_adv.h b/config/examples/delta/Tevo Little Monster/Configuration_adv.h index 78834e483..13167d929 100644 --- a/config/examples/delta/Tevo Little Monster/Configuration_adv.h +++ b/config/examples/delta/Tevo Little Monster/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/generic/Configuration_adv.h b/config/examples/delta/generic/Configuration_adv.h index a653ba873..e530c0907 100644 --- a/config/examples/delta/generic/Configuration_adv.h +++ b/config/examples/delta/generic/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/kossel_mini/Configuration_adv.h b/config/examples/delta/kossel_mini/Configuration_adv.h index a653ba873..e530c0907 100644 --- a/config/examples/delta/kossel_mini/Configuration_adv.h +++ b/config/examples/delta/kossel_mini/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/delta/kossel_xl/Configuration_adv.h b/config/examples/delta/kossel_xl/Configuration_adv.h index 69a1f708d..993807094 100644 --- a/config/examples/delta/kossel_xl/Configuration_adv.h +++ b/config/examples/delta/kossel_xl/Configuration_adv.h @@ -1213,6 +1213,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/gCreate/gMax1.5+/Configuration_adv.h b/config/examples/gCreate/gMax1.5+/Configuration_adv.h index e3c122fd7..1fecb22f9 100644 --- a/config/examples/gCreate/gMax1.5+/Configuration_adv.h +++ b/config/examples/gCreate/gMax1.5+/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/makibox/Configuration_adv.h b/config/examples/makibox/Configuration_adv.h index d61fbed6a..7f5f49fba 100644 --- a/config/examples/makibox/Configuration_adv.h +++ b/config/examples/makibox/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/tvrrug/Round2/Configuration_adv.h b/config/examples/tvrrug/Round2/Configuration_adv.h index 36a4b041d..e447c6f48 100644 --- a/config/examples/tvrrug/Round2/Configuration_adv.h +++ b/config/examples/tvrrug/Round2/Configuration_adv.h @@ -1211,6 +1211,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE diff --git a/config/examples/wt150/Configuration_adv.h b/config/examples/wt150/Configuration_adv.h index 46bd41420..2f59a60e9 100644 --- a/config/examples/wt150/Configuration_adv.h +++ b/config/examples/wt150/Configuration_adv.h @@ -1212,6 +1212,13 @@ #define TOUCH_UI_UTF8_WESTERN_CHARSET #endif + // When labels do not fit buttons, use smaller font + #define TOUCH_UI_FIT_TEXT + + // Enable support for selection of languages at run-time + // (otherwise will use the value of LCD_LANGUAGE) + //#define TOUCH_UI_LANGUAGE_MENU + // Use a numeric passcode for "Screen lock" keypad. // (recommended for smaller displays) //#define TOUCH_UI_PASSCODE