Browse Source

Merge branch 'PFW-1189' into MK3_MK404

3d-gussner 3 years ago
parent
commit
4bb13ce582
17 changed files with 2190 additions and 2287 deletions
  1. 9 14
      Firmware/Marlin_main.cpp
  2. 70 68
      Firmware/messages.c
  3. 2 0
      Firmware/messages.h
  4. 5 5
      Firmware/mmu.cpp
  5. 216 215
      Firmware/ultralcd.cpp
  6. 6 6
      Firmware/util.cpp
  7. 3 1
      lang/config.sh
  8. 1 1
      lang/lang-build.sh
  9. 105 10
      lang/lang-check.py
  10. 213 232
      lang/lang_en.txt
  11. 226 251
      lang/lang_en_cz.txt
  12. 222 247
      lang/lang_en_de.txt
  13. 219 244
      lang/lang_en_es.txt
  14. 218 243
      lang/lang_en_fr.txt
  15. 236 261
      lang/lang_en_it.txt
  16. 222 247
      lang/lang_en_nl.txt
  17. 217 242
      lang/lang_en_pl.txt

+ 9 - 14
Firmware/Marlin_main.cpp

@@ -642,7 +642,7 @@ void crashdet_detected(uint8_t mask)
 		enquecommand_P(PSTR("CRASH_RECOVER"));
 	}else{
 		setTargetHotend(0, active_extruder);
-		bool yesno = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Crash detected. Resume print?"), false);
+		bool yesno = lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Crash detected. Resume print?"), false);////MSG_CRASH_RESUME c=20 r=3
 		lcd_update_enable(true);
 		if (yesno)
 		{
@@ -866,14 +866,14 @@ static void check_if_fw_is_on_right_printer(){
   if((PRINTER_TYPE == PRINTER_MK3) || (PRINTER_TYPE == PRINTER_MK3S)){
     #ifdef IR_SENSOR
       if (pat9125_probe()){
-        lcd_show_fullscreen_message_and_wait_P(_i("MK3S firmware detected on MK3 printer"));}////c=20 r=3
+        lcd_show_fullscreen_message_and_wait_P(_i("MK3S firmware detected on MK3 printer"));}////MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
     #endif //IR_SENSOR
 
     #ifdef PAT9125
       //will return 1 only if IR can detect filament in bondtech extruder so this may fail even when we have IR sensor
       const uint8_t ir_detected = !READ(IR_SENSOR_PIN);
       if (ir_detected){
-        lcd_show_fullscreen_message_and_wait_P(_i("MK3 firmware detected on MK3S printer"));}////c=20 r=3
+        lcd_show_fullscreen_message_and_wait_P(_i("MK3 firmware detected on MK3S printer"));}////MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
     #endif //PAT9125
   }
 #endif //FILAMENT_SENSOR
@@ -1540,7 +1540,7 @@ void setup()
   }
 
   if (!previous_settings_retrieved) {
-	  lcd_show_fullscreen_message_and_wait_P(_i("Old settings found. Default PID, Esteps etc. will be set.")); //if EEPROM version or printer type was changed, inform user that default setting were loaded////MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+	  lcd_show_fullscreen_message_and_wait_P(_i("Old settings found. Default PID, Esteps etc. will be set.")); //if EEPROM version or printer type was changed, inform user that default setting were loaded////MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 	  Config_StoreSettings();
   }
   if (eeprom_read_byte((uint8_t*)EEPROM_WIZARD_ACTIVE) >= 1) {
@@ -3694,7 +3694,7 @@ static void gcode_M600(bool automatic, float x_position, float y_position, float
 			current_position[X_AXIS] -= 100;
 			plan_buffer_line_curposXYZE(FILAMENTCHANGE_XYFEED);
 			st_synchronize();
-			lcd_show_fullscreen_message_and_wait_P(_i("Please open idler and remove filament manually."));////MSG_CHECK_IDLER c=20 r=4
+			lcd_show_fullscreen_message_and_wait_P(_i("Please open idler and remove filament manually."));////MSG_CHECK_IDLER c=20 r=5
         }
     }
 
@@ -3967,7 +3967,6 @@ static void extended_capabilities_report()
     cap_line(PSTR("AUTOREPORT_POSITION"), ENABLED(AUTO_REPORT));
     // EXTENDED_M20 (support for L and T parameters)
     cap_line(PSTR("EXTENDED_M20"), 1);
-    //@todo Update RepRap cap
 }
 #endif //EXTENDED_CAPABILITIES_REPORT
 
@@ -4229,7 +4228,7 @@ void process_commands()
         if (!hasP && !hasS && *src != '\0') {
             lcd_setstatus(src);
         } else {
-            LCD_MESSAGERPGM(_i("Wait for user..."));////MSG_USERWAIT
+            LCD_MESSAGERPGM(_i("Wait for user..."));////MSG_USERWAIT c=20
         }
         lcd_ignore_click();				//call lcd_ignore_click aslo for else ???
         st_synchronize();
@@ -5728,7 +5727,7 @@ if(eSoundMode!=e_SOUND_MODE_SILENT)
     */
 
     case 17:
-        LCD_MESSAGERPGM(_i("No move."));////MSG_NO_MOVE
+        LCD_MESSAGERPGM(_i("No move."));////MSG_NO_MOVE c=20
         enable_x();
         enable_y();
         enable_z();
@@ -6399,7 +6398,6 @@ Sigma_Exit:
         - `C` - Time to change/pause/user interaction in normal mode
         - `D` - Time to change/pause/user interaction in silent mode
     */
-    //!@todo update RepRap Gcode wiki
     case 73: //M73 show percent done, time remaining and time to change/pause
     {
         if(code_seen('P')) print_percent_done_normal = code_value();
@@ -6517,8 +6515,6 @@ Sigma_Exit:
           bit 6 = free
           bit 7 = free
      */
-    //!@todo update RepRap Gcode wiki
-    //!@todo Should be temperature always? Octoprint doesn't switch to M105 if M155 timer is set
     case 155:
     {
         if (code_seen('S')){
@@ -7071,7 +7067,7 @@ Sigma_Exit:
 
 #if (defined(FANCHECK) && (((defined(TACH_0) && (TACH_0 >-1)) || (defined(TACH_1) && (TACH_1 > -1)))))
     /*!
-	### M123 - Tachometer value <a href="https://www.reprap.org/wiki/G-code#M123:_Tachometer_value_.28RepRap.29">M123: Tachometer value</a>
+	### M123 - Tachometer value <a href="https://www.reprap.org/wiki/G-code#M123:_Tachometer_value_.28RepRap_.26_Prusa.29">M123: Tachometer value</a>
   This command is used to report fan speeds and fan pwm values.
   #### Usage
     
@@ -7087,7 +7083,6 @@ Sigma_Exit:
     E0:3240 RPM PRN1:4560 RPM E0@:255 PRN1@:255
 
     */
-   //!@todo Update RepRap Gcode wiki
     case 123:
     gcode_M123();
     break;
@@ -9683,7 +9678,7 @@ static void handleSafetyTimer()
     {
         setTargetBed(0);
         setAllTargetHotends(0);
-        lcd_show_fullscreen_message_and_wait_P(_i("Heating disabled by safety timer."));////MSG_BED_HEATING_SAFETY_DISABLED
+        lcd_show_fullscreen_message_and_wait_P(_i("Heating disabled by safety timer."));////MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
     }
 }
 #endif //SAFETYTIMER

+ 70 - 68
Firmware/messages.c

@@ -8,30 +8,31 @@
 #include "Configuration_prusa.h"
 
 //internationalized messages
-const char MSG_AUTO_HOME[] PROGMEM_I1 = ISTR("Auto home"); ////
-const char MSG_BABYSTEP_Z[] PROGMEM_I1 = ISTR("Live adjust Z"); //// c=18
+const char MSG_AUTO_HOME[] PROGMEM_I1 = ISTR("Auto home"); ////c=18
+const char MSG_BABYSTEP_Z[] PROGMEM_I1 = ISTR("Live adjust Z"); ////c=18
 const char MSG_BABYSTEP_Z_NOT_SET[] PROGMEM_I1 = ISTR("Distance between tip of the nozzle and the bed surface has not been set yet. Please follow the manual, chapter First steps, section First layer calibration."); ////c=20 r=12
-const char MSG_BED[] PROGMEM_I1 = ISTR("Bed"); ////
-const char MSG_BED_DONE[] PROGMEM_I1 = ISTR("Bed done"); ////
-const char MSG_BED_HEATING[] PROGMEM_I1 = ISTR("Bed Heating"); ////
-const char MSG_BED_LEVELING_FAILED_POINT_LOW[] PROGMEM_I1 = ISTR("Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."); ////c=20 r=5
+const char MSG_BED[] PROGMEM_I1 = ISTR("Bed"); ////c=13
+const char MSG_BED_DONE[] PROGMEM_I1 = ISTR("Bed done"); ////c=20
+const char MSG_BED_HEATING[] PROGMEM_I1 = ISTR("Bed Heating"); ////c=20
+const char MSG_BED_LEVELING_FAILED_POINT_LOW[] PROGMEM_I1 = ISTR("Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."); ////c=20 r=6
 const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED[] PROGMEM_I1 = ISTR("XYZ calibration failed. Please consult the manual."); ////c=20 r=8
 const char MSG_BELT_STATUS[] PROGMEM_I1 = ISTR("Belt status");////c=18
+const char MSG_CANCEL[] PROGMEM_I1 = ISTR(">Cancel");////c=9
 const char MSG_CALIBRATE_Z_AUTO[] PROGMEM_I1 = ISTR("Calibrating Z"); ////c=20 r=2
-const char MSG_CARD_MENU[] PROGMEM_I1 = ISTR("Print from SD"); ////
+const char MSG_CARD_MENU[] PROGMEM_I1 = ISTR("Print from SD"); ////c=18
 const char MSG_CHECKING_X[] PROGMEM_I1 = ISTR("Checking X axis"); ////c=20
 const char MSG_CHECKING_Y[] PROGMEM_I1 = ISTR("Checking Y axis"); ////c=20
 const char MSG_COMMUNITY_MADE[] PROGMEM_I1 = ISTR("Community made"); ////c=18
 const char MSG_CONFIRM_NOZZLE_CLEAN[] PROGMEM_I1 = ISTR("Please clean the nozzle for calibration. Click when done."); ////c=20 r=8
-const char MSG_COOLDOWN[] PROGMEM_I1 = ISTR("Cooldown"); ////
+const char MSG_COOLDOWN[] PROGMEM_I1 = ISTR("Cooldown"); ////c=18
 const char MSG_CRASH[] PROGMEM_I1 = ISTR("Crash"); ////c=7
-const char MSG_CRASH_DETECTED[] PROGMEM_I1 = ISTR("Crash detected."); ////c=20 r=1
+const char MSG_CRASH_DETECTED[] PROGMEM_I1 = ISTR("Crash detected."); ////c=20
 const char MSG_CRASHDETECT[] PROGMEM_I1 = ISTR("Crash det."); ////c=13
-const char MSG_ERROR[] PROGMEM_I1 = ISTR("ERROR:"); ////
+const char MSG_ERROR[] PROGMEM_I1 = ISTR("ERROR:"); ////c=10
 const char MSG_EXTRUDER[] PROGMEM_I1 = ISTR("Extruder"); ////c=17
 const char MSG_FANS_CHECK[] PROGMEM_I1 = ISTR("Fans check"); ////c=13
 const char MSG_FIL_RUNOUTS[] PROGMEM_I1 = ISTR("Fil. runouts"); ////c=15
-const char MSG_FILAMENT[] PROGMEM_I1 = ISTR("Filament"); ////c=17 r=1
+const char MSG_FILAMENT[] PROGMEM_I1 = ISTR("Filament"); ////c=17
 const char MSG_FAN_SPEED[] PROGMEM_I1 = ISTR("Fan speed"); ////c=14
 const char MSG_FILAMENT_CLEAN[] PROGMEM_I1 = ISTR("Filament extruding & with correct color?"); ////c=20 r=2
 const char MSG_FILAMENT_LOADED[] PROGMEM_I1 = ISTR("Is filament loaded?"); ////c=20 r=2
@@ -39,19 +40,19 @@ const char MSG_FILAMENT_LOADING_T0[] PROGMEM_I1 = ISTR("Insert filament into ext
 const char MSG_FILAMENT_LOADING_T1[] PROGMEM_I1 = ISTR("Insert filament into extruder 2. Click when done."); ////c=20 r=4
 const char MSG_FILAMENT_LOADING_T2[] PROGMEM_I1 = ISTR("Insert filament into extruder 3. Click when done."); ////c=20 r=4
 const char MSG_FILAMENT_LOADING_T3[] PROGMEM_I1 = ISTR("Insert filament into extruder 4. Click when done."); ////c=20 r=4
-const char MSG_FILAMENTCHANGE[] PROGMEM_I1 = ISTR("Change filament"); ////
-const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1[] PROGMEM_I1 = ISTR("Searching bed calibration point"); ////c=60
+const char MSG_FILAMENTCHANGE[] PROGMEM_I1 = ISTR("Change filament"); ////c=18
+const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1[] PROGMEM_I1 = ISTR("Searching bed calibration point"); ////c=20 r=2
 const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2[] PROGMEM_I1 = ISTR(" of 4"); ////c=14
 const char MSG_FINISHING_MOVEMENTS[] PROGMEM_I1 = ISTR("Finishing movements"); ////c=20
 const char MSG_FOLLOW_CALIBRATION_FLOW[] PROGMEM_I1 = ISTR("Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."); ////c=20 r=8
 const char MSG_FOLLOW_Z_CALIBRATION_FLOW[] PROGMEM_I1 = ISTR("There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."); ////c=20 r=9
 const char MSG_FSENSOR_AUTOLOAD[] PROGMEM_I1 = ISTR("F. autoload"); ////c=13
-const char MSG_FSENSOR[] PROGMEM_I1 = ISTR("Fil. sensor"); ////
-const char MSG_HEATING[] PROGMEM_I1 = ISTR("Heating"); ////
+const char MSG_FSENSOR[] PROGMEM_I1 = ISTR("Fil. sensor"); ////c=12
+const char MSG_HEATING[] PROGMEM_I1 = ISTR("Heating"); ////c=20
 const char MSG_HEATING_COMPLETE[] PROGMEM_I1 = ISTR("Heating done."); ////c=20
-const char MSG_HOMEYZ[] PROGMEM_I1 = ISTR("Calibrate Z"); ////
-const char MSG_CHOOSE_EXTRUDER[] PROGMEM_I1 = ISTR("Choose extruder:"); ////c=20 r=1
-const char MSG_CHOOSE_FILAMENT[] PROGMEM_I1 = ISTR("Choose filament:"); ////c=20 r=1
+const char MSG_HOMEYZ[] PROGMEM_I1 = ISTR("Calibrate Z"); ////c=18
+const char MSG_CHOOSE_EXTRUDER[] PROGMEM_I1 = ISTR("Choose extruder:"); ////c=20
+const char MSG_CHOOSE_FILAMENT[] PROGMEM_I1 = ISTR("Choose filament:"); ////c=20
 const char MSG_LAST_PRINT[] PROGMEM_I1 = ISTR("Last print"); ////c=18
 const char MSG_LAST_PRINT_FAILURES[] PROGMEM_I1 = ISTR("Last print failures"); ////c=20
 const char MSG_LOAD_FILAMENT[] PROGMEM_I1 = ISTR("Load filament"); //// Number 1 to 5 is added behind text e.g. "Load filament 1" c=16
@@ -59,20 +60,21 @@ const char MSG_LOADING_FILAMENT[] PROGMEM_I1 = ISTR("Loading filament"); ////c=2
 const char MSG_EJECT_FILAMENT[] PROGMEM_I1 = ISTR("Eject filament"); //// Number 1 to 5 is added behind text e.g. "Eject filament 1" c=16
 const char MSG_CUT_FILAMENT[] PROGMEM_I1 = ISTR("Cut filament"); //// Number 1 to 5 is added behind text e.g. "Cut filament 1" c=16
 const char MSG_M117_V2_CALIBRATION[] PROGMEM_I1 = ISTR("M117 First layer cal."); ////c=25
-const char MSG_MAIN[] PROGMEM_I1 = ISTR("Main"); ////
-const char MSG_BACK[] PROGMEM_I1 = ISTR("Back"); ////
+const char MSG_MAIN[] PROGMEM_I1 = ISTR("Main"); ////c=18
+const char MSG_BACK[] PROGMEM_I1 = ISTR("Back"); ////c=18
 const char MSG_SHEET[] PROGMEM_I1 = ISTR("Sheet"); ////c=10
 const char MSG_STEEL_SHEETS[] PROGMEM_I1 = ISTR("Steel sheets"); ////c=18
-const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1[] PROGMEM_I1 = ISTR("Measuring reference height of calibration point"); ////c=60
+const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1[] PROGMEM_I1 = ISTR("Measuring reference height of calibration point"); ////c=20 r=3
 const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2[] PROGMEM_I1 = ISTR(" of 9"); ////c=14
-const char MSG_MENU_CALIBRATION[] PROGMEM_I1 = ISTR("Calibration"); ////
+const char MSG_MENU_CALIBRATION[] PROGMEM_I1 = ISTR("Calibration"); ////c=18
 const char MSG_MMU_FAILS[] PROGMEM_I1 = ISTR("MMU fails"); ////c=15
 const char MSG_MMU_LOAD_FAILS[] PROGMEM_I1 = ISTR("MMU load fails"); ////c=15
-const char MSG_NO[] PROGMEM_I1 = ISTR("No"); ////
-const char MSG_NOZZLE[] PROGMEM_I1 = ISTR("Nozzle"); ////
+const char MSG_NO[] PROGMEM_I1 = ISTR("No"); ////c=4
+const char MSG_NOZZLE[] PROGMEM_I1 = ISTR("Nozzle"); ////c=12
 const char MSG_PAPER[] PROGMEM_I1 = ISTR("Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately."); ////c=20 r=10
 const char MSG_PAUSE_PRINT[] PROGMEM_I1 = ISTR("Pause print");////c=18
-const char MSG_PLACE_STEEL_SHEET[] PROGMEM_I1 = ISTR("Please place steel sheet on heatbed."); ////c=20 r=4
+const char MSG_PINDA[] PROGMEM_I1 = ISTR("PINDA");////c=5
+const char MSG_PLACE_STEEL_SHEET[] PROGMEM_I1 = ISTR("Please place steel sheet on heatbed."); ////c=20 r=5
 const char MSG_PLEASE_WAIT[] PROGMEM_I1 = ISTR("Please wait"); ////c=20
 const char MSG_POWER_FAILURES[] PROGMEM_I1 = ISTR("Power failures"); ////c=15
 const char MSG_PREHEAT_NOZZLE[] PROGMEM_I1 = ISTR("Preheat the nozzle!"); ////c=20
@@ -80,11 +82,11 @@ const char MSG_PRESS_TO_UNLOAD[] PROGMEM_I1 = ISTR("Please press the knob to unl
 const char MSG_PRINT_ABORTED[] PROGMEM_I1 = ISTR("Print aborted"); ////c=20
 const char MSG_PULL_OUT_FILAMENT[] PROGMEM_I1 = ISTR("Please pull out filament immediately"); ////c=20 r=4
 const char MSG_RECOVER_PRINT[] PROGMEM_I1 = ISTR("Blackout occurred. Recover print?"); ////c=20 r=2
-const char MSG_REFRESH[] PROGMEM_I1 = ISTR("\x04" "Refresh"); ////
+const char MSG_REFRESH[] PROGMEM_I1 = ISTR("\x04Refresh"); ////c=18
 const char MSG_REMOVE_STEEL_SHEET[] PROGMEM_I1 = ISTR("Please remove steel sheet from heatbed."); ////c=20 r=4
 const char MSG_RESET[] PROGMEM_I1 = ISTR("Reset"); ////c=14
 const char MSG_RESUME_PRINT[] PROGMEM_I1 = ISTR("Resume print"); ////c=18
-const char MSG_RESUMING_PRINT[] PROGMEM_I1 = ISTR("Resuming print"); ////
+const char MSG_RESUMING_PRINT[] PROGMEM_I1 = ISTR("Resuming print"); ////c=20
 const char MSG_SELFTEST_COOLING_FAN[] PROGMEM_I1 = ISTR("Front print fan?"); ////c=20
 const char MSG_SELFTEST_EXTRUDER_FAN[] PROGMEM_I1 = ISTR("Left hotend fan?"); ////c=20
 const char MSG_SELFTEST_FAILED[] PROGMEM_I1 = ISTR("Selftest failed  "); ////c=20
@@ -93,65 +95,65 @@ const char MSG_SELFTEST_FAN_NO[] PROGMEM_I1 = ISTR("Not spinning"); ////c=19
 const char MSG_SELFTEST_FAN_YES[] PROGMEM_I1 = ISTR("Spinning"); ////c=19
 const char MSG_SELFTEST_CHECK_BED[] PROGMEM_I1 = ISTR("Checking bed     "); ////c=20
 const char MSG_SELFTEST_CHECK_FSENSOR[] PROGMEM_I1 = ISTR("Checking sensors "); ////c=20
-const char MSG_SELFTEST_MOTOR[] PROGMEM_I1 = ISTR("Motor"); ////
+const char MSG_SELFTEST_MOTOR[] PROGMEM_I1 = ISTR("Motor"); ////c=18
 const char MSG_SELFTEST_FILAMENT_SENSOR[] PROGMEM_I1 = ISTR("Filament sensor"); ////c=17
-const char MSG_SELFTEST_WIRINGERROR[] PROGMEM_I1 = ISTR("Wiring error"); ////
-const char MSG_SETTINGS[] PROGMEM_I1 = ISTR("Settings"); ////
+const char MSG_SELFTEST_WIRINGERROR[] PROGMEM_I1 = ISTR("Wiring error"); ////c=18
+const char MSG_SETTINGS[] PROGMEM_I1 = ISTR("Settings"); ////c=18
 const char MSG_TOTAL[] PROGMEM_I1 = ISTR("Total"); ////c=6
 const char MSG_TOTAL_FAILURES[] PROGMEM_I1 = ISTR("Total failures"); ////c=20
 const char MSG_HW_SETUP[] PROGMEM_I1 = ISTR("HW Setup"); ////c=18
-const char MSG_MODE[] PROGMEM_I1 = ISTR("Mode"); ////
-const char MSG_HIGH_POWER[] PROGMEM_I1 = ISTR("High power"); ////
-const char MSG_AUTO_POWER[] PROGMEM_I1 = ISTR("Auto power"); ////
-const char MSG_SILENT[] PROGMEM_I1 = ISTR("Silent"); ////
-const char MSG_NORMAL[] PROGMEM_I1 = ISTR("Normal"); ////
-const char MSG_STEALTH[] PROGMEM_I1 = ISTR("Stealth"); ////
+const char MSG_MODE[] PROGMEM_I1 = ISTR("Mode"); ////c=6
+const char MSG_HIGH_POWER[] PROGMEM_I1 = ISTR("High power"); ////c=10
+const char MSG_AUTO_POWER[] PROGMEM_I1 = ISTR("Auto power"); ////c=10
+const char MSG_SILENT[] PROGMEM_I1 = ISTR("Silent"); ////c=7
+const char MSG_NORMAL[] PROGMEM_I1 = ISTR("Normal"); ////c=7
+const char MSG_STEALTH[] PROGMEM_I1 = ISTR("Stealth"); ////c=7
 const char MSG_STEEL_SHEET_CHECK[] PROGMEM_I1 = ISTR("Is steel sheet on heatbed?"); ////c=20 r=2
-const char MSG_STOP_PRINT[] PROGMEM_I1 = ISTR("Stop print"); ////
-const char MSG_STOPPED[] PROGMEM_I1 = ISTR("STOPPED. "); ////
+const char MSG_STOP_PRINT[] PROGMEM_I1 = ISTR("Stop print"); ////c=18
+const char MSG_STOPPED[] PROGMEM_I1 = ISTR("STOPPED. "); ////c=20
 const char MSG_TEMP_CALIBRATION[] PROGMEM_I1 = ISTR("Temp. cal."); ////c=14
 const char MSG_TEMP_CALIBRATION_DONE[] PROGMEM_I1 = ISTR("Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."); ////c=20 r=12
-const char MSG_UNLOAD_FILAMENT[] PROGMEM_I1 = ISTR("Unload filament"); ////c=17
-const char MSG_UNLOADING_FILAMENT[] PROGMEM_I1 = ISTR("Unloading filament"); ////c=20 r=1
-const char MSG_WATCH[] PROGMEM_I1 = ISTR("Info screen"); ////
+const char MSG_UNLOAD_FILAMENT[] PROGMEM_I1 = ISTR("Unload filament"); ////Number 1 to 5 is added behind text e.g. "Unload filament" c=16
+const char MSG_UNLOADING_FILAMENT[] PROGMEM_I1 = ISTR("Unloading filament"); ////c=20
+const char MSG_WATCH[] PROGMEM_I1 = ISTR("Info screen"); ////c=18
 const char MSG_WIZARD_CALIBRATION_FAILED[] PROGMEM_I1 = ISTR("Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."); ////c=20 r=8
 const char MSG_WIZARD_DONE[] PROGMEM_I1 = ISTR("All is done. Happy printing!"); ////c=20 r=8
 const char MSG_WIZARD_HEATING[] PROGMEM_I1 = ISTR("Preheating nozzle. Please wait."); ////c=20 r=3
 const char MSG_WIZARD_QUIT[] PROGMEM_I1 = ISTR("You can always resume the Wizard from Calibration -> Wizard."); ////c=20 r=8
 const char MSG_WIZARD_WELCOME[] PROGMEM_I1 = ISTR("Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"); //// c=20 r=7
 const char MSG_WIZARD_WELCOME_SHIPPING[] PROGMEM_I1 = ISTR("Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."); ////c=20 r=16
-const char MSG_YES[] PROGMEM_I1 = ISTR("Yes"); ////
+const char MSG_YES[] PROGMEM_I1 = ISTR("Yes"); ////c=3
 const char MSG_V2_CALIBRATION[] PROGMEM_I1 = ISTR("First layer cal."); ////c=18
 const char WELCOME_MSG[] PROGMEM_I1 = ISTR(CUSTOM_MENDEL_NAME " OK."); ////c=20
-const char MSG_OFF[] PROGMEM_I1 = ISTR("Off"); ////
-const char MSG_ON[] PROGMEM_I1 = ISTR("On"); ////
-const char MSG_NA[] PROGMEM_I1 = ISTR("N/A"); ////
-const char MSG_AUTO_DEPLETE[] PROGMEM_I1 = ISTR("SpoolJoin"); ////
+const char MSG_OFF[] PROGMEM_I1 = ISTR("Off"); ////c=3
+const char MSG_ON[] PROGMEM_I1 = ISTR("On"); ////c=3
+const char MSG_NA[] PROGMEM_I1 = ISTR("N/A"); ////c=3
+const char MSG_AUTO_DEPLETE[] PROGMEM_I1 = ISTR("SpoolJoin"); ////c=13
 const char MSG_CUTTER[] PROGMEM_I1 = ISTR("Cutter"); ////c=9
-const char MSG_NONE[] PROGMEM_I1 = ISTR("None"); ////
-const char MSG_WARN[] PROGMEM_I1 = ISTR("Warn"); ////
-const char MSG_STRICT[] PROGMEM_I1 = ISTR("Strict"); ////
-const char MSG_MODEL[] PROGMEM_I1 = ISTR("Model"); ////
-const char MSG_FIRMWARE[] PROGMEM_I1 = ISTR("Firmware"); ////
-const char MSG_GCODE[] PROGMEM_I1 = ISTR("Gcode"); ////
+const char MSG_NONE[] PROGMEM_I1 = ISTR("None"); ////c=8
+const char MSG_WARN[] PROGMEM_I1 = ISTR("Warn"); ////c=8
+const char MSG_STRICT[] PROGMEM_I1 = ISTR("Strict"); ////c=8
+const char MSG_MODEL[] PROGMEM_I1 = ISTR("Model"); ////c=8
+const char MSG_FIRMWARE[] PROGMEM_I1 = ISTR("Firmware"); ////c=8
+const char MSG_GCODE[] PROGMEM_I1 = ISTR("Gcode"); ////c=8
 const char MSG_GCODE_DIFF_PRINTER_CONTINUE[] PROGMEM_I1 = ISTR("G-code sliced for a different printer type. Continue?"); ////c=20 r=5
-const char MSG_GCODE_DIFF_PRINTER_CANCELLED[] PROGMEM_I1 =ISTR("G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."); ////c=20 r=7
-const char MSG_NOZZLE_DIAMETER[] PROGMEM_I1 = ISTR("Nozzle d."); ////
-const char MSG_MMU_MODE[] PROGMEM_I1 = ISTR("MMU Mode"); ////
-const char MSG_SD_CARD[] PROGMEM_I1 = ISTR("SD card"); ////
-const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[] PROGMEM_I1 = ISTR("FlashAir"); ////
-const char MSG_SORT[] PROGMEM_I1 = ISTR("Sort"); ////
-const char MSG_SORT_TIME[] PROGMEM_I1 = ISTR("Time"); ////
-const char MSG_SORT_ALPHA[] PROGMEM_I1 = ISTR("Alphabet"); ////
-const char MSG_RPI_PORT[] PROGMEM_I1 = ISTR("RPi port"); ////
-const char MSG_SOUND[] PROGMEM_I1 = ISTR("Sound"); ////
-const char MSG_SOUND_LOUD[] PROGMEM_I1 = ISTR("Loud"); ////
-const char MSG_SOUND_ONCE[] PROGMEM_I1 = ISTR("Once"); ////
-const char MSG_SOUND_BLIND[] PROGMEM_I1 = ISTR("Assist"); ////
-const char MSG_MESH[] PROGMEM_I1 = ISTR("Mesh"); ////
+const char MSG_GCODE_DIFF_PRINTER_CANCELLED[] PROGMEM_I1 =ISTR("G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."); ////c=20 r=8
+const char MSG_NOZZLE_DIAMETER[] PROGMEM_I1 = ISTR("Nozzle d."); ////c=10
+const char MSG_MMU_MODE[] PROGMEM_I1 = ISTR("MMU Mode"); ////c=8
+const char MSG_SD_CARD[] PROGMEM_I1 = ISTR("SD card"); ////c=8
+const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY[] PROGMEM_I1 = ISTR("FlashAir"); ////c=8
+const char MSG_SORT[] PROGMEM_I1 = ISTR("Sort"); ////c=7
+const char MSG_SORT_TIME[] PROGMEM_I1 = ISTR("Time"); ////c=8
+const char MSG_SORT_ALPHA[] PROGMEM_I1 = ISTR("Alphabet"); ////c=8
+const char MSG_RPI_PORT[] PROGMEM_I1 = ISTR("RPi port"); ////c=13
+const char MSG_SOUND[] PROGMEM_I1 = ISTR("Sound"); ////c=9
+const char MSG_SOUND_LOUD[] PROGMEM_I1 = ISTR("Loud"); ////c=7
+const char MSG_SOUND_ONCE[] PROGMEM_I1 = ISTR("Once"); ////c=7
+const char MSG_SOUND_BLIND[] PROGMEM_I1 = ISTR("Assist"); ////c=7
+const char MSG_MESH[] PROGMEM_I1 = ISTR("Mesh"); ////c=12
 const char MSG_MESH_BED_LEVELING[] PROGMEM_I1 = ISTR("Mesh Bed Leveling"); ////c=18
-const char MSG_Z_PROBE_NR[] PROGMEM_I1 = ISTR("Z-probe nr."); ////
-const char MSG_MAGNETS_COMP[] PROGMEM_I1 = ISTR("Magnets comp."); ////
+const char MSG_Z_PROBE_NR[] PROGMEM_I1 = ISTR("Z-probe nr."); ////c=14
+const char MSG_MAGNETS_COMP[] PROGMEM_I1 = ISTR("Magnets comp."); ////c=13
 const char MSG_FS_ACTION[] PROGMEM_I1 = ISTR("FS Action"); ////c=10
 const char MSG_FS_CONTINUE[] PROGMEM_I1 = ISTR("Cont."); ////c=5
 const char MSG_FS_PAUSE[] PROGMEM_I1 = ISTR("Pause"); ////c=5

+ 2 - 0
Firmware/messages.h

@@ -18,6 +18,7 @@ extern const char MSG_BED_HEATING[];
 extern const char MSG_BED_LEVELING_FAILED_POINT_LOW[];
 extern const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED[];
 extern const char MSG_BELT_STATUS[];
+extern const char MSG_CANCEL[];
 extern const char MSG_CALIBRATE_Z_AUTO[];
 extern const char MSG_CARD_MENU[];
 extern const char MSG_CHECKING_X[];
@@ -71,6 +72,7 @@ extern const char MSG_NO[];
 extern const char MSG_NOZZLE[];
 extern const char MSG_PAPER[];
 extern const char MSG_PAUSE_PRINT[];
+extern const char MSG_PINDA[];
 extern const char MSG_PLACE_STEEL_SHEET[];
 extern const char MSG_PLEASE_WAIT[];
 extern const char MSG_POWER_FAILURES[];

+ 5 - 5
Firmware/mmu.cpp

@@ -718,12 +718,12 @@ void manage_response(bool move_axes, bool turn_off_nozzle, uint8_t move)
 
 			  //first three lines are used for printing multiscreen message; last line contains measured and target nozzle temperature
 			  if (screen == 0) { //screen 0
-				  lcd_display_message_fullscreen_P(_i("MMU needs user attention."));
+				  lcd_display_message_fullscreen_P(_i("MMU needs user attention."));////MSG_MMU_USER_ATTENTION c=20 r=3
 				  screen++;
 			  }
 			  else {  //screen 1
-				  if((degTargetHotend(active_extruder) == 0) && turn_off_nozzle) lcd_display_message_fullscreen_P(_i("Press the knob to resume nozzle temperature."));
-				  else lcd_display_message_fullscreen_P(_i("Fix the issue and then press button on MMU unit."));
+				  if((degTargetHotend(active_extruder) == 0) && turn_off_nozzle) lcd_display_message_fullscreen_P(_i("Press the knob to resume nozzle temperature."));////MSG_RESUME_NOZZLE_TEMP c=20 r=4
+				  else lcd_display_message_fullscreen_P(_i("Fix the issue and then press button on MMU unit."));////MSG_MMU_FIX_ISSUE c=20 r=4
 				  screen=0;
 			  }
 
@@ -1383,7 +1383,7 @@ void mmu_cut_filament(uint8_t filament_nr)
     {
         LcdUpdateDisabler disableLcdUpdate;
         lcd_clear();
-        lcd_puts_at_P(0, 1, _i("Cutting filament")); //// c=18
+        lcd_puts_at_P(0, 1, _i("Cutting filament")); ////MSG_MMU_CUTTING_FIL c=18
         lcd_print(' ');
         lcd_print(filament_nr + 1);
         mmu_filament_ramming();
@@ -1583,7 +1583,7 @@ void mmu_continue_loading(bool blocking)
             manage_response(false, true, MMU_UNLOAD_MOVE);
 
             setAllTargetHotends(0);
-            lcd_setstatuspgm(_i("MMU load failed     "));////c=20 r=1
+            lcd_setstatuspgm(_i("MMU load failed     "));////MSG_MMU_LOAD_FAILED c=20
 
             if (blocking)
             {

+ 216 - 215
Firmware/ultralcd.cpp

@@ -649,7 +649,7 @@ void lcdui_print_status_line(void)
                 if (custom_message_state > 3 && custom_message_state <= 10 ) {
                     lcd_set_cursor(0, 3);
                     lcd_space(19);
-                    lcd_puts_at_P(0, 3, _i("Calibration done"));////MSG_HOMEYZ_DONE
+                    lcd_puts_at_P(0, 3, _i("Calibration done"));////MSG_HOMEYZ_DONE c=20
                     custom_message_state--;
                 }
             }
@@ -676,7 +676,7 @@ void lcdui_print_status_line(void)
             lcd_print(statusLine);
             break;
         case CustomMsg::TempCompPreheat: // temp compensation preheat
-            lcd_puts_at_P(0, 3, _i("PINDA Heating"));////MSG_PINDA_PREHEAT c=20 r=1
+            lcd_puts_at_P(0, 3, _i("PINDA Heating"));////MSG_PINDA_PREHEAT c=20
             if (custom_message_state <= PINDA_HEAT_T) {
                 lcd_puts_P(PSTR(": "));
                 lcd_print(custom_message_state); //seconds
@@ -900,7 +900,7 @@ void lcd_commands()
 	{
 		if (!blocks_queued() && !homing_flag)
 		{
-			lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20 r=1
+			lcd_setstatuspgm(_i("Print paused"));////MSG_PRINT_PAUSED c=20
             lcd_commands_type = LcdCommands::Idle;
             lcd_commands_step = 0;
             long_pause();
@@ -1320,13 +1320,13 @@ void lcd_commands()
 			strcat(cmd1, ftostr3(pid_temp));
 			// setting the correct target temperature (for visualization) is done in PID_autotune
 			enquecommand(cmd1);
-			lcd_setstatuspgm(_i("PID cal.           "));////MSG_PID_RUNNING c=20 r=1
+			lcd_setstatuspgm(_i("PID cal.           "));////MSG_PID_RUNNING c=20
 			lcd_commands_step = 2;
 		}
 		if (lcd_commands_step == 2 && pid_tuning_finished) { //saving to eeprom
 			pid_tuning_finished = false;
 			custom_message_state = 0;
-			lcd_setstatuspgm(_i("PID cal. finished"));////MSG_PID_FINISHED c=20 r=1
+			lcd_setstatuspgm(_i("PID cal. finished"));////MSG_PID_FINISHED c=20
 			setAllTargetHotends(0);  // reset all hotends temperature including the number displayed on the main screen
 			if (_Kp != 0 || _Ki != 0 || _Kd != 0) {
 			strcpy(cmd1, "M301 P");
@@ -1425,8 +1425,8 @@ static void pgmtext_with_colon(const char *ipgmLabel, char *dst, uint8_t dstSize
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |Nozzle FAN: 0000 RPM|	FAN c=10 r=1  SPEED c=3 r=1
-//! |Print FAN:  0000 RPM|	FAN c=10 r=1  SPEED c=3 r=1
+//! |Nozzle FAN: 0000 RPM|	MSG_NOZZLE_FAN c=10  SPEED c=3
+//! |Print FAN:  0000 RPM|	MSG_PRINT_FAN c=10  SPEED c=3
 //! |                    |
 //! |                    |
 //! ----------------------
@@ -1440,8 +1440,8 @@ void lcd_menu_extruder_info()                     // NOT static due to using ins
     lcd_home();
     static const size_t maxChars = 12;
     char nozzle[maxChars], print[maxChars];
-    pgmtext_with_colon(_i("Nozzle FAN"), nozzle, maxChars);  ////c=10 r=1
-    pgmtext_with_colon(_i("Print FAN"), print, maxChars);  ////c=10 r=1
+    pgmtext_with_colon(_i("Nozzle FAN"), nozzle, maxChars);  ////MSG_NOZZLE_FAN c=10
+    pgmtext_with_colon(_i("Print FAN"), print, maxChars);  ////MSG_PRINT_FAN c=10
 	lcd_printf_P(_N("%s %4d RPM\n" "%s %4d RPM\n"), nozzle, 60*fan_speed[0], print, 60*fan_speed[1] ); 
     menu_back_if_clicked();
 }
@@ -1454,7 +1454,7 @@ static uint16_t __attribute__((noinline)) clamp999(uint16_t v){
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! | Main               |	c=18 r=1
+//! | Main               |	MSG_MAIN c=18
 //! | Last print         |	MSG_LAST_PRINT c=18
 //! | Total              |	MSG_TOTAL c=6
 //! |                    |
@@ -1465,7 +1465,7 @@ static void lcd_menu_fails_stats_mmu()
 	MENU_BEGIN();
 	MENU_ITEM_BACK_P(_T(MSG_MAIN));
 	MENU_ITEM_SUBMENU_P(_T(MSG_LAST_PRINT), lcd_menu_fails_stats_mmu_print);
-	MENU_ITEM_SUBMENU_P(_T(MSG_TOTAL), lcd_menu_fails_stats_mmu_total); ////c=18 r=1
+	MENU_ITEM_SUBMENU_P(_T(MSG_TOTAL), lcd_menu_fails_stats_mmu_total);
 	MENU_END();
 }
 
@@ -1485,9 +1485,9 @@ static void lcd_menu_fails_stats_mmu_print()
 	lcd_timeoutToStatus.stop(); //infinite timeout
     lcd_home();
     lcd_printf_P(PSTR("%S\n" " %-16.16S%-3d\n" " %-16.16S%-3d"), 
-        _T(MSG_LAST_PRINT_FAILURES), ////c=20
-        _T(MSG_MMU_FAILS), clamp999( eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL) ), ////c=14
-        _T(MSG_MMU_LOAD_FAILS), clamp999( eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL) )); ////c=14
+        _T(MSG_LAST_PRINT_FAILURES),
+        _T(MSG_MMU_FAILS), clamp999( eeprom_read_byte((uint8_t*)EEPROM_MMU_FAIL) ),
+        _T(MSG_MMU_LOAD_FAILS), clamp999( eeprom_read_byte((uint8_t*)EEPROM_MMU_LOAD_FAIL) ));
     menu_back_if_clicked_fb();
 }
 
@@ -1498,7 +1498,7 @@ static void lcd_menu_fails_stats_mmu_print()
 //! |Total failures      |	MSG_TOTAL_FAILURES c=20
 //! | MMU fails       000|	MSG_MMU_FAILS c=15
 //! | MMU load fails  000|	MSG_MMU_LOAD_FAILS c=15
-//! | MMU power fails 000|	c=15
+//! | MMU power fails 000|	MSG_MMU_POWER_FAILS c=15
 //! ----------------------
 //! @endcode
 //! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations.
@@ -1508,10 +1508,10 @@ static void lcd_menu_fails_stats_mmu_total()
 	lcd_timeoutToStatus.stop(); //infinite timeout
     lcd_home();
     lcd_printf_P(PSTR("%S\n" " %-16.16S%-3d\n" " %-16.16S%-3d\n" " %-16.16S%-3d"), 
-        _T(MSG_TOTAL_FAILURES), ////c=20
-        _T(MSG_MMU_FAILS), clamp999( eeprom_read_word((uint16_t*)EEPROM_MMU_FAIL_TOT) ), ////c=14
-        _T(MSG_MMU_LOAD_FAILS), clamp999( eeprom_read_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT) ), ////c=14
-        _i("MMU power fails"), clamp999( mmu_power_failures )); ////c=14 r=1
+        _T(MSG_TOTAL_FAILURES),
+        _T(MSG_MMU_FAILS), clamp999( eeprom_read_word((uint16_t*)EEPROM_MMU_FAIL_TOT) ),
+        _T(MSG_MMU_LOAD_FAILS), clamp999( eeprom_read_word((uint16_t*)EEPROM_MMU_LOAD_FAIL_TOT) ),
+        _i("MMU power fails"), clamp999( mmu_power_failures )); ////MSG_MMU_POWER_FAILS c=15
     menu_back_if_clicked_fb();
 }
 
@@ -1534,10 +1534,10 @@ static void lcd_menu_fails_stats_total()
 	lcd_timeoutToStatus.stop(); //infinite timeout
 	lcd_home();
     lcd_printf_P(failStatsFmt, 
-        _T(MSG_TOTAL_FAILURES),   ////c=20
-        _T(MSG_POWER_FAILURES), clamp999( eeprom_read_word((uint16_t*)EEPROM_POWER_COUNT_TOT) ),   ////c=14
-        _T(MSG_FIL_RUNOUTS), clamp999( eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT) ),   ////c=14
-        _T(MSG_CRASH),   ////c=7
+        _T(MSG_TOTAL_FAILURES),
+        _T(MSG_POWER_FAILURES), clamp999( eeprom_read_word((uint16_t*)EEPROM_POWER_COUNT_TOT) ),
+        _T(MSG_FIL_RUNOUTS), clamp999( eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT) ),
+        _T(MSG_CRASH),
             clamp999( eeprom_read_word((uint16_t*)EEPROM_CRASH_COUNT_X_TOT) ), 
             clamp999( eeprom_read_word((uint16_t*)EEPROM_CRASH_COUNT_Y_TOT) ));
     menu_back_if_clicked_fb();
@@ -1557,10 +1557,10 @@ static void lcd_menu_fails_stats_total()
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |Last print failures |	c=20 r=1
-//! | Power failures  000|	c=14 r=1
-//! | Runouts H 000 S 000|	c=14 r=1
-//! | Crash   X:000 Y:000|	c=7 r=1
+//! |Last print failures |	MSG_LAST_PRINT_FAILURES c=20
+//! | Power failures  000|	MSG_POWER_FAILURES c=14
+//! | Runouts H 000 S 000|	MSG_RUNOUTS c=7
+//! | Crash   X:000 Y:000|	MSG_CRASH c=7
 //! ----------------------
 //! @endcode
 
@@ -1575,20 +1575,20 @@ static void lcd_menu_fails_stats_print()
     lcd_home();
 #ifndef PAT9125
     lcd_printf_P(failStatsFmt,
-        _T(MSG_LAST_PRINT_FAILURES),  ////c=20
-        _T(MSG_POWER_FAILURES), power,  ////c=15
-        _T(MSG_FIL_RUNOUTS), filam,  ////c=15
-        _T(MSG_CRASH), crashX, crashY);  ////c=7
+        _T(MSG_LAST_PRINT_FAILURES),
+        _T(MSG_POWER_FAILURES), power,
+        _T(MSG_FIL_RUNOUTS), filam,
+        _T(MSG_CRASH), crashX, crashY);
 #else
     // On the MK3 include detailed PAT9125 statistics about soft failures
     lcd_printf_P(PSTR("%S\n"
                       " %-16.16S%-3d\n"
                       " %-7.7S H %-3d S %-3d\n"
                       " %-7.7S X %-3d Y %-3d"),
-                 _T(MSG_LAST_PRINT_FAILURES), ////c=20
-                 _T(MSG_POWER_FAILURES), power, ////c=15
-                 _i("Runouts"), filam, fsensor_softfail, //c=7
-                 _T(MSG_CRASH), crashX, crashY);  ////c=7
+                 _T(MSG_LAST_PRINT_FAILURES),
+                 _T(MSG_POWER_FAILURES), power,
+                 _i("Runouts"), filam, fsensor_softfail, //MSG_RUNOUTS c=7
+                 _T(MSG_CRASH), crashX, crashY);
 #endif
     menu_back_if_clicked_fb();
 }
@@ -1601,7 +1601,7 @@ static void lcd_menu_fails_stats_print()
 //! 
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! | Main               |	c=18 r=1
+//! | Main               |	MSG_MAIN c=18
 //! | Last print         |	MSG_LAST_PRINT c=18
 //! | Total              |	MSG_TOTAL c=6
 //! |                    |
@@ -1612,8 +1612,8 @@ static void lcd_menu_fails_stats()
 {
 	MENU_BEGIN();
 	MENU_ITEM_BACK_P(_T(MSG_MAIN));
-	MENU_ITEM_SUBMENU_P(_T(MSG_LAST_PRINT), lcd_menu_fails_stats_print);  ////c=18 r=1
-	MENU_ITEM_SUBMENU_P(_T(MSG_TOTAL), lcd_menu_fails_stats_total);  ////c=18 r=1
+	MENU_ITEM_SUBMENU_P(_T(MSG_LAST_PRINT), lcd_menu_fails_stats_print);
+	MENU_ITEM_SUBMENU_P(_T(MSG_TOTAL), lcd_menu_fails_stats_total);
 	MENU_END();
 }
 
@@ -1642,10 +1642,10 @@ static void lcd_menu_fails_stats()
     uint16_t filamentTotal = clamp999( eeprom_read_word((uint16_t*)EEPROM_FERROR_COUNT_TOT) );
 	lcd_home();
 	lcd_printf_P(failStatsFmt, 
-        _T(MSG_LAST_PRINT_FAILURES),   ////c=20
-        _T(MSG_FIL_RUNOUTS), filamentLast,   ////c=15
-        _T(MSG_TOTAL_FAILURES),  ////c=20
-        _T(MSG_FIL_RUNOUTS), filamentTotal);   ////c=15
+        _T(MSG_LAST_PRINT_FAILURES),
+        _T(MSG_FIL_RUNOUTS), filamentLast,
+        _T(MSG_TOTAL_FAILURES),
+        _T(MSG_FIL_RUNOUTS), filamentTotal);
 
 	menu_back_if_clicked();
 }
@@ -1671,10 +1671,10 @@ extern char* __malloc_heap_end;
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |RAM statistics      |	c=20 r=1
-//! | SP_min:        0000|	c=14 r=1
-//! | heap_start:    0000|	c=14 r=1
-//! | heap_end:      0000|	c=14 r=1
+//! |RAM statistics      |	c=20
+//! | SP_min:        0000|	c=14
+//! | heap_start:    0000|	c=14
+//! | heap_end:      0000|	c=14
 //! ----------------------
 //! @endcode
 //! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations.
@@ -1682,10 +1682,10 @@ static void lcd_menu_debug()
 {
 #ifdef DEBUG_STACK_MONITOR
 	lcd_home();
-	lcd_printf_P(PSTR("RAM statistics\n"  ////c=20 r=1
-        " SP_min: 0x%04x\n"   ////c=14 r=1
-        " heap_start: 0x%04x\n"   ////c=14 r=1
-        " heap_end: 0x%04x"), SP_min, __malloc_heap_start, __malloc_heap_end);  ////c=14 r=1
+	lcd_printf_P(PSTR("RAM statistics\n"  ////c=20
+        " SP_min: 0x%04x\n"   ////c=14
+        " heap_start: 0x%04x\n"   ////c=14
+        " heap_end: 0x%04x"), SP_min, __malloc_heap_start, __malloc_heap_end);  ////c=14
 #endif //DEBUG_STACK_MONITOR
 
 	menu_back_if_clicked_fb();
@@ -1706,10 +1706,10 @@ static void lcd_menu_temperatures_line(const char *ipgmLabel, int value){
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! | Nozzle:        000D|	c=14 r=1
-//! | Bed:           000D|	c=14 r=1
-//! | Ambient:       000D|	c=14 r=1
-//! | PINDA:         000D|	c=14 r=1
+//! | Nozzle:        000D|	MSG_NOZZLE c=14
+//! | Bed:           000D|	MSG_BEDc=14
+//! | Ambient:       000D|	MSG_AMBIENTc=14
+//! | PINDA:         000D|	MSG_PINDA c=14
 //! ----------------------
 //! D - Degree sysmbol		LCD_STR_DEGREE
 //! @endcode
@@ -1718,13 +1718,13 @@ static void lcd_menu_temperatures()
 {
     lcd_timeoutToStatus.stop(); //infinite timeout
     lcd_home();
-    lcd_menu_temperatures_line( _T(MSG_NOZZLE), (int)current_temperature[0] ); ////c=14 r=1
-    lcd_menu_temperatures_line( _T(MSG_BED), (int)current_temperature_bed );  ////c=14 r=1
+    lcd_menu_temperatures_line( _T(MSG_NOZZLE), (int)current_temperature[0] ); ////MSG_NOZZLE
+    lcd_menu_temperatures_line( _T(MSG_BED), (int)current_temperature_bed );  ////MSG_BED
 #ifdef AMBIENT_THERMISTOR
-    lcd_menu_temperatures_line( _i("Ambient"), (int)current_temperature_ambient );  ////c=14 r=1
+    lcd_menu_temperatures_line( _i("Ambient"), (int)current_temperature_ambient );  ////MSG_AMBIENT
 #endif //AMBIENT_THERMISTOR
 #ifdef PINDA_THERMISTOR
-    lcd_menu_temperatures_line( _i("PINDA"), (int)current_temperature_pinda );  ////c=14
+    lcd_menu_temperatures_line( _T(MSG_PINDA), (int)current_temperature_pinda );  ////MSG_PINDA
 #endif //PINDA_THERMISTOR
     menu_back_if_clicked();
 }
@@ -1739,9 +1739,9 @@ static void lcd_menu_temperatures()
 //! @code{.unparsed}
 //! |01234567890123456789|
 //! |                    |
-//! | PWR:         00.0V |	c=12 r=1
-//! | Bed:         00.0V |	c=12 r=1
-//! | IR :         00.0V |  c=12 r=1 optional
+//! | PWR:         00.0V |	c=12
+//! | Bed:         00.0V |	c=12
+//! | IR :         00.0V |  c=12 optional
 //! ----------------------
 //! @endcode
 //! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations.
@@ -1805,9 +1805,9 @@ static void lcd_preheat_menu()
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! | Main               |
-//! | Firmware:          |	c=18 r=1
-//! |  3.7.2.-2363       |	c=16 r=1
+//! | Main               |	MSG_MAIN c=18
+//! | Firmware:          |	c=18
+//! |  3.7.2.-2363       |	c=16
 //! | prusa3d.com        |	MSG_PRUSA3D
 //! | forum.prusa3d.com  |	MSG_PRUSA3D_FORUM
 //! | howto.prusa3d.com  |	MSG_PRUSA3D_HOWTO
@@ -1816,7 +1816,7 @@ static void lcd_preheat_menu()
 //! | howto.prusa3d.com  |	ELECTRONICS
 //! | howto.prusa3d.com  |	NOZZLE_TYPE
 //! | --------------     |	STR_SEPARATOR
-//! | Date:              |	c=17 r=1
+//! | Date:              |	c=17
 //! | MMM DD YYYY        |	__DATE__
 //! | --------------     |	STR_SEPARATOR
 //! @endcode
@@ -1824,21 +1824,21 @@ static void lcd_preheat_menu()
 //! If MMU is connected
 //! 
 //! 	@code{.unparsed}
-//! 	| MMU2 connected     |	c=18 r=1
+//! 	| MMU2 connected     |	c=18
 //! 	|  FW: 1.0.6-7064523 |
 //! 	@endcode
 //! 
 //! If MMU is not connected
 //! 
 //! 	@code{.unparsed}
-//! 	| MMU2       N/A     |	c=18 r=1
+//! 	| MMU2       N/A     |	c=18
 //! 	@endcode
 //! 
 //! If Flash Air is connected
 //! 
 //! 	@code{.unparsed}
 //! 	| --------------     |	STR_SEPARATOR
-//! 	| FlashAir IP Addr:  |	c=18 r=1
+//! 	| FlashAir IP Addr:  |	c=18
 //! 	|  192.168.1.100     |
 //! 	@endcode
 //! 
@@ -1869,7 +1869,7 @@ static void lcd_preheat_menu()
 //! If DEBUG_BUILD is defined
 //! 
 //! 	@code{.unparsed}
-//! 	| Debug              |	c=18 r=1
+//! 	| Debug              |	c=18
 //! 	@endcode
 //! ----------------------
 //! @endcode
@@ -1916,15 +1916,15 @@ static void lcd_support_menu()
       MENU_ITEM_BACK_P(PSTR("FW - " FW_version));
   }*/
       
-  MENU_ITEM_BACK_P(_i("prusa3d.com"));////MSG_PRUSA3D
-  MENU_ITEM_BACK_P(_i("forum.prusa3d.com"));////MSG_PRUSA3D_FORUM
-  MENU_ITEM_BACK_P(_i("howto.prusa3d.com"));////MSG_PRUSA3D_HOWTO
+  MENU_ITEM_BACK_P(_i("prusa3d.com"));////MSG_PRUSA3D c=18
+  MENU_ITEM_BACK_P(_i("forum.prusa3d.com"));////MSG_PRUSA3D_FORUM c=18
+  MENU_ITEM_BACK_P(_i("howto.prusa3d.com"));////MSG_PRUSA3D_HOWTO c=18
   MENU_ITEM_BACK_P(STR_SEPARATOR);
   MENU_ITEM_BACK_P(PSTR(FILAMENT_SIZE));
   MENU_ITEM_BACK_P(PSTR(ELECTRONICS));
   MENU_ITEM_BACK_P(PSTR(NOZZLE_TYPE));
   MENU_ITEM_BACK_P(STR_SEPARATOR);
-  MENU_ITEM_BACK_P(_i("Date:"));////MSG_DATE c=17 r=1
+  MENU_ITEM_BACK_P(_i("Date:"));////MSG_DATE c=17
   MENU_ITEM_BACK_P(PSTR(__DATE__));
 
 #ifdef IR_SENSOR_ANALOG
@@ -1936,15 +1936,15 @@ static void lcd_support_menu()
 	MENU_ITEM_BACK_P(STR_SEPARATOR);
 	if (mmu_enabled)
 	{
-		MENU_ITEM_BACK_P(_i("MMU2 connected"));  ////c=18 r=1
-		MENU_ITEM_BACK_P(PSTR(" FW:"));  ////c=17 r=1
+		MENU_ITEM_BACK_P(_i("MMU2 connected"));  ////MSG_MMU_CONNECTED c=18
+		MENU_ITEM_BACK_P(PSTR(" FW:"));  ////c=17
 		if (((menu_item - 1) == menu_line) && lcd_draw_update)
 		{
 		    lcd_set_cursor(6, menu_row);
 			if ((mmu_version > 0) && (mmu_buildnr > 0))
 				lcd_printf_P(PSTR("%d.%d.%d-%d"), mmu_version/100, mmu_version%100/10, mmu_version%10, mmu_buildnr);
 			else
-				lcd_puts_P(_i("unknown")); 
+				lcd_puts_P(_i("unknown"));  ////MSG_UNKNOWN c=13
 		}
 	}
 	else
@@ -1954,7 +1954,7 @@ static void lcd_support_menu()
   // Show the FlashAir IP address, if the card is available.
   if (_md->is_flash_air) {
       MENU_ITEM_BACK_P(STR_SEPARATOR);
-      MENU_ITEM_BACK_P(PSTR("FlashAir IP Addr:"));  //c=18 r=1
+      MENU_ITEM_BACK_P(PSTR("FlashAir IP Addr:"));  ////MSG_FLASHAIR c=18
       MENU_ITEM_BACK_P(PSTR(" "));
       if (((menu_item - 1) == menu_line) && lcd_draw_update) {
           lcd_set_cursor(2, menu_row);
@@ -1967,7 +1967,7 @@ static void lcd_support_menu()
   if (IP_address) {
       
       MENU_ITEM_BACK_P(STR_SEPARATOR);
-      MENU_ITEM_BACK_P(PSTR("Printer IP Addr:"));  //c=18 r=1
+      MENU_ITEM_BACK_P(PSTR("Printer IP Addr:"));  ////MSG_PRINTER_IP c=18
       MENU_ITEM_BACK_P(PSTR(" "));
       if (((menu_item - 1) == menu_line) && lcd_draw_update) {
           lcd_set_cursor(2, menu_row);
@@ -1980,21 +1980,21 @@ static void lcd_support_menu()
   MENU_ITEM_BACK_P(STR_SEPARATOR);
   MENU_ITEM_SUBMENU_P(_i("XYZ cal. details"), lcd_menu_xyz_y_min);////MSG_XYZ_DETAILS c=18
   MENU_ITEM_SUBMENU_P(_i("Extruder info"), lcd_menu_extruder_info);////MSG_INFO_EXTRUDER c=18
-  MENU_ITEM_SUBMENU_P(_i("Sensor info"), lcd_menu_show_sensors_state);////MSG_INFO_SENSORS c=18 r=1
+  MENU_ITEM_SUBMENU_P(_i("Sensor info"), lcd_menu_show_sensors_state);////MSG_INFO_SENSORS c=18
 
 #ifdef TMC2130
   MENU_ITEM_SUBMENU_P(_T(MSG_BELT_STATUS), lcd_menu_belt_status);////MSG_BELT_STATUS c=18
 #endif //TMC2130
     
-  MENU_ITEM_SUBMENU_P(_i("Temperatures"), lcd_menu_temperatures);////MSG_MENU_TEMPERATURES c=18 r=1
+  MENU_ITEM_SUBMENU_P(_i("Temperatures"), lcd_menu_temperatures);////MSG_MENU_TEMPERATURES c=18
 
 #if defined (VOLT_BED_PIN) || defined (VOLT_PWR_PIN)
-  MENU_ITEM_SUBMENU_P(_i("Voltages"), lcd_menu_voltages);////MSG_MENU_VOLTAGES c=18 r=1
+  MENU_ITEM_SUBMENU_P(_i("Voltages"), lcd_menu_voltages);////MSG_MENU_VOLTAGES c=18
 #endif //defined VOLT_BED_PIN || defined VOLT_PWR_PIN
 
 
 #ifdef DEBUG_BUILD
-  MENU_ITEM_SUBMENU_P(PSTR("Debug"), lcd_menu_debug);////c=18 r=1
+  MENU_ITEM_SUBMENU_P(PSTR("Debug"), lcd_menu_debug);////MSG_DEBUG c=18
 #endif /* DEBUG_BUILD */
 
   #endif //MK1BP
@@ -2057,18 +2057,18 @@ uint8_t nLevel;
 
 lcd_set_cursor(0,0);
 lcdui_print_temp(LCD_STR_THERMOMETER[0],(int)degHotend(0),(int)degTargetHotend(0));
-lcd_puts_at_P(0,1, _i("Press the knob"));                 ////MSG_ c=20
+lcd_puts_at_P(0,1, _i("Press the knob"));                 ////MSG_PRESS_KNOB c=20
 lcd_set_cursor(0,2);
 switch(eFilamentAction)
      {
      case FilamentAction::Load:
      case FilamentAction::AutoLoad:
      case FilamentAction::MmuLoad:
-          lcd_puts_P(_i("to load filament"));     ////MSG_ c=20
+          lcd_puts_P(_i("to load filament"));     ////MSG_TO_LOAD_FIL c=20
           break;
      case FilamentAction::UnLoad:
      case FilamentAction::MmuUnLoad:
-          lcd_puts_P(_i("to unload filament"));   ////MSG_ c=20
+          lcd_puts_P(_i("to unload filament"));   ////MSG_TO_UNLOAD_FIL c=20
           break;
      case FilamentAction::MmuEject:
      case FilamentAction::MmuCut:
@@ -2209,7 +2209,7 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed)
 
             lcd_clear();
             lcd_draw_update = 1;
-            lcd_puts_at_P(0, 3, _i(">Cancel")); ////MSG_ c=20 r=1
+            lcd_puts_at_P(0, 3, _T(MSG_CANCEL)); ////MSG_CANCEL
 
             lcd_set_cursor(0, 1);
             switch (eFilamentAction)
@@ -2217,19 +2217,19 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed)
             case FilamentAction::Load:
             case FilamentAction::AutoLoad:
             case FilamentAction::MmuLoad:
-                lcd_puts_P(_i("Preheating to load")); ////MSG_ c=20
+                lcd_puts_P(_i("Preheating to load")); ////MSG_PREHEATING_TO_LOAD c=20
                 raise_z_above(MIN_Z_FOR_LOAD);
                 break;
             case FilamentAction::UnLoad:
             case FilamentAction::MmuUnLoad:
-                lcd_puts_P(_i("Preheating to unload")); ////MSG_ c=20
+                lcd_puts_P(_i("Preheating to unload")); ////MSG_PREHEATING_TO_UNLOAD c=20
                 raise_z_above(MIN_Z_FOR_UNLOAD);
                 break;
             case FilamentAction::MmuEject:
-                lcd_puts_P(_i("Preheating to eject")); ////MSG_ c=20
+                lcd_puts_P(_i("Preheating to eject")); ////MSG_PREHEATING_TO_EJECT c=20
                 break;
             case FilamentAction::MmuCut:
-                lcd_puts_P(_i("Preheating to cut")); ////MSG_ c=20
+                lcd_puts_P(_i("Preheating to cut")); ////MSG_PREHEATING_TO_CUT c=20
                 break;
             case FilamentAction::None:
             case FilamentAction::Preheat:
@@ -2237,6 +2237,7 @@ void mFilamentItem(uint16_t nTemp, uint16_t nTempBed)
                 // handled earlier
                 break;
             }
+            lcd_puts_at_P(0, 3, _T(MSG_CANCEL)); ////MSG_CANCEL
         }
 
         lcd_set_cursor(0, 0);
@@ -2398,7 +2399,7 @@ void lcd_wait_interact() {
 
   lcd_set_cursor(0, 1);
 #ifdef SNMM 
-  lcd_puts_P(_i("Prepare new filament"));////MSG_PREPARE_FILAMENT c=20 r=1
+  lcd_puts_P(_i("Prepare new filament"));////MSG_PREPARE_FILAMENT c=20
 #else
   lcd_puts_P(_i("Insert filament"));////MSG_INSERT_FILAMENT c=20
 #endif
@@ -2412,7 +2413,7 @@ void lcd_change_success() {
 
   lcd_clear();
 
-  lcd_puts_at_P(0, 2, _i("Change success!"));////MSG_CHANGE_SUCCESS
+  lcd_puts_at_P(0, 2, _i("Change success!"));////MSG_CHANGE_SUCCESS c=20
 
 
 }
@@ -2434,7 +2435,7 @@ void lcd_loading_color() {
 
   lcd_clear();
 
-  lcd_puts_at_P(0, 0, _i("Loading color"));////MSG_LOADING_COLOR
+  lcd_puts_at_P(0, 0, _i("Loading color"));////MSG_LOADING_COLOR c=20
   lcd_puts_at_P(0, 2, _T(MSG_PLEASE_WAIT));
   lcd_loading_progress_bar((FILAMENTCHANGE_FINALFEED * 1000ul) / FILAMENTCHANGE_EFEED_FINAL); //show progress bar during filament loading slow sequence
 }
@@ -2483,7 +2484,7 @@ void lcd_alright() {
   lcd_puts_at_P(0, 0, _i("Changed correctly?"));////MSG_CORRECTLY c=20
   lcd_puts_at_P(1, 1, _T(MSG_YES));
   lcd_puts_at_P(1, 2, _i("Filament not loaded"));////MSG_NOT_LOADED c=19
-  lcd_puts_at_P(1, 3, _i("Color not correct"));////MSG_NOT_COLOR
+  lcd_puts_at_P(1, 3, _i("Color not correct"));////MSG_NOT_COLOR c=19
   lcd_putc_at(0, 1, '>');
 
 
@@ -2595,9 +2596,9 @@ static void lcd_LoadFilament()
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |Filament used:      | c=19
+//! |Filament used:      | MSG_FILAMENT_USED c=19
 //! |           0000.00m |
-//! |Print time:         | c=19 r=1
+//! |Print time:         | MSG_PRINT_TIME c=19
 //! |        00h 00m 00s |
 //! ----------------------
 //! @endcode
@@ -2606,9 +2607,9 @@ static void lcd_LoadFilament()
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |Total filament:     | c=19 r=1
+//! |Total filament:     | MSG_TOTAL_FILAMENT c=19
 //! |           0000.00m |
-//! |Total print time:   | c=19 r=1
+//! |Total print time:   | MSG_TOTAL_PRINT_TIME c=19
 //! |        00d 00h 00m |
 //! ----------------------
 //! @endcode
@@ -2631,8 +2632,8 @@ void lcd_menu_statistics()
 			"%S:\n"
 			"%10ldh %02hhdm %02hhds"
 		    ),
-            _i("Filament used"), _met,  ////c=19
-            _i("Print time"), _h, _m, _s);  ////c=19 r=1
+            _i("Filament used"), _met,  ////MSG_FILAMENT_USED c=19
+            _i("Print time"), _h, _m, _s);  ////MSG_PRINT_TIME c=19
 		menu_back_if_clicked_fb();
 	}
 	else
@@ -2653,8 +2654,8 @@ void lcd_menu_statistics()
 			"%S:\n"
 			"%10ldd %02hhdh %02hhdm"
             ),
-            _i("Total filament"), _filament_m,  ////c=19 r=1
-            _i("Total print time"), _days, _hours, _minutes);  ////c=19 r=1
+            _i("Total filament"), _filament_m,  ////MSG_TOTAL_FILAMENT c=19
+            _i("Total print time"), _days, _hours, _minutes);  ////MSG_TOTAL_PRINT_TIME c=19
         menu_back_if_clicked_fb();
 	}
 }
@@ -2742,10 +2743,10 @@ void lcd_move_e()
 //! This functionality is applied more often for MK2 printers.
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |Y distance from min |	c=19 r=1
+//! |Y distance from min |	MSG_Y_DIST_FROM_MIN
 //! | --------------     |	STR_SEPARATOR
-//! |Left:       00.00mm |	c=11 r=1
-//! |Right:      00.00mm |	c=11 r=1
+//! |Left:       00.00mm |	MSG_LEFT c=10, c=8
+//! |Right:      00.00mm |	MSG_RIGHT c=10, c=8
 //! ----------------------
 //! @endcode
 //! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations.
@@ -2755,20 +2756,20 @@ static void lcd_menu_xyz_y_min()
     count_xyz_details(distanceMin);
 	lcd_home();
 	lcd_printf_P(_N(
-	  "%S:\n"
+	  "%S\n"
 	  "%S\n"
 	  "%S:\n"
 	  "%S:"
 	 ),
-	 _i("Y distance from min"),  ////c=19 r=1
+	 _i("Y distance from min"),  ////MSG_Y_DIST_FROM_MIN c=20
 	 separator,
-	 _i("Left"),  ////c=11 r=1
-	 _i("Right")  ////c=11 r=1
+	 _i("Left"),  ////MSG_LEFT c=10
+	 _i("Right")  ////MSG_RIGHT c=10
 	);
 	for (uint8_t i = 0; i < 2; i++)
 	{
 		lcd_set_cursor(11,2+i);
-		if (distanceMin[i] >= 200) lcd_puts_P(_T(MSG_NA)); ////c=3 r=1
+		if (distanceMin[i] >= 200) lcd_puts_P(_T(MSG_NA));
 		else lcd_printf_P(_N("%6.2fmm"), distanceMin[i]);
 	}
     if (lcd_clicked())
@@ -2785,10 +2786,10 @@ float _deg(float rad)
 //! 
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |Measured skew: 0.00D|	c=13 r=1
+//! |Measured skew: 0.00D|	MSG_MEASURED_SKEW, c=4
 //! | --------------     |	STR_SEPARATOR
-//! |Slight skew:   0.12D|	c=13 r=1  c=4 r=1
-//! |Severe skew:   0.25D|	c=13 r=1  c=4 r=1
+//! |Slight skew:   0.12D|	MSG_SLIGHT_SKEW, c=4
+//! |Severe skew:   0.25D|	MSG_SEVERE_SKEW, c=4
 //! ----------------------
 //! D - Degree sysmbol		LCD_STR_DEGREE
 //! @endcode
@@ -2803,10 +2804,10 @@ static void lcd_menu_xyz_skew()
 	  "%-15.15S%3.2f\x01\n"
 	  "%-15.15S%3.2f\x01"
 	 ),
-	 _i("Measured skew"),  ////c=13 r=1
+	 _i("Measured skew"),  ////MSG_MEASURED_SKEW c=13
 	 separator,
-	 _i("Slight skew:"), _deg(bed_skew_angle_mild),  ////c=13 r=1  c=4 r=1
-	 _i("Severe skew:"), _deg(bed_skew_angle_extreme)  ////c=13 r=1  c=4 r=1
+	 _i("Slight skew:"), _deg(bed_skew_angle_mild),  ////MSG_SLIGHT_SKEW c=13, c=4
+	 _i("Severe skew:"), _deg(bed_skew_angle_extreme)  ////MSG_SEVERE_SKEW c=13, c=4
 	);
 	if (angleDiff < 100){
 		lcd_set_cursor(15,0);
@@ -2822,19 +2823,19 @@ static void lcd_menu_xyz_skew()
 //! 
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |[0;0] point offset  |	c=20 r=1
+//! |[0;0] point offset  |	MSG_MEASURED_OFFSET c=20
 //! | --------------     |	STR_SEPARATOR
-//! |X:          000.00mm|	c=10 r=1
-//! |Y:          000.00mm|	c=10 r=1
+//! |X:          000.00mm|	c=10
+//! |Y:          000.00mm|	c=10
 //! ----------------------
 //! @endcode
 //! @todo Positioning of the messages and values on LCD aren't fixed to their exact place. This causes issues with translations.
 static void lcd_menu_xyz_offset()
 {
-    lcd_puts_at_P(0, 0, _i("[0;0] point offset"));////MSG_MEASURED_OFFSET
+    lcd_puts_at_P(0, 0, _i("[0;0] point offset"));////MSG_MEASURED_OFFSET c=20
     lcd_puts_at_P(0, 1, separator);
-    lcd_puts_at_P(0, 2, PSTR("X"));  ////c=10 r=1
-    lcd_puts_at_P(0, 3, PSTR("Y"));  ////c=10 r=1
+    lcd_puts_at_P(0, 2, PSTR("X"));
+    lcd_puts_at_P(0, 3, PSTR("Y"));
 
     float vec_x[2];
     float vec_y[2];
@@ -3032,10 +3033,10 @@ void lcd_adjust_bed(void)
         eeprom_update_byte((unsigned char*)EEPROM_BED_CORRECTION_VALID, 1);
     );
     MENU_ITEM_BACK_P(_T(MSG_SETTINGS));
-	MENU_ITEM_EDIT_int3_P(_i("Left side [um]"),  &_md->left,  -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_LEFT c=14 r=1
-    MENU_ITEM_EDIT_int3_P(_i("Right side[um]"), &_md->right, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_RIGHT c=14 r=1
-    MENU_ITEM_EDIT_int3_P(_i("Front side[um]"), &_md->front, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_FRONT c=14 r=1
-    MENU_ITEM_EDIT_int3_P(_i("Rear side [um]"),  &_md->rear,  -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_REAR c=14 r=1
+	MENU_ITEM_EDIT_int3_P(_i("Left side [um]"),  &_md->left,  -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_LEFT c=14
+    MENU_ITEM_EDIT_int3_P(_i("Right side[um]"), &_md->right, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_RIGHT c=14
+    MENU_ITEM_EDIT_int3_P(_i("Front side[um]"), &_md->front, -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_FRONT c=14
+    MENU_ITEM_EDIT_int3_P(_i("Rear side [um]"),  &_md->rear,  -BED_ADJUSTMENT_UM_MAX, BED_ADJUSTMENT_UM_MAX);////MSG_BED_CORRECTION_REAR c=14
     MENU_ITEM_FUNCTION_P(_T(MSG_RESET), lcd_adjust_bed_reset);////MSG_RESET c=14
     MENU_END();
 }
@@ -3053,7 +3054,7 @@ void lcd_adjust_bed(void)
 void pid_extruder()
 {
 	lcd_clear();
-	lcd_puts_at_P(1, 0, _i("Set temperature:"));////MSG_SET_TEMPERATURE c=19 r=1
+	lcd_puts_at_P(1, 0, _i("Set temperature:"));////MSG_SET_TEMPERATURE c=19
 	pid_temp += int(lcd_encoder);
 	if (pid_temp > HEATER_0_MAXTEMP) pid_temp = HEATER_0_MAXTEMP;
 	if (pid_temp < HEATER_0_MINTEMP) pid_temp = HEATER_0_MINTEMP;
@@ -3201,7 +3202,7 @@ void lcd_wait_for_cool_down() {
 	int fanSpeedBckp = fanSpeed;
 	fanSpeed = 255;
 	while ((degHotend(0)>MAX_HOTEND_TEMP_CALIBRATION) || (degBed() > MAX_BED_TEMP_CALIBRATION)) {
-		lcd_display_message_fullscreen_P(_i("Waiting for nozzle and bed cooling"));////MSG_WAITING_TEMP c=20 r=3
+		lcd_display_message_fullscreen_P(_i("Waiting for nozzle and bed cooling"));////MSG_WAITING_TEMP c=20 r=4
 
 		lcd_set_cursor(0, 4);
 		lcd_print(LCD_STR_THERMOMETER[0]);
@@ -3621,16 +3622,16 @@ void lcd_bed_calibration_show_result(BedSkewOffsetDetectionResultType result, ui
 {
     const char *msg = NULL;
     if (result == BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND) {
-        lcd_show_fullscreen_message_and_wait_P(_i("XYZ calibration failed. Bed calibration point was not found."));////MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=8
+        lcd_show_fullscreen_message_and_wait_P(_i("XYZ calibration failed. Bed calibration point was not found."));////MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
     } else if (result == BED_SKEW_OFFSET_DETECTION_FITTING_FAILED) {
         if (point_too_far_mask == 0)
             msg = _T(MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED);
         else if (point_too_far_mask == 2 || point_too_far_mask == 7)
             // Only the center point or all the three front points.
-            msg = _i("XYZ calibration failed. Front calibration points not reachable.");////MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=8
+            msg = _i("XYZ calibration failed. Front calibration points not reachable.");////MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
         else if ((point_too_far_mask & 1) == 0)
             // The right and maybe the center point out of reach.
-            msg = _i("XYZ calibration failed. Right front calibration point not reachable.");////MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=8
+            msg = _i("XYZ calibration failed. Right front calibration point not reachable.");////MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
         else
             // The left and maybe the center point out of reach.
             msg = _i("XYZ calibration failed. Left front calibration point not reachable.");////MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8
@@ -3748,7 +3749,7 @@ static void lcd_print_state(uint8_t state)
 //!
 //! @code{.unparsed}
 //! |01234567890123456789|
-//! |PINDA N/A  FINDA N/A|  MSG_PINDA c=6 MSG_FINDA c=6
+//! |PINDA N/A  FINDA N/A|  MSG_PINDA c=5 MSG_FINDA c=5
 //! |Fil. sensor      N/A|  MSG_FSENSOR 
 //! |Xd    000  Yd    000|  MSG_XD
 //! |Int   000  Shut  000|  
@@ -3767,13 +3768,13 @@ static void lcd_show_sensors_state()
 		finda_state = mmu_finda;
 	}
 	//lcd_puts_at_P(0, 0, _i("Sensor state"));
-	lcd_puts_at_P(0, 0, _i("PINDA"));
+	lcd_puts_at_P(0, 0, _T(MSG_PINDA));
 	lcd_set_cursor(LCD_WIDTH - 14, 0);
 	lcd_print_state(pinda_state);
 	
 	if (mmu_enabled == true)
 	{
-		lcd_puts_at_P(10, 0, _i("FINDA"));
+		lcd_puts_at_P(10, 0, _i("FINDA"));////MSG_FINDA c=5
 		lcd_set_cursor(LCD_WIDTH - 3, 0);
 		lcd_print_state(finda_state);
 	}
@@ -3806,9 +3807,9 @@ static void lcd_show_sensors_state()
 			lcd_set_cursor(0, 2);
 			lcd_printf_P(_N(
 				"Xd:  %3d  "
-				"Yd:  %3d\n" ////c=4 r=1
-				"Int: %3d  " ////c=4 r=1
-				"Shut:  %3d"  ////c=4 r=1
+				"Yd:  %3d\n" ////c=4
+				"Int: %3d  " ////c=4
+				"Shut:  %3d"  ////c=4
 			),
 				pat9125_x, pat9125_y,
 				pat9125_b, pat9125_s
@@ -4151,10 +4152,10 @@ void lcd_move_menu_axis()
 {
 	MENU_BEGIN();
 	MENU_ITEM_BACK_P(_T(MSG_SETTINGS));
-	MENU_ITEM_SUBMENU_P(_i("Move X"), lcd_move_x);////MSG_MOVE_X
-	MENU_ITEM_SUBMENU_P(_i("Move Y"), lcd_move_y);////MSG_MOVE_Y
-	MENU_ITEM_SUBMENU_P(_i("Move Z"), lcd_move_z);////MSG_MOVE_Z
-	MENU_ITEM_SUBMENU_P(_T(MSG_EXTRUDER), lcd_move_e);////MSG_EXTRUDER
+	MENU_ITEM_SUBMENU_P(_i("Move X"), lcd_move_x);////MSG_MOVE_X c=18
+	MENU_ITEM_SUBMENU_P(_i("Move Y"), lcd_move_y);////MSG_MOVE_Y c=18
+	MENU_ITEM_SUBMENU_P(_i("Move Z"), lcd_move_z);////MSG_MOVE_Z c=18
+	MENU_ITEM_SUBMENU_P(_T(MSG_EXTRUDER), lcd_move_e);
 	MENU_END();
 }
 
@@ -4284,7 +4285,7 @@ static void lcd_silent_mode_set() {
 	}
   eeprom_update_byte((unsigned char *)EEPROM_SILENT, SilentModeMenu);
 #ifdef TMC2130
-  lcd_display_message_fullscreen_P(_i("Mode change in progress ..."));
+  lcd_display_message_fullscreen_P(_i("Mode change in progress ..."));////MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
   // Wait until the planner queue is drained and the stepper routine achieves
   // an idle state.
   st_synchronize();
@@ -4353,7 +4354,7 @@ void menu_setlang(unsigned char lang)
 {
 	if (!lang_select(lang))
 	{
-		if (lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Copy selected language?"), false, true))
+		if (lcd_show_fullscreen_message_yes_no_and_wait_P(_i("Copy selected language?"), false, true))////MSG_COPY_SEL_LANG c=20 r=3
 			lang_boot_update_start(lang);
 		lcd_update_enable(true);
 		lcd_clear();
@@ -4447,7 +4448,7 @@ void lcd_pinda_calibration_menu()
 {
 	MENU_BEGIN();
 		MENU_ITEM_BACK_P(_T(MSG_MENU_CALIBRATION));
-		MENU_ITEM_SUBMENU_P(_i("Calibrate"), lcd_calibrate_pinda);////MSG_CALIBRATE_PINDA c=17 r=1
+		MENU_ITEM_SUBMENU_P(_i("Calibrate"), lcd_calibrate_pinda);////MSG_CALIBRATE_PINDA c=17
 	MENU_END();
 }
 
@@ -4624,8 +4625,8 @@ void lcd_v2_calibration()
 	if (mmu_enabled)
 	{
 	    const uint8_t filament = choose_menu_P(
-            _i("Select filament:"), ////c=20 r=1
-            _T(MSG_FILAMENT),_i("Cancel"));  ////c=19 r=1
+            _i("Select filament:"), ////MSG_SELECT_FILAMENT c=20
+            _T(MSG_FILAMENT),(_T(MSG_CANCEL)+1)); //Hack to reuse MSG but strip 1st char off
 	    if (filament < 5)
 	    {
 	        lay1cal_filament = filament;
@@ -4731,12 +4732,12 @@ static void lcd_wizard_load()
 {
 	if (mmu_enabled)
 	{
-		lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament into the first tube of the MMU, then press the knob to load it."));////c=20 r=8
+		lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament into the first tube of the MMU, then press the knob to load it."));////MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 		tmp_extruder = 0;
 	} 
 	else
 	{
-		lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament into the extruder, then press the knob to load it."));////MSG_WIZARD_LOAD_FILAMENT c=20 r=8
+		lcd_show_fullscreen_message_and_wait_P(_i("Please insert filament into the extruder, then press the knob to load it."));////MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 	}	
 	lcd_update_enable(false);
 	lcd_clear();
@@ -4760,12 +4761,12 @@ static void wizard_lay1cal_message(bool cold)
     if (mmu_enabled)
     {
         lcd_show_fullscreen_message_and_wait_P(
-                _i("Choose a filament for the First Layer Calibration and select it in the on-screen menu."));
+                _i("Choose a filament for the First Layer Calibration and select it in the on-screen menu."));////MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
     }
     else if (cold)
     {
         lcd_show_fullscreen_message_and_wait_P(
-                _i("Select temperature which matches your material."));
+                _i("Select temperature which matches your material."));////MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
     }
     lcd_show_fullscreen_message_and_wait_P(
             _i("The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter).")); ////MSG_WIZARD_V2_CAL_2 c=20 r=12
@@ -4875,8 +4876,8 @@ void lcd_wizard(WizState state)
 			else end = true;
 			break;
 		case S::Z:
-			lcd_show_fullscreen_message_and_wait_P(_i("Please remove shipping helpers first."));
-			lcd_show_fullscreen_message_and_wait_P(_i("Now remove the test print from steel sheet."));
+			lcd_show_fullscreen_message_and_wait_P(_i("Please remove shipping helpers first."));////MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
+			lcd_show_fullscreen_message_and_wait_P(_i("Now remove the test print from steel sheet."));////MSG_REMOVE_TEST_PRINT c=20 r=4
 			lcd_show_fullscreen_message_and_wait_P(_i("I will run z calibration now."));////MSG_WIZARD_Z_CAL c=20 r=8
 			wizard_event = lcd_show_fullscreen_message_yes_no_and_wait_P(_T(MSG_STEEL_SHEET_CHECK), false, false);
 			if (!wizard_event) lcd_show_fullscreen_message_and_wait_P(_T(MSG_PLACE_STEEL_SHEET));
@@ -4916,7 +4917,7 @@ void lcd_wizard(WizState state)
 			break;
 		case S::Preheat:
 		    menu_goto(lcd_preheat_menu,0,false,true);
-		    lcd_show_fullscreen_message_and_wait_P(_i("Select nozzle preheat temperature which matches your material."));
+		    lcd_show_fullscreen_message_and_wait_P(_i("Select nozzle preheat temperature which matches your material."));////MSG_SEL_PREHEAT_TEMP c=20 r=6
 		    end = true; // Leave wizard temporarily for lcd_preheat_menu
 		    break;
 		case S::LoadFilHot:
@@ -4947,7 +4948,7 @@ void lcd_wizard(WizState state)
 			}
 			else
 			{
-			    lcd_show_fullscreen_message_and_wait_P(_i("If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."));
+			    lcd_show_fullscreen_message_and_wait_P(_i("If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."));////MSG_ADDITIONAL_SHEETS c=20 r=9
 				state = S::Finish;
 			}
 			break;
@@ -5042,13 +5043,13 @@ do\
         if (mmu_enabled == false)\
         {\
             if (fsensor_autoload_enabled)\
-                MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), _T(MSG_ON), lcd_set_filament_autoload);/*////MSG_FSENS_AUTOLOAD_ON c=17 r=1*/\
+                MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), _T(MSG_ON), lcd_set_filament_autoload);/*////MSG_FSENS_AUTOLOAD_ON c=17*/\
             else\
-                MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), _T(MSG_OFF), lcd_set_filament_autoload);/*////MSG_FSENS_AUTOLOAD_OFF c=17 r=1*/\
+                MENU_ITEM_TOGGLE_P(_T(MSG_FSENSOR_AUTOLOAD), _T(MSG_OFF), lcd_set_filament_autoload);/*////MSG_FSENS_AUTOLOAD_OFF c=17*/\
             /*if (fsensor_oq_meassure_enabled)*/\
-                /*MENU_ITEM_FUNCTION_P(_i("F. OQ meass. [on]"), lcd_set_filament_oq_meass);*//*////MSG_FSENS_OQMEASS_ON c=17 r=1*/\
+                /*MENU_ITEM_FUNCTION_P(_i("F. OQ meass. [on]"), lcd_set_filament_oq_meass);*//*////MSG_FSENS_OQMEASS_ON c=17*/\
             /*else*/\
-                /*MENU_ITEM_FUNCTION_P(_i("F. OQ meass.[off]"), lcd_set_filament_oq_meass);*//*////MSG_FSENS_OQMEASS_OFF c=17 r=1*/\
+                /*MENU_ITEM_FUNCTION_P(_i("F. OQ meass.[off]"), lcd_set_filament_oq_meass);*//*////MSG_FSENS_OQMEASS_OFF c=17*/\
         }\
     }\
 }\
@@ -5559,7 +5560,7 @@ void lcd_hw_setup_menu(void)                      // can not be "static"
 
     MENU_ITEM_SUBMENU_P(_T(MSG_STEEL_SHEETS), sheets_menu);
     SETTINGS_NOZZLE;
-    MENU_ITEM_SUBMENU_P(_i("Checks"), lcd_checking_menu);
+    MENU_ITEM_SUBMENU_P(_i("Checks"), lcd_checking_menu);  ////MSG_CHECKS c=18
 
 #ifdef IR_SENSOR_ANALOG
     FSENSOR_ACTION_NA;
@@ -5591,12 +5592,12 @@ static void lcd_settings_menu()
 	MENU_BEGIN();
 	MENU_ITEM_BACK_P(_T(MSG_MAIN));
 
-	MENU_ITEM_SUBMENU_P(_i("Temperature"), lcd_control_temperature_menu);////MSG_TEMPERATURE
+	MENU_ITEM_SUBMENU_P(_i("Temperature"), lcd_control_temperature_menu);////MSG_TEMPERATURE c=18
 
 	if (!PRINTER_ACTIVE || isPrintPaused)
     {
-	    MENU_ITEM_SUBMENU_P(_i("Move axis"), lcd_move_menu_1mm);////MSG_MOVE_AXIS
-	    MENU_ITEM_GCODE_P(_i("Disable steppers"), PSTR("M84"));////MSG_DISABLE_STEPPERS
+	    MENU_ITEM_SUBMENU_P(_i("Move axis"), lcd_move_menu_1mm);////MSG_MOVE_AXIS c=18
+	    MENU_ITEM_GCODE_P(_i("Disable steppers"), PSTR("M84"));////MSG_DISABLE_STEPPERS c=18
     }
 
 	SETTINGS_FILAMENT_SENSOR;
@@ -5620,7 +5621,7 @@ static void lcd_settings_menu()
 	MENU_ITEM_SUBMENU_P(_T(MSG_MESH_BED_LEVELING), lcd_mesh_bed_leveling_settings);
 
 #if defined (TMC2130) && defined (LINEARITY_CORRECTION)
-    MENU_ITEM_SUBMENU_P(_i("Lin. correction"), lcd_settings_linearity_correction_menu);
+    MENU_ITEM_SUBMENU_P(_i("Lin. correction"), lcd_settings_linearity_correction_menu);////MSG_LIN_CORRECTION c=18
 #endif //LINEARITY_CORRECTION && TMC2130
     if(has_temperature_compensation())
     {
@@ -5635,7 +5636,7 @@ static void lcd_settings_menu()
 		MENU_ITEM_SUBMENU_P(_T(MSG_BABYSTEP_Z), lcd_babystep_z);
 
 #if (LANG_MODE != 0)
-	MENU_ITEM_SUBMENU_P(_i("Select language"), lcd_language_menu);////MSG_LANGUAGE_SELECT
+	MENU_ITEM_SUBMENU_P(_i("Select language"), lcd_language_menu);////MSG_LANGUAGE_SELECT c=18
 #endif //(LANG_MODE != 0)
 
 	SETTINGS_SD;
@@ -5689,40 +5690,40 @@ static void lcd_calibration_menu()
   MENU_ITEM_BACK_P(_T(MSG_MAIN));
   if (!isPrintPaused)
   {
-	MENU_ITEM_FUNCTION_P(_i("Wizard"), lcd_wizard);////MSG_WIZARD c=17 r=1
+	MENU_ITEM_FUNCTION_P(_i("Wizard"), lcd_wizard);////MSG_WIZARD c=17
     if (lcd_commands_type == LcdCommands::Idle)
     {
          MENU_ITEM_SUBMENU_P(_T(MSG_V2_CALIBRATION), lcd_first_layer_calibration_reset);////MSG_V2_CALIBRATION c=18
     }
 	MENU_ITEM_GCODE_P(_T(MSG_AUTO_HOME), PSTR("G28 W"));
 #ifdef TMC2130
-	MENU_ITEM_FUNCTION_P(_i("Belt test        "), lcd_belttest_v);////MSG_BELTTEST c=17
+	MENU_ITEM_FUNCTION_P(_i("Belt test        "), lcd_belttest_v);////MSG_BELTTEST c=18
 #endif //TMC2130
-	MENU_ITEM_FUNCTION_P(_i("Selftest         "), lcd_selftest_v);////MSG_SELFTEST c=17
+	MENU_ITEM_FUNCTION_P(_i("Selftest         "), lcd_selftest_v);////MSG_SELFTEST c=18
 #ifdef MK1BP
     // MK1
     // "Calibrate Z"
     MENU_ITEM_GCODE_P(_T(MSG_HOMEYZ), PSTR("G28 Z"));
 #else //MK1BP
     // MK2
-    MENU_ITEM_FUNCTION_P(_i("Calibrate XYZ"), lcd_mesh_calibration);////MSG_CALIBRATE_BED
+    MENU_ITEM_FUNCTION_P(_i("Calibrate XYZ"), lcd_mesh_calibration);////MSG_CALIBRATE_BED c=18
     // "Calibrate Z" with storing the reference values to EEPROM.
     MENU_ITEM_SUBMENU_P(_T(MSG_HOMEYZ), lcd_mesh_calibration_z);
 #ifndef SNMM
-	//MENU_ITEM_FUNCTION_P(_i("Calibrate E"), lcd_calibrate_extruder);////MSG_CALIBRATE_E c=20 r=1
+	//MENU_ITEM_FUNCTION_P(_i("Calibrate E"), lcd_calibrate_extruder);////MSG_CALIBRATE_E c=20
 #endif
     // "Mesh Bed Leveling"
     MENU_ITEM_SUBMENU_P(_T(MSG_MESH_BED_LEVELING), lcd_mesh_bedleveling);
 	
 #endif //MK1BP
 
-    MENU_ITEM_SUBMENU_P(_i("Bed level correct"), lcd_adjust_bed);////MSG_BED_CORRECTION_MENU
-	MENU_ITEM_SUBMENU_P(_i("PID calibration"), pid_extruder);////MSG_PID_EXTRUDER c=17 r=1
+    MENU_ITEM_SUBMENU_P(_i("Bed level correct"), lcd_adjust_bed);////MSG_BED_CORRECTION_MENU c=18
+	MENU_ITEM_SUBMENU_P(_i("PID calibration"), pid_extruder);////MSG_PID_EXTRUDER c=17
 #ifndef TMC2130
     MENU_ITEM_SUBMENU_P(_i("Show end stops"), menu_show_end_stops);////MSG_SHOW_END_STOPS c=18
 #endif
 #ifndef MK1BP
-    MENU_ITEM_GCODE_P(_i("Reset XYZ calibr."), PSTR("M44"));////MSG_CALIBRATE_BED_RESET
+    MENU_ITEM_GCODE_P(_i("Reset XYZ calibr."), PSTR("M44"));////MSG_CALIBRATE_BED_RESET c=18
 #endif //MK1BP
 #ifndef SNMM
 	//MENU_ITEM_FUNCTION_P(MSG_RESET_CALIBRATE_E, lcd_extr_cal_reset);
@@ -5730,7 +5731,7 @@ static void lcd_calibration_menu()
 #ifndef MK1BP
     if(has_temperature_compensation())
     {
-	    MENU_ITEM_SUBMENU_P(_i("Temp. calibration"), lcd_pinda_calibration_menu);////MSG_CALIBRATION_PINDA_MENU c=17 r=1
+	    MENU_ITEM_SUBMENU_P(_i("Temp. calibration"), lcd_pinda_calibration_menu);////MSG_CALIBRATION_PINDA_MENU c=17
     }
 #endif //MK1BP
   }
@@ -5846,8 +5847,8 @@ static char snmm_stop_print_menu() { //menu for choosing which filaments will be
 	lcd_clear();
 	lcd_puts_at_P(0,0,_T(MSG_UNLOAD_FILAMENT)); lcd_print(':');
 	lcd_set_cursor(0, 1); lcd_print('>');
-	lcd_puts_at_P(1,2,_i("Used during print"));////MSG_USED c=19 r=1
-	lcd_puts_at_P(1,3,_i("Current"));////MSG_CURRENT c=19 r=1
+	lcd_puts_at_P(1,2,_i("Used during print"));////MSG_USED c=19
+	lcd_puts_at_P(1,3,_i("Current"));////MSG_CURRENT c=19
 	char cursor_pos = 1;
 	int enc_dif = 0;
 	KEEPALIVE_STATE(PAUSED_FOR_USER);
@@ -6194,10 +6195,10 @@ static void fil_unload_menu()
 static void change_extr_menu(){
 	MENU_BEGIN();
 	MENU_ITEM_BACK_P(_T(MSG_MAIN));
-	MENU_ITEM_FUNCTION_P(_i("Extruder 1"), extr_change_0);////MSG_EXTRUDER_1 c=17 r=1
-	MENU_ITEM_FUNCTION_P(_i("Extruder 2"), extr_change_1);////MSG_EXTRUDER_2 c=17 r=1
-	MENU_ITEM_FUNCTION_P(_i("Extruder 3"), extr_change_2);////MSG_EXTRUDER_3 c=17 r=1
-	MENU_ITEM_FUNCTION_P(_i("Extruder 4"), extr_change_3);////MSG_EXTRUDER_4 c=17 r=1
+	MENU_ITEM_FUNCTION_P(_i("Extruder 1"), extr_change_0);////MSG_EXTRUDER_1 c=17
+	MENU_ITEM_FUNCTION_P(_i("Extruder 2"), extr_change_1);////MSG_EXTRUDER_2 c=17
+	MENU_ITEM_FUNCTION_P(_i("Extruder 3"), extr_change_2);////MSG_EXTRUDER_3 c=17
+	MENU_ITEM_FUNCTION_P(_i("Extruder 4"), extr_change_3);////MSG_EXTRUDER_4 c=17
 
 	MENU_END();
 }
@@ -6490,14 +6491,14 @@ static void lcd_sheet_menu()
     MENU_ITEM_BACK_P(_T(MSG_STEEL_SHEETS));
 
 	if(eeprom_is_sheet_initialized(selected_sheet)){
-	    MENU_ITEM_SUBMENU_P(_i("Select"), change_sheet); //// c=18
+	    MENU_ITEM_SUBMENU_P(_i("Select"), change_sheet); ////MSG_SELECT c=18
 	}
 
     if (lcd_commands_type == LcdCommands::Idle)
     {
         MENU_ITEM_SUBMENU_P(_T(MSG_V2_CALIBRATION), activate_calibrate_sheet);////MSG_V2_CALIBRATION c=18
     }
-    MENU_ITEM_SUBMENU_P(_i("Rename"), lcd_rename_sheet_menu); //// c=18
+    MENU_ITEM_SUBMENU_P(_i("Rename"), lcd_rename_sheet_menu); ////MSG_RENAME c=18
 	MENU_ITEM_FUNCTION_P(_T(MSG_RESET), lcd_reset_sheet); ////MSG_RESET c=14
 
     MENU_END();
@@ -6571,9 +6572,9 @@ static void lcd_main_menu()
         MENU_ITEM_FUNCTION_P(_T(MSG_FILAMENTCHANGE), lcd_colorprint_change);//8
 
     if ( moves_planned() || PRINTER_ACTIVE ) {
-        MENU_ITEM_SUBMENU_P(_i("Tune"), lcd_tune_menu);////MSG_TUNE
+        MENU_ITEM_SUBMENU_P(_i("Tune"), lcd_tune_menu);////MSG_TUNE c=18
     } else {
-        MENU_ITEM_SUBMENU_P(_i("Preheat"), lcd_preheat_menu);////MSG_PREHEAT
+        MENU_ITEM_SUBMENU_P(_i("Preheat"), lcd_preheat_menu);////MSG_PREHEAT c=18
     }
 
     if (mesh_bed_leveling_flag == false && homing_flag == false && !isPrintPaused) {
@@ -6615,7 +6616,7 @@ static void lcd_main_menu()
         }
     } else {
         bMain=true;                                   // flag (i.e. 'fake parameter') for 'lcd_sdcard_menu()' function
-        MENU_ITEM_SUBMENU_P(_i("No SD card"), lcd_sdcard_menu);////MSG_NO_CARD
+        MENU_ITEM_SUBMENU_P(_i("No SD card"), lcd_sdcard_menu);////MSG_NO_CARD c=18
 #if SDCARDDETECT < 1
         MENU_ITEM_GCODE_P(_i("Init. SD card"), PSTR("M21")); // Manually initialize the SD-card via user interface////MSG_INIT_SDCARD
 #endif //SDCARDDETECT
@@ -6635,7 +6636,7 @@ static void lcd_main_menu()
     if ( ! ( IS_SD_PRINTING || is_usb_printing || (lcd_commands_type == LcdCommands::Layer1Cal) ) ) {
         if (mmu_enabled) {
             MENU_ITEM_SUBMENU_P(_T(MSG_LOAD_FILAMENT), fil_load_menu);
-            MENU_ITEM_SUBMENU_P(_i("Load to nozzle"), mmu_load_to_nozzle_menu);
+            MENU_ITEM_SUBMENU_P(_i("Load to nozzle"), mmu_load_to_nozzle_menu);////MSG_LOAD_TO_NOZZLE c=18
 //-//          MENU_ITEM_FUNCTION_P(_T(MSG_UNLOAD_FILAMENT), extr_unload);
 //bFilamentFirstRun=true;
             MENU_ITEM_SUBMENU_P(_T(MSG_UNLOAD_FILAMENT), mmu_unload_filament);
@@ -6646,7 +6647,7 @@ static void lcd_main_menu()
         } else {
 #ifdef SNMM
             MENU_ITEM_SUBMENU_P(_T(MSG_UNLOAD_FILAMENT), fil_unload_menu);
-            MENU_ITEM_SUBMENU_P(_i("Change extruder"), change_extr_menu);////MSG_CHANGE_EXTR c=20 r=1
+            MENU_ITEM_SUBMENU_P(_i("Change extruder"), change_extr_menu);////MSG_CHANGE_EXTR c=20
 #endif
 #ifdef FILAMENT_SENSOR
             if ((fsensor_autoload_enabled == true) && (fsensor_enabled == true) && (mmu_enabled == false))
@@ -6665,16 +6666,16 @@ static void lcd_main_menu()
     }
 
     if (!is_usb_printing && (lcd_commands_type != LcdCommands::Layer1Cal)) {
-        MENU_ITEM_SUBMENU_P(_i("Statistics  "), lcd_menu_statistics);////MSG_STATISTICS
+        MENU_ITEM_SUBMENU_P(_i("Statistics  "), lcd_menu_statistics);////MSG_STATISTICS c=18
     }
 
 #if defined(TMC2130) || defined(FILAMENT_SENSOR)
-    MENU_ITEM_SUBMENU_P(_i("Fail stats"), lcd_menu_fails_stats);
+    MENU_ITEM_SUBMENU_P(_i("Fail stats"), lcd_menu_fails_stats);////MSG_FAIL_STATS c=18
 #endif
     if (mmu_enabled) {
-        MENU_ITEM_SUBMENU_P(_i("Fail stats MMU"), lcd_menu_fails_stats_mmu);
+        MENU_ITEM_SUBMENU_P(_i("Fail stats MMU"), lcd_menu_fails_stats_mmu);////MSG_MMU_FAIL_STATS c=18
     }
-    MENU_ITEM_SUBMENU_P(_i("Support"), lcd_support_menu);////MSG_SUPPORT
+    MENU_ITEM_SUBMENU_P(_i("Support"), lcd_support_menu);////MSG_SUPPORT c=18
 #ifdef LCD_TEST
     MENU_ITEM_SUBMENU_P(_i("XFLASH init"), lcd_test_menu);////MSG_SUPPORT
 #endif //LCD_TEST
@@ -6806,13 +6807,13 @@ static void lcd_tune_menu()
 
 	MENU_BEGIN();
 	MENU_ITEM_BACK_P(_T(MSG_MAIN)); //1
-	MENU_ITEM_EDIT_int3_P(_i("Speed"), &feedmultiply, 10, 999);//2////MSG_SPEED
+	MENU_ITEM_EDIT_int3_P(_i("Speed"), &feedmultiply, 10, 999);//2////MSG_SPEED c=15
 
 	MENU_ITEM_EDIT_int3_P(_T(MSG_NOZZLE), &target_temperature[0], 0, HEATER_0_MAXTEMP - 10);//3
 	MENU_ITEM_EDIT_int3_P(_T(MSG_BED), &target_temperature_bed, 0, BED_MAXTEMP - 10);//4
 
 	MENU_ITEM_EDIT_int3_P(_T(MSG_FAN_SPEED), &fanSpeed, 0, 255);//5
-	MENU_ITEM_EDIT_int3_P(_i("Flow"), &extrudemultiply, 10, 999);//6////MSG_FLOW
+	MENU_ITEM_EDIT_int3_P(_i("Flow"), &extrudemultiply, 10, 999);//6////MSG_FLOW c=15
 #ifdef LA_LIVE_K
 	MENU_ITEM_EDIT_advance_K();//7
 #endif
@@ -7317,7 +7318,7 @@ static bool lcd_selftest_IRsensor(bool bStandalone)
             lcd_selftest_error(TestError::FsensorLevel,"HIGH","");
         return(false);
     }
-    lcd_show_fullscreen_message_and_wait_P(_i("Insert the filament (do not load it) into the extruder and then press the knob."));////c=20 r=6
+    lcd_show_fullscreen_message_and_wait_P(_i("Insert the filament (do not load it) into the extruder and then press the knob."));////MSG_INSERT_FIL c=20 r=6
     volt_IR_int = current_voltage_raw_IR;
     printf_P(PSTR("Measured filament sensor low level: %4.2fV\n"), Raw2Voltage(volt_IR_int));
     if(volt_IR_int > (IRsensor_Lmax_TRESHOLD)){
@@ -7341,18 +7342,18 @@ static void lcd_detect_IRsensor(){
     /// @todo Add autodetection with MMU2s
     loaded = ! READ(IR_SENSOR_PIN);
     if(loaded ){
-        lcd_show_fullscreen_message_and_wait_P(_i("Please unload the filament first, then repeat this action."));
+        lcd_show_fullscreen_message_and_wait_P(_i("Please unload the filament first, then repeat this action."));////MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
         return;
     } else {
-        lcd_show_fullscreen_message_and_wait_P(_i("Please check the IR sensor connection, unload filament if present."));
+        lcd_show_fullscreen_message_and_wait_P(_i("Please check the IR sensor connection, unload filament if present."));////MSG_CHECK_IR_CONNECTION c=20 r=4
         bAction = lcd_selftest_IRsensor(true);
     }
     if(bAction){
-        lcd_show_fullscreen_message_and_wait_P(_i("Sensor verified, remove the filament now."));////c=20 r=3
+        lcd_show_fullscreen_message_and_wait_P(_i("Sensor verified, remove the filament now."));////MSG_FS_VERIFIED c=20 r=3
         // the fsensor board has been successfully identified, any previous "not responding" may be cleared now
         fsensor_not_responding = false;
     } else {
-        lcd_show_fullscreen_message_and_wait_P(_i("Verification failed, remove the filament and try again."));////c=20 r=5
+        lcd_show_fullscreen_message_and_wait_P(_i("Verification failed, remove the filament and try again."));////MSG_FIL_FAILED c=20 r=5
         // here it is unclear what to to with the fsensor_not_responding flag
     }
     bMenuFSDetect=false;                              // de-inhibits some code inside "manage_inactivity()"
@@ -7616,7 +7617,7 @@ bool lcd_selftest()
 	
 	if (_result)
 	{
-		LCD_ALERTMESSAGERPGM(_i("Self test OK"));////MSG_SELFTEST_OK
+		LCD_ALERTMESSAGERPGM(_i("Self test OK"));////MSG_SELFTEST_OK c=20
 	}
 	else
 	{
@@ -8058,30 +8059,30 @@ static void lcd_selftest_error(TestError testError, const char *_error_1, const
 
 	lcd_clear();
 
-	lcd_puts_at_P(0, 0, _i("Selftest error !"));////MSG_SELFTEST_ERROR
-	lcd_puts_at_P(0, 1, _i("Please check :"));////MSG_SELFTEST_PLEASECHECK
+	lcd_puts_at_P(0, 0, _i("Selftest error !"));////MSG_SELFTEST_ERROR c=20
+	lcd_puts_at_P(0, 1, _i("Please check :"));////MSG_SELFTEST_PLEASECHECK c=20
 
 	switch (testError)
 	{
 	case TestError::Heater:
-		lcd_puts_at_P(0, 2, _i("Heater/Thermistor"));////MSG_SELFTEST_HEATERTHERMISTOR
-		lcd_puts_at_P(0, 3, _i("Not connected"));////MSG_SELFTEST_NOTCONNECTED
+		lcd_puts_at_P(0, 2, _i("Heater/Thermistor"));////MSG_SELFTEST_HEATERTHERMISTOR c=20
+		lcd_puts_at_P(0, 3, _i("Not connected"));////MSG_SELFTEST_NOTCONNECTED c=20
 		break;
 	case TestError::Bed:
-		lcd_puts_at_P(0, 2, _i("Bed / Heater"));////MSG_SELFTEST_BEDHEATER
+		lcd_puts_at_P(0, 2, _i("Bed / Heater"));////MSG_SELFTEST_BEDHEATER c=20
 		lcd_puts_at_P(0, 3, _T(MSG_SELFTEST_WIRINGERROR));
 		break;
 	case TestError::Endstops:
-		lcd_puts_at_P(0, 2, _i("Endstops"));////MSG_SELFTEST_ENDSTOPS
+		lcd_puts_at_P(0, 2, _i("Endstops"));////MSG_SELFTEST_ENDSTOPS c=20
 		lcd_puts_at_P(0, 3, _T(MSG_SELFTEST_WIRINGERROR));
-		lcd_set_cursor(17, 3);
+		lcd_set_cursor(18, 3);
 		lcd_print(_error_1);
 		break;
 	case TestError::Motor:
 		lcd_puts_at_P(0, 2, _T(MSG_SELFTEST_MOTOR));
 		lcd_set_cursor(18, 2);
 		lcd_print(_error_1);
-		lcd_puts_at_P(0, 3, _i("Endstop"));////MSG_SELFTEST_ENDSTOP
+		lcd_puts_at_P(0, 3, _i("Endstop"));////MSG_SELFTEST_ENDSTOP c=16
 		lcd_set_cursor(18, 3);
 		lcd_print(_error_2);
 		break;
@@ -8104,20 +8105,20 @@ static void lcd_selftest_error(TestError testError, const char *_error_1, const
 		lcd_print(_error_1);
 		break;
 	case TestError::Pulley:
-		lcd_puts_at_P(0, 2, _i("Loose pulley"));////MSG_LOOSE_PULLEY c=20 r=1
+		lcd_puts_at_P(0, 2, _i("Loose pulley"));////MSG_LOOSE_PULLEY c=20
 		lcd_puts_at_P(0, 3, _T(MSG_SELFTEST_MOTOR));
 		lcd_set_cursor(18, 3);
 		lcd_print(_error_1);
 		break;
 	case TestError::Axis:
-		lcd_puts_at_P(0, 2, _i("Axis length"));////MSG_SELFTEST_AXIS_LENGTH
-		lcd_puts_at_P(0, 3, _i("Axis"));////MSG_SELFTEST_AXIS
+		lcd_puts_at_P(0, 2, _i("Axis length"));////MSG_SELFTEST_AXIS_LENGTH c=20
+		lcd_puts_at_P(0, 3, _i("Axis"));////MSG_SELFTEST_AXIS c=16
 		lcd_set_cursor(18, 3);
 		lcd_print(_error_1);
 		break;
 	case TestError::SwappedFan:
-		lcd_puts_at_P(0, 2, _i("Front/left fans"));////MSG_SELFTEST_FANS
-		lcd_puts_at_P(0, 3, _i("Swapped"));////MSG_SELFTEST_SWAPPED
+		lcd_puts_at_P(0, 2, _i("Front/left fans"));////MSG_SELFTEST_FANS c=20
+		lcd_puts_at_P(0, 3, _i("Swapped"));////MSG_SELFTEST_SWAPPED c=16
 		lcd_set_cursor(18, 3);
 		lcd_print(_error_1);
 		break;
@@ -8127,7 +8128,7 @@ static void lcd_selftest_error(TestError testError, const char *_error_1, const
 		break;
 	case TestError::TriggeringFsensor:
           lcd_puts_at_P(0, 2, _T(MSG_SELFTEST_FILAMENT_SENSOR));
-          lcd_puts_at_P(0, 3, _i("False triggering"));////c=20
+          lcd_puts_at_P(0, 3, _i("False triggering"));////MSG_FALSE_TRIGGERING c=20
           break;
 	case TestError::FsensorLevel:
           lcd_puts_at_P(0, 2, _T(MSG_SELFTEST_FILAMENT_SENSOR));
@@ -8429,7 +8430,7 @@ static int lcd_selftest_screen(TestScreen screen, int _progress, int _progress_s
 	if (screen == TestScreen::FsensorOk) lcd_puts_P(_T(MSG_SELFTEST_CHECK_FSENSOR));
 	if (screen == TestScreen::AllCorrect) lcd_puts_P(_i("All correct      "));////MSG_SELFTEST_CHECK_ALLCORRECT c=20
 	if (screen == TestScreen::Failed) lcd_puts_P(_T(MSG_SELFTEST_FAILED));
-	if (screen == TestScreen::Home) lcd_puts_P(_i("Calibrating home"));////c=20 r=1
+	if (screen == TestScreen::Home) lcd_puts_P(_i("Calibrating home"));////MSG_CALIBRATING_HOME c=20
 
 	lcd_puts_at_P(0, 1, separator);
 	if ((screen >= TestScreen::ExtruderFan) && (screen <= TestScreen::FansOk))
@@ -8517,7 +8518,7 @@ static bool check_file(const char* filename) {
 	cmdqueue_reset();
 	cmdqueue_serial_disabled = true;
 
-	menu_progressbar_init(bytesToCheck, _i("Checking file"));
+	menu_progressbar_init(bytesToCheck, _i("Checking file"));////MSG_CHECKING_FILE c=17
 	while (!card.eof() && !result) {
 		menu_progressbar_update(card.get_sdpos() - startPos);
 		card.sdprinting = true;
@@ -8866,7 +8867,7 @@ void menu_lcd_lcdupdate_func(void)
                if(menu_menu==lcd_sdcard_menu)
                     menu_back();
 			card.release();
-			LCD_MESSAGERPGM(_i("Card removed"));////MSG_SD_REMOVED
+			LCD_MESSAGERPGM(_i("Card removed"));////MSG_SD_REMOVED c=20
 		}
 	}
 #endif//CARDINSERTED

+ 6 - 6
Firmware/util.cpp

@@ -393,13 +393,13 @@ switch(oCheckMode)
      {
      case ClCheckMode::_Warn:
 //          lcd_show_fullscreen_message_and_wait_P(_i("Printer nozzle diameter differs from the G-code. Continue?"));
-lcd_display_message_fullscreen_P(_i("Printer nozzle diameter differs from the G-code. Continue?"));
+lcd_display_message_fullscreen_P(_i("Printer nozzle diameter differs from the G-code. Continue?"));////MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT);
 //???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery
 lcd_update_enable(true);           // display / status-line recovery
           break;
      case ClCheckMode::_Strict:
-          lcd_show_fullscreen_message_and_wait_P(_i("Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."));
+          lcd_show_fullscreen_message_and_wait_P(_i("Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."));////MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
           lcd_print_stop();
           break;
      case ClCheckMode::_None:
@@ -479,13 +479,13 @@ switch(oCheckVersion)
      {
      case ClCheckVersion::_Warn:
 //          lcd_show_fullscreen_message_and_wait_P(_i("Printer FW version differs from the G-code. Continue?"));
-lcd_display_message_fullscreen_P(_i("G-code sliced for a newer firmware. Continue?"));
+lcd_display_message_fullscreen_P(_i("G-code sliced for a newer firmware. Continue?"));////MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT);
 //???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery
 lcd_update_enable(true);           // display / status-line recovery
           break;
      case ClCheckVersion::_Strict:
-          lcd_show_fullscreen_message_and_wait_P(_i("G-code sliced for a newer firmware. Please update the firmware. Print cancelled."));
+          lcd_show_fullscreen_message_and_wait_P(_i("G-code sliced for a newer firmware. Please update the firmware. Print cancelled."));////MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8
           lcd_print_stop();
           break;
      case ClCheckVersion::_None:
@@ -512,13 +512,13 @@ switch(oCheckGcode)
      {
      case ClCheckGcode::_Warn:
 //          lcd_show_fullscreen_message_and_wait_P(_i("Printer G-code level differs from the G-code. Continue?"));
-lcd_display_message_fullscreen_P(_i("G-code sliced for a different level. Continue?"));
+lcd_display_message_fullscreen_P(_i("G-code sliced for a different level. Continue?"));////MSG_GCODE_DIFF_CONTINUE c=20 r=4
 lcd_wait_for_click_delay(MSG_PRINT_CHECKING_FAILED_TIMEOUT);
 //???custom_message_type=CUSTOM_MSG_TYPE_STATUS; // display / status-line recovery
 lcd_update_enable(true);           // display / status-line recovery
           break;
      case ClCheckGcode::_Strict:
-          lcd_show_fullscreen_message_and_wait_P(_i("G-code sliced for a different level. Please re-slice the model again. Print cancelled."));
+          lcd_show_fullscreen_message_and_wait_P(_i("G-code sliced for a different level. Please re-slice the model again. Print cancelled."));////MSG_GCODE_DIFF_CANCELLED c=20 r=7
           lcd_print_stop();
           break;
      case ClCheckGcode::_None:

+ 3 - 1
lang/config.sh

@@ -17,7 +17,9 @@ export OBJCOPY=$ARDUINO/hardware/tools/avr/bin/avr-objcopy
 export OBJDUMP=$ARDUINO/hardware/tools/avr/bin/avr-objdump
 #
 # Output folder:
-export OUTDIR="../../Prusa-Firmware-build"
+if [ -z "$OUTDIR" ]; then
+    export OUTDIR="../../Prusa-Firmware-build"
+fi
 #
 # Objects folder:
 export OBJDIR="$OUTDIR/sketch"

+ 1 - 1
lang/lang-build.sh

@@ -88,7 +88,7 @@ generate_binary()
  rm -f lang_$1.dat
  LNG=$1
  #check lang dictionary
- ./lang-check.py $1 --no-warning
+ ./lang-check.py $1 #--no-warning
  #create lang_xx.tmp - different processing for 'en' language
  if [ "$1" = "en" ]; then
   #remove comments and empty lines

+ 105 - 10
lang/lang-check.py

@@ -1,8 +1,57 @@
 #!/usr/bin/env python3
+#
+# Version 1.0.1
+#
+#############################################################################
+# Change log:
+#  7 May  2019, Ondrej Tuma, Initial
+#  9 June 2020, 3d-gussner, Added version and Change log
+#  9 June 2020, 3d-gussner, Wrap text to 20 char and rows
+#  9 June 2020, 3d-gussner, colored output
+#  2 Apr. 2021, 3d-gussner, Fix and improve text warp
+# 22 Apr. 2021, DRracer, add English source to output
+#############################################################################
+#
 """Check lang files."""
 from argparse import ArgumentParser
 from traceback import print_exc
-from sys import stderr
+from sys import stdout, stderr
+import textwrap
+
+def color_maybe(color_attr, text):
+    if stdout.isatty():
+        return '\033[0;' + str(color_attr) + 'm' + text + '\033[0m'
+    else:
+        return text
+
+red = lambda text: color_maybe(31, text)
+green = lambda text: color_maybe(32, text)
+yellow = lambda text: color_maybe(33, text)
+
+
+def print_wrapped(wrapped_text, rows, cols):
+    if type(wrapped_text) == str:
+        wrapped_text = [wrapped_text]
+    for r, line in enumerate(wrapped_text):
+        r_ = str(r + 1).rjust(3)
+        if r >= rows:
+            r_ = color_maybe(31, r_)
+        print((' {} |{:' + str(cols) + 's}|').format(r_, line))
+
+def print_truncated(text, cols):
+    if len(text) <= cols:
+        prefix = text.ljust(cols)
+        suffix = ''
+    else:
+        prefix = text[0:cols]
+        suffix = color_maybe(31, text[cols:])
+    print('   |' + prefix + '|' + suffix)
+
+
+def unescape(text):
+    if '\\' not in text:
+        return text
+    return text.encode('ascii').decode('unicode_escape')
 
 
 def parse_txt(lang, no_warning):
@@ -12,48 +61,94 @@ def parse_txt(lang, no_warning):
     else:
         file_path = "lang_en_%s.txt" % lang
 
+    print(green("Start %s lang-check" % lang))
+
     lines = 1
     with open(file_path) as src:
         while True:
             comment = src.readline().split(' ')
-            src.readline()  # source
-            translation = src.readline()[:-1]
+            #print (comment) #Debug
 
+#Check if columns and rows are defined
             cols = None
             rows = None
             for item in comment[1:]:
                 key, val = item.split('=')
                 if key == 'c':
                     cols = int(val)
+                    #print ("c=",cols) #Debug
                 elif key == 'r':
                     rows = int(val)
+                    #print ("r=",rows) #Debug
                 else:
                     raise RuntimeError(
                         "Unknown display definition %s on line %d" %
                         (' '.join(comment), lines))
             if cols is None and rows is None:
                 if not no_warning:
-                    print("[W]: No display definition on line %d" % lines)
+                    print(yellow("[W]: No display definition on line %d" % lines))
                 cols = len(translation)     # propably fullscreen
             if rows is None:
                 rows = 1
+            elif rows > 1 and cols != 20:
+                print(yellow("[W]: Multiple rows with odd number of columns on line %d" % lines))
+
+#Wrap text to 20 chars and rows
+            source = src.readline()[:-1].strip('"')
+            #print (source) #Debug
+            translation = src.readline()[:-1].strip('"')
+            if translation == '\\x00':
+                # crude hack to handle intentionally-empty translations
+                translation = ''
+
+            # handle backslash sequences
+            source = unescape(source)
+            translation = unescape(translation)
 
-            if len(translation)-2 > cols*rows:
-                stderr.write(
-                    "[E]: Text %s is longer then definiton on line %d\n" %
-                    (translation, lines))
-                stderr.flush()
+            #print (translation) #Debug
+            wrapped_source = list(textwrap.TextWrapper(width=cols).wrap(source))
+            rows_count_source = len(wrapped_source)
+            wrapped_translation = list(textwrap.TextWrapper(width=cols).wrap(translation))
+            rows_count_translation = len(wrapped_translation)
+#End wrap text
+
+            # Check for potential errors in the definition
+            if rows == 1 and (len(source) > cols or rows_count_source > rows):
+                print(yellow('[W]: Source text longer than %d cols as defined on line %d:' % (cols, lines)))
+                print_truncated(source, cols)
+                print()
+            elif rows_count_source > rows:
+                print(yellow('[W]: Wrapped source text longer than %d rows as defined on line %d:' % (rows, lines)))
+                print_wrapped(wrapped_source, rows, cols)
+                print()
+
+            # Check for translation lenght
+            if (rows_count_translation > rows) or (rows == 1 and len(translation) > cols):
+                print(red('[E]: Text is longer then definition on line %d: rows diff=%d cols=%d rows=%d'
+                          % (lines, rows_count_translation-rows, cols, rows)))
+                if rows == 1:
+                    print(yellow(' source text:'))
+                    print_truncated(source, cols)
+                    print(yellow(' translated text:'))
+                    print_truncated(translation, cols)
+                else:
+                    print(yellow(' source text:'))
+                    print_wrapped(wrapped_source, rows, cols)
+                    print(yellow(' translated text:'))
+                    print_wrapped(wrapped_translation, rows, cols)
+                print()
 
             if len(src.readline()) != 1:  # empty line
                 break
             lines += 4
+    print(green("End %s lang-check" % lang))
 
 
 def main():
     """Main function."""
     parser = ArgumentParser(
         description=__doc__,
-        usage="$(prog)s lang")
+        usage="%(prog)s lang")
     parser.add_argument(
         "lang", nargs='?', default="en", type=str,
         help="Check lang file (en|cs|de|es|fr|nl|it|pl)")

+ 213 - 232
lang/lang_en.txt

@@ -1,6 +1,3 @@
-#
-"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
-
 #MSG_IR_03_OR_OLDER c=18
 " 0.3 or older"
 
@@ -22,7 +19,7 @@
 #MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 c=14
 " of 9"
 
-#MSG_MEASURED_OFFSET
+#MSG_MEASURED_OFFSET c=20
 "[0;0] point offset"
 
 #MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4
@@ -31,9 +28,6 @@
 #MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4
 "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode"
 
-#
-">Cancel"
-
 #MSG_BABYSTEPPING_Z c=15
 "Adjusting Z:"
 
@@ -43,7 +37,7 @@
 #MSG_WIZARD_DONE c=20 r=8
 "All is done. Happy printing!"
 
-#
+#MSG_AMBIENT c=14
 "Ambient"
 
 #MSG_AUTO c=6
@@ -55,10 +49,10 @@
 #MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2
 "Are left and right Z~carriages all up?"
 
-#MSG_AUTO_DEPLETE c=17 r=1
+#MSG_AUTO_DEPLETE c=13
 "SpoolJoin"
 
-#MSG_AUTO_HOME
+#MSG_AUTO_HOME c=18
 "Auto home"
 
 #MSG_AUTOLOAD_FILAMENT c=18
@@ -70,29 +64,29 @@
 #MSG_AUTOLOADING_ENABLED c=20 r=4
 "Autoloading filament is active, just press the knob and insert filament..."
 
-#MSG_SELFTEST_AXIS_LENGTH
+#MSG_SELFTEST_AXIS_LENGTH c=20
 "Axis length"
 
-#MSG_SELFTEST_AXIS
+#MSG_SELFTEST_AXIS c=16
 "Axis"
 
-#MSG_SELFTEST_BEDHEATER
+#MSG_SELFTEST_BEDHEATER c=20
 "Bed / Heater"
 
-#MSG_BED_DONE
+#MSG_BED_DONE c=20
 "Bed done"
 
-#MSG_BED_HEATING
+#MSG_BED_HEATING c=20
 "Bed Heating"
 
-#MSG_BED_CORRECTION_MENU
+#MSG_BED_CORRECTION_MENU c=18
 "Bed level correct"
 
-#MSG_BELTTEST c=17
+#MSG_BELTTEST c=18
 "Belt test        "
 
-#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5
-"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
+#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
+"Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."
 
 #MSG_BRIGHT c=6
 "Bright"
@@ -100,7 +94,7 @@
 #MSG_BRIGHTNESS c=18
 "Brightness"
 
-#MSG_BED
+#MSG_BED c=13
 "Bed"
 
 #MSG_BELT_STATUS c=18
@@ -109,18 +103,21 @@
 #MSG_RECOVER_PRINT c=20 r=2
 "Blackout occurred. Recover print?"
 
-#
+#MSG_CALIBRATING_HOME c=20
 "Calibrating home"
 
-#MSG_CALIBRATE_BED
+#MSG_CALIBRATE_BED c=18
 "Calibrate XYZ"
 
-#MSG_HOMEYZ
+#MSG_HOMEYZ c=18
 "Calibrate Z"
 
-#MSG_CALIBRATE_PINDA c=17 r=1
+#MSG_CALIBRATE_PINDA c=17
 "Calibrate"
 
+#MSG_CANCEL2 c=10
+">Cancel"
+
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 
@@ -130,55 +127,52 @@
 #MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 
-#MSG_HOMEYZ_DONE
+#MSG_HOMEYZ_DONE c=20
 "Calibration done"
 
-#MSG_MENU_CALIBRATION
+#MSG_MENU_CALIBRATION c=18
 "Calibration"
 
-#
-"Cancel"
-
-#MSG_SD_REMOVED
+#MSG_SD_REMOVED c=20
 "Card removed"
 
-#
+#MSG_CHECKING_FILE c=17
 "Checking file"
 
-#MSG_NOT_COLOR
+#MSG_NOT_COLOR c=19
 "Color not correct"
 
-#MSG_COOLDOWN
+#MSG_COOLDOWN c=18
 "Cooldown"
 
-#
+#MSG_COPY_SEL_LANG c=20 r=3
 "Copy selected language?"
 
 #MSG_CRASHDETECT c=13
 "Crash det."
 
-#
+#MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
 "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
 
-#MSG_CRASH_DETECTED c=20 r=1
+#MSG_CRASH_DETECTED c=20
 "Crash detected."
 
-#
+#MSG_CRASH_RESUME c=20 r=3
 "Crash detected. Resume print?"
 
 #MSG_CRASH c=7
 "Crash"
 
-#MSG_CURRENT c=19 r=1
+#MSG_CURRENT c=19
 "Current"
 
-#MSG_DATE c=17 r=1
+#MSG_DATE c=17
 "Date:"
 
 #MSG_COMMUNITY_MADE c=18
 "Community made"
 
-#MSG_DISABLE_STEPPERS
+#MSG_DISABLE_STEPPERS c=18
 "Disable steppers"
 
 #MSG_BABYSTEP_Z_NOT_SET c=20 r=12
@@ -196,16 +190,16 @@
 #MSG_EJECT_FILAMENT c=16
 "Eject filament"
 
-#MSG_EJECTING_FILAMENT c=20 r=1
+#MSG_EJECTING_FILAMENT c=20
 "Ejecting filament"
 
 #MSG_SELFTEST_ENDSTOP_NOTHIT c=20
 "Endstop not hit"
 
-#MSG_SELFTEST_ENDSTOP
+#MSG_SELFTEST_ENDSTOP c=16
 "Endstop"
 
-#MSG_SELFTEST_ENDSTOPS
+#MSG_SELFTEST_ENDSTOPS c=20
 "Endstops"
 
 #MSG_STACK_ERROR c=20 r=4
@@ -217,7 +211,7 @@
 #MSG_CUTTER c=9
 "Cutter"
 
-# c=18
+#MSG_MMU_CUTTING_FIL c=18
 "Cutting filament"
 
 #MSG_FSENS_NOT_RESPONDING c=20 r=4
@@ -226,7 +220,7 @@
 #MSG_DIM c=6
 "Dim"
 
-#MSG_ERROR
+#MSG_ERROR c=10
 "ERROR:"
 
 #MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18
@@ -238,13 +232,13 @@
 #MSG_EXTRUDER c=17
 "Extruder"
 
-#
+#MSG_MMU_FAIL_STATS c=18
 "Fail stats MMU"
 
 #MSG_FSENSOR_AUTOLOAD c=13
 "F. autoload"
 
-#
+#MSG_FAIL_STATS c=18
 "Fail stats"
 
 #MSG_FAN_SPEED c=14
@@ -256,7 +250,7 @@
 #MSG_FANS_CHECK c=13
 "Fans check"
 
-#MSG_FSENSOR
+#MSG_FSENSOR c=12
 "Fil. sensor"
 
 #MSG_FIL_RUNOUTS c=15
@@ -274,7 +268,7 @@
 #MSG_FILAMENT_USED c=19
 "Filament used"
 
-#MSG_PRINT_TIME c=19 r=1
+#MSG_PRINT_TIME c=19
 "Print time"
 
 #MSG_FS_ACTION c=10
@@ -292,46 +286,46 @@
 #MSG_WIZARD_SELFTEST c=20 r=8
 "First, I will run the selftest to check most common assembly problems."
 
-#
+#MSG_MMU_FIX_ISSUE c=20 r=4
 "Fix the issue and then press button on MMU unit."
 
-#MSG_FLOW
+#MSG_FLOW c=15
 "Flow"
 
-#MSG_PRUSA3D_FORUM
+#MSG_PRUSA3D_FORUM c=18
 "forum.prusa3d.com"
 
 #MSG_SELFTEST_COOLING_FAN c=20
 "Front print fan?"
 
-#MSG_BED_CORRECTION_FRONT c=14 r=1
+#MSG_BED_CORRECTION_FRONT c=14
 "Front side[um]"
 
-#MSG_SELFTEST_FANS
+#MSG_SELFTEST_FANS c=20
 "Front/left fans"
 
-#MSG_SELFTEST_HEATERTHERMISTOR
+#MSG_SELFTEST_HEATERTHERMISTOR c=20
 "Heater/Thermistor"
 
-#MSG_BED_HEATING_SAFETY_DISABLED
+#MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
 "Heating disabled by safety timer."
 
 #MSG_HEATING_COMPLETE c=20
 "Heating done."
 
-#MSG_HEATING
+#MSG_HEATING c=20
 "Heating"
 
 #MSG_WIZARD_WELCOME c=20 r=7
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
 
-#MSG_PRUSA3D_HOWTO
+#MSG_PRUSA3D_HOWTO c=18
 "howto.prusa3d.com"
 
-#MSG_FILAMENTCHANGE
+#MSG_FILAMENTCHANGE c=18
 "Change filament"
 
-#MSG_CHANGE_SUCCESS
+#MSG_CHANGE_SUCCESS c=20
 "Change success!"
 
 #MSG_CORRECTLY c=20
@@ -358,13 +352,13 @@
 #MSG_SELFTEST_CHECK_Z c=20
 "Checking Z axis"
 
-#MSG_CHOOSE_EXTRUDER c=20 r=1
+#MSG_CHOOSE_EXTRUDER c=20
 "Choose extruder:"
 
-#MSG_CHOOSE_FILAMENT c=20 r=1
+#MSG_CHOOSE_FILAMENT c=20
 "Choose filament:"
 
-#MSG_FILAMENT c=17 r=1
+#MSG_FILAMENT c=17
 "Filament"
 
 #MSG_WIZARD_XYZ_CAL c=20 r=8
@@ -373,7 +367,7 @@
 #MSG_WIZARD_Z_CAL c=20 r=8
 "I will run z calibration now."
 
-#MSG_WATCH
+#MSG_WATCH c=18
 "Info screen"
 
 #MSG_INSERT_FILAMENT c=20
@@ -391,7 +385,7 @@
 #MSG_WIZARD_WELCOME_SHIPPING c=20 r=16
 "Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."
 
-#
+#MSG_ADDITIONAL_SHEETS c=20 r=9
 "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
 
 #MSG_LAST_PRINT c=18
@@ -400,40 +394,40 @@
 #MSG_SELFTEST_EXTRUDER_FAN c=20
 "Left hotend fan?"
 
-#
+#MSG_LEFT c=10
 "Left"
 
-#MSG_BED_CORRECTION_LEFT c=14 r=1
+#MSG_BED_CORRECTION_LEFT c=14
 "Left side [um]"
 
-#
+#MSG_LIN_CORRECTION c=18
 "Lin. correction"
 
-#MSG_BABYSTEP_Z
+#MSG_BABYSTEP_Z c=18
 "Live adjust Z"
 
-# c=20 r=6
+#MSG_INSERT_FIL c=20 r=6
 "Insert the filament (do not load it) into the extruder and then press the knob."
 
 #MSG_LOAD_FILAMENT c=17
 "Load filament"
 
-#MSG_LOADING_COLOR
+#MSG_LOADING_COLOR c=20
 "Loading color"
 
 #MSG_LOADING_FILAMENT c=20
 "Loading filament"
 
-#MSG_LOOSE_PULLEY c=20 r=1
+#MSG_LOOSE_PULLEY c=20
 "Loose pulley"
 
-#
+#MSG_LOAD_TO_NOZZLE c=18
 "Load to nozzle"
 
 #MSG_M117_V2_CALIBRATION c=25
 "M117 First layer cal."
 
-#MSG_MAIN
+#MSG_MAIN c=18
 "Main"
 
 #MSG_BL_HIGH c=12
@@ -442,7 +436,7 @@
 #MSG_BL_LOW c=12
 "Level Dimmed"
 
-#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
+#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3
 "Measuring reference height of calibration point"
 
 #MSG_MESH_BED_LEVELING c=18
@@ -454,13 +448,13 @@
 #MSG_MMU_OK_RESUMING_TEMPERATURE c=20 r=4
 "MMU OK. Resuming temperature..."
 
-#
+#MSG_MEASURED_SKEW c=13
 "Measured skew"
 
 #MSG_MMU_FAILS c=15
 "MMU fails"
 
-#
+#MSG_MMU_LOAD_FAILED c=20
 "MMU load failed     "
 
 #MSG_MMU_LOAD_FAILS c=15
@@ -469,67 +463,67 @@
 #MSG_MMU_OK_RESUMING c=20 r=4
 "MMU OK. Resuming..."
 
-#MSG_MODE
+#MSG_MODE c=6
 "Mode"
 
-# c=20 r=3
+#MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
 "MK3 firmware detected on MK3S printer"
 
-#MSG_NORMAL
+#MSG_NORMAL c=7
 "Normal"
 
-#MSG_SILENT
+#MSG_SILENT c=7
 "Silent"
 
-#
+#MSG_MMU_USER_ATTENTION c=20 r=3
 "MMU needs user attention."
 
-#
+#MSG_MMU_POWER_FAILS c=15
 "MMU power fails"
 
-#MSG_STEALTH
+#MSG_STEALTH c=7
 "Stealth"
 
-#MSG_AUTO_POWER
+#MSG_AUTO_POWER c=10
 "Auto power"
 
-#MSG_HIGH_POWER
+#MSG_HIGH_POWER c=10
 "High power"
 
-#
+#MSG_MMU_CONNECTED c=18
 "MMU2 connected"
 
-#MSG_SELFTEST_MOTOR
+#MSG_SELFTEST_MOTOR c=18
 "Motor"
 
-#MSG_MOVE_AXIS
+#MSG_MOVE_AXIS c=18
 "Move axis"
 
-#MSG_MOVE_X
+#MSG_MOVE_X c=18
 "Move X"
 
-#MSG_MOVE_Y
+#MSG_MOVE_Y c=18
 "Move Y"
 
-#MSG_MOVE_Z
+#MSG_MOVE_Z c=18
 "Move Z"
 
-#MSG_NO_MOVE
+#MSG_NO_MOVE c=20
 "No move."
 
-#MSG_NO_CARD
+#MSG_NO_CARD c=18
 "No SD card"
 
-#MSG_NA
+#MSG_NA c=3
 "N/A"
 
-#MSG_NO
+#MSG_NO c=4
 "No"
 
-#MSG_SELFTEST_NOTCONNECTED
+#MSG_SELFTEST_NOTCONNECTED c=20
 "Not connected"
 
-#
+#MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2
 "New firmware version available:"
 
 #MSG_SELFTEST_FAN_NO c=19
@@ -541,31 +535,31 @@
 #MSG_WIZARD_WILL_PREHEAT c=20 r=4
 "Now I will preheat nozzle for PLA."
 
-#MSG_NOZZLE
+#MSG_NOZZLE c=12
 "Nozzle"
 
-#MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+#MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 "Old settings found. Default PID, Esteps etc. will be set."
 
-#
+#MSG_REMOVE_TEST_PRINT c=20 r=4
 "Now remove the test print from steel sheet."
 
-#
+#MSG_NOZZLE_FAN c=10
 "Nozzle FAN"
 
 #MSG_PAUSE_PRINT c=18
 "Pause print"
 
-#MSG_PID_RUNNING c=20 r=1
+#MSG_PID_RUNNING c=20
 "PID cal.           "
 
-#MSG_PID_FINISHED c=20 r=1
+#MSG_PID_FINISHED c=20
 "PID cal. finished"
 
-#MSG_PID_EXTRUDER c=17 r=1
+#MSG_PID_EXTRUDER c=17
 "PID calibration"
 
-#MSG_PINDA_PREHEAT c=20 r=1
+#MSG_PINDA_PREHEAT c=20
 "PINDA Heating"
 
 #MSG_PAPER c=20 r=10
@@ -577,16 +571,16 @@
 #MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8
 "Please clean the nozzle for calibration. Click when done."
 
-#MSG_SELFTEST_PLEASECHECK
+#MSG_SELFTEST_PLEASECHECK c=20
 "Please check :"
 
 #MSG_WIZARD_CALIBRATION_FAILED c=20 r=8
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
 
-#MSG_CHECK_IDLER c=20 r=4
+#MSG_CHECK_IDLER c=20 r=5
 "Please open idler and remove filament manually."
 
-#MSG_PLACE_STEEL_SHEET c=20 r=4
+#MSG_PLACE_STEEL_SHEET c=20 r=5
 "Please place steel sheet on heatbed."
 
 #MSG_PRESS_TO_UNLOAD c=20 r=4
@@ -610,22 +604,22 @@
 #MSG_PLEASE_WAIT c=20
 "Please wait"
 
-#
+#MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
 "Please remove shipping helpers first."
 
 #MSG_PREHEAT_NOZZLE c=20
 "Preheat the nozzle!"
 
-#MSG_PREHEAT
+#MSG_PREHEAT c=18
 "Preheat"
 
 #MSG_WIZARD_HEATING c=20 r=3
 "Preheating nozzle. Please wait."
 
-# c=14
+#MSG_PINDA c=5
 "PINDA"
 
-#
+#MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20
 "Please upgrade."
 
 #MSG_PRESS_TO_PREHEAT c=20 r=4
@@ -640,52 +634,52 @@
 #MSG_PRINT_ABORTED c=20
 "Print aborted"
 
-# c=20
+#MSG_PREHEATING_TO_LOAD c=20
 "Preheating to load"
 
-# c=20
+#MSG_PREHEATING_TO_UNLOAD c=20
 "Preheating to unload"
 
 #MSG_SELFTEST_PRINT_FAN_SPEED c=18
 "Print fan:"
 
-#MSG_CARD_MENU
+#MSG_CARD_MENU c=18
 "Print from SD"
 
-# c=20
+#MSG_PRESS_KNOB c=20
 "Press the knob"
 
-#MSG_PRINT_PAUSED c=20 r=1
+#MSG_PRINT_PAUSED c=20
 "Print paused"
 
-#
+#MSG_RESUME_NOZZLE_TEMP c=20 r=4
 "Press the knob to resume nozzle temperature."
 
 #MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
 
-#
+#MSG_PRINT_FAN c=10
 "Print FAN"
 
-#
+#MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 "Please insert filament into the extruder, then press the knob to load it."
 
-#
+#MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 "Please insert filament into the first tube of the MMU, then press the knob to load it."
 
-#
+#MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load filament first."
 
-#MSG_PRUSA3D
+#MSG_PRUSA3D c=18
 "prusa3d.com"
 
-#MSG_BED_CORRECTION_REAR c=14 r=1
+#MSG_BED_CORRECTION_REAR c=14
 "Rear side [um]"
 
-# c=20 r=4
+#MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
 "Please unload the filament first, then repeat this action."
 
-# c=20 r=4
+#MSG_CHECK_IR_CONNECTION c=20 r=4
 "Please check the IR sensor connection, unload filament if present."
 
 #MSG_RECOVERING_PRINT c=20
@@ -697,7 +691,7 @@
 # c=20
 "Prusa i3 MK3S OK."
 
-#MSG_CALIBRATE_BED_RESET
+#MSG_CALIBRATE_BED_RESET c=18
 "Reset XYZ calibr."
 
 #MSG_RESET c=14
@@ -709,40 +703,40 @@
 #MSG_RESUMING_PRINT c=20
 "Resuming print"
 
-#MSG_BED_CORRECTION_RIGHT c=14 r=1
+#MSG_BED_CORRECTION_RIGHT c=14
 "Right side[um]"
 
-#MSG_RPI_PORT
+#MSG_RPI_PORT c=13
 "RPi port"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
 
-#MSG_SD_CARD
+#MSG_SD_CARD c=8
 "SD card"
 
-#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
+#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8
 "FlashAir"
 
-#
+#MSG_RIGHT c=10
 "Right"
 
-#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60
+#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2
 "Searching bed calibration point"
 
-#MSG_LANGUAGE_SELECT
+#MSG_LANGUAGE_SELECT c=18
 "Select language"
 
-#MSG_SELFTEST_OK
+#MSG_SELFTEST_OK c=20
 "Self test OK"
 
 #MSG_SELFTEST_START c=20
 "Self test start  "
 
-#MSG_SELFTEST
+#MSG_SELFTEST c=18
 "Selftest         "
 
-#MSG_SELFTEST_ERROR
+#MSG_SELFTEST_ERROR c=20
 "Selftest error !"
 
 #MSG_SELFTEST_FAILED c=20
@@ -751,10 +745,10 @@
 #MSG_FORCE_SELFTEST c=20 r=8
 "Selftest will be run to calibrate accurate sensorless rehoming."
 
-#
+#MSG_SEL_PREHEAT_TEMP c=20 r=6
 "Select nozzle preheat temperature which matches your material."
 
-#MSG_SET_TEMPERATURE c=19 r=1
+#MSG_SET_TEMPERATURE c=19
 "Set temperature:"
 
 # c=20
@@ -766,55 +760,52 @@
 # c=20
 "Prusa i3 MK3 OK."
 
-#MSG_SETTINGS
+#MSG_SETTINGS c=18
 "Settings"
 
 #MSG_SHOW_END_STOPS c=18
 "Show end stops"
 
-#
-"Sensor state"
-
 #MSG_FILE_CNT c=20 r=6
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
 
-#MSG_SORT
+#MSG_SORT c=7
 "Sort"
 
-#MSG_NONE
+#MSG_NONE c=8
 "None"
 
-#MSG_SORT_TIME
+#MSG_SORT_TIME c=8
 "Time"
 
-#
+#MSG_SEVERE_SKEW c=13
 "Severe skew:"
 
-#MSG_SORT_ALPHA
+#MSG_SORT_ALPHA c=8
 "Alphabet"
 
-#MSG_SORTING c=20 r=1
+#MSG_SORTING c=20
 "Sorting files"
 
-#MSG_SOUND_LOUD
+#MSG_SOUND_LOUD c=7
 "Loud"
 
-#
+#MSG_SLIGHT_SKEW c=13
 "Slight skew:"
 
-#MSG_SOUND
+#MSG_SOUND c=7
 "Sound"
 
-# c=7
+#MSG_RUNOUTS c=7
 "Runouts"
 
-#
+#MSG_Z-LEVELING_ENFORCED c=20 r=4
 "Some problem encountered, Z-leveling enforced ..."
 
-#MSG_SOUND_ONCE
+#MSG_SOUND_ONCE c=7
 "Once"
 
-#MSG_SPEED
+#MSG_SPEED c=15
 "Speed"
 
 #MSG_SELFTEST_FAN_YES c=19
@@ -823,31 +814,31 @@
 #MSG_TEMP_CAL_WARNING c=20 r=4
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
 
-#MSG_STATISTICS
+#MSG_STATISTICS c=18
 "Statistics  "
 
-#MSG_STOP_PRINT
+#MSG_STOP_PRINT c=18
 "Stop print"
 
-#MSG_STOPPED
+#MSG_STOPPED c=20
 "STOPPED. "
 
-#MSG_SUPPORT
+#MSG_SUPPORT c=18
 "Support"
 
-#MSG_SELFTEST_SWAPPED
+#MSG_SELFTEST_SWAPPED c=16
 "Swapped"
 
-#
+#MSG_SELECT_FILAMENT c=20
 "Select filament:"
 
 #MSG_TEMP_CALIBRATION c=14
 "Temp. cal."
 
-#
+#MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
 "Select temperature which matches your material."
 
-#MSG_CALIBRATION_PINDA_MENU c=17 r=1
+#MSG_CALIBRATION_PINDA_MENU c=17
 "Temp. calibration"
 
 #MSG_TEMP_CAL_FAILED c=20 r=8
@@ -856,69 +847,63 @@
 #MSG_TEMP_CALIBRATION_DONE c=20 r=12
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
 
-# c=20 r=3
+#MSG_FS_VERIFIED c=20 r=3
 "Sensor verified, remove the filament now."
 
-#MSG_TEMPERATURE
+#MSG_TEMPERATURE c=18
 "Temperature"
 
-#MSG_MENU_TEMPERATURES c=15 r=1
+#MSG_MENU_TEMPERATURES c=15
 "Temperatures"
 
 #MSG_FOLLOW_Z_CALIBRATION_FLOW c=20 r=9
 "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."
 
-#
+#MSG_TOTAL_FILAMENT c=19
 "Total filament"
 
-#
+#MSG_TOTAL_PRINT_TIME c=19
 "Total print time"
 
-#MSG_TUNE
+#MSG_TUNE c=18
 "Tune"
 
-#
-"Unload"
-
 #MSG_TOTAL_FAILURES c=20
 "Total failures"
 
-# c=20
+#MSG_TO_LOAD_FIL c=20
 "to load filament"
 
-# c=20
+#MSG_TO_UNLOAD_FIL c=20
 "to unload filament"
 
-#MSG_UNLOAD_FILAMENT c=17
+#MSG_UNLOAD_FILAMENT c=16
 "Unload filament"
 
-#MSG_UNLOADING_FILAMENT c=20 r=1
+#MSG_UNLOADING_FILAMENT c=20
 "Unloading filament"
 
 #MSG_TOTAL c=6
 "Total"
 
-#MSG_USED c=19 r=1
+#MSG_USED c=19
 "Used during print"
 
-#MSG_MENU_VOLTAGES c=15 r=1
+#MSG_MENU_VOLTAGES c=15
 "Voltages"
 
-#
+#MSG_UNKNOWN c=13
 "unknown"
 
-#MSG_USERWAIT
+#MSG_USERWAIT c=20
 "Wait for user..."
 
-#MSG_WAITING_TEMP c=20 r=3
+#MSG_WAITING_TEMP c=20 r=4
 "Waiting for nozzle and bed cooling"
 
 #MSG_WAITING_TEMP_PINDA c=20 r=3
 "Waiting for PINDA probe cooling"
 
-#
-"Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube."
-
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
 
@@ -931,10 +916,10 @@
 #MSG_UNLOAD_SUCCESSFUL c=20 r=2
 "Was filament unload successful?"
 
-#MSG_SELFTEST_WIRINGERROR
+#MSG_SELFTEST_WIRINGERROR c=18
 "Wiring error"
 
-#MSG_WIZARD c=17 r=1
+#MSG_WIZARD c=17
 "Wizard"
 
 #MSG_XYZ_DETAILS c=18
@@ -943,7 +928,7 @@
 #MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8
 "XYZ calibration failed. Please consult the manual."
 
-#MSG_YES
+#MSG_YES c=3
 "Yes"
 
 #MSG_WIZARD_QUIT c=20 r=8
@@ -973,130 +958,124 @@
 #MSG_LOAD_ALL c=17
 "Load all"
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
 "XYZ calibration failed. Bed calibration point was not found."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
 "XYZ calibration failed. Front calibration points not reachable."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
 "XYZ calibration failed. Right front calibration point not reachable."
 
-#
+#MSG_Y_DIST_FROM_MIN c=20
 "Y distance from min"
 
-#
+#MSG_WIZARD_V2_CAL_2 c=20 r=12
 "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
 
-# c=20 r=5
+#MSG_FIL_FAILED c=20 r=5
 "Verification failed, remove the filament and try again."
 
 #MSG_Y_CORRECTION c=13
 "Y-correct:"
 
-#MSG_OFF
+#MSG_OFF c=3
 "Off"
 
-#MSG_ON
+#MSG_ON c=3
 "On"
 
-#
+#MSG_BACK c=18
 "Back"
 
-#
+#MSG_CHECKS c=18
 "Checks"
 
-#
+#MSG_FALSE_TRIGGERING c=20
 "False triggering"
 
-#
-"FINDA:"
+#MSG_FINDA c=5
+"FINDA"
 
-#MSG_FIRMWARE
+#MSG_FIRMWARE c=8
 "Firmware"
 
-#MSG_STRICT
+#MSG_STRICT c=8
 "Strict"
 
-#MSG_WARN
+#MSG_WARN c=8
 "Warn"
 
 #MSG_HW_SETUP c=18
 "HW Setup"
 
-#
-"IR:"
-
-#MSG_MAGNETS_COMP
+#MSG_MAGNETS_COMP c=13
 "Magnets comp."
 
-#MSG_MESH
+#MSG_MESH c=12
 "Mesh"
 
-#
+#MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
 "MK3S firmware detected on MK3 printer"
 
-#MSG_MMU_MODE
+#MSG_MMU_MODE c=8
 "MMU Mode"
 
-#
+#MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
 "Mode change in progress ..."
 
-#MSG_MODEL
+#MSG_MODEL c=8
 "Model"
 
-#MSG_NOZZLE_DIAMETER
+#MSG_NOZZLE_DIAMETER c=10
 "Nozzle d."
 
-#
+#MSG_GCODE_DIFF_CONTINUE c=20 r=4
 "G-code sliced for a different level. Continue?"
 
-#
+#MSG_GCODE_DIFF_CANCELLED c=20 r=7
 "G-code sliced for a different level. Please re-slice the model again. Print cancelled."
 
 #MSG_GCODE_DIFF_PRINTER_CONTINUE c=20 r=5
 "G-code sliced for a different printer type. Continue?"
 
-#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
+#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8
 "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 "G-code sliced for a newer firmware. Continue?"
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8
 "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
 
-#
-"PINDA:"
-
-# c=20
+#MSG_PREHEATING_TO_CUT c=20
 "Preheating to cut"
 
-# c=20
+#MSG_PREHEATING_TO_EJECT c=20
 "Preheating to eject"
 
-#
+#MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 "Printer nozzle diameter differs from the G-code. Continue?"
 
-#
+#MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
 "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."
 
 # c=20
 "%s level expected"
 
-#
+#MSG_RENAME c=18
 "Rename"
 
-#
+#MSG_SELECT c=18
 "Select"
 
-#
+#MSG_INFO_SENSORS c=18
 "Sensor info"
 
 #MSG_SHEET c=10
 "Sheet"
 
-#MSG_SOUND_BLIND
+#MSG_SOUND_BLIND c=7
 "Assist"
 
 #MSG_STEEL_SHEET c=18
@@ -1105,6 +1084,8 @@
 #MSG_Z_CORRECTION c=13
 "Z-correct:"
 
-#MSG_Z_PROBE_NR
+#MSG_Z_PROBE_NR c=14
 "Z-probe nr."
 
+#MSG_PRINTER_IP c=18
+"Printer IP Addr:"

+ 226 - 251
lang/lang_en_cz.txt

@@ -1,7 +1,3 @@
-#
-"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
-"[%.7s]Doladeni Z\x0auz nastaveno, pouzit\x0anebo reset od nuly?\x0a%cPokracovat%cReset"
-
 #MSG_IR_03_OR_OLDER c=18
 " 0.3 or older"
 " 0.3 nebo starsi"
@@ -30,7 +26,7 @@
 " of 9"
 " z 9"
 
-#MSG_MEASURED_OFFSET
+#MSG_MEASURED_OFFSET c=20
 "[0;0] point offset"
 "[0;0] odsazeni bodu"
 
@@ -42,10 +38,6 @@
 "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode"
 "POZOR:\x0aCrash detekce\x0adeaktivovana ve\x0aStealth modu"
 
-#
-">Cancel"
-">Zrusit"
-
 #MSG_BABYSTEPPING_Z c=15
 "Adjusting Z:"
 "Doladeni Z:"
@@ -58,7 +50,7 @@
 "All is done. Happy printing!"
 "Vse je hotovo."
 
-#
+#MSG_AMBIENT c=14
 "Ambient"
 "Okoli"
 
@@ -74,11 +66,11 @@
 "Are left and right Z~carriages all up?"
 "Dojely oba Z voziky k~hornimu dorazu?"
 
-#MSG_AUTO_DEPLETE c=17 r=1
+#MSG_AUTO_DEPLETE c=13
 "SpoolJoin"
 "\x00"
 
-#MSG_AUTO_HOME
+#MSG_AUTO_HOME c=18
 "Auto home"
 "\x00"
 
@@ -94,36 +86,36 @@
 "Autoloading filament is active, just press the knob and insert filament..."
 "Automaticke zavadeni filamentu aktivni, stisknete tlacitko a vlozte filament..."
 
-#MSG_SELFTEST_AXIS_LENGTH
+#MSG_SELFTEST_AXIS_LENGTH c=20
 "Axis length"
 "Delka osy"
 
-#MSG_SELFTEST_AXIS
+#MSG_SELFTEST_AXIS c=16
 "Axis"
 "Osa"
 
-#MSG_SELFTEST_BEDHEATER
+#MSG_SELFTEST_BEDHEATER c=20
 "Bed / Heater"
 "Podlozka / Topeni"
 
-#MSG_BED_DONE
+#MSG_BED_DONE c=20
 "Bed done"
 "Bed OK."
 
-#MSG_BED_HEATING
+#MSG_BED_HEATING c=20
 "Bed Heating"
 "Zahrivani bedu"
 
-#MSG_BED_CORRECTION_MENU
+#MSG_BED_CORRECTION_MENU c=18
 "Bed level correct"
 "Korekce podlozky"
 
-#MSG_BELTTEST c=17
+#MSG_BELTTEST c=18
 "Belt test        "
 "Test remenu      "
 
-#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5
-"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
+#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
+"Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."
 "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset."
 
 #MSG_BRIGHT c=6
@@ -134,7 +126,7 @@
 "Brightness"
 "Podsviceni"
 
-#MSG_BED
+#MSG_BED c=13
 "Bed"
 "Podlozka"
 
@@ -146,22 +138,26 @@
 "Blackout occurred. Recover print?"
 "Detekovan vypadek proudu.Obnovit tisk?"
 
-#
+#MSG_CALIBRATING_HOME c=20
 "Calibrating home"
-"Kalibruji vychozi poz."
+"Kalibruji vychozi p."
 
-#MSG_CALIBRATE_BED
+#MSG_CALIBRATE_BED c=18
 "Calibrate XYZ"
 "Kalibrace XYZ"
 
-#MSG_HOMEYZ
+#MSG_HOMEYZ c=18
 "Calibrate Z"
 "Kalibrovat Z"
 
-#MSG_CALIBRATE_PINDA c=17 r=1
+#MSG_CALIBRATE_PINDA c=17
 "Calibrate"
 "Zkalibrovat"
 
+#MSG_CANCEL2 c=10
+">Cancel"
+">Zrusit"
+
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
@@ -174,35 +170,31 @@
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
 
-#MSG_HOMEYZ_DONE
+#MSG_HOMEYZ_DONE c=20
 "Calibration done"
 "Kalibrace OK"
 
-#MSG_MENU_CALIBRATION
+#MSG_MENU_CALIBRATION c=18
 "Calibration"
 "Kalibrace"
 
-#
-"Cancel"
-"Zrusit"
-
-#MSG_SD_REMOVED
+#MSG_SD_REMOVED c=20
 "Card removed"
 "Karta vyjmuta"
 
-#
+#MSG_CHECKING_FILE c=17
 "Checking file"
 "\x00"
 
-#MSG_NOT_COLOR
+#MSG_NOT_COLOR c=19
 "Color not correct"
 "Barva neni cista"
 
-#MSG_COOLDOWN
+#MSG_COOLDOWN c=18
 "Cooldown"
 "Zchladit"
 
-#
+#MSG_COPY_SEL_LANG c=20 r=3
 "Copy selected language?"
 "Kopirovat vybrany jazyk?"
 
@@ -210,15 +202,15 @@
 "Crash det."
 "\x00"
 
-#
+#MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
 "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
 "Zvolte filament pro kalibraci prvni vrstvy z nasledujiciho menu"
 
-#MSG_CRASH_DETECTED c=20 r=1
+#MSG_CRASH_DETECTED c=20
 "Crash detected."
 "Detekovan naraz."
 
-#
+#MSG_CRASH_RESUME c=20 r=3
 "Crash detected. Resume print?"
 "Detekovan naraz. Obnovit tisk?"
 
@@ -226,11 +218,11 @@
 "Crash"
 "Naraz"
 
-#MSG_CURRENT c=19 r=1
+#MSG_CURRENT c=19
 "Current"
 "Pouze aktualni"
 
-#MSG_DATE c=17 r=1
+#MSG_DATE c=17
 "Date:"
 "Datum:"
 
@@ -238,7 +230,7 @@
 "Community made"
 "\x00"
 
-#MSG_DISABLE_STEPPERS
+#MSG_DISABLE_STEPPERS c=18
 "Disable steppers"
 "Vypnout motory"
 
@@ -262,7 +254,7 @@
 "Eject filament"
 "Vysunout fil."
 
-#MSG_EJECTING_FILAMENT c=20 r=1
+#MSG_EJECTING_FILAMENT c=20
 "Ejecting filament"
 "Vysouvam filament"
 
@@ -270,11 +262,11 @@
 "Endstop not hit"
 "Kon. spinac nesepnut"
 
-#MSG_SELFTEST_ENDSTOP
+#MSG_SELFTEST_ENDSTOP c=16
 "Endstop"
 "Koncovy spinac"
 
-#MSG_SELFTEST_ENDSTOPS
+#MSG_SELFTEST_ENDSTOPS c=20
 "Endstops"
 "Konc. spinace"
 
@@ -290,7 +282,7 @@
 "Cutter"
 "Strihani"
 
-# c=18
+#MSG_MMU_CUTTING_FIL c=18
 "Cutting filament"
 "Strihani filamentu"
 
@@ -302,7 +294,7 @@
 "Dim"
 "Temny"
 
-#MSG_ERROR
+#MSG_ERROR c=10
 "ERROR:"
 "CHYBA:"
 
@@ -318,7 +310,7 @@
 "Extruder"
 "\x00"
 
-#
+#MSG_MMU_FAIL_STATS c=18
 "Fail stats MMU"
 "Selhani MMU"
 
@@ -326,7 +318,7 @@
 "F. autoload"
 "F. autozav."
 
-#
+#MSG_FAIL_STATS c=18
 "Fail stats"
 "Selhani"
 
@@ -342,7 +334,7 @@
 "Fans check"
 "Kontr. vent."
 
-#MSG_FSENSOR
+#MSG_FSENSOR c=12
 "Fil. sensor"
 "Fil. senzor"
 
@@ -366,7 +358,7 @@
 "Filament used"
 "Spotrebovano filam."
 
-#MSG_PRINT_TIME c=19 r=1
+#MSG_PRINT_TIME c=19
 "Print time"
 "Cas tisku"
 
@@ -390,15 +382,15 @@
 "First, I will run the selftest to check most common assembly problems."
 "Nejdriv pomoci selftestu zkontoluji nejcastejsi chyby vznikajici pri sestaveni tiskarny."
 
-#
+#MSG_MMU_FIX_ISSUE c=20 r=4
 "Fix the issue and then press button on MMU unit."
 "Opravte chybu a pote stisknete tlacitko na jednotce MMU."
 
-#MSG_FLOW
+#MSG_FLOW c=15
 "Flow"
 "Prutok"
 
-#MSG_PRUSA3D_FORUM
+#MSG_PRUSA3D_FORUM c=18
 "forum.prusa3d.com"
 "\x00"
 
@@ -406,19 +398,19 @@
 "Front print fan?"
 "Predni tiskovy vent?"
 
-#MSG_BED_CORRECTION_FRONT c=14 r=1
+#MSG_BED_CORRECTION_FRONT c=14
 "Front side[um]"
 "Vpredu [um]"
 
-#MSG_SELFTEST_FANS
+#MSG_SELFTEST_FANS c=20
 "Front/left fans"
 "Predni/levy vent."
 
-#MSG_SELFTEST_HEATERTHERMISTOR
+#MSG_SELFTEST_HEATERTHERMISTOR c=20
 "Heater/Thermistor"
 "Topeni/Termistor"
 
-#MSG_BED_HEATING_SAFETY_DISABLED
+#MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
 "Heating disabled by safety timer."
 "Zahrivani preruseno bezpecnostnim casovacem."
 
@@ -426,7 +418,7 @@
 "Heating done."
 "Zahrivani OK."
 
-#MSG_HEATING
+#MSG_HEATING c=20
 "Heating"
 "Zahrivani"
 
@@ -434,15 +426,15 @@
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
 "Dobry den, jsem vase tiskarna Original Prusa i3. Chcete abych Vas provedla kalibracnim procesem?"
 
-#MSG_PRUSA3D_HOWTO
+#MSG_PRUSA3D_HOWTO c=18
 "howto.prusa3d.com"
 "\x00"
 
-#MSG_FILAMENTCHANGE
+#MSG_FILAMENTCHANGE c=18
 "Change filament"
 "Vymenit filament"
 
-#MSG_CHANGE_SUCCESS
+#MSG_CHANGE_SUCCESS c=20
 "Change success!"
 "Zmena uspesna!"
 
@@ -478,15 +470,15 @@
 "Checking Z axis"
 "Kontrola osy Z"
 
-#MSG_CHOOSE_EXTRUDER c=20 r=1
+#MSG_CHOOSE_EXTRUDER c=20
 "Choose extruder:"
 "Vyberte extruder:"
 
-#MSG_CHOOSE_FILAMENT c=20 r=1
+#MSG_CHOOSE_FILAMENT c=20
 "Choose filament:"
 "Vyber filament:"
 
-#MSG_FILAMENT c=17 r=1
+#MSG_FILAMENT c=17
 "Filament"
 "\x00"
 
@@ -498,7 +490,7 @@
 "I will run z calibration now."
 "Nyni provedu z kalibraci."
 
-#MSG_WATCH
+#MSG_WATCH c=18
 "Info screen"
 "Informace"
 
@@ -522,7 +514,7 @@
 "Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."
 "Ahoj, jsem vase tiskarna Original Prusa i3. Provedu vas kratkym procesem nastaveni, ve kterem zkalibrujeme osu Z. Pak budete moct zacit tisknout."
 
-#
+#MSG_ADDITIONAL_SHEETS c=20 r=9
 "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
 "Mate-li vice tiskovych platu, kalibrujte je v menu Nastaveni - HW nastaveni - Tiskove platy"
 
@@ -534,23 +526,23 @@
 "Left hotend fan?"
 "Levy vent na trysce?"
 
-#
+#MSG_LEFT c=10
 "Left"
 "Vlevo"
 
-#MSG_BED_CORRECTION_LEFT c=14 r=1
+#MSG_BED_CORRECTION_LEFT c=14
 "Left side [um]"
 "Vlevo [um]"
 
-#
+#MSG_LIN_CORRECTION c=18
 "Lin. correction"
 "Korekce lin."
 
-#MSG_BABYSTEP_Z
+#MSG_BABYSTEP_Z c=18
 "Live adjust Z"
 "Doladeni osy Z"
 
-# c=20 r=6
+#MSG_INSERT_FIL c=20 r=6
 "Insert the filament (do not load it) into the extruder and then press the knob."
 "Vlozte filament (nezavadejte) do extruderu a stisknete tlacitko"
 
@@ -558,7 +550,7 @@
 "Load filament"
 "Zavest filament"
 
-#MSG_LOADING_COLOR
+#MSG_LOADING_COLOR c=20
 "Loading color"
 "Cisteni barvy"
 
@@ -566,11 +558,11 @@
 "Loading filament"
 "Zavadeni filamentu"
 
-#MSG_LOOSE_PULLEY c=20 r=1
+#MSG_LOOSE_PULLEY c=20
 "Loose pulley"
 "Uvolnena remenicka"
 
-#
+#MSG_LOAD_TO_NOZZLE c=18
 "Load to nozzle"
 "Zavest do trysky"
 
@@ -578,7 +570,7 @@
 "M117 First layer cal."
 "M117 Kal. prvni vrstvy"
 
-#MSG_MAIN
+#MSG_MAIN c=18
 "Main"
 "Hlavni nabidka"
 
@@ -590,7 +582,7 @@
 "Level Dimmed"
 "\x00"
 
-#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
+#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3
 "Measuring reference height of calibration point"
 "Merim referencni vysku kalibracniho bodu"
 
@@ -606,107 +598,107 @@
 "MMU OK. Resuming temperature..."
 "MMU OK. Pokracuji v nahrivani..."
 
-#
+#MSG_MEASURED_SKEW c=13
 "Measured skew"
-"Merene zkoseni"
+"Merene zkos."
 
 #MSG_MMU_FAILS c=15
 "MMU fails"
 "Selhani MMU"
 
-#
+#MSG_MMU_LOAD_FAILED c=20
 "MMU load failed     "
 "Zavedeni MMU selhalo"
 
 #MSG_MMU_LOAD_FAILS c=15
 "MMU load fails"
-"MMU selhani zavadeni"
+"MMU selhani zav"
 
 #MSG_MMU_OK_RESUMING c=20 r=4
 "MMU OK. Resuming..."
 "MMU OK. Pokracuji..."
 
-#MSG_MODE
+#MSG_MODE c=6
 "Mode"
 "Mod"
 
-# c=20 r=3
+#MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
 "MK3 firmware detected on MK3S printer"
 "\x00"
 
-#MSG_NORMAL
+#MSG_NORMAL c=7
 "Normal"
 "\x00"
 
-#MSG_SILENT
+#MSG_SILENT c=7
 "Silent"
 "Tichy"
 
-#
+#MSG_MMU_USER_ATTENTION c=20 r=3
 "MMU needs user attention."
 "MMU potrebuje zasah uzivatele."
 
-#
+#MSG_MMU_POWER_FAILS c=15
 "MMU power fails"
-"MMU vypadky proudu"
+"MMU vyp. proudu"
 
-#MSG_STEALTH
+#MSG_STEALTH c=7
 "Stealth"
 "Tichy"
 
-#MSG_AUTO_POWER
+#MSG_AUTO_POWER c=10
 "Auto power"
-"Automaticky"
+"Automat."
 
-#MSG_HIGH_POWER
+#MSG_HIGH_POWER c=10
 "High power"
 "Vys. vykon"
 
-#
+#MSG_MMU_CONNECTED c=18
 "MMU2 connected"
 "MMU2 pripojeno"
 
-#MSG_SELFTEST_MOTOR
+#MSG_SELFTEST_MOTOR c=18
 "Motor"
 "\x00"
 
-#MSG_MOVE_AXIS
+#MSG_MOVE_AXIS c=18
 "Move axis"
 "Posunout osu"
 
-#MSG_MOVE_X
+#MSG_MOVE_X c=18
 "Move X"
 "Posunout X"
 
-#MSG_MOVE_Y
+#MSG_MOVE_Y c=18
 "Move Y"
 "Posunout Y"
 
-#MSG_MOVE_Z
+#MSG_MOVE_Z c=18
 "Move Z"
 "Posunout Z"
 
-#MSG_NO_MOVE
+#MSG_NO_MOVE c=20
 "No move."
 "Bez pohybu."
 
-#MSG_NO_CARD
+#MSG_NO_CARD c=18
 "No SD card"
 "Zadna SD karta"
 
-#MSG_NA
+#MSG_NA c=3
 "N/A"
 "\x00"
 
-#MSG_NO
+#MSG_NO c=4
 "No"
 "Ne"
 
-#MSG_SELFTEST_NOTCONNECTED
+#MSG_SELFTEST_NOTCONNECTED c=20
 "Not connected"
 "Nezapojeno "
 
-#
+#MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2
 "New firmware version available:"
 "Vysla nova verze firmware:"
 
@@ -722,39 +714,39 @@
 "Now I will preheat nozzle for PLA."
 "Nyni predehreji trysku pro PLA."
 
-#MSG_NOZZLE
+#MSG_NOZZLE c=12
 "Nozzle"
 "Tryska"
 
-#MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+#MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 "Old settings found. Default PID, Esteps etc. will be set."
 "Neplatne hodnoty nastaveni. Bude pouzito vychozi PID, Esteps atd."
 
-#
+#MSG_REMOVE_TEST_PRINT c=20 r=4
 "Now remove the test print from steel sheet."
 "Nyni odstrante testovaci vytisk z tiskoveho platu."
 
-#
+#MSG_NOZZLE_FAN c=10
 "Nozzle FAN"
-"Vent. trysky"
+"V. trysky"
 
 #MSG_PAUSE_PRINT c=18
 "Pause print"
 "Pozastavit tisk"
 
-#MSG_PID_RUNNING c=20 r=1
+#MSG_PID_RUNNING c=20
 "PID cal.           "
 "PID kal. "
 
-#MSG_PID_FINISHED c=20 r=1
+#MSG_PID_FINISHED c=20
 "PID cal. finished"
 "PID kal. ukoncena"
 
-#MSG_PID_EXTRUDER c=17 r=1
+#MSG_PID_EXTRUDER c=17
 "PID calibration"
 "PID kalibrace"
 
-#MSG_PINDA_PREHEAT c=20 r=1
+#MSG_PINDA_PREHEAT c=20
 "PINDA Heating"
 "Nahrivani PINDA"
 
@@ -770,7 +762,7 @@
 "Please clean the nozzle for calibration. Click when done."
 "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem."
 
-#MSG_SELFTEST_PLEASECHECK
+#MSG_SELFTEST_PLEASECHECK c=20
 "Please check :"
 "Zkontrolujte :"
 
@@ -778,11 +770,11 @@
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
 "Prosim nahlednete do prirucky 3D tiskare a opravte problem. Pote obnovte Pruvodce restartovanim tiskarny."
 
-#MSG_CHECK_IDLER c=20 r=4
+#MSG_CHECK_IDLER c=20 r=5
 "Please open idler and remove filament manually."
 "Prosim otevrete idler a manualne odstrante filament."
 
-#MSG_PLACE_STEEL_SHEET c=20 r=4
+#MSG_PLACE_STEEL_SHEET c=20 r=5
 "Please place steel sheet on heatbed."
 "Umistete prosim tiskovy plat na podlozku"
 
@@ -814,7 +806,7 @@
 "Please wait"
 "Prosim cekejte"
 
-#
+#MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
 "Please remove shipping helpers first."
 "Nejprve prosim sundejte transportni soucastky."
 
@@ -822,7 +814,7 @@
 "Preheat the nozzle!"
 "Predehrejte trysku!"
 
-#MSG_PREHEAT
+#MSG_PREHEAT c=18
 "Preheat"
 "Predehrev"
 
@@ -830,11 +822,11 @@
 "Preheating nozzle. Please wait."
 "Predehrev trysky. Prosim cekejte."
 
-# c=14
+#MSG_PINDA c=5
 "PINDA"
 "\x00"
 
-#
+#MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20
 "Please upgrade."
 "Prosim aktualizujte."
 
@@ -854,11 +846,11 @@
 "Print aborted"
 "Tisk prerusen"
 
-# c=20
+#MSG_PREHEATING_TO_LOAD c=20
 "Preheating to load"
 "Predehrev k zavedeni"
 
-# c=20
+#MSG_PREHEATING_TO_UNLOAD c=20
 "Preheating to unload"
 "Predehrev k vyjmuti"
 
@@ -866,19 +858,19 @@
 "Print fan:"
 "Tiskovy vent.:"
 
-#MSG_CARD_MENU
+#MSG_CARD_MENU c=18
 "Print from SD"
 "Tisk z SD"
 
-# c=20
+#MSG_PRESS_KNOB c=20
 "Press the knob"
-"Stisknete hl. tlacitko"
+"Stisknete tlacitko"
 
-#MSG_PRINT_PAUSED c=20 r=1
+#MSG_PRINT_PAUSED c=20
 "Print paused"
 "Tisk pozastaven"
 
-#
+#MSG_RESUME_NOZZLE_TEMP c=20 r=4
 "Press the knob to resume nozzle temperature."
 "Pro pokracovani nahrivani trysky stisknete tlacitko."
 
@@ -886,35 +878,35 @@
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
 "Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace."
 
-#
+#MSG_PRINT_FAN c=10
 "Print FAN"
-"Tiskovy vent."
+"Tiskovy v."
 
-#
+#MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 "Please insert filament into the extruder, then press the knob to load it."
 "Prosim vlozte filament do extruderu a stisknete tlacitko k jeho zavedeni"
 
-#
+#MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 "Please insert filament into the first tube of the MMU, then press the knob to load it."
 "Prosim vlozte filament do prvni trubicky MMU a stisknete tlacitko k jeho zavedeni"
 
-#
+#MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load filament first."
 "Prosim nejdriv zavedte filament"
 
-#MSG_PRUSA3D
+#MSG_PRUSA3D c=18
 "prusa3d.com"
 "\x00"
 
-#MSG_BED_CORRECTION_REAR c=14 r=1
+#MSG_BED_CORRECTION_REAR c=14
 "Rear side [um]"
 "Vzadu [um]"
 
-# c=20 r=4
+#MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
 "Please unload the filament first, then repeat this action."
 "Prosim vyjmete filament a zopakujte tuto akci"
 
-# c=20 r=4
+#MSG_CHECK_IR_CONNECTION c=20 r=4
 "Please check the IR sensor connection, unload filament if present."
 "Prosim zkontrolujte zapojeni IR senzoru a vyjmuty filament"
 
@@ -930,7 +922,7 @@
 "Prusa i3 MK3S OK."
 "\x00"
 
-#MSG_CALIBRATE_BED_RESET
+#MSG_CALIBRATE_BED_RESET c=18
 "Reset XYZ calibr."
 "Reset XYZ kalibr."
 
@@ -946,11 +938,11 @@
 "Resuming print"
 "Obnoveni tisku"
 
-#MSG_BED_CORRECTION_RIGHT c=14 r=1
+#MSG_BED_CORRECTION_RIGHT c=14
 "Right side[um]"
 "Vpravo [um]"
 
-#MSG_RPI_PORT
+#MSG_RPI_PORT c=13
 "RPi port"
 "\x00"
 
@@ -958,27 +950,27 @@
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
 "Spusteni Pruvodce vymaze ulozene vysledky vsech kalibraci a spusti kalibracni proces od zacatku. Pokracovat?"
 
-#MSG_SD_CARD
+#MSG_SD_CARD c=8
 "SD card"
 "\x00"
 
-#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
+#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8
 "FlashAir"
 "\x00"
 
-#
+#MSG_RIGHT c=10
 "Right"
 "Vpravo"
 
-#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60
+#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2
 "Searching bed calibration point"
 "Hledam kalibracni bod podlozky"
 
-#MSG_LANGUAGE_SELECT
+#MSG_LANGUAGE_SELECT c=18
 "Select language"
 "Vyber jazyka"
 
-#MSG_SELFTEST_OK
+#MSG_SELFTEST_OK c=20
 "Self test OK"
 "\x00"
 
@@ -986,11 +978,11 @@
 "Self test start  "
 "Self test start "
 
-#MSG_SELFTEST
+#MSG_SELFTEST c=18
 "Selftest         "
 "Selftest "
 
-#MSG_SELFTEST_ERROR
+#MSG_SELFTEST_ERROR c=20
 "Selftest error !"
 "Chyba Selftestu!"
 
@@ -1002,11 +994,11 @@
 "Selftest will be run to calibrate accurate sensorless rehoming."
 "Pro kalibraci presneho rehomovani bude nyni spusten selftest."
 
-#
+#MSG_SEL_PREHEAT_TEMP c=20 r=6
 "Select nozzle preheat temperature which matches your material."
 "Vyberte teplotu predehrati trysky ktera odpovida vasemu materialu."
 
-#MSG_SET_TEMPERATURE c=19 r=1
+#MSG_SET_TEMPERATURE c=19
 "Set temperature:"
 "Nastavte teplotu:"
 
@@ -1022,7 +1014,7 @@
 "Prusa i3 MK3 OK."
 "\x00"
 
-#MSG_SETTINGS
+#MSG_SETTINGS c=18
 "Settings"
 "Nastaveni"
 
@@ -1030,63 +1022,59 @@
 "Show end stops"
 "Stav konc. spin."
 
-#
-"Sensor state"
-"Stav senzoru"
-
 #MSG_FILE_CNT c=20 r=6
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
 "Nektere soubory nebudou setrideny. Maximalni pocet souboru ve slozce pro setrideni je 100."
 
-#MSG_SORT
+#MSG_SORT c=7
 "Sort"
 "Trideni"
 
-#MSG_NONE
+#MSG_NONE c=8
 "None"
 "Zadne"
 
-#MSG_SORT_TIME
+#MSG_SORT_TIME c=8
 "Time"
 "Cas"
 
-#
+#MSG_SEVERE_SKEW c=13
 "Severe skew:"
-"Tezke zkoseni:"
+"Tezke zkos.:"
 
-#MSG_SORT_ALPHA
+#MSG_SORT_ALPHA c=8
 "Alphabet"
 "Abeceda"
 
-#MSG_SORTING c=20 r=1
+#MSG_SORTING c=20
 "Sorting files"
 "Trideni souboru"
 
-#MSG_SOUND_LOUD
+#MSG_SOUND_LOUD c=7
 "Loud"
 "Hlasity"
 
-#
+#MSG_SLIGHT_SKEW c=13
 "Slight skew:"
-"Lehke zkoseni:"
+"Lehke zkos.:"
 
-#MSG_SOUND
+#MSG_SOUND c=7
 "Sound"
 "Zvuk"
 
-# c=7
+#MSG_RUNOUTS c=7
 "Runouts"
 "\x00"
 
-#
+#MSG_Z-LEVELING_ENFORCED c=20 r=4
 "Some problem encountered, Z-leveling enforced ..."
 "Vyskytl se problem, srovnavam osu Z ..."
 
-#MSG_SOUND_ONCE
+#MSG_SOUND_ONCE c=7
 "Once"
 "Jednou"
 
-#MSG_SPEED
+#MSG_SPEED c=15
 "Speed"
 "Rychlost"
 
@@ -1098,27 +1086,27 @@
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
 "Je vyzadovana stabilni pokojova teplota 21-26C a pevna podlozka."
 
-#MSG_STATISTICS
+#MSG_STATISTICS c=18
 "Statistics  "
 "Statistika "
 
-#MSG_STOP_PRINT
+#MSG_STOP_PRINT c=18
 "Stop print"
 "Zastavit tisk"
 
-#MSG_STOPPED
+#MSG_STOPPED c=20
 "STOPPED. "
 "ZASTAVENO."
 
-#MSG_SUPPORT
+#MSG_SUPPORT c=18
 "Support"
 "Podpora"
 
-#MSG_SELFTEST_SWAPPED
+#MSG_SELFTEST_SWAPPED c=16
 "Swapped"
 "Prohozene"
 
-#
+#MSG_SELECT_FILAMENT c=20
 "Select filament:"
 "Zvolte filament:"
 
@@ -1126,11 +1114,11 @@
 "Temp. cal."
 "Tepl. kal."
 
-#
+#MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
 "Select temperature which matches your material."
 "Zvolte teplotu, ktera odpovida vasemu materialu."
 
-#MSG_CALIBRATION_PINDA_MENU c=17 r=1
+#MSG_CALIBRATION_PINDA_MENU c=17
 "Temp. calibration"
 "Teplot. kalibrace"
 
@@ -1142,15 +1130,15 @@
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
 "Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal."
 
-# c=20 r=3
+#MSG_FS_VERIFIED c=20 r=3
 "Sensor verified, remove the filament now."
 "Senzor overen, vyjmete filament."
 
-#MSG_TEMPERATURE
+#MSG_TEMPERATURE c=18
 "Temperature"
 "Teplota"
 
-#MSG_MENU_TEMPERATURES c=15 r=1
+#MSG_MENU_TEMPERATURES c=15
 "Temperatures"
 "Teploty"
 
@@ -1158,39 +1146,35 @@
 "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."
 "Je potreba kalibrovat osu Z. Prosim postupujte dle prirucky, kapitola Zaciname, sekce Postup kalibrace."
 
-#
+#MSG_TOTAL_FILAMENT c=19
 "Total filament"
 "Filament celkem"
 
-#
+#MSG_TOTAL_PRINT_TIME c=19
 "Total print time"
 "Celkovy cas tisku"
 
-#MSG_TUNE
+#MSG_TUNE c=18
 "Tune"
 "Ladit"
 
-#
-"Unload"
-"Vysunout"
-
 #MSG_TOTAL_FAILURES c=20
 "Total failures"
 "Celkem selhani"
 
-# c=20
+#MSG_TO_LOAD_FIL c=20
 "to load filament"
 "k zavedeni filamentu"
 
-# c=20
+#MSG_TO_UNLOAD_FIL c=20
 "to unload filament"
 "k vyjmuti filamentu"
 
-#MSG_UNLOAD_FILAMENT c=17
+#MSG_UNLOAD_FILAMENT c=16
 "Unload filament"
 "Vyjmout filament"
 
-#MSG_UNLOADING_FILAMENT c=20 r=1
+#MSG_UNLOADING_FILAMENT c=20
 "Unloading filament"
 "Vysouvam filament"
 
@@ -1198,23 +1182,23 @@
 "Total"
 "Celkem"
 
-#MSG_USED c=19 r=1
+#MSG_USED c=19
 "Used during print"
 "Pouzite behem tisku"
 
-#MSG_MENU_VOLTAGES c=15 r=1
+#MSG_MENU_VOLTAGES c=15
 "Voltages"
 "Napeti"
 
-#
+#MSG_UNKNOWN c=13
 "unknown"
 "neznamy"
 
-#MSG_USERWAIT
+#MSG_USERWAIT c=20
 "Wait for user..."
-"Ceka se na uzivatele..."
+"Ceka se na uzivatele"
 
-#MSG_WAITING_TEMP c=20 r=3
+#MSG_WAITING_TEMP c=20 r=4
 "Waiting for nozzle and bed cooling"
 "Cekani na zchladnuti trysky a podlozky."
 
@@ -1222,10 +1206,6 @@
 "Waiting for PINDA probe cooling"
 "Cekani na zchladnuti PINDA"
 
-#
-"Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube."
-"Pouzijte vyjmout pro odstraneni filamentu 1 pokud presahuje z PTFE trubicky za tiskarnou. Pouzijte vysunout, pokud neni videt."
-
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
 "Varovani: doslo ke zmene typu tiskarny a motherboardu."
@@ -1242,11 +1222,11 @@
 "Was filament unload successful?"
 "Bylo vysunuti filamentu uspesne?"
 
-#MSG_SELFTEST_WIRINGERROR
+#MSG_SELFTEST_WIRINGERROR c=18
 "Wiring error"
 "Chyba zapojeni"
 
-#MSG_WIZARD c=17 r=1
+#MSG_WIZARD c=17
 "Wizard"
 "Pruvodce"
 
@@ -1258,7 +1238,7 @@
 "XYZ calibration failed. Please consult the manual."
 "Kalibrace XYZ selhala. Nahlednete do manualu."
 
-#MSG_YES
+#MSG_YES c=3
 "Yes"
 "Ano"
 
@@ -1298,27 +1278,27 @@
 "Load all"
 "Zavest vse"
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
 "XYZ calibration failed. Bed calibration point was not found."
 "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
 "XYZ calibration failed. Front calibration points not reachable."
 "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
 "XYZ calibration failed. Right front calibration point not reachable."
 "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu."
 
-#
+#MSG_Y_DIST_FROM_MIN c=20
 "Y distance from min"
 "Y vzdalenost od min"
 
-#
+#MSG_WIZARD_V2_CAL_2 c=20 r=12
 "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
 "Tiskarna zacne tisknout lomenou caru. Otacenim tlacitka nastavte optimalni vysku. Postupujte podle obrazku v handbooku (kapitola Kalibrace)."
 
-# c=20 r=5
+#MSG_FIL_FAILED c=20 r=5
 "Verification failed, remove the filament and try again."
 "Overeni selhalo, vyjmete filament a zkuste znovu."
 
@@ -1326,39 +1306,39 @@
 "Y-correct:"
 "Korekce Y:"
 
-#MSG_OFF
+#MSG_OFF c=3
 "Off"
 "Vyp"
 
-#MSG_ON
+#MSG_ON c=3
 "On"
 "Zap"
 
-#
+#MSG_BACK c=18
 "Back"
 "Zpet"
 
-#
+#MSG_CHECKS c=18
 "Checks"
 "Kontrola"
 
-#
+#MSG_FALSE_TRIGGERING c=20
 "False triggering"
 "Falesne spusteni"
 
-#
-"FINDA:"
+#MSG_FINDA c=5
+"FINDA"
 "\x00"
 
-#MSG_FIRMWARE
+#MSG_FIRMWARE c=8
 "Firmware"
 "\x00"
 
-#MSG_STRICT
+#MSG_STRICT c=8
 "Strict"
 "Prisne"
 
-#MSG_WARN
+#MSG_WARN c=8
 "Warn"
 "Varovat"
 
@@ -1366,43 +1346,39 @@
 "HW Setup"
 "HW nastaveni"
 
-#
-"IR:"
-"\x00"
-
-#MSG_MAGNETS_COMP
+#MSG_MAGNETS_COMP c=13
 "Magnets comp."
 "Komp. magnetu"
 
-#MSG_MESH
+#MSG_MESH c=12
 "Mesh"
 "\x00"
 
-#
+#MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
 "MK3S firmware detected on MK3 printer"
 "MK3S firmware detekovan na tiskarne MK3"
 
-#MSG_MMU_MODE
+#MSG_MMU_MODE c=8
 "MMU Mode"
 "MMU mod"
 
-#
+#MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
 "Mode change in progress ..."
 "Probiha zmena modu..."
 
-#MSG_MODEL
+#MSG_MODEL c=8
 "Model"
 "\x00"
 
-#MSG_NOZZLE_DIAMETER
+#MSG_NOZZLE_DIAMETER c=10
 "Nozzle d."
 "Tryska"
 
-#
+#MSG_GCODE_DIFF_CONTINUE c=20 r=4
 "G-code sliced for a different level. Continue?"
 "\x00"
 
-#
+#MSG_GCODE_DIFF_CANCELLED c=20 r=7
 "G-code sliced for a different level. Please re-slice the model again. Print cancelled."
 "\x00"
 
@@ -1410,35 +1386,31 @@
 "G-code sliced for a different printer type. Continue?"
 "G-code je pripraven pro jiny typ tiskarny. Pokracovat?"
 
-#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
+#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8
 "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
 "G-code je pripraven pro jiny typ tiskarny. Prosim preslicujte model znovu. Tisk zrusen."
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 "G-code sliced for a newer firmware. Continue?"
 "G-code je pripraven pro novejsi firmware. Pokracovat?"
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8
 "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
 "G-code je pripraven pro novejsi firmware. Prosim aktualizujte firmware. Tisk zrusen."
 
-#
-"PINDA:"
-"\x00"
-
-# c=20
+#MSG_PREHEATING_TO_CUT c=20
 "Preheating to cut"
 "Predehrev ke strihu"
 
-# c=20
+#MSG_PREHEATING_TO_EJECT c=20
 "Preheating to eject"
 "Predehrev k vysunuti"
 
-#
+#MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 "Printer nozzle diameter differs from the G-code. Continue?"
 "Prumer trysky tiskarny se lisi od G-code. Pokracovat?"
 
-#
+#MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
 "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."
 "Prumer trysky tiskarny se lisi od G-code. Prosim zkontrolujte nastaveni. Tisk zrusen."
 
@@ -1446,15 +1418,15 @@
 "%s level expected"
 "\x00"
 
-#
+#MSG_RENAME c=18
 "Rename"
 "Prejmenovat"
 
-#
+#MSG_SELECT c=18
 "Select"
 "Vybrat"
 
-#
+#MSG_INFO_SENSORS c=18
 "Sensor info"
 "Senzor info"
 
@@ -1462,7 +1434,7 @@
 "Sheet"
 "Plat"
 
-#MSG_SOUND_BLIND
+#MSG_SOUND_BLIND c=7
 "Assist"
 "Asist."
 
@@ -1474,7 +1446,10 @@
 "Z-correct:"
 "Korekce Z:"
 
-#MSG_Z_PROBE_NR
+#MSG_Z_PROBE_NR c=14
 "Z-probe nr."
 "Pocet mereni Z"
 
+#MSG_PRINTER_IP c=18
+"Printer IP Addr:"
+"\x00"

+ 222 - 247
lang/lang_en_de.txt

@@ -1,7 +1,3 @@
-#
-"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
-"[%.7s]Z Einstell.\x0aWert gesetzt,weiter\x0aoder mit 0 beginnen?\x0a%cWeiter%cNeu beginnen"
-
 #MSG_IR_03_OR_OLDER c=18
 " 0.3 or older"
 " 0.3 oder aelter"
@@ -30,7 +26,7 @@
 " of 9"
 " von 9"
 
-#MSG_MEASURED_OFFSET
+#MSG_MEASURED_OFFSET c=20
 "[0;0] point offset"
 "[0;0] Punktversatz"
 
@@ -42,10 +38,6 @@
 "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode"
 "WARNUNG:\x0aCrash Erkennung\x0adeaktiviert im\x0aStealth Modus"
 
-#
-">Cancel"
-">Abbruch"
-
 #MSG_BABYSTEPPING_Z c=15
 "Adjusting Z:"
 "Z Anpassen:"
@@ -58,7 +50,7 @@
 "All is done. Happy printing!"
 "Alles abgeschlossen. Viel Spass beim Drucken!"
 
-#
+#MSG_AMBIENT c=14
 "Ambient"
 "Raumtemp."
 
@@ -74,11 +66,11 @@
 "Are left and right Z~carriages all up?"
 "Sind linke+rechte Z- Schlitten ganz oben?"
 
-#MSG_AUTO_DEPLETE c=17 r=1
+#MSG_AUTO_DEPLETE c=13
 "SpoolJoin"
 "\x00"
 
-#MSG_AUTO_HOME
+#MSG_AUTO_HOME c=18
 "Auto home"
 "Startposition"
 
@@ -94,36 +86,36 @@
 "Autoloading filament is active, just press the knob and insert filament..."
 "Automatisches Laden Filament ist aktiv, Knopf druecken und Filament einlegen..."
 
-#MSG_SELFTEST_AXIS_LENGTH
+#MSG_SELFTEST_AXIS_LENGTH c=20
 "Axis length"
 "Achsenlaenge"
 
-#MSG_SELFTEST_AXIS
+#MSG_SELFTEST_AXIS c=16
 "Axis"
 "Achse"
 
-#MSG_SELFTEST_BEDHEATER
+#MSG_SELFTEST_BEDHEATER c=20
 "Bed / Heater"
 "Bett / Heizung"
 
-#MSG_BED_DONE
+#MSG_BED_DONE c=20
 "Bed done"
 "Bett OK"
 
-#MSG_BED_HEATING
+#MSG_BED_HEATING c=20
 "Bed Heating"
 "Bett aufwaermen"
 
-#MSG_BED_CORRECTION_MENU
+#MSG_BED_CORRECTION_MENU c=18
 "Bed level correct"
 "Ausgleich Bett ok"
 
-#MSG_BELTTEST c=17
+#MSG_BELTTEST c=18
 "Belt test        "
 "Riementest       "
 
-#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5
-"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
+#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
+"Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."
 "Z-Kal. fehlgeschlg. Sensor nicht ausgeloest. Schmutzige Duese? Warte auf Reset."
 
 #MSG_BRIGHT c=6
@@ -134,7 +126,7 @@
 "Brightness"
 "Helligkeit"
 
-#MSG_BED
+#MSG_BED c=13
 "Bed"
 "Bett"
 
@@ -146,22 +138,26 @@
 "Blackout occurred. Recover print?"
 "Stromausfall! Druck wiederherstellen?"
 
-#
+#MSG_CALIBRATING_HOME c=20
 "Calibrating home"
 "Kalibriere Start"
 
-#MSG_CALIBRATE_BED
+#MSG_CALIBRATE_BED c=18
 "Calibrate XYZ"
 "Kalibrierung XYZ"
 
-#MSG_HOMEYZ
+#MSG_HOMEYZ c=18
 "Calibrate Z"
 "Kalibrierung Z"
 
-#MSG_CALIBRATE_PINDA c=17 r=1
+#MSG_CALIBRATE_PINDA c=17
 "Calibrate"
 "Kalibrieren"
 
+#MSG_CANCEL2 c=10
+">Cancel"
+">Abbruch"
+
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "XYZ Kalibrieren: Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Anschliessend den Knopf druecken."
@@ -174,35 +170,31 @@
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Z Kalibrieren: Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Anschliessend den Knopf druecken."
 
-#MSG_HOMEYZ_DONE
+#MSG_HOMEYZ_DONE c=20
 "Calibration done"
 "Kalibrierung OK"
 
-#MSG_MENU_CALIBRATION
+#MSG_MENU_CALIBRATION c=18
 "Calibration"
 "Kalibrierung"
 
-#
-"Cancel"
-"Abbruch"
-
-#MSG_SD_REMOVED
+#MSG_SD_REMOVED c=20
 "Card removed"
 "SD Karte entfernt"
 
-#
+#MSG_CHECKING_FILE c=17
 "Checking file"
 "\x00"
 
-#MSG_NOT_COLOR
+#MSG_NOT_COLOR c=19
 "Color not correct"
 "Falsche Farbe"
 
-#MSG_COOLDOWN
+#MSG_COOLDOWN c=18
 "Cooldown"
 "Abkuehlen"
 
-#
+#MSG_COPY_SEL_LANG c=20 r=3
 "Copy selected language?"
 "Gewaehlte Sprache kopieren?"
 
@@ -210,15 +202,15 @@
 "Crash det."
 "Crash Erk."
 
-#
+#MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
 "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
 "Waehlen Sie ein Filament fuer Erste Schichtkalibrierung aus und waehlen Sie es im On-Screen-Menu aus."
 
-#MSG_CRASH_DETECTED c=20 r=1
+#MSG_CRASH_DETECTED c=20
 "Crash detected."
 "Crash erkannt."
 
-#
+#MSG_CRASH_RESUME c=20 r=3
 "Crash detected. Resume print?"
 "Crash erkannt. Druck fortfuehren?"
 
@@ -226,11 +218,11 @@
 "Crash"
 "\x00"
 
-#MSG_CURRENT c=19 r=1
+#MSG_CURRENT c=19
 "Current"
 "Aktuelles"
 
-#MSG_DATE c=17 r=1
+#MSG_DATE c=17
 "Date:"
 "Datum:"
 
@@ -238,7 +230,7 @@
 "Community made"
 "\x00"
 
-#MSG_DISABLE_STEPPERS
+#MSG_DISABLE_STEPPERS c=18
 "Disable steppers"
 "Motoren aus"
 
@@ -262,7 +254,7 @@
 "Eject filament"
 "Filamentauswurf"
 
-#MSG_EJECTING_FILAMENT c=20 r=1
+#MSG_EJECTING_FILAMENT c=20
 "Ejecting filament"
 "werfe Filament aus"
 
@@ -270,11 +262,11 @@
 "Endstop not hit"
 "Ende nicht getroffen"
 
-#MSG_SELFTEST_ENDSTOP
+#MSG_SELFTEST_ENDSTOP c=16
 "Endstop"
 "Endanschlag"
 
-#MSG_SELFTEST_ENDSTOPS
+#MSG_SELFTEST_ENDSTOPS c=20
 "Endstops"
 "Endschalter"
 
@@ -290,7 +282,7 @@
 "Cutter"
 "Messer"
 
-# c=18
+#MSG_MMU_CUTTING_FIL c=18
 "Cutting filament"
 "Schneide filament"
 
@@ -302,7 +294,7 @@
 "Dim"
 "Dimm"
 
-#MSG_ERROR
+#MSG_ERROR c=10
 "ERROR:"
 "FEHLER:"
 
@@ -318,7 +310,7 @@
 "Extruder"
 "\x00"
 
-#
+#MSG_MMU_FAIL_STATS c=18
 "Fail stats MMU"
 "MMU-Fehler"
 
@@ -326,7 +318,7 @@
 "F. autoload"
 "F. autoladen"
 
-#
+#MSG_FAIL_STATS c=18
 "Fail stats"
 "Fehlerstatistik"
 
@@ -342,7 +334,7 @@
 "Fans check"
 "Luefter Chk."
 
-#MSG_FSENSOR
+#MSG_FSENSOR c=12
 "Fil. sensor"
 "Fil. Sensor"
 
@@ -366,7 +358,7 @@
 "Filament used"
 "Filament benutzt"
 
-#MSG_PRINT_TIME c=19 r=1
+#MSG_PRINT_TIME c=19
 "Print time"
 "Druckzeit"
 
@@ -390,35 +382,35 @@
 "First, I will run the selftest to check most common assembly problems."
 "Zunaechst fuehre ich den Selbsttest durch, um die haeufigsten Probleme beim Zusammenbau zu ueberpruefen."
 
-#
+#MSG_MMU_FIX_ISSUE c=20 r=4
 "Fix the issue and then press button on MMU unit."
 "Beseitigen Sie das Problem und druecken Sie dann den Knopf am MMU."
 
-#MSG_FLOW
+#MSG_FLOW c=15
 "Flow"
 "Durchfluss"
 
-#MSG_PRUSA3D_FORUM
+#MSG_PRUSA3D_FORUM c=18
 "forum.prusa3d.com"
 "\x00"
 
 #MSG_SELFTEST_COOLING_FAN c=20
 "Front print fan?"
-"Vorderer Luefter?"
+"Teile Luefter?"
 
-#MSG_BED_CORRECTION_FRONT c=14 r=1
+#MSG_BED_CORRECTION_FRONT c=14
 "Front side[um]"
 "Vorne [um]"
 
-#MSG_SELFTEST_FANS
+#MSG_SELFTEST_FANS c=20
 "Front/left fans"
-"Vorderer/linke Luefter"
+"Teile/Extr. Luefter"
 
-#MSG_SELFTEST_HEATERTHERMISTOR
+#MSG_SELFTEST_HEATERTHERMISTOR c=20
 "Heater/Thermistor"
 "Heizung/Thermistor"
 
-#MSG_BED_HEATING_SAFETY_DISABLED
+#MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
 "Heating disabled by safety timer."
 "Heizung durch Sicherheitstimer deaktiviert."
 
@@ -426,7 +418,7 @@
 "Heating done."
 "Aufwaermen OK."
 
-#MSG_HEATING
+#MSG_HEATING c=20
 "Heating"
 "Aufwaermen"
 
@@ -434,15 +426,15 @@
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
 "Hallo, ich bin Ihr Original Prusa i3 Drucker. Moechten Sie, dass ich Sie durch den Einrich- tungsablauf fuehre?"
 
-#MSG_PRUSA3D_HOWTO
+#MSG_PRUSA3D_HOWTO c=18
 "howto.prusa3d.com"
 "\x00"
 
-#MSG_FILAMENTCHANGE
+#MSG_FILAMENTCHANGE c=18
 "Change filament"
 "Filament-Wechsel"
 
-#MSG_CHANGE_SUCCESS
+#MSG_CHANGE_SUCCESS c=20
 "Change success!"
 "Wechsel erfolgr.!"
 
@@ -478,15 +470,15 @@
 "Checking Z axis"
 "Pruefe Z Achse"
 
-#MSG_CHOOSE_EXTRUDER c=20 r=1
+#MSG_CHOOSE_EXTRUDER c=20
 "Choose extruder:"
 "Extruder waehlen:"
 
-#MSG_CHOOSE_FILAMENT c=20 r=1
+#MSG_CHOOSE_FILAMENT c=20
 "Choose filament:"
 "Waehle Filament:"
 
-#MSG_FILAMENT c=17 r=1
+#MSG_FILAMENT c=17
 "Filament"
 "\x00"
 
@@ -498,7 +490,7 @@
 "I will run z calibration now."
 "Ich werde jetzt die Z Kalibrierung durchfuehren."
 
-#MSG_WATCH
+#MSG_WATCH c=18
 "Info screen"
 "Infoanzeige"
 
@@ -522,7 +514,7 @@
 "Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."
 "Hallo, ich bin Ihr Original Prusa i3 Drucker. Ich werde Sie durch einen kurzen Einrichtungsprozess fuehren, bei dem die Z-Achse kalibriert wird. Danach sind Sie bereit fuer den Druck."
 
-#
+#MSG_ADDITIONAL_SHEETS c=20 r=9
 "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
 "Wenn Sie zusaetzliche Stahlbleche haben, kalibrieren Sie deren Voreinstellungen unter Einstellungen - HW Setup - Stahlbleche."
 
@@ -532,25 +524,25 @@
 
 #MSG_SELFTEST_EXTRUDER_FAN c=20
 "Left hotend fan?"
-"Linker Luefter?"
+"Extruder Luefter?"
 
-#
+#MSG_LEFT c=10
 "Left"
 "Links"
 
-#MSG_BED_CORRECTION_LEFT c=14 r=1
+#MSG_BED_CORRECTION_LEFT c=14
 "Left side [um]"
 "Links [um]"
 
-#
+#MSG_LIN_CORRECTION c=18
 "Lin. correction"
 "Lineare Korrektur"
 
-#MSG_BABYSTEP_Z
+#MSG_BABYSTEP_Z c=18
 "Live adjust Z"
 "Z einstellen"
 
-# c=20 r=6
+#MSG_INSERT_FIL c=20 r=6
 "Insert the filament (do not load it) into the extruder and then press the knob."
 "Stecken Sie das Filament (nicht laden) in den Extruder und druecken Sie dann den Knopf."
 
@@ -558,7 +550,7 @@
 "Load filament"
 "Filament laden"
 
-#MSG_LOADING_COLOR
+#MSG_LOADING_COLOR c=20
 "Loading color"
 "Lade Farbe"
 
@@ -566,19 +558,19 @@
 "Loading filament"
 "Filament laedt"
 
-#MSG_LOOSE_PULLEY c=20 r=1
+#MSG_LOOSE_PULLEY c=20
 "Loose pulley"
 "Lose Riemenscheibe"
 
-#
+#MSG_LOAD_TO_NOZZLE c=18
 "Load to nozzle"
-"In Druckduese laden"
+"In Nozzle laden"
 
 #MSG_M117_V2_CALIBRATION c=25
 "M117 First layer cal."
 "M117 Erste-Schicht Kal."
 
-#MSG_MAIN
+#MSG_MAIN c=18
 "Main"
 "Hauptmenue"
 
@@ -590,7 +582,7 @@
 "Level Dimmed"
 "Dimmwert"
 
-#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
+#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3
 "Measuring reference height of calibration point"
 "Messen der Referenzhoehe des Kalibrierpunktes"
 
@@ -606,7 +598,7 @@
 "MMU OK. Resuming temperature..."
 "MMU OK. Temperatur wiederherstellen..."
 
-#
+#MSG_MEASURED_SKEW c=13
 "Measured skew"
 "Schraeglauf"
 
@@ -614,7 +606,7 @@
 "MMU fails"
 "MMU Fehler"
 
-#
+#MSG_MMU_LOAD_FAILED c=20
 "MMU load failed     "
 "MMU Ladefehler"
 
@@ -626,87 +618,87 @@
 "MMU OK. Resuming..."
 "MMU OK.  Weiterdrucken..."
 
-#MSG_MODE
+#MSG_MODE c=6
 "Mode"
 "Modus"
 
-# c=20 r=3
+#MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
 "MK3 firmware detected on MK3S printer"
 "MK3-Firmware am MK3S-Drucker erkannt"
 
-#MSG_NORMAL
+#MSG_NORMAL c=7
 "Normal"
 "\x00"
 
-#MSG_SILENT
+#MSG_SILENT c=7
 "Silent"
 "Leise"
 
-#
+#MSG_MMU_USER_ATTENTION c=20 r=3
 "MMU needs user attention."
 "MMU erfordert Benutzereingriff."
 
-#
+#MSG_MMU_POWER_FAILS c=15
 "MMU power fails"
 "MMU Netzfehler"
 
-#MSG_STEALTH
+#MSG_STEALTH c=7
 "Stealth"
 "\x00"
 
-#MSG_AUTO_POWER
+#MSG_AUTO_POWER c=10
 "Auto power"
 "Auto Leist"
 
-#MSG_HIGH_POWER
+#MSG_HIGH_POWER c=10
 "High power"
 "Hohe leist"
 
-#
+#MSG_MMU_CONNECTED c=18
 "MMU2 connected"
 "MMU2 verbunden"
 
-#MSG_SELFTEST_MOTOR
+#MSG_SELFTEST_MOTOR c=18
 "Motor"
 "\x00"
 
-#MSG_MOVE_AXIS
+#MSG_MOVE_AXIS c=18
 "Move axis"
 "Achse bewegen"
 
-#MSG_MOVE_X
+#MSG_MOVE_X c=18
 "Move X"
 "Bewege X"
 
-#MSG_MOVE_Y
+#MSG_MOVE_Y c=18
 "Move Y"
 "Bewege Y"
 
-#MSG_MOVE_Z
+#MSG_MOVE_Z c=18
 "Move Z"
 "Bewege Z"
 
-#MSG_NO_MOVE
+#MSG_NO_MOVE c=20
 "No move."
 "Keine Bewegung."
 
-#MSG_NO_CARD
+#MSG_NO_CARD c=18
 "No SD card"
 "Keine SD Karte"
 
-#MSG_NA
+#MSG_NA c=3
 "N/A"
 "N/V"
 
-#MSG_NO
+#MSG_NO c=4
 "No"
 "Nein"
 
-#MSG_SELFTEST_NOTCONNECTED
+#MSG_SELFTEST_NOTCONNECTED c=20
 "Not connected"
 "Nicht angeschlossen"
 
-#
+#MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2
 "New firmware version available:"
 "Neue Firmware- Version verfuegbar:"
 
@@ -722,19 +714,19 @@
 "Now I will preheat nozzle for PLA."
 "Jetzt werde ich die Duese fuer PLA vorheizen."
 
-#MSG_NOZZLE
+#MSG_NOZZLE c=12
 "Nozzle"
 "Duese"
 
-#MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+#MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 "Old settings found. Default PID, Esteps etc. will be set."
 "Alte Einstellungen gefunden. Standard PID, E-Steps u.s.w. werden gesetzt."
 
-#
+#MSG_REMOVE_TEST_PRINT c=20 r=4
 "Now remove the test print from steel sheet."
 "Testdruck jetzt von Stahlblech entfernen."
 
-#
+#MSG_NOZZLE_FAN c=10
 "Nozzle FAN"
 "Duesevent."
 
@@ -742,19 +734,19 @@
 "Pause print"
 "Druck pausieren"
 
-#MSG_PID_RUNNING c=20 r=1
+#MSG_PID_RUNNING c=20
 "PID cal.           "
 "PID Kal.           "
 
-#MSG_PID_FINISHED c=20 r=1
+#MSG_PID_FINISHED c=20
 "PID cal. finished"
 "PID Kalib. fertig"
 
-#MSG_PID_EXTRUDER c=17 r=1
+#MSG_PID_EXTRUDER c=17
 "PID calibration"
 "PID Kalibrierung"
 
-#MSG_PINDA_PREHEAT c=20 r=1
+#MSG_PINDA_PREHEAT c=20
 "PINDA Heating"
 "PINDA erwaermen"
 
@@ -770,7 +762,7 @@
 "Please clean the nozzle for calibration. Click when done."
 "Bitte entfernen Sie ueberstehendes Filament von der Duese. Klicken wenn sauber."
 
-#MSG_SELFTEST_PLEASECHECK
+#MSG_SELFTEST_PLEASECHECK c=20
 "Please check :"
 "Bitte pruefe:"
 
@@ -778,11 +770,11 @@
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
 "Bitte lesen Sie unser Handbuch und beheben Sie das Problem. Fahren Sie dann mit dem Assistenten fort, indem Sie den Drucker neu starten."
 
-#MSG_CHECK_IDLER c=20 r=4
+#MSG_CHECK_IDLER c=20 r=5
 "Please open idler and remove filament manually."
 "Bitte Spannrolle oeffnen und Fila- ment von Hand entfernen"
 
-#MSG_PLACE_STEEL_SHEET c=20 r=4
+#MSG_PLACE_STEEL_SHEET c=20 r=5
 "Please place steel sheet on heatbed."
 "Bitte legen Sie das Stahlblech auf das Heizbett."
 
@@ -814,7 +806,7 @@
 "Please wait"
 "Bitte warten"
 
-#
+#MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
 "Please remove shipping helpers first."
 "Bitte zuerst Transportsicherungen entfernen."
 
@@ -822,7 +814,7 @@
 "Preheat the nozzle!"
 "Duese vorheizen!"
 
-#MSG_PREHEAT
+#MSG_PREHEAT c=18
 "Preheat"
 "Vorheizen"
 
@@ -830,11 +822,11 @@
 "Preheating nozzle. Please wait."
 "Vorheizen der Duese. Bitte warten."
 
-# c=14
+#MSG_PINDA c=5
 "PINDA"
 "\x00"
 
-#
+#MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20
 "Please upgrade."
 "Bitte aktualisieren."
 
@@ -854,11 +846,11 @@
 "Print aborted"
 "Druck abgebrochen"
 
-# c=20
+#MSG_PREHEATING_TO_LOAD c=20
 "Preheating to load"
 "Heizen zum Laden"
 
-# c=20
+#MSG_PREHEATING_TO_UNLOAD c=20
 "Preheating to unload"
 "Heizen zum Entladen"
 
@@ -866,19 +858,19 @@
 "Print fan:"
 "Druckvent.:"
 
-#MSG_CARD_MENU
+#MSG_CARD_MENU c=18
 "Print from SD"
 "Drucken von SD"
 
-# c=20
+#MSG_PRESS_KNOB c=20
 "Press the knob"
 "Knopf druecken zum"
 
-#MSG_PRINT_PAUSED c=20 r=1
+#MSG_PRINT_PAUSED c=20
 "Print paused"
 "Druck pausiert"
 
-#
+#MSG_RESUME_NOZZLE_TEMP c=20 r=4
 "Press the knob to resume nozzle temperature."
 "Druecken Sie den Knopf um die Duesentemperatur wiederherzustellen"
 
@@ -886,35 +878,35 @@
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
 "Drucker wurde noch nicht kalibriert. Bitte folgen Sie dem Handbuch, Kapitel Erste Schritte, Abschnitt Kalibrie- rungsablauf."
 
-#
+#MSG_PRINT_FAN c=10
 "Print FAN"
 "Druckvent."
 
-#
+#MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 "Please insert filament into the extruder, then press the knob to load it."
 "Bitte legen Sie das Filament in den Extruder ein und druecken Sie dann den Knopf, um es zu laden."
 
-#
+#MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 "Please insert filament into the first tube of the MMU, then press the knob to load it."
 "Bitte stecken Sie das Filament in den ersten Schlauch der MMU und druecken Sie dann den Knopf, um es zu laden."
 
-#
+#MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load filament first."
 "Bitte laden Sie zuerst das Filament."
 
-#MSG_PRUSA3D
+#MSG_PRUSA3D c=18
 "prusa3d.com"
 "\x00"
 
-#MSG_BED_CORRECTION_REAR c=14 r=1
+#MSG_BED_CORRECTION_REAR c=14
 "Rear side [um]"
 "Hinten [um]"
 
-# c=20 r=4
+#MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
 "Please unload the filament first, then repeat this action."
 "Bitte entladen Sie erst das Filament und versuchen Sie es nochmal."
 
-# c=20 r=4
+#MSG_CHECK_IR_CONNECTION c=20 r=4
 "Please check the IR sensor connection, unload filament if present."
 "Bitte IR Sensor Verbindungen ueber- pruefen und Filament entladen ist."
 
@@ -930,7 +922,7 @@
 "Prusa i3 MK3S OK."
 "\x00"
 
-#MSG_CALIBRATE_BED_RESET
+#MSG_CALIBRATE_BED_RESET c=18
 "Reset XYZ calibr."
 "Reset XYZ Kalibr."
 
@@ -946,11 +938,11 @@
 "Resuming print"
 "Druck fortgesetzt"
 
-#MSG_BED_CORRECTION_RIGHT c=14 r=1
+#MSG_BED_CORRECTION_RIGHT c=14
 "Right side[um]"
 "Rechts [um]"
 
-#MSG_RPI_PORT
+#MSG_RPI_PORT c=13
 "RPi port"
 "\x00"
 
@@ -958,27 +950,27 @@
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
 "Der Assistent wird die aktuellen Kalibrierungsdaten loeschen und von vorne beginnen. Weiterfahren?"
 
-#MSG_SD_CARD
+#MSG_SD_CARD c=8
 "SD card"
 "SD Karte"
 
-#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
+#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8
 "FlashAir"
 "\x00"
 
-#
+#MSG_RIGHT c=10
 "Right"
 "Rechts"
 
-#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60
+#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2
 "Searching bed calibration point"
 "Suche Bett Kalibrierpunkt"
 
-#MSG_LANGUAGE_SELECT
+#MSG_LANGUAGE_SELECT c=18
 "Select language"
 "Waehle Sprache"
 
-#MSG_SELFTEST_OK
+#MSG_SELFTEST_OK c=20
 "Self test OK"
 "Selbsttest OK"
 
@@ -986,11 +978,11 @@
 "Self test start  "
 "Selbsttest start "
 
-#MSG_SELFTEST
+#MSG_SELFTEST c=18
 "Selftest         "
 "Selbsttest       "
 
-#MSG_SELFTEST_ERROR
+#MSG_SELFTEST_ERROR c=20
 "Selftest error !"
 "Selbsttest Fehler!"
 
@@ -1002,11 +994,11 @@
 "Selftest will be run to calibrate accurate sensorless rehoming."
 "Selbsttest im Gang, um die genaue Rueck- kehr zum Nullpunkt ohne Sensor zu kalibrieren"
 
-#
+#MSG_SEL_PREHEAT_TEMP c=20 r=6
 "Select nozzle preheat temperature which matches your material."
 "Bitte Vorheiztemperatur auswaehlen, die Ihrem Material entspricht."
 
-#MSG_SET_TEMPERATURE c=19 r=1
+#MSG_SET_TEMPERATURE c=19
 "Set temperature:"
 "Temp. einstellen:"
 
@@ -1022,7 +1014,7 @@
 "Prusa i3 MK3 OK."
 "\x00"
 
-#MSG_SETTINGS
+#MSG_SETTINGS c=18
 "Settings"
 "Einstellungen"
 
@@ -1030,63 +1022,59 @@
 "Show end stops"
 "Endschalter Status"
 
-#
-"Sensor state"
-"Sensorstatus"
-
 #MSG_FILE_CNT c=20 r=6
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
 "Einige Dateien wur- den nicht sortiert. Max. Dateien pro Verzeichnis = 100."
 
-#MSG_SORT
+#MSG_SORT c=7
 "Sort"
 "Sort."
 
-#MSG_NONE
+#MSG_NONE c=8
 "None"
 "Ohne"
 
-#MSG_SORT_TIME
+#MSG_SORT_TIME c=8
 "Time"
 "Zeit"
 
-#
+#MSG_SEVERE_SKEW c=13
 "Severe skew:"
 "Schwer.Schr:"
 
-#MSG_SORT_ALPHA
+#MSG_SORT_ALPHA c=8
 "Alphabet"
 "\x00"
 
-#MSG_SORTING c=20 r=1
+#MSG_SORTING c=20
 "Sorting files"
 "Sortiere Dateien"
 
-#MSG_SOUND_LOUD
+#MSG_SOUND_LOUD c=7
 "Loud"
 "Laut"
 
-#
+#MSG_SLIGHT_SKEW c=13
 "Slight skew:"
 "Leicht.Schr:"
 
-#MSG_SOUND
+#MSG_SOUND c=7
 "Sound"
 "Ton"
 
-# c=7
+#MSG_RUNOUTS c=7
 "Runouts"
 "\x00"
 
-#
+#MSG_Z-LEVELING_ENFORCED c=20 r=4
 "Some problem encountered, Z-leveling enforced ..."
 "Fehler aufgetreten, Z-Kalibrierung erforderlich..."
 
-#MSG_SOUND_ONCE
+#MSG_SOUND_ONCE c=7
 "Once"
 "Einmal"
 
-#MSG_SPEED
+#MSG_SPEED c=15
 "Speed"
 "Geschwindigkeit"
 
@@ -1098,27 +1086,27 @@
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
 "Stabile Umgebungs- temperatur 21-26C und feste Stand- flaeche erforderlich"
 
-#MSG_STATISTICS
+#MSG_STATISTICS c=18
 "Statistics  "
 "Statistiken "
 
-#MSG_STOP_PRINT
+#MSG_STOP_PRINT c=18
 "Stop print"
 "Druck abbrechen"
 
-#MSG_STOPPED
+#MSG_STOPPED c=20
 "STOPPED. "
 "GESTOPPT."
 
-#MSG_SUPPORT
+#MSG_SUPPORT c=18
 "Support"
 "\x00"
 
-#MSG_SELFTEST_SWAPPED
+#MSG_SELFTEST_SWAPPED c=16
 "Swapped"
 "Ausgetauscht"
 
-#
+#MSG_SELECT_FILAMENT c=20
 "Select filament:"
 "Filament auswaehlen:"
 
@@ -1126,11 +1114,11 @@
 "Temp. cal."
 "Temp Kalib."
 
-#
+#MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
 "Select temperature which matches your material."
 "Waehlen Sie die Temperatur, die zu Ihrem Material passt."
 
-#MSG_CALIBRATION_PINDA_MENU c=17 r=1
+#MSG_CALIBRATION_PINDA_MENU c=17
 "Temp. calibration"
 "Temp. kalibrieren"
 
@@ -1142,15 +1130,15 @@
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
 "Temp.kalibrierung ist fertig + aktiv. Temp.kalibrierung kann ausgeschaltet werden im Menu Einstellungen -> Temp.kal."
 
-# c=20 r=3
+#MSG_FS_VERIFIED c=20 r=3
 "Sensor verified, remove the filament now."
 "Sensor ueberprueft, entladen Sie jetzt das Filament."
 
-#MSG_TEMPERATURE
+#MSG_TEMPERATURE c=18
 "Temperature"
 "Temperatur"
 
-#MSG_MENU_TEMPERATURES c=15 r=1
+#MSG_MENU_TEMPERATURES c=15
 "Temperatures"
 "Temperaturen"
 
@@ -1158,39 +1146,35 @@
 "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."
 "Es ist noch not- wendig die Z- Kalibrierung aus- zufuehren. Bitte befolgen Sie das Handbuch, Kapitel Erste Schritte, Abschnitt Kalibrierablauf."
 
-#
+#MSG_TOTAL_FILAMENT c=19
 "Total filament"
 "Gesamtes Filament"
 
-#
+#MSG_TOTAL_PRINT_TIME c=19
 "Total print time"
 "Gesamte Druckzeit"
 
-#MSG_TUNE
+#MSG_TUNE c=18
 "Tune"
 "Feineinstellung"
 
-#
-"Unload"
-"Entladen"
-
 #MSG_TOTAL_FAILURES c=20
 "Total failures"
 "Gesamte Fehler"
 
-# c=20
+#MSG_TO_LOAD_FIL c=20
 "to load filament"
 "Filament laden"
 
-# c=20
+#MSG_TO_UNLOAD_FIL c=20
 "to unload filament"
-"Filament entladen"
+"um Filament entladen"
 
-#MSG_UNLOAD_FILAMENT c=17
+#MSG_UNLOAD_FILAMENT c=16
 "Unload filament"
-"Filament entladen"
+"Fil. entladen"
 
-#MSG_UNLOADING_FILAMENT c=20 r=1
+#MSG_UNLOADING_FILAMENT c=20
 "Unloading filament"
 "Filament auswerfen"
 
@@ -1198,23 +1182,23 @@
 "Total"
 "Gesamt"
 
-#MSG_USED c=19 r=1
+#MSG_USED c=19
 "Used during print"
 "Beim Druck benutzt"
 
-#MSG_MENU_VOLTAGES c=15 r=1
+#MSG_MENU_VOLTAGES c=15
 "Voltages"
 "Spannungen"
 
-#
+#MSG_UNKNOWN c=13
 "unknown"
 "unbekannt"
 
-#MSG_USERWAIT
+#MSG_USERWAIT c=20
 "Wait for user..."
 "Warte auf Benutzer.."
 
-#MSG_WAITING_TEMP c=20 r=3
+#MSG_WAITING_TEMP c=20 r=4
 "Waiting for nozzle and bed cooling"
 "Warten bis Heizung und Bett abgekuehlt sind"
 
@@ -1222,10 +1206,6 @@
 "Waiting for PINDA probe cooling"
 "Warten, bis PINDA- Sonde abgekuehlt ist"
 
-#
-"Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube."
-"Entladen Sie das Filament 1, wenn er aus dem hinteren MMU-Rohr herausragt. Verwenden Sie den Auswurf, wenn er im Rohr versteckt ist."
-
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
 "Warnung: Druckertyp und Platinentyp wurden beide geaendert."
@@ -1242,11 +1222,11 @@
 "Was filament unload successful?"
 "Konnten Sie das Filament entnehmen?"
 
-#MSG_SELFTEST_WIRINGERROR
+#MSG_SELFTEST_WIRINGERROR c=18
 "Wiring error"
 "Verdrahtungsfehler"
 
-#MSG_WIZARD c=17 r=1
+#MSG_WIZARD c=17
 "Wizard"
 "Assistent"
 
@@ -1258,7 +1238,7 @@
 "XYZ calibration failed. Please consult the manual."
 "XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch."
 
-#MSG_YES
+#MSG_YES c=3
 "Yes"
 "Ja"
 
@@ -1298,27 +1278,27 @@
 "Load all"
 "Alle laden"
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
 "XYZ calibration failed. Bed calibration point was not found."
 "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
 "XYZ calibration failed. Front calibration points not reachable."
 "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte nicht erreichbar."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
 "XYZ calibration failed. Right front calibration point not reachable."
 "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt ist nicht erreichbar."
 
-#
+#MSG_Y_DIST_FROM_MIN c=20
 "Y distance from min"
 "Y Entfernung vom Min"
 
-#
+#MSG_WIZARD_V2_CAL_2 c=20 r=12
 "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
 "Der Drucker beginnt mit dem Drucken einer Zickzacklinie. Drehen Sie den Knopf, bis Sie die optimale Hoehe erreicht haben. Ueberpruefen Sie die Bilder im Handbuch (Kapitel Kalibrierung)."
 
-# c=20 r=5
+#MSG_FIL_FAILED c=20 r=5
 "Verification failed, remove the filament and try again."
 "Ueberpruefung fehl- geschlagen, entladen Sie das Filament und versuchen Sie es erneut."
 
@@ -1326,39 +1306,39 @@
 "Y-correct:"
 "Y-Korrektur:"
 
-#MSG_OFF
+#MSG_OFF c=3
 "Off"
 "Aus"
 
-#MSG_ON
+#MSG_ON c=3
 "On"
 "An"
 
-#
+#MSG_BACK c=18
 "Back"
 "Zurueck"
 
-#
+#MSG_CHECKS c=18
 "Checks"
 "Kontrolle"
 
-#
+#MSG_FALSE_TRIGGERING c=20
 "False triggering"
 "Falschtriggerung"
 
-#
-"FINDA:"
+#MSG_FINDA c=5
+"FINDA"
 "\x00"
 
-#MSG_FIRMWARE
+#MSG_FIRMWARE c=8
 "Firmware"
 "\x00"
 
-#MSG_STRICT
+#MSG_STRICT c=8
 "Strict"
 "Strikt"
 
-#MSG_WARN
+#MSG_WARN c=8
 "Warn"
 "Warnen"
 
@@ -1366,43 +1346,39 @@
 "HW Setup"
 "HW Einstellungen"
 
-#
-"IR:"
-"\x00"
-
-#MSG_MAGNETS_COMP
+#MSG_MAGNETS_COMP c=13
 "Magnets comp."
 "Magnet Komp."
 
-#MSG_MESH
+#MSG_MESH c=12
 "Mesh"
 "Gitter"
 
-#
+#MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
 "MK3S firmware detected on MK3 printer"
 "MK3S-Firmware auf MK3-Drucker erkannt"
 
-#MSG_MMU_MODE
+#MSG_MMU_MODE c=8
 "MMU Mode"
-"MMU Modus"
+"\x00"
 
-#
+#MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
 "Mode change in progress ..."
 "Moduswechsel erfolgt..."
 
-#MSG_MODEL
+#MSG_MODEL c=8
 "Model"
 "Modell"
 
-#MSG_NOZZLE_DIAMETER
+#MSG_NOZZLE_DIAMETER c=10
 "Nozzle d."
 "Duese D."
 
-#
+#MSG_GCODE_DIFF_CONTINUE c=20 r=4
 "G-code sliced for a different level. Continue?"
 "G-Code ist fuer einen anderen Level geslict. Fortfahren?"
 
-#
+#MSG_GCODE_DIFF_CANCELLED c=20 r=7
 "G-code sliced for a different level. Please re-slice the model again. Print cancelled."
 "G-Code ist fuer einen anderen Level geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen."
 
@@ -1410,35 +1386,31 @@
 "G-code sliced for a different printer type. Continue?"
 "G-Code ist fuer einen anderen Drucker geslict. Fortfahren?"
 
-#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
+#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8
 "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
 "G-Code ist fuer einen anderen Drucker geslict. Bitte slicen Sie das Modell erneut. Druck abgebrochen."
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 "G-code sliced for a newer firmware. Continue?"
 "G-Code ist fuer eine neuere Firmware geslict. Fortfahren?"
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8
 "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
 "G-Code ist fuer eine neuere Firmware geslict. Bitte die Firmware updaten. Druck abgebrochen."
 
-#
-"PINDA:"
-"\x00"
-
-# c=20
+#MSG_PREHEATING_TO_CUT c=20
 "Preheating to cut"
 "Heizen zum Schnitt"
 
-# c=20
+#MSG_PREHEATING_TO_EJECT c=20
 "Preheating to eject"
 "Heizen zum Auswurf"
 
-#
+#MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 "Printer nozzle diameter differs from the G-code. Continue?"
 "Der Durchmesser der Druckerduese weicht vom G-Code ab. Fortfahren?"
 
-#
+#MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
 "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."
 "Der Durchmesser der Druckerduese weicht vom G-Code ab. Bitte ueberpruefen Sie den Wert in den Einstellungen. Druck abgebrochen."
 
@@ -1446,15 +1418,15 @@
 "%s level expected"
 "\x00"
 
-#
+#MSG_RENAME c=18
 "Rename"
 "Umbenennen"
 
-#
+#MSG_SELECT c=18
 "Select"
 "Auswahl"
 
-#
+#MSG_INFO_SENSORS c=18
 "Sensor info"
 "Sensor Info"
 
@@ -1462,7 +1434,7 @@
 "Sheet"
 "Stahlblech"
 
-#MSG_SOUND_BLIND
+#MSG_SOUND_BLIND c=7
 "Assist"
 "\x00"
 
@@ -1474,7 +1446,10 @@
 "Z-correct:"
 "Z-Korrektur:"
 
-#MSG_Z_PROBE_NR
+#MSG_Z_PROBE_NR c=14
 "Z-probe nr."
 "\x00"
 
+#MSG_PRINTER_IP c=18
+"Printer IP Addr:"
+"Drucker IP Adr.:"

+ 219 - 244
lang/lang_en_es.txt

@@ -1,7 +1,3 @@
-#
-"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
-"[%.7s]Ajuste Z\x0aAjustado, continuar\x0ao empezar de nuevo?\x0a%cContinuar%cRepetir"
-
 #MSG_IR_03_OR_OLDER c=18
 " 0.3 or older"
 " 0.3 o mayor"
@@ -30,7 +26,7 @@
 " of 9"
 " de 9"
 
-#MSG_MEASURED_OFFSET
+#MSG_MEASURED_OFFSET c=20
 "[0;0] point offset"
 "[0;0] punto offset"
 
@@ -42,10 +38,6 @@
 "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode"
 "ATENCION:\x0aDec. choque\x0adesactivada en\x0aModo silencio"
 
-#
-">Cancel"
-">Cancelar"
-
 #MSG_BABYSTEPPING_Z c=15
 "Adjusting Z:"
 "Ajustar-Z:"
@@ -58,7 +50,7 @@
 "All is done. Happy printing!"
 "Terminado! Feliz impresion!"
 
-#
+#MSG_AMBIENT c=14
 "Ambient"
 "Ambiente"
 
@@ -74,11 +66,11 @@
 "Are left and right Z~carriages all up?"
 "Carros Z izq./der. estan arriba maximo?"
 
-#MSG_AUTO_DEPLETE c=17 r=1
+#MSG_AUTO_DEPLETE c=13
 "SpoolJoin"
 "\x00"
 
-#MSG_AUTO_HOME
+#MSG_AUTO_HOME c=18
 "Auto home"
 "Llevar al origen"
 
@@ -94,36 +86,36 @@
 "Autoloading filament is active, just press the knob and insert filament..."
 "La carga automatica esta activada, pulse el dial e inserte el filamento..."
 
-#MSG_SELFTEST_AXIS_LENGTH
+#MSG_SELFTEST_AXIS_LENGTH c=20
 "Axis length"
 "Longitud del eje"
 
-#MSG_SELFTEST_AXIS
+#MSG_SELFTEST_AXIS c=16
 "Axis"
 "Eje"
 
-#MSG_SELFTEST_BEDHEATER
+#MSG_SELFTEST_BEDHEATER c=20
 "Bed / Heater"
 "Base / Calentador"
 
-#MSG_BED_DONE
+#MSG_BED_DONE c=20
 "Bed done"
 "Base preparada"
 
-#MSG_BED_HEATING
+#MSG_BED_HEATING c=20
 "Bed Heating"
 "Calentando Base"
 
-#MSG_BED_CORRECTION_MENU
+#MSG_BED_CORRECTION_MENU c=18
 "Bed level correct"
 "Corr. de la cama"
 
-#MSG_BELTTEST c=17
+#MSG_BELTTEST c=18
 "Belt test        "
 "Test cinturon    "
 
-#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5
-"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
+#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
+"Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."
 "Nivelacion fallada. Sensor no funciona. Restos en boquilla? Esperando reset."
 
 #MSG_BRIGHT c=6
@@ -134,7 +126,7 @@
 "Brightness"
 "Brillo"
 
-#MSG_BED
+#MSG_BED c=13
 "Bed"
 "Base"
 
@@ -144,24 +136,28 @@
 
 #MSG_RECOVER_PRINT c=20 r=2
 "Blackout occurred. Recover print?"
-"Se fue la luz. ?Reanudar la impresion?"
+"Se fue la luz. Re- anudar la impresion?"
 
-#
+#MSG_CALIBRATING_HOME c=20
 "Calibrating home"
-"Calibrando posicion inicial"
+"Calibrar posicion inicial"
 
-#MSG_CALIBRATE_BED
+#MSG_CALIBRATE_BED c=18
 "Calibrate XYZ"
 "Calibrar XYZ"
 
-#MSG_HOMEYZ
+#MSG_HOMEYZ c=18
 "Calibrate Z"
 "Calibrar Z"
 
-#MSG_CALIBRATE_PINDA c=17 r=1
+#MSG_CALIBRATE_PINDA c=17
 "Calibrate"
 "Calibrar"
 
+#MSG_CANCEL2 c=10
+">Cancel"
+">Cancelar"
+
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Calibrando XYZ. Gira el dial para subir el extrusor hasta tocar los topes superiores. Despues haz clic."
@@ -174,35 +170,31 @@
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Calibrando Z. Gira el dial para subir el extrusor hasta tocar los topes superiores. Despues haz clic."
 
-#MSG_HOMEYZ_DONE
+#MSG_HOMEYZ_DONE c=20
 "Calibration done"
 "Calibracion OK"
 
-#MSG_MENU_CALIBRATION
+#MSG_MENU_CALIBRATION c=18
 "Calibration"
 "Calibracion"
 
-#
-"Cancel"
-"Cancelar"
-
-#MSG_SD_REMOVED
+#MSG_SD_REMOVED c=20
 "Card removed"
 "Tarjeta retirada"
 
-#
+#MSG_CHECKING_FILE c=17
 "Checking file"
 "\x00"
 
-#MSG_NOT_COLOR
+#MSG_NOT_COLOR c=19
 "Color not correct"
 "Color no homogeneo"
 
-#MSG_COOLDOWN
+#MSG_COOLDOWN c=18
 "Cooldown"
 "Enfriar"
 
-#
+#MSG_COPY_SEL_LANG c=20 r=3
 "Copy selected language?"
 "Copiar idioma seleccionado?"
 
@@ -210,15 +202,15 @@
 "Crash det."
 "Det. choque"
 
-#
+#MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
 "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
 "Escoge un filamento para la Calibracion de la Primera Capa y seleccionalo en el menu en pantalla."
 
-#MSG_CRASH_DETECTED c=20 r=1
+#MSG_CRASH_DETECTED c=20
 "Crash detected."
 "Choque detectado."
 
-#
+#MSG_CRASH_RESUME c=20 r=3
 "Crash detected. Resume print?"
 "Choque detectado. Continuar impresion?"
 
@@ -226,11 +218,11 @@
 "Crash"
 "Choque"
 
-#MSG_CURRENT c=19 r=1
+#MSG_CURRENT c=19
 "Current"
 "Actual"
 
-#MSG_DATE c=17 r=1
+#MSG_DATE c=17
 "Date:"
 "Fecha:"
 
@@ -238,7 +230,7 @@
 "Community made"
 "\x00"
 
-#MSG_DISABLE_STEPPERS
+#MSG_DISABLE_STEPPERS c=18
 "Disable steppers"
 "Apagar motores"
 
@@ -262,7 +254,7 @@
 "Eject filament"
 "Expulsar fil."
 
-#MSG_EJECTING_FILAMENT c=20 r=1
+#MSG_EJECTING_FILAMENT c=20
 "Ejecting filament"
 "Expulsando filamento"
 
@@ -270,11 +262,11 @@
 "Endstop not hit"
 "Endstop no alcanzado"
 
-#MSG_SELFTEST_ENDSTOP
+#MSG_SELFTEST_ENDSTOP c=16
 "Endstop"
 "\x00"
 
-#MSG_SELFTEST_ENDSTOPS
+#MSG_SELFTEST_ENDSTOPS c=20
 "Endstops"
 "\x00"
 
@@ -290,7 +282,7 @@
 "Cutter"
 "Cuchillo"
 
-# c=18
+#MSG_MMU_CUTTING_FIL c=18
 "Cutting filament"
 "Corte de filament"
 
@@ -302,7 +294,7 @@
 "Dim"
 "\x00"
 
-#MSG_ERROR
+#MSG_ERROR c=10
 "ERROR:"
 "\x00"
 
@@ -318,7 +310,7 @@
 "Extruder"
 "Extruir"
 
-#
+#MSG_MMU_FAIL_STATS c=18
 "Fail stats MMU"
 "Estadistica de fallos MMU"
 
@@ -326,7 +318,7 @@
 "F. autoload"
 "Autocarg.fil."
 
-#
+#MSG_FAIL_STATS c=18
 "Fail stats"
 "Estadistica de fallos"
 
@@ -342,7 +334,7 @@
 "Fans check"
 "Comprob.vent"
 
-#MSG_FSENSOR
+#MSG_FSENSOR c=12
 "Fil. sensor"
 "Sensor Fil."
 
@@ -366,7 +358,7 @@
 "Filament used"
 "Filamento usado"
 
-#MSG_PRINT_TIME c=19 r=1
+#MSG_PRINT_TIME c=19
 "Print time"
 "Tiempo de imp.:"
 
@@ -390,15 +382,15 @@
 "First, I will run the selftest to check most common assembly problems."
 "Primero, hare el Selftest para comprobar los problemas de montaje mas comunes."
 
-#
+#MSG_MMU_FIX_ISSUE c=20 r=4
 "Fix the issue and then press button on MMU unit."
 "Corrige el problema y pulsa el boton en la unidad MMU."
 
-#MSG_FLOW
+#MSG_FLOW c=15
 "Flow"
 "Flujo"
 
-#MSG_PRUSA3D_FORUM
+#MSG_PRUSA3D_FORUM c=18
 "forum.prusa3d.com"
 "\x00"
 
@@ -406,19 +398,19 @@
 "Front print fan?"
 "Vent. frontal?"
 
-#MSG_BED_CORRECTION_FRONT c=14 r=1
+#MSG_BED_CORRECTION_FRONT c=14
 "Front side[um]"
 "Frontal [um]"
 
-#MSG_SELFTEST_FANS
+#MSG_SELFTEST_FANS c=20
 "Front/left fans"
 "Ventiladores frontal/izquierdo"
 
-#MSG_SELFTEST_HEATERTHERMISTOR
+#MSG_SELFTEST_HEATERTHERMISTOR c=20
 "Heater/Thermistor"
 "Calentador/Termistor"
 
-#MSG_BED_HEATING_SAFETY_DISABLED
+#MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
 "Heating disabled by safety timer."
 "Calentadores desactivados por el temporizador de seguridad."
 
@@ -426,7 +418,7 @@
 "Heating done."
 "Calentando acabado."
 
-#MSG_HEATING
+#MSG_HEATING c=20
 "Heating"
 "Calentando..."
 
@@ -434,15 +426,15 @@
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
 "Hola, soy tu impresora Original Prusa i3. Quieres que te guie a traves de la configuracion?"
 
-#MSG_PRUSA3D_HOWTO
+#MSG_PRUSA3D_HOWTO c=18
 "howto.prusa3d.com"
 "\x00"
 
-#MSG_FILAMENTCHANGE
+#MSG_FILAMENTCHANGE c=18
 "Change filament"
 "Cambiar filamento"
 
-#MSG_CHANGE_SUCCESS
+#MSG_CHANGE_SUCCESS c=20
 "Change success!"
 "Cambio correcto"
 
@@ -478,15 +470,15 @@
 "Checking Z axis"
 "Control sensor Z"
 
-#MSG_CHOOSE_EXTRUDER c=20 r=1
+#MSG_CHOOSE_EXTRUDER c=20
 "Choose extruder:"
 "Elegir extrusor:"
 
-#MSG_CHOOSE_FILAMENT c=20 r=1
+#MSG_CHOOSE_FILAMENT c=20
 "Choose filament:"
 "Elije filamento:"
 
-#MSG_FILAMENT c=17 r=1
+#MSG_FILAMENT c=17
 "Filament"
 "Filamento"
 
@@ -498,7 +490,7 @@
 "I will run z calibration now."
 "Voy a hacer Calibracion Z ahora."
 
-#MSG_WATCH
+#MSG_WATCH c=18
 "Info screen"
 "Monitorizar"
 
@@ -522,7 +514,7 @@
 "Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."
 "Hola, soy tu impresora Original Prusa i3. Te guiare a traves de un breve proceso de configuracion, en el que se calibrara el eje Z. Despues, estaras listo para imprimir."
 
-#
+#MSG_ADDITIONAL_SHEETS c=20 r=9
 "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
 "Si tienes planchas de acero adicionales, calibra sus ajustes en Ajustes - Ajustes HW - Planchas acero."
 
@@ -534,23 +526,23 @@
 "Left hotend fan?"
 "Vent. izquierdo?"
 
-#
+#MSG_LEFT c=10
 "Left"
 "Izquierda"
 
-#MSG_BED_CORRECTION_LEFT c=14 r=1
+#MSG_BED_CORRECTION_LEFT c=14
 "Left side [um]"
 "Izquierda [um]"
 
-#
+#MSG_LIN_CORRECTION c=18
 "Lin. correction"
 "Correccion de Linealidad"
 
-#MSG_BABYSTEP_Z
+#MSG_BABYSTEP_Z c=18
 "Live adjust Z"
 "Micropaso Eje Z"
 
-# c=20 r=6
+#MSG_INSERT_FIL c=20 r=6
 "Insert the filament (do not load it) into the extruder and then press the knob."
 "Inserte el filamento (no lo cargue) en el extrusor y luego presione el dial."
 
@@ -558,7 +550,7 @@
 "Load filament"
 "Introducir filam."
 
-#MSG_LOADING_COLOR
+#MSG_LOADING_COLOR c=20
 "Loading color"
 "Cambiando color"
 
@@ -566,11 +558,11 @@
 "Loading filament"
 "Introduciendo filam."
 
-#MSG_LOOSE_PULLEY c=20 r=1
+#MSG_LOOSE_PULLEY c=20
 "Loose pulley"
 "Polea suelta"
 
-#
+#MSG_LOAD_TO_NOZZLE c=18
 "Load to nozzle"
 "Cargar a la boquilla"
 
@@ -578,7 +570,7 @@
 "M117 First layer cal."
 "M117 Cal. primera cap."
 
-#MSG_MAIN
+#MSG_MAIN c=18
 "Main"
 "Menu principal"
 
@@ -590,7 +582,7 @@
 "Level Dimmed"
 "\x00"
 
-#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
+#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3
 "Measuring reference height of calibration point"
 "Midiendo altura del punto de calibracion"
 
@@ -606,7 +598,7 @@
 "MMU OK. Resuming temperature..."
 "MMU OK. Restaurando temperatura..."
 
-#
+#MSG_MEASURED_SKEW c=13
 "Measured skew"
 "Desviacion med:"
 
@@ -614,7 +606,7 @@
 "MMU fails"
 "Fallos MMU"
 
-#
+#MSG_MMU_LOAD_FAILED c=20
 "MMU load failed     "
 "Carga MMU fallida"
 
@@ -626,87 +618,87 @@
 "MMU OK. Resuming..."
 "MMU OK. Resumiendo..."
 
-#MSG_MODE
+#MSG_MODE c=6
 "Mode"
 "Modo"
 
-# c=20 r=3
+#MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
 "MK3 firmware detected on MK3S printer"
 "Firmware MK3 detectado en impresora MK3S"
 
-#MSG_NORMAL
+#MSG_NORMAL c=7
 "Normal"
 "\x00"
 
-#MSG_SILENT
+#MSG_SILENT c=7
 "Silent"
 "Silencio"
 
-#
+#MSG_MMU_USER_ATTENTION c=20 r=3
 "MMU needs user attention."
 "MMU necesita atencion del usuario."
 
-#
+#MSG_MMU_POWER_FAILS c=15
 "MMU power fails"
 "Fallo de energia en MMU"
 
-#MSG_STEALTH
+#MSG_STEALTH c=7
 "Stealth"
 "Silencio"
 
-#MSG_AUTO_POWER
+#MSG_AUTO_POWER c=10
 "Auto power"
 "Fuerza auto"
 
-#MSG_HIGH_POWER
+#MSG_HIGH_POWER c=10
 "High power"
 "Rend.pleno"
 
-#
+#MSG_MMU_CONNECTED c=18
 "MMU2 connected"
 "MMU2 conectado"
 
-#MSG_SELFTEST_MOTOR
+#MSG_SELFTEST_MOTOR c=18
 "Motor"
 "\x00"
 
-#MSG_MOVE_AXIS
+#MSG_MOVE_AXIS c=18
 "Move axis"
 "Mover ejes"
 
-#MSG_MOVE_X
+#MSG_MOVE_X c=18
 "Move X"
 "Mover X"
 
-#MSG_MOVE_Y
+#MSG_MOVE_Y c=18
 "Move Y"
 "Mover Y"
 
-#MSG_MOVE_Z
+#MSG_MOVE_Z c=18
 "Move Z"
 "Mover Z"
 
-#MSG_NO_MOVE
+#MSG_NO_MOVE c=20
 "No move."
 "Sin movimiento"
 
-#MSG_NO_CARD
+#MSG_NO_CARD c=18
 "No SD card"
 "No hay tarjeta SD"
 
-#MSG_NA
+#MSG_NA c=3
 "N/A"
 "N/A"
 
-#MSG_NO
+#MSG_NO c=4
 "No"
 "\x00"
 
-#MSG_SELFTEST_NOTCONNECTED
+#MSG_SELFTEST_NOTCONNECTED c=20
 "Not connected"
 "No hay conexion "
 
-#
+#MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2
 "New firmware version available:"
 "Nuevo firmware disponible:"
 
@@ -722,19 +714,19 @@
 "Now I will preheat nozzle for PLA."
 "Ahora precalentare la boquilla para PLA."
 
-#MSG_NOZZLE
+#MSG_NOZZLE c=12
 "Nozzle"
 "Boquilla"
 
-#MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+#MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 "Old settings found. Default PID, Esteps etc. will be set."
 "Se han encontrado ajustes anteriores. Se ajustara el PID, los pasos del extrusor, etc"
 
-#
+#MSG_REMOVE_TEST_PRINT c=20 r=4
 "Now remove the test print from steel sheet."
 "Ahora retira la prueba de la lamina de acero."
 
-#
+#MSG_NOZZLE_FAN c=10
 "Nozzle FAN"
 "Vent. capa"
 
@@ -742,19 +734,19 @@
 "Pause print"
 "Pausar impresion"
 
-#MSG_PID_RUNNING c=20 r=1
+#MSG_PID_RUNNING c=20
 "PID cal.           "
 "Cal. PID "
 
-#MSG_PID_FINISHED c=20 r=1
+#MSG_PID_FINISHED c=20
 "PID cal. finished"
 "Cal. PID terminada"
 
-#MSG_PID_EXTRUDER c=17 r=1
+#MSG_PID_EXTRUDER c=17
 "PID calibration"
 "Calibracion PID"
 
-#MSG_PINDA_PREHEAT c=20 r=1
+#MSG_PINDA_PREHEAT c=20
 "PINDA Heating"
 "Calentando PINDA"
 
@@ -770,7 +762,7 @@
 "Please clean the nozzle for calibration. Click when done."
 "Limpia boquilla para calibracion. Click cuando acabes."
 
-#MSG_SELFTEST_PLEASECHECK
+#MSG_SELFTEST_PLEASECHECK c=20
 "Please check :"
 "Controla :"
 
@@ -778,11 +770,11 @@
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
 "Lee el manual y resuelve el problema. Despues, reinicia la impresora y continua con el Wizard"
 
-#MSG_CHECK_IDLER c=20 r=4
+#MSG_CHECK_IDLER c=20 r=5
 "Please open idler and remove filament manually."
 "Por favor abate el rodillo de empuje (idler) y retira el filamento manualmente."
 
-#MSG_PLACE_STEEL_SHEET c=20 r=4
+#MSG_PLACE_STEEL_SHEET c=20 r=5
 "Please place steel sheet on heatbed."
 "Por favor coloca la chapa de acero en la base calefactable."
 
@@ -814,7 +806,7 @@
 "Please wait"
 "Por Favor Espere"
 
-#
+#MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
 "Please remove shipping helpers first."
 "Por favor retira los soportes de envio primero."
 
@@ -822,7 +814,7 @@
 "Preheat the nozzle!"
 "Precalienta extrusor"
 
-#MSG_PREHEAT
+#MSG_PREHEAT c=18
 "Preheat"
 "Precalentar"
 
@@ -830,11 +822,11 @@
 "Preheating nozzle. Please wait."
 "Precalentando nozzle. Espera por favor."
 
-# c=14
+#MSG_PINDA c=5
 "PINDA"
 "\x00"
 
-#
+#MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20
 "Please upgrade."
 "Actualize por favor"
 
@@ -854,11 +846,11 @@
 "Print aborted"
 "Impresion cancelada"
 
-# c=20
+#MSG_PREHEATING_TO_LOAD c=20
 "Preheating to load"
 "Precalent. cargar"
 
-# c=20
+#MSG_PREHEATING_TO_UNLOAD c=20
 "Preheating to unload"
 "Precalent. descargar"
 
@@ -866,19 +858,19 @@
 "Print fan:"
 "Vent.fusor:"
 
-#MSG_CARD_MENU
+#MSG_CARD_MENU c=18
 "Print from SD"
 "Menu tarjeta SD"
 
-# c=20
+#MSG_PRESS_KNOB c=20
 "Press the knob"
 "Pulsa el dial"
 
-#MSG_PRINT_PAUSED c=20 r=1
+#MSG_PRINT_PAUSED c=20
 "Print paused"
 "Impresion en pausa"
 
-#
+#MSG_RESUME_NOZZLE_TEMP c=20 r=4
 "Press the knob to resume nozzle temperature."
 "Presiona el dial para continuar con la temperatura de la boquilla."
 
@@ -886,35 +878,35 @@
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
 "Impresora no esta calibrada todavia. Por favor usa el manual capitulo Primeros pasos Calibracion flujo."
 
-#
+#MSG_PRINT_FAN c=10
 "Print FAN"
 "Vent. extr"
 
-#
+#MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 "Please insert filament into the extruder, then press the knob to load it."
 "Por favor, coloca el filamento en el extrusor, luego presiona el dial para cargarlo."
 
-#
+#MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 "Please insert filament into the first tube of the MMU, then press the knob to load it."
 "Por favor, coloca el filamento en el primer tubo de la MMU, luego pulsa el dial para cargarlo."
 
-#
+#MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load filament first."
 "Por favor, cargar primero el filamento. "
 
-#MSG_PRUSA3D
+#MSG_PRUSA3D c=18
 "prusa3d.com"
 "prusa3d.es"
 
-#MSG_BED_CORRECTION_REAR c=14 r=1
+#MSG_BED_CORRECTION_REAR c=14
 "Rear side [um]"
 "Trasera [um]"
 
-# c=20 r=4
+#MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
 "Please unload the filament first, then repeat this action."
 "Primero descargue el filamento, luego repita esta accion."
 
-# c=20 r=4
+#MSG_CHECK_IR_CONNECTION c=20 r=4
 "Please check the IR sensor connection, unload filament if present."
 "Por favor comprueba la conexion del IR sensor y filamento esta descargado."
 
@@ -930,7 +922,7 @@
 "Prusa i3 MK3S OK."
 "\x00"
 
-#MSG_CALIBRATE_BED_RESET
+#MSG_CALIBRATE_BED_RESET c=18
 "Reset XYZ calibr."
 "\x00"
 
@@ -946,11 +938,11 @@
 "Resuming print"
 "Continuan. impresion"
 
-#MSG_BED_CORRECTION_RIGHT c=14 r=1
+#MSG_BED_CORRECTION_RIGHT c=14
 "Right side[um]"
 "Derecha [um]"
 
-#MSG_RPI_PORT
+#MSG_RPI_PORT c=13
 "RPi port"
 "Puerto RPi"
 
@@ -958,27 +950,27 @@
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
 "Ejecutar el Wizard borrara los valores de calibracion actuales y comenzara de nuevo. Continuar?"
 
-#MSG_SD_CARD
+#MSG_SD_CARD c=8
 "SD card"
 "Tarj. SD"
 
-#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
+#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8
 "FlashAir"
 "\x00"
 
-#
+#MSG_RIGHT c=10
 "Right"
 "Derecha"
 
-#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60
+#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2
 "Searching bed calibration point"
 "Buscando punto de calibracion base"
 
-#MSG_LANGUAGE_SELECT
+#MSG_LANGUAGE_SELECT c=18
 "Select language"
 "Cambiar el idioma"
 
-#MSG_SELFTEST_OK
+#MSG_SELFTEST_OK c=20
 "Self test OK"
 "\x00"
 
@@ -986,11 +978,11 @@
 "Self test start  "
 "Iniciar Selftest"
 
-#MSG_SELFTEST
+#MSG_SELFTEST c=18
 "Selftest         "
 "\x00"
 
-#MSG_SELFTEST_ERROR
+#MSG_SELFTEST_ERROR c=20
 "Selftest error !"
 "Error Selftest !"
 
@@ -1002,11 +994,11 @@
 "Selftest will be run to calibrate accurate sensorless rehoming."
 "Se realizara el auto-test para calibrar con precision la vuelta a la posicion inicial sin sensores."
 
-#
+#MSG_SEL_PREHEAT_TEMP c=20 r=6
 "Select nozzle preheat temperature which matches your material."
 "Selecciona la temperatura para precalentar la boquilla que se ajuste a tu material. "
 
-#MSG_SET_TEMPERATURE c=19 r=1
+#MSG_SET_TEMPERATURE c=19
 "Set temperature:"
 "Establecer temp.:"
 
@@ -1022,7 +1014,7 @@
 "Prusa i3 MK3 OK."
 "\x00"
 
-#MSG_SETTINGS
+#MSG_SETTINGS c=18
 "Settings"
 "Configuracion"
 
@@ -1030,63 +1022,59 @@
 "Show end stops"
 "Mostrar endstops"
 
-#
-"Sensor state"
-"Estado del sensor"
-
 #MSG_FILE_CNT c=20 r=6
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
 "Algunos archivos no se ordenaran. Maximo 100 archivos por carpeta para ordenar. "
 
-#MSG_SORT
+#MSG_SORT c=7
 "Sort"
 "Ordenar"
 
-#MSG_NONE
+#MSG_NONE c=8
 "None"
 "Ninguno"
 
-#MSG_SORT_TIME
+#MSG_SORT_TIME c=8
 "Time"
 "Fecha"
 
-#
+#MSG_SEVERE_SKEW c=13
 "Severe skew:"
 "Incl.severa:"
 
-#MSG_SORT_ALPHA
+#MSG_SORT_ALPHA c=8
 "Alphabet"
 "Alfabet"
 
-#MSG_SORTING c=20 r=1
+#MSG_SORTING c=20
 "Sorting files"
 "Ordenando archivos"
 
-#MSG_SOUND_LOUD
+#MSG_SOUND_LOUD c=7
 "Loud"
 "Alto"
 
-#
+#MSG_SLIGHT_SKEW c=13
 "Slight skew:"
 "Liger.incl.:"
 
-#MSG_SOUND
+#MSG_SOUND c=7
 "Sound"
 "Sonido"
 
-# c=7
+#MSG_RUNOUTS c=7
 "Runouts"
 "\x00"
 
-#
+#MSG_Z-LEVELING_ENFORCED c=20 r=4
 "Some problem encountered, Z-leveling enforced ..."
 "Problema encontrado, nivelacion Z forzosa ..."
 
-#MSG_SOUND_ONCE
+#MSG_SOUND_ONCE c=7
 "Once"
 "Una vez"
 
-#MSG_SPEED
+#MSG_SPEED c=15
 "Speed"
 "Velocidad"
 
@@ -1098,39 +1086,39 @@
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
 "Se necesita una temperatura ambiente ente 21 y 26C y un soporte rigido."
 
-#MSG_STATISTICS
+#MSG_STATISTICS c=18
 "Statistics  "
 "Estadisticas "
 
-#MSG_STOP_PRINT
+#MSG_STOP_PRINT c=18
 "Stop print"
 "Detener impresion"
 
-#MSG_STOPPED
+#MSG_STOPPED c=20
 "STOPPED. "
 "PARADA"
 
-#MSG_SUPPORT
+#MSG_SUPPORT c=18
 "Support"
 "Soporte"
 
-#MSG_SELFTEST_SWAPPED
+#MSG_SELFTEST_SWAPPED c=16
 "Swapped"
 "Intercambiado"
 
-#
+#MSG_SELECT_FILAMENT c=20
 "Select filament:"
-"Selecciona filamento:"
+"Selecciona filamento"
 
 #MSG_TEMP_CALIBRATION c=14
 "Temp. cal."
 "Cal. temp."
 
-#
+#MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
 "Select temperature which matches your material."
 "Selecciona la temperatura adecuada a tu material."
 
-#MSG_CALIBRATION_PINDA_MENU c=17 r=1
+#MSG_CALIBRATION_PINDA_MENU c=17
 "Temp. calibration"
 "Calibracion temp."
 
@@ -1142,15 +1130,15 @@
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
 "Calibracion temperatura terminada. Haz clic para continuar."
 
-# c=20 r=3
+#MSG_FS_VERIFIED c=20 r=3
 "Sensor verified, remove the filament now."
 "Sensor verificado, retire el filamento ahora."
 
-#MSG_TEMPERATURE
+#MSG_TEMPERATURE c=18
 "Temperature"
 "Temperatura"
 
-#MSG_MENU_TEMPERATURES c=15 r=1
+#MSG_MENU_TEMPERATURES c=15
 "Temperatures"
 "Temperaturas"
 
@@ -1158,39 +1146,35 @@
 "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."
 "Todavia es necesario hacer una calibracion Z. Por favor siga el manual, capitulo Primeros pasos, seccion Calibracion del flujo."
 
-#
+#MSG_TOTAL_FILAMENT c=19
 "Total filament"
 "Filamento total"
 
-#
+#MSG_TOTAL_PRINT_TIME c=19
 "Total print time"
 "Tiempo total"
 
-#MSG_TUNE
+#MSG_TUNE c=18
 "Tune"
 "Ajustar"
 
-#
-"Unload"
-"Descargar"
-
 #MSG_TOTAL_FAILURES c=20
 "Total failures"
 "Fallos totales"
 
-# c=20
+#MSG_TO_LOAD_FIL c=20
 "to load filament"
 "para cargar el fil."
 
-# c=20
+#MSG_TO_UNLOAD_FIL c=20
 "to unload filament"
 "para descargar fil."
 
-#MSG_UNLOAD_FILAMENT c=17
+#MSG_UNLOAD_FILAMENT c=16
 "Unload filament"
 "Soltar filamento"
 
-#MSG_UNLOADING_FILAMENT c=20 r=1
+#MSG_UNLOADING_FILAMENT c=20
 "Unloading filament"
 "Soltando filamento"
 
@@ -1198,23 +1182,23 @@
 "Total"
 "\x00"
 
-#MSG_USED c=19 r=1
+#MSG_USED c=19
 "Used during print"
 "Usado en impresion"
 
-#MSG_MENU_VOLTAGES c=15 r=1
+#MSG_MENU_VOLTAGES c=15
 "Voltages"
 "Voltajes"
 
-#
+#MSG_UNKNOWN c=13
 "unknown"
 "desconocido"
 
-#MSG_USERWAIT
+#MSG_USERWAIT c=20
 "Wait for user..."
-"Esperando ordenes"
+"Esperando ordenes..."
 
-#MSG_WAITING_TEMP c=20 r=3
+#MSG_WAITING_TEMP c=20 r=4
 "Waiting for nozzle and bed cooling"
 "Esperando enfriamiento de la base y extrusor."
 
@@ -1222,10 +1206,6 @@
 "Waiting for PINDA probe cooling"
 "Esperando a que se enfrie la sonda PINDA"
 
-#
-"Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube."
-"Usa unload para retirar el filamento 1 si sobresale por fuera de la parte trasera del tubo MMU. Usa Expulsar si esta escondido dentro del tubo"
-
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
 "Aviso: tanto el tipo de impresora como el tipo de la placa han cambiado."
@@ -1242,11 +1222,11 @@
 "Was filament unload successful?"
 "?Se cargocon exito el filamento?"
 
-#MSG_SELFTEST_WIRINGERROR
+#MSG_SELFTEST_WIRINGERROR c=18
 "Wiring error"
 "Error de conexion"
 
-#MSG_WIZARD c=17 r=1
+#MSG_WIZARD c=17
 "Wizard"
 "\x00"
 
@@ -1258,7 +1238,7 @@
 "XYZ calibration failed. Please consult the manual."
 "Calibracion XYZ fallada. Consulta el manual por favor."
 
-#MSG_YES
+#MSG_YES c=3
 "Yes"
 "Si"
 
@@ -1298,23 +1278,23 @@
 "Load all"
 "Intr. todos fil."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
 "XYZ calibration failed. Bed calibration point was not found."
 "Calibracion XYZ fallada. Puntos de calibracion en la base no encontrados."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
 "XYZ calibration failed. Front calibration points not reachable."
 "Calibracion XYZ fallada. Puntos frontales no alcanzables."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
 "XYZ calibration failed. Right front calibration point not reachable."
 "Calibracion XYZ fallad. Punto frontal derecho no alcanzable."
 
-#
+#MSG_Y_DIST_FROM_MIN c=20
 "Y distance from min"
 "Distancia en Y desde el min"
 
-#
+#MSG_WIZARD_V2_CAL_2 c=20 r=12
 "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
 "La impresora comenzara a imprimir una linea en zig-zag. Gira el dial hasta que la linea alcance la altura optima. Mira las fotos del manual (Capitulo de calibracion)."
 
@@ -1326,39 +1306,39 @@
 "Y-correct:"
 "Corregir-Y:"
 
-#MSG_OFF
+#MSG_OFF c=3
 "Off"
 "Ina"
 
-#MSG_ON
+#MSG_ON c=3
 "On"
 "Act"
 
-#
+#MSG_BACK c=18
 "Back"
 "atras"
 
-#
+#MSG_CHECKS c=18
 "Checks"
 "Comprobaciones"
 
-#
+#MSG_FALSE_TRIGGERING c=20
 "False triggering"
 "Falsa activacion"
 
-#
-"FINDA:"
-"FINDA:"
+#MSG_FINDA c=5
+"FINDA"
+"\x00"
 
-#MSG_FIRMWARE
+#MSG_FIRMWARE c=8
 "Firmware"
 "\x00"
 
-#MSG_STRICT
+#MSG_STRICT c=8
 "Strict"
 "Estrict"
 
-#MSG_WARN
+#MSG_WARN c=8
 "Warn"
 "Aviso"
 
@@ -1366,43 +1346,39 @@
 "HW Setup"
 "Configuracion HW"
 
-#
-"IR:"
-"\x00"
-
-#MSG_MAGNETS_COMP
+#MSG_MAGNETS_COMP c=13
 "Magnets comp."
 "Comp. imanes"
 
-#MSG_MESH
+#MSG_MESH c=12
 "Mesh"
 "Malla"
 
-#
+#MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
 "MK3S firmware detected on MK3 printer"
 "Firmware MK3S detectado en impresora MK3"
 
-#MSG_MMU_MODE
+#MSG_MMU_MODE c=8
 "MMU Mode"
 "Modo MMU"
 
-#
+#MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
 "Mode change in progress ..."
 "Cambio de modo progresando ..."
 
-#MSG_MODEL
+#MSG_MODEL c=8
 "Model"
 "Modelo"
 
-#MSG_NOZZLE_DIAMETER
+#MSG_NOZZLE_DIAMETER c=10
 "Nozzle d."
 "Diam. nozzl"
 
-#
+#MSG_GCODE_DIFF_CONTINUE c=20 r=4
 "G-code sliced for a different level. Continue?"
 "Codigo G laminado para un nivel diferente. ?Continuar?"
 
-#
+#MSG_GCODE_DIFF_CANCELLED c=20 r=7
 "G-code sliced for a different level. Please re-slice the model again. Print cancelled."
 "Codigo G laminado para un nivel diferente. Por favor relamina el modelo de nuevo. Impresion cancelada."
 
@@ -1410,35 +1386,31 @@
 "G-code sliced for a different printer type. Continue?"
 "Codigo G laminado para un tipo de impresora diferente. ?Continuar?"
 
-#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
+#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8
 "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
 "Codigo G laminado para una impresora diferente. Por favor relamina el modelo de nuevo. Impresion cancelada."
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 "G-code sliced for a newer firmware. Continue?"
 "Codigo G laminado para nuevo firmware. ?Continuar?"
 
-#
+# c=20 r=8
 "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
 "Codigo G laminado para nuevo firmware. Por favor actualiza el firmware. Impresion cancelada."
 
-#
-"PINDA:"
-"PINDA:"
-
-# c=20
+#MSG_PREHEATING_TO_CUT c=20
 "Preheating to cut"
 "Precalent. laminar"
 
-# c=20
+#MSG_PREHEATING_TO_EJECT c=20
 "Preheating to eject"
 "Precalent. expulsar"
 
-#
+#MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 "Printer nozzle diameter differs from the G-code. Continue?"
 "Diametro nozzle impresora difiere de cod.G. ?Continuar?"
 
-#
+#MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
 "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."
 "Diametro nozzle Impresora difiere de cod.G. Comprueba los valores en ajustes. Impresion cancelada."
 
@@ -1446,15 +1418,15 @@
 "%s level expected"
 "\x00"
 
-#
+#MSG_RENAME c=18
 "Rename"
 "Renombrar"
 
-#
+#MSG_SELECT c=18
 "Select"
 "Seleccionar"
 
-#
+#MSG_INFO_SENSORS c=18
 "Sensor info"
 "Info sensor"
 
@@ -1462,7 +1434,7 @@
 "Sheet"
 "Lamina"
 
-#MSG_SOUND_BLIND
+#MSG_SOUND_BLIND c=7
 "Assist"
 "Asistido"
 
@@ -1474,7 +1446,10 @@
 "Z-correct:"
 "Corregir-Z:"
 
-#MSG_Z_PROBE_NR
+#MSG_Z_PROBE_NR c=14
 "Z-probe nr."
 "Z-sensor nr."
 
+#MSG_PRINTER_IP c=18
+"Printer IP Addr:"
+"\x00"

+ 218 - 243
lang/lang_en_fr.txt

@@ -1,7 +1,3 @@
-#
-"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
-"[%.7s]Ajust. du Z\x0aValeur enreg, contin\x0aou depart a zero?\x0a%cContinuer%cReset"
-
 #MSG_IR_03_OR_OLDER c=18
 " 0.3 or older"
 " 0.3 ou +ancien"
@@ -30,7 +26,7 @@
 " of 9"
 " de 9"
 
-#MSG_MEASURED_OFFSET
+#MSG_MEASURED_OFFSET c=20
 "[0;0] point offset"
 "Offset point [0;0]"
 
@@ -42,10 +38,6 @@
 "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode"
 "ATTENTION:\x0aDetection de crash\x0adesactivee en\x0amode furtif"
 
-#
-">Cancel"
-">Annuler"
-
 #MSG_BABYSTEPPING_Z c=15
 "Adjusting Z:"
 "Ajuster Z:"
@@ -58,7 +50,7 @@
 "All is done. Happy printing!"
 "Tout est pret. Bonne impression!"
 
-#
+#MSG_AMBIENT c=14
 "Ambient"
 "Ambiant"
 
@@ -74,11 +66,11 @@
 "Are left and right Z~carriages all up?"
 "Z~carriages gauche + droite tout en haut?"
 
-#MSG_AUTO_DEPLETE c=17 r=1
+#MSG_AUTO_DEPLETE c=13
 "SpoolJoin"
 "\x00"
 
-#MSG_AUTO_HOME
+#MSG_AUTO_HOME c=18
 "Auto home"
 "Mise a 0 des axes"
 
@@ -94,36 +86,36 @@
 "Autoloading filament is active, just press the knob and insert filament..."
 "Chargement auto. du fil. active, appuyez sur le bouton et inserez le fil."
 
-#MSG_SELFTEST_AXIS_LENGTH
+#MSG_SELFTEST_AXIS_LENGTH c=20
 "Axis length"
 "Longueur de l'axe"
 
-#MSG_SELFTEST_AXIS
+#MSG_SELFTEST_AXIS c=16
 "Axis"
 "Axe"
 
-#MSG_SELFTEST_BEDHEATER
+#MSG_SELFTEST_BEDHEATER c=20
 "Bed / Heater"
 "Lit / Chauffage"
 
-#MSG_BED_DONE
+#MSG_BED_DONE c=20
 "Bed done"
 "Plateau termine"
 
-#MSG_BED_HEATING
+#MSG_BED_HEATING c=20
 "Bed Heating"
 "Chauffe du lit"
 
-#MSG_BED_CORRECTION_MENU
+#MSG_BED_CORRECTION_MENU c=18
 "Bed level correct"
 "Corr. niveau plateau"
 
-#MSG_BELTTEST c=17
+#MSG_BELTTEST c=18
 "Belt test        "
 "Test de courroie "
 
-#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5
-"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
+#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
+"Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."
 "Capt. non declenche pendant que je nivele le plateau. Debris sur buse? En attente d'un reset."
 
 #MSG_BRIGHT c=6
@@ -134,7 +126,7 @@
 "Brightness"
 "Luminosite"
 
-#MSG_BED
+#MSG_BED c=13
 "Bed"
 "Lit"
 
@@ -144,24 +136,28 @@
 
 #MSG_RECOVER_PRINT c=20 r=2
 "Blackout occurred. Recover print?"
-"Coupure detectee. Reprendre impression?"
+"Coupure detectee. Reprendre impres.?"
 
-#
+#MSG_CALIBRATING_HOME c=20
 "Calibrating home"
 "Calib. mise a 0"
 
-#MSG_CALIBRATE_BED
+#MSG_CALIBRATE_BED c=18
 "Calibrate XYZ"
 "Calibrer XYZ"
 
-#MSG_HOMEYZ
+#MSG_HOMEYZ c=18
 "Calibrate Z"
 "Calibrer Z"
 
-#MSG_CALIBRATE_PINDA c=17 r=1
+#MSG_CALIBRATE_PINDA c=17
 "Calibrate"
 "Calibrer"
 
+#MSG_CANCEL2 c=10
+">Cancel"
+">Annuler"
+
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Calibration de XYZ. Tournez le bouton pour faire monter l'extrudeur dans l'axe Z jusqu'aux butees. Cliquez une fois fait."
@@ -174,35 +170,31 @@
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Calibration de Z. Tournez le bouton pour faire monter l'extrudeur dans l'axe Z jusqu'aux butees. Cliquez une fois fait."
 
-#MSG_HOMEYZ_DONE
+#MSG_HOMEYZ_DONE c=20
 "Calibration done"
 "Calibration terminee"
 
-#MSG_MENU_CALIBRATION
+#MSG_MENU_CALIBRATION c=18
 "Calibration"
 "\x00"
 
-#
-"Cancel"
-"Annuler"
-
-#MSG_SD_REMOVED
+#MSG_SD_REMOVED c=20
 "Card removed"
 "Carte retiree"
 
-#
+#MSG_CHECKING_FILE c=17
 "Checking file"
 "\x00"
 
-#MSG_NOT_COLOR
+#MSG_NOT_COLOR c=19
 "Color not correct"
 "Couleur incorrecte"
 
-#MSG_COOLDOWN
+#MSG_COOLDOWN c=18
 "Cooldown"
 "Refroidissement"
 
-#
+#MSG_COPY_SEL_LANG c=20 r=3
 "Copy selected language?"
 "Copier la langue choisie?"
 
@@ -210,15 +202,15 @@
 "Crash det."
 "Detect.crash"
 
-#
+#MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
 "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
 "Choisissez un filament pour la Calibration de la Premiere Couche et selectionnez-le depuis le menu a l'ecran."
 
-#MSG_CRASH_DETECTED c=20 r=1
+#MSG_CRASH_DETECTED c=20
 "Crash detected."
 "Crash detecte."
 
-#
+#MSG_CRASH_RESUME c=20 r=3
 "Crash detected. Resume print?"
 "Crash detecte. Poursuivre l'impression?"
 
@@ -226,11 +218,11 @@
 "Crash"
 "\x00"
 
-#MSG_CURRENT c=19 r=1
+#MSG_CURRENT c=19
 "Current"
 "Actuel"
 
-#MSG_DATE c=17 r=1
+#MSG_DATE c=17
 "Date:"
 "Date:"
 
@@ -238,7 +230,7 @@
 "Community made"
 "\x00"
 
-#MSG_DISABLE_STEPPERS
+#MSG_DISABLE_STEPPERS c=18
 "Disable steppers"
 "Desactiver moteurs"
 
@@ -262,7 +254,7 @@
 "Eject filament"
 "Remonter le fil."
 
-#MSG_EJECTING_FILAMENT c=20 r=1
+#MSG_EJECTING_FILAMENT c=20
 "Ejecting filament"
 "Le fil. remonte"
 
@@ -270,11 +262,11 @@
 "Endstop not hit"
 "Butee non atteinte"
 
-#MSG_SELFTEST_ENDSTOP
+#MSG_SELFTEST_ENDSTOP c=16
 "Endstop"
 "Butee"
 
-#MSG_SELFTEST_ENDSTOPS
+#MSG_SELFTEST_ENDSTOPS c=20
 "Endstops"
 "Butees"
 
@@ -290,7 +282,7 @@
 "Cutter"
 "Coupeur"
 
-# c=18
+#MSG_MMU_CUTTING_FIL c=18
 "Cutting filament"
 "Je coupe filament"
 
@@ -302,7 +294,7 @@
 "Dim"
 "\x00"
 
-#MSG_ERROR
+#MSG_ERROR c=10
 "ERROR:"
 "ERREUR:"
 
@@ -318,7 +310,7 @@
 "Extruder"
 "Extrudeur"
 
-#
+#MSG_MMU_FAIL_STATS c=18
 "Fail stats MMU"
 "Stat. d'echec MMU"
 
@@ -326,7 +318,7 @@
 "F. autoload"
 "F. autocharg."
 
-#
+#MSG_FAIL_STATS c=18
 "Fail stats"
 "Stat. d'echec"
 
@@ -342,7 +334,7 @@
 "Fans check"
 "Verif vent."
 
-#MSG_FSENSOR
+#MSG_FSENSOR c=12
 "Fil. sensor"
 "Capteur Fil."
 
@@ -366,7 +358,7 @@
 "Filament used"
 "Filament utilise"
 
-#MSG_PRINT_TIME c=19 r=1
+#MSG_PRINT_TIME c=19
 "Print time"
 "Temps d'impression"
 
@@ -390,15 +382,15 @@
 "First, I will run the selftest to check most common assembly problems."
 "D'abord, je vais lancer le Auto-test pour verifier les problemes d'assemblage les plus communs."
 
-#
+#MSG_MMU_FIX_ISSUE c=20 r=4
 "Fix the issue and then press button on MMU unit."
 "Corrigez le probleme et appuyez sur le bouton sur la MMU."
 
-#MSG_FLOW
+#MSG_FLOW c=15
 "Flow"
 "Flux"
 
-#MSG_PRUSA3D_FORUM
+#MSG_PRUSA3D_FORUM c=18
 "forum.prusa3d.com"
 "\x00"
 
@@ -406,19 +398,19 @@
 "Front print fan?"
 "Ventilo impr avant?"
 
-#MSG_BED_CORRECTION_FRONT c=14 r=1
+#MSG_BED_CORRECTION_FRONT c=14
 "Front side[um]"
 "Avant [um]"
 
-#MSG_SELFTEST_FANS
+#MSG_SELFTEST_FANS c=20
 "Front/left fans"
 "Ventilos avt/gauche"
 
-#MSG_SELFTEST_HEATERTHERMISTOR
+#MSG_SELFTEST_HEATERTHERMISTOR c=20
 "Heater/Thermistor"
 "Chauffage/Thermistor"
 
-#MSG_BED_HEATING_SAFETY_DISABLED
+#MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
 "Heating disabled by safety timer."
 "Chauffage desactivee par le compteur de securite."
 
@@ -426,7 +418,7 @@
 "Heating done."
 "Chauffe terminee."
 
-#MSG_HEATING
+#MSG_HEATING c=20
 "Heating"
 "Chauffe"
 
@@ -434,15 +426,15 @@
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
 "Bonjour, je suis votre imprimante Original Prusa i3. Voulez-vous que je vous guide a travers le processus d'installation?"
 
-#MSG_PRUSA3D_HOWTO
+#MSG_PRUSA3D_HOWTO c=18
 "howto.prusa3d.com"
 "\x00"
 
-#MSG_FILAMENTCHANGE
+#MSG_FILAMENTCHANGE c=18
 "Change filament"
 "Changer filament"
 
-#MSG_CHANGE_SUCCESS
+#MSG_CHANGE_SUCCESS c=20
 "Change success!"
 "Changement reussi!"
 
@@ -478,15 +470,15 @@
 "Checking Z axis"
 "Verification axe Z"
 
-#MSG_CHOOSE_EXTRUDER c=20 r=1
+#MSG_CHOOSE_EXTRUDER c=20
 "Choose extruder:"
 "Choisir extrudeur:"
 
-#MSG_CHOOSE_FILAMENT c=20 r=1
+#MSG_CHOOSE_FILAMENT c=20
 "Choose filament:"
 "Choix du filament:"
 
-#MSG_FILAMENT c=17 r=1
+#MSG_FILAMENT c=17
 "Filament"
 "\x00"
 
@@ -498,7 +490,7 @@
 "I will run z calibration now."
 "Je vais maintenant lancer la calibration Z."
 
-#MSG_WATCH
+#MSG_WATCH c=18
 "Info screen"
 "Ecran d'info"
 
@@ -522,7 +514,7 @@
 "Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."
 "Bonjour, je suis votre imprimante Original Prusa i3. Je vais vous accompagner au cours d'un bref processus de reglage, qui permettra de calibrer le Z-axis. Apres cela, tout sera pret pour imprimer."
 
-#
+#MSG_ADDITIONAL_SHEETS c=20 r=9
 "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
 "Si vous avez d'autres feuilles d'acier,  calibrez leurs pre-reglages dans Reglages - Config HW - Plaque en acier."
 
@@ -534,23 +526,23 @@
 "Left hotend fan?"
 "Ventilo gauche?"
 
-#
+#MSG_LEFT c=10
 "Left"
 "Gauche"
 
-#MSG_BED_CORRECTION_LEFT c=14 r=1
+#MSG_BED_CORRECTION_LEFT c=14
 "Left side [um]"
 "Gauche [um]"
 
-#
+#MSG_LIN_CORRECTION c=18
 "Lin. correction"
 "Correction lin."
 
-#MSG_BABYSTEP_Z
+#MSG_BABYSTEP_Z c=18
 "Live adjust Z"
 "Ajuster Z en dir."
 
-# c=20 r=6
+#MSG_INSERT_FIL c=20 r=6
 "Insert the filament (do not load it) into the extruder and then press the knob."
 "Veuillez inserer le filament ( ne le chargez pas) dans l'extrudeur, puis appuyez sur le bouton."
 
@@ -558,7 +550,7 @@
 "Load filament"
 "Charger filament"
 
-#MSG_LOADING_COLOR
+#MSG_LOADING_COLOR c=20
 "Loading color"
 "Charg. de la couleur"
 
@@ -566,11 +558,11 @@
 "Loading filament"
 "Chargement du fil."
 
-#MSG_LOOSE_PULLEY c=20 r=1
+#MSG_LOOSE_PULLEY c=20
 "Loose pulley"
 "Poulie lache"
 
-#
+#MSG_LOAD_TO_NOZZLE c=18
 "Load to nozzle"
 "Charger la buse"
 
@@ -578,7 +570,7 @@
 "M117 First layer cal."
 "M117 Cal. 1ere couche"
 
-#MSG_MAIN
+#MSG_MAIN c=18
 "Main"
 "Menu principal"
 
@@ -590,7 +582,7 @@
 "Level Dimmed"
 "\x00"
 
-#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
+#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3
 "Measuring reference height of calibration point"
 "Je mesure la hauteur de reference du point de calibrage"
 
@@ -606,7 +598,7 @@
 "MMU OK. Resuming temperature..."
 "MMU OK. Rechauffage de la buse..."
 
-#
+#MSG_MEASURED_SKEW c=13
 "Measured skew"
 "Deviat.mesuree"
 
@@ -614,7 +606,7 @@
 "MMU fails"
 "Echecs MMU"
 
-#
+#MSG_MMU_LOAD_FAILED c=20
 "MMU load failed     "
 "Echec chargement MMU"
 
@@ -626,87 +618,87 @@
 "MMU OK. Resuming..."
 "MMU OK. Reprise ..."
 
-#MSG_MODE
+#MSG_MODE c=6
 "Mode"
 "\x00"
 
-# c=20 r=3
+#MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
 "MK3 firmware detected on MK3S printer"
 "Firmware MK3 detecte sur imprimante MK3S"
 
-#MSG_NORMAL
+#MSG_NORMAL c=7
 "Normal"
 "\x00"
 
-#MSG_SILENT
+#MSG_SILENT c=7
 "Silent"
 "Furtif"
 
-#
+#MSG_MMU_USER_ATTENTION c=20 r=3
 "MMU needs user attention."
 "Le MMU necessite l'attention de l'utilisateur."
 
-#
+#MSG_MMU_POWER_FAILS c=15
 "MMU power fails"
 "Echecs alim. MMU"
 
-#MSG_STEALTH
+#MSG_STEALTH c=7
 "Stealth"
 "Furtif"
 
-#MSG_AUTO_POWER
+#MSG_AUTO_POWER c=10
 "Auto power"
 "Puiss.auto"
 
-#MSG_HIGH_POWER
+#MSG_HIGH_POWER c=10
 "High power"
 "Haute puiss"
 
-#
+#MSG_MMU_CONNECTED c=18
 "MMU2 connected"
 "MMU2 connecte"
 
-#MSG_SELFTEST_MOTOR
+#MSG_SELFTEST_MOTOR c=18
 "Motor"
 "Moteur"
 
-#MSG_MOVE_AXIS
+#MSG_MOVE_AXIS c=18
 "Move axis"
 "Deplacer l'axe"
 
-#MSG_MOVE_X
+#MSG_MOVE_X c=18
 "Move X"
 "Deplacer X"
 
-#MSG_MOVE_Y
+#MSG_MOVE_Y c=18
 "Move Y"
 "Deplacer Y"
 
-#MSG_MOVE_Z
+#MSG_MOVE_Z c=18
 "Move Z"
 "Deplacer Z"
 
-#MSG_NO_MOVE
+#MSG_NO_MOVE c=20
 "No move."
 "Pas de mouvement."
 
-#MSG_NO_CARD
+#MSG_NO_CARD c=18
 "No SD card"
 "Pas de carte SD"
 
-#MSG_NA
+#MSG_NA c=3
 "N/A"
 "\x00"
 
-#MSG_NO
+#MSG_NO c=4
 "No"
 "Non"
 
-#MSG_SELFTEST_NOTCONNECTED
+#MSG_SELFTEST_NOTCONNECTED c=20
 "Not connected"
 "Non connecte"
 
-#
+#MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2
 "New firmware version available:"
 "Nouvelle version de firmware disponible:"
 
@@ -722,19 +714,19 @@
 "Now I will preheat nozzle for PLA."
 "Maintenant je vais prechauffer la buse pour du PLA."
 
-#MSG_NOZZLE
+#MSG_NOZZLE c=12
 "Nozzle"
 "Buse"
 
-#MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+#MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 "Old settings found. Default PID, Esteps etc. will be set."
 "Anciens reglages trouves. Le PID, les Esteps etc. par defaut seront regles"
 
-#
+#MSG_REMOVE_TEST_PRINT c=20 r=4
 "Now remove the test print from steel sheet."
 "Retirez maintenant l'impression de test de la plaque en acier."
 
-#
+#MSG_NOZZLE_FAN c=10
 "Nozzle FAN"
 "Vent. buse"
 
@@ -742,19 +734,19 @@
 "Pause print"
 "Pause de l'impr."
 
-#MSG_PID_RUNNING c=20 r=1
+#MSG_PID_RUNNING c=20
 "PID cal.           "
 "Calib. PID"
 
-#MSG_PID_FINISHED c=20 r=1
+#MSG_PID_FINISHED c=20
 "PID cal. finished"
 "Calib. PID terminee"
 
-#MSG_PID_EXTRUDER c=17 r=1
+#MSG_PID_EXTRUDER c=17
 "PID calibration"
 "Calibration PID"
 
-#MSG_PINDA_PREHEAT c=20 r=1
+#MSG_PINDA_PREHEAT c=20
 "PINDA Heating"
 "Chauffe de la PINDA"
 
@@ -770,7 +762,7 @@
 "Please clean the nozzle for calibration. Click when done."
 "Nettoyez la buse pour la calibration. Cliquez une fois fait."
 
-#MSG_SELFTEST_PLEASECHECK
+#MSG_SELFTEST_PLEASECHECK c=20
 "Please check :"
 "Verifiez:"
 
@@ -778,11 +770,11 @@
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
 "Merci de consulter notre manuel et de corriger le probleme. Poursuivez alors l'assistant en redemarrant l'imprimante."
 
-#MSG_CHECK_IDLER c=20 r=4
+#MSG_CHECK_IDLER c=20 r=5
 "Please open idler and remove filament manually."
 "Ouvrez l'idler et retirez le filament manuellement."
 
-#MSG_PLACE_STEEL_SHEET c=20 r=4
+#MSG_PLACE_STEEL_SHEET c=20 r=5
 "Please place steel sheet on heatbed."
 "Placez la plaque en acier sur le plateau chauffant."
 
@@ -814,7 +806,7 @@
 "Please wait"
 "Merci de patienter"
 
-#
+#MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
 "Please remove shipping helpers first."
 "Retirez d'abord les protections de transport."
 
@@ -822,7 +814,7 @@
 "Preheat the nozzle!"
 "Prechauffez la buse!"
 
-#MSG_PREHEAT
+#MSG_PREHEAT c=18
 "Preheat"
 "Prechauffage"
 
@@ -830,11 +822,11 @@
 "Preheating nozzle. Please wait."
 "Prechauffage de la buse. Merci de patienter."
 
-# c=14
+#MSG_PINDA c=5
 "PINDA"
 "\x00"
 
-#
+#MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20
 "Please upgrade."
 "Mettez a jour le FW."
 
@@ -854,11 +846,11 @@
 "Print aborted"
 "Impression annulee"
 
-# c=20
+#MSG_PREHEATING_TO_LOAD c=20
 "Preheating to load"
 "Chauffe pour charger"
 
-# c=20
+#MSG_PREHEATING_TO_UNLOAD c=20
 "Preheating to unload"
 "Chauf.pour decharger"
 
@@ -866,19 +858,19 @@
 "Print fan:"
 "Vent. impr:"
 
-#MSG_CARD_MENU
+#MSG_CARD_MENU c=18
 "Print from SD"
 "Impr. depuis la SD"
 
-# c=20
+#MSG_PRESS_KNOB c=20
 "Press the knob"
 "App. sur sur bouton"
 
-#MSG_PRINT_PAUSED c=20 r=1
+#MSG_PRINT_PAUSED c=20
 "Print paused"
 "Impression en pause"
 
-#
+#MSG_RESUME_NOZZLE_TEMP c=20 r=4
 "Press the knob to resume nozzle temperature."
 "Appuyez sur le bouton pour rechauffer la buse."
 
@@ -886,35 +878,35 @@
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
 "L'imprimante n'a pas encore ete calibree. Suivez le manuel, chapitre Premiers pas, section Processus de calibration."
 
-#
+#MSG_PRINT_FAN c=10
 "Print FAN"
 "Vent. impr"
 
-#
+#MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 "Please insert filament into the extruder, then press the knob to load it."
 "Veuillez inserer le filament dans l'extrudeur, puis appuyez sur le bouton pour le charger."
 
-#
+#MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 "Please insert filament into the first tube of the MMU, then press the knob to load it."
 "Veuillez inserer le filament dans le premier tube du MMU, puis appuyez sur le bouton pour le charger."
 
-#
+#MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load filament first."
 "Veuillez d'abord charger un filament."
 
-#MSG_PRUSA3D
+#MSG_PRUSA3D c=18
 "prusa3d.com"
 "\x00"
 
-#MSG_BED_CORRECTION_REAR c=14 r=1
+#MSG_BED_CORRECTION_REAR c=14
 "Rear side [um]"
 "Arriere [um]"
 
-# c=20 r=4
+#MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
 "Please unload the filament first, then repeat this action."
 "SVP, dechargez le filament et reessayez."
 
-# c=20 r=4
+#MSG_CHECK_IR_CONNECTION c=20 r=4
 "Please check the IR sensor connection, unload filament if present."
 "SVP, verifiez la connexion du capteur IR et decharge le filament."
 
@@ -930,7 +922,7 @@
 "Prusa i3 MK3S OK."
 "\x00"
 
-#MSG_CALIBRATE_BED_RESET
+#MSG_CALIBRATE_BED_RESET c=18
 "Reset XYZ calibr."
 "Reinit. calib. XYZ"
 
@@ -946,11 +938,11 @@
 "Resuming print"
 "Reprise de l'impr."
 
-#MSG_BED_CORRECTION_RIGHT c=14 r=1
+#MSG_BED_CORRECTION_RIGHT c=14
 "Right side[um]"
 "Droite [um]"
 
-#MSG_RPI_PORT
+#MSG_RPI_PORT c=13
 "RPi port"
 "Port RPi"
 
@@ -958,27 +950,27 @@
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
 "Lancement de l'Assistant supprimera les resultats actuels de calibration et commencera du debut. Continuer?"
 
-#MSG_SD_CARD
+#MSG_SD_CARD c=8
 "SD card"
 "Carte SD"
 
-#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
+#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8
 "FlashAir"
 "FlshAir"
 
-#
+#MSG_RIGHT c=10
 "Right"
 "Droite"
 
-#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60
+#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2
 "Searching bed calibration point"
 "Recherche du point de calibration du plateau chauffant"
 
-#MSG_LANGUAGE_SELECT
+#MSG_LANGUAGE_SELECT c=18
 "Select language"
 "Choisir langue"
 
-#MSG_SELFTEST_OK
+#MSG_SELFTEST_OK c=20
 "Self test OK"
 "Auto-test OK"
 
@@ -986,11 +978,11 @@
 "Self test start  "
 "Debut auto-test"
 
-#MSG_SELFTEST
+#MSG_SELFTEST c=18
 "Selftest         "
 "Auto-test"
 
-#MSG_SELFTEST_ERROR
+#MSG_SELFTEST_ERROR c=20
 "Selftest error !"
 "Erreur auto-test!"
 
@@ -1002,11 +994,11 @@
 "Selftest will be run to calibrate accurate sensorless rehoming."
 "Le Selftest sera lance pour calibrer la remise a zero precise sans capteur"
 
-#
+#MSG_SEL_PREHEAT_TEMP c=20 r=6
 "Select nozzle preheat temperature which matches your material."
 "Selectionnez la temperature de prechauffage de la buse qui correspond a votre materiau."
 
-#MSG_SET_TEMPERATURE c=19 r=1
+#MSG_SET_TEMPERATURE c=19
 "Set temperature:"
 "Regler temp.:"
 
@@ -1022,7 +1014,7 @@
 "Prusa i3 MK3 OK."
 "\x00"
 
-#MSG_SETTINGS
+#MSG_SETTINGS c=18
 "Settings"
 "Reglages"
 
@@ -1030,63 +1022,59 @@
 "Show end stops"
 "Afficher butees"
 
-#
-"Sensor state"
-"Etat capteur"
-
 #MSG_FILE_CNT c=20 r=6
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
 "Certains fichiers ne seront pas tries. Max 100 fichiers tries par dossier."
 
-#MSG_SORT
+#MSG_SORT c=7
 "Sort"
 "Tri"
 
-#MSG_NONE
+#MSG_NONE c=8
 "None"
 "Aucun"
 
-#MSG_SORT_TIME
+#MSG_SORT_TIME c=8
 "Time"
 "Heure"
 
-#
+#MSG_SEVERE_SKEW c=13
 "Severe skew:"
 "Deviat.sev.:"
 
-#MSG_SORT_ALPHA
+#MSG_SORT_ALPHA c=8
 "Alphabet"
 "\x00"
 
-#MSG_SORTING c=20 r=1
+#MSG_SORTING c=20
 "Sorting files"
 "Tri des fichiers"
 
-#MSG_SOUND_LOUD
+#MSG_SOUND_LOUD c=7
 "Loud"
 "Fort"
 
-#
+#MSG_SLIGHT_SKEW c=13
 "Slight skew:"
 "Deviat.leg.:"
 
-#MSG_SOUND
+#MSG_SOUND c=7
 "Sound"
 "Son"
 
-# c=7
+#MSG_RUNOUTS c=7
 "Runouts"
 "\x00"
 
-#
+#MSG_Z-LEVELING_ENFORCED c=20 r=4
 "Some problem encountered, Z-leveling enforced ..."
 "Probleme rencontre, cliquez sur le bouton pour niveller l'axe Z..."
 
-#MSG_SOUND_ONCE
+#MSG_SOUND_ONCE c=7
 "Once"
 "Une fois"
 
-#MSG_SPEED
+#MSG_SPEED c=15
 "Speed"
 "Vitesse"
 
@@ -1098,27 +1086,27 @@
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
 "Une temperature ambiante stable de 21-26C et un support stable sont requis."
 
-#MSG_STATISTICS
+#MSG_STATISTICS c=18
 "Statistics  "
 "Statistiques"
 
-#MSG_STOP_PRINT
+#MSG_STOP_PRINT c=18
 "Stop print"
 "Arreter impression"
 
-#MSG_STOPPED
+#MSG_STOPPED c=20
 "STOPPED. "
 "ARRETE."
 
-#MSG_SUPPORT
+#MSG_SUPPORT c=18
 "Support"
 "\x00"
 
-#MSG_SELFTEST_SWAPPED
+#MSG_SELFTEST_SWAPPED c=16
 "Swapped"
 "Echange"
 
-#
+#MSG_SELECT_FILAMENT c=20
 "Select filament:"
 "Selectionnez le filament:"
 
@@ -1126,11 +1114,11 @@
 "Temp. cal."
 "Calib. Temp."
 
-#
+#MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
 "Select temperature which matches your material."
 "Selectionnez la temperature qui correspond a votre materiau."
 
-#MSG_CALIBRATION_PINDA_MENU c=17 r=1
+#MSG_CALIBRATION_PINDA_MENU c=17
 "Temp. calibration"
 "Calibration temp."
 
@@ -1142,15 +1130,15 @@
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
 "La calibration en temperature est terminee et activee. La calibration en temperature peut etre desactivee dans le menu Reglages-> Cal. Temp."
 
-# c=20 r=3
+#MSG_FS_VERIFIED c=20 r=3
 "Sensor verified, remove the filament now."
 "Capteur verifie, retirez le filament maintenant."
 
-#MSG_TEMPERATURE
+#MSG_TEMPERATURE c=18
 "Temperature"
 "\x00"
 
-#MSG_MENU_TEMPERATURES c=15 r=1
+#MSG_MENU_TEMPERATURES c=15
 "Temperatures"
 "\x00"
 
@@ -1158,39 +1146,35 @@
 "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."
 "Il faut toujours effectuer la Calibration Z. Veuillez suivre le manuel, chapitre Premiers pas, section Processus de calibration."
 
-#
+#MSG_TOTAL_FILAMENT c=19
 "Total filament"
 "Filament total"
 
-#
+#MSG_TOTAL_PRINT_TIME c=19
 "Total print time"
 "Temps total impr."
 
-#MSG_TUNE
+#MSG_TUNE c=18
 "Tune"
 "Regler"
 
-#
-"Unload"
-"Decharger"
-
 #MSG_TOTAL_FAILURES c=20
 "Total failures"
 "Total des echecs"
 
-# c=20
+#MSG_TO_LOAD_FIL c=20
 "to load filament"
 "pour charger le fil."
 
-# c=20
+#MSG_TO_UNLOAD_FIL c=20
 "to unload filament"
 "pour decharger fil."
 
-#MSG_UNLOAD_FILAMENT c=17
+#MSG_UNLOAD_FILAMENT c=16
 "Unload filament"
 "Decharger fil."
 
-#MSG_UNLOADING_FILAMENT c=20 r=1
+#MSG_UNLOADING_FILAMENT c=20
 "Unloading filament"
 "Dechargement fil."
 
@@ -1198,23 +1182,23 @@
 "Total"
 "Totale"
 
-#MSG_USED c=19 r=1
+#MSG_USED c=19
 "Used during print"
 "Utilise pdt impr."
 
-#MSG_MENU_VOLTAGES c=15 r=1
+#MSG_MENU_VOLTAGES c=15
 "Voltages"
 "Tensions"
 
-#
+#MSG_UNKNOWN c=13
 "unknown"
 "inconnu"
 
-#MSG_USERWAIT
+#MSG_USERWAIT c=20
 "Wait for user..."
-"Attente utilisateur..."
+"Attente utilisateur."
 
-#MSG_WAITING_TEMP c=20 r=3
+#MSG_WAITING_TEMP c=20 r=4
 "Waiting for nozzle and bed cooling"
 "Attente du refroidissement des buse et plateau chauffant"
 
@@ -1222,10 +1206,6 @@
 "Waiting for PINDA probe cooling"
 "Attente du refroidissement de la sonde PINDA"
 
-#
-"Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube."
-"Utilisez Remonter le fil. pour retirer le filament 1 s'il depasse du tube arriere du MMU. Utilisez ejecter s'il est cache dans le tube."
-
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
 "Attention: Types d'imprimante et de carte mere modifies"
@@ -1242,11 +1222,11 @@
 "Was filament unload successful?"
 "Dechargement du filament reussi?"
 
-#MSG_SELFTEST_WIRINGERROR
+#MSG_SELFTEST_WIRINGERROR c=18
 "Wiring error"
 "Erreur de cablage"
 
-#MSG_WIZARD c=17 r=1
+#MSG_WIZARD c=17
 "Wizard"
 "Assistant"
 
@@ -1258,7 +1238,7 @@
 "XYZ calibration failed. Please consult the manual."
 "Echec calibration XYZ. Consultez le manuel."
 
-#MSG_YES
+#MSG_YES c=3
 "Yes"
 "Oui"
 
@@ -1298,27 +1278,27 @@
 "Load all"
 "Charger un par un"
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
 "XYZ calibration failed. Bed calibration point was not found."
 "Echec calibration XYZ. Le point de calibration du plateau n'a pas ete trouve."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
 "XYZ calibration failed. Front calibration points not reachable."
 "Echec calibration XYZ. Les points de calibration en avant ne sont pas atteignables."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
 "XYZ calibration failed. Right front calibration point not reachable."
 "Echec calibration XYZ. Le point de calibration avant droit n'est pas atteignable."
 
-#
+#MSG_Y_DIST_FROM_MIN c=20
 "Y distance from min"
 "Distance Y du min"
 
-#
+#MSG_WIZARD_V2_CAL_2 c=20 r=12
 "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
 "L'imprimante commencera a  imprimer une ligne en zig-zag. Tournez le bouton jusqu'a atteindre la hauteur optimale. Consultez les photos dans le manuel (chapitre Calibration)."
 
-# c=20 r=5
+#MSG_FIL_FAILED c=20 r=5
 "Verification failed, remove the filament and try again."
 "Verification en echec, retirez le filament et reessayez."
 
@@ -1326,39 +1306,39 @@
 "Y-correct:"
 "Correct-Y:"
 
-#MSG_OFF
+#MSG_OFF c=3
 "Off"
 "\x00"
 
-#MSG_ON
+#MSG_ON c=3
 "On"
 "\x00"
 
-#
+#MSG_BACK c=18
 "Back"
 "Retour"
 
-#
+#MSG_CHECKS c=18
 "Checks"
 "Verifications"
 
-#
+#MSG_FALSE_TRIGGERING c=20
 "False triggering"
 "Faux declenchement"
 
-#
-"FINDA:"
-"FINDA:"
+#MSG_FINDA c=5
+"FINDA"
+"\x00"
 
-#MSG_FIRMWARE
+#MSG_FIRMWARE c=8
 "Firmware"
 "\x00"
 
-#MSG_STRICT
+#MSG_STRICT c=8
 "Strict"
 "Stricte"
 
-#MSG_WARN
+#MSG_WARN c=8
 "Warn"
 "Avert"
 
@@ -1366,43 +1346,39 @@
 "HW Setup"
 "Config HW"
 
-#
-"IR:"
-"IR:"
-
-#MSG_MAGNETS_COMP
+#MSG_MAGNETS_COMP c=13
 "Magnets comp."
 "Compens. aim."
 
-#MSG_MESH
+#MSG_MESH c=12
 "Mesh"
 "\x00"
 
-#
+#MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
 "MK3S firmware detected on MK3 printer"
 "Firmware MK3S detecte sur imprimante MK3"
 
-#MSG_MMU_MODE
+#MSG_MMU_MODE c=8
 "MMU Mode"
 "Mode MMU"
 
-#
+#MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
 "Mode change in progress ..."
 "Changement de mode en cours..."
 
-#MSG_MODEL
+#MSG_MODEL c=8
 "Model"
 "Modele"
 
-#MSG_NOZZLE_DIAMETER
+#MSG_NOZZLE_DIAMETER c=10
 "Nozzle d."
 "Diam. buse"
 
-#
+#MSG_GCODE_DIFF_CONTINUE c=20 r=4
 "G-code sliced for a different level. Continue?"
 "Le G-code a ete prepare pour un niveau different. Continuer?"
 
-#
+#MSG_GCODE_DIFF_CANCELLED c=20 r=7
 "G-code sliced for a different level. Please re-slice the model again. Print cancelled."
 "Le G-code a ete prepare pour un niveau different. Veuillez decouper le modele a nouveau. L'impression a ete annulee."
 
@@ -1410,35 +1386,31 @@
 "G-code sliced for a different printer type. Continue?"
 "Le G-code a ete prepare pour une autre version de l'imprimante. Continuer?"
 
-#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
+#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8
 "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
 "Le G-code a ete prepare pour une autre version de l'imprimante. Veuillez decouper le modele a nouveau. L'impression a ete annulee."
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 "G-code sliced for a newer firmware. Continue?"
 "Le G-code a ete prepare pour une version plus recente du firmware. Continuer?"
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8
 "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
 "Le G-code a ete prepare pour une version plus recente du firmware. Veuillez mettre a jour le firmware. L'impression annulee."
 
-#
-"PINDA:"
-"PINDA:"
-
-# c=20
+#MSG_PREHEATING_TO_CUT c=20
 "Preheating to cut"
 "Chauffe pour couper"
 
-# c=20
+#MSG_PREHEATING_TO_EJECT c=20
 "Preheating to eject"
 "Chauf. pour remonter"
 
-#
+#MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 "Printer nozzle diameter differs from the G-code. Continue?"
 "Diametre de la buse dans les reglages ne correspond pas a celui dans le G-Code. Continuer?"
 
-#
+#MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
 "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."
 "Diametre de la buse dans les reglages ne correspond pas a celui dans le G-Code. Merci de verifier le parametre dans les reglages. Impression annulee."
 
@@ -1446,15 +1418,15 @@
 "%s level expected"
 "\x00"
 
-#
+#MSG_RENAME c=18
 "Rename"
 "Renommer"
 
-#
+#MSG_SELECT c=18
 "Select"
 "Selectionner"
 
-#
+#MSG_INFO_SENSORS c=18
 "Sensor info"
 "Info capteur"
 
@@ -1462,7 +1434,7 @@
 "Sheet"
 "Plaque"
 
-#MSG_SOUND_BLIND
+#MSG_SOUND_BLIND c=7
 "Assist"
 "\x00"
 
@@ -1474,7 +1446,10 @@
 "Z-correct:"
 "Correct-Z:"
 
-#MSG_Z_PROBE_NR
+#MSG_Z_PROBE_NR c=14
 "Z-probe nr."
 "Mesurer x-fois"
 
+#MSG_PRINTER_IP c=18
+"Printer IP Addr:"
+"\x00"

+ 236 - 261
lang/lang_en_it.txt

@@ -1,7 +1,3 @@
-#
-"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
-"[%.7s]Set valori\x0aComp. Z, continuare\x0ao iniziare da zero?\x0a%cContinua%cReset"
-
 #MSG_03_OR_OLDER c=18
 " 0.3 or older"
 " 0.3 o inferiore"
@@ -30,7 +26,7 @@
 " of 9"
 " su 9"
 
-#MSG_MEASURED_OFFSET
+#MSG_MEASURED_OFFSET c=20
 "[0;0] point offset"
 "[0;0] punto offset"
 
@@ -42,10 +38,6 @@
 "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode"
 "ATTENZIONE:\x0aRilev. impatto\x0adisattivato in\x0aModalita silenziosa"
 
-#
-">Cancel"
-">Annulla"
-
 #MSG_BABYSTEPPING_Z c=15
 "Adjusting Z:"
 "Compensaz. Z:"
@@ -58,7 +50,7 @@
 "All is done. Happy printing!"
 "Tutto fatto. Buona stampa!"
 
-#
+#MSG_AMBIENT c=14
 "Ambient"
 "Ambiente"
 
@@ -74,11 +66,11 @@
 "Are left and right Z~carriages all up?"
 "I carrelli Z sin/des sono altezza max?"
 
-#MSG_AUTO_DEPLETE c=17 r=1
+#MSG_AUTO_DEPLETE c=13
 "SpoolJoin"
 ""
 
-#MSG_AUTO_HOME
+#MSG_AUTO_HOME c=18
 "Auto home"
 "Trova origine"
 
@@ -88,42 +80,42 @@
 
 #MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4
 "Autoloading filament available only when filament sensor is turned on..."
-"Caricamento auto. filam. disp. solo con il sensore attivo..."
+"Caricamento automatico filamento disponibile solo con il sensore attivo..."
 
 #MSG_AUTOLOADING_ENABLED c=20 r=4
 "Autoloading filament is active, just press the knob and insert filament..."
-"Caricamento automatico attivo, premi la manopola e inserisci il filamento."
+"Caricamento automatico attivo, premi la manopola e inserisci il filam."
 
-#MSG_SELFTEST_AXIS_LENGTH
+#MSG_SELFTEST_AXIS_LENGTH c=20
 "Axis length"
 "Lunghezza dell'asse"
 
-#MSG_SELFTEST_AXIS
+#MSG_SELFTEST_AXIS c=16
 "Axis"
 "Assi"
 
-#MSG_SELFTEST_BEDHEATER
+#MSG_SELFTEST_BEDHEATER c=20
 "Bed / Heater"
 "Piano/Riscald."
 
-#MSG_BED_DONE
+#MSG_BED_DONE c=20
 "Bed done"
 "Piano fatto."
 
-#MSG_BED_HEATING
+#MSG_BED_HEATING c=20
 "Bed Heating"
 "Riscald. piano"
 
-#MSG_BED_CORRECTION_MENU
+#MSG_BED_CORRECTION_MENU c=18
 "Bed level correct"
 "Correz. liv.piano"
 
-#MSG_BELTTEST c=17
+#MSG_BELTTEST c=18
 "Belt test        "
 "Test cinghie     "
 
-#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5
-"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
+#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
+"Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."
 "Livellamento piano fallito. Sensore KO? Residui su ugello? In attesa di reset."
 
 #MSG_BRIGHT c=6
@@ -134,7 +126,7 @@
 "Brightness"
 "Luminosita'"
 
-#MSG_BED
+#MSG_BED c=13
 "Bed"
 "Piano"
 
@@ -144,24 +136,28 @@
 
 #MSG_RECOVER_PRINT c=20 r=2
 "Blackout occurred. Recover print?"
-"Blackout rilevato. Recuperare la stampa?"
+"Blackout rilevato. Recuperare stampa?"
 
-#
+#MSG_CALIBRATING_HOME c=20
 "Calibrating home"
 "Calibrazione Home"
 
-#MSG_CALIBRATE_BED
+#MSG_CALIBRATE_BED c=18
 "Calibrate XYZ"
 "Calibra XYZ"
 
-#MSG_HOMEYZ
+#MSG_HOMEYZ c=18
 "Calibrate Z"
 "Calibra Z"
 
-#MSG_CALIBRATE_PINDA c=17 r=1
+#MSG_CALIBRATE_PINDA c=17
 "Calibrate"
 "Calibra"
 
+#MSG_CANCEL2 c=10
+">Cancel"
+">Annulla"
+
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Calibrazione XYZ. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare."
@@ -174,35 +170,31 @@
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Calibrazione Z. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare."
 
-#MSG_HOMEYZ_DONE
+#MSG_HOMEYZ_DONE c=20
 "Calibration done"
-"Calibrazione completa"
+"Calibr. completa"
 
-#MSG_MENU_CALIBRATION
+#MSG_MENU_CALIBRATION c=18
 "Calibration"
 "Calibrazione"
 
-#
-"Cancel"
-"Annulla"
-
-#MSG_SD_REMOVED
+#MSG_SD_REMOVED c=20
 "Card removed"
 "SD rimossa"
 
-#
+#MSG_CHECKING_FILE c=17
 "Checking file"
 "\x00"
 
-#MSG_NOT_COLOR
+#MSG_NOT_COLOR c=19
 "Color not correct"
 "Colore non puro"
 
-#MSG_COOLDOWN
+#MSG_COOLDOWN c=18
 "Cooldown"
 "Raffredda"
 
-#
+#MSG_COPY_SEL_LANG c=20 r=3
 "Copy selected language?"
 "Copiare la lingua selezionata?"
 
@@ -210,15 +202,15 @@
 "Crash det."
 "Rileva.crash"
 
-#
+#MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
 "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
 "Scegli un filamento per la calibrazione del primo strato e selezionalo nel menu sullo schermo."
 
-#MSG_CRASH_DETECTED c=20 r=1
+#MSG_CRASH_DETECTED c=20
 "Crash detected."
 "Rilevato impatto."
 
-#
+#MSG_CRASH_RESUME c=20 r=3
 "Crash detected. Resume print?"
 "Scontro rilevato. Riprendere la stampa?"
 
@@ -226,11 +218,11 @@
 "Crash"
 "Impatto"
 
-#MSG_CURRENT c=19 r=1
+#MSG_CURRENT c=19
 "Current"
 "Attuale"
 
-#MSG_DATE c=17 r=1
+#MSG_DATE c=17
 "Date:"
 "Data:"
 
@@ -238,7 +230,7 @@
 "Community made"
 "\x00"
 
-#MSG_DISABLE_STEPPERS
+#MSG_DISABLE_STEPPERS c=18
 "Disable steppers"
 "Disabilita motori"
 
@@ -262,7 +254,7 @@
 "Eject filament"
 "Espelli fil."
 
-#MSG_EJECTING_FILAMENT c=20 r=1
+#MSG_EJECTING_FILAMENT c=20
 "Ejecting filament"
 "Espellendo filamento"
 
@@ -270,11 +262,11 @@
 "Endstop not hit"
 "Finec. fuori portata"
 
-#MSG_SELFTEST_ENDSTOP
+#MSG_SELFTEST_ENDSTOP c=16
 "Endstop"
 "Finecorsa"
 
-#MSG_SELFTEST_ENDSTOPS
+#MSG_SELFTEST_ENDSTOPS c=20
 "Endstops"
 "Finecorsa"
 
@@ -290,7 +282,7 @@
 "Cutter"
 "Tagliatr."
 
-# c=18
+#MSG_MMU_CUTTING_FIL c=18
 "Cutting filament"
 "Tagliando filam."
 
@@ -302,13 +294,13 @@
 "Dim"
 "Scuro"
 
-#MSG_ERROR
+#MSG_ERROR c=10
 "ERROR:"
 "ERRORE:"
 
 #MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18
 "Extruder fan:"
-"Ventola estr:"
+"Ventola estrusore:"
 
 #MSG_INFO_EXTRUDER c=18
 "Extruder info"
@@ -318,7 +310,7 @@
 "Extruder"
 "Estrusore"
 
-#
+#MSG_MMU_FAIL_STATS c=18
 "Fail stats MMU"
 "Stat.fall. MMU"
 
@@ -326,7 +318,7 @@
 "F. autoload"
 "Autocar.fil."
 
-#
+#MSG_FAIL_STATS c=18
 "Fail stats"
 "Stat. fallimenti"
 
@@ -342,7 +334,7 @@
 "Fans check"
 "Control.vent"
 
-#MSG_FSENSOR
+#MSG_FSENSOR c=12
 "Fil. sensor"
 "Sensore fil."
 
@@ -366,7 +358,7 @@
 "Filament used"
 "Fil. utilizzato"
 
-#MSG_PRINT_TIME c=19 r=1
+#MSG_PRINT_TIME c=19
 "Print time"
 "Tempo di stampa"
 
@@ -390,15 +382,15 @@
 "First, I will run the selftest to check most common assembly problems."
 "Per primo avviero l'autotest per controllare gli errori di assemblaggio piu comuni."
 
-#
+#MSG_MMU_FIX_ISSUE c=20 r=4
 "Fix the issue and then press button on MMU unit."
 "Risolvere il problema e premere il bottone sull'unita MMU. "
 
-#MSG_FLOW
+#MSG_FLOW c=15
 "Flow"
 "Flusso"
 
-#MSG_PRUSA3D_FORUM
+#MSG_PRUSA3D_FORUM c=18
 "forum.prusa3d.com"
 "\x00"
 
@@ -406,19 +398,19 @@
 "Front print fan?"
 "Ventola frontale?"
 
-#MSG_BED_CORRECTION_FRONT c=14 r=1
+#MSG_BED_CORRECTION_FRONT c=14
 "Front side[um]"
 "Fronte [um]"
 
-#MSG_SELFTEST_FANS
+#MSG_SELFTEST_FANS c=20
 "Front/left fans"
-"Ventola frontale/sinistra"
+"Ventola frontale/sin"
 
-#MSG_SELFTEST_HEATERTHERMISTOR
+#MSG_SELFTEST_HEATERTHERMISTOR c=20
 "Heater/Thermistor"
 "Riscald./Termist."
 
-#MSG_BED_HEATING_SAFETY_DISABLED
+#MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
 "Heating disabled by safety timer."
 "Riscaldamento fermato dal timer di sicurezza."
 
@@ -426,7 +418,7 @@
 "Heating done."
 "Riscald. completo"
 
-#MSG_HEATING
+#MSG_HEATING c=20
 "Heating"
 "Riscaldamento..."
 
@@ -434,15 +426,15 @@
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
 "Ciao, sono la tua stampante Original Prusa i3. Gradiresti un aiuto nel processo di configurazione?"
 
-#MSG_PRUSA3D_HOWTO
+#MSG_PRUSA3D_HOWTO c=18
 "howto.prusa3d.com"
 "\x00"
 
-#MSG_FILAMENTCHANGE
+#MSG_FILAMENTCHANGE c=18
 "Change filament"
 "Cambia filamento"
 
-#MSG_CHANGE_SUCCESS
+#MSG_CHANGE_SUCCESS c=20
 "Change success!"
 "Cambio riuscito!"
 
@@ -478,15 +470,15 @@
 "Checking Z axis"
 "Verifica asse Z"
 
-#MSG_CHOOSE_EXTRUDER c=20 r=1
+#MSG_CHOOSE_EXTRUDER c=20
 "Choose extruder:"
 "Seleziona estrusore:"
 
-#MSG_CHOOSE_FILAMENT c=20 r=1
+#MSG_CHOOSE_FILAMENT c=20
 "Choose filament:"
 "Scegliere filamento:"
 
-#MSG_FILAMENT c=17 r=1
+#MSG_FILAMENT c=17
 "Filament"
 "Filamento"
 
@@ -498,7 +490,7 @@
 "I will run z calibration now."
 "Adesso avviero la Calibrazione Z."
 
-#MSG_WATCH
+#MSG_WATCH c=18
 "Info screen"
 "Schermata info"
 
@@ -522,7 +514,7 @@
 "Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."
 "Ciao, sono la tua stampante Original Prusa i3. Ti guidero attraverso un rapido processo in cui verra calibrato l'asse Z. Poi, sarai pronto a stampare."
 
-#
+#MSG_ADDITIONAL_SHEETS c=20 r=9
 "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
 "Se hai piastre d'acciaio aggiuntive, calibra i preset in Impostazioni - Setup HW - Piastre in Acciaio."
 
@@ -534,23 +526,23 @@
 "Left hotend fan?"
 "Vent SX hotend?"
 
-#
+#MSG_LEFT c=10
 "Left"
 "Sinistra"
 
-#MSG_BED_CORRECTION_LEFT c=14 r=1
+#MSG_BED_CORRECTION_LEFT c=14
 "Left side [um]"
 "Sinistra [um]"
 
-#
+#MSG_LIN_CORRECTION c=18
 "Lin. correction"
 "Correzione lineare"
 
-#MSG_BABYSTEP_Z
+#MSG_BABYSTEP_Z c=18
 "Live adjust Z"
 "Compensazione Z"
 
-# c=20 r=6
+#MSG_INSERT_FIL c=20 r=6
 "Insert the filament (do not load it) into the extruder and then press the knob."
 "Inserire filamento (senza caricarlo) nell'estrusore e premere la manopola."
 
@@ -558,7 +550,7 @@
 "Load filament"
 "Carica filamento"
 
-#MSG_LOADING_COLOR
+#MSG_LOADING_COLOR c=20
 "Loading color"
 "Caricando colore"
 
@@ -566,11 +558,11 @@
 "Loading filament"
 "Caricando filamento"
 
-#MSG_LOOSE_PULLEY c=20 r=1
+#MSG_LOOSE_PULLEY c=20
 "Loose pulley"
 "Puleggia lenta"
 
-#
+#MSG_LOAD_TO_NOZZLE c=18
 "Load to nozzle"
 "Carica ugello"
 
@@ -578,7 +570,7 @@
 "M117 First layer cal."
 "M117 Calibr. primo strato"
 
-#MSG_MAIN
+#MSG_MAIN c=18
 "Main"
 "Menu principale"
 
@@ -590,13 +582,13 @@
 "Level Dimmed"
 "Liv. Scuro"
 
-#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
+#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3
 "Measuring reference height of calibration point"
 "Misura altezza di rif. del punto di calib."
 
 #MSG_MESH_BED_LEVELING c=18
 "Mesh Bed Leveling"
-"Liv. grilia piano"
+"Liv. griglia piano"
 
 #MSG_MMU_OK_RESUMING_POSITION c=20 r=4
 "MMU OK. Resuming position..."
@@ -606,109 +598,109 @@
 "MMU OK. Resuming temperature..."
 "MMU OK. Ripristino temperatura... "
 
-#
+#MSG_MEASURED_SKEW c=13
 "Measured skew"
-"Deviazione mis"
+"Dev. misurata"
 
 #MSG_MMU_FAILS c=15
 "MMU fails"
 "Fallimenti MMU"
 
-#
+#MSG_MMU_LOAD_FAILED c=20
 "MMU load failed     "
-"Caricamento MMU fallito"
+"Caricam. MMU fallito"
 
 #MSG_MMU_LOAD_FAILS c=15
 "MMU load fails"
-"Caricamenti MMU falliti"
+"Car MMU falliti"
 
 #MSG_MMU_OK_RESUMING c=20 r=4
 "MMU OK. Resuming..."
 "MMU OK. Riprendendo... "
 
-#MSG_MODE
+#MSG_MODE c=6
 "Mode"
 "Mod."
 
-# c=20 r=3
+#MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
 "MK3 firmware detected on MK3S printer"
 "Firmware MK3 rilevato su stampante MK3S"
 
-#MSG_NORMAL
+#MSG_NORMAL c=7
 "Normal"
 "Normale"
 
-#MSG_SILENT
+#MSG_SILENT c=7
 "Silent"
-"Silenzioso"
+"Silenz."
 
-#
+#MSG_MMU_USER_ATTENTION c=20 r=3
 "MMU needs user attention."
 "Il MMU richiede attenzione dall'utente."
 
-#
+#MSG_MMU_POWER_FAILS c=15
 "MMU power fails"
 "Manc. corr. MMU"
 
-#MSG_STEALTH
+#MSG_STEALTH c=7
 "Stealth"
-"Silenziosa"
+"Silenz."
 
-#MSG_AUTO_POWER
+#MSG_AUTO_POWER c=10
 "Auto power"
 "Auto"
 
-#MSG_HIGH_POWER
+#MSG_HIGH_POWER c=10
 "High power"
 "Forte"
 
-#
+#MSG_MMU_CONNECTED c=18
 "MMU2 connected"
 "MMU2 connessa"
 
-#MSG_SELFTEST_MOTOR
+#MSG_SELFTEST_MOTOR c=18
 "Motor"
 "Motore"
 
-#MSG_MOVE_AXIS
+#MSG_MOVE_AXIS c=18
 "Move axis"
 "Muovi asse"
 
-#MSG_MOVE_X
+#MSG_MOVE_X c=18
 "Move X"
 "Sposta X"
 
-#MSG_MOVE_Y
+#MSG_MOVE_Y c=18
 "Move Y"
 "Sposta Y"
 
-#MSG_MOVE_Z
+#MSG_MOVE_Z c=18
 "Move Z"
 "Sposta Z"
 
-#MSG_NO_MOVE
+#MSG_NO_MOVE c=20
 "No move."
 "Nessun movimento."
 
-#MSG_NO_CARD
+#MSG_NO_CARD c=18
 "No SD card"
 "Nessuna SD"
 
-#MSG_NA
+#MSG_NA c=3
 "N/A"
 "N/D"
 
-#MSG_NO
+#MSG_NO c=4
 "No"
 "\x00"
 
-#MSG_SELFTEST_NOTCONNECTED
+#MSG_SELFTEST_NOTCONNECTED c=20
 "Not connected"
 "Non connesso"
 
-#
+#MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2
 "New firmware version available:"
-"Nuova versione firmware disponibile:"
+"Nuova vers. firmware disponibile:"
 
 #MSG_SELFTEST_FAN_NO c=19
 "Not spinning"
@@ -722,39 +714,39 @@
 "Now I will preheat nozzle for PLA."
 "Adesso preriscaldero l'ugello per PLA."
 
-#MSG_NOZZLE
+#MSG_NOZZLE c=12
 "Nozzle"
 "Ugello"
 
-#MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+#MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 "Old settings found. Default PID, Esteps etc. will be set."
 "Sono state trovate impostazioni vecchie. Verranno impostati i valori predefiniti di PID, Esteps etc."
 
-#
+#MSG_REMOVE_TEST_PRINT c=20 r=4
 "Now remove the test print from steel sheet."
 "Ora rimuovete la stampa di prova dalla piastra in acciaio."
 
-#
+#MSG_NOZZLE_FAN c=10
 "Nozzle FAN"
-"Ventola estrusore"
+"Vent. estr"
 
 #MSG_PAUSE_PRINT c=18
 "Pause print"
 "Metti in pausa"
 
-#MSG_PID_RUNNING c=20 r=1
+#MSG_PID_RUNNING c=20
 "PID cal.           "
 "Calibrazione PID"
 
-#MSG_PID_FINISHED c=20 r=1
+#MSG_PID_FINISHED c=20
 "PID cal. finished"
 "Calib. PID completa"
 
-#MSG_PID_EXTRUDER c=17 r=1
+#MSG_PID_EXTRUDER c=17
 "PID calibration"
 "Calibrazione PID"
 
-#MSG_PINDA_PREHEAT c=20 r=1
+#MSG_PINDA_PREHEAT c=20
 "PINDA Heating"
 "Riscaldamento PINDA"
 
@@ -770,7 +762,7 @@
 "Please clean the nozzle for calibration. Click when done."
 "Pulire l'ugello per la calibrazione, poi fare click."
 
-#MSG_SELFTEST_PLEASECHECK
+#MSG_SELFTEST_PLEASECHECK c=20
 "Please check :"
 "Verifica:"
 
@@ -778,11 +770,11 @@
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
 "Per favore consulta il nostro manuale per risolvere il problema. Poi riprendi il Wizard dopo aver riavviato la stampante."
 
-#MSG_CHECK_IDLER c=20 r=4
+#MSG_CHECK_IDLER c=20 r=5
 "Please open idler and remove filament manually."
 "Aprire la guida filam. e rimuovere il filam. a mano"
 
-#MSG_PLACE_STEEL_SHEET c=20 r=4
+#MSG_PLACE_STEEL_SHEET c=20 r=5
 "Please place steel sheet on heatbed."
 "Per favore posizionate la piastra d'acciaio sul piano riscaldato."
 
@@ -814,7 +806,7 @@
 "Please wait"
 "Attendere"
 
-#
+#MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
 "Please remove shipping helpers first."
 "Per favore rimuovete i materiali da spedizione"
 
@@ -822,7 +814,7 @@
 "Preheat the nozzle!"
 "Prerisc. ugello!"
 
-#MSG_PREHEAT
+#MSG_PREHEAT c=18
 "Preheat"
 "Preriscalda"
 
@@ -830,11 +822,11 @@
 "Preheating nozzle. Please wait."
 "Preriscaldando l'ugello. Attendere prego."
 
-# c=14
+#MSG_PINDA c=5
 "PINDA"
 "\x00"
 
-#
+#MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20
 "Please upgrade."
 "Prego aggiornare."
 
@@ -848,17 +840,17 @@
 
 #MSG_POWER_FAILURES c=15
 "Power failures"
-"Mancanza corrente"
+"Interr. corr."
 
 #MSG_PRINT_ABORTED c=20
 "Print aborted"
 "Stampa interrotta"
 
-# c=20
+#MSG_PREHEATING_TO_LOAD c=20
 "Preheating to load"
 "Preriscald. carico"
 
-# c=20
+#MSG_PREHEATING_TO_UNLOAD c=20
 "Preheating to unload"
 "Preriscald. scarico"
 
@@ -866,19 +858,19 @@
 "Print fan:"
 "Vent.stam:"
 
-#MSG_CARD_MENU
+#MSG_CARD_MENU c=18
 "Print from SD"
 "Stampa da SD"
 
-# c=20
+#MSG_PRESS_KNOB c=20
 "Press the knob"
 "Premere la manopola"
 
-#MSG_PRINT_PAUSED c=20 r=1
+#MSG_PRINT_PAUSED c=20
 "Print paused"
 "Stampa in pausa"
 
-#
+#MSG_RESUME_NOZZLE_TEMP c=20 r=4
 "Press the knob to resume nozzle temperature."
 "Premete la manopola per recuperare la temperatura dell'ugello."
 
@@ -886,35 +878,35 @@
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
 "Stampante non ancora calibrata. Si prega di seguire il manuale, capitolo Primi Passi, sezione Sequenza di Calibrazione."
 
-#
+#MSG_PRINT_FAN c=10
 "Print FAN"
-"Ventola di stampa"
+"Vent.stamp"
 
-#
+#MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 "Please insert filament into the extruder, then press the knob to load it."
 "Inserisci il filamento nell'estrusore, poi premi la manopola per caricarlo."
 
-#
+#MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 "Please insert filament into the first tube of the MMU, then press the knob to load it."
 "Per favore inserisci il filamento nel primo tubo del MMU, poi premi la manopola per caricarlo."
 
-#
+#MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load filament first."
 "Per favore prima carica il filamento."
 
-#MSG_PRUSA3D
+#MSG_PRUSA3D c=18
 "prusa3d.com"
 "\x00"
 
-#MSG_BED_CORRECTION_REAR c=14 r=1
+#MSG_BED_CORRECTION_REAR c=14
 "Rear side [um]"
 "Retro [um]"
 
-# c=20 r=4
+#MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
 "Please unload the filament first, then repeat this action."
 "Scaricare prima il filamento, poi ripetere l'operazione."
 
-# c=20 r=4
+#MSG_CHECK_IR_CONNECTION c=20 r=4
 "Please check the IR sensor connection, unload filament if present."
 "Controllare il collegamento al sensore e rimuovere il filamento."
 
@@ -930,9 +922,9 @@
 "Prusa i3 MK3S OK."
 "\x00"
 
-#MSG_CALIBRATE_BED_RESET
+#MSG_CALIBRATE_BED_RESET c=18
 "Reset XYZ calibr."
-"Reset calibrazione XYZ."
+"Reset calibr. XYZ."
 
 #MSG_RESET c=14
 "Reset"
@@ -946,11 +938,11 @@
 "Resuming print"
 "Riprendi stampa"
 
-#MSG_BED_CORRECTION_RIGHT c=14 r=1
+#MSG_BED_CORRECTION_RIGHT c=14
 "Right side[um]"
 "Destra [um]"
 
-#MSG_RPI_PORT
+#MSG_RPI_PORT c=13
 "RPi port"
 "Porta RPi"
 
@@ -958,27 +950,27 @@
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
 "Se avvi il Wizard perderai la calibrazione preesistente e dovrai ricominciare dall'inizio. Continuare?"
 
-#MSG_SD_CARD
+#MSG_SD_CARD c=8
 "SD card"
 "Mem. SD"
 
-#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
+#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8
 "FlashAir"
 "\x00"
 
-#
+#MSG_RIGHT c=10
 "Right"
 "Destra"
 
-#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60
+#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2
 "Searching bed calibration point"
-"Ricerca dei punti di calibrazione del piano"
+"Ricerca punti calibrazione piano"
 
-#MSG_LANGUAGE_SELECT
+#MSG_LANGUAGE_SELECT c=18
 "Select language"
 "Seleziona lingua"
 
-#MSG_SELFTEST_OK
+#MSG_SELFTEST_OK c=20
 "Self test OK"
 "Autotest OK"
 
@@ -986,11 +978,11 @@
 "Self test start  "
 "Avvia autotest"
 
-#MSG_SELFTEST
+#MSG_SELFTEST c=18
 "Selftest         "
 "Autotest         "
 
-#MSG_SELFTEST_ERROR
+#MSG_SELFTEST_ERROR c=20
 "Selftest error !"
 "Errore Autotest !"
 
@@ -1002,11 +994,11 @@
 "Selftest will be run to calibrate accurate sensorless rehoming."
 "Verra effettuato un self test per calibrare l'homing senza sensori"
 
-#
+#MSG_SEL_PREHEAT_TEMP c=20 r=6
 "Select nozzle preheat temperature which matches your material."
 "Selezionate la temperatura per il preriscaldamento dell'ugello adatta al vostro materiale."
 
-#MSG_SET_TEMPERATURE c=19 r=1
+#MSG_SET_TEMPERATURE c=19
 "Set temperature:"
 "Imposta temperatura"
 
@@ -1022,7 +1014,7 @@
 "Prusa i3 MK3 OK."
 "\x00"
 
-#MSG_SETTINGS
+#MSG_SETTINGS c=18
 "Settings"
 "Impostazioni"
 
@@ -1030,63 +1022,59 @@
 "Show end stops"
 "Stato finecorsa"
 
-#
-"Sensor state"
-"Stato sensore"
-
 #MSG_FILE_CNT c=20 r=6
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
 "Alcuni file non saranno ordinati. Il numero massimo di file in una cartella e 100 perche siano ordinati."
 
-#MSG_SORT
+#MSG_SORT c=7
 "Sort"
 "Ordina"
 
-#MSG_NONE
+#MSG_NONE c=8
 "None"
 "Nessuno"
 
-#MSG_SORT_TIME
+#MSG_SORT_TIME c=8
 "Time"
 "Cron."
 
-#
+#MSG_SEVERE_SKEW c=13
 "Severe skew:"
 "Devia.grave:"
 
-#MSG_SORT_ALPHA
+#MSG_SORT_ALPHA c=8
 "Alphabet"
 "Alfabeti"
 
-#MSG_SORTING c=20 r=1
+#MSG_SORTING c=20
 "Sorting files"
 "Ordinando i file"
 
-#MSG_SOUND_LOUD
+#MSG_SOUND_LOUD c=7
 "Loud"
 "Forte"
 
-#
+#MSG_SLIGHT_SKEW c=13
 "Slight skew:"
 "Devia.lieve:"
 
-#MSG_SOUND
+#MSG_SOUND c=7
 "Sound"
 "Suono"
 
-# c=7
+#MSG_RUNOUTS c=7
 "Runouts"
 "Esaurim"
 
-#
+#MSG_Z-LEVELING_ENFORCED c=20 r=4
 "Some problem encountered, Z-leveling enforced ..."
 "Sono stati rilevati problemi, avviato livellamento Z ..."
 
-#MSG_SOUND_ONCE
+#MSG_SOUND_ONCE c=7
 "Once"
 "Singolo"
 
-#MSG_SPEED
+#MSG_SPEED c=15
 "Speed"
 "Velocita"
 
@@ -1098,39 +1086,39 @@
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
 "Sono necessari una temperatura ambiente di 21-26C e una superficie rigida "
 
-#MSG_STATISTICS
+#MSG_STATISTICS c=18
 "Statistics  "
 "Statistiche"
 
-#MSG_STOP_PRINT
+#MSG_STOP_PRINT c=18
 "Stop print"
 "Arresta stampa"
 
-#MSG_STOPPED
+#MSG_STOPPED c=20
 "STOPPED. "
 "ARRESTATO."
 
-#MSG_SUPPORT
+#MSG_SUPPORT c=18
 "Support"
 "Supporto"
 
-#MSG_SELFTEST_SWAPPED
+#MSG_SELFTEST_SWAPPED c=16
 "Swapped"
 "Scambiato"
 
-#
+#MSG_SELECT_FILAMENT c=20
 "Select filament:"
-"Seleziona il filamento:"
+"Seleziona il filam.:"
 
 #MSG_TEMP_CALIBRATION c=14
 "Temp. cal."
 "Calib. temp."
 
-#
+#MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
 "Select temperature which matches your material."
 "Seleziona la temperatura appropriata per il tuo materiale."
 
-#MSG_CALIBRATION_PINDA_MENU c=17 r=1
+#MSG_CALIBRATION_PINDA_MENU c=17
 "Temp. calibration"
 "Calib. Temp."
 
@@ -1142,15 +1130,15 @@
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
 "Calibrazione temperatura completata e attiva. Puo essere disattivata dal menu Impostazioni ->Cal. Temp."
 
-# c=20 r=3
+#MSG_FS_VERIFIED c=20 r=3
 "Sensor verified, remove the filament now."
 "Sensore verificato, rimuovere il filamento."
 
-#MSG_TEMPERATURE
+#MSG_TEMPERATURE c=18
 "Temperature"
 "\x00"
 
-#MSG_MENU_TEMPERATURES c=15 r=1
+#MSG_MENU_TEMPERATURES c=15
 "Temperatures"
 "Temperature"
 
@@ -1158,39 +1146,35 @@
 "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."
 "E ancora necessario effettuare la calibrazione Z. Segui il manuale, capitolo Primi Passi, sezione Sequenza di Calibrazione. "
 
-#
+#MSG_TOTAL_FILAMENT c=19
 "Total filament"
 "Filamento totale"
 
-#
+#MSG_TOTAL_PRINT_TIME c=19
 "Total print time"
 "Tempo stampa totale"
 
-#MSG_TUNE
+#MSG_TUNE c=18
 "Tune"
 "Regola"
 
-#
-"Unload"
-"Scarica"
-
 #MSG_TOTAL_FAILURES c=20
 "Total failures"
 "Totale fallimenti"
 
-# c=20
+#MSG_TO_LOAD_FIL c=20
 "to load filament"
 "per caricare il fil."
 
-# c=20
+#MSG_TO_UNLOAD_FIL c=20
 "to unload filament"
 "per scaricare fil."
 
-#MSG_UNLOAD_FILAMENT c=17
+#MSG_UNLOAD_FILAMENT c=16
 "Unload filament"
-"Scarica filamento"
+"Scarica filam."
 
-#MSG_UNLOADING_FILAMENT c=20 r=1
+#MSG_UNLOADING_FILAMENT c=20
 "Unloading filament"
 "Scaricando filamento"
 
@@ -1198,23 +1182,23 @@
 "Total"
 "Totale"
 
-#MSG_USED c=19 r=1
+#MSG_USED c=19
 "Used during print"
 "Usati nella stampa"
 
-#MSG_MENU_VOLTAGES c=15 r=1
+#MSG_MENU_VOLTAGES c=15
 "Voltages"
 "Voltaggi"
 
-#
+#MSG_UNKNOWN c=13
 "unknown"
 "sconosciuto"
 
-#MSG_USERWAIT
+#MSG_USERWAIT c=20
 "Wait for user..."
 "Attendendo utente..."
 
-#MSG_WAITING_TEMP c=20 r=3
+#MSG_WAITING_TEMP c=20 r=4
 "Waiting for nozzle and bed cooling"
 "In attesa del raffreddamento dell'ugello e del piano"
 
@@ -1222,10 +1206,6 @@
 "Waiting for PINDA probe cooling"
 "In attesa del raffreddamento della sonda PINDA"
 
-#
-"Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube."
-"Usate lo scaricamento per rimuovere il filamento 1 se protrude dal retro del tubo posteriore del MMu. Utilizzate l'espulsione se e nascosto nel tubo."
-
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
 "Attenzione: tipo di stampante e di scheda madre cambiati."
@@ -1242,11 +1222,11 @@
 "Was filament unload successful?"
 "Filamento scaricato con successo?"
 
-#MSG_SELFTEST_WIRINGERROR
+#MSG_SELFTEST_WIRINGERROR c=18
 "Wiring error"
 "Errore cablaggio"
 
-#MSG_WIZARD c=17 r=1
+#MSG_WIZARD c=17
 "Wizard"
 "\x00"
 
@@ -1258,7 +1238,7 @@
 "XYZ calibration failed. Please consult the manual."
 "Calibrazione XYZ fallita. Si prega di consultare il manuale."
 
-#MSG_YES
+#MSG_YES c=3
 "Yes"
 "Si"
 
@@ -1298,27 +1278,27 @@
 "Load all"
 "Caricare tutti"
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
 "XYZ calibration failed. Bed calibration point was not found."
 "Calibrazione XYZ fallita. Il punto di calibrazione sul piano non e' stato trovato."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
 "XYZ calibration failed. Front calibration points not reachable."
 "Calibrazione XYZ fallita. Punti anteriori non raggiungibili."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
 "XYZ calibration failed. Right front calibration point not reachable."
 "Calibrazione XYZ fallita. Punto anteriore destro non raggiungibile."
 
-#
+#MSG_Y_DIST_FROM_MIN c=20
 "Y distance from min"
 "Distanza Y dal min"
 
-#
+#MSG_WIZARD_V2_CAL_2 c=20 r=12
 "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
 "La stampante iniziera a stampare una linea a zig-zag. Gira la manopola fino a che non hai raggiungo l'altezza ottimale. Verifica con le immagini nel manuale (capitolo sulla calibrazione):"
 
-# c=20 r=5
+#MSG_FIL_FAILED c=20 r=5
 "Verification failed, remove the filament and try again."
 "Verifica fallita, rimuovere il filamento e riprovare."
 
@@ -1326,39 +1306,39 @@
 "Y-correct:"
 "Correzione-Y:"
 
-#MSG_OFF
+#MSG_OFF c=3
 "Off"
 "\x00"
 
-#MSG_ON
+#MSG_ON c=3
 "On"
 "\x00"
 
-#
+#MSG_BACK c=18
 "Back"
 "Indietro"
 
-#
+#MSG_CHECKS c=18
 "Checks"
 "Controlli"
 
-#
+#MSG_FALSE_TRIGGERING c=20
 "False triggering"
 "Falso innesco"
 
-#
-"FINDA:"
+#MSG_FINDA c=5
+"FINDA"
 "\x00"
 
-#MSG_FIRMWARE
+#MSG_FIRMWARE c=8
 "Firmware"
 "\x00"
 
-#MSG_STRICT
+#MSG_STRICT c=8
 "Strict"
 "Esatto"
 
-#MSG_WARN
+#MSG_WARN c=8
 "Warn"
 "Avviso"
 
@@ -1366,43 +1346,39 @@
 "HW Setup"
 "Impostazioni HW"
 
-#
-"IR:"
-"\x00"
-
-#MSG_MAGNETS_COMP
+#MSG_MAGNETS_COMP c=13
 "Magnets comp."
 "Comp. Magneti"
 
-#MSG_MESH
+#MSG_MESH c=12
 "Mesh"
 "Griglia"
 
-#
+#MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
 "MK3S firmware detected on MK3 printer"
 "Firmware MK3S rilevato su stampante MK3"
 
-#MSG_MMU_MODE
+#MSG_MMU_MODE c=8
 "MMU Mode"
 "Mod. MMU"
 
-#
+#MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
 "Mode change in progress ..."
 "Cambio modalita in corso ..."
 
-#MSG_MODEL
+#MSG_MODEL c=8
 "Model"
 "Modello"
 
-#MSG_NOZZLE_DIAMETER
+#MSG_NOZZLE_DIAMETER c=10
 "Nozzle d."
-"Diam.Ugello"
+"Dia.Ugello"
 
-#
+#MSG_GCODE_DIFF_CONTINUE c=20 r=4
 "G-code sliced for a different level. Continue?"
 "G-code processato per un livello diverso. Continuare?"
 
-#
+#MSG_GCODE_DIFF_CANCELLED c=20 r=7
 "G-code sliced for a different level. Please re-slice the model again. Print cancelled."
 "G-code processato per un livello diverso. Per favore esegui nuovamente lo slice del modello. Stampa annullata."
 
@@ -1410,35 +1386,31 @@
 "G-code sliced for a different printer type. Continue?"
 "G-code processato per una stampante diversa. Continuare?"
 
-#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
+#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8
 "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
 "G-code processato per una stampante diversa. Per favore esegui nuovamente lo slice del modello. Stampa annullata."
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 "G-code sliced for a newer firmware. Continue?"
 "G-code processato per un firmware piu recente. Continuare?"
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8
 "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
 "G-code processato per un firmware piu recente. Per favore aggiorna il firmware. Stampa annullata."
 
-#
-"PINDA:"
-"\x00"
-
-# c=20
+#MSG_PREHEATING_TO_CUT c=20
 "Preheating to cut"
 "Preriscalda. taglio"
 
-# c=20
+#MSG_PREHEATING_TO_EJECT c=20
 "Preheating to eject"
 "Preriscalda. espuls."
 
-#
+#MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 "Printer nozzle diameter differs from the G-code. Continue?"
 "Diametro ugello diverso da G-Code. Continuare?"
 
-#
+#MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
 "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."
 "Diametro ugello diverso dal G-Code. Controlla il valore nelle impostazioni. Stampa annullata."
 
@@ -1446,15 +1418,15 @@
 "%s level expected"
 "atteso livello %s"
 
-#
+#MSG_RENAME c=18
 "Rename"
 "Rinomina"
 
-#
+#MSG_SELECT c=18
 "Select"
 "Seleziona"
 
-#
+#MSG_INFO_SENSORS c=18
 "Sensor info"
 "Info Sensore"
 
@@ -1462,7 +1434,7 @@
 "Sheet"
 "Piano"
 
-#MSG_SOUND_BLIND
+#MSG_SOUND_BLIND c=7
 "Assist"
 "Assist."
 
@@ -1474,7 +1446,10 @@
 "Z-correct:"
 "Correzione-Z:"
 
-#MSG_Z_PROBE_NR
+#MSG_Z_PROBE_NR c=14
 "Z-probe nr."
 "Nr. Z-test"
 
+#MSG_PRINTER_IP c=18
+"Printer IP Addr:"
+"\x00"

+ 222 - 247
lang/lang_en_nl.txt

@@ -1,7 +1,3 @@
-#
-"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
-"[%.7s]Z instell.\x0awaarde ingesteld,\x0averder of bij 0\x0abeginen?\x0a%cVerder%cReset"
-
 #MSG_IR_03_OR_OLDER c=18
 " 0.3 or older"
 " 0.3 of ouder"
@@ -30,7 +26,7 @@
 " of 9"
 " van 9"
 
-#MSG_MEASURED_OFFSET
+#MSG_MEASURED_OFFSET c=20
 "[0;0] point offset"
 "[0;0] punt offset"
 
@@ -42,10 +38,6 @@
 "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode"
 "WARNING:\x0aCrashdetectie\x0auitgeschakeld in\x0aStealth stand"
 
-#
-">Cancel"
-">Annuleren"
-
 #MSG_BABYSTEPPING_Z c=15
 "Adjusting Z:"
 "Z is ingesteld:"
@@ -58,7 +50,7 @@
 "All is done. Happy printing!"
 "Klaar. Happy printing!"
 
-#
+#MSG_AMBIENT c=14
 "Ambient"
 "Kamertemp."
 
@@ -74,11 +66,11 @@
 "Are left and right Z~carriages all up?"
 "Zijn beide Z wagen heelemaal boven?"
 
-#MSG_AUTO_DEPLETE c=17 r=1
+#MSG_AUTO_DEPLETE c=13
 "SpoolJoin"
 "\x00"
 
-#MSG_AUTO_HOME
+#MSG_AUTO_HOME c=18
 "Auto home"
 "Startpositie"
 
@@ -94,36 +86,36 @@
 "Autoloading filament is active, just press the knob and insert filament..."
 "Automatisch laden van flament is actief, druk de knop en laad filament..."
 
-#MSG_SELFTEST_AXIS_LENGTH
+#MSG_SELFTEST_AXIS_LENGTH c=20
 "Axis length"
 "Aslengte"
 
-#MSG_SELFTEST_AXIS
+#MSG_SELFTEST_AXIS c=16
 "Axis"
 "As"
 
-#MSG_SELFTEST_BEDHEATER
+#MSG_SELFTEST_BEDHEATER c=20
 "Bed / Heater"
 "Bed / Verwarming"
 
-#MSG_BED_DONE
+#MSG_BED_DONE c=20
 "Bed done"
 "Bed klaar"
 
-#MSG_BED_HEATING
+#MSG_BED_HEATING c=20
 "Bed Heating"
 "Bed opwarmen"
 
-#MSG_BED_CORRECTION_MENU
+#MSG_BED_CORRECTION_MENU c=18
 "Bed level correct"
 "Bed niveau correct"
 
-#MSG_BELTTEST c=17
+#MSG_BELTTEST c=18
 "Belt test        "
 "Riemtest         "
 
-#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5
-"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
+#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
+"Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."
 "Bed leveling mislukt. Sensor heeft niet geactiveerd. Puin op tuit? Wacht op reset."
 
 #MSG_BRIGHT c=6
@@ -134,7 +126,7 @@
 "Brightness"
 "Helderheid"
 
-#MSG_BED
+#MSG_BED c=13
 "Bed"
 "Bed"
 
@@ -146,22 +138,26 @@
 "Blackout occurred. Recover print?"
 "Stroomstoring. Print herstellen?"
 
-#
+#MSG_CALIBRATING_HOME c=20
 "Calibrating home"
 "Kalibreren start"
 
-#MSG_CALIBRATE_BED
+#MSG_CALIBRATE_BED c=18
 "Calibrate XYZ"
 "Kalibratie XYZ"
 
-#MSG_HOMEYZ
+#MSG_HOMEYZ c=18
 "Calibrate Z"
 "Kalibratie Z"
 
-#MSG_CALIBRATE_PINDA c=17 r=1
+#MSG_CALIBRATE_PINDA c=17
 "Calibrate"
 "Kalibreren"
 
+#MSG_CANCEL2 c=10
+">Cancel"
+">Annuleren"
+
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Druk knop als klaar."
@@ -174,35 +170,31 @@
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Kalibreren van Z. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Druk knop als klaar."
 
-#MSG_HOMEYZ_DONE
+#MSG_HOMEYZ_DONE c=20
 "Calibration done"
 "Kalibratie klaar"
 
-#MSG_MENU_CALIBRATION
+#MSG_MENU_CALIBRATION c=18
 "Calibration"
 "Kalibratie"
 
-#
-"Cancel"
-"Annuleren"
-
-#MSG_SD_REMOVED
+#MSG_SD_REMOVED c=20
 "Card removed"
 "SD verwijderd"
 
-#
+#MSG_CHECKING_FILE c=17
 "Checking file"
 "\x00"
 
-#MSG_NOT_COLOR
+#MSG_NOT_COLOR c=19
 "Color not correct"
 "Kleur niet juist"
 
-#MSG_COOLDOWN
+#MSG_COOLDOWN c=18
 "Cooldown"
 "Afkoelen"
 
-#
+#MSG_COPY_SEL_LANG c=20 r=3
 "Copy selected language?"
 "Geselecteerde taal kopieren?"
 
@@ -210,15 +202,15 @@
 "Crash det."
 "Crashdet."
 
-#
+#MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
 "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
 "Kies een filament voor de kalibratie van de eerste laag en selecteer deze in het schermmenu."
 
-#MSG_CRASH_DETECTED c=20 r=1
+#MSG_CRASH_DETECTED c=20
 "Crash detected."
 "Crash gedetecteerd."
 
-#
+#MSG_CRASH_RESUME c=20 r=3
 "Crash detected. Resume print?"
 "Crash gedetecteerd. Print voorzetten?"
 
@@ -226,11 +218,11 @@
 "Crash"
 "\x00"
 
-#MSG_CURRENT c=19 r=1
+#MSG_CURRENT c=19
 "Current"
 "Actueel"
 
-#MSG_DATE c=17 r=1
+#MSG_DATE c=17
 "Date:"
 "Datum:"
 
@@ -238,7 +230,7 @@
 "Community made"
 "\x00"
 
-#MSG_DISABLE_STEPPERS
+#MSG_DISABLE_STEPPERS c=18
 "Disable steppers"
 "Motoren uit"
 
@@ -262,7 +254,7 @@
 "Eject filament"
 "Fil. uitwerpen"
 
-#MSG_EJECTING_FILAMENT c=20 r=1
+#MSG_EJECTING_FILAMENT c=20
 "Ejecting filament"
 "Fil. word ontladen"
 
@@ -270,11 +262,11 @@
 "Endstop not hit"
 "Endstop niet geraakt"
 
-#MSG_SELFTEST_ENDSTOP
+#MSG_SELFTEST_ENDSTOP c=16
 "Endstop"
 "Eindstop"
 
-#MSG_SELFTEST_ENDSTOPS
+#MSG_SELFTEST_ENDSTOPS c=20
 "Endstops"
 "Eindstops"
 
@@ -290,7 +282,7 @@
 "Cutter"
 "Mes"
 
-# c=18
+#MSG_MMU_CUTTING_FIL c=18
 "Cutting filament"
 "Knippe filament"
 
@@ -302,7 +294,7 @@
 "Dim"
 "\x00"
 
-#MSG_ERROR
+#MSG_ERROR c=10
 "ERROR:"
 "FOUT:"
 
@@ -318,7 +310,7 @@
 "Extruder"
 "\x00"
 
-#
+#MSG_MMU_FAIL_STATS c=18
 "Fail stats MMU"
 "MMU-Fouten"
 
@@ -326,7 +318,7 @@
 "F. autoload"
 "F. autoladen"
 
-#
+#MSG_FAIL_STATS c=18
 "Fail stats"
 "Foutstatistieken"
 
@@ -342,7 +334,7 @@
 "Fans check"
 "Fans check"
 
-#MSG_FSENSOR
+#MSG_FSENSOR c=12
 "Fil. sensor"
 "\x00"
 
@@ -366,7 +358,7 @@
 "Filament used"
 "Gebruikte filament"
 
-#MSG_PRINT_TIME c=19 r=1
+#MSG_PRINT_TIME c=19
 "Print time"
 "Print tijd"
 
@@ -390,15 +382,15 @@
 "First, I will run the selftest to check most common assembly problems."
 "Ten eerste zullen we de zelftest uitvoeren om de meest voorkomende montageproblemen te controleren."
 
-#
+#MSG_MMU_FIX_ISSUE c=20 r=4
 "Fix the issue and then press button on MMU unit."
 "Los het probleem op en druk vervolgens op de knop op de MMU-eenheid."
 
-#MSG_FLOW
+#MSG_FLOW c=15
 "Flow"
 "Stromen"
 
-#MSG_PRUSA3D_FORUM
+#MSG_PRUSA3D_FORUM c=18
 "forum.prusa3d.com"
 "\x00"
 
@@ -406,19 +398,19 @@
 "Front print fan?"
 "Voorzijde fan?"
 
-#MSG_BED_CORRECTION_FRONT c=14 r=1
+#MSG_BED_CORRECTION_FRONT c=14
 "Front side[um]"
 "Voorkant  [um]"
 
-#MSG_SELFTEST_FANS
+#MSG_SELFTEST_FANS c=20
 "Front/left fans"
 "Fans voor/links"
 
-#MSG_SELFTEST_HEATERTHERMISTOR
+#MSG_SELFTEST_HEATERTHERMISTOR c=20
 "Heater/Thermistor"
 "Verwarmer/Therm."
 
-#MSG_BED_HEATING_SAFETY_DISABLED
+#MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
 "Heating disabled by safety timer."
 "Verwarming uitgeschakeld door veiligheidstimer."
 
@@ -426,7 +418,7 @@
 "Heating done."
 "Opwarmen klaar."
 
-#MSG_HEATING
+#MSG_HEATING c=20
 "Heating"
 "Opwarmen"
 
@@ -434,15 +426,15 @@
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
 "Hallo, ik ben uw Original Prusa i3 printer. Zullen we beginnen met het installatieproces?"
 
-#MSG_PRUSA3D_HOWTO
+#MSG_PRUSA3D_HOWTO c=18
 "howto.prusa3d.com"
 "\x00"
 
-#MSG_FILAMENTCHANGE
+#MSG_FILAMENTCHANGE c=18
 "Change filament"
 "Wissel filament"
 
-#MSG_CHANGE_SUCCESS
+#MSG_CHANGE_SUCCESS c=20
 "Change success!"
 "Wissel geslaagd!"
 
@@ -478,15 +470,15 @@
 "Checking Z axis"
 "Controleer Z as"
 
-#MSG_CHOOSE_EXTRUDER c=20 r=1
+#MSG_CHOOSE_EXTRUDER c=20
 "Choose extruder:"
 "Kies extruder:"
 
-#MSG_CHOOSE_FILAMENT c=20 r=1
+#MSG_CHOOSE_FILAMENT c=20
 "Choose filament:"
 "Kies filament:"
 
-#MSG_FILAMENT c=17 r=1
+#MSG_FILAMENT c=17
 "Filament"
 "\x00"
 
@@ -498,7 +490,7 @@
 "I will run z calibration now."
 "Begin nu met z-kalibratie."
 
-#MSG_WATCH
+#MSG_WATCH c=18
 "Info screen"
 "Info scherm"
 
@@ -522,7 +514,7 @@
 "Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."
 "Hallo, ik ben je originele Prusa i3-printer. Ik zal je door een snel instellingsproces leiden dat de Z-as zal kalibreren. Dan ben je klaar om te printen."
 
-#
+#MSG_ADDITIONAL_SHEETS c=20 r=9
 "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
 "Als u extra staalplaten hebt, kalibreert u hun voorinstellingen in Instellingen - HW Setup - Staalplaten."
 
@@ -534,23 +526,23 @@
 "Left hotend fan?"
 "Linker hotend fan?"
 
-#
+#MSG_LEFT c=10
 "Left"
 "Links"
 
-#MSG_BED_CORRECTION_LEFT c=14 r=1
+#MSG_BED_CORRECTION_LEFT c=14
 "Left side [um]"
 "Linkerkant[um]"
 
-#
+#MSG_LIN_CORRECTION c=18
 "Lin. correction"
 "Lineaire correctie"
 
-#MSG_BABYSTEP_Z
+#MSG_BABYSTEP_Z c=18
 "Live adjust Z"
 "Live Z aanpassen"
 
-# c=20 r=6
+#MSG_INSERT_FIL c=20 r=6
 "Insert the filament (do not load it) into the extruder and then press the knob."
 "Steek a.u.b. filament (maar niet laden) in de extruder en druk op knop."
 
@@ -558,7 +550,7 @@
 "Load filament"
 "Filament laden"
 
-#MSG_LOADING_COLOR
+#MSG_LOADING_COLOR c=20
 "Loading color"
 "Laden kleur"
 
@@ -566,11 +558,11 @@
 "Loading filament"
 "Laden filament"
 
-#MSG_LOOSE_PULLEY c=20 r=1
+#MSG_LOOSE_PULLEY c=20
 "Loose pulley"
 "Losse riemschijf"
 
-#
+#MSG_LOAD_TO_NOZZLE c=18
 "Load to nozzle"
 "Tot tuit laden"
 
@@ -578,7 +570,7 @@
 "M117 First layer cal."
 "M117 Eerste laag kal."
 
-#MSG_MAIN
+#MSG_MAIN c=18
 "Main"
 "Hoofdmenu"
 
@@ -590,7 +582,7 @@
 "Level Dimmed"
 "Dim waarde"
 
-#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
+#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3
 "Measuring reference height of calibration point"
 "Referentie hoogte van het kalibratiepunt meten"
 
@@ -606,7 +598,7 @@
 "MMU OK. Resuming temperature..."
 "MMU OK. Temperatuur hervatten..."
 
-#
+#MSG_MEASURED_SKEW c=13
 "Measured skew"
 "Scheefheid"
 
@@ -614,7 +606,7 @@
 "MMU fails"
 "MMU fout"
 
-#
+#MSG_MMU_LOAD_FAILED c=20
 "MMU load failed     "
 "MMU laden mislukt   "
 
@@ -626,87 +618,87 @@
 "MMU OK. Resuming..."
 "MMU OK. Hervatten..."
 
-#MSG_MODE
+#MSG_MODE c=6
 "Mode"
 "Stand"
 
-# c=20 r=3
+#MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
 "MK3 firmware detected on MK3S printer"
 "MK3-firmware bij MK3S-printer gedetecteerd"
 
-#MSG_NORMAL
+#MSG_NORMAL c=7
 "Normal"
 "Normaal"
 
-#MSG_SILENT
+#MSG_SILENT c=7
 "Silent"
 "Stil"
 
-#
+#MSG_MMU_USER_ATTENTION c=20 r=3
 "MMU needs user attention."
 "MMU heeft gebruikersaandacht nodig."
 
-#
+#MSG_MMU_POWER_FAILS c=15
 "MMU power fails"
 "MMU stroomstor."
 
-#MSG_STEALTH
+#MSG_STEALTH c=7
 "Stealth"
 "\x00"
 
-#MSG_AUTO_POWER
+#MSG_AUTO_POWER c=10
 "Auto power"
 "\x00"
 
-#MSG_HIGH_POWER
+#MSG_HIGH_POWER c=10
 "High power"
 "Hoog verm."
 
-#
+#MSG_MMU_CONNECTED c=18
 "MMU2 connected"
 "MMU2 verbonden"
 
-#MSG_SELFTEST_MOTOR
+#MSG_SELFTEST_MOTOR c=18
 "Motor"
 "\x00"
 
-#MSG_MOVE_AXIS
+#MSG_MOVE_AXIS c=18
 "Move axis"
 "As verplaatsen"
 
-#MSG_MOVE_X
+#MSG_MOVE_X c=18
 "Move X"
 "Verplaats X"
 
-#MSG_MOVE_Y
+#MSG_MOVE_Y c=18
 "Move Y"
 "Verplaats Y"
 
-#MSG_MOVE_Z
+#MSG_MOVE_Z c=18
 "Move Z"
 "Verplaats Z"
 
-#MSG_NO_MOVE
+#MSG_NO_MOVE c=20
 "No move."
 "Geen beweging."
 
-#MSG_NO_CARD
+#MSG_NO_CARD c=18
 "No SD card"
 "Geen SD kaart"
 
-#MSG_NA
+#MSG_NA c=3
 "N/A"
 "N/V"
 
-#MSG_NO
+#MSG_NO c=4
 "No"
 "Nee"
 
-#MSG_SELFTEST_NOTCONNECTED
+#MSG_SELFTEST_NOTCONNECTED c=20
 "Not connected"
 "Niet verbonden"
 
-#
+#MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2
 "New firmware version available:"
 "Nieuwe firmware versie beschikbaar:"
 
@@ -722,19 +714,19 @@
 "Now I will preheat nozzle for PLA."
 "Opwarmen van de tuit voor PLA voor."
 
-#MSG_NOZZLE
+#MSG_NOZZLE c=12
 "Nozzle"
 "Tuit"
 
-#MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+#MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 "Old settings found. Default PID, Esteps etc. will be set."
 "Oude instellingen gevonden. Standaard PID, E-steps etc. instellingen worden geladen."
 
-#
+#MSG_REMOVE_TEST_PRINT c=20 r=4
 "Now remove the test print from steel sheet."
 "Verwijder nu de testprint van staalplaat."
 
-#
+#MSG_NOZZLE_FAN c=10
 "Nozzle FAN"
 "Tuit fan"
 
@@ -742,19 +734,19 @@
 "Pause print"
 "Print pauzeren"
 
-#MSG_PID_RUNNING c=20 r=1
+#MSG_PID_RUNNING c=20
 "PID cal.           "
 "PID kal.           "
 
-#MSG_PID_FINISHED c=20 r=1
+#MSG_PID_FINISHED c=20
 "PID cal. finished"
 "PID kalibratie klaar"
 
-#MSG_PID_EXTRUDER c=17 r=1
+#MSG_PID_EXTRUDER c=17
 "PID calibration"
 "PID kalibratie"
 
-#MSG_PINDA_PREHEAT c=20 r=1
+#MSG_PINDA_PREHEAT c=20
 "PINDA Heating"
 "PINDA opwarmen"
 
@@ -770,7 +762,7 @@
 "Please clean the nozzle for calibration. Click when done."
 "Reinig de tuit voor de kalibratie. Druk op de knop wanneer gereed."
 
-#MSG_SELFTEST_PLEASECHECK
+#MSG_SELFTEST_PLEASECHECK c=20
 "Please check :"
 "Controleer aub:"
 
@@ -778,11 +770,11 @@
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
 "Controleer aub ons handboek en los het probleem op. Hervat vervolgens de wizard door de printer opnieuw te starten."
 
-#MSG_CHECK_IDLER c=20 r=4
+#MSG_CHECK_IDLER c=20 r=5
 "Please open idler and remove filament manually."
 "Open rondsel en verwijder filament handmatig."
 
-#MSG_PLACE_STEEL_SHEET c=20 r=4
+#MSG_PLACE_STEEL_SHEET c=20 r=5
 "Please place steel sheet on heatbed."
 "Leg staalplaat op bed."
 
@@ -814,7 +806,7 @@
 "Please wait"
 "Even geduld aub"
 
-#
+#MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
 "Please remove shipping helpers first."
 "Verwijder eerst de transport beschermers."
 
@@ -822,7 +814,7 @@
 "Preheat the nozzle!"
 "Tuit voorverwarmen!"
 
-#MSG_PREHEAT
+#MSG_PREHEAT c=18
 "Preheat"
 "Voorverwarmen"
 
@@ -830,13 +822,13 @@
 "Preheating nozzle. Please wait."
 "Opwarmen van de tuit. Wacht aub."
 
-# c=14
+#MSG_PINDA c=5
 "PINDA"
 "\x00"
 
-#
+#MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20
 "Please upgrade."
-"Voer een upgrade uit."
+"Voer een upgrade uit"
 
 #MSG_PRESS_TO_PREHEAT c=20 r=4
 "Press the knob to preheat nozzle and continue."
@@ -854,11 +846,11 @@
 "Print aborted"
 "Print afgebroken"
 
-# c=20
+#MSG_PREHEATING_TO_LOAD c=20
 "Preheating to load"
 "Opwarmen invoeren"
 
-# c=20
+#MSG_PREHEATING_TO_UNLOAD c=20
 "Preheating to unload"
 "Opwarmen uitwerpen"
 
@@ -866,19 +858,19 @@
 "Print fan:"
 "\x00"
 
-#MSG_CARD_MENU
+#MSG_CARD_MENU c=18
 "Print from SD"
 "Print van SD"
 
-# c=20
+#MSG_PRESS_KNOB c=20
 "Press the knob"
 "Druk op knop"
 
-#MSG_PRINT_PAUSED c=20 r=1
+#MSG_PRINT_PAUSED c=20
 "Print paused"
 "Print pauzeren"
 
-#
+#MSG_RESUME_NOZZLE_TEMP c=20 r=4
 "Press the knob to resume nozzle temperature."
 "Druk op de knop om de temperatuur van de tuit te hervatten."
 
@@ -886,37 +878,37 @@
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
 "Printer is nog niet gekalibreerd. Volg de handleiding, hoofdstuk First steps, sectie Calibration flow."
 
-#
+#MSG_PRINT_FAN c=10
 "Print FAN"
 "\x00"
 
-#
+#MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 "Please insert filament into the extruder, then press the knob to load it."
 "Steek a.u.b. filament in de extruder en druk op de knop om het te laden."
 
-#
+#MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 "Please insert filament into the first tube of the MMU, then press the knob to load it."
 "Steek a.u.b. filament in de eerste buis van de MMU en druk op de knop om het te laden."
 
-#
+#MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load filament first."
 "Laad a.u.b. eerst filament."
 
-#MSG_PRUSA3D
+#MSG_PRUSA3D c=18
 "prusa3d.com"
 "\x00"
 
-#MSG_BED_CORRECTION_REAR c=14 r=1
+#MSG_BED_CORRECTION_REAR c=14
 "Rear side [um]"
 "Achterkant[um]"
 
-# c=20 r=4
+#MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
 "Please unload the filament first, then repeat this action."
 "Verwijder eerst het filament en probeer het opnieuw."
 
-# c=20 r=4
+#MSG_CHECK_IR_CONNECTION c=20 r=4
 "Please check the IR sensor connection, unload filament if present."
-"AUB IR sensor verbindingen kontrolleren en filament verwijderd is."
+"AUB IR sensor ver- binding kontrolleren , verwijder filament indien aanwezig."
 
 #MSG_RECOVERING_PRINT c=20
 "Recovering print    "
@@ -930,7 +922,7 @@
 "Prusa i3 MK3S OK."
 "\x00"
 
-#MSG_CALIBRATE_BED_RESET
+#MSG_CALIBRATE_BED_RESET c=18
 "Reset XYZ calibr."
 "Reset XYZ kalibr."
 
@@ -946,11 +938,11 @@
 "Resuming print"
 "Hervatten print"
 
-#MSG_BED_CORRECTION_RIGHT c=14 r=1
+#MSG_BED_CORRECTION_RIGHT c=14
 "Right side[um]"
 "Recht.kant[um]"
 
-#MSG_RPI_PORT
+#MSG_RPI_PORT c=13
 "RPi port"
 "\x00"
 
@@ -958,27 +950,27 @@
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
 "Starten van de Wizard verwijdert de huidige kalibreringsresultaten en begint vanaf het begin. Doorgaan?"
 
-#MSG_SD_CARD
+#MSG_SD_CARD c=8
 "SD card"
 "SD kaart"
 
-#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
+#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8
 "FlashAir"
 "\x00"
 
-#
+#MSG_RIGHT c=10
 "Right"
 "Rechts"
 
-#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60
+#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2
 "Searching bed calibration point"
 "Zoeken bed kalibratiepunt"
 
-#MSG_LANGUAGE_SELECT
+#MSG_LANGUAGE_SELECT c=18
 "Select language"
 "Kies taal"
 
-#MSG_SELFTEST_OK
+#MSG_SELFTEST_OK c=20
 "Self test OK"
 "Zelftest  OK"
 
@@ -986,11 +978,11 @@
 "Self test start  "
 "Zelftest start   "
 
-#MSG_SELFTEST
+#MSG_SELFTEST c=18
 "Selftest         "
 "Zelftest         "
 
-#MSG_SELFTEST_ERROR
+#MSG_SELFTEST_ERROR c=20
 "Selftest error !"
 "Zelftest fout  !"
 
@@ -1002,11 +994,11 @@
 "Selftest will be run to calibrate accurate sensorless rehoming."
 "Zelftest zal worden uitgevoerd om nauwkeurige sensorloze auto positie te kalibreren."
 
-#
+#MSG_SEL_PREHEAT_TEMP c=20 r=6
 "Select nozzle preheat temperature which matches your material."
 "Selecteer de voorverwarmingstemperatuur van de tuit die overeenkomt met uw materiaal."
 
-#MSG_SET_TEMPERATURE c=19 r=1
+#MSG_SET_TEMPERATURE c=19
 "Set temperature:"
 "Temp. instellen:"
 
@@ -1022,7 +1014,7 @@
 "Prusa i3 MK3 OK."
 "\x00"
 
-#MSG_SETTINGS
+#MSG_SETTINGS c=18
 "Settings"
 "Instellingen"
 
@@ -1030,63 +1022,59 @@
 "Show end stops"
 "Toon endstops"
 
-#
-"Sensor state"
-"Sensorstatus"
-
 #MSG_FILE_CNT c=20 r=6
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
 "Sommige bestanden worden niet gesorteerd omdat het maximum aantal bestanden per map 100 is."
 
-#MSG_SORT
+#MSG_SORT c=7
 "Sort"
 "Sort."
 
-#MSG_NONE
+#MSG_NONE c=8
 "None"
 "Geen"
 
-#MSG_SORT_TIME
+#MSG_SORT_TIME c=8
 "Time"
 "Tijd"
 
-#
+#MSG_SEVERE_SKEW c=13
 "Severe skew:"
 "Erg scheef:"
 
-#MSG_SORT_ALPHA
+#MSG_SORT_ALPHA c=8
 "Alphabet"
 "Alfabet"
 
-#MSG_SORTING c=20 r=1
+#MSG_SORTING c=20
 "Sorting files"
 "Bestanden sorteren"
 
-#MSG_SOUND_LOUD
+#MSG_SOUND_LOUD c=7
 "Loud"
 "Hard"
 
-#
+#MSG_SLIGHT_SKEW c=13
 "Slight skew:"
 "Iets scheef:"
 
-#MSG_SOUND
+#MSG_SOUND c=7
 "Sound"
 "Geluid"
 
-# c=7
+#MSG_RUNOUTS c=7
 "Runouts"
 "\x00"
 
-#
+#MSG_Z-LEVELING_ENFORCED c=20 r=4
 "Some problem encountered, Z-leveling enforced ..."
 "Er is een probleem opgetreden, Z-kalibratie afgedwongen ..."
 
-#MSG_SOUND_ONCE
+#MSG_SOUND_ONCE c=7
 "Once"
 "Eenmaal"
 
-#MSG_SPEED
+#MSG_SPEED c=15
 "Speed"
 "Snelheid"
 
@@ -1096,29 +1084,29 @@
 
 #MSG_TEMP_CAL_WARNING c=20 r=4
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
-"Stabiele omgevingstemperatuur van 21-26C is nodig, een stevige stand is vereist."
+"En stabiele 21-26C omgevingstemperatuur is nodig,een stevige stand is vereist."
 
-#MSG_STATISTICS
+#MSG_STATISTICS c=18
 "Statistics  "
 "Statistieken"
 
-#MSG_STOP_PRINT
+#MSG_STOP_PRINT c=18
 "Stop print"
 "Print stoppen"
 
-#MSG_STOPPED
+#MSG_STOPPED c=20
 "STOPPED. "
 "GESTOPT. "
 
-#MSG_SUPPORT
+#MSG_SUPPORT c=18
 "Support"
 "\x00"
 
-#MSG_SELFTEST_SWAPPED
+#MSG_SELFTEST_SWAPPED c=16
 "Swapped"
 "Gewisseld"
 
-#
+#MSG_SELECT_FILAMENT c=20
 "Select filament:"
 "Kies filament:"
 
@@ -1126,11 +1114,11 @@
 "Temp. cal."
 "Tempkalib."
 
-#
+#MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
 "Select temperature which matches your material."
 "Selecteer de temperatuur die overeenkomt met uw materiaal."
 
-#MSG_CALIBRATION_PINDA_MENU c=17 r=1
+#MSG_CALIBRATION_PINDA_MENU c=17
 "Temp. calibration"
 "Tempkalibratie"
 
@@ -1142,15 +1130,15 @@
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
 "Temperatuurkalibratie kan uitgeschakeld worden in het menu Instellingen-> Tempkalibratie."
 
-# c=20 r=3
+#MSG_FS_VERIFIED c=20 r=3
 "Sensor verified, remove the filament now."
 "Sensor geverifieerd, verwijder nu het filament."
 
-#MSG_TEMPERATURE
+#MSG_TEMPERATURE c=18
 "Temperature"
 "Temperatuur"
 
-#MSG_MENU_TEMPERATURES c=15 r=1
+#MSG_MENU_TEMPERATURES c=15
 "Temperatures"
 "Temperaturen"
 
@@ -1158,39 +1146,35 @@
 "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."
 "Er is nog steeds een noodzaak om de Z-kalibratie uit te voeren. Volg de handleiding, hoofdstuk First steps, section Calibration flow."
 
-#
+#MSG_TOTAL_FILAMENT c=19
 "Total filament"
 "Totaal fil.   "
 
-#
+#MSG_TOTAL_PRINT_TIME c=19
 "Total print time"
 "Totaal printtijd"
 
-#MSG_TUNE
+#MSG_TUNE c=18
 "Tune"
 "Fijnafstemming"
 
-#
-"Unload"
-"Verwijderen"
-
 #MSG_TOTAL_FAILURES c=20
 "Total failures"
 "Totaal fouten"
 
-# c=20
+#MSG_TO_LOAD_FIL c=20
 "to load filament"
 "om filament te laden"
 
-# c=20
+#MSG_TO_UNLOAD_FIL c=20
 "to unload filament"
-"om filament te laden"
+"om fil. uitwerpen"
 
-#MSG_UNLOAD_FILAMENT c=17
+#MSG_UNLOAD_FILAMENT c=16
 "Unload filament"
-"Filament uitwerpen"
+"Fil. uitwerpen"
 
-#MSG_UNLOADING_FILAMENT c=20 r=1
+#MSG_UNLOADING_FILAMENT c=20
 "Unloading filament"
 "Uitwerpen filament"
 
@@ -1198,23 +1182,23 @@
 "Total"
 "Totaal"
 
-#MSG_USED c=19 r=1
+#MSG_USED c=19
 "Used during print"
 "Gebruikt bij print"
 
-#MSG_MENU_VOLTAGES c=15 r=1
+#MSG_MENU_VOLTAGES c=15
 "Voltages"
 "Spanning"
 
-#
+#MSG_UNKNOWN c=13
 "unknown"
 "onbekend"
 
-#MSG_USERWAIT
+#MSG_USERWAIT c=20
 "Wait for user..."
-"Wacht op gebruiker ..."
+"Wacht op gebruiker.."
 
-#MSG_WAITING_TEMP c=20 r=3
+#MSG_WAITING_TEMP c=20 r=4
 "Waiting for nozzle and bed cooling"
 "Wachten op afkoelen van tuit en bed"
 
@@ -1222,10 +1206,6 @@
 "Waiting for PINDA probe cooling"
 "Wachten op afkoelen van PINDA"
 
-#
-"Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube."
-"Gebruik ontladen om filament 1 te verwijderen als het uitsteekt buiten de achterste MMU-buis. Gebruik uitwerpen als deze in de tube is verborgen."
-
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
 "Waarschuwing: zowel het printertype als het moederbordtype is gewijzigd."
@@ -1240,13 +1220,13 @@
 
 #MSG_UNLOAD_SUCCESSFUL c=20 r=2
 "Was filament unload successful?"
-"Is filament succesvol verwijderd?"
+"Is filament succes- vol verwijderd?"
 
-#MSG_SELFTEST_WIRINGERROR
+#MSG_SELFTEST_WIRINGERROR c=18
 "Wiring error"
 "Aansluitingsfout"
 
-#MSG_WIZARD c=17 r=1
+#MSG_WIZARD c=17
 "Wizard"
 "Wizard"
 
@@ -1258,7 +1238,7 @@
 "XYZ calibration failed. Please consult the manual."
 "XYZ-kalibratie mislukt. Raadpleeg de handleiding aub."
 
-#MSG_YES
+#MSG_YES c=3
 "Yes"
 "Ja"
 
@@ -1298,27 +1278,27 @@
 "Load all"
 "Laad alle"
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
 "XYZ calibration failed. Bed calibration point was not found."
 "XYZ-kalibratie mislukt. Bed ijkpunt niet gevonden."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
 "XYZ calibration failed. Front calibration points not reachable."
 "XYZ-kalibratie mislukt. Voorste kalibratiepunten niet bereikbaar."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
 "XYZ calibration failed. Right front calibration point not reachable."
 "XYZ-kalibratie mislukt. Rechter voor kalibratiepunt niet bereikbaar."
 
-#
+#MSG_Y_DIST_FROM_MIN c=20
 "Y distance from min"
 "Y afstand van min"
 
-#
+#MSG_WIZARD_V2_CAL_2 c=20 r=12
 "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
 "De printer begint een zigzaglijn printen. Draai aan de knop totdat je de optimale hoogte hebt bereikt. Bekijk de afbeeldingen in de handleiding (Calibration chapter)."
 
-# c=20 r=5
+#MSG_FIL_FAILED c=20 r=5
 "Verification failed, remove the filament and try again."
 "Verificatie mislukt, verwijder het filament en probeer het opnieuw."
 
@@ -1326,39 +1306,39 @@
 "Y-correct:"
 "Y-correctie:"
 
-#MSG_OFF
+#MSG_OFF c=3
 "Off"
 "Uit"
 
-#MSG_ON
+#MSG_ON c=3
 "On"
 "Aan"
 
-#
+#MSG_BACK c=18
 "Back"
 "terug"
 
-#
+#MSG_CHECKS c=18
 "Checks"
 "\x00"
 
-#
+#MSG_FALSE_TRIGGERING c=20
 "False triggering"
 "Valse triggering"
 
-#
-"FINDA:"
+#MSG_FINDA c=5
+"FINDA"
 "\x00"
 
-#MSG_FIRMWARE
+#MSG_FIRMWARE c=8
 "Firmware"
 "\x00"
 
-#MSG_STRICT
+#MSG_STRICT c=8
 "Strict"
 "Strikt"
 
-#MSG_WARN
+#MSG_WARN c=8
 "Warn"
 "\x00"
 
@@ -1366,43 +1346,39 @@
 "HW Setup"
 "HW Configuratie"
 
-#
-"IR:"
-"\x00"
-
-#MSG_MAGNETS_COMP
+#MSG_MAGNETS_COMP c=13
 "Magnets comp."
 "Magnet. comp."
 
-#MSG_MESH
+#MSG_MESH c=12
 "Mesh"
 "\x00"
 
-#
+#MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
 "MK3S firmware detected on MK3 printer"
 "MK3S-firmware op MK3-printer ontdekt"
 
-#MSG_MMU_MODE
+#MSG_MMU_MODE c=8
 "MMU Mode"
 "MMU Mod"
 
-#
+#MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
 "Mode change in progress ..."
 "Moduswijziging bezig..."
 
-#MSG_MODEL
+#MSG_MODEL c=8
 "Model"
 "\x00"
 
-#MSG_NOZZLE_DIAMETER
+#MSG_NOZZLE_DIAMETER c=10
 "Nozzle d."
 "Tuit d."
 
-#
+#MSG_GCODE_DIFF_CONTINUE c=20 r=4
 "G-code sliced for a different level. Continue?"
 "G-Code is voor een ander niveau geslict. Doorgaan?"
 
-#
+#MSG_GCODE_DIFF_CANCELLED c=20 r=7
 "G-code sliced for a different level. Please re-slice the model again. Print cancelled."
 "G-Code is voor een ander niveau geslict. Slice het model opniew alsjeblieft. Druk geannuleerd."
 
@@ -1410,35 +1386,31 @@
 "G-code sliced for a different printer type. Continue?"
 "G-Code is voor een ander printertype geslict. Doorgaan?"
 
-#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
+#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8
 "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
 "G-Code is voor een ander printertype geslict. Slice het model opniew alsjeblieft. Druk geannuleerd."
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 "G-code sliced for a newer firmware. Continue?"
 "G-Code is voor een nieuwere firmware geslict. Doorgaan?"
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8
 "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
 "G-Code is voor een nieuwere firmware geslict. Update de firmware alsjeblieft. Druk geannuleerd."
 
-#
-"PINDA:"
-"\x00"
-
-# c=20
+#MSG_PREHEATING_TO_CUT c=20
 "Preheating to cut"
 "Opwarm. te snijden"
 
-# c=20
+#MSG_PREHEATING_TO_EJECT c=20
 "Preheating to eject"
 "Opwarm.te uitwerpen"
 
-#
+#MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 "Printer nozzle diameter differs from the G-code. Continue?"
 "De diameter van de tuit van de printer verschilt van de G-code. Doorgaan?"
 
-#
+#MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
 "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."
 "De diameter van de tuit van de printer verschilt van de G-code. Controleer de waarde in de instellingen. Afdrukken geannuleerd."
 
@@ -1446,15 +1418,15 @@
 "%s level expected"
 "\x00"
 
-#
+#MSG_RENAME c=18
 "Rename"
 "Hernoem"
 
-#
+#MSG_SELECT c=18
 "Select"
 "Selecteer"
 
-#
+#MSG_INFO_SENSORS c=18
 "Sensor info"
 "\x00"
 
@@ -1462,7 +1434,7 @@
 "Sheet"
 "Staalplaat"
 
-#MSG_SOUND_BLIND
+#MSG_SOUND_BLIND c=7
 "Assist"
 "\x00"
 
@@ -1474,7 +1446,10 @@
 "Z-correct:"
 "Z-correctie:"
 
-#MSG_Z_PROBE_NR
+#MSG_Z_PROBE_NR c=14
 "Z-probe nr."
 "\x00"
 
+#MSG_PRINTER_IP c=18
+"Printer IP Addr:"
+"\x00"

+ 217 - 242
lang/lang_en_pl.txt

@@ -1,7 +1,3 @@
-#
-"[%.7s]Live adj. Z\x0avalue set, continue\x0aor start from zero?\x0a%cContinue%cReset"
-"[%.7s]Live Adj. Z\x0austaw., kontynuowac\x0aczy zaczac od 0?\x0a%cKontynuuj%cReset"
-
 #MSG_IR_03_OR_OLDER c=18
 " 0.3 or older"
 " 0.3 lub starszy"
@@ -30,7 +26,7 @@
 " of 9"
 " z 9"
 
-#MSG_MEASURED_OFFSET
+#MSG_MEASURED_OFFSET c=20
 "[0;0] point offset"
 "[0;0] przesun.punktu"
 
@@ -42,10 +38,6 @@
 "WARNING:\x0aCrash detection\x0adisabled in\x0aStealth mode"
 "UWAGA:\x0aWykrywanie zderzen\x0awylaczone w\x0atrybie Stealth"
 
-#
-">Cancel"
-">Anuluj"
-
 #MSG_BABYSTEPPING_Z c=15
 "Adjusting Z:"
 "Ustawianie Z:"
@@ -58,7 +50,7 @@
 "All is done. Happy printing!"
 "Gotowe. Udanego drukowania!"
 
-#
+#MSG_AMBIENT c=14
 "Ambient"
 "Otoczenie"
 
@@ -74,11 +66,11 @@
 "Are left and right Z~carriages all up?"
 "Obydwa konce osi sa na szczycie?"
 
-#MSG_AUTO_DEPLETE c=17 r=1
+#MSG_AUTO_DEPLETE c=13
 "SpoolJoin"
 "\x00"
 
-#MSG_AUTO_HOME
+#MSG_AUTO_HOME c=18
 "Auto home"
 "Auto zerowanie"
 
@@ -94,36 +86,36 @@
 "Autoloading filament is active, just press the knob and insert filament..."
 "Autoladowanie filamentu wlaczone, nacisnij pokretlo i wsun filament..."
 
-#MSG_SELFTEST_AXIS_LENGTH
+#MSG_SELFTEST_AXIS_LENGTH c=20
 "Axis length"
 "Dlugosc osi"
 
-#MSG_SELFTEST_AXIS
+#MSG_SELFTEST_AXIS c=16
 "Axis"
 "Os"
 
-#MSG_SELFTEST_BEDHEATER
+#MSG_SELFTEST_BEDHEATER c=20
 "Bed / Heater"
 "Stol / Grzanie"
 
-#MSG_BED_DONE
+#MSG_BED_DONE c=20
 "Bed done"
 "Stol OK"
 
-#MSG_BED_HEATING
+#MSG_BED_HEATING c=20
 "Bed Heating"
 "Grzanie stolu.."
 
-#MSG_BED_CORRECTION_MENU
+#MSG_BED_CORRECTION_MENU c=18
 "Bed level correct"
 "Korekta stolu"
 
-#MSG_BELTTEST c=17
+#MSG_BELTTEST c=18
 "Belt test        "
 "Test paskow"
 
-#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=5
-"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
+#MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=6
+"Bed leveling failed. Sensor didn't trigger. Debris on nozzle? Waiting for reset."
 "Kalibracja nieudana. Sensor nie aktywowal sie. Zanieczysz. dysza? Czekam na reset."
 
 #MSG_BRIGHT c=6
@@ -134,7 +126,7 @@
 "Brightness"
 "Jasnosc"
 
-#MSG_BED
+#MSG_BED c=13
 "Bed"
 "Stol"
 
@@ -144,24 +136,28 @@
 
 #MSG_RECOVER_PRINT c=20 r=2
 "Blackout occurred. Recover print?"
-"Wykryto zanik napiecia. Kontynowac?"
+"Wykryto zanik napiecia.Kontynowac?"
 
-#
+#MSG_CALIBRATING_HOME c=20
 "Calibrating home"
 "Zerowanie osi"
 
-#MSG_CALIBRATE_BED
+#MSG_CALIBRATE_BED c=18
 "Calibrate XYZ"
 "Kalibracja XYZ"
 
-#MSG_HOMEYZ
+#MSG_HOMEYZ c=18
 "Calibrate Z"
 "Kalibruj Z"
 
-#MSG_CALIBRATE_PINDA c=17 r=1
+#MSG_CALIBRATE_PINDA c=17
 "Calibrate"
 "Kalibruj"
 
+#MSG_CANCEL2 c=10
+">Cancel"
+">Anuluj"
+
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Kalibracja XYZ. Przekrec pokretlo, aby przesunac os Z do gornych ogranicznikow. Nacisnij, by potwierdzic."
@@ -174,51 +170,47 @@
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
 "Kalibracja XYZ. Przekrec pokretlo, aby przesunac os Z do gornych ogranicznikow. Nacisnij, by potwierdzic."
 
-#MSG_HOMEYZ_DONE
+#MSG_HOMEYZ_DONE c=20
 "Calibration done"
 "Kalibracja OK"
 
-#MSG_MENU_CALIBRATION
+#MSG_MENU_CALIBRATION c=18
 "Calibration"
 "Kalibracja"
 
-#
-"Cancel"
-"Anuluj"
-
-#MSG_SD_REMOVED
+#MSG_SD_REMOVED c=20
 "Card removed"
 "Karta wyjeta"
 
-#
+#MSG_CHECKING_FILE c=17
 "Checking file"
 "\x00"
 
-#MSG_NOT_COLOR
+#MSG_NOT_COLOR c=19
 "Color not correct"
 "Kolor zanieczysz."
 
-#MSG_COOLDOWN
+#MSG_COOLDOWN c=18
 "Cooldown"
 "Chlodzenie"
 
-#
+#MSG_COPY_SEL_LANG c=20 r=3
 "Copy selected language?"
 "Skopiowac wybrany jezyk?"
 
-#MSG_CRASHDETECT_ON
+#MSG_CRASHDETECT c=13
 "Crash det."
 "Wykr.zderzen"
 
-#
+#MSG_CHOOSE_FIL_1ST_LAYERCAL c=20 r=7
 "Choose a filament for the First Layer Calibration and select it in the on-screen menu."
 "Wybierz filament do Kalibracji Pierwszej Warstwy i potwierdz w menu ekranowym."
 
-#MSG_CRASH_DETECTED c=20 r=1
+#MSG_CRASH_DETECTED c=20
 "Crash detected."
 "Zderzenie wykryte"
 
-#
+#MSG_CRASH_RESUME c=20 r=3
 "Crash detected. Resume print?"
 "Wykryto zderzenie. Wznowic druk?"
 
@@ -226,11 +218,11 @@
 "Crash"
 "Zderzen"
 
-#MSG_CURRENT c=19 r=1
+#MSG_CURRENT c=19
 "Current"
 "Aktualne"
 
-#MSG_DATE c=17 r=1
+#MSG_DATE c=17
 "Date:"
 "Data:"
 
@@ -238,7 +230,7 @@
 "Community made"
 "\x00"
 
-#MSG_DISABLE_STEPPERS
+#MSG_DISABLE_STEPPERS c=18
 "Disable steppers"
 "Wylacz silniki"
 
@@ -262,7 +254,7 @@
 "Eject filament"
 "Wysun filament"
 
-#MSG_EJECTING_FILAMENT c=20 r=1
+#MSG_EJECTING_FILAMENT c=20
 "Ejecting filament"
 "Wysuwanie filamentu"
 
@@ -270,11 +262,11 @@
 "Endstop not hit"
 "Krancowka nie aktyw."
 
-#MSG_SELFTEST_ENDSTOP
+#MSG_SELFTEST_ENDSTOP c=16
 "Endstop"
 "Krancowka"
 
-#MSG_SELFTEST_ENDSTOPS
+#MSG_SELFTEST_ENDSTOPS c=20
 "Endstops"
 "Krancowki"
 
@@ -290,7 +282,7 @@
 "Cutter"
 "Nozyk"
 
-# c=18
+#MSG_MMU_CUTTING_FIL c=18
 "Cutting filament"
 "Obcinanie fil."
 
@@ -302,7 +294,7 @@
 "Dim"
 "Sciemn"
 
-#MSG_ERROR
+#MSG_ERROR c=10
 "ERROR:"
 "BLAD:"
 
@@ -318,7 +310,7 @@
 "Extruder"
 "Ekstruder"
 
-#
+#MSG_MMU_FAIL_STATS c=18
 "Fail stats MMU"
 "Bledy MMU"
 
@@ -326,7 +318,7 @@
 "F. autoload"
 "Autolad. fil."
 
-#
+#MSG_FAIL_STATS c=18
 "Fail stats"
 "Statystyki bledow"
 
@@ -342,7 +334,7 @@
 "Fans check"
 "Sprawd.went."
 
-#MSG_FSENSOR
+#MSG_FSENSOR c=12
 "Fil. sensor"
 "Czuj. filam."
 
@@ -366,7 +358,7 @@
 "Filament used"
 "Uzyty filament"
 
-#MSG_PRINT_TIME c=19 r=1
+#MSG_PRINT_TIME c=19
 "Print time"
 "Czas druku"
 
@@ -390,15 +382,15 @@
 "First, I will run the selftest to check most common assembly problems."
 "Najpierw wlacze selftest w celu sprawdzenia najczestszych problemow podczas montazu."
 
-#
+#MSG_MMU_FIX_ISSUE c=20 r=4
 "Fix the issue and then press button on MMU unit."
 "Rozwiaz problem i wcisnij przycisk na MMU."
 
-#MSG_FLOW
+#MSG_FLOW c=15
 "Flow"
 "Przeplyw"
 
-#MSG_PRUSA3D_FORUM
+#MSG_PRUSA3D_FORUM c=18
 "forum.prusa3d.com"
 "\x00"
 
@@ -406,19 +398,19 @@
 "Front print fan?"
 "Przedni went. druku?"
 
-#MSG_BED_CORRECTION_FRONT c=14 r=1
+#MSG_BED_CORRECTION_FRONT c=14
 "Front side[um]"
 "Przod [um]"
 
-#MSG_SELFTEST_FANS
+#MSG_SELFTEST_FANS c=20
 "Front/left fans"
 "Przedni/lewy wentylator"
 
-#MSG_SELFTEST_HEATERTHERMISTOR
+#MSG_SELFTEST_HEATERTHERMISTOR c=20
 "Heater/Thermistor"
 "Grzalka/Termistor"
 
-#MSG_BED_HEATING_SAFETY_DISABLED
+#MSG_BED_HEATING_SAFETY_DISABLED c=20 r=4
 "Heating disabled by safety timer."
 "Grzanie wylaczone przez wyl. czasowy"
 
@@ -426,7 +418,7 @@
 "Heating done."
 "Grzanie zakonczone"
 
-#MSG_HEATING
+#MSG_HEATING c=20
 "Heating"
 "Grzanie..."
 
@@ -434,15 +426,15 @@
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
 "Czesc, jestem Twoja drukarka Original Prusa i3. Czy potrzebujesz pomocy z ustawieniem?"
 
-#MSG_PRUSA3D_HOWTO
+#MSG_PRUSA3D_HOWTO c=18
 "howto.prusa3d.com"
 "\x00"
 
-#MSG_FILAMENTCHANGE
+#MSG_FILAMENTCHANGE c=18
 "Change filament"
 "Wymiana filamentu"
 
-#MSG_CHANGE_SUCCESS
+#MSG_CHANGE_SUCCESS c=20
 "Change success!"
 "Wymiana ok!"
 
@@ -478,15 +470,15 @@
 "Checking Z axis"
 "Kontrola osi Z"
 
-#MSG_CHOOSE_EXTRUDER c=20 r=1
+#MSG_CHOOSE_EXTRUDER c=20
 "Choose extruder:"
 "Wybierz ekstruder:"
 
-#MSG_CHOOSE_FILAMENT c=20 r=1
+#MSG_CHOOSE_FILAMENT c=20
 "Choose filament:"
 "Wybierz filament:"
 
-#MSG_FILAMENT c=17 r=1
+#MSG_FILAMENT c=17
 "Filament"
 "\x00"
 
@@ -498,7 +490,7 @@
 "I will run z calibration now."
 "Przeprowadze kalibracje Z."
 
-#MSG_WATCH
+#MSG_WATCH c=18
 "Info screen"
 "Ekran informacyjny"
 
@@ -522,7 +514,7 @@
 "Hi, I am your Original Prusa i3 printer. I will guide you through a short setup process, in which the Z-axis will be calibrated. Then, you will be ready to print."
 "Czesc, jestem Twoja drukarka Original Prusa i3. Przeprowadze Cie przez krotka kalibracje osi Z, po ktorej mozesz rozpoczac drukowanie."
 
-#
+#MSG_ADDITIONAL_SHEETS c=20 r=9
 "If you have additional steel sheets, calibrate their presets in Settings - HW Setup - Steel sheets."
 "Jesli masz dodatkowe plyty stalowe, to skalibruj ich ustawienia w menu Ustawienia - Ustawienia HW - Plyty stalowe."
 
@@ -534,23 +526,23 @@
 "Left hotend fan?"
 "Lewy went hotendu?"
 
-#
+#MSG_LEFT c=10
 "Left"
 "Lewa"
 
-#MSG_BED_CORRECTION_LEFT c=14 r=1
+#MSG_BED_CORRECTION_LEFT c=14
 "Left side [um]"
 "Lewo [um]"
 
-#
+#MSG_LIN_CORRECTION c=18
 "Lin. correction"
 "Korekcja liniowa"
 
-#MSG_BABYSTEP_Z
+#MSG_BABYSTEP_Z c=18
 "Live adjust Z"
 "Ustaw. Live Z"
 
-# c=20 r=6
+#MSG_INSERT_FIL c=20 r=6
 "Insert the filament (do not load it) into the extruder and then press the knob."
 "Wsun filament (nie uzywaj funkcji ladowania) do ekstrudera i nacisnij pokretlo."
 
@@ -558,7 +550,7 @@
 "Load filament"
 "Ladowanie fil."
 
-#MSG_LOADING_COLOR
+#MSG_LOADING_COLOR c=20
 "Loading color"
 "Czyszcz. koloru"
 
@@ -566,11 +558,11 @@
 "Loading filament"
 "Laduje filament"
 
-#MSG_LOOSE_PULLEY c=20 r=1
+#MSG_LOOSE_PULLEY c=20
 "Loose pulley"
 "Luzne kolo pasowe"
 
-#
+#MSG_LOAD_TO_NOZZLE c=18
 "Load to nozzle"
 "Zaladuj do dyszy"
 
@@ -578,7 +570,7 @@
 "M117 First layer cal."
 "M117 Kal. 1. warstwy"
 
-#MSG_MAIN
+#MSG_MAIN c=18
 "Main"
 "Menu glowne"
 
@@ -590,7 +582,7 @@
 "Level Dimmed"
 "Poziom ciem."
 
-#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60
+#MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=20 r=3
 "Measuring reference height of calibration point"
 "Okreslam wysokosc odniesienia punktu kalibracyjnego"
 
@@ -606,7 +598,7 @@
 "MMU OK. Resuming temperature..."
 "MMU OK. Wznawiam nagrzewanie..."
 
-#
+#MSG_MEASURED_SKEW c=13
 "Measured skew"
 "Zmierzony skos"
 
@@ -614,7 +606,7 @@
 "MMU fails"
 "Bledy MMU"
 
-#
+#MSG_MMU_LOAD_FAILED c=20
 "MMU load failed     "
 "Blad ladowania MMU"
 
@@ -626,87 +618,87 @@
 "MMU OK. Resuming..."
 "MMU OK. Wznawianie..."
 
-#MSG_MODE
+#MSG_MODE c=6
 "Mode"
 "Tryb"
 
-# c=20 r=3
+#MSG_MK3_FIRMWARE_ON_MK3S c=20 r=4
 "MK3 firmware detected on MK3S printer"
 "Wykryto firmware MK3 w drukarce MK3S"
 
-#MSG_NORMAL
+#MSG_NORMAL c=7
 "Normal"
 "Normalni"
 
-#MSG_SILENT
+#MSG_SILENT c=7
 "Silent"
 "Cichy"
 
-#
+#MSG_MMU_USER_ATTENTION c=20 r=3
 "MMU needs user attention."
 "MMU wymaga uwagi uzytkownika."
 
-#
+#MSG_MMU_POWER_FAILS c=15
 "MMU power fails"
 "Zaniki zasil. MMU"
 
-#MSG_STEALTH
+#MSG_STEALTH c=7
 "Stealth"
 "Cichy"
 
-#MSG_AUTO_POWER
+#MSG_AUTO_POWER c=10
 "Auto power"
 "Automatycz"
 
-#MSG_HIGH_POWER
+#MSG_HIGH_POWER c=10
 "High power"
 "Wysoka wyd."
 
-#
+#MSG_MMU_CONNECTED c=18
 "MMU2 connected"
 "MMU podlaczone"
 
-#MSG_SELFTEST_MOTOR
+#MSG_SELFTEST_MOTOR c=18
 "Motor"
 "Silnik"
 
-#MSG_MOVE_AXIS
+#MSG_MOVE_AXIS c=18
 "Move axis"
 "Ruch osi"
 
-#MSG_MOVE_X
+#MSG_MOVE_X c=18
 "Move X"
 "Ruch osi X"
 
-#MSG_MOVE_Y
+#MSG_MOVE_Y c=18
 "Move Y"
 "Ruch osi Y"
 
-#MSG_MOVE_Z
+#MSG_MOVE_Z c=18
 "Move Z"
 "Ruch osi Z"
 
-#MSG_NO_MOVE
+#MSG_NO_MOVE c=20
 "No move."
 "Brak ruchu."
 
-#MSG_NO_CARD
+#MSG_NO_CARD c=18
 "No SD card"
 "Brak karty SD"
 
-#MSG_NA
+#MSG_NA c=3
 "N/A"
 "N/D"
 
-#MSG_NO
+#MSG_NO c=4
 "No"
 "Nie"
 
-#MSG_SELFTEST_NOTCONNECTED
+#MSG_SELFTEST_NOTCONNECTED c=20
 "Not connected"
 "Nie podlaczono "
 
-#
+#MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2
 "New firmware version available:"
 "Dostepna nowa wersja firmware:"
 
@@ -722,19 +714,19 @@
 "Now I will preheat nozzle for PLA."
 "Nagrzewam dysze dla PLA."
 
-#MSG_NOZZLE
+#MSG_NOZZLE c=12
 "Nozzle"
 "Dysza"
 
-#MSG_DEFAULT_SETTINGS_LOADED c=20 r=5
+#MSG_DEFAULT_SETTINGS_LOADED c=20 r=6
 "Old settings found. Default PID, Esteps etc. will be set."
 "Znaleziono stare ustawienia. Zostana przywrocone domyslne ust. PID, Esteps, itp."
 
-#
+#MSG_REMOVE_TEST_PRINT c=20 r=4
 "Now remove the test print from steel sheet."
 "Teraz zdejmij wydruk testowy ze stolu."
 
-#
+#MSG_NOZZLE_FAN c=10
 "Nozzle FAN"
 "WentHotend"
 
@@ -742,19 +734,19 @@
 "Pause print"
 "Wstrzymanie wydruku"
 
-#MSG_PID_RUNNING c=20 r=1
+#MSG_PID_RUNNING c=20
 "PID cal.           "
 "Kalibracja PID"
 
-#MSG_PID_FINISHED c=20 r=1
+#MSG_PID_FINISHED c=20
 "PID cal. finished"
 "Kal. PID zakonczona"
 
-#MSG_PID_EXTRUDER c=17 r=1
+#MSG_PID_EXTRUDER c=17
 "PID calibration"
 "Kalibracja PID"
 
-#MSG_PINDA_PREHEAT c=20 r=1
+#MSG_PINDA_PREHEAT c=20
 "PINDA Heating"
 "Grzanie sondy PINDA"
 
@@ -770,7 +762,7 @@
 "Please clean the nozzle for calibration. Click when done."
 "Dla prawidlowej kalibracji nalezy oczyscic dysze. Potwierdz guzikiem."
 
-#MSG_SELFTEST_PLEASECHECK
+#MSG_SELFTEST_PLEASECHECK c=20
 "Please check :"
 "Sprawdz :"
 
@@ -778,11 +770,11 @@
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
 "Przeczytaj nasz Podrecznik druku 3D aby naprawic problem. Potem wznow Asystenta przez restart drukarki."
 
-#MSG_CHECK_IDLER c=20 r=4
+#MSG_CHECK_IDLER c=20 r=5
 "Please open idler and remove filament manually."
 "Prosze odciagnac dzwignie dociskowa ekstrudera i recznie usunac filament."
 
-#MSG_PLACE_STEEL_SHEET c=20 r=4
+#MSG_PLACE_STEEL_SHEET c=20 r=5
 "Please place steel sheet on heatbed."
 "Prosze umiescic plyte stalowa na stole podgrzewanym."
 
@@ -814,7 +806,7 @@
 "Please wait"
 "Prosze czekac"
 
-#
+#MSG_REMOVE_SHIPPING_HELPERS c=20 r=3
 "Please remove shipping helpers first."
 "Najpierw usun zabezpieczenia transportowe"
 
@@ -822,7 +814,7 @@
 "Preheat the nozzle!"
 "Nagrzej dysze!"
 
-#MSG_PREHEAT
+#MSG_PREHEAT c=18
 "Preheat"
 "Grzanie"
 
@@ -830,11 +822,11 @@
 "Preheating nozzle. Please wait."
 "Nagrzewanie dyszy. Prosze czekac."
 
-# c=14
+#MSG_PINDA c=5
 "PINDA"
 "\x00"
 
-#
+#MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20
 "Please upgrade."
 "Prosze zaktualizowac."
 
@@ -854,11 +846,11 @@
 "Print aborted"
 "Druk przerwany"
 
-# c=20
+#MSG_PREHEATING_TO_LOAD c=20
 "Preheating to load"
 "Nagrzew.do ladowania"
 
-# c=20
+#MSG_PREHEATING_TO_UNLOAD c=20
 "Preheating to unload"
 "Nagrzew. do rozlad."
 
@@ -866,19 +858,19 @@
 "Print fan:"
 "WentWydruk:"
 
-#MSG_CARD_MENU
+#MSG_CARD_MENU c=18
 "Print from SD"
 "Druk z karty SD"
 
-# c=20
+#MSG_PRESS_KNOB c=20
 "Press the knob"
 "Wcisnij pokretlo"
 
-#MSG_PRINT_PAUSED c=20 r=1
+#MSG_PRINT_PAUSED c=20
 "Print paused"
 "Druk wstrzymany"
 
-#
+#MSG_RESUME_NOZZLE_TEMP c=20 r=4
 "Press the knob to resume nozzle temperature."
 "Wcisnij pokretlo aby wznowic podgrzewanie dyszy."
 
@@ -886,35 +878,35 @@
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
 "Drukarka nie byla jeszcze kalibrowana. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Konfiguracja przed drukowaniem."
 
-#
+#MSG_PRINT_FAN c=10
 "Print FAN"
 "WentWydruk"
 
-#
+#MSG_WIZARD_LOAD_FILAMENT c=20 r=6
 "Please insert filament into the extruder, then press the knob to load it."
 "Wsun filament do ekstrudera i nacisnij pokretlo, aby go zaladowac."
 
-#
+#MSG_MMU_INSERT_FILAMENT_FIRST_TUBE c=20 r=6
 "Please insert filament into the first tube of the MMU, then press the knob to load it."
 "Wsun filament do pierwszego kanalu w MMU2 i nacisnij pokretlo, aby go zaladowac."
 
-#
+#MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load filament first."
 "Najpierw zaladuj filament."
 
-#MSG_PRUSA3D
+#MSG_PRUSA3D c=18
 "prusa3d.com"
 "\x00"
 
-#MSG_BED_CORRECTION_REAR c=14 r=1
+#MSG_BED_CORRECTION_REAR c=14
 "Rear side [um]"
 "Tyl [um]"
 
-# c=20 r=4
+#MSG_UNLOAD_FILAMENT_REPEAT c=20 r=4
 "Please unload the filament first, then repeat this action."
 "Najpierw rozladuj filament, nastepnie powtorz czynnosc."
 
-# c=20 r=4
+#MSG_CHECK_IR_CONNECTION c=20 r=4
 "Please check the IR sensor connection, unload filament if present."
 "Sprawdz polaczenie czujnika IR, rozladuj filament, jesli zaladowany."
 
@@ -930,7 +922,7 @@
 "Prusa i3 MK3S OK."
 "\x00"
 
-#MSG_CALIBRATE_BED_RESET
+#MSG_CALIBRATE_BED_RESET c=18
 "Reset XYZ calibr."
 "Reset kalibr. XYZ"
 
@@ -946,11 +938,11 @@
 "Resuming print"
 "Wznawianie druku"
 
-#MSG_BED_CORRECTION_RIGHT c=14 r=1
+#MSG_BED_CORRECTION_RIGHT c=14
 "Right side[um]"
 "Prawo [um]"
 
-#MSG_RPI_PORT
+#MSG_RPI_PORT c=13
 "RPi port"
 "Port RPi"
 
@@ -958,27 +950,27 @@
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
 "Wlaczenie Asystenta usunie obecne dane kalibracyjne i zacznie od poczatku. Kontynuowac?"
 
-#MSG_SD_CARD
+#MSG_SD_CARD c=8
 "SD card"
 "Karta SD"
 
-#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY
+#MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY c=8
 "FlashAir"
 "\x00"
 
-#
+#MSG_RIGHT c=10
 "Right"
 "Prawa"
 
-#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60
+#MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=20 r=2
 "Searching bed calibration point"
 "Szukam punktu kalibracyjnego na stole"
 
-#MSG_LANGUAGE_SELECT
+#MSG_LANGUAGE_SELECT c=18
 "Select language"
 "Wybor jezyka"
 
-#MSG_SELFTEST_OK
+#MSG_SELFTEST_OK c=20
 "Self test OK"
 "Selftest OK"
 
@@ -986,11 +978,11 @@
 "Self test start  "
 "Selftest startuje"
 
-#MSG_SELFTEST
+#MSG_SELFTEST c=18
 "Selftest         "
 "Selftest "
 
-#MSG_SELFTEST_ERROR
+#MSG_SELFTEST_ERROR c=20
 "Selftest error !"
 "Blad selftest!"
 
@@ -1002,11 +994,11 @@
 "Selftest will be run to calibrate accurate sensorless rehoming."
 "Zostanie uruchomiony Selftest aby dokladnie skalibrowac punkt bazowy bez krancowek"
 
-#
+#MSG_SEL_PREHEAT_TEMP c=20 r=6
 "Select nozzle preheat temperature which matches your material."
 "Wybierz temperature grzania dyszy odpowiednia dla materialu."
 
-#MSG_SET_TEMPERATURE c=19 r=1
+#MSG_SET_TEMPERATURE c=19
 "Set temperature:"
 "Ustaw temperature:"
 
@@ -1022,7 +1014,7 @@
 "Prusa i3 MK3 OK."
 "\x00"
 
-#MSG_SETTINGS
+#MSG_SETTINGS c=18
 "Settings"
 "Ustawienia"
 
@@ -1030,63 +1022,59 @@
 "Show end stops"
 "Pokaz krancowki"
 
-#
-"Sensor state"
-"Stan czujnikow"
-
 #MSG_FILE_CNT c=20 r=6
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
 "Niektore pliki nie zostana posortowane. Max. liczba plikow w 1 folderze = 100."
 
-#MSG_SORT
+#MSG_SORT c=7
 "Sort"
 "Sortowanie"
 
-#MSG_NONE
+#MSG_NONE c=8
 "None"
 "Brak"
 
-#MSG_SORT_TIME
+#MSG_SORT_TIME c=8
 "Time"
 "Czas"
 
-#
+#MSG_SEVERE_SKEW c=13
 "Severe skew:"
 "Znaczny skos:"
 
-#MSG_SORT_ALPHA
+#MSG_SORT_ALPHA c=8
 "Alphabet"
 "Alfab"
 
-#MSG_SORTING c=20 r=1
+#MSG_SORTING c=20
 "Sorting files"
 "Sortowanie plikow"
 
-#MSG_SOUND_LOUD
+#MSG_SOUND_LOUD c=7
 "Loud"
 "Glosny"
 
-#
+#MSG_SLIGHT_SKEW c=13
 "Slight skew:"
 "Lekki skos:"
 
-#MSG_SOUND
+#MSG_SOUND c=7
 "Sound"
 "Dzwiek"
 
-# c=7
+#MSG_RUNOUTS c=7
 "Runouts"
 "Konce f"
 
-#
+#MSG_Z-LEVELING_ENFORCED c=20 r=4
 "Some problem encountered, Z-leveling enforced ..."
 "Wykryto problem, wymuszono poziomowanie osi Z."
 
-#MSG_SOUND_ONCE
+#MSG_SOUND_ONCE c=7
 "Once"
 "1-raz"
 
-#MSG_SPEED
+#MSG_SPEED c=15
 "Speed"
 "Predkosc"
 
@@ -1098,27 +1086,27 @@
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
 "Potrzebna jest stabilna temperatura otoczenia 21-26C i stabilne podloze."
 
-#MSG_STATISTICS
+#MSG_STATISTICS c=18
 "Statistics  "
 "Statystyki"
 
-#MSG_STOP_PRINT
+#MSG_STOP_PRINT c=18
 "Stop print"
 "Przerwanie druku"
 
-#MSG_STOPPED
+#MSG_STOPPED c=20
 "STOPPED. "
 "ZATRZYMANO."
 
-#MSG_SUPPORT
+#MSG_SUPPORT c=18
 "Support"
 "Wsparcie"
 
-#MSG_SELFTEST_SWAPPED
+#MSG_SELFTEST_SWAPPED c=16
 "Swapped"
 "Zamieniono"
 
-#
+#MSG_SELECT_FILAMENT c=20
 "Select filament:"
 "Wybierz filament:"
 
@@ -1126,11 +1114,11 @@
 "Temp. cal."
 "Kalib. temp."
 
-#
+#MSG_SELECT_TEMP_MATCHES_MATERIAL c=20 r=4
 "Select temperature which matches your material."
 "Wybierz temperature, ktora odpowiada Twojemu filamentowi."
 
-#MSG_CALIBRATION_PINDA_MENU c=17 r=1
+#MSG_CALIBRATION_PINDA_MENU c=17
 "Temp. calibration"
 "Kalibracja temp."
 
@@ -1142,15 +1130,15 @@
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
 "Kalibracja temperaturowa zakonczona i wlaczona. Moze byc wylaczona z menu Ustawienia -> Kalibracja temp."
 
-# c=20 r=3
+#MSG_FS_VERIFIED c=20 r=3
 "Sensor verified, remove the filament now."
 "Czujnik sprawdzony, wyciagnij filament."
 
-#MSG_TEMPERATURE
+#MSG_TEMPERATURE c=18
 "Temperature"
 "Temperatura"
 
-#MSG_MENU_TEMPERATURES c=15 r=1
+#MSG_MENU_TEMPERATURES c=15
 "Temperatures"
 "Temperatury"
 
@@ -1158,39 +1146,35 @@
 "There is still a need to make Z calibration. Please follow the manual, chapter First steps, section Calibration flow."
 "Musimy przeprowadzic kalibracje Z. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Kalibracja."
 
-#
+#MSG_TOTAL_FILAMENT c=19
 "Total filament"
 "Zuzycie filamentu"
 
-#
+#MSG_TOTAL_PRINT_TIME c=19
 "Total print time"
 "Laczny czas druku"
 
-#MSG_TUNE
+#MSG_TUNE c=18
 "Tune"
 "Strojenie"
 
-#
-"Unload"
-"Rozladuj"
-
 #MSG_TOTAL_FAILURES c=20
 "Total failures"
 "Suma bledow"
 
-# c=20
+#MSG_TO_LOAD_FIL c=20
 "to load filament"
 "aby zaladow. fil."
 
-# c=20
+#MSG_TO_UNLOAD_FIL c=20
 "to unload filament"
 "aby rozlad. filament"
 
-#MSG_UNLOAD_FILAMENT c=17
+#MSG_UNLOAD_FILAMENT c=16
 "Unload filament"
 "Rozladowanie fil."
 
-#MSG_UNLOADING_FILAMENT c=20 r=1
+#MSG_UNLOADING_FILAMENT c=20
 "Unloading filament"
 "Rozladowuje filament"
 
@@ -1198,23 +1182,23 @@
 "Total"
 "Suma"
 
-#MSG_USED c=19 r=1
+#MSG_USED c=19
 "Used during print"
 "Uzyte podczas druku"
 
-#MSG_MENU_VOLTAGES c=15 r=1
+#MSG_MENU_VOLTAGES c=15
 "Voltages"
 "Napiecia"
 
-#
+#MSG_UNKNOWN c=13
 "unknown"
 "nieznane"
 
-#MSG_USERWAIT
+#MSG_USERWAIT c=20
 "Wait for user..."
 "Czekam na uzytkownika..."
 
-#MSG_WAITING_TEMP c=20 r=3
+#MSG_WAITING_TEMP c=20 r=4
 "Waiting for nozzle and bed cooling"
 "Oczekiwanie na wychlodzenie dyszy i stolu"
 
@@ -1222,10 +1206,6 @@
 "Waiting for PINDA probe cooling"
 "Czekam az spadnie temp. sondy PINDA"
 
-#
-"Use unload to remove filament 1 if it protrudes outside of the rear MMU tube. Use eject if it is hidden in tube."
-"Uzyj opcji Rozladuj jesli filament wystaje z tylnej rurki MMU. Uzyj opcji Wysun jesli wciaz jest w srodku."
-
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
 "Ostrzezenie: typ drukarki i plyta glowna ulegly zmianie."
@@ -1242,11 +1222,11 @@
 "Was filament unload successful?"
 "Rozladowanie fil. ok?"
 
-#MSG_SELFTEST_WIRINGERROR
+#MSG_SELFTEST_WIRINGERROR c=18
 "Wiring error"
 "Blad polaczenia"
 
-#MSG_WIZARD c=17 r=1
+#MSG_WIZARD c=17
 "Wizard"
 "Asystent"
 
@@ -1258,7 +1238,7 @@
 "XYZ calibration failed. Please consult the manual."
 "Kalibracja XYZ nieudana. Sprawdz przyczyny i rozwiazania w instrukcji."
 
-#MSG_YES
+#MSG_YES c=3
 "Yes"
 "Tak"
 
@@ -1298,27 +1278,27 @@
 "Load all"
 "Zalad. wszystkie"
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=6
 "XYZ calibration failed. Bed calibration point was not found."
 "Kalibracja XYZ nieudana. Nie znaleziono punktow kalibracyjnych."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=6
 "XYZ calibration failed. Front calibration points not reachable."
 "Kalibr. XYZ nieudana. Przednie punkty kalibr. nieosiagalne. Nalezy poprawic montaz drukarki."
 
-#
+#MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=6
 "XYZ calibration failed. Right front calibration point not reachable."
 "Kalibr. XYZ nieudana. Prawy przedni punkt nieosiagalny. Nalezy poprawic montaz drukarki."
 
-#
+#MSG_Y_DIST_FROM_MIN c=20
 "Y distance from min"
 "Dystans od 0 w osi Y"
 
-#
+#MSG_WIZARD_V2_CAL_2 c=20 r=12
 "The printer will start printing a zig-zag line. Rotate the knob until you reach the optimal height. Check the pictures in the handbook (Calibration chapter)."
 "Drukarka zacznie drukowanie linii w ksztalcie zygzaka. Ustaw optymalna wysokosc obracajac pokretlo. Porownaj z ilustracjami w Podreczniku (rozdzial Kalibracja)."
 
-# c=20 r=5
+#MSG_FIL_FAILED c=20 r=5
 "Verification failed, remove the filament and try again."
 "Niepowodzenie sprawdzenia, wyciagnij filament i sprobuj ponownie."
 
@@ -1326,39 +1306,39 @@
 "Y-correct:"
 "Korekcja-Y:"
 
-#MSG_OFF
+#MSG_OFF c=3
 "Off"
 "Wyl"
 
-#MSG_ON
+#MSG_ON c=3
 "On"
 "Wl"
 
-#
+#MSG_BACK c=18
 "Back"
 "Wstecz"
 
-#
+#MSG_CHECKS c=18
 "Checks"
 "Testy"
 
-#
+#MSG_FALSE_TRIGGERING c=20
 "False triggering"
 "Falszywy alarm"
 
-#
-"FINDA:"
+#MSG_FINDA c=5
+"FINDA"
 "\x00"
 
-#MSG_FIRMWARE
+#MSG_FIRMWARE c=8
 "Firmware"
 "\x00"
 
-#MSG_STRICT
+#MSG_STRICT c=8
 "Strict"
 "Restr."
 
-#MSG_WARN
+#MSG_WARN c=8
 "Warn"
 "Ostrzez"
 
@@ -1366,43 +1346,39 @@
 "HW Setup"
 "Ustawienia HW"
 
-#
-"IR:"
-"\x00"
-
-#MSG_MAGNETS_COMP
+#MSG_MAGNETS_COMP c=13
 "Magnets comp."
 "Kor. magnesow"
 
-#MSG_MESH
+#MSG_MESH c=12
 "Mesh"
 "Siatka"
 
-#
+#MSG_MK3S_FIRMWARE_ON_MK3 c=20 r=4
 "MK3S firmware detected on MK3 printer"
 "Wykryto firmware MK3S w drukarce MK3"
 
-#MSG_MMU_MODE
+#MSG_MMU_MODE c=8
 "MMU Mode"
 "Tryb MMU"
 
-#
+#MSG_MODE_CHANGE_IN_PROGRESS c=20 r=3
 "Mode change in progress ..."
 "Trwa zmiana trybu..."
 
-#MSG_MODEL
+#MSG_MODEL c=8
 "Model"
 "\x00"
 
-#MSG_NOZZLE_DIAMETER
+#MSG_NOZZLE_DIAMETER c=10
 "Nozzle d."
 "Sr. dyszy"
 
-#
+#MSG_GCODE_DIFF_CONTINUE c=20 r=4
 "G-code sliced for a different level. Continue?"
 "G-code pociety dla innej wersji. Kontynuowac?"
 
-#
+#MSG_GCODE_DIFF_CANCELLED c=20 r=7
 "G-code sliced for a different level. Please re-slice the model again. Print cancelled."
 "G-code pociety na innym poziomie. Potnij model ponownie. Druk anulowany."
 
@@ -1410,35 +1386,31 @@
 "G-code sliced for a different printer type. Continue?"
 "G-code pociety dla innej drukarki. Kontynuowac?"
 
-#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=7
+#MSG_GCODE_DIFF_PRINTER_CANCELLED c=20 r=8
 "G-code sliced for a different printer type. Please re-slice the model again. Print cancelled."
 "G-code pociety dla drukarki innego typu. Potnij model ponownie. Druk anulowany."
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CONTINUE c=20 r=5
 "G-code sliced for a newer firmware. Continue?"
 "G-code pociety dla nowszego firmware. Kontynuowac?"
 
-#
+#MSG_GCODE_NEWER_FIRMWARE_CANCELLED c=20 r=8
 "G-code sliced for a newer firmware. Please update the firmware. Print cancelled."
 "G-code pociety dla nowszego firmware. Zaktualizuj firmware. Druk anulowany."
 
-#
-"PINDA:"
-"\x00"
-
-# c=20
+#MSG_PREHEATING_TO_CUT c=20
 "Preheating to cut"
 "Nagrzew. obciecia"
 
-# c=20
+#MSG_PREHEATING_TO_EJECT c=20
 "Preheating to eject"
 "Nagrzew. wysuniecia"
 
-#
+#MSG_NOZZLE_DIFFERS_CONTINUE c=20 r=5
 "Printer nozzle diameter differs from the G-code. Continue?"
 "Srednica dyszy drukarki rozni sie od tej w G-code. Kontynuowac?"
 
-#
+#MSG_NOZZLE_DIFFERS_CANCELLED c=20 r=9
 "Printer nozzle diameter differs from the G-code. Please check the value in settings. Print cancelled."
 "Srednica dyszy rozni sie od tej w G-code. Sprawdz ustawienia. Druk anulowany."
 
@@ -1446,15 +1418,15 @@
 "%s level expected"
 "Oczekiwano wersji %s"
 
-#
+#MSG_RENAME c=18
 "Rename"
 "Zmien nazwe"
 
-#
+#MSG_SELECT c=18
 "Select"
 "Wybierz"
 
-#
+#MSG_INFO_SENSORS c=18
 "Sensor info"
 "Info o sensorach"
 
@@ -1462,7 +1434,7 @@
 "Sheet"
 "Plyta"
 
-#MSG_SOUND_BLIND
+#MSG_SOUND_BLIND c=7
 "Assist"
 "Asyst."
 
@@ -1474,7 +1446,10 @@
 "Z-correct:"
 "Korekcja-Z:"
 
-#MSG_Z_PROBE_NR
+#MSG_Z_PROBE_NR c=14
 "Z-probe nr."
 "Ilosc Pomiarow"
 
+#MSG_PRINTER_IP c=18
+"Printer IP Addr:"
+"\x00"