Simplified ExtUI language selection (#15359)

This commit is contained in:
Marcio Teixeira 2019-09-25 00:25:21 -06:00 committed by Scott Lahteine
parent 53124ca6b7
commit 149e9b733e
117 changed files with 708 additions and 476 deletions

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -145,11 +145,11 @@
#define LCD_PIXEL_HEIGHT 64
#endif
// LCD_FULL_PIXEL_WIDTH =
// LCD_PIXEL_OFFSET_X + (LCD_PIXEL_WIDTH * 2) + LCD_PIXEL_OFFSET_X
// LCD_FULL_PIXEL_WIDTH =
// LCD_PIXEL_OFFSET_X + (LCD_PIXEL_WIDTH * 2) + LCD_PIXEL_OFFSET_X
#if ENABLED(FSMC_GRAPHICAL_TFT)
#define LCD_FULL_PIXEL_WIDTH 320
#define LCD_PIXEL_OFFSET_X 32
#define LCD_PIXEL_OFFSET_X 32
#define LCD_FULL_PIXEL_HEIGHT 240
#define LCD_PIXEL_OFFSET_Y 32
#endif

View file

@ -1313,4 +1313,3 @@ const unsigned char font[] PROGMEM = {
0xff, 0x00, 0x34, 0x00
#endif // TOUCH_UI_UTF8_SYMBOLS
};

View file

@ -1,10 +1,9 @@
/*****************
/****************
* language.cpp *
*****************/
****************/
/****************************************************************************
* Written By Mark Pelletier 2017 - Aleph Objects, Inc. *
* Written By Marcio Teixeira 2018 - Aleph Objects, Inc. *
* 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 *
@ -20,36 +19,9 @@
* location: <http://www.gnu.org/licenses/>. *
****************************************************************************/
#include "../compat.h"
#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LANGUAGE_MENU)
#include "../../../../../Marlin.h"
#include "language_de.h"
#include "language_en.h"
#include "language_fr.h"
#include "language.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
uint8_t lang = 0;

View file

@ -18,29 +18,72 @@
* To view a copy of the GNU General Public License, go to the following *
* location: <http://www.gnu.org/licenses/>. *
****************************************************************************/
#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<const __FlashStringHelper *>(_GET_TEXTF(MSG,LCD_LANGUAGE))
#define GET_TEXT(MSG) _GET_TEXTF(MSG,LCD_LANGUAGE)
#define MAKE_LANGUAGE_STRINGS()
// Count how many languages are defined.
#if defined(LCD_LANGUAGE_5)
#define NUM_LANGUAGES 5
#elif defined(LCD_LANGUAGE_4)
#define NUM_LANGUAGES 4
#elif defined(LCD_LANGUAGE_3)
#define NUM_LANGUAGES 3
#elif defined(LCD_LANGUAGE_2)
#define NUM_LANGUAGES 2
#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<const __FlashStringHelper *>(get_text(String_Indices::MSG))
#define MAKE_LANGUAGE_STRINGS() PROGMEM Language_Strings strings = { LANGUAGE_STRINGS }
#endif
#define NUM_LANGUAGES 1
#endif
// Set undefined languages equal to the last and
// let the compiler optimize out the duplicates
#ifndef LCD_LANGUAGE_1
#define LCD_LANGUAGE_1 LCD_LANGUAGE
#endif
#ifndef LCD_LANGUAGE_2
#define LCD_LANGUAGE_2 LCD_LANGUAGE_1
#endif
#ifndef LCD_LANGUAGE_3
#define LCD_LANGUAGE_3 LCD_LANGUAGE_2
#endif
#ifndef LCD_LANGUAGE_4
#define LCD_LANGUAGE_4 LCD_LANGUAGE_3
#endif
#ifndef LCD_LANGUAGE_5
#define LCD_LANGUAGE_5 LCD_LANGUAGE_4
#endif
// Indirection required to paste together the namespace name
#define _GET_LANG(LANG) Language_##LANG
#define GET_LANG(LANG) _GET_LANG(LANG)
#if NUM_LANGUAGES > 1
extern uint8_t lang;
// The compiler does a good job of "flattening" out this
// if statement when there are fewer than five languages.
#define GET_TEXT(MSG) ( \
lang == 0 ? GET_LANG(LCD_LANGUAGE_1)::MSG : \
lang == 1 ? GET_LANG(LCD_LANGUAGE_2)::MSG : \
lang == 2 ? GET_LANG(LCD_LANGUAGE_3)::MSG : \
lang == 3 ? GET_LANG(LCD_LANGUAGE_4)::MSG : \
GET_LANG(LCD_LANGUAGE_5)::MSG \
)
#else
#define GET_TEXT(MSG) GET_LANG(LCD_LANGUAGE_1)::MSG
#endif
#define GET_TEXTF(MSG) reinterpret_cast<const __FlashStringHelper *>(GET_TEXT(MSG))
#define GET_LANGUAGE_NAME(N) GET_LANG(LCD_LANGUAGE_##N)::LANGUAGE
// All the language tables go here
#include "language_en.h"
#include "language_de.h"
#include "language_fr.h"

View file

@ -21,10 +21,8 @@
#pragma once
#include "language_en.h"
namespace Language_de {
using namespace Language_en;
using namespace Language_en; // Inherit undefined strings from English
PROGMEM Language_Str LANGUAGE = u8"Deutsche";
@ -79,6 +77,4 @@ namespace Language_de {
PROGMEM Language_Str PRINTER_HALTED = u8"DRUCKER GESTOPPT";
PROGMEM Language_Str PLEASE_RESET = u8"Bitte neustarten";
MAKE_LANGUAGE_STRINGS();
}; // namespace Language_de

View file

@ -21,192 +21,7 @@
#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, \
RELEASE_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.
#include "language.h"
namespace Language_en {
PROGMEM Language_Str LANGUAGE = u8"English";
@ -413,6 +228,4 @@ namespace Language_en {
PROGMEM Language_Str LOADING_WARNING = u8"About to home to loading position. Ensure 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

View file

@ -21,10 +21,8 @@
#pragma once
#include "language_en.h"
namespace Language_fr {
using namespace Language_en;
using namespace Language_en; // Inherit undefined strings from English
PROGMEM Language_Str LANGUAGE = u8"Français";
@ -85,6 +83,4 @@ namespace Language_fr {
PROGMEM Language_Str PRINTER_HALTED = u8"IMPR. STOPPÉE";
PROGMEM Language_Str PLEASE_RESET = u8"Redémarrer SVP";
MAKE_LANGUAGE_STRINGS();
}; // namespace Language_fr

View file

@ -83,7 +83,7 @@ void BootScreen::onIdle() {
current_screen.forget();
PUSH_SCREEN(StatusScreen);
PUSH_SCREEN(BioConfirmHomeE);
#elif defined(TOUCH_UI_LANGUAGE_MENU)
#elif NUM_LANGUAGES > 1
StatusScreen::setStatusMessage(F(WELCOME_MSG));
GOTO_SCREEN(LanguageMenu);
#else

View file

@ -21,8 +21,9 @@
****************************************************************************/
#include "../config.h"
#include "../language/language.h"
#if ENABLED(LULZBOT_TOUCH_UI) && defined(TOUCH_UI_LANGUAGE_MENU)
#if ENABLED(LULZBOT_TOUCH_UI) && NUM_LANGUAGES > 1
#include "screens.h"
@ -39,14 +40,23 @@ void LanguageMenu::onRedraw(draw_mode_t) {
#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));
cmd.tag(1).button(BTN_POS(1,1), BTN_SIZE(1,1), GET_LANGUAGE_NAME(1));
cmd.tag(2).button(BTN_POS(1,2), BTN_SIZE(1,1), GET_LANGUAGE_NAME(2));
#if NUM_LANGUAGES > 2
cmd.tag(3).button(BTN_POS(1,3), BTN_SIZE(1,1), GET_LANGUAGE_NAME(3));
#if NUM_LANGUAGES > 3
cmd.tag(4).button(BTN_POS(1,4), BTN_SIZE(1,1), GET_LANGUAGE_NAME(4));
#if NUM_LANGUAGES > 5
cmd.tag(5).button(BTN_POS(1,5), BTN_SIZE(1,1), GET_LANGUAGE_NAME(5));
#endif
#endif
#endif
}
bool LanguageMenu::onTouchEnd(uint8_t tag) {
const uint8_t lang = tag - 1;
if (tag != 0) {
set_language(lang);
if (tag > 0 && tag <= NUM_LANGUAGES) {
lang = tag - 1;
GOTO_SCREEN(StatusScreen);
return true;
}

View file

@ -31,7 +31,7 @@ screen_data_t screen_data;
SCREEN_TABLE {
DECL_SCREEN(BootScreen),
#if ENABLED(TOUCH_UI_LANGUAGE_MENU)
#if NUM_LANGUAGES > 1
DECL_SCREEN(LanguageMenu),
#endif
DECL_SCREEN(TouchCalibrationScreen),

View file

@ -23,7 +23,7 @@
#pragma once
#include "../ftdi_eve_lib/ftdi_eve_lib.h"
#include "../language/languages.h"
#include "../language/language.h"
#include "../theme/theme.h"
#include "string_format.h"
@ -723,7 +723,7 @@ class MediaPlayerScreen : public BaseScreen, public UncachedScreen {
static void playStream(void *obj, media_streamer_func_t*);
};
#if ENABLED(TOUCH_UI_LANGUAGE_MENU)
#if NUM_LANGUAGES > 1
class LanguageMenu : public BaseScreen, public UncachedScreen {
public:
static void onRedraw(draw_mode_t);

View file

@ -325,4 +325,3 @@ struct SCSI_Request_Sense_Response {
} __attribute__((packed));
#endif /* UHS_SCSI_H */

View file

@ -2991,5 +2991,3 @@
#define UHS_VID_FNK_TECH 0xffeeU // FNK Tech
#endif

View file

@ -390,4 +390,3 @@ e-mail : support@circuitsathome.com
#define NOTUSED(...) __VA_ARGS__ __attribute__((unused))
#endif
#endif /* MACROS_H */

View file

@ -198,4 +198,3 @@ void UHS_AVR_printf_HELPER_init() {
#define UHS_printf_HELPER_init() (void(0))
#endif
#endif /* UHS_PRINTF_HELPER_H */

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1235,8 +1235,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1234,8 +1234,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1235,8 +1235,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1239,8 +1239,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1230,8 +1230,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1235,8 +1235,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1235,8 +1235,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1236,8 +1236,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1236,8 +1236,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1232,8 +1232,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1227,8 +1227,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1244,8 +1244,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1231,8 +1231,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

View file

@ -1233,8 +1233,12 @@
// Use a smaller font when labels don't fit buttons
#define TOUCH_UI_FIT_TEXT
// Runtime language selection (otherwise LCD_LANGUAGE)
//#define TOUCH_UI_LANGUAGE_MENU
// Allow language selection from menu at run-time (otherwise use LCD_LANGUAGE)
//#define LCD_LANGUAGE_1 en
//#define LCD_LANGUAGE_2 fr
//#define LCD_LANGUAGE_3 de
//#define LCD_LANGUAGE_4 es
//#define LCD_LANGUAGE_5 it
// Use a numeric passcode for "Screen lock" keypad.
// (recommended for smaller displays)

Some files were not shown because too many files have changed in this diff Show more