Browse Source

Merge pull request #837 from XPila/MK3-new_lang

Mk3 new lang
XPila 5 years ago
parent
commit
122d1348ce
50 changed files with 16 additions and 10180 deletions
  1. 6 5
      Firmware/ultralcd.cpp
  2. 10 10
      lang/lang_en_es.txt
  3. 0 130
      lang_backup/langtool.php
  4. 0 350
      lang_backup/langtool.pl
  5. 0 34
      lang_backup/language.h
  6. 0 2606
      lang_backup/language_all.cpp
  7. 0 849
      lang_backup/language_all.h
  8. 0 109
      lang_backup/language_common.h
  9. 0 417
      lang_backup/language_cz.h
  10. 0 349
      lang_backup/language_de.h
  11. 0 427
      lang_backup/language_en.h
  12. 0 321
      lang_backup/language_es.h
  13. 0 321
      lang_backup/language_it.h
  14. 0 334
      lang_backup/language_pl.h
  15. 0 20
      lang_upgrade/!upgrade.sh
  16. 0 11
      lang_upgrade/clean.sh
  17. 0 47
      lang_upgrade/find_msgs.sh
  18. 0 96
      lang_upgrade/fix_1.out
  19. 0 33
      lang_upgrade/fix_source_1.sh
  20. 0 13
      lang_upgrade/make_lang_en.sh
  21. 0 60
      lang_upgrade/make_lang_en_cz.sh
  22. 0 60
      lang_upgrade/make_lang_en_de.sh
  23. 0 60
      lang_upgrade/make_lang_en_es.sh
  24. 0 60
      lang_upgrade/make_lang_en_it.sh
  25. 0 60
      lang_upgrade/make_lang_en_pl.sh
  26. 0 7
      lang_upgrade/make_msgs.out
  27. 0 95
      lang_upgrade/make_msgs.sh
  28. 0 75
      lang_upgrade/make_source.sh
  29. 0 26
      lang_upgrade/msgs_common.txt
  30. 0 0
      lang_upgrade/msgs_common_unused.txt
  31. 0 13
      lang_upgrade/msgs_common_used_more.txt
  32. 0 13
      lang_upgrade/msgs_common_used_once.txt
  33. 0 365
      lang_upgrade/msgs_cz.txt
  34. 0 296
      lang_upgrade/msgs_de.txt
  35. 0 373
      lang_upgrade/msgs_en.txt
  36. 0 30
      lang_upgrade/msgs_en_unused.txt
  37. 0 96
      lang_upgrade/msgs_en_used_more.txt
  38. 0 247
      lang_upgrade/msgs_en_used_once.txt
  39. 0 289
      lang_upgrade/msgs_es.txt
  40. 0 294
      lang_upgrade/msgs_it.txt
  41. 0 295
      lang_upgrade/msgs_pl.txt
  42. 0 399
      lang_upgrade/msgs_usage.txt
  43. 0 33
      lang_upgrade/readme.txt
  44. 0 13
      lang_upgrade/replace_common.out
  45. 0 247
      lang_upgrade/replace_en.out
  46. 0 27
      lang_upgrade/src/config.h
  47. 0 63
      lang_upgrade/src/language.c
  48. 0 87
      lang_upgrade/src/language.h
  49. 0 9
      lang_upgrade/src/messages.c
  50. 0 6
      lang_upgrade/src/messages.h

+ 6 - 5
Firmware/ultralcd.cpp

@@ -4147,12 +4147,13 @@ static void lcd_settings_menu()
     }
     else MENU_ITEM(submenu, _T(MSG_CRASHDETECT_NA), lcd_crash_mode_info);
   }
+
 #ifdef TMC2130_LINEARITY_CORRECTION_XYZ
-  MENU_ITEM_EDIT(wfac, _i("X-correct"),  &tmc2130_wave_fac[X_AXIS],  TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX);////MSG_EXTRUDER_CORRECTION c=9 r=0
-  MENU_ITEM_EDIT(wfac, _i("Y-correct"),  &tmc2130_wave_fac[Y_AXIS],  TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX);////MSG_EXTRUDER_CORRECTION c=9 r=0
-  MENU_ITEM_EDIT(wfac, _i("Z-correct"),  &tmc2130_wave_fac[Z_AXIS],  TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX);////MSG_EXTRUDER_CORRECTION c=9 r=0
+//  MENU_ITEM_EDIT(wfac, _i("X-corr"),  &tmc2130_wave_fac[X_AXIS],  TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX);////MSG_EXTRUDER_CORRECTION c=9 r=0
+//  MENU_ITEM_EDIT(wfac, _i("Y-corr"),  &tmc2130_wave_fac[Y_AXIS],  TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX);////MSG_EXTRUDER_CORRECTION c=9 r=0
+//  MENU_ITEM_EDIT(wfac, _i("Z-corr"),  &tmc2130_wave_fac[Z_AXIS],  TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX);////MSG_EXTRUDER_CORRECTION c=9 r=0
 #endif //TMC2130_LINEARITY_CORRECTION_XYZ
-  MENU_ITEM_EDIT(wfac, _i("E-correct"),  &tmc2130_wave_fac[E_AXIS],  TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX);////MSG_EXTRUDER_CORRECTION c=9 r=0
+//  MENU_ITEM_EDIT(wfac, _i("E-corr"),  &tmc2130_wave_fac[E_AXIS],  TMC2130_WAVE_FAC1000_MIN-TMC2130_WAVE_FAC1000_STP, TMC2130_WAVE_FAC1000_MAX);////MSG_EXTRUDER_CORRECTION c=9 r=0
 #endif //TMC2130
 
   if (temp_cal_active == false) {
@@ -7137,7 +7138,7 @@ static void menu_action_sdfile(const char* filename, char* longFilename)
   for (c = &cmd[4]; *c; c++)
     *c = tolower(*c);
 
-  const char end[5] = ".gco";
+  const char end[5] = ".gco";
 
   //we are storing just first 8 characters of 8.3 filename assuming that extension is always ".gco"
   for (int i = 0; i < 8; i++) {

+ 10 - 10
lang/lang_en_es.txt

@@ -188,7 +188,7 @@
 
 #MSG_CRASHDETECT_ON c=0 r=0
 "Crash det.   [on]"
-"Det. choque [activo]"
+"Det. choque [act]"
 
 #MSG_CRASHDETECT_NA c=0 r=0
 "Crash det.  [N/A]"
@@ -224,7 +224,7 @@
 
 #MSG_EXTRUDER_CORRECTION c=9 r=0
 "E-correct"
-"E-correcion"
+"E-correct"
 
 #MSG_END_FILE_LIST c=0 r=0
 "End file list"
@@ -280,15 +280,15 @@
 
 #MSG_FSENS_AUTOLOAD_ON c=17 r=1
 "F. autoload  [on]"
-"Autocarga Fil. [activo]"
+"Autocarg f. [act]"
 
 #MSG_FSENS_AUTOLOAD_NA c=17 r=1
 "F. autoload [N/A]"
-"Autocarga Fil. [N/D]"
+"Autocarg f. [N/D]"
 
 #MSG_FSENS_AUTOLOAD_OFF c=17 r=1
 "F. autoload [off]"
-"Autocarga f. [inactiva]"
+"Autocarg f. [ina]"
 
 #MSG_FAN_SPEED c=14 r=0
 "Fan speed"
@@ -300,11 +300,11 @@
 
 #MSG_FANS_CHECK_ON c=17 r=1
 "Fans check   [on]"
-"Comprobación de ventiladores [activo]"
+"Com. ventil [act]"
 
 #MSG_FANS_CHECK_OFF c=17 r=1
 "Fans check  [off]"
-"Comprobación de ventiladores [inactiva]"
+"Com. ventil [ina]"
 
 #MSG_FSENSOR_ON c=0 r=0
 "Fil. sensor  [on]"
@@ -316,7 +316,7 @@
 
 #MSG_FSENSOR_OFF c=0 r=0
 "Fil. sensor [off]"
-"Sensor de Fil. [inactivo]"
+"Sensor Fil. [act]"
 
 #MSG_FILAMENT_CLEAN c=20 r=2
 "Filament extruding & with correct color?"
@@ -848,11 +848,11 @@
 
 #MSG_SECOND_SERIAL_ON c=17 r=1
 "RPi port     [on]"
-"Puerto RPi [activo]"
+"Puerto RPi  [act]"
 
 #MSG_SECOND_SERIAL_OFF c=17 r=1
 "RPi port    [off]"
-"Puerto RPi [inactivo]"
+"Puerto RPi  [ina]"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"

+ 0 - 130
lang_backup/langtool.php

@@ -1,130 +0,0 @@
-<?php 
-
-$langs = array("en","cz","it","es","pl");
-
-function parselang($a) {
-	$out=array();
-	foreach ($a as $line){
-		if (!strpos($line,"MSG")) continue;
-		//echo $line;
-		preg_match('/\#define\s*(\S*)\s*(.*)/is',$line,$a);
-		//print_r($a);die();
-		if (!$a[1]) continue;
-		$v = trim($a[2]);
-
-		//$v = str_replace('MACHINE_NAME "','"Prusa i3',$v);
-		$v = str_replace('" FIRMWARE_URL "','https://github.com/prusa3d/Prusa-i3-Plus/',$v);
-		$v = str_replace('" PROTOCOL_VERSION "','1.0',$v);
-		$v = str_replace('" STRINGIFY(EXTRUDERS) "','1',$v);
-		$v = str_replace('" MACHINE_UUID "','00000000-0000-0000-0000-000000000000',$v);
-
-		$out[trim($a[1])]=$v;
-	}
-	return $out;
-}
-
-foreach ($langs as $lang) {
-  $f = file("language_".$lang.".h");
-  $$lang = parselang($f);
-}
-/*
-$f = file("language_cz.h");
-$cz = parselang($f);
-
-$f = file("language_en.h");
-$en = parselang($f);
-*/
-//print_r($cz);
-
-$out="#ifndef LANGUAGE_ALL_H\n#define LANGUAGE_ALL_H\n\nextern unsigned char lang_selected;\nextern const char** MSG_ALL[];\n";
-
-$counter=0;
-$langname = 0;
-$langsel = 0;
-foreach ($cz as $k=>$v) {
-
-	$out .= "#define $k MSG_ALL[lang_selected][$counter]\n";
-	if ($k=="MSG_LANGUAGE_NAME") $langname = $counter;
-	if ($k=="MSG_LANGUAGE_SELECT") $langsel = $counter;
-	//$out2 .= "\t".''.$v.','."\n";
-	//$out3 .= "\t".''.$en[$k].','."\n";
-
-	$counter++;
-}
-$out.="#define LANGUAGE_NAME $langname \n";
-$out.="#define LANGUAGE_SELECT $langsel \n";
-$out.="#define LANG_NUM ".count($langs)." \n";
-$out.="char* CAT2(const char *s1,const char *s2);\n";
-$out.="char* CAT4(const char *s1,const char *s2,const char *s3,const char *s4);\n";
-$out.="\n\n\n#endif //LANGUAGE_ALL.H";
-
-file_put_contents("language_all.h",$out);
-echo ".h created\n";
-
-
-$out="#include <avr/pgmspace.h>\n#include \"configuration_prusa.h\"\n#define LCD_WIDTH 20\nextern unsigned char lang_selected;\n";
-foreach ($langs as $lang) {
-	$outa[$lang]="const char* MSG".strtoupper($lang)."[]  = {";
-}
-//$out2="const char* MSGCZ[]  = {";
-//$out3="const char* MSGEN[]  = {";
-$counter=0;
-foreach ($cz as $k=>$v) {
-	foreach ($langs as $lang) {
-		$out .= "const char MSG".strtoupper($lang)."${counter}[] PROGMEM = { ".${$lang}[$k]." }; //$k\n";
-		$outa[$lang].="MSG".strtoupper($lang)."$counter, //$k\n";
-		if (${$lang}[$k] == "") echo "ERR: In language: ".strtoupper($lang)." string \"".$k."\" NOT FOUND !\n";
-	}
-	//$out .= "const char MSGCZ${counter}[] PROGMEM = { $v }; //$k\n";
-	//$out .= "const char MSGEN${counter}[] PROGMEM = {".$en[$k]."}; //$k\n";
-
-	//$out2 .= "MSGCZ$counter, //$k\n";
-	//$out3 .= "MSGEN$counter, //$k\n";
-	$counter++;
-}
-
-$langlist=array();
-foreach ($langs as $lang) {
-	$out.=	$outa[$lang] . "};\n";
-	$langlist[]="MSG".strtoupper($lang);
-}
-/*
-$out2.="};\n";
-$out3.="};\n";
-
-$out .= $out2;
-$out .= $out3;
-*/
-
-
-$out .= "\n\nconst char** MSG_ALL[] = {".join(",",$langlist)."};";
-
-$tools = <<<EOF
-
-char langbuffer[LCD_WIDTH+1];
-char* CAT2(const char *s1,const char *s2) {
-  unsigned char len=0;
-  strncpy_P(langbuffer+len,s1,LCD_WIDTH-len);
-  len+=strlen_P(s1);
-  strncpy_P(langbuffer+len,s2,LCD_WIDTH-len);
-  return langbuffer;
-}
-char* CAT4(const char *s1,const char *s2,const char *s3,const char *s4) {
-  unsigned char len=0;
-  strncpy_P(langbuffer+len,s1,LCD_WIDTH-len);
-  len+=strlen_P(s1);
-  strncpy_P(langbuffer+len,s2,LCD_WIDTH-len);
-  len+=strlen_P(s2);
-  strncpy_P(langbuffer+len,s3,LCD_WIDTH-len);
-  len+=strlen_P(s3);
-  strncpy_P(langbuffer+len,s4,LCD_WIDTH-len);
-  return langbuffer;
-}
-EOF;
-
-$out.=$tools;
-
-file_put_contents("language_all.cpp",$out);
-echo ".cpp created.\nDone!\n";
-//const char MSG1[] PROGMEM =  MSG_SD_INSERTED;
-//const char* MSGCZ[] PROGMEM = {MSG_SD_INSERTED,MSG_SD_REMOVED};

+ 0 - 350
lang_backup/langtool.pl

@@ -1,350 +0,0 @@
-#!/usr/bin/perl
-# Processes language_xx.h files into language.cpp and language.h
-
-use strict;
-use warnings;
-
-#my @langs = ("en","cz","it","es","de");
-my @langs = ("en","cz");
-
-sub parselang 
-{
-    my ($filename) = @_;
- 	open(my $fh, '<:encoding(UTF-8)', $filename)
-#	open(my $fh, '<', $filename)
-  		or die "Could not open file '$filename' $!";
-  	# Create a new hash reference.
-	my $out = {};
-	while (my $line = <$fh>) {
-		chomp $line;
-		next if (index($line, 'define') == -1 || index($line, 'MSG') == -1);
-		my $modifiers = {};
-    	my $symbol = '';
-    	my $value = '';
-		if (index($line, 'define(') == -1) {
-			# Extended definition, which specifies the string formatting.
-	    	$line =~ /(?is)define\s*(\S*)\s*(.*)/;
-	    	$symbol = "$1";
-	    	$value = $2;
-		} else {
-			$line =~ /(?is)define\((.*)\)\s*(\S*)\s*(.*)/;
-			my $options = $1;
-			foreach my $key_value (split /,/, $options) {
-				if ($key_value =~ /\s*(\S*)\s*=\s*(\S*)\s*/) {
-					${$modifiers}{$1} = $2;
-				}
-			}
-	    	$symbol = "$2";
-	    	$value = $3;
-		}
-    	next if (! defined $symbol or length($symbol) == 0);
-    	# Trim whitespaces from both sides
-    	$value =~ s/^\s+|\s+$//g;
-		#$string =~ s/" MACHINE_NAME "/Prusa i3/;
-		#$value =~ s/" FIRMWARE_URL "/https:\/\/github.com\/prusa3d\/Prusa-Firmware\//;
-		#$value =~ s/" PROTOCOL_VERSION "/1.0/;
-		#$value =~ s/" STRINGIFY\(EXTRUDERS\) "/1/;
-		#$value =~ s/" MACHINE_UUID "/00000000-0000-0000-0000-000000000000/;
-		${$out}{$symbol} = { value=>$value, %$modifiers };
-	}
-	return $out;
-}
-
-sub pgm_is_whitespace
-{
-	my ($c) = @_;
-	if (! defined($c)) {
-		print "pgm_is_whitespace: undefined\n";
-		exit(1);
-	}
-    return $c == ord(' ') || $c == ord('\t') || $c == ord('\r') || $c == ord('\n');
-}
-
-sub pgm_is_interpunction
-{
-	my ($c) = @_;
-    return $c == ord('.') || $c == ord(',') || $c == ord(':') || $c == ord(';') || $c == ord('?') || $c == ord('!') || $c == ord('/');
-}
-
-sub break_text_fullscreen
-{
-    my $lines = [];
-    my ($text_str, $max_linelen) = @_;
-    if (! defined($text_str) || length($text_str) < 2) {
-    	return $lines;
-	}
-	$text_str =~ s/^"//;
-	$text_str =~ s/([^\\])"/$1/;
-	$text_str =~ s/\\"/"/;
-
-	my @msg = unpack("W*", $text_str);
-    #my @msg = split("", $text_str);
-    my $len = $#msg + 1;
-    my $i = 0;
-
-    LINE: 
-    while ($i < $len) {
-        while ($i < $len && pgm_is_whitespace($msg[$i])) {
-            $i += 1;
-        }
-        if ($i == $len) {
-            # End of the message.
-            last LINE;
-        }
-        my $msgend2 = $i + (($max_linelen > $len) ? $len : $max_linelen);
-        my $msgend = $msgend2;
-        if ($msgend < $len && ! pgm_is_whitespace($msg[$msgend]) && ! pgm_is_interpunction($msg[$msgend])) {
-            # Splitting a word. Find the start of the current word.
-            while ($msgend > $i && ! pgm_is_whitespace($msg[$msgend - 1])) {
-                 $msgend -= 1;
-            }
-            if ($msgend == $i) {
-                # Found a single long word, which cannot be split. Just cut it.
-                $msgend = $msgend2;
-            }
-        }
-        my $outstr = substr($text_str, $i, $msgend - $i);
-        $i = $msgend;
-        $outstr =~ s/~/ /g;
-        #print "Output string: $outstr \n";
-        push @$lines, $outstr;
-    }
-
-    return $lines;
-}
-
-my %texts;
-my %attributes;
-my $num_languages = 0;
-if (1)
-{
-	# First load the common strings.
-	my $symbols = parselang("language_common.h");
- 	foreach my $key (keys %{$symbols}) {
- 		if (! (exists $texts{$key})) {
-	 		my $symbol_value = ${$symbols}{$key};
-	 		# Store the symbol value for each language.
-	 		$texts{$key} = [ (${$symbol_value}{value}) x ($#langs+1) ];
-	 		# Store the possible attributes.
-			delete ${$symbol_value}{value};
-			# Store an "is common" attribute.
-			${$symbol_value}{common} = 1;
-			# 4x 80 characters, 4 lines sent over serial line.
-			${$symbol_value}{length} = 320;
-			${$symbol_value}{lines} = 1;
- 			$attributes{$key} = $symbol_value;
- 		} else {
- 			print "Duplicate key in language_common.h: $key\n";
- 		}
- 	}
-}
-foreach my $lang (@langs) {
-	my $symbols = parselang("language_$lang.h");
- 	foreach my $key (keys %{$symbols}) {
- 		if (! (exists $texts{$key})) {
-	 		$texts{$key} = [];
- 		}
- 		my $symbol_value = ${$symbols}{$key};
- 		my $strings = $texts{$key};
- 		if (defined $attributes{$key} && defined ${$attributes{$key}}{common} && ${$attributes{$key}}{common} == 1) {
- 			# Common overrides the possible definintions in the language specific files.
- 		} else {
-	 		die "Symbol $key defined first in $lang, undefined in the preceding language files."
-	 			if (scalar(@$strings) != $num_languages);
-	 		push @$strings, ${$symbol_value}{value};
-	 		if ($lang eq 'en') {
-	 			# The english texts may contain attributes. Store them into %attributes.
-	 			delete ${$symbol_value}{value};
-	 			$attributes{$key} = $symbol_value;
-	 		}
-	 	}
- 	}
- 	$num_languages += 1;
- 	foreach my $key (keys %texts) {
- 		my $strings = $texts{$key};
- 		if (scalar(@$strings) < $num_languages) {
- 			# die "Symbol $key undefined in $lang."
- 			print "Symbol $key undefined in language \"$lang\". Using the english variant:\n";
- 			print "\t", ${$strings}[0], "\n";
- 			push @$strings, ${$strings}[0];
- 		}
- 	}
-}
-
-my $filename = 'language_all.h';
-open(my $fh, '>', $filename) or die "Could not open file '$filename' $!";
-
-# For the programmatic access to the program memory, read
-# http://www.nongnu.org/avr-libc/user-manual/group__avr__pgmspace.html
-
-print $fh <<END
-#ifndef LANGUAGE_ALL_H
-#define LANGUAGE_ALL_H
-
-#include <avr/pgmspace.h>
-// Language indices into their particular symbol tables.
-END
-;
-
-# Export symbolic IDs of languages.
-for my $i (0 .. $#langs) {
-	my $lang = uc $langs[$i];
-	print $fh "#define LANG_ID_$lang $i\n";
-}
-
-print $fh <<END
-// Language is not defined and it shall be selected from the menu.
-#define LANG_ID_FORCE_SELECTION 254
-// Language is not defined on a virgin RAMBo board.
-#define LANG_ID_UNDEFINED 255
-
-// Default language ID, if no language is selected.
-#define LANG_ID_DEFAULT LANG_ID_CZ
-
-// Number of languages available in the language table.
-#define LANG_NUM ${num_languages}
-
-// Currectly active language selection.
-extern unsigned char lang_selected;
-
-#define LANG_TABLE_SELECT_EXPLICIT(TABLE, LANG) ((const char*)(pgm_read_ptr(TABLE + (LANG))))
-#define LANG_TABLE_SELECT(TABLE) LANG_TABLE_SELECT_EXPLICIT(TABLE, lang_selected)
-
-END
-;
-
-foreach my $key (sort(keys %texts)) {
-	my $strings = $texts{$key};
-	if (@{$strings} == grep { $_ eq ${$strings}[0] } @{$strings}) {
-		# All strings are English.
-	    print $fh "extern const char* const ${key}_LANG_TABLE[1];\n";
-		print $fh "#define $key LANG_TABLE_SELECT_EXPLICIT(${key}_LANG_TABLE, 0)\n";
-	} else {
-	    print $fh "extern const char* const ${key}_LANG_TABLE[LANG_NUM];\n";
-		print $fh "#define $key LANG_TABLE_SELECT(${key}_LANG_TABLE)\n";
-		print $fh "#define ${key}_EXPLICIT(LANG) LANG_TABLE_SELECT_EXPLICIT(${key}_LANG_TABLE, LANG)\n"
-			if ($key eq "MSG_LANGUAGE_NAME" || $key eq "MSG_LANGUAGE_SELECT");
-	}
-}
-
-print $fh <<END
-
-extern char* CAT2(const char *s1,const char *s2);
-extern char* CAT4(const char *s1,const char *s2,const char *s3,const char *s4);
-
-#endif //LANGUAGE_ALL.H
-END
-;
-close $fh;
-print ".h created\n";
-
-
-
-$filename = 'language_all.cpp';
-open($fh, '>', $filename) or die "Could not open file '$filename' $!";
-
-print $fh <<'END'
-
-#include "Configuration_prusa.h"
-#include "language_all.h"
-
-#define LCD_WIDTH 20
-extern unsigned char lang_selected;
-
-END
-;
-
-my @keys = sort(keys %texts);
-foreach my $key (@keys) {
-	my $strings = $texts{$key};
-	if (@{$strings} == grep { $_ eq ${$strings}[0] } @{$strings}) {
-		# Shrink the array to a single value.
-		$strings = [${$strings}[0]];
-	}
-	for (my $i = 0; $i <= $#{$strings}; $i ++) {
-		my $suffix = uc($langs[$i]);
-		if ($i == 0 || ${$strings}[$i] ne ${$strings}[0]) {
-			print $fh "const char ${key}_${suffix}[] PROGMEM = ${$strings}[$i];\n";
-		}
-	}
-	my $langnum = $#{$strings}+1;
-	if ($langnum == $#langs+1) {
-		$langnum = "LANG_NUM";
-	}
-    print $fh "const char * const ${key}_LANG_TABLE[$langnum] PROGMEM = {\n";
-	for (my $i = 0; $i <= $#{$strings}; $i ++) {
-		my $suffix = uc($langs[$i]);
-		if ($i == 0 || ${$strings}[$i] ne ${$strings}[0]) {
-			print $fh "\t${key}_${suffix}";
-		} else {
-			print $fh "\t${key}_EN";
-		}
-		print $fh ',' if $i < $#{$strings};
-		print $fh "\n";
-	}
-	print $fh "};\n\n";
-}
-
-print $fh <<'END'
-
-char langbuffer[LCD_WIDTH+1];
-char* CAT2(const char *s1,const char *s2) {
-  unsigned char len=0;
-  strncpy_P(langbuffer+len,s1,LCD_WIDTH-len);
-  len+=strlen_P(s1);
-  strncpy_P(langbuffer+len,s2,LCD_WIDTH-len);
-  return langbuffer;
-}
-char* CAT4(const char *s1,const char *s2,const char *s3,const char *s4) {
-  unsigned char len=0;
-  strncpy_P(langbuffer+len,s1,LCD_WIDTH-len);
-  len+=strlen_P(s1);
-  strncpy_P(langbuffer+len,s2,LCD_WIDTH-len);
-  len+=strlen_P(s2);
-  strncpy_P(langbuffer+len,s3,LCD_WIDTH-len);
-  len+=strlen_P(s3);
-  strncpy_P(langbuffer+len,s4,LCD_WIDTH-len);
-  return langbuffer;
-}
-END
-;
-
-print ".cpp created.\nDone!\n";
-
-my $verify_only = 1;
-
-for my $lang (0 .. $#langs) {
-	print "Language: $langs[$lang]\n";
-	foreach my $key (@keys) {
-		my $strings = $texts{$key};
-		my %attrib = %{$attributes{$key}};
-		my $message = ${$strings}[$lang];
-		$message =~ /\S*"(.*)"\S*/;
-		$message = $1;
-		if ($lang == 0 || ${$strings}[0] ne $message) {
-			# If the language is not English, don't show the non-translated message.
-			my $max_nlines = $attrib{lines} // 1;
-			my $max_linelen = $attrib{length} // (($max_nlines > 1) ? 20 : 17);
-#			if (! $verify_only) {
-#				if ($nlines > 1) {
-#					print "Multi-line message: $message. Breaking to $nlines lines:\n";
-#					print "\t$_\n" foreach (@{$lines});
-#				}
-#			}
-			if ($max_nlines <= 1) {
-				my $linelen = length($message);
-				if ($linelen > $max_linelen) {
-					print "Key $key, language $langs[$lang], line length: $linelen, max length: $max_linelen\n";
-					print "\t$message\n";
-				}
-			} else {
-				my $lines = break_text_fullscreen($message, $max_linelen);
-				my $nlines = @{$lines};
-				if ($nlines > $max_nlines) {
-					print "Key $key, language $langs[$lang], lines: $nlines, max lines: $max_nlines\n";
-					print "\t$_\n" foreach (@{$lines});
-				}
-			}
-		}
-	}
-}

+ 0 - 34
lang_backup/language.h

@@ -1,34 +0,0 @@
-#ifndef LANGUAGE_H
-#define LANGUAGE_H
-
-#define PROTOCOL_VERSION "1.0"
-
-#ifdef CUSTOM_MENDEL_NAME
-   // #define CUSTOM_MENDEL_NAME CUSTOM_MENDEL_NAME
-#else
-    #define MACHINE_NAME "Mendel"
-#endif
-
-#define _i PSTR
-#define _n PSTR
-
-#ifndef MACHINE_UUID
-   #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
-#endif
-
-#define MSG_FW_VERSION                   "Firmware"
-
-#define STRINGIFY_(n) #n
-#define STRINGIFY(n) STRINGIFY_(n)
-
-
-// Common serial messages
-#define MSG_MARLIN "Marlin"
-
-// Serial Console Messages (do not translate those!)
-
-
-// LCD Menu Messages
-#include "language_all.h"
-
-#endif //__LANGUAGE_H

+ 0 - 2606
lang_backup/language_all.cpp

@@ -1,2606 +0,0 @@
-
-#include "Configuration_prusa.h"
-#include "language_all.h"
-
-#define LCD_WIDTH 20
-extern unsigned char lang_selected;
-
-const char MSG_ACTIVE_EXTRUDER_EN[] PROGMEM = "Active Extruder: ";
-const char * const MSG_ACTIVE_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_ACTIVE_EXTRUDER_EN
-};
-
-const char MSG_ADJUSTZ_EN[] PROGMEM = "Auto adjust Z?";
-const char MSG_ADJUSTZ_CZ[] PROGMEM = "Auto doladit Z ?";
-const char * const MSG_ADJUSTZ_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_ADJUSTZ_EN,
-	MSG_ADJUSTZ_CZ
-};
-
-const char MSG_ALL_EN[] PROGMEM = "All";
-const char MSG_ALL_CZ[] PROGMEM = "Vse";
-const char * const MSG_ALL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_ALL_EN,
-	MSG_ALL_CZ
-};
-
-const char MSG_AMAX_EN[] PROGMEM = "Amax ";
-const char * const MSG_AMAX_LANG_TABLE[1] PROGMEM = {
-	MSG_AMAX_EN
-};
-
-const char MSG_AUTHOR_EN[] PROGMEM = " | Author: ";
-const char * const MSG_AUTHOR_LANG_TABLE[1] PROGMEM = {
-	MSG_AUTHOR_EN
-};
-
-const char MSG_AUTOLOADING_ENABLED_EN[] PROGMEM = "Autoloading filament is active, just press the knob and insert filament...";
-const char MSG_AUTOLOADING_ENABLED_CZ[] PROGMEM = "Automaticke zavadeni filamentu aktivni, stisknete tlacitko a vlozte filament...";
-const char * const MSG_AUTOLOADING_ENABLED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_AUTOLOADING_ENABLED_EN,
-	MSG_AUTOLOADING_ENABLED_CZ
-};
-
-const char MSG_AUTOLOADING_ONLY_IF_FSENS_ON_EN[] PROGMEM = "Autoloading filament available only when filament sensor is turned on...";
-const char MSG_AUTOLOADING_ONLY_IF_FSENS_ON_CZ[] PROGMEM = "Automaticke zavadeni filamentu dostupne pouze pri zapnutem filament senzoru...";
-const char * const MSG_AUTOLOADING_ONLY_IF_FSENS_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_AUTOLOADING_ONLY_IF_FSENS_ON_EN,
-	MSG_AUTOLOADING_ONLY_IF_FSENS_ON_CZ
-};
-
-const char MSG_AUTOLOAD_FILAMENT_EN[] PROGMEM = "AutoLoad filament";
-const char MSG_AUTOLOAD_FILAMENT_CZ[] PROGMEM = "AutoZavedeni fil.";
-const char * const MSG_AUTOLOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_AUTOLOAD_FILAMENT_EN,
-	MSG_AUTOLOAD_FILAMENT_CZ
-};
-
-const char MSG_AUTO_HOME_EN[] PROGMEM = "Auto home";
-const char * const MSG_AUTO_HOME_LANG_TABLE[1] PROGMEM = {
-	MSG_AUTO_HOME_EN
-};
-
-const char MSG_AUTO_MODE_ON_EN[] PROGMEM = "Mode [auto power]";
-const char MSG_AUTO_MODE_ON_CZ[] PROGMEM = "Mod [automaticky]";
-const char * const MSG_AUTO_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_AUTO_MODE_ON_EN,
-	MSG_AUTO_MODE_ON_CZ
-};
-
-const char MSG_A_RETRACT_EN[] PROGMEM = "A-retract";
-const char * const MSG_A_RETRACT_LANG_TABLE[1] PROGMEM = {
-	MSG_A_RETRACT_EN
-};
-
-const char MSG_BABYSTEPPING_X_EN[] PROGMEM = "Babystepping X";
-const char * const MSG_BABYSTEPPING_X_LANG_TABLE[1] PROGMEM = {
-	MSG_BABYSTEPPING_X_EN
-};
-
-const char MSG_BABYSTEPPING_Y_EN[] PROGMEM = "Babystepping Y";
-const char * const MSG_BABYSTEPPING_Y_LANG_TABLE[1] PROGMEM = {
-	MSG_BABYSTEPPING_Y_EN
-};
-
-const char MSG_BABYSTEPPING_Z_EN[] PROGMEM = "Adjusting Z";
-const char * const MSG_BABYSTEPPING_Z_LANG_TABLE[1] PROGMEM = {
-	MSG_BABYSTEPPING_Z_EN
-};
-
-const char MSG_BABYSTEP_X_EN[] PROGMEM = "Babystep X";
-const char * const MSG_BABYSTEP_X_LANG_TABLE[1] PROGMEM = {
-	MSG_BABYSTEP_X_EN
-};
-
-const char MSG_BABYSTEP_Y_EN[] PROGMEM = "Babystep Y";
-const char * const MSG_BABYSTEP_Y_LANG_TABLE[1] PROGMEM = {
-	MSG_BABYSTEP_Y_EN
-};
-
-const char MSG_BABYSTEP_Z_EN[] PROGMEM = "Live adjust Z";
-const char MSG_BABYSTEP_Z_CZ[] PROGMEM = "Doladeni osy Z";
-const char * const MSG_BABYSTEP_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BABYSTEP_Z_EN,
-	MSG_BABYSTEP_Z_CZ
-};
-
-const char MSG_BABYSTEP_Z_NOT_SET_EN[] PROGMEM = "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.";
-const char MSG_BABYSTEP_Z_NOT_SET_CZ[] PROGMEM = "Neni zkalibrovana vzdalenost trysky od tiskove podlozky. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Nastaveni prvni vrstvy.";
-const char * const MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BABYSTEP_Z_NOT_SET_EN,
-	MSG_BABYSTEP_Z_NOT_SET_CZ
-};
-
-const char MSG_BED_EN[] PROGMEM = "Bed";
-const char * const MSG_BED_LANG_TABLE[1] PROGMEM = {
-	MSG_BED_EN
-};
-
-const char MSG_BED_CORRECTION_FRONT_EN[] PROGMEM = "Front side[um]";
-const char MSG_BED_CORRECTION_FRONT_CZ[] PROGMEM = "Vpredu [um]";
-const char * const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_CORRECTION_FRONT_EN,
-	MSG_BED_CORRECTION_FRONT_CZ
-};
-
-const char MSG_BED_CORRECTION_LEFT_EN[] PROGMEM = "Left side [um]";
-const char MSG_BED_CORRECTION_LEFT_CZ[] PROGMEM = "Vlevo  [um]";
-const char * const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_CORRECTION_LEFT_EN,
-	MSG_BED_CORRECTION_LEFT_CZ
-};
-
-const char MSG_BED_CORRECTION_MENU_EN[] PROGMEM = "Bed level correct";
-const char MSG_BED_CORRECTION_MENU_CZ[] PROGMEM = "Korekce podlozky";
-const char * const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_CORRECTION_MENU_EN,
-	MSG_BED_CORRECTION_MENU_CZ
-};
-
-const char MSG_BED_CORRECTION_REAR_EN[] PROGMEM = "Rear side [um]";
-const char MSG_BED_CORRECTION_REAR_CZ[] PROGMEM = "Vzadu  [um]";
-const char * const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_CORRECTION_REAR_EN,
-	MSG_BED_CORRECTION_REAR_CZ
-};
-
-const char MSG_BED_CORRECTION_RESET_EN[] PROGMEM = "Reset";
-const char * const MSG_BED_CORRECTION_RESET_LANG_TABLE[1] PROGMEM = {
-	MSG_BED_CORRECTION_RESET_EN
-};
-
-const char MSG_BED_CORRECTION_RIGHT_EN[] PROGMEM = "Right side[um]";
-const char MSG_BED_CORRECTION_RIGHT_CZ[] PROGMEM = "Vpravo [um]";
-const char * const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_CORRECTION_RIGHT_EN,
-	MSG_BED_CORRECTION_RIGHT_CZ
-};
-
-const char MSG_BED_DONE_EN[] PROGMEM = "Bed done";
-const char MSG_BED_DONE_CZ[] PROGMEM = "Bed OK.";
-const char * const MSG_BED_DONE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_DONE_EN,
-	MSG_BED_DONE_CZ
-};
-
-const char MSG_BED_HEATING_EN[] PROGMEM = "Bed Heating";
-const char MSG_BED_HEATING_CZ[] PROGMEM = "Zahrivani bed";
-const char * const MSG_BED_HEATING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_HEATING_EN,
-	MSG_BED_HEATING_CZ
-};
-
-const char MSG_BED_HEATING_SAFETY_DISABLED_EN[] PROGMEM = "Heating disabled by safety timer.";
-const char MSG_BED_HEATING_SAFETY_DISABLED_CZ[] PROGMEM = "Zahrivani preruseno bezpecnostnim casovacem.";
-const char * const MSG_BED_HEATING_SAFETY_DISABLED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_HEATING_SAFETY_DISABLED_EN,
-	MSG_BED_HEATING_SAFETY_DISABLED_CZ
-};
-
-const char MSG_BED_LEVELING_FAILED_POINT_HIGH_EN[] PROGMEM = "Bed leveling failed. Sensor triggered too high. Waiting for reset.";
-const char MSG_BED_LEVELING_FAILED_POINT_HIGH_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset.";
-const char * const MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_LEVELING_FAILED_POINT_HIGH_EN,
-	MSG_BED_LEVELING_FAILED_POINT_HIGH_CZ
-};
-
-const char MSG_BED_LEVELING_FAILED_POINT_LOW_EN[] PROGMEM = "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset.";
-const char MSG_BED_LEVELING_FAILED_POINT_LOW_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset.";
-const char * const MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_LEVELING_FAILED_POINT_LOW_EN,
-	MSG_BED_LEVELING_FAILED_POINT_LOW_CZ
-};
-
-const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN[] PROGMEM = "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset.";
-const char MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_CZ[] PROGMEM = "Kalibrace Z selhala. Sensor je odpojeny nebo preruseny kabel. Cekam na reset.";
-const char * const MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_EN,
-	MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN[] PROGMEM = "XYZ calibration failed. Front calibration points not reachable.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_CZ[] PROGMEM = "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN[] PROGMEM = "XYZ calibration failed. Left front calibration point not reachable.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_CZ[] PROGMEM = "Kalibrace XYZ selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN[] PROGMEM = "XYZ calibration failed. Right front calibration point not reachable.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_CZ[] PROGMEM = "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN[] PROGMEM = "XYZ calibration failed. Please consult the manual.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_CZ[] PROGMEM = "Kalibrace XYZ selhala. Nahlednete do manualu.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN[] PROGMEM = "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!";
-const char MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_CZ[] PROGMEM = "Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN[] PROGMEM = "XYZ calibration failed. Bed calibration point was not found.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_CZ[] PROGMEM = "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN[] PROGMEM = "XYZ calibration all right. Skew will be corrected automatically.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_CZ[] PROGMEM = "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN[] PROGMEM = "XYZ calibration all right. X/Y axes are slightly skewed. Good job!";
-const char MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_CZ[] PROGMEM = "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN[] PROGMEM = "XYZ calibration compromised. Front calibration points not reachable.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_CZ[] PROGMEM = "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN[] PROGMEM = "XYZ calibration compromised. Left front calibration point not reachable.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_CZ[] PROGMEM = "Kalibrace XYZ nepresna. Levy predni bod moc vpredu.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_CZ
-};
-
-const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN[] PROGMEM = "XYZ calibration compromised. Right front calibration point not reachable.";
-const char MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_CZ[] PROGMEM = "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu.";
-const char * const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_EN,
-	MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_CZ
-};
-
-const char MSG_BEGIN_FILE_LIST_EN[] PROGMEM = "Begin file list";
-const char * const MSG_BEGIN_FILE_LIST_LANG_TABLE[1] PROGMEM = {
-	MSG_BEGIN_FILE_LIST_EN
-};
-
-const char MSG_BROWNOUT_RESET_EN[] PROGMEM = " Brown out Reset";
-const char * const MSG_BROWNOUT_RESET_LANG_TABLE[1] PROGMEM = {
-	MSG_BROWNOUT_RESET_EN
-};
-
-const char MSG_CALIBRATE_BED_EN[] PROGMEM = "Calibrate XYZ";
-const char MSG_CALIBRATE_BED_CZ[] PROGMEM = "Kalibrace XYZ";
-const char * const MSG_CALIBRATE_BED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CALIBRATE_BED_EN,
-	MSG_CALIBRATE_BED_CZ
-};
-
-const char MSG_CALIBRATE_BED_RESET_EN[] PROGMEM = "Reset XYZ calibr.";
-const char MSG_CALIBRATE_BED_RESET_CZ[] PROGMEM = "Reset XYZ kalibr.";
-const char * const MSG_CALIBRATE_BED_RESET_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CALIBRATE_BED_RESET_EN,
-	MSG_CALIBRATE_BED_RESET_CZ
-};
-
-const char MSG_CALIBRATE_E_EN[] PROGMEM = "Calibrate E";
-const char MSG_CALIBRATE_E_CZ[] PROGMEM = "Kalibrovat E";
-const char * const MSG_CALIBRATE_E_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CALIBRATE_E_EN,
-	MSG_CALIBRATE_E_CZ
-};
-
-const char MSG_CALIBRATE_PINDA_EN[] PROGMEM = "Calibrate";
-const char MSG_CALIBRATE_PINDA_CZ[] PROGMEM = "Zkalibrovat";
-const char * const MSG_CALIBRATE_PINDA_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CALIBRATE_PINDA_EN,
-	MSG_CALIBRATE_PINDA_CZ
-};
-
-const char MSG_CALIBRATE_Z_AUTO_EN[] PROGMEM = "Calibrating Z";
-const char MSG_CALIBRATE_Z_AUTO_CZ[] PROGMEM = "Kalibruji Z";
-const char * const MSG_CALIBRATE_Z_AUTO_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CALIBRATE_Z_AUTO_EN,
-	MSG_CALIBRATE_Z_AUTO_CZ
-};
-
-const char MSG_CALIBRATION_PINDA_MENU_EN[] PROGMEM = "Temp. calibration";
-const char MSG_CALIBRATION_PINDA_MENU_CZ[] PROGMEM = "Teplot. kalibrace";
-const char * const MSG_CALIBRATION_PINDA_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CALIBRATION_PINDA_MENU_EN,
-	MSG_CALIBRATION_PINDA_MENU_CZ
-};
-
-const char MSG_CARD_MENU_EN[] PROGMEM = "Print from SD";
-const char MSG_CARD_MENU_CZ[] PROGMEM = "Tisk z SD";
-const char * const MSG_CARD_MENU_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CARD_MENU_EN,
-	MSG_CARD_MENU_CZ
-};
-
-const char MSG_CHANGED_BOTH_EN[] PROGMEM = "Warning: both printer type and motherboard type changed.";
-const char MSG_CHANGED_BOTH_CZ[] PROGMEM = "Varovani: doslo ke zmene typu tiskarny a motherboardu.";
-const char * const MSG_CHANGED_BOTH_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CHANGED_BOTH_EN,
-	MSG_CHANGED_BOTH_CZ
-};
-
-const char MSG_CHANGED_MOTHERBOARD_EN[] PROGMEM = "Warning: motherboard type changed.";
-const char MSG_CHANGED_MOTHERBOARD_CZ[] PROGMEM = "Varovani: doslo ke zmene typu motherboardu.";
-const char * const MSG_CHANGED_MOTHERBOARD_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CHANGED_MOTHERBOARD_EN,
-	MSG_CHANGED_MOTHERBOARD_CZ
-};
-
-const char MSG_CHANGED_PRINTER_EN[] PROGMEM = "Warning: printer type changed.";
-const char MSG_CHANGED_PRINTER_CZ[] PROGMEM = "Varovani: doslo ke zmene typu tiskarny.";
-const char * const MSG_CHANGED_PRINTER_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CHANGED_PRINTER_EN,
-	MSG_CHANGED_PRINTER_CZ
-};
-
-const char MSG_CHANGE_EXTR_EN[] PROGMEM = "Change extruder";
-const char MSG_CHANGE_EXTR_CZ[] PROGMEM = "Zmenit extruder";
-const char * const MSG_CHANGE_EXTR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CHANGE_EXTR_EN,
-	MSG_CHANGE_EXTR_CZ
-};
-
-const char MSG_CHANGE_SUCCESS_EN[] PROGMEM = "Change success!";
-const char MSG_CHANGE_SUCCESS_CZ[] PROGMEM = "Zmena uspesna!";
-const char * const MSG_CHANGE_SUCCESS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CHANGE_SUCCESS_EN,
-	MSG_CHANGE_SUCCESS_CZ
-};
-
-const char MSG_CHANGING_FILAMENT_EN[] PROGMEM = "Changing filament!";
-const char MSG_CHANGING_FILAMENT_CZ[] PROGMEM = "Vymena filamentu!";
-const char * const MSG_CHANGING_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CHANGING_FILAMENT_EN,
-	MSG_CHANGING_FILAMENT_CZ
-};
-
-const char MSG_CHECK_IDLER_EN[] PROGMEM = "Please open idler and remove filament manually.";
-const char MSG_CHECK_IDLER_CZ[] PROGMEM = "Prosim otevrete idler a manualne odstrante filament.";
-const char * const MSG_CHECK_IDLER_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CHECK_IDLER_EN,
-	MSG_CHECK_IDLER_CZ
-};
-
-const char MSG_CHOOSE_EXTRUDER_EN[] PROGMEM = "Choose extruder:";
-const char MSG_CHOOSE_EXTRUDER_CZ[] PROGMEM = "Vyberte extruder:";
-const char * const MSG_CHOOSE_EXTRUDER_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CHOOSE_EXTRUDER_EN,
-	MSG_CHOOSE_EXTRUDER_CZ
-};
-
-const char MSG_CLEAN_NOZZLE_E_EN[] PROGMEM = "E calibration finished. Please clean the nozzle. Click when done.";
-const char MSG_CLEAN_NOZZLE_E_CZ[] PROGMEM = "E kalibrace ukoncena. Prosim ocistete trysku. Po te potvrdte tlacitkem.";
-const char * const MSG_CLEAN_NOZZLE_E_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CLEAN_NOZZLE_E_EN,
-	MSG_CLEAN_NOZZLE_E_CZ
-};
-
-const char MSG_CNG_SDCARD_EN[] PROGMEM = "Change SD card";
-const char * const MSG_CNG_SDCARD_LANG_TABLE[1] PROGMEM = {
-	MSG_CNG_SDCARD_EN
-};
-
-const char MSG_CONFIGURATION_VER_EN[] PROGMEM = " Last Updated: ";
-const char * const MSG_CONFIGURATION_VER_LANG_TABLE[1] PROGMEM = {
-	MSG_CONFIGURATION_VER_EN
-};
-
-const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN[] PROGMEM = "Are left and right Z~carriages all up?";
-const char MSG_CONFIRM_CARRIAGE_AT_THE_TOP_CZ[] PROGMEM = "Dojely oba Z voziky k~hornimu dorazu?";
-const char * const MSG_CONFIRM_CARRIAGE_AT_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CONFIRM_CARRIAGE_AT_THE_TOP_EN,
-	MSG_CONFIRM_CARRIAGE_AT_THE_TOP_CZ
-};
-
-const char MSG_CONFIRM_NOZZLE_CLEAN_EN[] PROGMEM = "Please clean the nozzle for calibration. Click when done.";
-const char MSG_CONFIRM_NOZZLE_CLEAN_CZ[] PROGMEM = "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem.";
-const char * const MSG_CONFIRM_NOZZLE_CLEAN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CONFIRM_NOZZLE_CLEAN_EN,
-	MSG_CONFIRM_NOZZLE_CLEAN_CZ
-};
-
-const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_EN[] PROGMEM = "Filaments are now adjusted. Please clean the nozzle for calibration. Click when done.";
-const char MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_CZ[] PROGMEM = "Filamenty jsou srovnany. Pro uspesnou kalibraci prosim ocistete trysku. Po te potvrdte tlacitkem.";
-const char * const MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_EN,
-	MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_CZ
-};
-
-const char MSG_CONTROL_EN[] PROGMEM = "Control";
-const char * const MSG_CONTROL_LANG_TABLE[1] PROGMEM = {
-	MSG_CONTROL_EN
-};
-
-const char MSG_COOLDOWN_EN[] PROGMEM = "Cooldown";
-const char MSG_COOLDOWN_CZ[] PROGMEM = "Zchladit";
-const char * const MSG_COOLDOWN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_COOLDOWN_EN,
-	MSG_COOLDOWN_CZ
-};
-
-const char MSG_CORRECTLY_EN[] PROGMEM = "Changed correctly?";
-const char MSG_CORRECTLY_CZ[] PROGMEM = "Vymena ok?";
-const char * const MSG_CORRECTLY_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CORRECTLY_EN,
-	MSG_CORRECTLY_CZ
-};
-
-const char MSG_COUNT_X_EN[] PROGMEM = " Count X: ";
-const char * const MSG_COUNT_X_LANG_TABLE[1] PROGMEM = {
-	MSG_COUNT_X_EN
-};
-
-const char MSG_CRASHDETECT_NA_EN[] PROGMEM = "Crash det.  [N/A]";
-const char * const MSG_CRASHDETECT_NA_LANG_TABLE[1] PROGMEM = {
-	MSG_CRASHDETECT_NA_EN
-};
-
-const char MSG_CRASHDETECT_OFF_EN[] PROGMEM = "Crash det.  [off]";
-const char MSG_CRASHDETECT_OFF_CZ[] PROGMEM = "Crash det.  [vyp]";
-const char * const MSG_CRASHDETECT_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CRASHDETECT_OFF_EN,
-	MSG_CRASHDETECT_OFF_CZ
-};
-
-const char MSG_CRASHDETECT_ON_EN[] PROGMEM = "Crash det.   [on]";
-const char MSG_CRASHDETECT_ON_CZ[] PROGMEM = "Crash det.  [zap]";
-const char * const MSG_CRASHDETECT_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CRASHDETECT_ON_EN,
-	MSG_CRASHDETECT_ON_CZ
-};
-
-const char MSG_CRASH_DETECTED_EN[] PROGMEM = "Crash detected.";
-const char MSG_CRASH_DETECTED_CZ[] PROGMEM = "Detekovan naraz.";
-const char * const MSG_CRASH_DETECTED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CRASH_DETECTED_EN,
-	MSG_CRASH_DETECTED_CZ
-};
-
-const char MSG_CRASH_DETECTED2_EN[] PROGMEM = "Crash detected. Continue printing?";
-const char MSG_CRASH_DETECTED2_CZ[] PROGMEM = "Naraz detekovan, pokracovat v tisku?";
-const char * const MSG_CRASH_DETECTED2_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CRASH_DETECTED2_EN,
-	MSG_CRASH_DETECTED2_CZ
-};
-
-const char MSG_CRASH_DET_ONLY_IN_NORMAL_EN[] PROGMEM = "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode";
-const char MSG_CRASH_DET_ONLY_IN_NORMAL_CZ[] PROGMEM = "\x1b[2JCrash detekce muze\x1b[1;0Hbyt zapnuta pouze v\x1b[2;0HNormal modu";
-const char * const MSG_CRASH_DET_ONLY_IN_NORMAL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CRASH_DET_ONLY_IN_NORMAL_EN,
-	MSG_CRASH_DET_ONLY_IN_NORMAL_CZ
-};
-
-const char MSG_CRASH_DET_STEALTH_FORCE_OFF_EN[] PROGMEM = "\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode";
-const char MSG_CRASH_DET_STEALTH_FORCE_OFF_CZ[] PROGMEM = "\x1b[2JPOZOR:\x1b[1;0HCrash detekce\x1b[2;0Hdeaktivovana ve\x1b[3;0HStealth modu";
-const char * const MSG_CRASH_DET_STEALTH_FORCE_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CRASH_DET_STEALTH_FORCE_OFF_EN,
-	MSG_CRASH_DET_STEALTH_FORCE_OFF_CZ
-};
-
-const char MSG_CURRENT_EN[] PROGMEM = "Current";
-const char MSG_CURRENT_CZ[] PROGMEM = "Pouze aktualni";
-const char * const MSG_CURRENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_CURRENT_EN,
-	MSG_CURRENT_CZ
-};
-
-const char MSG_DATE_EN[] PROGMEM = "Date:";
-const char MSG_DATE_CZ[] PROGMEM = "Datum:";
-const char * const MSG_DATE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_DATE_EN,
-	MSG_DATE_CZ
-};
-
-const char MSG_DEFAULT_SETTINGS_LOADED_EN[] PROGMEM = "Old settings found. Default PID, Esteps etc. will be set.";
-const char MSG_DEFAULT_SETTINGS_LOADED_CZ[] PROGMEM = "Neplatne hodnoty nastaveni. Bude pouzito vychozi PID, Esteps atd.";
-const char * const MSG_DEFAULT_SETTINGS_LOADED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_DEFAULT_SETTINGS_LOADED_EN,
-	MSG_DEFAULT_SETTINGS_LOADED_CZ
-};
-
-const char MSG_DISABLE_STEPPERS_EN[] PROGMEM = "Disable steppers";
-const char MSG_DISABLE_STEPPERS_CZ[] PROGMEM = "Vypnout motory";
-const char * const MSG_DISABLE_STEPPERS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_DISABLE_STEPPERS_EN,
-	MSG_DISABLE_STEPPERS_CZ
-};
-
-const char MSG_DWELL_EN[] PROGMEM = "Sleep...";
-const char * const MSG_DWELL_LANG_TABLE[1] PROGMEM = {
-	MSG_DWELL_EN
-};
-
-const char MSG_ENDSTOPS_HIT_EN[] PROGMEM = "endstops hit: ";
-const char * const MSG_ENDSTOPS_HIT_LANG_TABLE[1] PROGMEM = {
-	MSG_ENDSTOPS_HIT_EN
-};
-
-const char MSG_ENDSTOP_HIT_EN[] PROGMEM = "TRIGGERED";
-const char * const MSG_ENDSTOP_HIT_LANG_TABLE[1] PROGMEM = {
-	MSG_ENDSTOP_HIT_EN
-};
-
-const char MSG_ENDSTOP_OPEN_EN[] PROGMEM = "open";
-const char * const MSG_ENDSTOP_OPEN_LANG_TABLE[1] PROGMEM = {
-	MSG_ENDSTOP_OPEN_EN
-};
-
-const char MSG_END_FILE_LIST_EN[] PROGMEM = "End file list";
-const char * const MSG_END_FILE_LIST_LANG_TABLE[1] PROGMEM = {
-	MSG_END_FILE_LIST_EN
-};
-
-const char MSG_ERROR_EN[] PROGMEM = "ERROR:";
-const char MSG_ERROR_CZ[] PROGMEM = "CHYBA:";
-const char * const MSG_ERROR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_ERROR_EN,
-	MSG_ERROR_CZ
-};
-
-const char MSG_ERR_CHECKSUM_MISMATCH_EN[] PROGMEM = "checksum mismatch, Last Line: ";
-const char * const MSG_ERR_CHECKSUM_MISMATCH_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_CHECKSUM_MISMATCH_EN
-};
-
-const char MSG_ERR_COLD_EXTRUDE_STOP_EN[] PROGMEM = " cold extrusion prevented";
-const char * const MSG_ERR_COLD_EXTRUDE_STOP_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_COLD_EXTRUDE_STOP_EN
-};
-
-const char MSG_ERR_KILLED_EN[] PROGMEM = "Printer halted. kill() called!";
-const char * const MSG_ERR_KILLED_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_KILLED_EN
-};
-
-const char MSG_ERR_LINE_NO_EN[] PROGMEM = "Line Number is not Last Line Number+1, Last Line: ";
-const char * const MSG_ERR_LINE_NO_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_LINE_NO_EN
-};
-
-const char MSG_ERR_LONG_EXTRUDE_STOP_EN[] PROGMEM = " too long extrusion prevented";
-const char * const MSG_ERR_LONG_EXTRUDE_STOP_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_LONG_EXTRUDE_STOP_EN
-};
-
-const char MSG_ERR_NO_CHECKSUM_EN[] PROGMEM = "No Checksum with line number, Last Line: ";
-const char * const MSG_ERR_NO_CHECKSUM_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_NO_CHECKSUM_EN
-};
-
-const char MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM_EN[] PROGMEM = "No Line Number with checksum, Last Line: ";
-const char * const MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM_EN
-};
-
-const char MSG_ERR_NO_THERMISTORS_EN[] PROGMEM = "No thermistors - no temperature";
-const char * const MSG_ERR_NO_THERMISTORS_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_NO_THERMISTORS_EN
-};
-
-const char MSG_ERR_STOPPED_EN[] PROGMEM = "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)";
-const char * const MSG_ERR_STOPPED_LANG_TABLE[1] PROGMEM = {
-	MSG_ERR_STOPPED_EN
-};
-
-const char MSG_EXTERNAL_RESET_EN[] PROGMEM = " External Reset";
-const char * const MSG_EXTERNAL_RESET_LANG_TABLE[1] PROGMEM = {
-	MSG_EXTERNAL_RESET_EN
-};
-
-const char MSG_EXTRUDER_EN[] PROGMEM = "Extruder";
-const char * const MSG_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_EXTRUDER_EN
-};
-
-const char MSG_EXTRUDER_1_EN[] PROGMEM = "Extruder 1";
-const char * const MSG_EXTRUDER_1_LANG_TABLE[1] PROGMEM = {
-	MSG_EXTRUDER_1_EN
-};
-
-const char MSG_EXTRUDER_2_EN[] PROGMEM = "Extruder 2";
-const char * const MSG_EXTRUDER_2_LANG_TABLE[1] PROGMEM = {
-	MSG_EXTRUDER_2_EN
-};
-
-const char MSG_EXTRUDER_3_EN[] PROGMEM = "Extruder 3";
-const char * const MSG_EXTRUDER_3_LANG_TABLE[1] PROGMEM = {
-	MSG_EXTRUDER_3_EN
-};
-
-const char MSG_EXTRUDER_4_EN[] PROGMEM = "Extruder 4";
-const char * const MSG_EXTRUDER_4_LANG_TABLE[1] PROGMEM = {
-	MSG_EXTRUDER_4_EN
-};
-
-const char MSG_EXTRUDER_CORRECTION_EN[] PROGMEM = "E-correct";
-const char * const MSG_EXTRUDER_CORRECTION_LANG_TABLE[1] PROGMEM = {
-	MSG_EXTRUDER_CORRECTION_EN
-};
-
-const char MSG_EXTRUDER_CORRECTION_OFF_EN[] PROGMEM = "  [off";
-const char * const MSG_EXTRUDER_CORRECTION_OFF_LANG_TABLE[1] PROGMEM = {
-	MSG_EXTRUDER_CORRECTION_OFF_EN
-};
-
-const char MSG_E_CAL_KNOB_EN[] PROGMEM = "Rotate knob until mark reaches extruder body. Click when done.";
-const char MSG_E_CAL_KNOB_CZ[] PROGMEM = "Otacejte tlacitkem dokud znacka nedosahne tela extruderu. Potvrdte tlacitkem.";
-const char * const MSG_E_CAL_KNOB_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_E_CAL_KNOB_EN,
-	MSG_E_CAL_KNOB_CZ
-};
-
-const char MSG_Enqueing_EN[] PROGMEM = "enqueing \"";
-const char * const MSG_Enqueing_LANG_TABLE[1] PROGMEM = {
-	MSG_Enqueing_EN
-};
-
-const char MSG_FACTOR_EN[] PROGMEM = " \002 Fact";
-const char * const MSG_FACTOR_LANG_TABLE[1] PROGMEM = {
-	MSG_FACTOR_EN
-};
-
-const char MSG_FANS_CHECK_OFF_EN[] PROGMEM = "Fans check  [off]";
-const char MSG_FANS_CHECK_OFF_CZ[] PROGMEM = "Kontr. vent.[vyp]";
-const char * const MSG_FANS_CHECK_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FANS_CHECK_OFF_EN,
-	MSG_FANS_CHECK_OFF_CZ
-};
-
-const char MSG_FANS_CHECK_ON_EN[] PROGMEM = "Fans check   [on]";
-const char MSG_FANS_CHECK_ON_CZ[] PROGMEM = "Kontr. vent.[zap]";
-const char * const MSG_FANS_CHECK_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FANS_CHECK_ON_EN,
-	MSG_FANS_CHECK_ON_CZ
-};
-
-const char MSG_FAN_SPEED_EN[] PROGMEM = "Fan speed";
-const char MSG_FAN_SPEED_CZ[] PROGMEM = "Rychlost vent.";
-const char * const MSG_FAN_SPEED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FAN_SPEED_EN,
-	MSG_FAN_SPEED_CZ
-};
-
-const char MSG_FARM_CARD_MENU_EN[] PROGMEM = "Farm mode print";
-const char * const MSG_FARM_CARD_MENU_LANG_TABLE[1] PROGMEM = {
-	MSG_FARM_CARD_MENU_EN
-};
-
-const char MSG_FILAMENTCHANGE_EN[] PROGMEM = "Change filament";
-const char MSG_FILAMENTCHANGE_CZ[] PROGMEM = "Vymenit filament";
-const char * const MSG_FILAMENTCHANGE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILAMENTCHANGE_EN,
-	MSG_FILAMENTCHANGE_CZ
-};
-
-const char MSG_FILAMENT_CLEAN_EN[] PROGMEM = "Filament extruding & with correct color?";
-const char MSG_FILAMENT_CLEAN_CZ[] PROGMEM = "Filament vytlacen a spravne barvy?";
-const char * const MSG_FILAMENT_CLEAN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILAMENT_CLEAN_EN,
-	MSG_FILAMENT_CLEAN_CZ
-};
-
-const char MSG_FILAMENT_LOADING_T0_EN[] PROGMEM = "Insert filament into extruder 1. Click when done.";
-const char MSG_FILAMENT_LOADING_T0_CZ[] PROGMEM = "Vlozte filament do extruderu 1. Potvrdte tlacitkem.";
-const char * const MSG_FILAMENT_LOADING_T0_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILAMENT_LOADING_T0_EN,
-	MSG_FILAMENT_LOADING_T0_CZ
-};
-
-const char MSG_FILAMENT_LOADING_T1_EN[] PROGMEM = "Insert filament into extruder 2. Click when done.";
-const char MSG_FILAMENT_LOADING_T1_CZ[] PROGMEM = "Vlozte filament do extruderu 2. Potvrdte tlacitkem.";
-const char * const MSG_FILAMENT_LOADING_T1_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILAMENT_LOADING_T1_EN,
-	MSG_FILAMENT_LOADING_T1_CZ
-};
-
-const char MSG_FILAMENT_LOADING_T2_EN[] PROGMEM = "Insert filament into extruder 3. Click when done.";
-const char MSG_FILAMENT_LOADING_T2_CZ[] PROGMEM = "Vlozte filament do extruderu 3. Potvrdte tlacitkem.";
-const char * const MSG_FILAMENT_LOADING_T2_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILAMENT_LOADING_T2_EN,
-	MSG_FILAMENT_LOADING_T2_CZ
-};
-
-const char MSG_FILAMENT_LOADING_T3_EN[] PROGMEM = "Insert filament into extruder 4. Click when done.";
-const char MSG_FILAMENT_LOADING_T3_CZ[] PROGMEM = "Vlozte filament do extruderu 4. Potvrdte tlacitkem.";
-const char * const MSG_FILAMENT_LOADING_T3_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILAMENT_LOADING_T3_EN,
-	MSG_FILAMENT_LOADING_T3_CZ
-};
-
-const char MSG_FILAMENT_SENSOR_EN[] PROGMEM = "Filament sensor";
-const char MSG_FILAMENT_SENSOR_CZ[] PROGMEM = "Senzor filamentu";
-const char * const MSG_FILAMENT_SENSOR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILAMENT_SENSOR_EN,
-	MSG_FILAMENT_SENSOR_CZ
-};
-
-const char MSG_FILE_CNT_EN[] PROGMEM = "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100.";
-const char MSG_FILE_CNT_CZ[] PROGMEM = "Nektere soubory nebudou setrideny. Maximalni pocet souboru pro setrideni je 100.";
-const char * const MSG_FILE_CNT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILE_CNT_EN,
-	MSG_FILE_CNT_CZ
-};
-
-const char MSG_FILE_INCOMPLETE_EN[] PROGMEM = "File incomplete. Continue anyway?";
-const char MSG_FILE_INCOMPLETE_CZ[] PROGMEM = "Soubor nekompletni. Pokracovat?";
-const char * const MSG_FILE_INCOMPLETE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FILE_INCOMPLETE_EN,
-	MSG_FILE_INCOMPLETE_CZ
-};
-
-const char MSG_FILE_PRINTED_EN[] PROGMEM = "Done printing file";
-const char * const MSG_FILE_PRINTED_LANG_TABLE[1] PROGMEM = {
-	MSG_FILE_PRINTED_EN
-};
-
-const char MSG_FILE_SAVED_EN[] PROGMEM = "Done saving file.";
-const char * const MSG_FILE_SAVED_LANG_TABLE[1] PROGMEM = {
-	MSG_FILE_SAVED_EN
-};
-
-const char MSG_FIL_ADJUSTING_EN[] PROGMEM = "Adjusting filaments. Please wait.";
-const char MSG_FIL_ADJUSTING_CZ[] PROGMEM = "Probiha srovnani filamentu. Prosim cekejte.";
-const char * const MSG_FIL_ADJUSTING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FIL_ADJUSTING_EN,
-	MSG_FIL_ADJUSTING_CZ
-};
-
-const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN[] PROGMEM = "Iteration ";
-const char MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_CZ[] PROGMEM = "Iterace ";
-const char * const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_EN,
-	MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_CZ
-};
-
-const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN[] PROGMEM = "Searching bed calibration point";
-const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_CZ[] PROGMEM = "Hledam kalibracni bod podlozky";
-const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_EN,
-	MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_CZ
-};
-
-const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN[] PROGMEM = " of 4";
-const char MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_CZ[] PROGMEM = " z 4";
-const char * const MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_EN,
-	MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_CZ
-};
-
-const char MSG_FINISHING_MOVEMENTS_EN[] PROGMEM = "Finishing movements";
-const char MSG_FINISHING_MOVEMENTS_CZ[] PROGMEM = "Dokoncovani pohybu";
-const char * const MSG_FINISHING_MOVEMENTS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FINISHING_MOVEMENTS_EN,
-	MSG_FINISHING_MOVEMENTS_CZ
-};
-
-const char MSG_FLOW_EN[] PROGMEM = "Flow";
-const char MSG_FLOW_CZ[] PROGMEM = "Prutok";
-const char * const MSG_FLOW_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FLOW_EN,
-	MSG_FLOW_CZ
-};
-
-const char MSG_FLOW0_EN[] PROGMEM = "Flow 0";
-const char * const MSG_FLOW0_LANG_TABLE[1] PROGMEM = {
-	MSG_FLOW0_EN
-};
-
-const char MSG_FLOW1_EN[] PROGMEM = "Flow 1";
-const char * const MSG_FLOW1_LANG_TABLE[1] PROGMEM = {
-	MSG_FLOW1_EN
-};
-
-const char MSG_FLOW2_EN[] PROGMEM = "Flow 2";
-const char * const MSG_FLOW2_LANG_TABLE[1] PROGMEM = {
-	MSG_FLOW2_EN
-};
-
-const char MSG_FOLLOW_CALIBRATION_FLOW_EN[] PROGMEM = "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow.";
-const char MSG_FOLLOW_CALIBRATION_FLOW_CZ[] PROGMEM = "Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace.";
-const char * const MSG_FOLLOW_CALIBRATION_FLOW_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FOLLOW_CALIBRATION_FLOW_EN,
-	MSG_FOLLOW_CALIBRATION_FLOW_CZ
-};
-
-const char MSG_FORCE_SELFTEST_EN[] PROGMEM = "Selftest will be run to calibrate accurate sensorless rehoming.";
-const char MSG_FORCE_SELFTEST_CZ[] PROGMEM = "Pro kalibraci presneho rehomovani bude nyni spusten selftest.";
-const char * const MSG_FORCE_SELFTEST_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FORCE_SELFTEST_EN,
-	MSG_FORCE_SELFTEST_CZ
-};
-
-const char MSG_FREE_MEMORY_EN[] PROGMEM = " Free Memory: ";
-const char * const MSG_FREE_MEMORY_LANG_TABLE[1] PROGMEM = {
-	MSG_FREE_MEMORY_EN
-};
-
-const char MSG_FSENSOR_NA_EN[] PROGMEM = "Fil. sensor [N/A]";
-const char MSG_FSENSOR_NA_CZ[] PROGMEM = "Fil. senzor [N/A]";
-const char * const MSG_FSENSOR_NA_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FSENSOR_NA_EN,
-	MSG_FSENSOR_NA_CZ
-};
-
-const char MSG_FSENSOR_OFF_EN[] PROGMEM = "Fil. sensor [off]";
-const char MSG_FSENSOR_OFF_CZ[] PROGMEM = "Fil. senzor [vyp]";
-const char * const MSG_FSENSOR_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FSENSOR_OFF_EN,
-	MSG_FSENSOR_OFF_CZ
-};
-
-const char MSG_FSENSOR_ON_EN[] PROGMEM = "Fil. sensor  [on]";
-const char MSG_FSENSOR_ON_CZ[] PROGMEM = "Fil. senzor [zap]";
-const char * const MSG_FSENSOR_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FSENSOR_ON_EN,
-	MSG_FSENSOR_ON_CZ
-};
-
-const char MSG_FSENS_AUTOLOAD_NA_EN[] PROGMEM = "F. autoload [N/A]";
-const char MSG_FSENS_AUTOLOAD_NA_CZ[] PROGMEM = "F. autozav. [N/A]";
-const char * const MSG_FSENS_AUTOLOAD_NA_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FSENS_AUTOLOAD_NA_EN,
-	MSG_FSENS_AUTOLOAD_NA_CZ
-};
-
-const char MSG_FSENS_AUTOLOAD_OFF_EN[] PROGMEM = "F. autoload [off]";
-const char MSG_FSENS_AUTOLOAD_OFF_CZ[] PROGMEM = "F. autozav. [vyp]";
-const char * const MSG_FSENS_AUTOLOAD_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FSENS_AUTOLOAD_OFF_EN,
-	MSG_FSENS_AUTOLOAD_OFF_CZ
-};
-
-const char MSG_FSENS_AUTOLOAD_ON_EN[] PROGMEM = "F. autoload  [on]";
-const char MSG_FSENS_AUTOLOAD_ON_CZ[] PROGMEM = "F. autozav. [zap]";
-const char * const MSG_FSENS_AUTOLOAD_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FSENS_AUTOLOAD_ON_EN,
-	MSG_FSENS_AUTOLOAD_ON_CZ
-};
-
-const char MSG_FSENS_NOT_RESPONDING_EN[] PROGMEM = "ERROR: Filament sensor is not responding, please check connection.";
-const char MSG_FSENS_NOT_RESPONDING_CZ[] PROGMEM = "CHYBA: Filament senzor nereaguje, zkontrolujte zapojeni.";
-const char * const MSG_FSENS_NOT_RESPONDING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FSENS_NOT_RESPONDING_EN,
-	MSG_FSENS_NOT_RESPONDING_CZ
-};
-
-const char MSG_FW_VERSION_ALPHA_EN[] PROGMEM = "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage.";
-const char MSG_FW_VERSION_ALPHA_CZ[] PROGMEM = "Pouzivate alpha verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny.";
-const char * const MSG_FW_VERSION_ALPHA_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FW_VERSION_ALPHA_EN,
-	MSG_FW_VERSION_ALPHA_CZ
-};
-
-const char MSG_FW_VERSION_BETA_EN[] PROGMEM = "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage.";
-const char MSG_FW_VERSION_BETA_CZ[] PROGMEM = "Pouzivate beta verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny.";
-const char * const MSG_FW_VERSION_BETA_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FW_VERSION_BETA_EN,
-	MSG_FW_VERSION_BETA_CZ
-};
-
-const char MSG_FW_VERSION_RC_EN[] PROGMEM = "This firmware version is release candidate. Some of the features may not work properly.";
-const char MSG_FW_VERSION_RC_CZ[] PROGMEM = "Tato verze firmware je release candidate. Nektere z funkci nemusi pracovat spolehlive.";
-const char * const MSG_FW_VERSION_RC_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FW_VERSION_RC_EN,
-	MSG_FW_VERSION_RC_CZ
-};
-
-const char MSG_FW_VERSION_UNKNOWN_EN[] PROGMEM = "WARNING: This is an unofficial, unsupported build. Use at your own risk!";
-const char MSG_FW_VERSION_UNKNOWN_CZ[] PROGMEM = "VAROVANI: Neznama, nepodporovana verze firmware. Pouziti na vlastni nebezpeci!";
-const char * const MSG_FW_VERSION_UNKNOWN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_FW_VERSION_UNKNOWN_EN,
-	MSG_FW_VERSION_UNKNOWN_CZ
-};
-
-const char MSG_HEATING_EN[] PROGMEM = "Heating";
-const char MSG_HEATING_CZ[] PROGMEM = "Zahrivani";
-const char * const MSG_HEATING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_HEATING_EN,
-	MSG_HEATING_CZ
-};
-
-const char MSG_HEATING_COMPLETE_EN[] PROGMEM = "Heating done.";
-const char MSG_HEATING_COMPLETE_CZ[] PROGMEM = "Zahrivani OK.";
-const char * const MSG_HEATING_COMPLETE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_HEATING_COMPLETE_EN,
-	MSG_HEATING_COMPLETE_CZ
-};
-
-const char MSG_HOMEYZ_EN[] PROGMEM = "Calibrate Z";
-const char MSG_HOMEYZ_CZ[] PROGMEM = "Kalibrovat Z";
-const char * const MSG_HOMEYZ_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_HOMEYZ_EN,
-	MSG_HOMEYZ_CZ
-};
-
-const char MSG_HOMEYZ_DONE_EN[] PROGMEM = "Calibration done";
-const char MSG_HOMEYZ_DONE_CZ[] PROGMEM = "Kalibrace OK";
-const char * const MSG_HOMEYZ_DONE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_HOMEYZ_DONE_EN,
-	MSG_HOMEYZ_DONE_CZ
-};
-
-const char MSG_HOMEYZ_PROGRESS_EN[] PROGMEM = "Calibrating Z";
-const char MSG_HOMEYZ_PROGRESS_CZ[] PROGMEM = "Kalibruji Z";
-const char * const MSG_HOMEYZ_PROGRESS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_HOMEYZ_PROGRESS_EN,
-	MSG_HOMEYZ_PROGRESS_CZ
-};
-
-const char MSG_HOTEND_OFFSET_EN[] PROGMEM = "Hotend offsets:";
-const char * const MSG_HOTEND_OFFSET_LANG_TABLE[1] PROGMEM = {
-	MSG_HOTEND_OFFSET_EN
-};
-
-const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN[] PROGMEM = "Improving bed calibration point";
-const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_CZ[] PROGMEM = "Zlepsuji presnost kalibracniho bodu";
-const char * const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_EN,
-	MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_CZ
-};
-
-const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN[] PROGMEM = " of 4";
-const char MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_CZ[] PROGMEM = " z 4";
-const char * const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_EN,
-	MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_CZ
-};
-
-const char MSG_INFO_EXTRUDER_EN[] PROGMEM = "Extruder info";
-const char * const MSG_INFO_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_INFO_EXTRUDER_EN
-};
-
-const char MSG_INFO_FILAMENT_XDIFF_EN[] PROGMEM = "Fil. Xd:";
-const char * const MSG_INFO_FILAMENT_XDIFF_LANG_TABLE[1] PROGMEM = {
-	MSG_INFO_FILAMENT_XDIFF_EN
-};
-
-const char MSG_INFO_FILAMENT_YDIFF_EN[] PROGMEM = "Fil. Ydiff:";
-const char * const MSG_INFO_FILAMENT_YDIFF_LANG_TABLE[1] PROGMEM = {
-	MSG_INFO_FILAMENT_YDIFF_EN
-};
-
-const char MSG_INFO_NOZZLE_FAN_EN[] PROGMEM = "Nozzle FAN:";
-const char MSG_INFO_NOZZLE_FAN_CZ[] PROGMEM = "Trysk. vent:";
-const char * const MSG_INFO_NOZZLE_FAN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_INFO_NOZZLE_FAN_EN,
-	MSG_INFO_NOZZLE_FAN_CZ
-};
-
-const char MSG_INFO_PRINT_FAN_EN[] PROGMEM = "Print FAN: ";
-const char MSG_INFO_PRINT_FAN_CZ[] PROGMEM = "Tisk. vent:";
-const char * const MSG_INFO_PRINT_FAN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_INFO_PRINT_FAN_EN,
-	MSG_INFO_PRINT_FAN_CZ
-};
-
-const char MSG_INIT_SDCARD_EN[] PROGMEM = "Init. SD card";
-const char * const MSG_INIT_SDCARD_LANG_TABLE[1] PROGMEM = {
-	MSG_INIT_SDCARD_EN
-};
-
-const char MSG_INSERT_FILAMENT_EN[] PROGMEM = "Insert filament";
-const char MSG_INSERT_FILAMENT_CZ[] PROGMEM = "Vlozte filament";
-const char * const MSG_INSERT_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_INSERT_FILAMENT_EN,
-	MSG_INSERT_FILAMENT_CZ
-};
-
-const char MSG_INVALID_EXTRUDER_EN[] PROGMEM = "Invalid extruder";
-const char * const MSG_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_INVALID_EXTRUDER_EN
-};
-
-const char MSG_KILLED_EN[] PROGMEM = "KILLED. ";
-const char * const MSG_KILLED_LANG_TABLE[1] PROGMEM = {
-	MSG_KILLED_EN
-};
-
-const char MSG_LANGUAGE_NAME_EN[] PROGMEM = "English";
-const char MSG_LANGUAGE_NAME_CZ[] PROGMEM = "Cestina";
-const char * const MSG_LANGUAGE_NAME_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LANGUAGE_NAME_EN,
-	MSG_LANGUAGE_NAME_CZ
-};
-
-const char MSG_LANGUAGE_SELECT_EN[] PROGMEM = "Select language";
-const char MSG_LANGUAGE_SELECT_CZ[] PROGMEM = "Vyber jazyka";
-const char * const MSG_LANGUAGE_SELECT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LANGUAGE_SELECT_EN,
-	MSG_LANGUAGE_SELECT_CZ
-};
-
-const char MSG_LEFT_EN[] PROGMEM = "Left:";
-const char MSG_LEFT_CZ[] PROGMEM = "Levy:";
-const char * const MSG_LEFT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LEFT_EN,
-	MSG_LEFT_CZ
-};
-
-const char MSG_LOADING_COLOR_EN[] PROGMEM = "Loading color";
-const char MSG_LOADING_COLOR_CZ[] PROGMEM = "Cisteni barvy";
-const char * const MSG_LOADING_COLOR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOADING_COLOR_EN,
-	MSG_LOADING_COLOR_CZ
-};
-
-const char MSG_LOADING_FILAMENT_EN[] PROGMEM = "Loading filament";
-const char MSG_LOADING_FILAMENT_CZ[] PROGMEM = "Zavadeni filamentu";
-const char * const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOADING_FILAMENT_EN,
-	MSG_LOADING_FILAMENT_CZ
-};
-
-const char MSG_LOAD_ALL_EN[] PROGMEM = "Load all";
-const char MSG_LOAD_ALL_CZ[] PROGMEM = "Zavest vse";
-const char * const MSG_LOAD_ALL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOAD_ALL_EN,
-	MSG_LOAD_ALL_CZ
-};
-
-const char MSG_LOAD_EPROM_EN[] PROGMEM = "Load memory";
-const char * const MSG_LOAD_EPROM_LANG_TABLE[1] PROGMEM = {
-	MSG_LOAD_EPROM_EN
-};
-
-const char MSG_LOAD_FILAMENT_EN[] PROGMEM = "Load filament";
-const char MSG_LOAD_FILAMENT_CZ[] PROGMEM = "Zavest filament";
-const char * const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOAD_FILAMENT_EN,
-	MSG_LOAD_FILAMENT_CZ
-};
-
-const char MSG_LOAD_FILAMENT_1_EN[] PROGMEM = "Load filament 1";
-const char MSG_LOAD_FILAMENT_1_CZ[] PROGMEM = "Zavest filament 1";
-const char * const MSG_LOAD_FILAMENT_1_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOAD_FILAMENT_1_EN,
-	MSG_LOAD_FILAMENT_1_CZ
-};
-
-const char MSG_LOAD_FILAMENT_2_EN[] PROGMEM = "Load filament 2";
-const char MSG_LOAD_FILAMENT_2_CZ[] PROGMEM = "Zavest filament 2";
-const char * const MSG_LOAD_FILAMENT_2_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOAD_FILAMENT_2_EN,
-	MSG_LOAD_FILAMENT_2_CZ
-};
-
-const char MSG_LOAD_FILAMENT_3_EN[] PROGMEM = "Load filament 3";
-const char MSG_LOAD_FILAMENT_3_CZ[] PROGMEM = "Zavest filament 3";
-const char * const MSG_LOAD_FILAMENT_3_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOAD_FILAMENT_3_EN,
-	MSG_LOAD_FILAMENT_3_CZ
-};
-
-const char MSG_LOAD_FILAMENT_4_EN[] PROGMEM = "Load filament 4";
-const char MSG_LOAD_FILAMENT_4_CZ[] PROGMEM = "Zavest filament 4";
-const char * const MSG_LOAD_FILAMENT_4_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOAD_FILAMENT_4_EN,
-	MSG_LOAD_FILAMENT_4_CZ
-};
-
-const char MSG_LOOSE_PULLEY_EN[] PROGMEM = "Loose pulley";
-const char MSG_LOOSE_PULLEY_CZ[] PROGMEM = "Uvolnena remenicka";
-const char * const MSG_LOOSE_PULLEY_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_LOOSE_PULLEY_EN,
-	MSG_LOOSE_PULLEY_CZ
-};
-
-const char MSG_M104_INVALID_EXTRUDER_EN[] PROGMEM = "M104 Invalid extruder ";
-const char * const MSG_M104_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_M104_INVALID_EXTRUDER_EN
-};
-
-const char MSG_M105_INVALID_EXTRUDER_EN[] PROGMEM = "M105 Invalid extruder ";
-const char * const MSG_M105_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_M105_INVALID_EXTRUDER_EN
-};
-
-const char MSG_M109_INVALID_EXTRUDER_EN[] PROGMEM = "M109 Invalid extruder ";
-const char * const MSG_M109_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_M109_INVALID_EXTRUDER_EN
-};
-
-const char MSG_M117_V2_CALIBRATION_EN[] PROGMEM = "M117 First layer cal.";
-const char MSG_M117_V2_CALIBRATION_CZ[] PROGMEM = "M117 Kal. prvni vrstvy";
-const char * const MSG_M117_V2_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_M117_V2_CALIBRATION_EN,
-	MSG_M117_V2_CALIBRATION_CZ
-};
-
-const char MSG_M119_REPORT_EN[] PROGMEM = "Reporting endstop status";
-const char * const MSG_M119_REPORT_LANG_TABLE[1] PROGMEM = {
-	MSG_M119_REPORT_EN
-};
-
-const char MSG_M200_INVALID_EXTRUDER_EN[] PROGMEM = "M200 Invalid extruder ";
-const char * const MSG_M200_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_M200_INVALID_EXTRUDER_EN
-};
-
-const char MSG_M218_INVALID_EXTRUDER_EN[] PROGMEM = "M218 Invalid extruder ";
-const char * const MSG_M218_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_M218_INVALID_EXTRUDER_EN
-};
-
-const char MSG_M221_INVALID_EXTRUDER_EN[] PROGMEM = "M221 Invalid extruder ";
-const char * const MSG_M221_INVALID_EXTRUDER_LANG_TABLE[1] PROGMEM = {
-	MSG_M221_INVALID_EXTRUDER_EN
-};
-
-const char MSG_MAIN_EN[] PROGMEM = "Main";
-const char MSG_MAIN_CZ[] PROGMEM = "Hlavni nabidka";
-const char * const MSG_MAIN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MAIN_EN,
-	MSG_MAIN_CZ
-};
-
-const char MSG_MARK_FIL_EN[] PROGMEM = "Mark filament 100mm from extruder body. Click when done.";
-const char MSG_MARK_FIL_CZ[] PROGMEM = "Oznacte filament 100 mm od tela extruderu a po te potvrdte tlacitkem.";
-const char * const MSG_MARK_FIL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MARK_FIL_EN,
-	MSG_MARK_FIL_CZ
-};
-
-const char MSG_MAX_EN[] PROGMEM = " \002 Max";
-const char * const MSG_MAX_LANG_TABLE[1] PROGMEM = {
-	MSG_MAX_EN
-};
-
-const char MSG_MEASURED_OFFSET_EN[] PROGMEM = "[0;0] point offset";
-const char * const MSG_MEASURED_OFFSET_LANG_TABLE[1] PROGMEM = {
-	MSG_MEASURED_OFFSET_EN
-};
-
-const char MSG_MEASURED_SKEW_EN[] PROGMEM = "Measured skew:";
-const char MSG_MEASURED_SKEW_CZ[] PROGMEM = "Merene zkoseni:";
-const char * const MSG_MEASURED_SKEW_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MEASURED_SKEW_EN,
-	MSG_MEASURED_SKEW_CZ
-};
-
-const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_EN[] PROGMEM = "Measuring reference height of calibration point";
-const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_CZ[] PROGMEM = "Merim referencni vysku kalibracniho bodu";
-const char * const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_EN,
-	MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_CZ
-};
-
-const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_EN[] PROGMEM = " of 9";
-const char MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_CZ[] PROGMEM = " z 9";
-const char * const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_EN,
-	MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_CZ
-};
-
-const char MSG_MENU_BELT_STATUS_EN[] PROGMEM = "Belt status";
-const char MSG_MENU_BELT_STATUS_CZ[] PROGMEM = "Stav remenu";
-const char * const MSG_MENU_BELT_STATUS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MENU_BELT_STATUS_EN,
-	MSG_MENU_BELT_STATUS_CZ
-};
-
-const char MSG_MENU_CALIBRATION_EN[] PROGMEM = "Calibration";
-const char MSG_MENU_CALIBRATION_CZ[] PROGMEM = "Kalibrace";
-const char * const MSG_MENU_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MENU_CALIBRATION_EN,
-	MSG_MENU_CALIBRATION_CZ
-};
-
-const char MSG_MENU_TEMPERATURES_EN[] PROGMEM = "Temperatures";
-const char MSG_MENU_TEMPERATURES_CZ[] PROGMEM = "Teploty";
-const char * const MSG_MENU_TEMPERATURES_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MENU_TEMPERATURES_EN,
-	MSG_MENU_TEMPERATURES_CZ
-};
-
-const char MSG_MENU_VOLTAGES_EN[] PROGMEM = "Voltages";
-const char MSG_MENU_VOLTAGES_CZ[] PROGMEM = "Napeti";
-const char * const MSG_MENU_VOLTAGES_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MENU_VOLTAGES_EN,
-	MSG_MENU_VOLTAGES_CZ
-};
-
-const char MSG_MESH_BED_LEVELING_EN[] PROGMEM = "Mesh Bed Leveling";
-const char * const MSG_MESH_BED_LEVELING_LANG_TABLE[1] PROGMEM = {
-	MSG_MESH_BED_LEVELING_EN
-};
-
-const char MSG_MIN_EN[] PROGMEM = " \002 Min";
-const char * const MSG_MIN_LANG_TABLE[1] PROGMEM = {
-	MSG_MIN_EN
-};
-
-const char MSG_MOTION_EN[] PROGMEM = "Motion";
-const char * const MSG_MOTION_LANG_TABLE[1] PROGMEM = {
-	MSG_MOTION_EN
-};
-
-const char MSG_MOVE_01MM_EN[] PROGMEM = "Move 0.1mm";
-const char * const MSG_MOVE_01MM_LANG_TABLE[1] PROGMEM = {
-	MSG_MOVE_01MM_EN
-};
-
-const char MSG_MOVE_10MM_EN[] PROGMEM = "Move 10mm";
-const char * const MSG_MOVE_10MM_LANG_TABLE[1] PROGMEM = {
-	MSG_MOVE_10MM_EN
-};
-
-const char MSG_MOVE_1MM_EN[] PROGMEM = "Move 1mm";
-const char * const MSG_MOVE_1MM_LANG_TABLE[1] PROGMEM = {
-	MSG_MOVE_1MM_EN
-};
-
-const char MSG_MOVE_AXIS_EN[] PROGMEM = "Move axis";
-const char MSG_MOVE_AXIS_CZ[] PROGMEM = "Posunout osu";
-const char * const MSG_MOVE_AXIS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MOVE_AXIS_EN,
-	MSG_MOVE_AXIS_CZ
-};
-
-const char MSG_MOVE_CARRIAGE_TO_THE_TOP_EN[] PROGMEM = "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done.";
-const char MSG_MOVE_CARRIAGE_TO_THE_TOP_CZ[] PROGMEM = "Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem.";
-const char * const MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MOVE_CARRIAGE_TO_THE_TOP_EN,
-	MSG_MOVE_CARRIAGE_TO_THE_TOP_CZ
-};
-
-const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_EN[] PROGMEM = "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done.";
-const char MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_CZ[] PROGMEM = "Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem.";
-const char * const MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_EN,
-	MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_CZ
-};
-
-const char MSG_MOVE_E_EN[] PROGMEM = "Extruder";
-const char * const MSG_MOVE_E_LANG_TABLE[1] PROGMEM = {
-	MSG_MOVE_E_EN
-};
-
-const char MSG_MOVE_X_EN[] PROGMEM = "Move X";
-const char MSG_MOVE_X_CZ[] PROGMEM = "Posunout X";
-const char * const MSG_MOVE_X_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MOVE_X_EN,
-	MSG_MOVE_X_CZ
-};
-
-const char MSG_MOVE_Y_EN[] PROGMEM = "Move Y";
-const char MSG_MOVE_Y_CZ[] PROGMEM = "Posunout Y";
-const char * const MSG_MOVE_Y_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MOVE_Y_EN,
-	MSG_MOVE_Y_CZ
-};
-
-const char MSG_MOVE_Z_EN[] PROGMEM = "Move Z";
-const char MSG_MOVE_Z_CZ[] PROGMEM = "Posunout Z";
-const char * const MSG_MOVE_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_MOVE_Z_EN,
-	MSG_MOVE_Z_CZ
-};
-
-const char MSG_NEW_FIRMWARE_AVAILABLE_EN[] PROGMEM = "New firmware version available:";
-const char MSG_NEW_FIRMWARE_AVAILABLE_CZ[] PROGMEM = "Vysla nova verze firmware:";
-const char * const MSG_NEW_FIRMWARE_AVAILABLE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_NEW_FIRMWARE_AVAILABLE_EN,
-	MSG_NEW_FIRMWARE_AVAILABLE_CZ
-};
-
-const char MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN[] PROGMEM = "Please upgrade.";
-const char MSG_NEW_FIRMWARE_PLEASE_UPGRADE_CZ[] PROGMEM = "Prosim aktualizujte.";
-const char * const MSG_NEW_FIRMWARE_PLEASE_UPGRADE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_NEW_FIRMWARE_PLEASE_UPGRADE_EN,
-	MSG_NEW_FIRMWARE_PLEASE_UPGRADE_CZ
-};
-
-const char MSG_NO_EN[] PROGMEM = "No";
-const char MSG_NO_CZ[] PROGMEM = "Ne";
-const char * const MSG_NO_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_NO_EN,
-	MSG_NO_CZ
-};
-
-const char MSG_NOT_COLOR_EN[] PROGMEM = "Color not correct";
-const char MSG_NOT_COLOR_CZ[] PROGMEM = "Barva neni cista";
-const char * const MSG_NOT_COLOR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_NOT_COLOR_EN,
-	MSG_NOT_COLOR_CZ
-};
-
-const char MSG_NOT_LOADED_EN[] PROGMEM = "Filament not loaded";
-const char MSG_NOT_LOADED_CZ[] PROGMEM = "Filament nezaveden";
-const char * const MSG_NOT_LOADED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_NOT_LOADED_EN,
-	MSG_NOT_LOADED_CZ
-};
-
-const char MSG_NOZZLE_EN[] PROGMEM = "Nozzle";
-const char MSG_NOZZLE_CZ[] PROGMEM = "Tryska";
-const char * const MSG_NOZZLE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_NOZZLE_EN,
-	MSG_NOZZLE_CZ
-};
-
-const char MSG_NOZZLE1_EN[] PROGMEM = "Nozzle2";
-const char * const MSG_NOZZLE1_LANG_TABLE[1] PROGMEM = {
-	MSG_NOZZLE1_EN
-};
-
-const char MSG_NOZZLE2_EN[] PROGMEM = "Nozzle3";
-const char * const MSG_NOZZLE2_LANG_TABLE[1] PROGMEM = {
-	MSG_NOZZLE2_EN
-};
-
-const char MSG_NO_CARD_EN[] PROGMEM = "No SD card";
-const char MSG_NO_CARD_CZ[] PROGMEM = "Zadna SD karta";
-const char * const MSG_NO_CARD_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_NO_CARD_EN,
-	MSG_NO_CARD_CZ
-};
-
-const char MSG_NO_MOVE_EN[] PROGMEM = "No move.";
-const char * const MSG_NO_MOVE_LANG_TABLE[1] PROGMEM = {
-	MSG_NO_MOVE_EN
-};
-
-const char MSG_OFF_EN[] PROGMEM = "Off";
-const char * const MSG_OFF_LANG_TABLE[1] PROGMEM = {
-	MSG_OFF_EN
-};
-
-const char MSG_OK_EN[] PROGMEM = "ok";
-const char * const MSG_OK_LANG_TABLE[1] PROGMEM = {
-	MSG_OK_EN
-};
-
-const char MSG_ON_EN[] PROGMEM = "On ";
-const char * const MSG_ON_LANG_TABLE[1] PROGMEM = {
-	MSG_ON_EN
-};
-
-const char MSG_PAPER_EN[] PROGMEM = "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.";
-const char MSG_PAPER_CZ[] PROGMEM = "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, vypnete tiskarnu.";
-const char * const MSG_PAPER_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PAPER_EN,
-	MSG_PAPER_CZ
-};
-
-const char MSG_PAUSE_PRINT_EN[] PROGMEM = "Pause print";
-const char MSG_PAUSE_PRINT_CZ[] PROGMEM = "Pozastavit tisk";
-const char * const MSG_PAUSE_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PAUSE_PRINT_EN,
-	MSG_PAUSE_PRINT_CZ
-};
-
-const char MSG_PICK_Z_EN[] PROGMEM = "Pick print";
-const char MSG_PICK_Z_CZ[] PROGMEM = "Vyberte vytisk";
-const char * const MSG_PICK_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PICK_Z_EN,
-	MSG_PICK_Z_CZ
-};
-
-const char MSG_PID_EXTRUDER_EN[] PROGMEM = "PID calibration";
-const char MSG_PID_EXTRUDER_CZ[] PROGMEM = "PID kalibrace";
-const char * const MSG_PID_EXTRUDER_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PID_EXTRUDER_EN,
-	MSG_PID_EXTRUDER_CZ
-};
-
-const char MSG_PID_FINISHED_EN[] PROGMEM = "PID cal. finished";
-const char MSG_PID_FINISHED_CZ[] PROGMEM = "PID kal. ukoncena";
-const char * const MSG_PID_FINISHED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PID_FINISHED_EN,
-	MSG_PID_FINISHED_CZ
-};
-
-const char MSG_PID_RUNNING_EN[] PROGMEM = "PID cal.           ";
-const char MSG_PID_RUNNING_CZ[] PROGMEM = "PID kal.           ";
-const char * const MSG_PID_RUNNING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PID_RUNNING_EN,
-	MSG_PID_RUNNING_CZ
-};
-
-const char MSG_PINDA_NOT_CALIBRATED_EN[] PROGMEM = "Temperature calibration has not been run yet";
-const char MSG_PINDA_NOT_CALIBRATED_CZ[] PROGMEM = "Tiskarna nebyla teplotne zkalibrovana";
-const char * const MSG_PINDA_NOT_CALIBRATED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PINDA_NOT_CALIBRATED_EN,
-	MSG_PINDA_NOT_CALIBRATED_CZ
-};
-
-const char MSG_PINDA_PREHEAT_EN[] PROGMEM = "PINDA Heating";
-const char MSG_PINDA_PREHEAT_CZ[] PROGMEM = "Nahrivani PINDA";
-const char * const MSG_PINDA_PREHEAT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PINDA_PREHEAT_EN,
-	MSG_PINDA_PREHEAT_CZ
-};
-
-const char MSG_PLACE_STEEL_SHEET_EN[] PROGMEM = "Please place steel sheet on heatbed.";
-const char MSG_PLACE_STEEL_SHEET_CZ[] PROGMEM = "Umistete prosim tiskovy plat na heatbed";
-const char * const MSG_PLACE_STEEL_SHEET_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PLACE_STEEL_SHEET_EN,
-	MSG_PLACE_STEEL_SHEET_CZ
-};
-
-const char MSG_PLANNER_BUFFER_BYTES_EN[] PROGMEM = "  PlannerBufferBytes: ";
-const char * const MSG_PLANNER_BUFFER_BYTES_LANG_TABLE[1] PROGMEM = {
-	MSG_PLANNER_BUFFER_BYTES_EN
-};
-
-const char MSG_PLA_FILAMENT_LOADED_EN[] PROGMEM = "Is PLA filament loaded?";
-const char MSG_PLA_FILAMENT_LOADED_CZ[] PROGMEM = "Je PLA filament zaveden?";
-const char * const MSG_PLA_FILAMENT_LOADED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PLA_FILAMENT_LOADED_EN,
-	MSG_PLA_FILAMENT_LOADED_CZ
-};
-
-const char MSG_PLEASE_LOAD_PLA_EN[] PROGMEM = "Please load PLA filament first.";
-const char MSG_PLEASE_LOAD_PLA_CZ[] PROGMEM = "Nejdrive zavedte PLA filament prosim.";
-const char * const MSG_PLEASE_LOAD_PLA_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PLEASE_LOAD_PLA_EN,
-	MSG_PLEASE_LOAD_PLA_CZ
-};
-
-const char MSG_PLEASE_WAIT_EN[] PROGMEM = "Please wait";
-const char MSG_PLEASE_WAIT_CZ[] PROGMEM = "Prosim cekejte";
-const char * const MSG_PLEASE_WAIT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PLEASE_WAIT_EN,
-	MSG_PLEASE_WAIT_CZ
-};
-
-const char MSG_POSITION_UNKNOWN_EN[] PROGMEM = "Home X/Y before Z";
-const char * const MSG_POSITION_UNKNOWN_LANG_TABLE[1] PROGMEM = {
-	MSG_POSITION_UNKNOWN_EN
-};
-
-const char MSG_POWERUP_EN[] PROGMEM = "PowerUp";
-const char * const MSG_POWERUP_LANG_TABLE[1] PROGMEM = {
-	MSG_POWERUP_EN
-};
-
-const char MSG_PREHEAT_EN[] PROGMEM = "Preheat";
-const char MSG_PREHEAT_CZ[] PROGMEM = "Predehrev";
-const char * const MSG_PREHEAT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PREHEAT_EN,
-	MSG_PREHEAT_CZ
-};
-
-const char MSG_PREHEAT_NOZZLE_EN[] PROGMEM = "Preheat the nozzle!";
-const char MSG_PREHEAT_NOZZLE_CZ[] PROGMEM = "Predehrejte trysku!";
-const char * const MSG_PREHEAT_NOZZLE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PREHEAT_NOZZLE_EN,
-	MSG_PREHEAT_NOZZLE_CZ
-};
-
-const char MSG_PREPARE_FILAMENT_EN[] PROGMEM = "Prepare new filament";
-const char MSG_PREPARE_FILAMENT_CZ[] PROGMEM = "Pripravte filament";
-const char * const MSG_PREPARE_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PREPARE_FILAMENT_EN,
-	MSG_PREPARE_FILAMENT_CZ
-};
-
-const char MSG_PRESS_EN[] PROGMEM = "and press the knob";
-const char MSG_PRESS_CZ[] PROGMEM = "a stisknete tlacitko";
-const char * const MSG_PRESS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PRESS_EN,
-	MSG_PRESS_CZ
-};
-
-const char MSG_PRESS_TO_PREHEAT_EN[] PROGMEM = "Press knob to preheat nozzle and continue.";
-const char MSG_PRESS_TO_PREHEAT_CZ[] PROGMEM = "Pro nahrati trysky a pokracovani stisknete tlacitko.";
-const char * const MSG_PRESS_TO_PREHEAT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PRESS_TO_PREHEAT_EN,
-	MSG_PRESS_TO_PREHEAT_CZ
-};
-
-const char MSG_PRESS_TO_UNLOAD_EN[] PROGMEM = "Please press the knob to unload filament";
-const char MSG_PRESS_TO_UNLOAD_CZ[] PROGMEM = "Pro vysunuti filamentu stisknete prosim tlacitko";
-const char * const MSG_PRESS_TO_UNLOAD_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PRESS_TO_UNLOAD_EN,
-	MSG_PRESS_TO_UNLOAD_CZ
-};
-
-const char MSG_PRINTER_DISCONNECTED_EN[] PROGMEM = "Printer disconnected";
-const char * const MSG_PRINTER_DISCONNECTED_LANG_TABLE[1] PROGMEM = {
-	MSG_PRINTER_DISCONNECTED_EN
-};
-
-const char MSG_PRINT_ABORTED_EN[] PROGMEM = "Print aborted";
-const char MSG_PRINT_ABORTED_CZ[] PROGMEM = "Tisk prerusen";
-const char * const MSG_PRINT_ABORTED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PRINT_ABORTED_EN,
-	MSG_PRINT_ABORTED_CZ
-};
-
-const char MSG_PRINT_PAUSED_EN[] PROGMEM = "Print paused";
-const char MSG_PRINT_PAUSED_CZ[] PROGMEM = "Tisk pozastaven";
-const char * const MSG_PRINT_PAUSED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PRINT_PAUSED_EN,
-	MSG_PRINT_PAUSED_CZ
-};
-
-const char MSG_PRUSA3D_EN[] PROGMEM = "prusa3d.com";
-const char MSG_PRUSA3D_CZ[] PROGMEM = "prusa3d.cz";
-const char * const MSG_PRUSA3D_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PRUSA3D_EN,
-	MSG_PRUSA3D_CZ
-};
-
-const char MSG_PRUSA3D_FORUM_EN[] PROGMEM = "forum.prusa3d.com";
-const char MSG_PRUSA3D_FORUM_CZ[] PROGMEM = "forum.prusa3d.cz";
-const char * const MSG_PRUSA3D_FORUM_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PRUSA3D_FORUM_EN,
-	MSG_PRUSA3D_FORUM_CZ
-};
-
-const char MSG_PRUSA3D_HOWTO_EN[] PROGMEM = "howto.prusa3d.com";
-const char MSG_PRUSA3D_HOWTO_CZ[] PROGMEM = "howto.prusa3d.cz";
-const char * const MSG_PRUSA3D_HOWTO_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PRUSA3D_HOWTO_EN,
-	MSG_PRUSA3D_HOWTO_CZ
-};
-
-const char MSG_PULL_OUT_FILAMENT_EN[] PROGMEM = "Please pull out filament immediately";
-const char MSG_PULL_OUT_FILAMENT_CZ[] PROGMEM = "Prosim vyjmete urychlene filament";
-const char * const MSG_PULL_OUT_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_PULL_OUT_FILAMENT_EN,
-	MSG_PULL_OUT_FILAMENT_CZ
-};
-
-const char MSG_REBOOT_EN[] PROGMEM = "Reboot the printer";
-const char MSG_REBOOT_CZ[] PROGMEM = "Restartujte tiskarnu";
-const char * const MSG_REBOOT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_REBOOT_EN,
-	MSG_REBOOT_CZ
-};
-
-const char MSG_RECOVERING_PRINT_EN[] PROGMEM = "Recovering print    ";
-const char MSG_RECOVERING_PRINT_CZ[] PROGMEM = "Obnovovani tisku    ";
-const char * const MSG_RECOVERING_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_RECOVERING_PRINT_EN,
-	MSG_RECOVERING_PRINT_CZ
-};
-
-const char MSG_RECOVER_PRINT_EN[] PROGMEM = "Blackout occurred. Recover print?";
-const char MSG_RECOVER_PRINT_CZ[] PROGMEM = "Detekovan vypadek proudu.Obnovit tisk?";
-const char * const MSG_RECOVER_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_RECOVER_PRINT_EN,
-	MSG_RECOVER_PRINT_CZ
-};
-
-const char MSG_RECTRACT_EN[] PROGMEM = "Rectract";
-const char * const MSG_RECTRACT_LANG_TABLE[1] PROGMEM = {
-	MSG_RECTRACT_EN
-};
-
-const char MSG_REFRESH_EN[] PROGMEM = "\xF8" "Refresh";
-const char * const MSG_REFRESH_LANG_TABLE[1] PROGMEM = {
-	MSG_REFRESH_EN
-};
-
-const char MSG_REMOVE_STEEL_SHEET_EN[] PROGMEM = "Please remove steel sheet from heatbed.";
-const char MSG_REMOVE_STEEL_SHEET_CZ[] PROGMEM = "Odstrante tiskovy plat z heatbed prosim.";
-const char * const MSG_REMOVE_STEEL_SHEET_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_REMOVE_STEEL_SHEET_EN,
-	MSG_REMOVE_STEEL_SHEET_CZ
-};
-
-const char MSG_RESEND_EN[] PROGMEM = "Resend: ";
-const char * const MSG_RESEND_LANG_TABLE[1] PROGMEM = {
-	MSG_RESEND_EN
-};
-
-const char MSG_RESET_CALIBRATE_E_EN[] PROGMEM = "Reset E Cal.";
-const char * const MSG_RESET_CALIBRATE_E_LANG_TABLE[1] PROGMEM = {
-	MSG_RESET_CALIBRATE_E_EN
-};
-
-const char MSG_RESTORE_FAILSAFE_EN[] PROGMEM = "Restore failsafe";
-const char * const MSG_RESTORE_FAILSAFE_LANG_TABLE[1] PROGMEM = {
-	MSG_RESTORE_FAILSAFE_EN
-};
-
-const char MSG_RESUME_PRINT_EN[] PROGMEM = "Resume print";
-const char MSG_RESUME_PRINT_CZ[] PROGMEM = "Pokracovat";
-const char * const MSG_RESUME_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_RESUME_PRINT_EN,
-	MSG_RESUME_PRINT_CZ
-};
-
-const char MSG_RESUMING_EN[] PROGMEM = "Resuming print";
-const char MSG_RESUMING_CZ[] PROGMEM = "Obnoveni tisku";
-const char * const MSG_RESUMING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_RESUMING_EN,
-	MSG_RESUMING_CZ
-};
-
-const char MSG_RESUMING_PRINT_EN[] PROGMEM = "Resuming print";
-const char MSG_RESUMING_PRINT_CZ[] PROGMEM = "Obnovovani tisku";
-const char * const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_RESUMING_PRINT_EN,
-	MSG_RESUMING_PRINT_CZ
-};
-
-const char MSG_RIGHT_EN[] PROGMEM = "Right:";
-const char MSG_RIGHT_CZ[] PROGMEM = "Pravy:";
-const char * const MSG_RIGHT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_RIGHT_EN,
-	MSG_RIGHT_CZ
-};
-
-const char MSG_SD_CANT_ENTER_SUBDIR_EN[] PROGMEM = "Cannot enter subdir: ";
-const char * const MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_CANT_ENTER_SUBDIR_EN
-};
-
-const char MSG_SD_CANT_OPEN_SUBDIR_EN[] PROGMEM = "Cannot open subdir";
-const char * const MSG_SD_CANT_OPEN_SUBDIR_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_CANT_OPEN_SUBDIR_EN
-};
-
-const char MSG_SD_CARD_OK_EN[] PROGMEM = "SD card ok";
-const char * const MSG_SD_CARD_OK_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_CARD_OK_EN
-};
-
-const char MSG_SD_ERR_WRITE_TO_FILE_EN[] PROGMEM = "error writing to file";
-const char * const MSG_SD_ERR_WRITE_TO_FILE_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_ERR_WRITE_TO_FILE_EN
-};
-
-const char MSG_SD_FILE_OPENED_EN[] PROGMEM = "File opened: ";
-const char * const MSG_SD_FILE_OPENED_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_FILE_OPENED_EN
-};
-
-const char MSG_SD_FILE_SELECTED_EN[] PROGMEM = "File selected";
-const char * const MSG_SD_FILE_SELECTED_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_FILE_SELECTED_EN
-};
-
-const char MSG_SD_INIT_FAIL_EN[] PROGMEM = "SD init fail";
-const char * const MSG_SD_INIT_FAIL_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_INIT_FAIL_EN
-};
-
-const char MSG_SD_INSERTED_EN[] PROGMEM = "Card inserted";
-const char MSG_SD_INSERTED_CZ[] PROGMEM = "Karta vlozena";
-const char * const MSG_SD_INSERTED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SD_INSERTED_EN,
-	MSG_SD_INSERTED_CZ
-};
-
-const char MSG_SD_NOT_PRINTING_EN[] PROGMEM = "Not SD printing";
-const char * const MSG_SD_NOT_PRINTING_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_NOT_PRINTING_EN
-};
-
-const char MSG_SD_OPENROOT_FAIL_EN[] PROGMEM = "openRoot failed";
-const char * const MSG_SD_OPENROOT_FAIL_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_OPENROOT_FAIL_EN
-};
-
-const char MSG_SD_OPEN_FILE_FAIL_EN[] PROGMEM = "open failed, File: ";
-const char * const MSG_SD_OPEN_FILE_FAIL_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_OPEN_FILE_FAIL_EN
-};
-
-const char MSG_SD_PRINTING_BYTE_EN[] PROGMEM = "SD printing byte ";
-const char * const MSG_SD_PRINTING_BYTE_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_PRINTING_BYTE_EN
-};
-
-const char MSG_SD_REMOVED_EN[] PROGMEM = "Card removed";
-const char MSG_SD_REMOVED_CZ[] PROGMEM = "Karta vyjmuta";
-const char * const MSG_SD_REMOVED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SD_REMOVED_EN,
-	MSG_SD_REMOVED_CZ
-};
-
-const char MSG_SD_SIZE_EN[] PROGMEM = " Size: ";
-const char * const MSG_SD_SIZE_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_SIZE_EN
-};
-
-const char MSG_SD_VOL_INIT_FAIL_EN[] PROGMEM = "volume.init failed";
-const char * const MSG_SD_VOL_INIT_FAIL_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_VOL_INIT_FAIL_EN
-};
-
-const char MSG_SD_WORKDIR_FAIL_EN[] PROGMEM = "workDir open failed";
-const char * const MSG_SD_WORKDIR_FAIL_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_WORKDIR_FAIL_EN
-};
-
-const char MSG_SD_WRITE_TO_FILE_EN[] PROGMEM = "Writing to file: ";
-const char * const MSG_SD_WRITE_TO_FILE_LANG_TABLE[1] PROGMEM = {
-	MSG_SD_WRITE_TO_FILE_EN
-};
-
-const char MSG_SECOND_SERIAL_OFF_EN[] PROGMEM = "RPi port    [off]";
-const char MSG_SECOND_SERIAL_OFF_CZ[] PROGMEM = "RPi port    [vyp]";
-const char * const MSG_SECOND_SERIAL_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SECOND_SERIAL_OFF_EN,
-	MSG_SECOND_SERIAL_OFF_CZ
-};
-
-const char MSG_SECOND_SERIAL_ON_EN[] PROGMEM = "RPi port     [on]";
-const char MSG_SECOND_SERIAL_ON_CZ[] PROGMEM = "RPi port    [zap]";
-const char * const MSG_SECOND_SERIAL_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SECOND_SERIAL_ON_EN,
-	MSG_SECOND_SERIAL_ON_CZ
-};
-
-const char MSG_SELFTEST_EN[] PROGMEM = "Selftest         ";
-const char * const MSG_SELFTEST_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_EN
-};
-
-const char MSG_SELFTEST_AXIS_EN[] PROGMEM = "Axis";
-const char MSG_SELFTEST_AXIS_CZ[] PROGMEM = "Osa";
-const char * const MSG_SELFTEST_AXIS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_AXIS_EN,
-	MSG_SELFTEST_AXIS_CZ
-};
-
-const char MSG_SELFTEST_AXIS_LENGTH_EN[] PROGMEM = "Axis length";
-const char MSG_SELFTEST_AXIS_LENGTH_CZ[] PROGMEM = "Delka osy";
-const char * const MSG_SELFTEST_AXIS_LENGTH_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_AXIS_LENGTH_EN,
-	MSG_SELFTEST_AXIS_LENGTH_CZ
-};
-
-const char MSG_SELFTEST_BEDHEATER_EN[] PROGMEM = "Bed / Heater";
-const char * const MSG_SELFTEST_BEDHEATER_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_BEDHEATER_EN
-};
-
-const char MSG_SELFTEST_CHECK_ALLCORRECT_EN[] PROGMEM = "All correct      ";
-const char MSG_SELFTEST_CHECK_ALLCORRECT_CZ[] PROGMEM = "Vse OK           ";
-const char * const MSG_SELFTEST_CHECK_ALLCORRECT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_CHECK_ALLCORRECT_EN,
-	MSG_SELFTEST_CHECK_ALLCORRECT_CZ
-};
-
-const char MSG_SELFTEST_CHECK_BED_EN[] PROGMEM = "Checking bed     ";
-const char MSG_SELFTEST_CHECK_BED_CZ[] PROGMEM = "Kontrola bed     ";
-const char * const MSG_SELFTEST_CHECK_BED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_CHECK_BED_EN,
-	MSG_SELFTEST_CHECK_BED_CZ
-};
-
-const char MSG_SELFTEST_CHECK_ENDSTOPS_EN[] PROGMEM = "Checking endstops";
-const char MSG_SELFTEST_CHECK_ENDSTOPS_CZ[] PROGMEM = "Kontrola endstops";
-const char * const MSG_SELFTEST_CHECK_ENDSTOPS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_CHECK_ENDSTOPS_EN,
-	MSG_SELFTEST_CHECK_ENDSTOPS_CZ
-};
-
-const char MSG_SELFTEST_CHECK_FSENSOR_EN[] PROGMEM = "Checking sensors ";
-const char MSG_SELFTEST_CHECK_FSENSOR_CZ[] PROGMEM = "Kontrola senzoru";
-const char * const MSG_SELFTEST_CHECK_FSENSOR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_CHECK_FSENSOR_EN,
-	MSG_SELFTEST_CHECK_FSENSOR_CZ
-};
-
-const char MSG_SELFTEST_CHECK_HOTEND_EN[] PROGMEM = "Checking hotend  ";
-const char MSG_SELFTEST_CHECK_HOTEND_CZ[] PROGMEM = "Kontrola hotend  ";
-const char * const MSG_SELFTEST_CHECK_HOTEND_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_CHECK_HOTEND_EN,
-	MSG_SELFTEST_CHECK_HOTEND_CZ
-};
-
-const char MSG_SELFTEST_CHECK_X_EN[] PROGMEM = "Checking X axis  ";
-const char MSG_SELFTEST_CHECK_X_CZ[] PROGMEM = "Kontrola X axis  ";
-const char * const MSG_SELFTEST_CHECK_X_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_CHECK_X_EN,
-	MSG_SELFTEST_CHECK_X_CZ
-};
-
-const char MSG_SELFTEST_CHECK_Y_EN[] PROGMEM = "Checking Y axis  ";
-const char MSG_SELFTEST_CHECK_Y_CZ[] PROGMEM = "Kontrola Y axis  ";
-const char * const MSG_SELFTEST_CHECK_Y_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_CHECK_Y_EN,
-	MSG_SELFTEST_CHECK_Y_CZ
-};
-
-const char MSG_SELFTEST_CHECK_Z_EN[] PROGMEM = "Checking Z axis  ";
-const char MSG_SELFTEST_CHECK_Z_CZ[] PROGMEM = "Kontrola Z axis  ";
-const char * const MSG_SELFTEST_CHECK_Z_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_CHECK_Z_EN,
-	MSG_SELFTEST_CHECK_Z_CZ
-};
-
-const char MSG_SELFTEST_COOLING_FAN_EN[] PROGMEM = "Front print fan?";
-const char MSG_SELFTEST_COOLING_FAN_CZ[] PROGMEM = "Predni tiskovy vent?";
-const char * const MSG_SELFTEST_COOLING_FAN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_COOLING_FAN_EN,
-	MSG_SELFTEST_COOLING_FAN_CZ
-};
-
-const char MSG_SELFTEST_ENDSTOP_EN[] PROGMEM = "Endstop";
-const char * const MSG_SELFTEST_ENDSTOP_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_ENDSTOP_EN
-};
-
-const char MSG_SELFTEST_ENDSTOPS_EN[] PROGMEM = "Endstops";
-const char * const MSG_SELFTEST_ENDSTOPS_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_ENDSTOPS_EN
-};
-
-const char MSG_SELFTEST_ENDSTOP_NOTHIT_EN[] PROGMEM = "Endstop not hit";
-const char * const MSG_SELFTEST_ENDSTOP_NOTHIT_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_ENDSTOP_NOTHIT_EN
-};
-
-const char MSG_SELFTEST_ERROR_EN[] PROGMEM = "Selftest error !";
-const char * const MSG_SELFTEST_ERROR_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_ERROR_EN
-};
-
-const char MSG_SELFTEST_EXTRUDER_FAN_EN[] PROGMEM = "Left hotend fan?";
-const char MSG_SELFTEST_EXTRUDER_FAN_CZ[] PROGMEM = "Levy vent na trysce?";
-const char * const MSG_SELFTEST_EXTRUDER_FAN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_EXTRUDER_FAN_EN,
-	MSG_SELFTEST_EXTRUDER_FAN_CZ
-};
-
-const char MSG_SELFTEST_EXTRUDER_FAN_SPEED_EN[] PROGMEM = "Extruder fan:";
-const char MSG_SELFTEST_EXTRUDER_FAN_SPEED_CZ[] PROGMEM = "Levy vent.:";
-const char * const MSG_SELFTEST_EXTRUDER_FAN_SPEED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_EXTRUDER_FAN_SPEED_EN,
-	MSG_SELFTEST_EXTRUDER_FAN_SPEED_CZ
-};
-
-const char MSG_SELFTEST_FAILED_EN[] PROGMEM = "Selftest failed  ";
-const char MSG_SELFTEST_FAILED_CZ[] PROGMEM = "Selftest selhal  ";
-const char * const MSG_SELFTEST_FAILED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_FAILED_EN,
-	MSG_SELFTEST_FAILED_CZ
-};
-
-const char MSG_SELFTEST_FAN_EN[] PROGMEM = "Fan test";
-const char MSG_SELFTEST_FAN_CZ[] PROGMEM = "Test ventilatoru";
-const char * const MSG_SELFTEST_FAN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_FAN_EN,
-	MSG_SELFTEST_FAN_CZ
-};
-
-const char MSG_SELFTEST_FANS_EN[] PROGMEM = "Front/left fans";
-const char MSG_SELFTEST_FANS_CZ[] PROGMEM = "Predni/levy vent.";
-const char * const MSG_SELFTEST_FANS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_FANS_EN,
-	MSG_SELFTEST_FANS_CZ
-};
-
-const char MSG_SELFTEST_FAN_NO_EN[] PROGMEM = "Not spinning";
-const char MSG_SELFTEST_FAN_NO_CZ[] PROGMEM = "Netoci se";
-const char * const MSG_SELFTEST_FAN_NO_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_FAN_NO_EN,
-	MSG_SELFTEST_FAN_NO_CZ
-};
-
-const char MSG_SELFTEST_FAN_YES_EN[] PROGMEM = "Spinning";
-const char MSG_SELFTEST_FAN_YES_CZ[] PROGMEM = "Toci se";
-const char * const MSG_SELFTEST_FAN_YES_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_FAN_YES_EN,
-	MSG_SELFTEST_FAN_YES_CZ
-};
-
-const char MSG_SELFTEST_FILAMENT_SENSOR_EN[] PROGMEM = "Filament sensor:";
-const char MSG_SELFTEST_FILAMENT_SENSOR_CZ[] PROGMEM = "Senzor filamentu:";
-const char * const MSG_SELFTEST_FILAMENT_SENSOR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_FILAMENT_SENSOR_EN,
-	MSG_SELFTEST_FILAMENT_SENSOR_CZ
-};
-
-const char MSG_SELFTEST_HEATERTHERMISTOR_EN[] PROGMEM = "Heater/Thermistor";
-const char * const MSG_SELFTEST_HEATERTHERMISTOR_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_HEATERTHERMISTOR_EN
-};
-
-const char MSG_SELFTEST_MOTOR_EN[] PROGMEM = "Motor";
-const char * const MSG_SELFTEST_MOTOR_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_MOTOR_EN
-};
-
-const char MSG_SELFTEST_NOTCONNECTED_EN[] PROGMEM = "Not connected";
-const char MSG_SELFTEST_NOTCONNECTED_CZ[] PROGMEM = "Nezapojeno    ";
-const char * const MSG_SELFTEST_NOTCONNECTED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_NOTCONNECTED_EN,
-	MSG_SELFTEST_NOTCONNECTED_CZ
-};
-
-const char MSG_SELFTEST_OK_EN[] PROGMEM = "Self test OK";
-const char * const MSG_SELFTEST_OK_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_OK_EN
-};
-
-const char MSG_SELFTEST_PLEASECHECK_EN[] PROGMEM = "Please check :";
-const char MSG_SELFTEST_PLEASECHECK_CZ[] PROGMEM = "Zkontrolujte :";
-const char * const MSG_SELFTEST_PLEASECHECK_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_PLEASECHECK_EN,
-	MSG_SELFTEST_PLEASECHECK_CZ
-};
-
-const char MSG_SELFTEST_PRINT_FAN_SPEED_EN[] PROGMEM = "Print fan:";
-const char MSG_SELFTEST_PRINT_FAN_SPEED_CZ[] PROGMEM = "Tiskovy vent.:";
-const char * const MSG_SELFTEST_PRINT_FAN_SPEED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_PRINT_FAN_SPEED_EN,
-	MSG_SELFTEST_PRINT_FAN_SPEED_CZ
-};
-
-const char MSG_SELFTEST_START_EN[] PROGMEM = "Self test start  ";
-const char * const MSG_SELFTEST_START_LANG_TABLE[1] PROGMEM = {
-	MSG_SELFTEST_START_EN
-};
-
-const char MSG_SELFTEST_SWAPPED_EN[] PROGMEM = "Swapped";
-const char MSG_SELFTEST_SWAPPED_CZ[] PROGMEM = "Prohozene";
-const char * const MSG_SELFTEST_SWAPPED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_SWAPPED_EN,
-	MSG_SELFTEST_SWAPPED_CZ
-};
-
-const char MSG_SELFTEST_WIRINGERROR_EN[] PROGMEM = "Wiring error";
-const char MSG_SELFTEST_WIRINGERROR_CZ[] PROGMEM = "Chyba zapojeni";
-const char * const MSG_SELFTEST_WIRINGERROR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SELFTEST_WIRINGERROR_EN,
-	MSG_SELFTEST_WIRINGERROR_CZ
-};
-
-const char MSG_SERIAL_ERROR_MENU_STRUCTURE_EN[] PROGMEM = "Error in menu structure";
-const char * const MSG_SERIAL_ERROR_MENU_STRUCTURE_LANG_TABLE[1] PROGMEM = {
-	MSG_SERIAL_ERROR_MENU_STRUCTURE_EN
-};
-
-const char MSG_SETTINGS_EN[] PROGMEM = "Settings";
-const char MSG_SETTINGS_CZ[] PROGMEM = "Nastaveni";
-const char * const MSG_SETTINGS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SETTINGS_EN,
-	MSG_SETTINGS_CZ
-};
-
-const char MSG_SET_HOME_OFFSETS_EN[] PROGMEM = "Set home offsets";
-const char * const MSG_SET_HOME_OFFSETS_LANG_TABLE[1] PROGMEM = {
-	MSG_SET_HOME_OFFSETS_EN
-};
-
-const char MSG_SET_ORIGIN_EN[] PROGMEM = "Set origin";
-const char * const MSG_SET_ORIGIN_LANG_TABLE[1] PROGMEM = {
-	MSG_SET_ORIGIN_EN
-};
-
-const char MSG_SET_TEMPERATURE_EN[] PROGMEM = "Set temperature:";
-const char MSG_SET_TEMPERATURE_CZ[] PROGMEM = "Nastavte teplotu:";
-const char * const MSG_SET_TEMPERATURE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SET_TEMPERATURE_EN,
-	MSG_SET_TEMPERATURE_CZ
-};
-
-const char MSG_SEVERE_SKEW_EN[] PROGMEM = "Severe skew:";
-const char MSG_SEVERE_SKEW_CZ[] PROGMEM = "Tezke zkoseni:";
-const char * const MSG_SEVERE_SKEW_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SEVERE_SKEW_EN,
-	MSG_SEVERE_SKEW_CZ
-};
-
-const char MSG_SHOW_END_STOPS_EN[] PROGMEM = "Show end stops";
-const char MSG_SHOW_END_STOPS_CZ[] PROGMEM = "Stav konc. spin.";
-const char * const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SHOW_END_STOPS_EN,
-	MSG_SHOW_END_STOPS_CZ
-};
-
-const char MSG_SILENT_MODE_OFF_EN[] PROGMEM = "Mode [high power]";
-const char MSG_SILENT_MODE_OFF_CZ[] PROGMEM = "Mod  [vys. vykon]";
-const char * const MSG_SILENT_MODE_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SILENT_MODE_OFF_EN,
-	MSG_SILENT_MODE_OFF_CZ
-};
-
-const char MSG_SILENT_MODE_ON_EN[] PROGMEM = "Mode     [silent]";
-const char MSG_SILENT_MODE_ON_CZ[] PROGMEM = "Mod       [tichy]";
-const char * const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SILENT_MODE_ON_EN,
-	MSG_SILENT_MODE_ON_CZ
-};
-
-const char MSG_SLIGHT_SKEW_EN[] PROGMEM = "Slight skew:";
-const char MSG_SLIGHT_SKEW_CZ[] PROGMEM = "Lehke zkoseni:";
-const char * const MSG_SLIGHT_SKEW_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SLIGHT_SKEW_EN,
-	MSG_SLIGHT_SKEW_CZ
-};
-
-const char MSG_SOFTWARE_RESET_EN[] PROGMEM = " Software Reset";
-const char * const MSG_SOFTWARE_RESET_LANG_TABLE[1] PROGMEM = {
-	MSG_SOFTWARE_RESET_EN
-};
-
-const char MSG_SORTING_EN[] PROGMEM = "Sorting files";
-const char MSG_SORTING_CZ[] PROGMEM = "Trideni souboru";
-const char * const MSG_SORTING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SORTING_EN,
-	MSG_SORTING_CZ
-};
-
-const char MSG_SORT_ALPHA_EN[] PROGMEM = "Sort:  [Alphabet]";
-const char MSG_SORT_ALPHA_CZ[] PROGMEM = "Trideni [Abeceda]";
-const char * const MSG_SORT_ALPHA_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SORT_ALPHA_EN,
-	MSG_SORT_ALPHA_CZ
-};
-
-const char MSG_SORT_NONE_EN[] PROGMEM = "Sort:      [None]";
-const char MSG_SORT_NONE_CZ[] PROGMEM = "Trideni   [Zadne]";
-const char * const MSG_SORT_NONE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SORT_NONE_EN,
-	MSG_SORT_NONE_CZ
-};
-
-const char MSG_SORT_TIME_EN[] PROGMEM = "Sort:      [Time]";
-const char MSG_SORT_TIME_CZ[] PROGMEM = "Trideni     [Cas]";
-const char * const MSG_SORT_TIME_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SORT_TIME_EN,
-	MSG_SORT_TIME_CZ
-};
-
-const char MSG_SPEED_EN[] PROGMEM = "Speed";
-const char MSG_SPEED_CZ[] PROGMEM = "Rychlost";
-const char * const MSG_SPEED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SPEED_EN,
-	MSG_SPEED_CZ
-};
-
-const char MSG_STACK_ERROR_EN[] PROGMEM = "Error - static memory has been overwritten";
-const char MSG_STACK_ERROR_CZ[] PROGMEM = "Chyba - Doslo k prepisu staticke pameti!";
-const char * const MSG_STACK_ERROR_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STACK_ERROR_EN,
-	MSG_STACK_ERROR_CZ
-};
-
-const char MSG_STATISTICS_EN[] PROGMEM = "Statistics  ";
-const char MSG_STATISTICS_CZ[] PROGMEM = "Statistika  ";
-const char * const MSG_STATISTICS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STATISTICS_EN,
-	MSG_STATISTICS_CZ
-};
-
-const char MSG_STATS_FILAMENTUSED_EN[] PROGMEM = "Filament used:  ";
-const char MSG_STATS_FILAMENTUSED_CZ[] PROGMEM = "Filament :  ";
-const char * const MSG_STATS_FILAMENTUSED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STATS_FILAMENTUSED_EN,
-	MSG_STATS_FILAMENTUSED_CZ
-};
-
-const char MSG_STATS_PRINTTIME_EN[] PROGMEM = "Print time:  ";
-const char MSG_STATS_PRINTTIME_CZ[] PROGMEM = "Cas tisku :  ";
-const char * const MSG_STATS_PRINTTIME_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STATS_PRINTTIME_EN,
-	MSG_STATS_PRINTTIME_CZ
-};
-
-const char MSG_STATS_TOTALFILAMENT_EN[] PROGMEM = "Total filament :";
-const char MSG_STATS_TOTALFILAMENT_CZ[] PROGMEM = "Filament celkem :";
-const char * const MSG_STATS_TOTALFILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STATS_TOTALFILAMENT_EN,
-	MSG_STATS_TOTALFILAMENT_CZ
-};
-
-const char MSG_STATS_TOTALPRINTTIME_EN[] PROGMEM = "Total print time :";
-const char MSG_STATS_TOTALPRINTTIME_CZ[] PROGMEM = "Celkovy cas :";
-const char * const MSG_STATS_TOTALPRINTTIME_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STATS_TOTALPRINTTIME_EN,
-	MSG_STATS_TOTALPRINTTIME_CZ
-};
-
-const char MSG_STEALTH_MODE_OFF_EN[] PROGMEM = "Mode     [Normal]";
-const char MSG_STEALTH_MODE_OFF_CZ[] PROGMEM = "Mod      [Normal]";
-const char * const MSG_STEALTH_MODE_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STEALTH_MODE_OFF_EN,
-	MSG_STEALTH_MODE_OFF_CZ
-};
-
-const char MSG_STEALTH_MODE_ON_EN[] PROGMEM = "Mode    [Stealth]";
-const char MSG_STEALTH_MODE_ON_CZ[] PROGMEM = "Mod     [Stealth]";
-const char * const MSG_STEALTH_MODE_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STEALTH_MODE_ON_EN,
-	MSG_STEALTH_MODE_ON_CZ
-};
-
-const char MSG_STEEL_SHEET_CHECK_EN[] PROGMEM = "Is steel sheet on heatbed?";
-const char MSG_STEEL_SHEET_CHECK_CZ[] PROGMEM = "Je tiskovy plat na heatbed?";
-const char * const MSG_STEEL_SHEET_CHECK_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STEEL_SHEET_CHECK_EN,
-	MSG_STEEL_SHEET_CHECK_CZ
-};
-
-const char MSG_STEPPER_TIMER_OVERFLOW_ERROR_EN[] PROGMEM = "Error - stepper timer overflow";
-const char * const MSG_STEPPER_TIMER_OVERFLOW_ERROR_LANG_TABLE[1] PROGMEM = {
-	MSG_STEPPER_TIMER_OVERFLOW_ERROR_EN
-};
-
-const char MSG_STEPPER_TOO_HIGH_EN[] PROGMEM = "Steprate too high: ";
-const char * const MSG_STEPPER_TOO_HIGH_LANG_TABLE[1] PROGMEM = {
-	MSG_STEPPER_TOO_HIGH_EN
-};
-
-const char MSG_STOPPED_EN[] PROGMEM = "STOPPED. ";
-const char * const MSG_STOPPED_LANG_TABLE[1] PROGMEM = {
-	MSG_STOPPED_EN
-};
-
-const char MSG_STOP_PRINT_EN[] PROGMEM = "Stop print";
-const char MSG_STOP_PRINT_CZ[] PROGMEM = "Zastavit tisk";
-const char * const MSG_STOP_PRINT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_STOP_PRINT_EN,
-	MSG_STOP_PRINT_CZ
-};
-
-const char MSG_STORE_EPROM_EN[] PROGMEM = "Store memory";
-const char * const MSG_STORE_EPROM_LANG_TABLE[1] PROGMEM = {
-	MSG_STORE_EPROM_EN
-};
-
-const char MSG_SUPPORT_EN[] PROGMEM = "Support";
-const char MSG_SUPPORT_CZ[] PROGMEM = "Podpora";
-const char * const MSG_SUPPORT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SUPPORT_EN,
-	MSG_SUPPORT_CZ
-};
-
-const char MSG_SWITCH_PS_OFF_EN[] PROGMEM = "Switch power off";
-const char MSG_SWITCH_PS_OFF_CZ[] PROGMEM = "Zapnout zdroj";
-const char * const MSG_SWITCH_PS_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SWITCH_PS_OFF_EN,
-	MSG_SWITCH_PS_OFF_CZ
-};
-
-const char MSG_SWITCH_PS_ON_EN[] PROGMEM = "Switch power on";
-const char MSG_SWITCH_PS_ON_CZ[] PROGMEM = "Vypnout zdroj";
-const char * const MSG_SWITCH_PS_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_SWITCH_PS_ON_EN,
-	MSG_SWITCH_PS_ON_CZ
-};
-
-const char MSG_TAKE_EFFECT_EN[] PROGMEM = " for take effect";
-const char MSG_TAKE_EFFECT_CZ[] PROGMEM = " pro projeveni zmen";
-const char * const MSG_TAKE_EFFECT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_TAKE_EFFECT_EN,
-	MSG_TAKE_EFFECT_CZ
-};
-
-const char MSG_TEMPERATURE_EN[] PROGMEM = "Temperature";
-const char MSG_TEMPERATURE_CZ[] PROGMEM = "Teplota";
-const char * const MSG_TEMPERATURE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_TEMPERATURE_EN,
-	MSG_TEMPERATURE_CZ
-};
-
-const char MSG_TEMP_CALIBRATION_EN[] PROGMEM = "Temp. cal.          ";
-const char MSG_TEMP_CALIBRATION_CZ[] PROGMEM = "Tepl. kal.          ";
-const char * const MSG_TEMP_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_TEMP_CALIBRATION_EN,
-	MSG_TEMP_CALIBRATION_CZ
-};
-
-const char MSG_TEMP_CALIBRATION_DONE_EN[] PROGMEM = "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal.";
-const char MSG_TEMP_CALIBRATION_DONE_CZ[] PROGMEM = "Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal.";
-const char * const MSG_TEMP_CALIBRATION_DONE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_TEMP_CALIBRATION_DONE_EN,
-	MSG_TEMP_CALIBRATION_DONE_CZ
-};
-
-const char MSG_TEMP_CALIBRATION_OFF_EN[] PROGMEM = "Temp. cal.  [off]";
-const char MSG_TEMP_CALIBRATION_OFF_CZ[] PROGMEM = "Tepl. kal.  [vyp]";
-const char * const MSG_TEMP_CALIBRATION_OFF_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_TEMP_CALIBRATION_OFF_EN,
-	MSG_TEMP_CALIBRATION_OFF_CZ
-};
-
-const char MSG_TEMP_CALIBRATION_ON_EN[] PROGMEM = "Temp. cal.   [on]";
-const char MSG_TEMP_CALIBRATION_ON_CZ[] PROGMEM = "Tepl. kal.  [zap]";
-const char * const MSG_TEMP_CALIBRATION_ON_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_TEMP_CALIBRATION_ON_EN,
-	MSG_TEMP_CALIBRATION_ON_CZ
-};
-
-const char MSG_TEMP_CAL_FAILED_EN[] PROGMEM = "Temperature calibration failed";
-const char * const MSG_TEMP_CAL_FAILED_LANG_TABLE[1] PROGMEM = {
-	MSG_TEMP_CAL_FAILED_EN
-};
-
-const char MSG_TEMP_CAL_WARNING_EN[] PROGMEM = "Stable ambient temperature 21-26C is needed a rigid stand is required.";
-const char * const MSG_TEMP_CAL_WARNING_LANG_TABLE[1] PROGMEM = {
-	MSG_TEMP_CAL_WARNING_EN
-};
-
-const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN[] PROGMEM = "SD card  [normal]";
-const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[1] PROGMEM = {
-	MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_EN
-};
-
-const char MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN[] PROGMEM = "SD card [FlshAir]";
-const char * const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE[1] PROGMEM = {
-	MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_EN
-};
-
-const char MSG_TUNE_EN[] PROGMEM = "Tune";
-const char MSG_TUNE_CZ[] PROGMEM = "Ladit";
-const char * const MSG_TUNE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_TUNE_EN,
-	MSG_TUNE_CZ
-};
-
-const char MSG_UNKNOWN_COMMAND_EN[] PROGMEM = "Unknown command: \"";
-const char * const MSG_UNKNOWN_COMMAND_LANG_TABLE[1] PROGMEM = {
-	MSG_UNKNOWN_COMMAND_EN
-};
-
-const char MSG_UNLOADING_FILAMENT_EN[] PROGMEM = "Unloading filament";
-const char MSG_UNLOADING_FILAMENT_CZ[] PROGMEM = "Vysouvam filament";
-const char * const MSG_UNLOADING_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_UNLOADING_FILAMENT_EN,
-	MSG_UNLOADING_FILAMENT_CZ
-};
-
-const char MSG_UNLOAD_ALL_EN[] PROGMEM = "Unload all";
-const char MSG_UNLOAD_ALL_CZ[] PROGMEM = "Vyjmout vse";
-const char * const MSG_UNLOAD_ALL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_UNLOAD_ALL_EN,
-	MSG_UNLOAD_ALL_CZ
-};
-
-const char MSG_UNLOAD_FILAMENT_EN[] PROGMEM = "Unload filament";
-const char MSG_UNLOAD_FILAMENT_CZ[] PROGMEM = "Vyjmout filament";
-const char * const MSG_UNLOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_UNLOAD_FILAMENT_EN,
-	MSG_UNLOAD_FILAMENT_CZ
-};
-
-const char MSG_UNLOAD_FILAMENT_1_EN[] PROGMEM = "Unload filament 1";
-const char MSG_UNLOAD_FILAMENT_1_CZ[] PROGMEM = "Vyjmout filam. 1";
-const char * const MSG_UNLOAD_FILAMENT_1_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_UNLOAD_FILAMENT_1_EN,
-	MSG_UNLOAD_FILAMENT_1_CZ
-};
-
-const char MSG_UNLOAD_FILAMENT_2_EN[] PROGMEM = "Unload filament 2";
-const char MSG_UNLOAD_FILAMENT_2_CZ[] PROGMEM = "Vyjmout filam. 2";
-const char * const MSG_UNLOAD_FILAMENT_2_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_UNLOAD_FILAMENT_2_EN,
-	MSG_UNLOAD_FILAMENT_2_CZ
-};
-
-const char MSG_UNLOAD_FILAMENT_3_EN[] PROGMEM = "Unload filament 3";
-const char MSG_UNLOAD_FILAMENT_3_CZ[] PROGMEM = "Vyjmout filam. 3";
-const char * const MSG_UNLOAD_FILAMENT_3_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_UNLOAD_FILAMENT_3_EN,
-	MSG_UNLOAD_FILAMENT_3_CZ
-};
-
-const char MSG_UNLOAD_FILAMENT_4_EN[] PROGMEM = "Unload filament 4";
-const char MSG_UNLOAD_FILAMENT_4_CZ[] PROGMEM = "Vyjmout filam. 4";
-const char * const MSG_UNLOAD_FILAMENT_4_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_UNLOAD_FILAMENT_4_EN,
-	MSG_UNLOAD_FILAMENT_4_CZ
-};
-
-const char MSG_UNLOAD_SUCCESSFUL_EN[] PROGMEM = "Was filament unload successful?";
-const char MSG_UNLOAD_SUCCESSFUL_CZ[] PROGMEM = "Bylo vysunuti filamentu uspesne?";
-const char * const MSG_UNLOAD_SUCCESSFUL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_UNLOAD_SUCCESSFUL_EN,
-	MSG_UNLOAD_SUCCESSFUL_CZ
-};
-
-const char MSG_USB_PRINTING_EN[] PROGMEM = "USB printing  ";
-const char MSG_USB_PRINTING_CZ[] PROGMEM = "Tisk z USB  ";
-const char * const MSG_USB_PRINTING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_USB_PRINTING_EN,
-	MSG_USB_PRINTING_CZ
-};
-
-const char MSG_USED_EN[] PROGMEM = "Used during print";
-const char MSG_USED_CZ[] PROGMEM = "Pouzite behem tisku";
-const char * const MSG_USED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_USED_EN,
-	MSG_USED_CZ
-};
-
-const char MSG_USERWAIT_EN[] PROGMEM = "Wait for user...";
-const char * const MSG_USERWAIT_LANG_TABLE[1] PROGMEM = {
-	MSG_USERWAIT_EN
-};
-
-const char MSG_V2_CALIBRATION_EN[] PROGMEM = "First layer cal.";
-const char MSG_V2_CALIBRATION_CZ[] PROGMEM = "Kal. prvni vrstvy";
-const char * const MSG_V2_CALIBRATION_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_V2_CALIBRATION_EN,
-	MSG_V2_CALIBRATION_CZ
-};
-
-const char MSG_VMIN_EN[] PROGMEM = "Vmin";
-const char * const MSG_VMIN_LANG_TABLE[1] PROGMEM = {
-	MSG_VMIN_EN
-};
-
-const char MSG_VOLUMETRIC_EN[] PROGMEM = "Filament";
-const char * const MSG_VOLUMETRIC_LANG_TABLE[1] PROGMEM = {
-	MSG_VOLUMETRIC_EN
-};
-
-const char MSG_VOLUMETRIC_ENABLED_EN[] PROGMEM = "E in mm3";
-const char * const MSG_VOLUMETRIC_ENABLED_LANG_TABLE[1] PROGMEM = {
-	MSG_VOLUMETRIC_ENABLED_EN
-};
-
-const char MSG_VTRAV_MIN_EN[] PROGMEM = "VTrav min";
-const char * const MSG_VTRAV_MIN_LANG_TABLE[1] PROGMEM = {
-	MSG_VTRAV_MIN_EN
-};
-
-const char MSG_WAITING_TEMP_EN[] PROGMEM = "Waiting for nozzle and bed cooling";
-const char MSG_WAITING_TEMP_CZ[] PROGMEM = "Cekani na zchladnuti trysky a podlozky.";
-const char * const MSG_WAITING_TEMP_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WAITING_TEMP_EN,
-	MSG_WAITING_TEMP_CZ
-};
-
-const char MSG_WAITING_TEMP_PINDA_EN[] PROGMEM = "Waiting for PINDA probe cooling";
-const char MSG_WAITING_TEMP_PINDA_CZ[] PROGMEM = "Cekani na zchladnuti PINDA";
-const char * const MSG_WAITING_TEMP_PINDA_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WAITING_TEMP_PINDA_EN,
-	MSG_WAITING_TEMP_PINDA_CZ
-};
-
-const char MSG_WATCH_EN[] PROGMEM = "Info screen";
-const char MSG_WATCH_CZ[] PROGMEM = "Informace";
-const char * const MSG_WATCH_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WATCH_EN,
-	MSG_WATCH_CZ
-};
-
-const char MSG_WATCHDOG_RESET_EN[] PROGMEM = " Watchdog Reset";
-const char * const MSG_WATCHDOG_RESET_LANG_TABLE[1] PROGMEM = {
-	MSG_WATCHDOG_RESET_EN
-};
-
-const char MSG_WIZARD_EN[] PROGMEM = "Wizard";
-const char * const MSG_WIZARD_LANG_TABLE[1] PROGMEM = {
-	MSG_WIZARD_EN
-};
-
-const char MSG_WIZARD_CALIBRATION_FAILED_EN[] PROGMEM = "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer.";
-const char MSG_WIZARD_CALIBRATION_FAILED_CZ[] PROGMEM = "Prosim nahlednete do manualu a opravte problem. Po te obnovte Wizarda rebootovanim tiskarny.";
-const char * const MSG_WIZARD_CALIBRATION_FAILED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_CALIBRATION_FAILED_EN,
-	MSG_WIZARD_CALIBRATION_FAILED_CZ
-};
-
-const char MSG_WIZARD_CLEAN_HEATBED_EN[] PROGMEM = "Please clean heatbed and then press the knob.";
-const char MSG_WIZARD_CLEAN_HEATBED_CZ[] PROGMEM = "Prosim ocistete heatbed a stisknete tlacitko.";
-const char * const MSG_WIZARD_CLEAN_HEATBED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_CLEAN_HEATBED_EN,
-	MSG_WIZARD_CLEAN_HEATBED_CZ
-};
-
-const char MSG_WIZARD_DONE_EN[] PROGMEM = "All is done. Happy printing!";
-const char MSG_WIZARD_DONE_CZ[] PROGMEM = "Vse je hotovo.";
-const char * const MSG_WIZARD_DONE_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_DONE_EN,
-	MSG_WIZARD_DONE_CZ
-};
-
-const char MSG_WIZARD_FILAMENT_LOADED_EN[] PROGMEM = "Is filament loaded?";
-const char MSG_WIZARD_FILAMENT_LOADED_CZ[] PROGMEM = "Je filament zaveden?";
-const char * const MSG_WIZARD_FILAMENT_LOADED_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_FILAMENT_LOADED_EN,
-	MSG_WIZARD_FILAMENT_LOADED_CZ
-};
-
-const char MSG_WIZARD_HEATING_EN[] PROGMEM = "Preheating nozzle. Please wait.";
-const char MSG_WIZARD_HEATING_CZ[] PROGMEM = "Predehrivam trysku. Prosim cekejte.";
-const char * const MSG_WIZARD_HEATING_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_HEATING_EN,
-	MSG_WIZARD_HEATING_CZ
-};
-
-const char MSG_WIZARD_INSERT_CORRECT_FILAMENT_EN[] PROGMEM = "Please load PLA filament and then resume Wizard by rebooting the printer.";
-const char MSG_WIZARD_INSERT_CORRECT_FILAMENT_CZ[] PROGMEM = "Prosim zavedte PLA filament a po te obnovte Wizarda stisknutim reset tlacitka.";
-const char * const MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_INSERT_CORRECT_FILAMENT_EN,
-	MSG_WIZARD_INSERT_CORRECT_FILAMENT_CZ
-};
-
-const char MSG_WIZARD_LOAD_FILAMENT_EN[] PROGMEM = "Please insert PLA filament to the extruder, then press knob to load it.";
-const char MSG_WIZARD_LOAD_FILAMENT_CZ[] PROGMEM = "Prosim vlozte PLA filament do extruderu, po te stisknete tlacitko pro zavedeni filamentu.";
-const char * const MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_LOAD_FILAMENT_EN,
-	MSG_WIZARD_LOAD_FILAMENT_CZ
-};
-
-const char MSG_WIZARD_PLA_FILAMENT_EN[] PROGMEM = "Is it PLA filament?";
-const char MSG_WIZARD_PLA_FILAMENT_CZ[] PROGMEM = "Je to PLA filament?";
-const char * const MSG_WIZARD_PLA_FILAMENT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_PLA_FILAMENT_EN,
-	MSG_WIZARD_PLA_FILAMENT_CZ
-};
-
-const char MSG_WIZARD_QUIT_EN[] PROGMEM = "You can always resume the Wizard from Calibration -> Wizard.";
-const char MSG_WIZARD_QUIT_CZ[] PROGMEM = "Wizarda muzete kdykoliv znovu spustit z menu Calibration -> Wizard";
-const char * const MSG_WIZARD_QUIT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_QUIT_EN,
-	MSG_WIZARD_QUIT_CZ
-};
-
-const char MSG_WIZARD_REPEAT_V2_CAL_EN[] PROGMEM = "Do you want to repeat last step to readjust distance between nozzle and heatbed?";
-const char MSG_WIZARD_REPEAT_V2_CAL_CZ[] PROGMEM = "Chcete opakovat posledni krok a pozmenit vzdalenost mezi tryskou a heatbed?";
-const char * const MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_REPEAT_V2_CAL_EN,
-	MSG_WIZARD_REPEAT_V2_CAL_CZ
-};
-
-const char MSG_WIZARD_RERUN_EN[] PROGMEM = "Running Wizard will delete current calibration results and start from the beginning. Continue?";
-const char MSG_WIZARD_RERUN_CZ[] PROGMEM = "Spusteni Wizarda vymaze ulozene vysledky vsech kalibraci a spusti kalibracni proces od zacatku. Pokracovat?";
-const char * const MSG_WIZARD_RERUN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_RERUN_EN,
-	MSG_WIZARD_RERUN_CZ
-};
-
-const char MSG_WIZARD_SELFTEST_EN[] PROGMEM = "First, I will run the selftest to check most common assembly problems.";
-const char MSG_WIZARD_SELFTEST_CZ[] PROGMEM = "Nejdriv pomoci selftestu zkontoluji nejcastejsi chyby vznikajici pri sestaveni tiskarny.";
-const char * const MSG_WIZARD_SELFTEST_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_SELFTEST_EN,
-	MSG_WIZARD_SELFTEST_CZ
-};
-
-const char MSG_WIZARD_V2_CAL_EN[] PROGMEM = "Now I will calibrate distance between tip of the nozzle and heatbed surface.";
-const char MSG_WIZARD_V2_CAL_CZ[] PROGMEM = "Nyni zkalibruji vzdalenost mezi koncem trysky a povrchem heatbedu.";
-const char * const MSG_WIZARD_V2_CAL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_V2_CAL_EN,
-	MSG_WIZARD_V2_CAL_CZ
-};
-
-const char MSG_WIZARD_V2_CAL_2_EN[] PROGMEM = "I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration.";
-const char MSG_WIZARD_V2_CAL_2_CZ[] PROGMEM = "Zacnu tisknout linku a Vy budete postupne snizovat trysku otacenim tlacitka dokud nedosahnete optimalni vysky. Prohlednete si obrazky v nasi prirucce v kapitole Kalibrace";
-const char * const MSG_WIZARD_V2_CAL_2_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_V2_CAL_2_EN,
-	MSG_WIZARD_V2_CAL_2_CZ
-};
-
-const char MSG_WIZARD_WELCOME_EN[] PROGMEM = "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?";
-const char MSG_WIZARD_WELCOME_CZ[] PROGMEM = "Dobry den, jsem vase tiskarna Original Prusa i3. Chcete abych Vas provedla kalibracnim procesem?";
-const char * const MSG_WIZARD_WELCOME_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_WELCOME_EN,
-	MSG_WIZARD_WELCOME_CZ
-};
-
-const char MSG_WIZARD_WILL_PREHEAT_EN[] PROGMEM = "Now I will preheat nozzle for PLA.";
-const char MSG_WIZARD_WILL_PREHEAT_CZ[] PROGMEM = "Nyni predehreji trysku pro PLA.";
-const char * const MSG_WIZARD_WILL_PREHEAT_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_WILL_PREHEAT_EN,
-	MSG_WIZARD_WILL_PREHEAT_CZ
-};
-
-const char MSG_WIZARD_XYZ_CAL_EN[] PROGMEM = "I will run xyz calibration now. It will take approx. 12 mins.";
-const char MSG_WIZARD_XYZ_CAL_CZ[] PROGMEM = "Nyni provedu xyz kalibraci. Zabere to priblizne 12 min.";
-const char * const MSG_WIZARD_XYZ_CAL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_XYZ_CAL_EN,
-	MSG_WIZARD_XYZ_CAL_CZ
-};
-
-const char MSG_WIZARD_Z_CAL_EN[] PROGMEM = "I will run z calibration now.";
-const char MSG_WIZARD_Z_CAL_CZ[] PROGMEM = "Nyni provedu z kalibraci.";
-const char * const MSG_WIZARD_Z_CAL_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_WIZARD_Z_CAL_EN,
-	MSG_WIZARD_Z_CAL_CZ
-};
-
-const char MSG_XYZ_DETAILS_EN[] PROGMEM = "XYZ cal. details";
-const char MSG_XYZ_DETAILS_CZ[] PROGMEM = "Detaily XYZ kal.";
-const char * const MSG_XYZ_DETAILS_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_XYZ_DETAILS_EN,
-	MSG_XYZ_DETAILS_CZ
-};
-
-const char MSG_X_MAX_EN[] PROGMEM = "x_max: ";
-const char * const MSG_X_MAX_LANG_TABLE[1] PROGMEM = {
-	MSG_X_MAX_EN
-};
-
-const char MSG_X_MIN_EN[] PROGMEM = "x_min: ";
-const char * const MSG_X_MIN_LANG_TABLE[1] PROGMEM = {
-	MSG_X_MIN_EN
-};
-
-const char MSG_YES_EN[] PROGMEM = "Yes";
-const char MSG_YES_CZ[] PROGMEM = "Ano";
-const char * const MSG_YES_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_YES_EN,
-	MSG_YES_CZ
-};
-
-const char MSG_Y_DISTANCE_FROM_MIN_EN[] PROGMEM = "Y distance from min:";
-const char MSG_Y_DISTANCE_FROM_MIN_CZ[] PROGMEM = "Y vzdalenost od min:";
-const char * const MSG_Y_DISTANCE_FROM_MIN_LANG_TABLE[LANG_NUM] PROGMEM = {
-	MSG_Y_DISTANCE_FROM_MIN_EN,
-	MSG_Y_DISTANCE_FROM_MIN_CZ
-};
-
-const char MSG_Y_MAX_EN[] PROGMEM = "y_max: ";
-const char * const MSG_Y_MAX_LANG_TABLE[1] PROGMEM = {
-	MSG_Y_MAX_EN
-};
-
-const char MSG_Y_MIN_EN[] PROGMEM = "y_min: ";
-const char * const MSG_Y_MIN_LANG_TABLE[1] PROGMEM = {
-	MSG_Y_MIN_EN
-};
-
-const char MSG_ZPROBE_OUT_EN[] PROGMEM = "Z probe out. bed";
-const char * const MSG_ZPROBE_OUT_LANG_TABLE[1] PROGMEM = {
-	MSG_ZPROBE_OUT_EN
-};
-
-const char MSG_ZPROBE_ZOFFSET_EN[] PROGMEM = "Z Offset";
-const char * const MSG_ZPROBE_ZOFFSET_LANG_TABLE[1] PROGMEM = {
-	MSG_ZPROBE_ZOFFSET_EN
-};
-
-const char MSG_Z_MAX_EN[] PROGMEM = "z_max: ";
-const char * const MSG_Z_MAX_LANG_TABLE[1] PROGMEM = {
-	MSG_Z_MAX_EN
-};
-
-const char MSG_Z_MIN_EN[] PROGMEM = "z_min: ";
-const char * const MSG_Z_MIN_LANG_TABLE[1] PROGMEM = {
-	MSG_Z_MIN_EN
-};
-
-const char WELCOME_MSG_EN[] PROGMEM = CUSTOM_MENDEL_NAME " ready.";
-const char WELCOME_MSG_CZ[] PROGMEM = CUSTOM_MENDEL_NAME " ok";
-const char * const WELCOME_MSG_LANG_TABLE[LANG_NUM] PROGMEM = {
-	WELCOME_MSG_EN,
-	WELCOME_MSG_CZ
-};
-
-
-char langbuffer[LCD_WIDTH+1];
-char* CAT2(const char *s1,const char *s2) {
-  unsigned char len=0;
-  strncpy_P(langbuffer+len,s1,LCD_WIDTH-len);
-  len+=strlen_P(s1);
-  strncpy_P(langbuffer+len,s2,LCD_WIDTH-len);
-  return langbuffer;
-}
-char* CAT4(const char *s1,const char *s2,const char *s3,const char *s4) {
-  unsigned char len=0;
-  strncpy_P(langbuffer+len,s1,LCD_WIDTH-len);
-  len+=strlen_P(s1);
-  strncpy_P(langbuffer+len,s2,LCD_WIDTH-len);
-  len+=strlen_P(s2);
-  strncpy_P(langbuffer+len,s3,LCD_WIDTH-len);
-  len+=strlen_P(s3);
-  strncpy_P(langbuffer+len,s4,LCD_WIDTH-len);
-  return langbuffer;
-}

+ 0 - 849
lang_backup/language_all.h

@@ -1,849 +0,0 @@
-#ifndef LANGUAGE_ALL_H
-#define LANGUAGE_ALL_H
-
-#include <avr/pgmspace.h>
-// Language indices into their particular symbol tables.
-#define LANG_ID_EN 0
-#define LANG_ID_CZ 1
-// Language is not defined and it shall be selected from the menu.
-#define LANG_ID_FORCE_SELECTION 254
-// Language is not defined on a virgin RAMBo board.
-#define LANG_ID_UNDEFINED 255
-
-// Default language ID, if no language is selected.
-#define LANG_ID_DEFAULT LANG_ID_CZ
-
-// Number of languages available in the language table.
-#define LANG_NUM 2
-
-// Currectly active language selection.
-extern unsigned char lang_selected;
-
-#define LANG_TABLE_SELECT_EXPLICIT(TABLE, LANG) ((const char*)(pgm_read_ptr(TABLE + (LANG))))
-#define LANG_TABLE_SELECT(TABLE) LANG_TABLE_SELECT_EXPLICIT(TABLE, lang_selected)
-
-extern const char* const MSG_ACTIVE_EXTRUDER_LANG_TABLE[1];
-#define MSG_ACTIVE_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_ACTIVE_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_ADJUSTZ_LANG_TABLE[LANG_NUM];
-#define MSG_ADJUSTZ LANG_TABLE_SELECT(MSG_ADJUSTZ_LANG_TABLE)
-extern const char* const MSG_ALL_LANG_TABLE[LANG_NUM];
-#define MSG_ALL LANG_TABLE_SELECT(MSG_ALL_LANG_TABLE)
-extern const char* const MSG_AMAX_LANG_TABLE[1];
-#define MSG_AMAX LANG_TABLE_SELECT_EXPLICIT(MSG_AMAX_LANG_TABLE, 0)
-extern const char* const MSG_AUTHOR_LANG_TABLE[1];
-#define MSG_AUTHOR LANG_TABLE_SELECT_EXPLICIT(MSG_AUTHOR_LANG_TABLE, 0)
-extern const char* const MSG_AUTOLOADING_ENABLED_LANG_TABLE[LANG_NUM];
-#define MSG_AUTOLOADING_ENABLED LANG_TABLE_SELECT(MSG_AUTOLOADING_ENABLED_LANG_TABLE)
-extern const char* const MSG_AUTOLOADING_ONLY_IF_FSENS_ON_LANG_TABLE[LANG_NUM];
-#define MSG_AUTOLOADING_ONLY_IF_FSENS_ON LANG_TABLE_SELECT(MSG_AUTOLOADING_ONLY_IF_FSENS_ON_LANG_TABLE)
-extern const char* const MSG_AUTOLOAD_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_AUTOLOAD_FILAMENT LANG_TABLE_SELECT(MSG_AUTOLOAD_FILAMENT_LANG_TABLE)
-extern const char* const MSG_AUTO_HOME_LANG_TABLE[1];
-#define MSG_AUTO_HOME LANG_TABLE_SELECT_EXPLICIT(MSG_AUTO_HOME_LANG_TABLE, 0)
-extern const char* const MSG_AUTO_MODE_ON_LANG_TABLE[LANG_NUM];
-#define MSG_AUTO_MODE_ON LANG_TABLE_SELECT(MSG_AUTO_MODE_ON_LANG_TABLE)
-extern const char* const MSG_A_RETRACT_LANG_TABLE[1];
-#define MSG_A_RETRACT LANG_TABLE_SELECT_EXPLICIT(MSG_A_RETRACT_LANG_TABLE, 0)
-extern const char* const MSG_BABYSTEPPING_X_LANG_TABLE[1];
-#define MSG_BABYSTEPPING_X LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEPPING_X_LANG_TABLE, 0)
-extern const char* const MSG_BABYSTEPPING_Y_LANG_TABLE[1];
-#define MSG_BABYSTEPPING_Y LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEPPING_Y_LANG_TABLE, 0)
-extern const char* const MSG_BABYSTEPPING_Z_LANG_TABLE[1];
-#define MSG_BABYSTEPPING_Z LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEPPING_Z_LANG_TABLE, 0)
-extern const char* const MSG_BABYSTEP_X_LANG_TABLE[1];
-#define MSG_BABYSTEP_X LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEP_X_LANG_TABLE, 0)
-extern const char* const MSG_BABYSTEP_Y_LANG_TABLE[1];
-#define MSG_BABYSTEP_Y LANG_TABLE_SELECT_EXPLICIT(MSG_BABYSTEP_Y_LANG_TABLE, 0)
-extern const char* const MSG_BABYSTEP_Z_LANG_TABLE[LANG_NUM];
-#define MSG_BABYSTEP_Z LANG_TABLE_SELECT(MSG_BABYSTEP_Z_LANG_TABLE)
-extern const char* const MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE[LANG_NUM];
-#define MSG_BABYSTEP_Z_NOT_SET LANG_TABLE_SELECT(MSG_BABYSTEP_Z_NOT_SET_LANG_TABLE)
-extern const char* const MSG_BED_LANG_TABLE[1];
-#define MSG_BED LANG_TABLE_SELECT_EXPLICIT(MSG_BED_LANG_TABLE, 0)
-extern const char* const MSG_BED_CORRECTION_FRONT_LANG_TABLE[LANG_NUM];
-#define MSG_BED_CORRECTION_FRONT LANG_TABLE_SELECT(MSG_BED_CORRECTION_FRONT_LANG_TABLE)
-extern const char* const MSG_BED_CORRECTION_LEFT_LANG_TABLE[LANG_NUM];
-#define MSG_BED_CORRECTION_LEFT LANG_TABLE_SELECT(MSG_BED_CORRECTION_LEFT_LANG_TABLE)
-extern const char* const MSG_BED_CORRECTION_MENU_LANG_TABLE[LANG_NUM];
-#define MSG_BED_CORRECTION_MENU LANG_TABLE_SELECT(MSG_BED_CORRECTION_MENU_LANG_TABLE)
-extern const char* const MSG_BED_CORRECTION_REAR_LANG_TABLE[LANG_NUM];
-#define MSG_BED_CORRECTION_REAR LANG_TABLE_SELECT(MSG_BED_CORRECTION_REAR_LANG_TABLE)
-extern const char* const MSG_BED_CORRECTION_RESET_LANG_TABLE[1];
-#define MSG_BED_CORRECTION_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_BED_CORRECTION_RESET_LANG_TABLE, 0)
-extern const char* const MSG_BED_CORRECTION_RIGHT_LANG_TABLE[LANG_NUM];
-#define MSG_BED_CORRECTION_RIGHT LANG_TABLE_SELECT(MSG_BED_CORRECTION_RIGHT_LANG_TABLE)
-extern const char* const MSG_BED_DONE_LANG_TABLE[LANG_NUM];
-#define MSG_BED_DONE LANG_TABLE_SELECT(MSG_BED_DONE_LANG_TABLE)
-extern const char* const MSG_BED_HEATING_LANG_TABLE[LANG_NUM];
-#define MSG_BED_HEATING LANG_TABLE_SELECT(MSG_BED_HEATING_LANG_TABLE)
-extern const char* const MSG_BED_HEATING_SAFETY_DISABLED_LANG_TABLE[LANG_NUM];
-#define MSG_BED_HEATING_SAFETY_DISABLED LANG_TABLE_SELECT(MSG_BED_HEATING_SAFETY_DISABLED_LANG_TABLE)
-extern const char* const MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE[LANG_NUM];
-#define MSG_BED_LEVELING_FAILED_POINT_HIGH LANG_TABLE_SELECT(MSG_BED_LEVELING_FAILED_POINT_HIGH_LANG_TABLE)
-extern const char* const MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE[LANG_NUM];
-#define MSG_BED_LEVELING_FAILED_POINT_LOW LANG_TABLE_SELECT(MSG_BED_LEVELING_FAILED_POINT_LOW_LANG_TABLE)
-extern const char* const MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_LANG_TABLE[LANG_NUM];
-#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED LANG_TABLE_SELECT(MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_PERFECT_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR_LANG_TABLE)
-extern const char* const MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_LANG_TABLE[LANG_NUM];
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR LANG_TABLE_SELECT(MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR_LANG_TABLE)
-extern const char* const MSG_BEGIN_FILE_LIST_LANG_TABLE[1];
-#define MSG_BEGIN_FILE_LIST LANG_TABLE_SELECT_EXPLICIT(MSG_BEGIN_FILE_LIST_LANG_TABLE, 0)
-extern const char* const MSG_BROWNOUT_RESET_LANG_TABLE[1];
-#define MSG_BROWNOUT_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_BROWNOUT_RESET_LANG_TABLE, 0)
-extern const char* const MSG_CALIBRATE_BED_LANG_TABLE[LANG_NUM];
-#define MSG_CALIBRATE_BED LANG_TABLE_SELECT(MSG_CALIBRATE_BED_LANG_TABLE)
-extern const char* const MSG_CALIBRATE_BED_RESET_LANG_TABLE[LANG_NUM];
-#define MSG_CALIBRATE_BED_RESET LANG_TABLE_SELECT(MSG_CALIBRATE_BED_RESET_LANG_TABLE)
-extern const char* const MSG_CALIBRATE_E_LANG_TABLE[LANG_NUM];
-#define MSG_CALIBRATE_E LANG_TABLE_SELECT(MSG_CALIBRATE_E_LANG_TABLE)
-extern const char* const MSG_CALIBRATE_PINDA_LANG_TABLE[LANG_NUM];
-#define MSG_CALIBRATE_PINDA LANG_TABLE_SELECT(MSG_CALIBRATE_PINDA_LANG_TABLE)
-extern const char* const MSG_CALIBRATE_Z_AUTO_LANG_TABLE[LANG_NUM];
-#define MSG_CALIBRATE_Z_AUTO LANG_TABLE_SELECT(MSG_CALIBRATE_Z_AUTO_LANG_TABLE)
-extern const char* const MSG_CALIBRATION_PINDA_MENU_LANG_TABLE[LANG_NUM];
-#define MSG_CALIBRATION_PINDA_MENU LANG_TABLE_SELECT(MSG_CALIBRATION_PINDA_MENU_LANG_TABLE)
-extern const char* const MSG_CARD_MENU_LANG_TABLE[LANG_NUM];
-#define MSG_CARD_MENU LANG_TABLE_SELECT(MSG_CARD_MENU_LANG_TABLE)
-extern const char* const MSG_CHANGED_BOTH_LANG_TABLE[LANG_NUM];
-#define MSG_CHANGED_BOTH LANG_TABLE_SELECT(MSG_CHANGED_BOTH_LANG_TABLE)
-extern const char* const MSG_CHANGED_MOTHERBOARD_LANG_TABLE[LANG_NUM];
-#define MSG_CHANGED_MOTHERBOARD LANG_TABLE_SELECT(MSG_CHANGED_MOTHERBOARD_LANG_TABLE)
-extern const char* const MSG_CHANGED_PRINTER_LANG_TABLE[LANG_NUM];
-#define MSG_CHANGED_PRINTER LANG_TABLE_SELECT(MSG_CHANGED_PRINTER_LANG_TABLE)
-extern const char* const MSG_CHANGE_EXTR_LANG_TABLE[LANG_NUM];
-#define MSG_CHANGE_EXTR LANG_TABLE_SELECT(MSG_CHANGE_EXTR_LANG_TABLE)
-extern const char* const MSG_CHANGE_SUCCESS_LANG_TABLE[LANG_NUM];
-#define MSG_CHANGE_SUCCESS LANG_TABLE_SELECT(MSG_CHANGE_SUCCESS_LANG_TABLE)
-extern const char* const MSG_CHANGING_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_CHANGING_FILAMENT LANG_TABLE_SELECT(MSG_CHANGING_FILAMENT_LANG_TABLE)
-extern const char* const MSG_CHECK_IDLER_LANG_TABLE[LANG_NUM];
-#define MSG_CHECK_IDLER LANG_TABLE_SELECT(MSG_CHECK_IDLER_LANG_TABLE)
-extern const char* const MSG_CHOOSE_EXTRUDER_LANG_TABLE[LANG_NUM];
-#define MSG_CHOOSE_EXTRUDER LANG_TABLE_SELECT(MSG_CHOOSE_EXTRUDER_LANG_TABLE)
-extern const char* const MSG_CLEAN_NOZZLE_E_LANG_TABLE[LANG_NUM];
-#define MSG_CLEAN_NOZZLE_E LANG_TABLE_SELECT(MSG_CLEAN_NOZZLE_E_LANG_TABLE)
-extern const char* const MSG_CNG_SDCARD_LANG_TABLE[1];
-#define MSG_CNG_SDCARD LANG_TABLE_SELECT_EXPLICIT(MSG_CNG_SDCARD_LANG_TABLE, 0)
-extern const char* const MSG_CONFIGURATION_VER_LANG_TABLE[1];
-#define MSG_CONFIGURATION_VER LANG_TABLE_SELECT_EXPLICIT(MSG_CONFIGURATION_VER_LANG_TABLE, 0)
-extern const char* const MSG_CONFIRM_CARRIAGE_AT_THE_TOP_LANG_TABLE[LANG_NUM];
-#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP LANG_TABLE_SELECT(MSG_CONFIRM_CARRIAGE_AT_THE_TOP_LANG_TABLE)
-extern const char* const MSG_CONFIRM_NOZZLE_CLEAN_LANG_TABLE[LANG_NUM];
-#define MSG_CONFIRM_NOZZLE_CLEAN LANG_TABLE_SELECT(MSG_CONFIRM_NOZZLE_CLEAN_LANG_TABLE)
-extern const char* const MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_LANG_TABLE[LANG_NUM];
-#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ LANG_TABLE_SELECT(MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ_LANG_TABLE)
-extern const char* const MSG_CONTROL_LANG_TABLE[1];
-#define MSG_CONTROL LANG_TABLE_SELECT_EXPLICIT(MSG_CONTROL_LANG_TABLE, 0)
-extern const char* const MSG_COOLDOWN_LANG_TABLE[LANG_NUM];
-#define MSG_COOLDOWN LANG_TABLE_SELECT(MSG_COOLDOWN_LANG_TABLE)
-extern const char* const MSG_CORRECTLY_LANG_TABLE[LANG_NUM];
-#define MSG_CORRECTLY LANG_TABLE_SELECT(MSG_CORRECTLY_LANG_TABLE)
-extern const char* const MSG_COUNT_X_LANG_TABLE[1];
-#define MSG_COUNT_X LANG_TABLE_SELECT_EXPLICIT(MSG_COUNT_X_LANG_TABLE, 0)
-extern const char* const MSG_CRASHDETECT_NA_LANG_TABLE[1];
-#define MSG_CRASHDETECT_NA LANG_TABLE_SELECT_EXPLICIT(MSG_CRASHDETECT_NA_LANG_TABLE, 0)
-extern const char* const MSG_CRASHDETECT_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_CRASHDETECT_OFF LANG_TABLE_SELECT(MSG_CRASHDETECT_OFF_LANG_TABLE)
-extern const char* const MSG_CRASHDETECT_ON_LANG_TABLE[LANG_NUM];
-#define MSG_CRASHDETECT_ON LANG_TABLE_SELECT(MSG_CRASHDETECT_ON_LANG_TABLE)
-extern const char* const MSG_CRASH_DETECTED_LANG_TABLE[LANG_NUM];
-#define MSG_CRASH_DETECTED LANG_TABLE_SELECT(MSG_CRASH_DETECTED_LANG_TABLE)
-extern const char* const MSG_CRASH_DETECTED2_LANG_TABLE[LANG_NUM];
-#define MSG_CRASH_DETECTED2 LANG_TABLE_SELECT(MSG_CRASH_DETECTED2_LANG_TABLE)
-extern const char* const MSG_CRASH_DET_ONLY_IN_NORMAL_LANG_TABLE[LANG_NUM];
-#define MSG_CRASH_DET_ONLY_IN_NORMAL LANG_TABLE_SELECT(MSG_CRASH_DET_ONLY_IN_NORMAL_LANG_TABLE)
-extern const char* const MSG_CRASH_DET_STEALTH_FORCE_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_CRASH_DET_STEALTH_FORCE_OFF LANG_TABLE_SELECT(MSG_CRASH_DET_STEALTH_FORCE_OFF_LANG_TABLE)
-extern const char* const MSG_CURRENT_LANG_TABLE[LANG_NUM];
-#define MSG_CURRENT LANG_TABLE_SELECT(MSG_CURRENT_LANG_TABLE)
-extern const char* const MSG_DATE_LANG_TABLE[LANG_NUM];
-#define MSG_DATE LANG_TABLE_SELECT(MSG_DATE_LANG_TABLE)
-extern const char* const MSG_DEFAULT_SETTINGS_LOADED_LANG_TABLE[LANG_NUM];
-#define MSG_DEFAULT_SETTINGS_LOADED LANG_TABLE_SELECT(MSG_DEFAULT_SETTINGS_LOADED_LANG_TABLE)
-extern const char* const MSG_DISABLE_STEPPERS_LANG_TABLE[LANG_NUM];
-#define MSG_DISABLE_STEPPERS LANG_TABLE_SELECT(MSG_DISABLE_STEPPERS_LANG_TABLE)
-extern const char* const MSG_DWELL_LANG_TABLE[1];
-#define MSG_DWELL LANG_TABLE_SELECT_EXPLICIT(MSG_DWELL_LANG_TABLE, 0)
-extern const char* const MSG_ENDSTOPS_HIT_LANG_TABLE[1];
-#define MSG_ENDSTOPS_HIT LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOPS_HIT_LANG_TABLE, 0)
-extern const char* const MSG_ENDSTOP_HIT_LANG_TABLE[1];
-#define MSG_ENDSTOP_HIT LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOP_HIT_LANG_TABLE, 0)
-extern const char* const MSG_ENDSTOP_OPEN_LANG_TABLE[1];
-#define MSG_ENDSTOP_OPEN LANG_TABLE_SELECT_EXPLICIT(MSG_ENDSTOP_OPEN_LANG_TABLE, 0)
-extern const char* const MSG_END_FILE_LIST_LANG_TABLE[1];
-#define MSG_END_FILE_LIST LANG_TABLE_SELECT_EXPLICIT(MSG_END_FILE_LIST_LANG_TABLE, 0)
-extern const char* const MSG_ERROR_LANG_TABLE[LANG_NUM];
-#define MSG_ERROR LANG_TABLE_SELECT(MSG_ERROR_LANG_TABLE)
-extern const char* const MSG_ERR_CHECKSUM_MISMATCH_LANG_TABLE[1];
-#define MSG_ERR_CHECKSUM_MISMATCH LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_CHECKSUM_MISMATCH_LANG_TABLE, 0)
-extern const char* const MSG_ERR_COLD_EXTRUDE_STOP_LANG_TABLE[1];
-#define MSG_ERR_COLD_EXTRUDE_STOP LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_COLD_EXTRUDE_STOP_LANG_TABLE, 0)
-extern const char* const MSG_ERR_KILLED_LANG_TABLE[1];
-#define MSG_ERR_KILLED LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_KILLED_LANG_TABLE, 0)
-extern const char* const MSG_ERR_LINE_NO_LANG_TABLE[1];
-#define MSG_ERR_LINE_NO LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_LINE_NO_LANG_TABLE, 0)
-extern const char* const MSG_ERR_LONG_EXTRUDE_STOP_LANG_TABLE[1];
-#define MSG_ERR_LONG_EXTRUDE_STOP LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_LONG_EXTRUDE_STOP_LANG_TABLE, 0)
-extern const char* const MSG_ERR_NO_CHECKSUM_LANG_TABLE[1];
-#define MSG_ERR_NO_CHECKSUM LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_NO_CHECKSUM_LANG_TABLE, 0)
-extern const char* const MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM_LANG_TABLE[1];
-#define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM_LANG_TABLE, 0)
-extern const char* const MSG_ERR_NO_THERMISTORS_LANG_TABLE[1];
-#define MSG_ERR_NO_THERMISTORS LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_NO_THERMISTORS_LANG_TABLE, 0)
-extern const char* const MSG_ERR_STOPPED_LANG_TABLE[1];
-#define MSG_ERR_STOPPED LANG_TABLE_SELECT_EXPLICIT(MSG_ERR_STOPPED_LANG_TABLE, 0)
-extern const char* const MSG_EXTERNAL_RESET_LANG_TABLE[1];
-#define MSG_EXTERNAL_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_EXTERNAL_RESET_LANG_TABLE, 0)
-extern const char* const MSG_EXTRUDER_LANG_TABLE[1];
-#define MSG_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_EXTRUDER_1_LANG_TABLE[1];
-#define MSG_EXTRUDER_1 LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_1_LANG_TABLE, 0)
-extern const char* const MSG_EXTRUDER_2_LANG_TABLE[1];
-#define MSG_EXTRUDER_2 LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_2_LANG_TABLE, 0)
-extern const char* const MSG_EXTRUDER_3_LANG_TABLE[1];
-#define MSG_EXTRUDER_3 LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_3_LANG_TABLE, 0)
-extern const char* const MSG_EXTRUDER_4_LANG_TABLE[1];
-#define MSG_EXTRUDER_4 LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_4_LANG_TABLE, 0)
-extern const char* const MSG_EXTRUDER_CORRECTION_LANG_TABLE[1];
-#define MSG_EXTRUDER_CORRECTION LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_CORRECTION_LANG_TABLE, 0)
-extern const char* const MSG_EXTRUDER_CORRECTION_OFF_LANG_TABLE[1];
-#define MSG_EXTRUDER_CORRECTION_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_EXTRUDER_CORRECTION_OFF_LANG_TABLE, 0)
-extern const char* const MSG_E_CAL_KNOB_LANG_TABLE[LANG_NUM];
-#define MSG_E_CAL_KNOB LANG_TABLE_SELECT(MSG_E_CAL_KNOB_LANG_TABLE)
-extern const char* const MSG_Enqueing_LANG_TABLE[1];
-#define MSG_Enqueing LANG_TABLE_SELECT_EXPLICIT(MSG_Enqueing_LANG_TABLE, 0)
-extern const char* const MSG_FACTOR_LANG_TABLE[1];
-#define MSG_FACTOR LANG_TABLE_SELECT_EXPLICIT(MSG_FACTOR_LANG_TABLE, 0)
-extern const char* const MSG_FANS_CHECK_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_FANS_CHECK_OFF LANG_TABLE_SELECT(MSG_FANS_CHECK_OFF_LANG_TABLE)
-extern const char* const MSG_FANS_CHECK_ON_LANG_TABLE[LANG_NUM];
-#define MSG_FANS_CHECK_ON LANG_TABLE_SELECT(MSG_FANS_CHECK_ON_LANG_TABLE)
-extern const char* const MSG_FAN_SPEED_LANG_TABLE[LANG_NUM];
-#define MSG_FAN_SPEED LANG_TABLE_SELECT(MSG_FAN_SPEED_LANG_TABLE)
-extern const char* const MSG_FARM_CARD_MENU_LANG_TABLE[1];
-#define MSG_FARM_CARD_MENU LANG_TABLE_SELECT_EXPLICIT(MSG_FARM_CARD_MENU_LANG_TABLE, 0)
-extern const char* const MSG_FILAMENTCHANGE_LANG_TABLE[LANG_NUM];
-#define MSG_FILAMENTCHANGE LANG_TABLE_SELECT(MSG_FILAMENTCHANGE_LANG_TABLE)
-extern const char* const MSG_FILAMENT_CLEAN_LANG_TABLE[LANG_NUM];
-#define MSG_FILAMENT_CLEAN LANG_TABLE_SELECT(MSG_FILAMENT_CLEAN_LANG_TABLE)
-extern const char* const MSG_FILAMENT_LOADING_T0_LANG_TABLE[LANG_NUM];
-#define MSG_FILAMENT_LOADING_T0 LANG_TABLE_SELECT(MSG_FILAMENT_LOADING_T0_LANG_TABLE)
-extern const char* const MSG_FILAMENT_LOADING_T1_LANG_TABLE[LANG_NUM];
-#define MSG_FILAMENT_LOADING_T1 LANG_TABLE_SELECT(MSG_FILAMENT_LOADING_T1_LANG_TABLE)
-extern const char* const MSG_FILAMENT_LOADING_T2_LANG_TABLE[LANG_NUM];
-#define MSG_FILAMENT_LOADING_T2 LANG_TABLE_SELECT(MSG_FILAMENT_LOADING_T2_LANG_TABLE)
-extern const char* const MSG_FILAMENT_LOADING_T3_LANG_TABLE[LANG_NUM];
-#define MSG_FILAMENT_LOADING_T3 LANG_TABLE_SELECT(MSG_FILAMENT_LOADING_T3_LANG_TABLE)
-extern const char* const MSG_FILAMENT_SENSOR_LANG_TABLE[LANG_NUM];
-#define MSG_FILAMENT_SENSOR LANG_TABLE_SELECT(MSG_FILAMENT_SENSOR_LANG_TABLE)
-extern const char* const MSG_FILE_CNT_LANG_TABLE[LANG_NUM];
-#define MSG_FILE_CNT LANG_TABLE_SELECT(MSG_FILE_CNT_LANG_TABLE)
-extern const char* const MSG_FILE_INCOMPLETE_LANG_TABLE[LANG_NUM];
-#define MSG_FILE_INCOMPLETE LANG_TABLE_SELECT(MSG_FILE_INCOMPLETE_LANG_TABLE)
-extern const char* const MSG_FILE_PRINTED_LANG_TABLE[1];
-#define MSG_FILE_PRINTED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_PRINTED_LANG_TABLE, 0)
-extern const char* const MSG_FILE_SAVED_LANG_TABLE[1];
-#define MSG_FILE_SAVED LANG_TABLE_SELECT_EXPLICIT(MSG_FILE_SAVED_LANG_TABLE, 0)
-extern const char* const MSG_FIL_ADJUSTING_LANG_TABLE[LANG_NUM];
-#define MSG_FIL_ADJUSTING LANG_TABLE_SELECT(MSG_FIL_ADJUSTING_LANG_TABLE)
-extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE[LANG_NUM];
-#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION_LANG_TABLE)
-extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM];
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE)
-extern const char* const MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM];
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 LANG_TABLE_SELECT(MSG_FIND_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE)
-extern const char* const MSG_FINISHING_MOVEMENTS_LANG_TABLE[LANG_NUM];
-#define MSG_FINISHING_MOVEMENTS LANG_TABLE_SELECT(MSG_FINISHING_MOVEMENTS_LANG_TABLE)
-extern const char* const MSG_FLOW_LANG_TABLE[LANG_NUM];
-#define MSG_FLOW LANG_TABLE_SELECT(MSG_FLOW_LANG_TABLE)
-extern const char* const MSG_FLOW0_LANG_TABLE[1];
-#define MSG_FLOW0 LANG_TABLE_SELECT_EXPLICIT(MSG_FLOW0_LANG_TABLE, 0)
-extern const char* const MSG_FLOW1_LANG_TABLE[1];
-#define MSG_FLOW1 LANG_TABLE_SELECT_EXPLICIT(MSG_FLOW1_LANG_TABLE, 0)
-extern const char* const MSG_FLOW2_LANG_TABLE[1];
-#define MSG_FLOW2 LANG_TABLE_SELECT_EXPLICIT(MSG_FLOW2_LANG_TABLE, 0)
-extern const char* const MSG_FOLLOW_CALIBRATION_FLOW_LANG_TABLE[LANG_NUM];
-#define MSG_FOLLOW_CALIBRATION_FLOW LANG_TABLE_SELECT(MSG_FOLLOW_CALIBRATION_FLOW_LANG_TABLE)
-extern const char* const MSG_FORCE_SELFTEST_LANG_TABLE[LANG_NUM];
-#define MSG_FORCE_SELFTEST LANG_TABLE_SELECT(MSG_FORCE_SELFTEST_LANG_TABLE)
-extern const char* const MSG_FREE_MEMORY_LANG_TABLE[1];
-#define MSG_FREE_MEMORY LANG_TABLE_SELECT_EXPLICIT(MSG_FREE_MEMORY_LANG_TABLE, 0)
-extern const char* const MSG_FSENSOR_NA_LANG_TABLE[LANG_NUM];
-#define MSG_FSENSOR_NA LANG_TABLE_SELECT(MSG_FSENSOR_NA_LANG_TABLE)
-extern const char* const MSG_FSENSOR_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_FSENSOR_OFF LANG_TABLE_SELECT(MSG_FSENSOR_OFF_LANG_TABLE)
-extern const char* const MSG_FSENSOR_ON_LANG_TABLE[LANG_NUM];
-#define MSG_FSENSOR_ON LANG_TABLE_SELECT(MSG_FSENSOR_ON_LANG_TABLE)
-extern const char* const MSG_FSENS_AUTOLOAD_NA_LANG_TABLE[LANG_NUM];
-#define MSG_FSENS_AUTOLOAD_NA LANG_TABLE_SELECT(MSG_FSENS_AUTOLOAD_NA_LANG_TABLE)
-extern const char* const MSG_FSENS_AUTOLOAD_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_FSENS_AUTOLOAD_OFF LANG_TABLE_SELECT(MSG_FSENS_AUTOLOAD_OFF_LANG_TABLE)
-extern const char* const MSG_FSENS_AUTOLOAD_ON_LANG_TABLE[LANG_NUM];
-#define MSG_FSENS_AUTOLOAD_ON LANG_TABLE_SELECT(MSG_FSENS_AUTOLOAD_ON_LANG_TABLE)
-extern const char* const MSG_FSENS_NOT_RESPONDING_LANG_TABLE[LANG_NUM];
-#define MSG_FSENS_NOT_RESPONDING LANG_TABLE_SELECT(MSG_FSENS_NOT_RESPONDING_LANG_TABLE)
-extern const char* const MSG_FW_VERSION_ALPHA_LANG_TABLE[LANG_NUM];
-#define MSG_FW_VERSION_ALPHA LANG_TABLE_SELECT(MSG_FW_VERSION_ALPHA_LANG_TABLE)
-extern const char* const MSG_FW_VERSION_BETA_LANG_TABLE[LANG_NUM];
-#define MSG_FW_VERSION_BETA LANG_TABLE_SELECT(MSG_FW_VERSION_BETA_LANG_TABLE)
-extern const char* const MSG_FW_VERSION_RC_LANG_TABLE[LANG_NUM];
-#define MSG_FW_VERSION_RC LANG_TABLE_SELECT(MSG_FW_VERSION_RC_LANG_TABLE)
-extern const char* const MSG_FW_VERSION_UNKNOWN_LANG_TABLE[LANG_NUM];
-#define MSG_FW_VERSION_UNKNOWN LANG_TABLE_SELECT(MSG_FW_VERSION_UNKNOWN_LANG_TABLE)
-extern const char* const MSG_HEATING_LANG_TABLE[LANG_NUM];
-#define MSG_HEATING LANG_TABLE_SELECT(MSG_HEATING_LANG_TABLE)
-extern const char* const MSG_HEATING_COMPLETE_LANG_TABLE[LANG_NUM];
-#define MSG_HEATING_COMPLETE LANG_TABLE_SELECT(MSG_HEATING_COMPLETE_LANG_TABLE)
-extern const char* const MSG_HOMEYZ_LANG_TABLE[LANG_NUM];
-#define MSG_HOMEYZ LANG_TABLE_SELECT(MSG_HOMEYZ_LANG_TABLE)
-extern const char* const MSG_HOMEYZ_DONE_LANG_TABLE[LANG_NUM];
-#define MSG_HOMEYZ_DONE LANG_TABLE_SELECT(MSG_HOMEYZ_DONE_LANG_TABLE)
-extern const char* const MSG_HOMEYZ_PROGRESS_LANG_TABLE[LANG_NUM];
-#define MSG_HOMEYZ_PROGRESS LANG_TABLE_SELECT(MSG_HOMEYZ_PROGRESS_LANG_TABLE)
-extern const char* const MSG_HOTEND_OFFSET_LANG_TABLE[1];
-#define MSG_HOTEND_OFFSET LANG_TABLE_SELECT_EXPLICIT(MSG_HOTEND_OFFSET_LANG_TABLE, 0)
-extern const char* const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE[LANG_NUM];
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 LANG_TABLE_SELECT(MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1_LANG_TABLE)
-extern const char* const MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE[LANG_NUM];
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 LANG_TABLE_SELECT(MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2_LANG_TABLE)
-extern const char* const MSG_INFO_EXTRUDER_LANG_TABLE[1];
-#define MSG_INFO_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_INFO_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_INFO_FILAMENT_XDIFF_LANG_TABLE[1];
-#define MSG_INFO_FILAMENT_XDIFF LANG_TABLE_SELECT_EXPLICIT(MSG_INFO_FILAMENT_XDIFF_LANG_TABLE, 0)
-extern const char* const MSG_INFO_FILAMENT_YDIFF_LANG_TABLE[1];
-#define MSG_INFO_FILAMENT_YDIFF LANG_TABLE_SELECT_EXPLICIT(MSG_INFO_FILAMENT_YDIFF_LANG_TABLE, 0)
-extern const char* const MSG_INFO_NOZZLE_FAN_LANG_TABLE[LANG_NUM];
-#define MSG_INFO_NOZZLE_FAN LANG_TABLE_SELECT(MSG_INFO_NOZZLE_FAN_LANG_TABLE)
-extern const char* const MSG_INFO_PRINT_FAN_LANG_TABLE[LANG_NUM];
-#define MSG_INFO_PRINT_FAN LANG_TABLE_SELECT(MSG_INFO_PRINT_FAN_LANG_TABLE)
-extern const char* const MSG_INIT_SDCARD_LANG_TABLE[1];
-#define MSG_INIT_SDCARD LANG_TABLE_SELECT_EXPLICIT(MSG_INIT_SDCARD_LANG_TABLE, 0)
-extern const char* const MSG_INSERT_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_INSERT_FILAMENT LANG_TABLE_SELECT(MSG_INSERT_FILAMENT_LANG_TABLE)
-extern const char* const MSG_INVALID_EXTRUDER_LANG_TABLE[1];
-#define MSG_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_INVALID_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_KILLED_LANG_TABLE[1];
-#define MSG_KILLED LANG_TABLE_SELECT_EXPLICIT(MSG_KILLED_LANG_TABLE, 0)
-extern const char* const MSG_LANGUAGE_NAME_LANG_TABLE[LANG_NUM];
-#define MSG_LANGUAGE_NAME LANG_TABLE_SELECT(MSG_LANGUAGE_NAME_LANG_TABLE)
-#define MSG_LANGUAGE_NAME_EXPLICIT(LANG) LANG_TABLE_SELECT_EXPLICIT(MSG_LANGUAGE_NAME_LANG_TABLE, LANG)
-extern const char* const MSG_LANGUAGE_SELECT_LANG_TABLE[LANG_NUM];
-#define MSG_LANGUAGE_SELECT LANG_TABLE_SELECT(MSG_LANGUAGE_SELECT_LANG_TABLE)
-#define MSG_LANGUAGE_SELECT_EXPLICIT(LANG) LANG_TABLE_SELECT_EXPLICIT(MSG_LANGUAGE_SELECT_LANG_TABLE, LANG)
-extern const char* const MSG_LEFT_LANG_TABLE[LANG_NUM];
-#define MSG_LEFT LANG_TABLE_SELECT(MSG_LEFT_LANG_TABLE)
-extern const char* const MSG_LOADING_COLOR_LANG_TABLE[LANG_NUM];
-#define MSG_LOADING_COLOR LANG_TABLE_SELECT(MSG_LOADING_COLOR_LANG_TABLE)
-extern const char* const MSG_LOADING_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_LOADING_FILAMENT LANG_TABLE_SELECT(MSG_LOADING_FILAMENT_LANG_TABLE)
-extern const char* const MSG_LOAD_ALL_LANG_TABLE[LANG_NUM];
-#define MSG_LOAD_ALL LANG_TABLE_SELECT(MSG_LOAD_ALL_LANG_TABLE)
-extern const char* const MSG_LOAD_EPROM_LANG_TABLE[1];
-#define MSG_LOAD_EPROM LANG_TABLE_SELECT_EXPLICIT(MSG_LOAD_EPROM_LANG_TABLE, 0)
-extern const char* const MSG_LOAD_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_LOAD_FILAMENT LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_LANG_TABLE)
-extern const char* const MSG_LOAD_FILAMENT_1_LANG_TABLE[LANG_NUM];
-#define MSG_LOAD_FILAMENT_1 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_1_LANG_TABLE)
-extern const char* const MSG_LOAD_FILAMENT_2_LANG_TABLE[LANG_NUM];
-#define MSG_LOAD_FILAMENT_2 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_2_LANG_TABLE)
-extern const char* const MSG_LOAD_FILAMENT_3_LANG_TABLE[LANG_NUM];
-#define MSG_LOAD_FILAMENT_3 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_3_LANG_TABLE)
-extern const char* const MSG_LOAD_FILAMENT_4_LANG_TABLE[LANG_NUM];
-#define MSG_LOAD_FILAMENT_4 LANG_TABLE_SELECT(MSG_LOAD_FILAMENT_4_LANG_TABLE)
-extern const char* const MSG_LOOSE_PULLEY_LANG_TABLE[LANG_NUM];
-#define MSG_LOOSE_PULLEY LANG_TABLE_SELECT(MSG_LOOSE_PULLEY_LANG_TABLE)
-extern const char* const MSG_M104_INVALID_EXTRUDER_LANG_TABLE[1];
-#define MSG_M104_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M104_INVALID_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_M105_INVALID_EXTRUDER_LANG_TABLE[1];
-#define MSG_M105_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M105_INVALID_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_M109_INVALID_EXTRUDER_LANG_TABLE[1];
-#define MSG_M109_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M109_INVALID_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_M117_V2_CALIBRATION_LANG_TABLE[LANG_NUM];
-#define MSG_M117_V2_CALIBRATION LANG_TABLE_SELECT(MSG_M117_V2_CALIBRATION_LANG_TABLE)
-extern const char* const MSG_M119_REPORT_LANG_TABLE[1];
-#define MSG_M119_REPORT LANG_TABLE_SELECT_EXPLICIT(MSG_M119_REPORT_LANG_TABLE, 0)
-extern const char* const MSG_M200_INVALID_EXTRUDER_LANG_TABLE[1];
-#define MSG_M200_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M200_INVALID_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_M218_INVALID_EXTRUDER_LANG_TABLE[1];
-#define MSG_M218_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M218_INVALID_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_M221_INVALID_EXTRUDER_LANG_TABLE[1];
-#define MSG_M221_INVALID_EXTRUDER LANG_TABLE_SELECT_EXPLICIT(MSG_M221_INVALID_EXTRUDER_LANG_TABLE, 0)
-extern const char* const MSG_MAIN_LANG_TABLE[LANG_NUM];
-#define MSG_MAIN LANG_TABLE_SELECT(MSG_MAIN_LANG_TABLE)
-extern const char* const MSG_MARK_FIL_LANG_TABLE[LANG_NUM];
-#define MSG_MARK_FIL LANG_TABLE_SELECT(MSG_MARK_FIL_LANG_TABLE)
-extern const char* const MSG_MAX_LANG_TABLE[1];
-#define MSG_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_MAX_LANG_TABLE, 0)
-extern const char* const MSG_MEASURED_OFFSET_LANG_TABLE[1];
-#define MSG_MEASURED_OFFSET LANG_TABLE_SELECT_EXPLICIT(MSG_MEASURED_OFFSET_LANG_TABLE, 0)
-extern const char* const MSG_MEASURED_SKEW_LANG_TABLE[LANG_NUM];
-#define MSG_MEASURED_SKEW LANG_TABLE_SELECT(MSG_MEASURED_SKEW_LANG_TABLE)
-extern const char* const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_LANG_TABLE[LANG_NUM];
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 LANG_TABLE_SELECT(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1_LANG_TABLE)
-extern const char* const MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_LANG_TABLE[LANG_NUM];
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 LANG_TABLE_SELECT(MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2_LANG_TABLE)
-extern const char* const MSG_MENU_BELT_STATUS_LANG_TABLE[LANG_NUM];
-#define MSG_MENU_BELT_STATUS LANG_TABLE_SELECT(MSG_MENU_BELT_STATUS_LANG_TABLE)
-extern const char* const MSG_MENU_CALIBRATION_LANG_TABLE[LANG_NUM];
-#define MSG_MENU_CALIBRATION LANG_TABLE_SELECT(MSG_MENU_CALIBRATION_LANG_TABLE)
-extern const char* const MSG_MENU_TEMPERATURES_LANG_TABLE[LANG_NUM];
-#define MSG_MENU_TEMPERATURES LANG_TABLE_SELECT(MSG_MENU_TEMPERATURES_LANG_TABLE)
-extern const char* const MSG_MENU_VOLTAGES_LANG_TABLE[LANG_NUM];
-#define MSG_MENU_VOLTAGES LANG_TABLE_SELECT(MSG_MENU_VOLTAGES_LANG_TABLE)
-extern const char* const MSG_MESH_BED_LEVELING_LANG_TABLE[1];
-#define MSG_MESH_BED_LEVELING LANG_TABLE_SELECT_EXPLICIT(MSG_MESH_BED_LEVELING_LANG_TABLE, 0)
-extern const char* const MSG_MIN_LANG_TABLE[1];
-#define MSG_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_MIN_LANG_TABLE, 0)
-extern const char* const MSG_MOTION_LANG_TABLE[1];
-#define MSG_MOTION LANG_TABLE_SELECT_EXPLICIT(MSG_MOTION_LANG_TABLE, 0)
-extern const char* const MSG_MOVE_01MM_LANG_TABLE[1];
-#define MSG_MOVE_01MM LANG_TABLE_SELECT_EXPLICIT(MSG_MOVE_01MM_LANG_TABLE, 0)
-extern const char* const MSG_MOVE_10MM_LANG_TABLE[1];
-#define MSG_MOVE_10MM LANG_TABLE_SELECT_EXPLICIT(MSG_MOVE_10MM_LANG_TABLE, 0)
-extern const char* const MSG_MOVE_1MM_LANG_TABLE[1];
-#define MSG_MOVE_1MM LANG_TABLE_SELECT_EXPLICIT(MSG_MOVE_1MM_LANG_TABLE, 0)
-extern const char* const MSG_MOVE_AXIS_LANG_TABLE[LANG_NUM];
-#define MSG_MOVE_AXIS LANG_TABLE_SELECT(MSG_MOVE_AXIS_LANG_TABLE)
-extern const char* const MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE[LANG_NUM];
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP LANG_TABLE_SELECT(MSG_MOVE_CARRIAGE_TO_THE_TOP_LANG_TABLE)
-extern const char* const MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_LANG_TABLE[LANG_NUM];
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z LANG_TABLE_SELECT(MSG_MOVE_CARRIAGE_TO_THE_TOP_Z_LANG_TABLE)
-extern const char* const MSG_MOVE_E_LANG_TABLE[1];
-#define MSG_MOVE_E LANG_TABLE_SELECT_EXPLICIT(MSG_MOVE_E_LANG_TABLE, 0)
-extern const char* const MSG_MOVE_X_LANG_TABLE[LANG_NUM];
-#define MSG_MOVE_X LANG_TABLE_SELECT(MSG_MOVE_X_LANG_TABLE)
-extern const char* const MSG_MOVE_Y_LANG_TABLE[LANG_NUM];
-#define MSG_MOVE_Y LANG_TABLE_SELECT(MSG_MOVE_Y_LANG_TABLE)
-extern const char* const MSG_MOVE_Z_LANG_TABLE[LANG_NUM];
-#define MSG_MOVE_Z LANG_TABLE_SELECT(MSG_MOVE_Z_LANG_TABLE)
-extern const char* const MSG_NEW_FIRMWARE_AVAILABLE_LANG_TABLE[LANG_NUM];
-#define MSG_NEW_FIRMWARE_AVAILABLE LANG_TABLE_SELECT(MSG_NEW_FIRMWARE_AVAILABLE_LANG_TABLE)
-extern const char* const MSG_NEW_FIRMWARE_PLEASE_UPGRADE_LANG_TABLE[LANG_NUM];
-#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE LANG_TABLE_SELECT(MSG_NEW_FIRMWARE_PLEASE_UPGRADE_LANG_TABLE)
-extern const char* const MSG_NO_LANG_TABLE[LANG_NUM];
-#define MSG_NO LANG_TABLE_SELECT(MSG_NO_LANG_TABLE)
-extern const char* const MSG_NOT_COLOR_LANG_TABLE[LANG_NUM];
-#define MSG_NOT_COLOR LANG_TABLE_SELECT(MSG_NOT_COLOR_LANG_TABLE)
-extern const char* const MSG_NOT_LOADED_LANG_TABLE[LANG_NUM];
-#define MSG_NOT_LOADED LANG_TABLE_SELECT(MSG_NOT_LOADED_LANG_TABLE)
-extern const char* const MSG_NOZZLE_LANG_TABLE[LANG_NUM];
-#define MSG_NOZZLE LANG_TABLE_SELECT(MSG_NOZZLE_LANG_TABLE)
-extern const char* const MSG_NOZZLE1_LANG_TABLE[1];
-#define MSG_NOZZLE1 LANG_TABLE_SELECT_EXPLICIT(MSG_NOZZLE1_LANG_TABLE, 0)
-extern const char* const MSG_NOZZLE2_LANG_TABLE[1];
-#define MSG_NOZZLE2 LANG_TABLE_SELECT_EXPLICIT(MSG_NOZZLE2_LANG_TABLE, 0)
-extern const char* const MSG_NO_CARD_LANG_TABLE[LANG_NUM];
-#define MSG_NO_CARD LANG_TABLE_SELECT(MSG_NO_CARD_LANG_TABLE)
-extern const char* const MSG_NO_MOVE_LANG_TABLE[1];
-#define MSG_NO_MOVE LANG_TABLE_SELECT_EXPLICIT(MSG_NO_MOVE_LANG_TABLE, 0)
-extern const char* const MSG_OFF_LANG_TABLE[1];
-#define MSG_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_OFF_LANG_TABLE, 0)
-extern const char* const MSG_OK_LANG_TABLE[1];
-#define MSG_OK LANG_TABLE_SELECT_EXPLICIT(MSG_OK_LANG_TABLE, 0)
-extern const char* const MSG_ON_LANG_TABLE[1];
-#define MSG_ON LANG_TABLE_SELECT_EXPLICIT(MSG_ON_LANG_TABLE, 0)
-extern const char* const MSG_PAPER_LANG_TABLE[LANG_NUM];
-#define MSG_PAPER LANG_TABLE_SELECT(MSG_PAPER_LANG_TABLE)
-extern const char* const MSG_PAUSE_PRINT_LANG_TABLE[LANG_NUM];
-#define MSG_PAUSE_PRINT LANG_TABLE_SELECT(MSG_PAUSE_PRINT_LANG_TABLE)
-extern const char* const MSG_PICK_Z_LANG_TABLE[LANG_NUM];
-#define MSG_PICK_Z LANG_TABLE_SELECT(MSG_PICK_Z_LANG_TABLE)
-extern const char* const MSG_PID_EXTRUDER_LANG_TABLE[LANG_NUM];
-#define MSG_PID_EXTRUDER LANG_TABLE_SELECT(MSG_PID_EXTRUDER_LANG_TABLE)
-extern const char* const MSG_PID_FINISHED_LANG_TABLE[LANG_NUM];
-#define MSG_PID_FINISHED LANG_TABLE_SELECT(MSG_PID_FINISHED_LANG_TABLE)
-extern const char* const MSG_PID_RUNNING_LANG_TABLE[LANG_NUM];
-#define MSG_PID_RUNNING LANG_TABLE_SELECT(MSG_PID_RUNNING_LANG_TABLE)
-extern const char* const MSG_PINDA_NOT_CALIBRATED_LANG_TABLE[LANG_NUM];
-#define MSG_PINDA_NOT_CALIBRATED LANG_TABLE_SELECT(MSG_PINDA_NOT_CALIBRATED_LANG_TABLE)
-extern const char* const MSG_PINDA_PREHEAT_LANG_TABLE[LANG_NUM];
-#define MSG_PINDA_PREHEAT LANG_TABLE_SELECT(MSG_PINDA_PREHEAT_LANG_TABLE)
-extern const char* const MSG_PLACE_STEEL_SHEET_LANG_TABLE[LANG_NUM];
-#define MSG_PLACE_STEEL_SHEET LANG_TABLE_SELECT(MSG_PLACE_STEEL_SHEET_LANG_TABLE)
-extern const char* const MSG_PLANNER_BUFFER_BYTES_LANG_TABLE[1];
-#define MSG_PLANNER_BUFFER_BYTES LANG_TABLE_SELECT_EXPLICIT(MSG_PLANNER_BUFFER_BYTES_LANG_TABLE, 0)
-extern const char* const MSG_PLA_FILAMENT_LOADED_LANG_TABLE[LANG_NUM];
-#define MSG_PLA_FILAMENT_LOADED LANG_TABLE_SELECT(MSG_PLA_FILAMENT_LOADED_LANG_TABLE)
-extern const char* const MSG_PLEASE_LOAD_PLA_LANG_TABLE[LANG_NUM];
-#define MSG_PLEASE_LOAD_PLA LANG_TABLE_SELECT(MSG_PLEASE_LOAD_PLA_LANG_TABLE)
-extern const char* const MSG_PLEASE_WAIT_LANG_TABLE[LANG_NUM];
-#define MSG_PLEASE_WAIT LANG_TABLE_SELECT(MSG_PLEASE_WAIT_LANG_TABLE)
-extern const char* const MSG_POSITION_UNKNOWN_LANG_TABLE[1];
-#define MSG_POSITION_UNKNOWN LANG_TABLE_SELECT_EXPLICIT(MSG_POSITION_UNKNOWN_LANG_TABLE, 0)
-extern const char* const MSG_POWERUP_LANG_TABLE[1];
-#define MSG_POWERUP LANG_TABLE_SELECT_EXPLICIT(MSG_POWERUP_LANG_TABLE, 0)
-extern const char* const MSG_PREHEAT_LANG_TABLE[LANG_NUM];
-#define MSG_PREHEAT LANG_TABLE_SELECT(MSG_PREHEAT_LANG_TABLE)
-extern const char* const MSG_PREHEAT_NOZZLE_LANG_TABLE[LANG_NUM];
-#define MSG_PREHEAT_NOZZLE LANG_TABLE_SELECT(MSG_PREHEAT_NOZZLE_LANG_TABLE)
-extern const char* const MSG_PREPARE_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_PREPARE_FILAMENT LANG_TABLE_SELECT(MSG_PREPARE_FILAMENT_LANG_TABLE)
-extern const char* const MSG_PRESS_LANG_TABLE[LANG_NUM];
-#define MSG_PRESS LANG_TABLE_SELECT(MSG_PRESS_LANG_TABLE)
-extern const char* const MSG_PRESS_TO_PREHEAT_LANG_TABLE[LANG_NUM];
-#define MSG_PRESS_TO_PREHEAT LANG_TABLE_SELECT(MSG_PRESS_TO_PREHEAT_LANG_TABLE)
-extern const char* const MSG_PRESS_TO_UNLOAD_LANG_TABLE[LANG_NUM];
-#define MSG_PRESS_TO_UNLOAD LANG_TABLE_SELECT(MSG_PRESS_TO_UNLOAD_LANG_TABLE)
-extern const char* const MSG_PRINTER_DISCONNECTED_LANG_TABLE[1];
-#define MSG_PRINTER_DISCONNECTED LANG_TABLE_SELECT_EXPLICIT(MSG_PRINTER_DISCONNECTED_LANG_TABLE, 0)
-extern const char* const MSG_PRINT_ABORTED_LANG_TABLE[LANG_NUM];
-#define MSG_PRINT_ABORTED LANG_TABLE_SELECT(MSG_PRINT_ABORTED_LANG_TABLE)
-extern const char* const MSG_PRINT_PAUSED_LANG_TABLE[LANG_NUM];
-#define MSG_PRINT_PAUSED LANG_TABLE_SELECT(MSG_PRINT_PAUSED_LANG_TABLE)
-extern const char* const MSG_PRUSA3D_LANG_TABLE[LANG_NUM];
-#define MSG_PRUSA3D LANG_TABLE_SELECT(MSG_PRUSA3D_LANG_TABLE)
-extern const char* const MSG_PRUSA3D_FORUM_LANG_TABLE[LANG_NUM];
-#define MSG_PRUSA3D_FORUM LANG_TABLE_SELECT(MSG_PRUSA3D_FORUM_LANG_TABLE)
-extern const char* const MSG_PRUSA3D_HOWTO_LANG_TABLE[LANG_NUM];
-#define MSG_PRUSA3D_HOWTO LANG_TABLE_SELECT(MSG_PRUSA3D_HOWTO_LANG_TABLE)
-extern const char* const MSG_PULL_OUT_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_PULL_OUT_FILAMENT LANG_TABLE_SELECT(MSG_PULL_OUT_FILAMENT_LANG_TABLE)
-extern const char* const MSG_REBOOT_LANG_TABLE[LANG_NUM];
-#define MSG_REBOOT LANG_TABLE_SELECT(MSG_REBOOT_LANG_TABLE)
-extern const char* const MSG_RECOVERING_PRINT_LANG_TABLE[LANG_NUM];
-#define MSG_RECOVERING_PRINT LANG_TABLE_SELECT(MSG_RECOVERING_PRINT_LANG_TABLE)
-extern const char* const MSG_RECOVER_PRINT_LANG_TABLE[LANG_NUM];
-#define MSG_RECOVER_PRINT LANG_TABLE_SELECT(MSG_RECOVER_PRINT_LANG_TABLE)
-extern const char* const MSG_RECTRACT_LANG_TABLE[1];
-#define MSG_RECTRACT LANG_TABLE_SELECT_EXPLICIT(MSG_RECTRACT_LANG_TABLE, 0)
-extern const char* const MSG_REFRESH_LANG_TABLE[1];
-#define MSG_REFRESH LANG_TABLE_SELECT_EXPLICIT(MSG_REFRESH_LANG_TABLE, 0)
-extern const char* const MSG_REMOVE_STEEL_SHEET_LANG_TABLE[LANG_NUM];
-#define MSG_REMOVE_STEEL_SHEET LANG_TABLE_SELECT(MSG_REMOVE_STEEL_SHEET_LANG_TABLE)
-extern const char* const MSG_RESEND_LANG_TABLE[1];
-#define MSG_RESEND LANG_TABLE_SELECT_EXPLICIT(MSG_RESEND_LANG_TABLE, 0)
-extern const char* const MSG_RESET_CALIBRATE_E_LANG_TABLE[1];
-#define MSG_RESET_CALIBRATE_E LANG_TABLE_SELECT_EXPLICIT(MSG_RESET_CALIBRATE_E_LANG_TABLE, 0)
-extern const char* const MSG_RESTORE_FAILSAFE_LANG_TABLE[1];
-#define MSG_RESTORE_FAILSAFE LANG_TABLE_SELECT_EXPLICIT(MSG_RESTORE_FAILSAFE_LANG_TABLE, 0)
-extern const char* const MSG_RESUME_PRINT_LANG_TABLE[LANG_NUM];
-#define MSG_RESUME_PRINT LANG_TABLE_SELECT(MSG_RESUME_PRINT_LANG_TABLE)
-extern const char* const MSG_RESUMING_LANG_TABLE[LANG_NUM];
-#define MSG_RESUMING LANG_TABLE_SELECT(MSG_RESUMING_LANG_TABLE)
-extern const char* const MSG_RESUMING_PRINT_LANG_TABLE[LANG_NUM];
-#define MSG_RESUMING_PRINT LANG_TABLE_SELECT(MSG_RESUMING_PRINT_LANG_TABLE)
-extern const char* const MSG_RIGHT_LANG_TABLE[LANG_NUM];
-#define MSG_RIGHT LANG_TABLE_SELECT(MSG_RIGHT_LANG_TABLE)
-extern const char* const MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE[1];
-#define MSG_SD_CANT_ENTER_SUBDIR LANG_TABLE_SELECT_EXPLICIT(MSG_SD_CANT_ENTER_SUBDIR_LANG_TABLE, 0)
-extern const char* const MSG_SD_CANT_OPEN_SUBDIR_LANG_TABLE[1];
-#define MSG_SD_CANT_OPEN_SUBDIR LANG_TABLE_SELECT_EXPLICIT(MSG_SD_CANT_OPEN_SUBDIR_LANG_TABLE, 0)
-extern const char* const MSG_SD_CARD_OK_LANG_TABLE[1];
-#define MSG_SD_CARD_OK LANG_TABLE_SELECT_EXPLICIT(MSG_SD_CARD_OK_LANG_TABLE, 0)
-extern const char* const MSG_SD_ERR_WRITE_TO_FILE_LANG_TABLE[1];
-#define MSG_SD_ERR_WRITE_TO_FILE LANG_TABLE_SELECT_EXPLICIT(MSG_SD_ERR_WRITE_TO_FILE_LANG_TABLE, 0)
-extern const char* const MSG_SD_FILE_OPENED_LANG_TABLE[1];
-#define MSG_SD_FILE_OPENED LANG_TABLE_SELECT_EXPLICIT(MSG_SD_FILE_OPENED_LANG_TABLE, 0)
-extern const char* const MSG_SD_FILE_SELECTED_LANG_TABLE[1];
-#define MSG_SD_FILE_SELECTED LANG_TABLE_SELECT_EXPLICIT(MSG_SD_FILE_SELECTED_LANG_TABLE, 0)
-extern const char* const MSG_SD_INIT_FAIL_LANG_TABLE[1];
-#define MSG_SD_INIT_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_INIT_FAIL_LANG_TABLE, 0)
-extern const char* const MSG_SD_INSERTED_LANG_TABLE[LANG_NUM];
-#define MSG_SD_INSERTED LANG_TABLE_SELECT(MSG_SD_INSERTED_LANG_TABLE)
-extern const char* const MSG_SD_NOT_PRINTING_LANG_TABLE[1];
-#define MSG_SD_NOT_PRINTING LANG_TABLE_SELECT_EXPLICIT(MSG_SD_NOT_PRINTING_LANG_TABLE, 0)
-extern const char* const MSG_SD_OPENROOT_FAIL_LANG_TABLE[1];
-#define MSG_SD_OPENROOT_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_OPENROOT_FAIL_LANG_TABLE, 0)
-extern const char* const MSG_SD_OPEN_FILE_FAIL_LANG_TABLE[1];
-#define MSG_SD_OPEN_FILE_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_OPEN_FILE_FAIL_LANG_TABLE, 0)
-extern const char* const MSG_SD_PRINTING_BYTE_LANG_TABLE[1];
-#define MSG_SD_PRINTING_BYTE LANG_TABLE_SELECT_EXPLICIT(MSG_SD_PRINTING_BYTE_LANG_TABLE, 0)
-extern const char* const MSG_SD_REMOVED_LANG_TABLE[LANG_NUM];
-#define MSG_SD_REMOVED LANG_TABLE_SELECT(MSG_SD_REMOVED_LANG_TABLE)
-extern const char* const MSG_SD_SIZE_LANG_TABLE[1];
-#define MSG_SD_SIZE LANG_TABLE_SELECT_EXPLICIT(MSG_SD_SIZE_LANG_TABLE, 0)
-extern const char* const MSG_SD_VOL_INIT_FAIL_LANG_TABLE[1];
-#define MSG_SD_VOL_INIT_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_VOL_INIT_FAIL_LANG_TABLE, 0)
-extern const char* const MSG_SD_WORKDIR_FAIL_LANG_TABLE[1];
-#define MSG_SD_WORKDIR_FAIL LANG_TABLE_SELECT_EXPLICIT(MSG_SD_WORKDIR_FAIL_LANG_TABLE, 0)
-extern const char* const MSG_SD_WRITE_TO_FILE_LANG_TABLE[1];
-#define MSG_SD_WRITE_TO_FILE LANG_TABLE_SELECT_EXPLICIT(MSG_SD_WRITE_TO_FILE_LANG_TABLE, 0)
-extern const char* const MSG_SECOND_SERIAL_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_SECOND_SERIAL_OFF LANG_TABLE_SELECT(MSG_SECOND_SERIAL_OFF_LANG_TABLE)
-extern const char* const MSG_SECOND_SERIAL_ON_LANG_TABLE[LANG_NUM];
-#define MSG_SECOND_SERIAL_ON LANG_TABLE_SELECT(MSG_SECOND_SERIAL_ON_LANG_TABLE)
-extern const char* const MSG_SELFTEST_LANG_TABLE[1];
-#define MSG_SELFTEST LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_AXIS_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_AXIS LANG_TABLE_SELECT(MSG_SELFTEST_AXIS_LANG_TABLE)
-extern const char* const MSG_SELFTEST_AXIS_LENGTH_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_AXIS_LENGTH LANG_TABLE_SELECT(MSG_SELFTEST_AXIS_LENGTH_LANG_TABLE)
-extern const char* const MSG_SELFTEST_BEDHEATER_LANG_TABLE[1];
-#define MSG_SELFTEST_BEDHEATER LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_BEDHEATER_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_CHECK_ALLCORRECT_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_CHECK_ALLCORRECT LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_ALLCORRECT_LANG_TABLE)
-extern const char* const MSG_SELFTEST_CHECK_BED_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_CHECK_BED LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_BED_LANG_TABLE)
-extern const char* const MSG_SELFTEST_CHECK_ENDSTOPS_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_CHECK_ENDSTOPS LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_ENDSTOPS_LANG_TABLE)
-extern const char* const MSG_SELFTEST_CHECK_FSENSOR_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_CHECK_FSENSOR LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_FSENSOR_LANG_TABLE)
-extern const char* const MSG_SELFTEST_CHECK_HOTEND_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_CHECK_HOTEND LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_HOTEND_LANG_TABLE)
-extern const char* const MSG_SELFTEST_CHECK_X_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_CHECK_X LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_X_LANG_TABLE)
-extern const char* const MSG_SELFTEST_CHECK_Y_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_CHECK_Y LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_Y_LANG_TABLE)
-extern const char* const MSG_SELFTEST_CHECK_Z_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_CHECK_Z LANG_TABLE_SELECT(MSG_SELFTEST_CHECK_Z_LANG_TABLE)
-extern const char* const MSG_SELFTEST_COOLING_FAN_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_COOLING_FAN LANG_TABLE_SELECT(MSG_SELFTEST_COOLING_FAN_LANG_TABLE)
-extern const char* const MSG_SELFTEST_ENDSTOP_LANG_TABLE[1];
-#define MSG_SELFTEST_ENDSTOP LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_ENDSTOP_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_ENDSTOPS_LANG_TABLE[1];
-#define MSG_SELFTEST_ENDSTOPS LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_ENDSTOPS_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_ENDSTOP_NOTHIT_LANG_TABLE[1];
-#define MSG_SELFTEST_ENDSTOP_NOTHIT LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_ENDSTOP_NOTHIT_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_ERROR_LANG_TABLE[1];
-#define MSG_SELFTEST_ERROR LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_ERROR_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_EXTRUDER_FAN_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_EXTRUDER_FAN LANG_TABLE_SELECT(MSG_SELFTEST_EXTRUDER_FAN_LANG_TABLE)
-extern const char* const MSG_SELFTEST_EXTRUDER_FAN_SPEED_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_EXTRUDER_FAN_SPEED LANG_TABLE_SELECT(MSG_SELFTEST_EXTRUDER_FAN_SPEED_LANG_TABLE)
-extern const char* const MSG_SELFTEST_FAILED_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_FAILED LANG_TABLE_SELECT(MSG_SELFTEST_FAILED_LANG_TABLE)
-extern const char* const MSG_SELFTEST_FAN_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_FAN LANG_TABLE_SELECT(MSG_SELFTEST_FAN_LANG_TABLE)
-extern const char* const MSG_SELFTEST_FANS_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_FANS LANG_TABLE_SELECT(MSG_SELFTEST_FANS_LANG_TABLE)
-extern const char* const MSG_SELFTEST_FAN_NO_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_FAN_NO LANG_TABLE_SELECT(MSG_SELFTEST_FAN_NO_LANG_TABLE)
-extern const char* const MSG_SELFTEST_FAN_YES_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_FAN_YES LANG_TABLE_SELECT(MSG_SELFTEST_FAN_YES_LANG_TABLE)
-extern const char* const MSG_SELFTEST_FILAMENT_SENSOR_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_FILAMENT_SENSOR LANG_TABLE_SELECT(MSG_SELFTEST_FILAMENT_SENSOR_LANG_TABLE)
-extern const char* const MSG_SELFTEST_HEATERTHERMISTOR_LANG_TABLE[1];
-#define MSG_SELFTEST_HEATERTHERMISTOR LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_HEATERTHERMISTOR_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_MOTOR_LANG_TABLE[1];
-#define MSG_SELFTEST_MOTOR LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_MOTOR_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_NOTCONNECTED_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_NOTCONNECTED LANG_TABLE_SELECT(MSG_SELFTEST_NOTCONNECTED_LANG_TABLE)
-extern const char* const MSG_SELFTEST_OK_LANG_TABLE[1];
-#define MSG_SELFTEST_OK LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_OK_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_PLEASECHECK_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_PLEASECHECK LANG_TABLE_SELECT(MSG_SELFTEST_PLEASECHECK_LANG_TABLE)
-extern const char* const MSG_SELFTEST_PRINT_FAN_SPEED_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_PRINT_FAN_SPEED LANG_TABLE_SELECT(MSG_SELFTEST_PRINT_FAN_SPEED_LANG_TABLE)
-extern const char* const MSG_SELFTEST_START_LANG_TABLE[1];
-#define MSG_SELFTEST_START LANG_TABLE_SELECT_EXPLICIT(MSG_SELFTEST_START_LANG_TABLE, 0)
-extern const char* const MSG_SELFTEST_SWAPPED_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_SWAPPED LANG_TABLE_SELECT(MSG_SELFTEST_SWAPPED_LANG_TABLE)
-extern const char* const MSG_SELFTEST_WIRINGERROR_LANG_TABLE[LANG_NUM];
-#define MSG_SELFTEST_WIRINGERROR LANG_TABLE_SELECT(MSG_SELFTEST_WIRINGERROR_LANG_TABLE)
-extern const char* const MSG_SERIAL_ERROR_MENU_STRUCTURE_LANG_TABLE[1];
-#define MSG_SERIAL_ERROR_MENU_STRUCTURE LANG_TABLE_SELECT_EXPLICIT(MSG_SERIAL_ERROR_MENU_STRUCTURE_LANG_TABLE, 0)
-extern const char* const MSG_SETTINGS_LANG_TABLE[LANG_NUM];
-#define MSG_SETTINGS LANG_TABLE_SELECT(MSG_SETTINGS_LANG_TABLE)
-extern const char* const MSG_SET_HOME_OFFSETS_LANG_TABLE[1];
-#define MSG_SET_HOME_OFFSETS LANG_TABLE_SELECT_EXPLICIT(MSG_SET_HOME_OFFSETS_LANG_TABLE, 0)
-extern const char* const MSG_SET_ORIGIN_LANG_TABLE[1];
-#define MSG_SET_ORIGIN LANG_TABLE_SELECT_EXPLICIT(MSG_SET_ORIGIN_LANG_TABLE, 0)
-extern const char* const MSG_SET_TEMPERATURE_LANG_TABLE[LANG_NUM];
-#define MSG_SET_TEMPERATURE LANG_TABLE_SELECT(MSG_SET_TEMPERATURE_LANG_TABLE)
-extern const char* const MSG_SEVERE_SKEW_LANG_TABLE[LANG_NUM];
-#define MSG_SEVERE_SKEW LANG_TABLE_SELECT(MSG_SEVERE_SKEW_LANG_TABLE)
-extern const char* const MSG_SHOW_END_STOPS_LANG_TABLE[LANG_NUM];
-#define MSG_SHOW_END_STOPS LANG_TABLE_SELECT(MSG_SHOW_END_STOPS_LANG_TABLE)
-extern const char* const MSG_SILENT_MODE_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_SILENT_MODE_OFF LANG_TABLE_SELECT(MSG_SILENT_MODE_OFF_LANG_TABLE)
-extern const char* const MSG_SILENT_MODE_ON_LANG_TABLE[LANG_NUM];
-#define MSG_SILENT_MODE_ON LANG_TABLE_SELECT(MSG_SILENT_MODE_ON_LANG_TABLE)
-extern const char* const MSG_SLIGHT_SKEW_LANG_TABLE[LANG_NUM];
-#define MSG_SLIGHT_SKEW LANG_TABLE_SELECT(MSG_SLIGHT_SKEW_LANG_TABLE)
-extern const char* const MSG_SOFTWARE_RESET_LANG_TABLE[1];
-#define MSG_SOFTWARE_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_SOFTWARE_RESET_LANG_TABLE, 0)
-extern const char* const MSG_SORTING_LANG_TABLE[LANG_NUM];
-#define MSG_SORTING LANG_TABLE_SELECT(MSG_SORTING_LANG_TABLE)
-extern const char* const MSG_SORT_ALPHA_LANG_TABLE[LANG_NUM];
-#define MSG_SORT_ALPHA LANG_TABLE_SELECT(MSG_SORT_ALPHA_LANG_TABLE)
-extern const char* const MSG_SORT_NONE_LANG_TABLE[LANG_NUM];
-#define MSG_SORT_NONE LANG_TABLE_SELECT(MSG_SORT_NONE_LANG_TABLE)
-extern const char* const MSG_SORT_TIME_LANG_TABLE[LANG_NUM];
-#define MSG_SORT_TIME LANG_TABLE_SELECT(MSG_SORT_TIME_LANG_TABLE)
-extern const char* const MSG_SPEED_LANG_TABLE[LANG_NUM];
-#define MSG_SPEED LANG_TABLE_SELECT(MSG_SPEED_LANG_TABLE)
-extern const char* const MSG_STACK_ERROR_LANG_TABLE[LANG_NUM];
-#define MSG_STACK_ERROR LANG_TABLE_SELECT(MSG_STACK_ERROR_LANG_TABLE)
-extern const char* const MSG_STATISTICS_LANG_TABLE[LANG_NUM];
-#define MSG_STATISTICS LANG_TABLE_SELECT(MSG_STATISTICS_LANG_TABLE)
-extern const char* const MSG_STATS_FILAMENTUSED_LANG_TABLE[LANG_NUM];
-#define MSG_STATS_FILAMENTUSED LANG_TABLE_SELECT(MSG_STATS_FILAMENTUSED_LANG_TABLE)
-extern const char* const MSG_STATS_PRINTTIME_LANG_TABLE[LANG_NUM];
-#define MSG_STATS_PRINTTIME LANG_TABLE_SELECT(MSG_STATS_PRINTTIME_LANG_TABLE)
-extern const char* const MSG_STATS_TOTALFILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_STATS_TOTALFILAMENT LANG_TABLE_SELECT(MSG_STATS_TOTALFILAMENT_LANG_TABLE)
-extern const char* const MSG_STATS_TOTALPRINTTIME_LANG_TABLE[LANG_NUM];
-#define MSG_STATS_TOTALPRINTTIME LANG_TABLE_SELECT(MSG_STATS_TOTALPRINTTIME_LANG_TABLE)
-extern const char* const MSG_STEALTH_MODE_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_STEALTH_MODE_OFF LANG_TABLE_SELECT(MSG_STEALTH_MODE_OFF_LANG_TABLE)
-extern const char* const MSG_STEALTH_MODE_ON_LANG_TABLE[LANG_NUM];
-#define MSG_STEALTH_MODE_ON LANG_TABLE_SELECT(MSG_STEALTH_MODE_ON_LANG_TABLE)
-extern const char* const MSG_STEEL_SHEET_CHECK_LANG_TABLE[LANG_NUM];
-#define MSG_STEEL_SHEET_CHECK LANG_TABLE_SELECT(MSG_STEEL_SHEET_CHECK_LANG_TABLE)
-extern const char* const MSG_STEPPER_TIMER_OVERFLOW_ERROR_LANG_TABLE[1];
-#define MSG_STEPPER_TIMER_OVERFLOW_ERROR LANG_TABLE_SELECT_EXPLICIT(MSG_STEPPER_TIMER_OVERFLOW_ERROR_LANG_TABLE, 0)
-extern const char* const MSG_STEPPER_TOO_HIGH_LANG_TABLE[1];
-#define MSG_STEPPER_TOO_HIGH LANG_TABLE_SELECT_EXPLICIT(MSG_STEPPER_TOO_HIGH_LANG_TABLE, 0)
-extern const char* const MSG_STOPPED_LANG_TABLE[1];
-#define MSG_STOPPED LANG_TABLE_SELECT_EXPLICIT(MSG_STOPPED_LANG_TABLE, 0)
-extern const char* const MSG_STOP_PRINT_LANG_TABLE[LANG_NUM];
-#define MSG_STOP_PRINT LANG_TABLE_SELECT(MSG_STOP_PRINT_LANG_TABLE)
-extern const char* const MSG_STORE_EPROM_LANG_TABLE[1];
-#define MSG_STORE_EPROM LANG_TABLE_SELECT_EXPLICIT(MSG_STORE_EPROM_LANG_TABLE, 0)
-extern const char* const MSG_SUPPORT_LANG_TABLE[LANG_NUM];
-#define MSG_SUPPORT LANG_TABLE_SELECT(MSG_SUPPORT_LANG_TABLE)
-extern const char* const MSG_SWITCH_PS_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_SWITCH_PS_OFF LANG_TABLE_SELECT(MSG_SWITCH_PS_OFF_LANG_TABLE)
-extern const char* const MSG_SWITCH_PS_ON_LANG_TABLE[LANG_NUM];
-#define MSG_SWITCH_PS_ON LANG_TABLE_SELECT(MSG_SWITCH_PS_ON_LANG_TABLE)
-extern const char* const MSG_TAKE_EFFECT_LANG_TABLE[LANG_NUM];
-#define MSG_TAKE_EFFECT LANG_TABLE_SELECT(MSG_TAKE_EFFECT_LANG_TABLE)
-extern const char* const MSG_TEMPERATURE_LANG_TABLE[LANG_NUM];
-#define MSG_TEMPERATURE LANG_TABLE_SELECT(MSG_TEMPERATURE_LANG_TABLE)
-extern const char* const MSG_TEMP_CALIBRATION_LANG_TABLE[LANG_NUM];
-#define MSG_TEMP_CALIBRATION LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_LANG_TABLE)
-extern const char* const MSG_TEMP_CALIBRATION_DONE_LANG_TABLE[LANG_NUM];
-#define MSG_TEMP_CALIBRATION_DONE LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_DONE_LANG_TABLE)
-extern const char* const MSG_TEMP_CALIBRATION_OFF_LANG_TABLE[LANG_NUM];
-#define MSG_TEMP_CALIBRATION_OFF LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_OFF_LANG_TABLE)
-extern const char* const MSG_TEMP_CALIBRATION_ON_LANG_TABLE[LANG_NUM];
-#define MSG_TEMP_CALIBRATION_ON LANG_TABLE_SELECT(MSG_TEMP_CALIBRATION_ON_LANG_TABLE)
-extern const char* const MSG_TEMP_CAL_FAILED_LANG_TABLE[1];
-#define MSG_TEMP_CAL_FAILED LANG_TABLE_SELECT_EXPLICIT(MSG_TEMP_CAL_FAILED_LANG_TABLE, 0)
-extern const char* const MSG_TEMP_CAL_WARNING_LANG_TABLE[1];
-#define MSG_TEMP_CAL_WARNING LANG_TABLE_SELECT_EXPLICIT(MSG_TEMP_CAL_WARNING_LANG_TABLE, 0)
-extern const char* const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE[1];
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF LANG_TABLE_SELECT_EXPLICIT(MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF_LANG_TABLE, 0)
-extern const char* const MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE[1];
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON LANG_TABLE_SELECT_EXPLICIT(MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON_LANG_TABLE, 0)
-extern const char* const MSG_TUNE_LANG_TABLE[LANG_NUM];
-#define MSG_TUNE LANG_TABLE_SELECT(MSG_TUNE_LANG_TABLE)
-extern const char* const MSG_UNKNOWN_COMMAND_LANG_TABLE[1];
-#define MSG_UNKNOWN_COMMAND LANG_TABLE_SELECT_EXPLICIT(MSG_UNKNOWN_COMMAND_LANG_TABLE, 0)
-extern const char* const MSG_UNLOADING_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_UNLOADING_FILAMENT LANG_TABLE_SELECT(MSG_UNLOADING_FILAMENT_LANG_TABLE)
-extern const char* const MSG_UNLOAD_ALL_LANG_TABLE[LANG_NUM];
-#define MSG_UNLOAD_ALL LANG_TABLE_SELECT(MSG_UNLOAD_ALL_LANG_TABLE)
-extern const char* const MSG_UNLOAD_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_UNLOAD_FILAMENT LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_LANG_TABLE)
-extern const char* const MSG_UNLOAD_FILAMENT_1_LANG_TABLE[LANG_NUM];
-#define MSG_UNLOAD_FILAMENT_1 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_1_LANG_TABLE)
-extern const char* const MSG_UNLOAD_FILAMENT_2_LANG_TABLE[LANG_NUM];
-#define MSG_UNLOAD_FILAMENT_2 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_2_LANG_TABLE)
-extern const char* const MSG_UNLOAD_FILAMENT_3_LANG_TABLE[LANG_NUM];
-#define MSG_UNLOAD_FILAMENT_3 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_3_LANG_TABLE)
-extern const char* const MSG_UNLOAD_FILAMENT_4_LANG_TABLE[LANG_NUM];
-#define MSG_UNLOAD_FILAMENT_4 LANG_TABLE_SELECT(MSG_UNLOAD_FILAMENT_4_LANG_TABLE)
-extern const char* const MSG_UNLOAD_SUCCESSFUL_LANG_TABLE[LANG_NUM];
-#define MSG_UNLOAD_SUCCESSFUL LANG_TABLE_SELECT(MSG_UNLOAD_SUCCESSFUL_LANG_TABLE)
-extern const char* const MSG_USB_PRINTING_LANG_TABLE[LANG_NUM];
-#define MSG_USB_PRINTING LANG_TABLE_SELECT(MSG_USB_PRINTING_LANG_TABLE)
-extern const char* const MSG_USED_LANG_TABLE[LANG_NUM];
-#define MSG_USED LANG_TABLE_SELECT(MSG_USED_LANG_TABLE)
-extern const char* const MSG_USERWAIT_LANG_TABLE[1];
-#define MSG_USERWAIT LANG_TABLE_SELECT_EXPLICIT(MSG_USERWAIT_LANG_TABLE, 0)
-extern const char* const MSG_V2_CALIBRATION_LANG_TABLE[LANG_NUM];
-#define MSG_V2_CALIBRATION LANG_TABLE_SELECT(MSG_V2_CALIBRATION_LANG_TABLE)
-extern const char* const MSG_VMIN_LANG_TABLE[1];
-#define MSG_VMIN LANG_TABLE_SELECT_EXPLICIT(MSG_VMIN_LANG_TABLE, 0)
-extern const char* const MSG_VOLUMETRIC_LANG_TABLE[1];
-#define MSG_VOLUMETRIC LANG_TABLE_SELECT_EXPLICIT(MSG_VOLUMETRIC_LANG_TABLE, 0)
-extern const char* const MSG_VOLUMETRIC_ENABLED_LANG_TABLE[1];
-#define MSG_VOLUMETRIC_ENABLED LANG_TABLE_SELECT_EXPLICIT(MSG_VOLUMETRIC_ENABLED_LANG_TABLE, 0)
-extern const char* const MSG_VTRAV_MIN_LANG_TABLE[1];
-#define MSG_VTRAV_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_VTRAV_MIN_LANG_TABLE, 0)
-extern const char* const MSG_WAITING_TEMP_LANG_TABLE[LANG_NUM];
-#define MSG_WAITING_TEMP LANG_TABLE_SELECT(MSG_WAITING_TEMP_LANG_TABLE)
-extern const char* const MSG_WAITING_TEMP_PINDA_LANG_TABLE[LANG_NUM];
-#define MSG_WAITING_TEMP_PINDA LANG_TABLE_SELECT(MSG_WAITING_TEMP_PINDA_LANG_TABLE)
-extern const char* const MSG_WATCH_LANG_TABLE[LANG_NUM];
-#define MSG_WATCH LANG_TABLE_SELECT(MSG_WATCH_LANG_TABLE)
-extern const char* const MSG_WATCHDOG_RESET_LANG_TABLE[1];
-#define MSG_WATCHDOG_RESET LANG_TABLE_SELECT_EXPLICIT(MSG_WATCHDOG_RESET_LANG_TABLE, 0)
-extern const char* const MSG_WIZARD_LANG_TABLE[1];
-#define MSG_WIZARD LANG_TABLE_SELECT_EXPLICIT(MSG_WIZARD_LANG_TABLE, 0)
-extern const char* const MSG_WIZARD_CALIBRATION_FAILED_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_CALIBRATION_FAILED LANG_TABLE_SELECT(MSG_WIZARD_CALIBRATION_FAILED_LANG_TABLE)
-extern const char* const MSG_WIZARD_CLEAN_HEATBED_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_CLEAN_HEATBED LANG_TABLE_SELECT(MSG_WIZARD_CLEAN_HEATBED_LANG_TABLE)
-extern const char* const MSG_WIZARD_DONE_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_DONE LANG_TABLE_SELECT(MSG_WIZARD_DONE_LANG_TABLE)
-extern const char* const MSG_WIZARD_FILAMENT_LOADED_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_FILAMENT_LOADED LANG_TABLE_SELECT(MSG_WIZARD_FILAMENT_LOADED_LANG_TABLE)
-extern const char* const MSG_WIZARD_HEATING_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_HEATING LANG_TABLE_SELECT(MSG_WIZARD_HEATING_LANG_TABLE)
-extern const char* const MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_INSERT_CORRECT_FILAMENT LANG_TABLE_SELECT(MSG_WIZARD_INSERT_CORRECT_FILAMENT_LANG_TABLE)
-extern const char* const MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_LOAD_FILAMENT LANG_TABLE_SELECT(MSG_WIZARD_LOAD_FILAMENT_LANG_TABLE)
-extern const char* const MSG_WIZARD_PLA_FILAMENT_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_PLA_FILAMENT LANG_TABLE_SELECT(MSG_WIZARD_PLA_FILAMENT_LANG_TABLE)
-extern const char* const MSG_WIZARD_QUIT_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_QUIT LANG_TABLE_SELECT(MSG_WIZARD_QUIT_LANG_TABLE)
-extern const char* const MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_REPEAT_V2_CAL LANG_TABLE_SELECT(MSG_WIZARD_REPEAT_V2_CAL_LANG_TABLE)
-extern const char* const MSG_WIZARD_RERUN_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_RERUN LANG_TABLE_SELECT(MSG_WIZARD_RERUN_LANG_TABLE)
-extern const char* const MSG_WIZARD_SELFTEST_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_SELFTEST LANG_TABLE_SELECT(MSG_WIZARD_SELFTEST_LANG_TABLE)
-extern const char* const MSG_WIZARD_V2_CAL_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_V2_CAL LANG_TABLE_SELECT(MSG_WIZARD_V2_CAL_LANG_TABLE)
-extern const char* const MSG_WIZARD_V2_CAL_2_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_V2_CAL_2 LANG_TABLE_SELECT(MSG_WIZARD_V2_CAL_2_LANG_TABLE)
-extern const char* const MSG_WIZARD_WELCOME_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_WELCOME LANG_TABLE_SELECT(MSG_WIZARD_WELCOME_LANG_TABLE)
-extern const char* const MSG_WIZARD_WILL_PREHEAT_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_WILL_PREHEAT LANG_TABLE_SELECT(MSG_WIZARD_WILL_PREHEAT_LANG_TABLE)
-extern const char* const MSG_WIZARD_XYZ_CAL_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_XYZ_CAL LANG_TABLE_SELECT(MSG_WIZARD_XYZ_CAL_LANG_TABLE)
-extern const char* const MSG_WIZARD_Z_CAL_LANG_TABLE[LANG_NUM];
-#define MSG_WIZARD_Z_CAL LANG_TABLE_SELECT(MSG_WIZARD_Z_CAL_LANG_TABLE)
-extern const char* const MSG_XYZ_DETAILS_LANG_TABLE[LANG_NUM];
-#define MSG_XYZ_DETAILS LANG_TABLE_SELECT(MSG_XYZ_DETAILS_LANG_TABLE)
-extern const char* const MSG_X_MAX_LANG_TABLE[1];
-#define MSG_X_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_X_MAX_LANG_TABLE, 0)
-extern const char* const MSG_X_MIN_LANG_TABLE[1];
-#define MSG_X_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_X_MIN_LANG_TABLE, 0)
-extern const char* const MSG_YES_LANG_TABLE[LANG_NUM];
-#define MSG_YES LANG_TABLE_SELECT(MSG_YES_LANG_TABLE)
-extern const char* const MSG_Y_DISTANCE_FROM_MIN_LANG_TABLE[LANG_NUM];
-#define MSG_Y_DISTANCE_FROM_MIN LANG_TABLE_SELECT(MSG_Y_DISTANCE_FROM_MIN_LANG_TABLE)
-extern const char* const MSG_Y_MAX_LANG_TABLE[1];
-#define MSG_Y_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_Y_MAX_LANG_TABLE, 0)
-extern const char* const MSG_Y_MIN_LANG_TABLE[1];
-#define MSG_Y_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_Y_MIN_LANG_TABLE, 0)
-extern const char* const MSG_ZPROBE_OUT_LANG_TABLE[1];
-#define MSG_ZPROBE_OUT LANG_TABLE_SELECT_EXPLICIT(MSG_ZPROBE_OUT_LANG_TABLE, 0)
-extern const char* const MSG_ZPROBE_ZOFFSET_LANG_TABLE[1];
-#define MSG_ZPROBE_ZOFFSET LANG_TABLE_SELECT_EXPLICIT(MSG_ZPROBE_ZOFFSET_LANG_TABLE, 0)
-extern const char* const MSG_Z_MAX_LANG_TABLE[1];
-#define MSG_Z_MAX LANG_TABLE_SELECT_EXPLICIT(MSG_Z_MAX_LANG_TABLE, 0)
-extern const char* const MSG_Z_MIN_LANG_TABLE[1];
-#define MSG_Z_MIN LANG_TABLE_SELECT_EXPLICIT(MSG_Z_MIN_LANG_TABLE, 0)
-extern const char* const WELCOME_MSG_LANG_TABLE[LANG_NUM];
-#define WELCOME_MSG LANG_TABLE_SELECT(WELCOME_MSG_LANG_TABLE)
-
-extern char* CAT2(const char *s1,const char *s2);
-extern char* CAT4(const char *s1,const char *s2,const char *s3,const char *s4);
-
-#endif //LANGUAGE_ALL.H

+ 0 - 109
lang_backup/language_common.h

@@ -1,109 +0,0 @@
-// These are the system messages, which shall always be in English.
-
-+define MSG_Enqueing                        "enqueing \""
-+define MSG_POWERUP                         "PowerUp"
-define MSG_EXTERNAL_RESET                  " External Reset"
-define MSG_BROWNOUT_RESET                  " Brown out Reset"
-define MSG_WATCHDOG_RESET                  " Watchdog Reset"
-define MSG_SOFTWARE_RESET                  " Software Reset"
-define MSG_AUTHOR                          " | Author: "
-+define MSG_CONFIGURATION_VER               " Last Updated: "
-+define MSG_FREE_MEMORY                     " Free Memory: "
-+define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
-+define MSG_OK                              "ok"
-define MSG_FILE_SAVED                      "Done saving file."
-define MSG_ERR_LINE_NO                     "Line Number is not Last Line Number+1, Last Line: "
-+define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
-+define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
-define MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM "No Line Number with checksum, Last Line: "
-define MSG_FILE_PRINTED                    "Done printing file"
-+define MSG_BEGIN_FILE_LIST                 "Begin file list"
-+define MSG_END_FILE_LIST                   "End file list"
-+define MSG_M104_INVALID_EXTRUDER           "M104 Invalid extruder "
-+define MSG_M105_INVALID_EXTRUDER           "M105 Invalid extruder "
-+define MSG_M200_INVALID_EXTRUDER           "M200 Invalid extruder "
-+define MSG_M218_INVALID_EXTRUDER           "M218 Invalid extruder "
-+define MSG_M221_INVALID_EXTRUDER           "M221 Invalid extruder "
-+define MSG_ERR_NO_THERMISTORS              "No thermistors - no temperature"
-+define MSG_M109_INVALID_EXTRUDER           "M109 Invalid extruder "
-define MSG_COUNT_X                         " Count X: "
-+define MSG_ERR_KILLED                      "Printer halted. kill() called!"
-+define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-+define MSG_RESEND                          "Resend: "
-define MSG_UNKNOWN_COMMAND                 "Unknown command: \""
-define MSG_ACTIVE_EXTRUDER                 "Active Extruder: "
-define MSG_INVALID_EXTRUDER                "Invalid extruder"
-
-define MSG_X_MIN                           "x_min: "
-define MSG_X_MAX                           "x_max: "
-define MSG_Y_MIN                           "y_min: "
-define MSG_Y_MAX                           "y_max: "
-define MSG_Z_MIN                           "z_min: "
-define MSG_Z_MAX                           "z_max: "
-
-+define MSG_M119_REPORT                     "Reporting endstop status"
-+define MSG_ENDSTOP_HIT                     "TRIGGERED"
-+define MSG_ENDSTOP_OPEN                    "open"
-+define MSG_HOTEND_OFFSET                   "Hotend offsets:"
-+define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir"
-+define MSG_SD_INIT_FAIL                    "SD init fail"
-+define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
-+define MSG_SD_OPENROOT_FAIL                "openRoot failed"
-+define MSG_SD_CARD_OK                      "SD card ok"
-+define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
-+define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
-+define MSG_SD_FILE_OPENED                  "File opened: "
-define MSG_SD_SIZE                         " Size: "
-+define MSG_SD_FILE_SELECTED                "File selected"
-+define MSG_SD_WRITE_TO_FILE                "Writing to file: "
-+define MSG_SD_PRINTING_BYTE                "SD printing byte "
-+define MSG_SD_NOT_PRINTING                 "Not SD printing"
-+define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
-+define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
-+define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
-+define MSG_ENDSTOPS_HIT                    "endstops hit: "
-+define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
-define MSG_ERR_LONG_EXTRUDE_STOP           " too long extrusion prevented"
-+define MSG_BABYSTEPPING_X                  "Babystepping X"
-+define MSG_BABYSTEPPING_Y                  "Babystepping Y"
-+define MSG_BABYSTEPPING_Z                  "Adjusting Z"
-+define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Error in menu structure"
-+define MSG_SET_HOME_OFFSETS                "Set home offsets"
-+define MSG_SET_ORIGIN                      "Set origin"
-define MSG_ON                              "On "
-define MSG_OFF                             "Off"
-
-+define MSG_VMIN                            "Vmin"
-+define MSG_VTRAV_MIN                       "VTrav min"
-+define MSG_AMAX                            "Amax "
-+define MSG_A_RETRACT                       "A-retract"
-+define MSG_MOVE_01MM                       "Move 0.1mm"
-+define MSG_MOVE_1MM                        "Move 1mm"
-+define MSG_MOVE_10MM                       "Move 10mm"
-
-
-+define MSG_NOZZLE1                         "Nozzle2"
-+define MSG_NOZZLE2                         "Nozzle3"
-+define MSG_FLOW0                           "Flow 0"
-+define MSG_FLOW1                           "Flow 1"
-+define MSG_FLOW2                           "Flow 2"
-+define MSG_CONTROL                         "Control"
-+define MSG_MIN                             " \002 Min"
-+define MSG_MAX                             " \002 Max"
-+define MSG_FACTOR                          " \002 Fact"
-+define MSG_MOTION                          "Motion"
-+define MSG_VOLUMETRIC                      "Filament"
-+define MSG_VOLUMETRIC_ENABLED		        "E in mm3"
-+define MSG_STORE_EPROM                     "Store memory"
-+define MSG_LOAD_EPROM                      "Load memory"
-+define MSG_RESTORE_FAILSAFE                "Restore failsafe"
-+define MSG_REFRESH                         "\xF8" "Refresh"
-
-+define MSG_INIT_SDCARD                     "Init. SD card"
-+define MSG_CNG_SDCARD                      "Change SD card"
-define MSG_ZPROBE_OUT                      "Z probe out. bed"
-define MSG_POSITION_UNKNOWN                "Home X/Y before Z"
-define MSG_ZPROBE_ZOFFSET                  "Z Offset"
-+define MSG_BABYSTEP_X                      "Babystep X"
-+define MSG_BABYSTEP_Y                      "Babystep Y"
-+define MSG_RECTRACT                        "Rectract"

+ 0 - 417
lang_backup/language_cz.h

@@ -1,417 +0,0 @@
-/**
- * English
- *
- * LCD Menu Messages
- * Please note these are limited to 17 characters!
- *
- */
-#define WELCOME_MSG                         CUSTOM_MENDEL_NAME " ok"
-#define MSG_SD_INSERTED                     "Karta vlozena"
-#define MSG_SD_REMOVED                      "Karta vyjmuta"
-#define MSG_MAIN                            "Hlavni nabidka"
-#define MSG_DISABLE_STEPPERS                "Vypnout motory"
-#define MSG_AUTO_HOME                       "Auto home"
-#define MSG_SET_HOME_OFFSETS                "Nastav pocatek home"
-#define MSG_SET_ORIGIN                      "Nastav pocatek"
-#define MSG_COOLDOWN                        "Zchladit"
-#define MSG_SWITCH_PS_ON                    "Vypnout zdroj"
-#define MSG_SWITCH_PS_OFF                   "Zapnout zdroj"
-#define MSG_MOVE_AXIS                       "Posunout osu"
-#define MSG_MOVE_X                          "Posunout X"
-#define MSG_MOVE_Y                          "Posunout Y"
-#define MSG_MOVE_Z                          "Posunout Z"
-#define MSG_MOVE_E                          "Extruder"
-#define MSG_SPEED                           "Rychlost"
-#define MSG_NOZZLE                          "Tryska"
-#define MSG_NOZZLE1                         "Tryska2"
-#define MSG_NOZZLE2                         "Tryska3"
-#define MSG_BED                             "Bed"
-#define MSG_FAN_SPEED                       "Rychlost vent."
-#define MSG_FLOW                            "Prutok"
-#define MSG_FLOW0                           "Prutok 0"
-#define MSG_FLOW1                           "Prutok 1"
-#define MSG_FLOW2                           "Prutok 2"
-#define MSG_CONTROL                         "Kontrola"
-#define MSG_MIN                             " \002 Min"
-#define MSG_MAX                             " \002 Max"
-#define MSG_FACTOR                          " \002 Fact"
-#define MSG_TEMPERATURE                     "Teplota"
-#define MSG_MOTION                          "Pohyb"
-#define MSG_VOLUMETRIC                      "Filament"
-#define MSG_VOLUMETRIC_ENABLED		        "E in mm3"
-#define MSG_STORE_EPROM                     "Store memory"
-#define MSG_LOAD_EPROM                      "Ulozit pamet"
-#define MSG_RESTORE_FAILSAFE                "Obnovit vychozi"
-#define MSG_REFRESH                         "\xF8" "Obnovit"
-#define MSG_WATCH                           "Informace"
-#define MSG_TUNE                            "Ladit"
-#define MSG_PAUSE_PRINT                     "Pozastavit tisk"
-#define MSG_RESUME_PRINT                    "Pokracovat"
-#define MSG_STOP_PRINT                      "Zastavit tisk"
-#define MSG_CARD_MENU                       "Tisk z SD"
-#define MSG_NO_CARD                         "Zadna SD karta"
-#define MSG_DWELL                           "Sleep..."
-#define MSG_USERWAIT                        "Wait for user..."
-#define MSG_RESUMING                        "Obnoveni tisku"
-#define MSG_PRINT_ABORTED                   "Tisk prerusen"
-#define MSG_NO_MOVE                         "No move."
-#define MSG_KILLED                          "KILLED. "
-#define MSG_STOPPED                         "STOPPED. "
-#define MSG_FILAMENTCHANGE                  "Vymenit filament"
-#define MSG_INIT_SDCARD                     "Inic. SD"
-#define MSG_CNG_SDCARD                      "Vymenit SD"
-#define MSG_BABYSTEP_X                      "Babystep X"
-#define MSG_BABYSTEP_Y                      "Babystep Y"
-#define MSG_BABYSTEP_Z                      "Doladeni osy Z"
-#define MSG_ADJUSTZ							"Auto doladit Z ?"
-#define MSG_PICK_Z							"Vyberte vytisk"
-
-#define MSG_HOMEYZ                          "Kalibrovat Z"
-#define MSG_HOMEYZ_PROGRESS                 "Kalibruji Z"
-#define MSG_HOMEYZ_DONE		                "Kalibrace OK"
-
-#define MSG_SETTINGS                         "Nastaveni"
-#define MSG_PREHEAT                         "Predehrev"
-#define MSG_UNLOAD_FILAMENT                 "Vyjmout filament"
-#define MSG_LOAD_FILAMENT					"Zavest filament"
-#define MSG_AUTOLOAD_FILAMENT				"AutoZavedeni fil."
-#define MSG_LOAD_FILAMENT_1					"Zavest filament 1"
-#define MSG_LOAD_FILAMENT_2					"Zavest filament 2"
-#define MSG_LOAD_FILAMENT_3					"Zavest filament 3"
-#define MSG_LOAD_FILAMENT_4					"Zavest filament 4"
-#define MSG_UNLOAD_FILAMENT_1				"Vyjmout filam. 1"
-#define MSG_UNLOAD_FILAMENT_2				"Vyjmout filam. 2"
-#define MSG_UNLOAD_FILAMENT_3				"Vyjmout filam. 3"
-#define MSG_UNLOAD_FILAMENT_4				"Vyjmout filam. 4"
-#define MSG_UNLOAD_ALL						"Vyjmout vse"
-#define MSG_LOAD_ALL						"Zavest vse"
-
-#define MSG_RECTRACT                        "Rectract"
-#define MSG_ERROR                       "CHYBA:"
-#define MSG_PREHEAT_NOZZLE              "Predehrejte trysku!"
-#define MSG_SUPPORT                     "Podpora"
-#define MSG_CORRECTLY			"Vymena ok?"
-#define MSG_YES					"Ano"
-#define MSG_NO					"Ne"
-#define MSG_NOT_LOADED 			"Filament nezaveden"
-#define MSG_NOT_COLOR 			"Barva neni cista"
-#define MSG_LOADING_FILAMENT	        "Zavadeni filamentu"
-#define MSG_PLEASE_WAIT			"Prosim cekejte"
-#define MSG_LOADING_COLOR		"Cisteni barvy"
-#define MSG_CHANGE_SUCCESS		"Zmena uspesna!"
-#define MSG_PRESS				"a stisknete tlacitko"
-#define MSG_INSERT_FILAMENT		"Vlozte filament"
-#define MSG_CHANGING_FILAMENT	"Vymena filamentu!"
-
-#define MSG_SILENT_MODE_ON					"Mod       [tichy]"
-#define MSG_SILENT_MODE_OFF					"Mod  [vys. vykon]" 
-#define MSG_AUTO_MODE_ON					"Mod [automaticky]"
-#define MSG_STEALTH_MODE_OFF				"Mod      [Normal]"
-#define MSG_STEALTH_MODE_ON					"Mod     [Stealth]"
-
-#define MSG_REBOOT							"Restartujte tiskarnu"
-#define MSG_TAKE_EFFECT						" pro projeveni zmen"	
-
-#define MSG_Enqueing                        "enqueing \""
-#define MSG_POWERUP                         "PowerUp"
-#define MSG_CONFIGURATION_VER               " Last Updated: "
-#define MSG_FREE_MEMORY                     " Free Memory: "
-#define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
-#define MSG_OK                              "ok"
-#define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
-#define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
-#define MSG_BEGIN_FILE_LIST                 "Begin file list"
-#define MSG_END_FILE_LIST                   "End file list"
-#define MSG_M104_INVALID_EXTRUDER           "M104 Invalid extruder "
-#define MSG_M105_INVALID_EXTRUDER           "M105 Invalid extruder "
-#define MSG_M200_INVALID_EXTRUDER           "M200 Invalid extruder "
-#define MSG_M218_INVALID_EXTRUDER           "M218 Invalid extruder "
-#define MSG_M221_INVALID_EXTRUDER           "M221 Invalid extruder "
-#define MSG_ERR_NO_THERMISTORS              "No thermistors - no temperature"
-#define MSG_M109_INVALID_EXTRUDER           "M109 Invalid extruder "
-#define MSG_HEATING                         "Zahrivani"
-#define MSG_HEATING_COMPLETE                "Zahrivani OK."
-#define MSG_BED_HEATING                     "Zahrivani bed"
-#define MSG_BED_HEATING_SAFETY_DISABLED     "Zahrivani preruseno bezpecnostnim casovacem."
-#define MSG_BED_DONE                        "Bed OK."
-#define MSG_ERR_KILLED                      "Printer halted. kill() called!"
-#define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-#define MSG_RESEND                          "Resend: "
-#define MSG_M119_REPORT                     "Reporting endstop status"
-#define MSG_ENDSTOP_HIT                     "TRIGGERED"
-#define MSG_ENDSTOP_OPEN                    "open"
-
-#define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir"
-#define MSG_SD_INIT_FAIL                    "SD init fail"
-#define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
-#define MSG_SD_OPENROOT_FAIL                "openRoot failed"
-#define MSG_SD_CARD_OK                      "SD card ok"
-#define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
-#define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
-#define MSG_SD_FILE_OPENED                  "File opened: "
-#define MSG_SD_FILE_SELECTED                "File selected"
-#define MSG_SD_WRITE_TO_FILE                "Writing to file: "
-#define MSG_SD_PRINTING_BYTE                "SD printing byte "
-#define MSG_SD_NOT_PRINTING                 "Not SD printing"
-#define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
-#define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
-
-#define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
-#define MSG_ENDSTOPS_HIT                    "endstops hit: "
-#define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
-#define MSG_BABYSTEPPING_X                  "Babystepping X"
-#define MSG_BABYSTEPPING_Y                  "Babystepping Y"
-#define MSG_BABYSTEPPING_Z                  "Dostavovani Z"
-#define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Error in menu structure"
-
-#define MSG_LANGUAGE_NAME					"Cestina"
-#define MSG_LANGUAGE_SELECT					"Vyber jazyka"
- #define MSG_PRUSA3D						"prusa3d.cz"
- #define MSG_PRUSA3D_FORUM					"forum.prusa3d.cz"
- #define MSG_PRUSA3D_HOWTO					"howto.prusa3d.cz"
-
-#define MSG_HOMEYZ                          "Kalibrovat Z"
-#define MSG_HOMEYZ_PROGRESS                 "Kalibruji Z"
-#define MSG_HOMEYZ_DONE		                "Kalibrace OK"
-
-#define MSG_SELFTEST_ERROR					"Selftest error !"
-#define MSG_SELFTEST_PLEASECHECK			"Zkontrolujte :"	
-#define MSG_SELFTEST_NOTCONNECTED			"Nezapojeno    "
-#define MSG_SELFTEST_HEATERTHERMISTOR		"Heater/Thermistor"
-#define MSG_SELFTEST_BEDHEATER				"Bed / Heater"
-#define MSG_SELFTEST_WIRINGERROR			"Chyba zapojeni"
-#define MSG_SELFTEST_ENDSTOPS				"Endstops"
-#define MSG_SELFTEST_MOTOR					"Motor"
-#define MSG_SELFTEST_ENDSTOP				"Endstop"
-#define MSG_SELFTEST_ENDSTOP_NOTHIT			"Endstop not hit"
-#define MSG_SELFTEST_OK						"Self test OK"
-#define MSG_SELFTEST_FANS					"Predni/levy vent."
-#define MSG_SELFTEST_SWAPPED				"Prohozene"
-
-#define MSG_SELFTEST_FAN					"Test ventilatoru"
-#define MSG_SELFTEST_COOLING_FAN			"Predni tiskovy vent?"
-#define MSG_SELFTEST_EXTRUDER_FAN			"Levy vent na trysce?"
-#define MSG_SELFTEST_FAN_YES				"Toci se"
-#define MSG_SELFTEST_FAN_NO					"Netoci se"
-
-#define MSG_STATS_TOTALFILAMENT				"Filament celkem :"
-#define MSG_STATS_TOTALPRINTTIME			"Celkovy cas :"
-#define MSG_STATS_FILAMENTUSED				"Filament :  "
-#define MSG_STATS_PRINTTIME					"Cas tisku :  "
-
-#define MSG_SELFTEST_START					"Self test start  "
-#define MSG_SELFTEST_CHECK_ENDSTOPS			"Kontrola endstops"
-#define MSG_SELFTEST_CHECK_HOTEND			"Kontrola hotend  "  
-#define MSG_SELFTEST_CHECK_X				"Kontrola X axis  "
-#define MSG_SELFTEST_CHECK_Y				"Kontrola Y axis  "
-#define MSG_SELFTEST_CHECK_Z				"Kontrola Z axis  "
-#define MSG_SELFTEST_CHECK_BED				"Kontrola bed     "
-#define MSG_SELFTEST_CHECK_ALLCORRECT		"Vse OK           "
-#define MSG_SELFTEST						"Selftest         "
-#define MSG_SELFTEST_FAILED					"Selftest selhal  "
-#define MSG_SELFTEST_EXTRUDER_FAN_SPEED		"Levy vent.:"
-#define MSG_SELFTEST_PRINT_FAN_SPEED		"Tiskovy vent.:"
-#define MSG_SELFTEST_FILAMENT_SENSOR		"Senzor filamentu:"
-#define MSG_SELFTEST_CHECK_FSENSOR			"Kontrola senzoru"
-#define MSG_FILAMENT_SENSOR					"Senzor filamentu"
-
-#define MSG_STATISTICS						"Statistika  "
-#define MSG_USB_PRINTING					"Tisk z USB  "
-
-#define MSG_SHOW_END_STOPS					"Stav konc. spin."
-#define MSG_CALIBRATE_BED					"Kalibrace XYZ"
-#define MSG_CALIBRATE_BED_RESET				"Reset XYZ kalibr."
-
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP		"Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z		"Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
-
-#define MSG_CONFIRM_NOZZLE_CLEAN			"Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem."
-#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP		"Dojely oba Z voziky k~hornimu dorazu?"
-
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1	"Hledam kalibracni bod podlozky"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2	" z 4"
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1	"Zlepsuji presnost kalibracniho bodu"
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2	" z 4"
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1	"Merim referencni vysku kalibracniho bodu"
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2	" z 9"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION	"Iterace "
-
-#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND			"Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED			"Kalibrace XYZ selhala. Nahlednete do manualu."
-#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT					"Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!"
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD					"Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!"
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME				"Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR		"Kalibrace XYZ selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR	"Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR		"Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR	"Kalibrace XYZ nepresna. Levy predni bod moc vpredu."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR	"Kalibrace XYZ nepresna. Pravy predni bod moc vpredu."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR	"Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu."
-
-#define MSG_BED_LEVELING_FAILED_POINT_LOW						"Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset."
-#define MSG_BED_LEVELING_FAILED_POINT_HIGH						"Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset."
-#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED				"Kalibrace Z selhala. Sensor je odpojeny nebo preruseny kabel. Cekam na reset."
-
-#define MSG_NEW_FIRMWARE_AVAILABLE								"Vysla nova verze firmware:"
-#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE							"Prosim aktualizujte."
-#define MSG_FOLLOW_CALIBRATION_FLOW                        		"Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace."
-#define MSG_BABYSTEP_Z_NOT_SET                          		"Neni zkalibrovana vzdalenost trysky od tiskove podlozky. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Nastaveni prvni vrstvy."
-
-#define MSG_BED_CORRECTION_MENU									"Korekce podlozky"
-#define MSG_BED_CORRECTION_LEFT									"Vlevo  [um]"
-#define MSG_BED_CORRECTION_RIGHT								"Vpravo [um]"
-#define MSG_BED_CORRECTION_FRONT								"Vpredu [um]"
-#define MSG_BED_CORRECTION_REAR									"Vzadu  [um]"
-#define MSG_BED_CORRECTION_RESET								"Reset"
-
-#define MSG_MESH_BED_LEVELING									"Mesh Bed Leveling"
-#define MSG_MENU_CALIBRATION									"Kalibrace"
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF					"SD card  [normal]"
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON					"SD card [FlshAir]"
-
-#define MSG_STACK_ERROR                     "Chyba - Doslo k prepisu staticke pameti!"
-
-#define MSG_LOOSE_PULLEY								"Uvolnena remenicka"
-#define MSG_FILAMENT_LOADING_T0							"Vlozte filament do extruderu 1. Potvrdte tlacitkem."
-#define MSG_FILAMENT_LOADING_T1							"Vlozte filament do extruderu 2. Potvrdte tlacitkem."
-#define MSG_FILAMENT_LOADING_T2							"Vlozte filament do extruderu 3. Potvrdte tlacitkem."
-#define MSG_FILAMENT_LOADING_T3							"Vlozte filament do extruderu 4. Potvrdte tlacitkem."
-#define MSG_CHANGE_EXTR									"Zmenit extruder"
-
-#define MSG_FIL_ADJUSTING								"Probiha srovnani filamentu. Prosim cekejte."
-#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ				"Filamenty jsou srovnany. Pro uspesnou kalibraci prosim ocistete trysku. Po te potvrdte tlacitkem."
-#define MSG_CALIBRATE_E									"Kalibrovat E"
-#define MSG_E_CAL_KNOB									"Otacejte tlacitkem dokud znacka nedosahne tela extruderu. Potvrdte tlacitkem."
-#define MSG_MARK_FIL									"Oznacte filament 100 mm od tela extruderu a po te potvrdte tlacitkem."
-#define MSG_CLEAN_NOZZLE_E								"E kalibrace ukoncena. Prosim ocistete trysku. Po te potvrdte tlacitkem."
-#define MSG_WAITING_TEMP								"Cekani na zchladnuti trysky a podlozky."
-#define MSG_FILAMENT_CLEAN								"Filament vytlacen a spravne barvy?" 
-#define MSG_UNLOADING_FILAMENT							"Vysouvam filament"
-
-#define MSG_PAPER										"Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, vypnete tiskarnu."
-
-#define MSG_FINISHING_MOVEMENTS							"Dokoncovani pohybu"
-#define MSG_PRINT_PAUSED								"Tisk pozastaven"
-#define MSG_RESUMING_PRINT								"Obnovovani tisku"
-#define MSG_PID_EXTRUDER								"PID kalibrace"
-#define MSG_SET_TEMPERATURE								"Nastavte teplotu:"
-#define MSG_PID_FINISHED								"PID kal. ukoncena"
-#define MSG_PID_RUNNING									"PID kal.           "
-
-#define MSG_CALIBRATE_PINDA								"Zkalibrovat"
-#define MSG_CALIBRATION_PINDA_MENU						"Teplot. kalibrace"
-#define MSG_PINDA_NOT_CALIBRATED						"Tiskarna nebyla teplotne zkalibrovana"
-#define MSG_PINDA_PREHEAT								"Nahrivani PINDA"
-#define MSG_TEMP_CALIBRATION							"Tepl. kal.          "
-#define MSG_TEMP_CALIBRATION_DONE						"Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal."
-#define MSG_TEMP_CALIBRATION_ON							"Tepl. kal.  [zap]"
-#define MSG_TEMP_CALIBRATION_OFF						"Tepl. kal.  [vyp]"
-#define MSG_PREPARE_FILAMENT							"Pripravte filament"
-#define MSG_ALL											"Vse"
-#define MSG_USED										"Pouzite behem tisku"
-#define MSG_CURRENT										"Pouze aktualni"
-#define MSG_CHOOSE_EXTRUDER								"Vyberte extruder:"
-#define MSG_EXTRUDER									"Extruder"
-#define MSG_EXTRUDER_1									"Extruder 1"
-#define MSG_EXTRUDER_2									"Extruder 2"
-#define MSG_EXTRUDER_3									"Extruder 3"
-#define MSG_EXTRUDER_4									"Extruder 4"
-
-#define MSG_WIZARD							"Wizard"
-#define MSG_WIZARD_WELCOME					"Dobry den, jsem vase tiskarna Original Prusa i3. Chcete abych Vas provedla kalibracnim procesem?"
-#define MSG_WIZARD_QUIT						"Wizarda muzete kdykoliv znovu spustit z menu Calibration -> Wizard"
-#define MSG_WIZARD_SELFTEST					"Nejdriv pomoci selftestu zkontoluji nejcastejsi chyby vznikajici pri sestaveni tiskarny."
-#define MSG_WIZARD_CALIBRATION_FAILED		"Prosim nahlednete do manualu a opravte problem. Po te obnovte Wizarda rebootovanim tiskarny."
-#define MSG_WIZARD_XYZ_CAL					"Nyni provedu xyz kalibraci. Zabere to priblizne 12 min."
-#define MSG_WIZARD_FILAMENT_LOADED			"Je filament zaveden?"
-#define MSG_WIZARD_Z_CAL					"Nyni provedu z kalibraci."
-#define MSG_WIZARD_WILL_PREHEAT				"Nyni predehreji trysku pro PLA."
-#define MSG_WIZARD_V2_CAL					"Nyni zkalibruji vzdalenost mezi koncem trysky a povrchem heatbedu."
-#define MSG_WIZARD_V2_CAL_2					"Zacnu tisknout linku a Vy budete postupne snizovat trysku otacenim tlacitka dokud nedosahnete optimalni vysky. Prohlednete si obrazky v nasi prirucce v kapitole Kalibrace"
-#define MSG_V2_CALIBRATION					"Kal. prvni vrstvy"
-#define MSG_WIZARD_DONE						"Vse je hotovo."
-#define MSG_WIZARD_LOAD_FILAMENT			"Prosim vlozte PLA filament do extruderu, po te stisknete tlacitko pro zavedeni filamentu."
-#define MSG_WIZARD_RERUN					"Spusteni Wizarda vymaze ulozene vysledky vsech kalibraci a spusti kalibracni proces od zacatku. Pokracovat?"
-#define MSG_WIZARD_REPEAT_V2_CAL			"Chcete opakovat posledni krok a pozmenit vzdalenost mezi tryskou a heatbed?"
-#define MSG_WIZARD_CLEAN_HEATBED			"Prosim ocistete heatbed a stisknete tlacitko."
-#define MSG_WIZARD_PLA_FILAMENT				"Je to PLA filament?"		
-#define MSG_WIZARD_INSERT_CORRECT_FILAMENT	"Prosim zavedte PLA filament a po te obnovte Wizarda stisknutim reset tlacitka."
-#define MSG_PLA_FILAMENT_LOADED				"Je PLA filament zaveden?"
-#define MSG_PLEASE_LOAD_PLA					"Nejdrive zavedte PLA filament prosim."
-#define MSG_WIZARD_HEATING					"Predehrivam trysku. Prosim cekejte."
-#define MSG_M117_V2_CALIBRATION				"M117 Kal. prvni vrstvy"
-
-#define MSG_DATE							"Datum:"
-#define MSG_XYZ_DETAILS						"Detaily XYZ kal."
-#define	MSG_Y_DISTANCE_FROM_MIN				"Y vzdalenost od min:"
-#define	MSG_LEFT							"Levy:"
-#define MSG_RIGHT							"Pravy:"
-#define MSG_MEASURED_SKEW					"Merene zkoseni:"
-#define MSG_SLIGHT_SKEW						"Lehke zkoseni:"
-#define MSG_SEVERE_SKEW						"Tezke zkoseni:"
-
-#define MSG_CALIBRATE_Z_AUTO				"Kalibruji Z"
-#define MSG_FSENSOR_OFF						"Fil. senzor [vyp]"
-#define MSG_FSENSOR_NA						"Fil. senzor [N/A]"
-#define MSG_FSENSOR_ON						"Fil. senzor [zap]" 
-#define MSG_CRASHDETECT_ON					"Crash det.  [zap]"
-#define MSG_CRASHDETECT_NA					"Crash det.  [N/A]"
-#define MSG_CRASHDETECT_OFF					"Crash det.  [vyp]"
-#define MSG_FANS_CHECK_ON					"Kontr. vent.[zap]"
-#define MSG_FANS_CHECK_OFF					        "Kontr. vent.[vyp]"
-#define MSG_FSENS_AUTOLOAD_ON   "F. autozav. [zap]"
-#define MSG_FSENS_AUTOLOAD_OFF  "F. autozav. [vyp]"
-#define MSG_FSENS_AUTOLOAD_NA  "F. autozav. [N/A]"
-#define MSG_RECOVERING_PRINT				"Obnovovani tisku    "
-#define MSG_CRASH_DETECTED   "Detekovan naraz."
-#define MSG_CRASH_DETECTED2   "Naraz detekovan, pokracovat v tisku?"
-
-#define MSG_SELFTEST_AXIS					"Osa"
-#define MSG_SELFTEST_AXIS_LENGTH			"Delka osy"
-#define MSG_STEEL_SHEET_CHECK				"Je tiskovy plat na heatbed?"
-#define MSG_REMOVE_STEEL_SHEET				"Odstrante tiskovy plat z heatbed prosim."
-#define MSG_PLACE_STEEL_SHEET				"Umistete prosim tiskovy plat na heatbed"
-#define MSG_RECOVER_PRINT					"Detekovan vypadek proudu.Obnovit tisk?"
-#define MSG_PRESS_TO_UNLOAD					"Pro vysunuti filamentu stisknete prosim tlacitko"	
-#define MSG_UNLOAD_SUCCESSFUL				"Bylo vysunuti filamentu uspesne?"
-#define MSG_PRESS_TO_PREHEAT				"Pro nahrati trysky a pokracovani stisknete tlacitko."
-#define MSG_PULL_OUT_FILAMENT				"Prosim vyjmete urychlene filament"
-#define MSG_CHECK_IDLER						"Prosim otevrete idler a manualne odstrante filament."
-#define MSG_FILE_INCOMPLETE					"Soubor nekompletni. Pokracovat?"
-#define MSG_FILE_CNT						"Nektere soubory nebudou setrideny. Maximalni pocet souboru pro setrideni je 100."
-#define MSG_DEFAULT_SETTINGS_LOADED			"Neplatne hodnoty nastaveni. Bude pouzito vychozi PID, Esteps atd."
-#define MSG_SORT_TIME						"Trideni     [Cas]"
-#define MSG_SORT_ALPHA						"Trideni [Abeceda]"
-#define MSG_SORT_NONE						"Trideni   [Zadne]"
-#define MSG_SORTING                            "Trideni souboru"
-
-
-#define MSG_INFO_NOZZLE_FAN                 "Trysk. vent:"
-#define MSG_INFO_PRINT_FAN                  "Tisk. vent:"
-
-
-#define MSG_SECOND_SERIAL_ON                 "RPi port    [zap]"
-#define MSG_SECOND_SERIAL_OFF                "RPi port    [vyp]"
-
-#define MSG_INFO_EXTRUDER                "Extruder info"
-#define MSG_MENU_VOLTAGES               "Napeti"
-#define MSG_MENU_TEMPERATURES           "Teploty"
-#define MSG_MENU_BELT_STATUS            "Stav remenu"
-
-#define MSG_CRASH_DET_ONLY_IN_NORMAL        "\x1b[2JCrash detekce muze\x1b[1;0Hbyt zapnuta pouze v\x1b[2;0HNormal modu"
-#define MSG_CRASH_DET_STEALTH_FORCE_OFF     "\x1b[2JPOZOR:\x1b[1;0HCrash detekce\x1b[2;0Hdeaktivovana ve\x1b[3;0HStealth modu"
-
-#define MSG_AUTOLOADING_ENABLED             "Automaticke zavadeni filamentu aktivni, stisknete tlacitko a vlozte filament..."
-#define MSG_AUTOLOADING_ONLY_IF_FSENS_ON    "Automaticke zavadeni filamentu dostupne pouze pri zapnutem filament senzoru..."
-
-#define MSG_FSENS_NOT_RESPONDING     "CHYBA: Filament senzor nereaguje, zkontrolujte zapojeni."
-
-#define MSG_FW_VERSION_UNKNOWN		 "VAROVANI: Neznama, nepodporovana verze firmware. Pouziti na vlastni nebezpeci!"
-#define MSG_FW_VERSION_ALPHA		 "Pouzivate alpha verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny." 
-#define MSG_FW_VERSION_BETA			 "Pouzivate beta verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny."
-#define MSG_FW_VERSION_RC			 "Tato verze firmware je release candidate. Nektere z funkci nemusi pracovat spolehlive."
-#define MSG_FORCE_SELFTEST			 "Pro kalibraci presneho rehomovani bude nyni spusten selftest."
-#define MSG_CHANGED_MOTHERBOARD		 "Varovani: doslo ke zmene typu motherboardu."
-#define MSG_CHANGED_PRINTER			 "Varovani: doslo ke zmene typu tiskarny."
-#define MSG_CHANGED_BOTH			 "Varovani: doslo ke zmene typu tiskarny a motherboardu."
-#define MSG_WAITING_TEMP_PINDA		 "Cekani na zchladnuti PINDA"

+ 0 - 349
lang_backup/language_de.h

@@ -1,349 +0,0 @@
-+/**
- + * German
- + *
- + * LCD Menu Messages
- + * Please note these are limited to 17 characters!
- + *
- + */
-	+
-	+#define(length = 20) WELCOME_MSG              CUSTOM_MENDEL_NAME " bereit."
-	+ #define MSG_SD_INSERTED                     "SD eingesetzt"
-	+ #define MSG_SD_REMOVED                      "SD entfernt "
-	+ #define MSG_MAIN                            "Hauptmenue"
-	+ #define MSG_DISABLE_STEPPERS                "Motoren aus"
-	+ #define MSG_AUTO_HOME                       "Startposition"
-	+ #define MSG_SET_HOME_OFFSETS                "Abstand vom Ursprung einstellen"
-	+ #define MSG_SET_ORIGIN                      "Ursprung einstellen"
-	+ #define MSG_COOLDOWN                        "Abkuehlen"
-	+ #define MSG_SWITCH_PS_ON                    "Netzteil EIN"
-	+ #define MSG_SWITCH_PS_OFF                   "Netzteil AUS"
-	+ #define MSG_MOVE_AXIS                       "Achsbewegung"
-	+ #define MSG_MOVE_X                          "Bewege X"
-	+ #define MSG_MOVE_Y                          "Bewege Y"
-	+ #define MSG_MOVE_Z                          "Bewege Z"
-	+ #define MSG_MOVE_E                          "Extruder"
-	+ #define MSG_SPEED                           "Geschwindigkeit"
-	+ #define MSG_NOZZLE                          "Duese"
-	+ #define MSG_NOZZLE1                         "Duese2"
-	+ #define MSG_NOZZLE2                         "Duese3"
-	+ #define MSG_BED                             "Bett"
-	+ #define MSG_FAN_SPEED                       "Luefter-Tempo"
-	+ #define MSG_FLOW                            "Durchfluss"
-	+ #define MSG_FLOW0                           "Durchfluss 0"
-	+ #define MSG_FLOW1                           "Durchfluss 1"
-	+ #define MSG_FLOW2                           "Durchfluss 2"
-	+ #define MSG_CONTROL                         "Kontrolle"
-	+ #define MSG_MIN                             " \002 Min"
-	+ #define MSG_MAX                             " \002 Max"
-	+ #define MSG_FACTOR                          " \002 Fakt"
-	+ #define MSG_TEMPERATURE                     "Temperatur"
-	+ #define MSG_MOTION                          "Bewegung"
-	+ #define MSG_VOLUMETRIC                      "Filament"
-	+ #define MSG_VOLUMETRIC_ENABLED		        "E in mm3"
-	+ #define MSG_STORE_EPROM                     "Abspeichern"
-	+ #define MSG_LOAD_EPROM                      "Lade Speicher"
-	+ #define MSG_RESTORE_FAILSAFE                "Standardwerte setzen"
-	+ #define MSG_REFRESH                         "\xF8" "Erneuern"
-	+ #define MSG_WATCH                           "Information"
-	+ #define MSG_TUNE                            "Feineinstellung"
-	+ #define MSG_PAUSE_PRINT                     "Druck unterbrech."
-	+ #define MSG_RESUME_PRINT                    "Fortsetzen"
-	+ #define MSG_STOP_PRINT                      "Druck abbrechen"
-	+ #define MSG_CARD_MENU                       "Drucken von SD"
-	+ #define MSG_NO_CARD                         "Keine SD Karte"
-	+ #define MSG_DWELL                           "Einen Moment bitte."
-	+ #define MSG_USERWAIT                        "Warte auf user..."
-	+ #define MSG_RESUMING                        "Druck fortgesetzt"
-	+ #define(length = 20) MSG_PRINT_ABORTED        "Druck abgebrochen"
-	+ #define MSG_NO_MOVE                         "Keine Bewegung."
-	+ #define MSG_KILLED                          "ABGEBROCHEN. "
-	+ #define MSG_STOPPED                         "GESTOPPT. "
-	+ #define MSG_FILAMENTCHANGE                  "Filament-Wechsel"
-	+ #define MSG_INIT_SDCARD                     "Init SD Karte"
-	+ #define MSG_CNG_SDCARD                      "Wechsel SD Karte"
-	+ #define MSG_BABYSTEP_X                      "Babystep X"
-	+ #define MSG_BABYSTEP_Y                      "Babystep Y"
-	+ #define MSG_BABYSTEP_Z                      "Z einstellen"
-	+ #define MSG_ADJUSTZ							"Auto Z einstellen?"
-	+ #define MSG_PICK_Z							"Waehle Abdruck"
-	+
-	+#define MSG_SETTINGS                        "Einstellungen"
-	+ #define MSG_PREHEAT                         "Vorwaermen"
-	+ #define MSG_UNLOAD_FILAMENT                 "Filament entladen"
-	+ #define MSG_LOAD_FILAMENT                 "Filament laden"
-	+
-	+#define MSG_RECTRACT                        "Retract"
-	+ #define MSG_ERROR                        "FEHLER:"
-	+ #define(length = 20) MSG_PREHEAT_NOZZLE       "Duese Vorwaermen"
-	+ #define MSG_SUPPORT "Support"
-	+ #define(length = 20) MSG_CORRECTLY			"Wechsel ok?"
-	+ #define MSG_YES					"Ja"
-	+ #define MSG_NO					"Nein"
-	+ #define(length = 19) MSG_NOT_LOADED 			"Fil. nicht geladen"
-	+ #define MSG_NOT_COLOR 				"Farbe unklar"
-	+ #define(length = 20) MSG_LOADING_FILAMENT		"Filament leadt"
-	+ #define(length = 20) MSG_PLEASE_WAIT			"Bitte warten"
-	+ #define MSG_LOADING_COLOR		"Lade Farbe"
-	+ #define MSG_CHANGE_SUCCESS		"Wechsel erfolgr.!"
-	+ #define(length = 20) MSG_PRESS				"und Knopf druecken"
-	+ #define(length = 20) MSG_INSERT_FILAMENT		"Filament einlegen"
-	+ #define(length = 20) MSG_CHANGING_FILAMENT	"Filament-Wechsel!"
-	+
-	+
-	+#define MSG_SILENT_MODE_ON					"Mode     [leise]"
-	+ #define MSG_SILENT_MODE_OFF					"Mode [Hohe Leist]"
-	+ #define(length = 20) MSG_REBOOT				"Zum Uebernehmen "
-	+ #define(length = 22) MSG_TAKE_EFFECT			"Drucker neu starten"
-	+
-	+#define MSG_Enqueing                        "enqueuing \"
-	+ #define MSG_POWERUP                         "Einschalten"
-	+ #define MSG_CONFIGURATION_VER               " Letztes Update:"
-	+ #define MSG_FREE_MEMORY                     " Freier Speicher: "
-	+ #define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
-	+ #define MSG_OK                              "ok"
-	+ #define MSG_ERR_CHECKSUM_MISMATCH           "Pruefsummenfehler, Letzte Zeile: " //Checksum Fehler, Letzte Zeile: "
-	+ #define MSG_ERR_NO_CHECKSUM                 "Keine Pruefsumme mit Zeilennummer, Letzte Zeile: " //Keine Checksum mit Zeilennummer, Letzte Zeile: "
-	+ #define MSG_BEGIN_FILE_LIST                 "Beginn Dateiliste"
-	+ #define MSG_END_FILE_LIST                   "Ende Dateiliste"
-	+ #define MSG_M104_INVALID_EXTRUDER           "M104 Falscher Extruder"
-	+ #define MSG_M105_INVALID_EXTRUDER           "M105 Falscher Extruder"
-	+ #define MSG_M200_INVALID_EXTRUDER           "M200 Falscher Extruder"
-	+ #define MSG_M218_INVALID_EXTRUDER           "M218 Falscher Extruder"
-	+ #define MSG_M221_INVALID_EXTRUDER           "M221 Falscher Extruder"
-	+ #define MSG_ERR_NO_THERMISTORS              "Keine Thermistoren - keine Temperatur"
-	+ #define MSG_M109_INVALID_EXTRUDER           "M109 Falscher Extruder"
-	+ #define MSG_HEATING                         "Aufwaermen"
-	+ #define(length = 20) MSG_HEATING_COMPLETE   "Aufwaermen OK"
-	+ #define MSG_BED_HEATING                     "Bett aufwaermen"
-	+ #define MSG_BED_DONE                        "Bett OK"
-	+ #define MSG_ERR_KILLED                      "Printer gestoppt. kill() aufgerufen!"
-	+ #define MSG_ERR_STOPPED                     "Drucker aufgrund von Fehlern gestoppt. Fehler beheben und mit M999 neu starten. (Temperatur wird zurueckgesetzt. Nach dem Neustart neu einstellen!)"
-	+ #define MSG_RESEND                          "Wiederholen: "
-	+ #define MSG_M119_REPORT                     "Statusbericht Endanschlag"
-	+ #define MSG_ENDSTOP_HIT                     "AUSGELOEST"
-	+ #define MSG_ENDSTOP_OPEN                    "offen"
-	+
-	+#define MSG_SD_CANT_OPEN_SUBDIR             "Kann Unterverz. nicht oeffnen"
-	+ #define MSG_SD_INIT_FAIL                    "SD Init fehlerhaft"
-	+ #define MSG_SD_VOL_INIT_FAIL                "Dateisystem Init fehlerhaft"
-	+ #define MSG_SD_OPENROOT_FAIL                "Zugriff auf Basisverzeichnis misslungen"
-	+ #define MSG_SD_CARD_OK                      "SD Karte ok"
-	+ #define MSG_SD_WORKDIR_FAIL                 "Oeffnen Arbeitsverzeichnis misslungen"
-	+ #define MSG_SD_OPEN_FILE_FAIL               "Fehler beim Oeffnen der Datei: "
-	+ #define MSG_SD_FILE_OPENED                  "Datei geoeffnet: "
-	+ #define MSG_SD_FILE_SELECTED                "Datei ausgewaehlt"
-	+ #define MSG_SD_WRITE_TO_FILE                "Schreiben der Datei: "
-	+ #define MSG_SD_PRINTING_BYTE                "SD printing byte "
-	+ #define MSG_SD_NOT_PRINTING                 "Kein SD Print"
-	+ #define MSG_SD_ERR_WRITE_TO_FILE            "Fehler beim Schreiben in Datei"
-	+ #define MSG_SD_CANT_ENTER_SUBDIR            "Zugangsproblem Unterverzeichnis: "
-	+ #define MSG_STEPPER_TOO_HIGH                "Schrittrate zu hoch"
-	+ #define MSG_ENDSTOPS_HIT                    "Endanschlag erreicht"
-	+ #define MSG_ERR_COLD_EXTRUDE_STOP           "Stopp, Extruder kalt!"
-	+ #define MSG_BABYSTEPPING_X                  "Babystepping X"
-	+ #define MSG_BABYSTEPPING_Y                  "Babystepping Y"
-	+ #define MSG_BABYSTEPPING_Z                  "Z wurde eingestellt"
-	+ #define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Menuestruktur fehlerhaft"
-	+
-	+#define MSG_LANGUAGE_NAME					"Deutsch"
-	+ #define MSG_LANGUAGE_SELECT					"Waehle Sprache"
-	+ #define MSG_PRUSA3D							"prusa3d.com"
-	+ #define MSG_PRUSA3D_FORUM					"forum.prusa3d.com"
-	+ #define MSG_PRUSA3D_HOWTO					"howto.prusa3d.com"
-	+
-	+#define MSG_SELFTEST_ERROR					"Selbtest Fehler!"
-	+ #define MSG_SELFTEST_PLEASECHECK			"Bitte pruefe:"
-	+ #define MSG_SELFTEST_NOTCONNECTED			"Nicht angeschlossen"
-	+ #define MSG_SELFTEST_HEATERTHERMISTOR		"Heater/Thermistor"
-	+ #define MSG_SELFTEST_BEDHEATER				"Bett / Heater"
-	+ #define MSG_SELFTEST_WIRINGERROR			"Verdrahtungfehler"
-	+ #define MSG_SELFTEST_ENDSTOPS				"Endschalter"
-	+ #define MSG_SELFTEST_MOTOR					"Motor"
-	+ #define MSG_SELFTEST_ENDSTOP				"Endstop"
-	+ #define MSG_SELFTEST_ENDSTOP_NOTHIT			"Ende nicht getrof."
-	+ #define MSG_SELFTEST_OK						"Selbsttest OK"
-	+ #define MSG_LOOSE_PULLEY					"Lose Riemenscheibe"
-	+
-	+#define MSG_SELFTEST_FAN					"Lueftertest"
-+#define(length = 20) MSG_SELFTEST_COOLING_FAN			"Vorderer Luefter?"
-+#define(length = 20) MSG_SELFTEST_EXTRUDER_FAN			"Linker Luefter?"
-+#define MSG_SELFTEST_FAN_YES				"Dreht"
-+#define MSG_SELFTEST_FAN_NO					"Dreht nicht"
-+
-+#define(length = 20) MSG_STATS_TOTALFILAMENT	"Gesamtfilament:"
-+ #define(length = 20) MSG_STATS_TOTALPRINTTIME "Totale Druckzeit:"
-+ #define(length = 20) MSG_STATS_FILAMENTUSED	"Filamentverbrauch:"
-+ #define(length = 20) MSG_STATS_PRINTTIME		"Druckzeit:  "
-+ #define(length = 20) MSG_SELFTEST_START				"Selbsttest start "
-+ #define(length = 20) MSG_SELFTEST_CHECK_ENDSTOPS	"Pruefe Endschalter  "
-+ #define(length = 20) MSG_SELFTEST_CHECK_HOTEND		"Pruefe Duese" 
-+ #define(length = 20) MSG_SELFTEST_CHECK_X				"Pruefe X Achse    "
-+ #define(length = 20) MSG_SELFTEST_CHECK_Y				"Pruefe Y Achse    "
-+ #define(length = 20) MSG_SELFTEST_CHECK_Z				"Pruefe Z Achse    "
-+ #define(length = 20) MSG_SELFTEST_CHECK_BED			"Pruefe Bett        "
-+ #define(length = 20) MSG_SELFTEST_CHECK_ALLCORRECT	"Alles richtig    "
-+ #define MSG_SELFTEST						"Selbsttest       "
-+ #define(length = 20) MSG_SELFTEST_FAILED		"Selbsttest misslung."
-+ #define MSG_STATISTICS						"Statistiken "
-+ #define MSG_USB_PRINTING					"Drucken ueber USB"
-+ #define MSG_HOMEYZ                          "Kalibrieren Z"
-+ #define MSG_HOMEYZ_PROGRESS                 "Kalibriere Z"
-+ #define MSG_HOMEYZ_DONE		                "Kalibrierung OK"
-+
-+#define MSG_SHOW_END_STOPS					"Endschalter Stat."
-+ #define MSG_CALIBRATE_BED					"Kalibrierung XYZ"
-+ #define MSG_CALIBRATE_BED_RESET				"Reset XYZ Kalibr."
-+
-
-+#define(length = 20, lines = 8) MSG_MOVE_CARRIAGE_TO_THE_TOP 	"Kalibrieren von XYZ. Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Klicken Sie den Knopf wenn es ganz oben wird."
-+ #define(length = 20, lines = 8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z 	"Kalibrieren von Z. Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Klicken Sie den Knopf wenn es ganz oben wird."
-+
-
-+#define(length = 20, lines = 8) MSG_CONFIRM_NOZZLE_CLEAN			"Bitte entfernen Sie ueberstehendes Filament von der Duese. Klicken wenn sauber."
-+ #define(length = 20, lines = 2) MSG_CONFIRM_CARRIAGE_AT_THE_TOP	"Ist der Schlitten ganz oben?"
-+
-+#define(length = 60) MSG_FIND_BED_OFFSET_AND_SKEW_LINE1		"Suchen Bett Kalibrierpunkt"
-+ #define(length = 14) MSG_FIND_BED_OFFSET_AND_SKEW_LINE2		" von 4"
-+ #define(length = 60) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1	"Verbesserung Bett Kalibrierpunkt"
-+ #define(length = 14) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2	" von 4"
-+ #define(length = 60) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1	"Messen der Referenzhoehe des Kalibrierpunktes"
-+ #define(length = 14) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2	" von 9"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION	"Iteration "
-+
-+#define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND			"XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden."
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED				"XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch."
-
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT					"XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander. Glueckwunsch!"
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD					"XYZ Kalibrierung in Ordnung. X/Y Achsen sind etwas schief."
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME					"XYZ Kalibrierung in Ordnung. Schiefheit wird automatisch korrigiert."
-
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR		"XYZ-Kalibrierung fehlgeschlagen. Linker vorderer Kalibrierpunkt ist zu weit vorne."
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR		"XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt ist zu weit vorne."
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR		"XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte sind zu weit vorne."
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR		"XYZ-Kalibrierung ungenau. Linker vorderer Kalibrierpunkt ist zu weit vorne."
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR		"XYZ-Kalibrierung ungenau. Rechter vorderer Kalibrierpunkt ist zu weit vorne."
-+ #define(length = 20, lines = 8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR		"XYZ-Kalibrierung ungenau. Vordere Kalibrierpunkte sind zu weit vorne."
-+
-+#define(length = 20, lines = 4) MSG_BED_LEVELING_FAILED_POINT_LOW						"Z-Kal. fehlgeschlg. Sensor nicht ausgeloest. Schmutzige Duese? Warte auf Reset"
-
-+ #define(length = 20, lines = 4) MSG_BED_LEVELING_FAILED_POINT_HIGH						"Z-Kalibrierung fehlgeschlg. Sensor zu hoch ausgeloest. Warte auf Reset."
-+ #define(length = 20, lines = 4) MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED				"Z-Kalibrierung fehlgeschlg. Sensor nicht angeschlossen. Warte auf Reset."
-+
-+#define(length = 20, lines = 2) MSG_NEW_FIRMWARE_AVAILABLE								"Neue Firmware Version verfuegbar:"
-+ #define(length = 20) MSG_NEW_FIRMWARE_PLEASE_UPGRADE									"Bitte aktualisieren."
-+
-+ #define(length = 20, lines = 8) MSG_FOLLOW_CALIBRATION_FLOW								"Der Drucker wurde noch nicht kalibriert. Bitte folgen Sie das Handbuch, Kapitel First steps, Abschnitt Calibration flow."
-+ #define(length = 20, lines = 12) MSG_BABYSTEP_Z_NOT_SET									"Der Abstand zwischen der Spitze der Duese und der Bett ist noch nicht eingestellt. Bitte folgen Sie dem Handbuch, First steps, section First layer calibration."
-+ 
-+
-
-+ #define(length = 20, lines = 4) MSG_FILAMENT_LOADING_T0							"Filament in extruder 1 einlegen. Klicken wenn fertig."
-+ #define(length = 20, lines = 4) MSG_FILAMENT_LOADING_T1							"Filament in extruder 2 einlegen. Klicken wenn fertig."
-+ #define(length = 20, lines = 4) MSG_FILAMENT_LOADING_T2							"Filament in extruder 3 einlegen. Klicken wenn fertig."
-+ #define(length = 20, lines = 4) MSG_FILAMENT_LOADING_T3							"Filament in extruder 4 einlegen. Klicken wenn fertig."
-+ #define(length = 20, lines = 1) MSG_CHANGE_EXTR									"Wechsel extruder"
-+
-
-
-+ #define(length = 20, lines = 4) MSG_FIL_ADJUSTING								"Filament positionieren. Bitte warten."
-+ #define(length = 20, lines = 8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ			"Filamente sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn fertig."
-+ 
-+ #define(length = 20, lines = 1) MSG_CALIBRATE_E						"Kalibriere E"
-+//#define(length=20, lines=1)				"Reset E Cal."
-
-+#define(length = 20, lines = 8) MSG_E_CAL_KNOB						"Knopf drehen bis die Filamentmarkierung erreicht ist. Klicken wenn fertig."
-+
-+//#define(length=20, lines=1) MSG_FARM_CARD_MENU					"Farm mode print"
-
-+#define(length = 20, lines = 8) MSG_MARK_FIL						"Filament 100mm vom Extrudergehaeuse markieren. Klicken wenn Fertig."
-+ #define(length = 20, lines = 8) MSG_CLEAN_NOZZLE_E				"E-Kalibrierung beendet. Bitte reinigen Sie die Duese. Klicken wenn fertig."
-+ #define(length = 20, lines = 3) MSG_WAITING_TEMP				"Warten auf Abkuehlung von Heater und Bett."
-
-+ #define(length = 20, lines = 2) MSG_FILAMENT_CLEAN				"Ist Farbe rein?"
-+ #define(length = 20, lines = 1) MSG_UNLOADING_FILAMENT			"Filament auswerfen"
-+ #define(length = 20, lines = 8) MSG_PAPER						"Legen ein Blatt Papier unter die Duese waehrend der Kalibrierung der ersten 4 Punkte. Wenn die Duese das Papier einklemmt, Drucker sofort ausschalten"
-+
-+#define MSG_BED_CORRECTION_MENU									"Bett level Korrekt"
-
-+ #define MSG_BED_CORRECTION_LEFT									"Links     [um]"
-+ #define MSG_BED_CORRECTION_RIGHT								"Rechts    [um]"
-+ #define MSG_BED_CORRECTION_FRONT								"Vorne     [um]"
-+ #define MSG_BED_CORRECTION_REAR									"Hinten    [um]"
-+ #define MSG_BED_CORRECTION_RESET								"Ruecksetzen"
-+
-+#define MSG_MESH_BED_LEVELING									"Mesh Bett Leveling"
-+ #define MSG_MENU_CALIBRATION									"Kalibrierung"
-
-+ #define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF					"SD Karte [normal]"
-+ #define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON					"SD Karte [FlashAir]"
-
-#define MSG_FINISHING_MOVEMENTS							"Bewegung beenden"
-#define MSG_PRINT_PAUSED								"Druck pausiert"
-#define MSG_RESUMING_PRINT								"Druck weitergehen"
-#define MSG_PID_EXTRUDER								"PID Kalibrierung"
-#define MSG_SET_TEMPERATURE								"Temp. einsetzen"
-#define MSG_PID_FINISHED								"PID Kalib. fertig"
-#define MSG_PID_RUNNING									"PID Kalib."
-
-#define MSG_CALIBRATE_PINDA								"Kalibrieren"
-#define MSG_CALIBRATION_PINDA_MENU						"Temp. kalibrieren"
-#define MSG_PINDA_NOT_CALIBRATED						"Temperatur wurde nicht kalibriert"
-#define MSG_PINDA_PREHEAT								"PINDA erwaermen"
-#define MSG_TEMP_CALIBRATION							"Temp Kalib.         "
-#define MSG_TEMP_CALIBRATION_DONE						"Temp. Kalibrierung fertig. Klicken um weiter zu gehen."
-#define MSG_TEMP_CALIBRATION_ON							"Temp. Kal. [ON]"
-#define MSG_TEMP_CALIBRATION_OFF						"Temp. Kal. [OFF]"
-
-#define MSG_LOAD_ALL									"Alle laden"
-#define MSG_LOAD_FILAMENT_1								"Filament 1 laden"
-#define MSG_LOAD_FILAMENT_2								"Filament 2 laden"
-#define MSG_LOAD_FILAMENT_3								"Filament 3 laden"
-#define MSG_LOAD_FILAMENT_4								"Filament 4 laden"
-#define MSG_UNLOAD_FILAMENT_1							"Filam. 1 entladen"
-#define MSG_UNLOAD_FILAMENT_2							"Filam. 2 entladen"
-#define MSG_UNLOAD_FILAMENT_3							"Filam. 3 entladen"
-#define MSG_UNLOAD_FILAMENT_4							"Filam. 4 entladen"
-#define MSG_UNLOAD_ALL									"Alles entladen"
-#define MSG_PREPARE_FILAMENT							"Filam. bereithalten"
-#define MSG_ALL											"Alle"
-#define MSG_USED										"Beim Druck benutzte"
-#define MSG_CURRENT										"Aktuelles"
-#define MSG_CHOOSE_EXTRUDER								"Waehlen Sie Extruder"
-#define MSG_EXTRUDER									"Extruder"
-#define MSG_EXTRUDER_1									"Extruder 1"
-#define MSG_EXTRUDER_2									"Extruder 2"
-#define MSG_EXTRUDER_3									"Extruder 3"
-#define MSG_EXTRUDER_4									"Extruder 4"
-
-#define MSG_WIZARD							"Wizard"
-#define MSG_WIZARD_WELCOME					"Hallo, ich bin dein Original Prusa i3 Drucker. Moechten Sie meine Hilfe durch den Setup-Prozess?"
-#define MSG_WIZARD_QUIT						"Sie koennen immer den Asistenten im Menu neu aufrufen: Kalibrierung -> Assistant"
-#define MSG_WIZARD_SELFTEST					"Zunaechst fuehre ich den Selbsttest durch um die haeufigsten Probleme bei der Aufbau zu ueberpruefen."
-#define MSG_WIZARD_CALIBRATION_FAILED		"Bitte ueberpruefen Sie unser Handbuch und beheben Sie das Problem. Fahren Sie dann mit dem Assistenten fort, indem Sie den Drucker neu starten."
-#define MSG_WIZARD_XYZ_CAL					"Ich werde jetzt die XYZ-Kalibrierung durchfuehren. Es wird ca. 12 Minuten dauern"
-#define MSG_WIZARD_FILAMENT_LOADED			"Ist das Filament geladen?"
-#define MSG_WIZARD_Z_CAL					"Ich werde jetzt die Z Kalibrierung durchfuehren."
-#define MSG_WIZARD_WILL_PREHEAT				"Jetzt werde ich die Duese fuer PLA vorheizen. "
-#define MSG_WIZARD_V2_CAL					"Jetzt werde ich den Abstand zwischen Duesenspitze und Druckbett kalibrieren."
-#define MSG_WIZARD_V2_CAL_2					"Ich werde jetzt erste Linie drucken. Waehrend des Druckes koennen Sie die Duese allmaehlich senken indem Sie den Knopf drehen, bis Sie die optimale Hoehe erreichen. Ueberpruefen Sie die Bilder in unserem Handbuch im Kapitel Kalibrierung"
-#define MSG_V2_CALIBRATION					"Erste-Schicht Kal"
-#define MSG_WIZARD_DONE						"Alles wurde getan. Viel Spass beim Drucken!"
-#define MSG_WIZARD_LOAD_FILAMENT			"Fuehren Sie bitte PLA Filament in den Extruder und bestaetigen Sie den Knopf um es zu laden."
-#define MSG_WIZARD_RERUN					"Der laufende Assistent loescht die aktuelle Kalibrierergebnisse und wird von Anfang an beginnen. Fortsetzen?"
-#define MSG_WIZARD_REPEAT_V2_CAL			"Moechten Sie den letzten Schritt wiederholen um den Abstand zwischen Duese und Druckbett neu einzustellen?"
-#define MSG_WIZARD_CLEAN_HEATBED			"Bitte reinigen Sie das Heizbett und druecken Sie dann den Knopf."
-#define MSG_WIZARD_PLA_FILAMENT				"Ist es wirklich PLA Filament?"
-#define MSG_WIZARD_INSERT_CORRECT_FILAMENT	"Bitte laden Sie PLA-Filament und fahren Sie mit dem Assistenten fort, indem Sie den Drucker neu starten."
-#define MSG_PLA_FILAMENT_LOADED				"Ist PLA Filament geladen?"
-#define MSG_PLEASE_LOAD_PLA					"Bitte laden Sie zuerst PLA Filament."
-#define MSG_WIZARD_HEATING					"Vorheizen der Duese. Bitte warten."
-#define MSG_M117_V2_CALIBRATION				"M117 Erste-Schicht Kal."
-
-#define MSG_DATE							"Datum"
-#define MSG_XYZ_DETAILS						"XYZ Kal. Details"
-#define	MSG_Y_DISTANCE_FROM_MIN				"Y Entfernung vom min"
-#define	MSG_LEFT							"Links:"
-#define MSG_RIGHT							"Rechts:"
-#define MSG_MEASURED_SKEW					"Schraeglauf:"
-#define MSG_SLIGHT_SKEW						"Leichter Schr.:"
-#define MSG_SEVERE_SKEW						"Schwerer Schr.:"

+ 0 - 427
lang_backup/language_en.h

@@ -1,427 +0,0 @@
-/**
- * English
- *
- * LCD Menu Messages
- * Please note these are limited to 17 characters!
- *
- */
-
-#define(length=20) WELCOME_MSG              CUSTOM_MENDEL_NAME " ready."
-#define MSG_SD_INSERTED                     "Card inserted"
-#define MSG_SD_REMOVED                      "Card removed"
-#define MSG_MAIN                            "Main"
-#define MSG_DISABLE_STEPPERS                "Disable steppers"
-#define MSG_AUTO_HOME                       "Auto home"
-#define MSG_SET_HOME_OFFSETS                "Set home offsets"
-#define MSG_SET_ORIGIN                      "Set origin"
-#define MSG_COOLDOWN                        "Cooldown"
-#define MSG_SWITCH_PS_ON                    "Switch power on"
-#define MSG_SWITCH_PS_OFF                   "Switch power off"
-#define MSG_MOVE_AXIS                       "Move axis"
-#define MSG_MOVE_X                          "Move X"
-#define MSG_MOVE_Y                          "Move Y"
-#define MSG_MOVE_Z                          "Move Z"
-#define MSG_MOVE_E                          "Extruder"
-#define MSG_SPEED                           "Speed"
-#define MSG_NOZZLE                          "Nozzle"
-#define MSG_NOZZLE1                         "Nozzle2"
-#define MSG_NOZZLE2                         "Nozzle3"
-#define MSG_BED                             "Bed"
-#define(length=14) MSG_FAN_SPEED                       "Fan speed"
-#define MSG_FLOW                            "Flow"
-#define MSG_FLOW0                           "Flow 0"
-#define MSG_FLOW1                           "Flow 1"
-#define MSG_FLOW2                           "Flow 2"
-#define MSG_CONTROL                         "Control"
-#define MSG_MIN                             " \002 Min"
-#define MSG_MAX                             " \002 Max"
-#define MSG_FACTOR                          " \002 Fact"
-#define MSG_TEMPERATURE                     "Temperature"
-#define MSG_MOTION                          "Motion"
-#define MSG_VOLUMETRIC                      "Filament"
-#define MSG_VOLUMETRIC_ENABLED		        "E in mm3"
-#define MSG_STORE_EPROM                     "Store memory"
-#define MSG_LOAD_EPROM                      "Load memory"
-#define MSG_RESTORE_FAILSAFE                "Restore failsafe"
-#define MSG_REFRESH                         "\xF8" "Refresh"
-#define MSG_WATCH                           "Info screen"
-#define MSG_TUNE                            "Tune"
-#define MSG_PAUSE_PRINT                     "Pause print"
-#define MSG_RESUME_PRINT                    "Resume print"
-#define MSG_STOP_PRINT                      "Stop print"
-#define MSG_CARD_MENU                       "Print from SD"
-#define MSG_NO_CARD                         "No SD card"
-#define MSG_DWELL                           "Sleep..."
-#define MSG_USERWAIT                        "Wait for user..."
-#define MSG_RESUMING                        "Resuming print"
-#define(length=20) MSG_PRINT_ABORTED        "Print aborted"
-#define MSG_NO_MOVE                         "No move."
-#define MSG_KILLED                          "KILLED. "
-#define MSG_STOPPED                         "STOPPED. "
-#define MSG_FILAMENTCHANGE                  "Change filament"
-#define MSG_INIT_SDCARD                     "Init. SD card"
-#define MSG_CNG_SDCARD                      "Change SD card"
-#define MSG_BABYSTEP_X                      "Babystep X"
-#define MSG_BABYSTEP_Y                      "Babystep Y"
-#define MSG_BABYSTEP_Z                      "Live adjust Z"
-#define MSG_ADJUSTZ							"Auto adjust Z?"
-#define MSG_PICK_Z							"Pick print"
-
-#define MSG_SETTINGS                         "Settings"
-#define MSG_PREHEAT                         "Preheat"
-#define(length=17) MSG_UNLOAD_FILAMENT               "Unload filament"
-#define(length=17) MSG_AUTOLOAD_FILAMENT             "AutoLoad filament"
-#define(length=17) MSG_LOAD_FILAMENT                 "Load filament"
-#define(length=17) MSG_LOAD_FILAMENT_1				"Load filament 1"
-#define(length=17) MSG_LOAD_FILAMENT_2				"Load filament 2"
-#define(length=17) MSG_LOAD_FILAMENT_3				"Load filament 3"
-#define(length=17) MSG_LOAD_FILAMENT_4				"Load filament 4"
-#define(length=17) MSG_UNLOAD_FILAMENT_1				"Unload filament 1"
-#define(length=17) MSG_UNLOAD_FILAMENT_2				"Unload filament 2"
-#define(length=17) MSG_UNLOAD_FILAMENT_3				"Unload filament 3"
-#define(length=17) MSG_UNLOAD_FILAMENT_4				"Unload filament 4"
-#define MSG_UNLOAD_ALL						"Unload all"
-#define MSG_LOAD_ALL						"Load all"
-
-
-#define MSG_RECTRACT                        "Rectract"
-#define MSG_ERROR                        "ERROR:"
-#define(length=20) MSG_PREHEAT_NOZZLE       "Preheat the nozzle!"
-#define MSG_SUPPORT "Support"
-#define(length=20) MSG_CORRECTLY			"Changed correctly?"
-#define MSG_YES					"Yes"
-#define MSG_NO					"No"
-#define(length=19) MSG_NOT_LOADED 			"Filament not loaded"
-#define MSG_NOT_COLOR 			"Color not correct"
-#define(length=20) MSG_LOADING_FILAMENT		"Loading filament"
-#define(length=20) MSG_PLEASE_WAIT			"Please wait"
-#define MSG_LOADING_COLOR		"Loading color"
-#define MSG_CHANGE_SUCCESS		"Change success!"
-#define(length=20) MSG_PRESS				"and press the knob"
-#define(length=20) MSG_INSERT_FILAMENT		"Insert filament"
-#define(length=20) MSG_CHANGING_FILAMENT	"Changing filament!"
-
-
-#define MSG_SILENT_MODE_ON					"Mode     [silent]"
-#define MSG_SILENT_MODE_OFF					"Mode [high power]" 
-#define MSG_AUTO_MODE_ON					"Mode [auto power]"
-#define MSG_STEALTH_MODE_OFF				"Mode     [Normal]"
-#define MSG_STEALTH_MODE_ON					"Mode    [Stealth]"
-
-#define(length=20) MSG_REBOOT				"Reboot the printer"
-#define(length=20) MSG_TAKE_EFFECT			" for take effect"											
-
-#define MSG_Enqueing                        "enqueing \""
-#define MSG_POWERUP                         "PowerUp"
-#define MSG_CONFIGURATION_VER               " Last Updated: "
-#define MSG_FREE_MEMORY                     " Free Memory: "
-#define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
-#define MSG_OK                              "ok"
-#define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
-#define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
-#define MSG_BEGIN_FILE_LIST                 "Begin file list"
-#define MSG_END_FILE_LIST                   "End file list"
-#define MSG_M104_INVALID_EXTRUDER           "M104 Invalid extruder "
-#define MSG_M105_INVALID_EXTRUDER           "M105 Invalid extruder "
-#define MSG_M200_INVALID_EXTRUDER           "M200 Invalid extruder "
-#define MSG_M218_INVALID_EXTRUDER           "M218 Invalid extruder "
-#define MSG_M221_INVALID_EXTRUDER           "M221 Invalid extruder "
-#define MSG_ERR_NO_THERMISTORS              "No thermistors - no temperature"
-#define MSG_M109_INVALID_EXTRUDER           "M109 Invalid extruder "
-#define MSG_HEATING                         "Heating"
-#define(length=20) MSG_HEATING_COMPLETE     "Heating done."
-#define MSG_BED_HEATING                     "Bed Heating"
-#define MSG_BED_HEATING_SAFETY_DISABLED     "Heating disabled by safety timer."
-#define MSG_BED_DONE                        "Bed done"
-#define MSG_ERR_KILLED                      "Printer halted. kill() called!"
-#define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-#define MSG_RESEND                          "Resend: "
-#define MSG_M119_REPORT                     "Reporting endstop status"
-#define MSG_ENDSTOP_HIT                     "TRIGGERED"
-#define MSG_ENDSTOP_OPEN                    "open"
-
-#define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir"
-#define MSG_SD_INIT_FAIL                    "SD init fail"
-#define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
-#define MSG_SD_OPENROOT_FAIL                "openRoot failed"
-#define MSG_SD_CARD_OK                      "SD card ok"
-#define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
-#define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
-#define MSG_SD_FILE_OPENED                  "File opened: "
-#define MSG_SD_FILE_SELECTED                "File selected"
-#define MSG_SD_WRITE_TO_FILE                "Writing to file: "
-#define MSG_SD_PRINTING_BYTE                "SD printing byte "
-#define MSG_SD_NOT_PRINTING                 "Not SD printing"
-#define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
-#define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
-
-#define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
-#define MSG_ENDSTOPS_HIT                    "endstops hit: "
-#define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
-#define MSG_BABYSTEPPING_X                  "Babystepping X"
-#define MSG_BABYSTEPPING_Y                  "Babystepping Y"
-#define(length=20) MSG_BABYSTEPPING_Z       "Adjusting Z"
-#define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Error in menu structure"
-
-#define MSG_LANGUAGE_NAME					"English"
-#define MSG_LANGUAGE_SELECT					"Select language"
-#define MSG_PRUSA3D							"prusa3d.com"
-#define MSG_PRUSA3D_FORUM					"forum.prusa3d.com"
-#define MSG_PRUSA3D_HOWTO					"howto.prusa3d.com"
-
-#define MSG_SELFTEST_ERROR					"Selftest error !"
-#define MSG_SELFTEST_PLEASECHECK			"Please check :"	
-#define MSG_SELFTEST_NOTCONNECTED			"Not connected"
-#define MSG_SELFTEST_HEATERTHERMISTOR		"Heater/Thermistor"
-#define MSG_SELFTEST_BEDHEATER				"Bed / Heater"
-#define MSG_SELFTEST_WIRINGERROR			"Wiring error"
-#define MSG_SELFTEST_ENDSTOPS				"Endstops"
-#define MSG_SELFTEST_MOTOR					"Motor"
-#define MSG_SELFTEST_ENDSTOP				"Endstop"
-#define MSG_SELFTEST_FANS					"Front/left fans"
-#define MSG_SELFTEST_SWAPPED				"Swapped"
-#define(length=18) MSG_SELFTEST_EXTRUDER_FAN_SPEED	"Extruder fan:"
-#define(length=18) MSG_SELFTEST_PRINT_FAN_SPEED		"Print fan:"
-#define(length=18) MSG_SELFTEST_FILAMENT_SENSOR		"Filament sensor:"
-
-#define(length=20,lines=1) MSG_SELFTEST_ENDSTOP_NOTHIT			"Endstop not hit"
-#define MSG_SELFTEST_OK						"Self test OK"
-#define(length=20,lines=1) MSG_LOOSE_PULLEY					"Loose pulley"
-
-#define(length=20) MSG_SELFTEST_FAN					"Fan test"
-#define(length=20) MSG_SELFTEST_COOLING_FAN			"Front print fan?"
-#define(length=20) MSG_SELFTEST_EXTRUDER_FAN		"Left hotend fan?"
-#define(length=19) MSG_SELFTEST_FAN_YES				"Spinning"
-#define(length=19) MSG_SELFTEST_FAN_NO				"Not spinning"
-
-#define(length=20) MSG_STATS_TOTALFILAMENT	"Total filament :"
-#define(length=20) MSG_STATS_TOTALPRINTTIME "Total print time :"
-#define(length=20) MSG_STATS_FILAMENTUSED	"Filament used:  "
-#define(length=20) MSG_STATS_PRINTTIME		"Print time:  "
-#define(length=20) MSG_SELFTEST_START				"Self test start  "
-#define(length=20) MSG_SELFTEST_CHECK_ENDSTOPS		"Checking endstops"
-#define(length=20) MSG_SELFTEST_CHECK_HOTEND		"Checking hotend  "  
-#define(length=20) MSG_SELFTEST_CHECK_X				"Checking X axis  "
-#define(length=20) MSG_SELFTEST_CHECK_Y				"Checking Y axis  "
-#define(length=20) MSG_SELFTEST_CHECK_Z				"Checking Z axis  "
-#define(length=20) MSG_SELFTEST_CHECK_BED			"Checking bed     "
-#define(length=20) MSG_SELFTEST_CHECK_FSENSOR		"Checking sensors "
-#define(length=20) MSG_FILAMENT_SENSOR				"Filament sensor"
-#define(length=20) MSG_SELFTEST_CHECK_ALLCORRECT	"All correct      "
-#define MSG_SELFTEST						"Selftest         "
-#define(length=20) MSG_SELFTEST_FAILED		"Selftest failed  "
-#define MSG_STATISTICS						"Statistics  "
-#define MSG_USB_PRINTING					"USB printing  "
-#define MSG_HOMEYZ                          "Calibrate Z"
-#define MSG_HOMEYZ_PROGRESS                 "Calibrating Z"
-#define MSG_HOMEYZ_DONE		                "Calibration done"
-
-#define(length=17,lines=1) MSG_SHOW_END_STOPS					"Show end stops"
-#define MSG_CALIBRATE_BED					"Calibrate XYZ"
-#define MSG_CALIBRATE_BED_RESET				"Reset XYZ calibr."
-#define MSG_MEASURED_OFFSET                 "[0;0] point offset"
-
-#define(length=20,lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP 	"Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
-#define(length=20,lines=8) MSG_MOVE_CARRIAGE_TO_THE_TOP_Z 	"Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
-
-#define(length=20,lines=8) MSG_CONFIRM_NOZZLE_CLEAN			"Please clean the nozzle for calibration. Click when done."
-#define(length=20,lines=2) MSG_CONFIRM_CARRIAGE_AT_THE_TOP	"Are left and right Z~carriages all up?"
-
-#define(length=60) MSG_FIND_BED_OFFSET_AND_SKEW_LINE1		"Searching bed calibration point"
-#define(length=14) MSG_FIND_BED_OFFSET_AND_SKEW_LINE2		" of 4"
-#define(length=60) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1	"Improving bed calibration point"
-#define(length=14) MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2	" of 4"
-#define(length=60) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1	"Measuring reference height of calibration point"
-#define(length=14) MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2	" of 9"
-#define(length=20) MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION	"Iteration "
-
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND			"XYZ calibration failed. Bed calibration point was not found."
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED				"XYZ calibration failed. Please consult the manual."
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_PERFECT					"XYZ calibration ok. X/Y axes are perpendicular. Congratulations!"
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD					"XYZ calibration all right. X/Y axes are slightly skewed. Good job!"
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME				"XYZ calibration all right. Skew will be corrected automatically."
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR		"XYZ calibration failed. Left front calibration point not reachable."
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR		"XYZ calibration failed. Right front calibration point not reachable."
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR		"XYZ calibration failed. Front calibration points not reachable."
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR		"XYZ calibration compromised. Left front calibration point not reachable."
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR	"XYZ calibration compromised. Right front calibration point not reachable."
-#define(length=20,lines=8) MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR		"XYZ calibration compromised. Front calibration points not reachable."
-
-#define(length=20,lines=4) MSG_BED_LEVELING_FAILED_POINT_LOW						"Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
-#define(length=20,lines=4) MSG_BED_LEVELING_FAILED_POINT_HIGH						"Bed leveling failed. Sensor triggered too high. Waiting for reset."
-#define(length=20,lines=4) MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED				"Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset."
-
-#define(length=20,lines=2) MSG_NEW_FIRMWARE_AVAILABLE								"New firmware version available:"
-#define(length=20) MSG_NEW_FIRMWARE_PLEASE_UPGRADE									"Please upgrade."
-
-#define(length=20,lines=8) MSG_FOLLOW_CALIBRATION_FLOW								"Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
-#define(length=20,lines=12) MSG_BABYSTEP_Z_NOT_SET									"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."
-
-#define(length=20, lines=4) MSG_FILAMENT_LOADING_T0							"Insert filament into extruder 1. Click when done."
-#define(length=20, lines=4) MSG_FILAMENT_LOADING_T1							"Insert filament into extruder 2. Click when done."
-#define(length=20, lines=4) MSG_FILAMENT_LOADING_T2							"Insert filament into extruder 3. Click when done."
-#define(length=20, lines=4) MSG_FILAMENT_LOADING_T3							"Insert filament into extruder 4. Click when done."
-#define(length=20, lines=1) MSG_CHANGE_EXTR									"Change extruder"
-
-#define(length=20, lines=4) MSG_FIL_ADJUSTING								"Adjusting filaments. Please wait."
-#define(length=20,lines=8) MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ			"Filaments are now adjusted. Please clean the nozzle for calibration. Click when done."
-#define(length=20, lines=4) MSG_STACK_ERROR						"Error - static memory has been overwritten"
-#define(length=20, lines=4) MSG_STEPPER_TIMER_OVERFLOW_ERROR	"Error - stepper timer overflow"
-#define(length=20, lines=1) MSG_CALIBRATE_E						"Calibrate E"
-//#define(length=20, lines=1) MSG_RESET_CALIBRATE_E				"Reset E Cal."
-#define(length=20, lines=8) MSG_E_CAL_KNOB						"Rotate knob until mark reaches extruder body. Click when done."
-
-//#define(length=20, lines=1) MSG_FARM_CARD_MENU					"Farm mode print"
-#define(length=20, lines=8) MSG_MARK_FIL						"Mark filament 100mm from extruder body. Click when done."
-#define(length=20, lines=8) MSG_CLEAN_NOZZLE_E				"E calibration finished. Please clean the nozzle. Click when done."
-#define(length=20, lines=3) MSG_WAITING_TEMP				"Waiting for nozzle and bed cooling"
-#define(length=20, lines=2) MSG_FILAMENT_CLEAN				"Filament extruding & with correct color?"
-#define(lenght=20, lines=1) MSG_UNLOADING_FILAMENT			"Unloading filament"
-#define(length=20, lines=8) MSG_PAPER						"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."
-
-#define MSG_BED_CORRECTION_MENU									"Bed level correct"
-#define(length=14,lines=1) MSG_BED_CORRECTION_LEFT								"Left side [um]"
-#define(length=14,lines=1) MSG_BED_CORRECTION_RIGHT								"Right side[um]"
-#define(length=14,lines=1) MSG_BED_CORRECTION_FRONT								"Front side[um]"
-#define(length=14,lines=1) MSG_BED_CORRECTION_REAR								"Rear side [um]"
-#define MSG_BED_CORRECTION_RESET								"Reset"
-
-#define MSG_MESH_BED_LEVELING									"Mesh Bed Leveling"
-#define MSG_MENU_CALIBRATION									"Calibration"
-#define(length=19, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF					"SD card  [normal]"
-#define(length=19, lines=1) MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON					"SD card [FlshAir]"
-#define(length=20, lines=1) MSG_PRINTER_DISCONNECTED			"Printer disconnected"
-#define(length=20, lines=1) MSG_FINISHING_MOVEMENTS				"Finishing movements"
-#define(length=20, lines=1) MSG_PRINT_PAUSED					"Print paused"
-#define(length=20, lines=1) MSG_RESUMING_PRINT					"Resuming print"
-#define(length=17, lines=1) MSG_PID_EXTRUDER					"PID calibration"
-#define(length=19, lines=1) MSG_SET_TEMPERATURE					"Set temperature:"
-#define(length=20, lines=1) MSG_PID_FINISHED					"PID cal. finished"
-#define(length=20, lines=1) MSG_PID_RUNNING						"PID cal.           "
-
-#define(length=17, lines=1) MSG_CALIBRATE_PINDA					"Calibrate"
-#define(length=17, lines=1) MSG_CALIBRATION_PINDA_MENU			"Temp. calibration"
-#define(length=20, lines=4) MSG_PINDA_NOT_CALIBRATED			"Temperature calibration has not been run yet"
-#define(length=20, lines=1) MSG_PINDA_PREHEAT					"PINDA Heating"
-#define(length=20, lines=1) MSG_TEMP_CALIBRATION				"Temp. cal.          "
-#define(length=20, lines=12) MSG_TEMP_CALIBRATION_DONE			"Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
-#define(length=20, lines=1) MSG_TEMP_CALIBRATION_ON				"Temp. cal.   [on]"
-#define(length=20, lines=1) MSG_TEMP_CALIBRATION_OFF			"Temp. cal.  [off]"
-#define(length=20, lines=1) MSG_PREPARE_FILAMENT				"Prepare new filament"
-#define(length=19, lines=1) MSG_ALL								"All"
-#define(length=19, lines=1) MSG_USED							"Used during print"
-#define(length=19, lines=1) MSG_CURRENT							"Current"
-#define(length=20, lines=1)	MSG_CHOOSE_EXTRUDER					"Choose extruder:"
-#define(length=17, lines=1) MSG_EXTRUDER						"Extruder"
-#define(length=17, lines=1) MSG_EXTRUDER_1						"Extruder 1"
-#define(length=17, lines=1) MSG_EXTRUDER_2						"Extruder 2"
-#define(length=17, lines=1) MSG_EXTRUDER_3						"Extruder 3"
-#define(length=17, lines=1) MSG_EXTRUDER_4						"Extruder 4"
-
-//Wizard messages which has tranlsations
-
-#define(length=17, lines=1) MSG_WIZARD							"Wizard"
-#define(length=20, lines=7)	MSG_WIZARD_WELCOME					"Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
-#define(length=20, lines=8) MSG_WIZARD_QUIT						"You can always resume the Wizard from Calibration -> Wizard."
-#define(length=20, lines=8) MSG_WIZARD_SELFTEST					"First, I will run the selftest to check most common assembly problems."
-#define(length=20, lines=8) MSG_WIZARD_CALIBRATION_FAILED		"Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
-#define(length=20, lines=8) MSG_WIZARD_XYZ_CAL					"I will run xyz calibration now. It will take approx. 12 mins."
-#define(length=20, lines=2) MSG_WIZARD_FILAMENT_LOADED			"Is filament loaded?"
-#define(length=20, lines=8) MSG_WIZARD_Z_CAL					"I will run z calibration now."
-#define(length=20, lines=4) MSG_WIZARD_WILL_PREHEAT				"Now I will preheat nozzle for PLA."
-#define(length=20, lines=3) MSG_WIZARD_HEATING					"Preheating nozzle. Please wait."
-#define(lenght=20, lines=8) MSG_WIZARD_V2_CAL					"Now I will calibrate distance between tip of the nozzle and heatbed surface."
-#define(lenght=20, lines=12) MSG_WIZARD_V2_CAL_2				"I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration."
-#define(lenght=17, lines=1) MSG_V2_CALIBRATION					"First layer cal."
-#define(lenght=20, lines=8) MSG_WIZARD_DONE						"All is done. Happy printing!"
-#define(lenght=20, lines=8) MSG_WIZARD_LOAD_FILAMENT			"Please insert PLA filament to the extruder, then press knob to load it."
-#define(lenght=20, lines=7) MSG_WIZARD_RERUN					"Running Wizard will delete current calibration results and start from the beginning. Continue?"
-#define(lenght=20, lines=7) MSG_WIZARD_REPEAT_V2_CAL			"Do you want to repeat last step to readjust distance between nozzle and heatbed?"
-#define(lenght=20, lines=8) MSG_WIZARD_CLEAN_HEATBED			"Please clean heatbed and then press the knob."
-#define(lenght=20, lines=2) MSG_WIZARD_PLA_FILAMENT				"Is it PLA filament?"
-#define(lenght=20, lines=8) MSG_WIZARD_INSERT_CORRECT_FILAMENT	"Please load PLA filament and then resume Wizard by rebooting the printer."
-#define(lenght=20, lines=2) MSG_PLA_FILAMENT_LOADED				"Is PLA filament loaded?"
-#define(lenght=20, lines=4) MSG_PLEASE_LOAD_PLA					"Please load PLA filament first."
-#define(length=25, lines=1) MSG_M117_V2_CALIBRATION				"M117 First layer cal."
-
-#define(length=17, lines=1) MSG_DATE							"Date:"
-#define(length=19, lines=1) MSG_XYZ_DETAILS						"XYZ cal. details"
-#define(length=20, lines=1)	MSG_Y_DISTANCE_FROM_MIN				"Y distance from min:"
-#define(length=12, lines=1)	MSG_LEFT							"Left:"
-#define(length=12, lines=1) MSG_RIGHT							"Right:"
-#define(length=15, lines=1) MSG_MEASURED_SKEW					"Measured skew:"
-#define(length=15, lines=1) MSG_SLIGHT_SKEW						"Slight skew:"
-#define(length=15, lines=1) MSG_SEVERE_SKEW						"Severe skew:"
-
-//messages bellow has no translation yet
-
-#define MSG_CRASHDETECT_OFF										"Crash det.  [off]"
-#define MSG_CRASHDETECT_NA										"Crash det.  [N/A]"
-#define MSG_CRASHDETECT_ON										"Crash det.   [on]"
-#define MSG_FSENSOR_OFF											"Fil. sensor [off]"
-#define MSG_FSENSOR_NA											"Fil. sensor [N/A]"
-#define MSG_FSENSOR_ON											"Fil. sensor  [on]"
-#define(length=9)MSG_EXTRUDER_CORRECTION                        "E-correct"
-#define(length=6)MSG_EXTRUDER_CORRECTION_OFF                    "  [off"
-
-#define(length=20, lines=4) MSG_PLACE_STEEL_SHEET				"Please place steel sheet on heatbed."
-#define(length=20, lines=4) MSG_REMOVE_STEEL_SHEET				"Please remove steel sheet from heatbed."
-#define(length=20, lines=2) MSG_CALIBRATE_Z_AUTO				"Calibrating Z"
-#define(length=20, lines=2) MSG_STEEL_SHEET_CHECK				"Is steel sheet on heatbed?"
-#define(length=20, lines=4) MSG_TEMP_CAL_WARNING				"Stable ambient temperature 21-26C is needed a rigid stand is required."
-
-#define MSG_SELFTEST_AXIS					"Axis"
-#define MSG_SELFTEST_AXIS_LENGTH			"Axis length"
-
-#define(length=20, lines=2) MSG_RECOVER_PRINT					"Blackout occurred. Recover print?"
-#define(length=20, lines=1) MSG_RECOVERING_PRINT				"Recovering print    "
-#define(length=20, lines=1) MSG_CRASH_DETECTED				"Crash detected."
-#define(length=20, lines=2) MSG_CRASH_DETECTED2				"Crash detected. Continue printing?"
-
-#define(length=15, lines=1) MSG_INFO_EXTRUDER				"Extruder info"
-#define(length=15, lines=1) MSG_MENU_VOLTAGES               "Voltages"
-#define(length=15, lines=1) MSG_MENU_TEMPERATURES           "Temperatures"
-#define(length=15, lines=1) MSG_MENU_BELT_STATUS            "Belt status"
-
-#define(length=11, lines=1) MSG_INFO_NOZZLE_FAN				"Nozzle FAN:"
-#define(length=11, lines=1) MSG_INFO_PRINT_FAN				"Print FAN: "
-#define(length=11, lines=1) MSG_INFO_FILAMENT_XDIFF				"Fil. Xd:"
-#define(length=11, lines=1) MSG_INFO_FILAMENT_YDIFF				"Fil. Ydiff:"
-#define(length=17, lines=1) MSG_FANS_CHECK_ON					"Fans check   [on]"
-#define(length=17, lines=1) MSG_FANS_CHECK_OFF					"Fans check  [off]"
-#define(length=17, lines=1) MSG_FSENS_AUTOLOAD_ON				"F. autoload  [on]"
-#define(length=17, lines=1) MSG_FSENS_AUTOLOAD_OFF				"F. autoload [off]"
-#define(length=17, lines=1) MSG_FSENS_AUTOLOAD_NA                "F. autoload [N/A]"
-#define(length=20, lines=4) MSG_PRESS_TO_UNLOAD					"Please press the knob to unload filament"
-#define(length=20, lines=4) MSG_PRESS_TO_PREHEAT				"Press knob to preheat nozzle and continue."
-#define(length=20, lines=2) MSG_UNLOAD_SUCCESSFUL				"Was filament unload successful?"
-#define(length=20, lines=4) MSG_CHECK_IDLER						"Please open idler and remove filament manually."
-#define(length=20, lines=4) MSG_PULL_OUT_FILAMENT				"Please pull out filament immediately"
-#define(length=20, lines=2) MSG_FILE_INCOMPLETE					"File incomplete. Continue anyway?"
-
-#define(length=20, lines=4) MSG_DEFAULT_SETTINGS_LOADED			"Old settings found. Default PID, Esteps etc. will be set."
-#define(length=17, lines=1) MSG_SORT_TIME						"Sort:      [Time]"
-#define(length=17, lines=1) MSG_SORT_ALPHA						"Sort:  [Alphabet]"
-#define(length=17, lines=1) MSG_SORT_NONE						"Sort:      [None]"
-#define(length=20, lines=1) MSG_SORTING							"Sorting files"
-#define(length=20, lines=4) MSG_FILE_CNT						"Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
-#define(length=17, lines=1) MSG_SECOND_SERIAL_ON				"RPi port     [on]"
-#define(length=17, lines=1) MSG_SECOND_SERIAL_OFF				"RPi port    [off]"
-
-#define(length=20, lines=4) MSG_CRASH_DET_ONLY_IN_NORMAL        "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
-#define(length=20, lines=4) MSG_CRASH_DET_STEALTH_FORCE_OFF     "\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"
-
-#define(length=20, lines=4) MSG_AUTOLOADING_ENABLED              "Autoloading filament is active, just press the knob and insert filament..."
-#define(length=20, lines=4) MSG_AUTOLOADING_ONLY_IF_FSENS_ON     "Autoloading filament available only when filament sensor is turned on..."
-
-#define(length=20, lines=4) MSG_FSENS_NOT_RESPONDING     "ERROR: Filament sensor is not responding, please check connection."
-#define(length=20, lines=8) MSG_FW_VERSION_UNKNOWN		 "WARNING: This is an unofficial, unsupported build. Use at your own risk!"
-#define(length=20, lines=8) MSG_FW_VERSION_ALPHA		 "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage." 
-#define(length=20, lines=8) MSG_FW_VERSION_BETA			 "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage."
-#define(length=20, lines=8) MSG_FW_VERSION_RC			 "This firmware version is release candidate. Some of the features may not work properly."
-#define(length=20, lines=8) MSG_FORCE_SELFTEST			 "Selftest will be run to calibrate accurate sensorless rehoming."
-#define(length=20, lines=4) MSG_CHANGED_MOTHERBOARD		 "Warning: motherboard type changed."
-#define(length=20, lines=4) MSG_CHANGED_PRINTER			 "Warning: printer type changed."
-#define(length=20, lines=4) MSG_CHANGED_BOTH			 "Warning: both printer type and motherboard type changed."
-#define(length=20, lines=3) MSG_WAITING_TEMP_PINDA		 "Waiting for PINDA probe cooling"
-#define(length=20, lines=8) MSG_TEMP_CAL_FAILED			 "Temperature calibration failed"

+ 0 - 321
lang_backup/language_es.h

@@ -1,321 +0,0 @@
-/**
- * Spanish
- *
- * LCD Menu Messages
- * Please note these are limited to 17 characters!
- *
- */
-
-#define WELCOME_MSG                         CUSTOM_MENDEL_NAME " prep."
-#define MSG_SD_INSERTED                     "Tarjeta insertada"
-#define MSG_SD_REMOVED                      "Tarjeta retirada"
-#define MSG_MAIN                            "Menu principal"
-#define MSG_DISABLE_STEPPERS                "Apagar motores"
-#define MSG_AUTO_HOME                       "Llevar al origen"
-#define MSG_COOLDOWN                        "Enfriar"
-#define MSG_MOVE_AXIS                       "Mover ejes"
-#define MSG_MOVE_X                          "Mover X"
-#define MSG_MOVE_Y                          "Mover Y"
-#define MSG_MOVE_Z                          "Mover Z"
-#define MSG_MOVE_E                          "Extruir"
-#define MSG_SPEED                           "Velocidad"
-#define MSG_NOZZLE                          "Nozzle"
-#define MSG_BED                             "Heatbed"
-#define MSG_FAN_SPEED                       "Velocidad Vent."
-#define MSG_FLOW                            "Flujo"
-#define MSG_TEMPERATURE                     "Temperatura"
-#define MSG_WATCH                           "Monitorizar"
-#define MSG_TUNE                            "Ajustar"
-#define MSG_PAUSE_PRINT                     "Pausar impresion"
-#define MSG_RESUME_PRINT                    "Reanudar impres."
-#define MSG_STOP_PRINT                      "Detener impresion"
-#define MSG_CARD_MENU                       "Menu tarjeta SD"
-#define MSG_NO_CARD                         "No hay tarjeta SD"
-#define MSG_DWELL                           "En espera"
-#define MSG_USERWAIT                        "Esperando ordenes"
-#define MSG_RESUMING                        "Resumiendo impresion"
-#define MSG_PRINT_ABORTED                   "Impresion cancelada" 
-#define MSG_NO_MOVE                         "Sin movimiento"
-#define MSG_KILLED                          "PARADA DE EMERGENCIA"
-#define MSG_STOPPED                         "PARADA"
-#define MSG_FILAMENTCHANGE                  "Cambiar filamento"
-#define MSG_BABYSTEP_Z                      "Micropaso Eje Z"
-#define MSG_ADJUSTZ			    "Ajustar Eje Z"			
-#define MSG_PICK_Z			    "Esc. Modelo Adecuado"
-
-#define MSG_SETTINGS                        "Configuracion"
-#define MSG_PREHEAT                         "Precalentar"
-#define MSG_UNLOAD_FILAMENT                 "Soltar filamento"
-#define MSG_LOAD_FILAMENT		    "Introducir filam."
-#define MSG_ERROR							"ERROR:"
-#define MSG_PREHEAT_NOZZLE                  "Precalentar extrusor"
-#define MSG_SUPPORT			    "Soporte"
-#define MSG_CORRECTLY			    "Cambiado correct.?"
-#define MSG_YES								"Si"
-#define MSG_NO								"No"
-#define MSG_NOT_LOADED 			    "Fil. no introducido"
-#define MSG_NOT_COLOR 			    "Color no homogeneo"
-#define MSG_LOADING_FILAMENT		    "Introduciendo filam."
-#define MSG_PLEASE_WAIT			    "Por Favor Esperar"
-#define MSG_LOADING_COLOR                   "Cambiando color" 
-#define MSG_CHANGE_SUCCESS		    "Cambio correcto"
-#define MSG_PRESS			    "Haz clic"
-#define MSG_INSERT_FILAMENT		    "Introducir filamento"
-#define MSG_CHANGING_FILAMENT		    "Cambiando filamento"
-#define MSG_SILENT_MODE_ON					"Modo   [silencio]"
-#define MSG_SILENT_MODE_OFF		    "Modo [rend.pleno]" 
-#define MSG_REBOOT			    "Reiniciar impresora"
-#define MSG_TAKE_EFFECT			    " para aplicar cambios" 
-#define MSG_HEATING                         "Calentando..."
-#define MSG_HEATING_COMPLETE                "Calentamiento final."
-#define MSG_BED_HEATING                     "Calentando Base"
-#define MSG_BED_DONE                        "Base preparada"
-#define MSG_LANGUAGE_NAME					"Espanol"
-#define MSG_LANGUAGE_SELECT		    "Cambiae el idioma"
-#define MSG_PRUSA3D							"prusa3d.com"
-#define MSG_PRUSA3D_FORUM					"forum.prusa3d.com"
-#define MSG_PRUSA3D_HOWTO					"howto.prusa3d.com"
-
-
-// Do not translate those!
-
-#define MSG_Enqueing                        "enqueing \""
-#define MSG_POWERUP                         "PowerUp"
-#define MSG_CONFIGURATION_VER               " Last Updated: "
-#define MSG_FREE_MEMORY                     " Free Memory: "
-#define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
-#define MSG_OK                              "ok"
-#define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
-#define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
-#define MSG_BEGIN_FILE_LIST                 "Begin file list"
-#define MSG_END_FILE_LIST                   "End file list"
-#define MSG_M104_INVALID_EXTRUDER           "M104 Invalid extruder "
-#define MSG_M105_INVALID_EXTRUDER           "M105 Invalid extruder "
-#define MSG_M200_INVALID_EXTRUDER           "M200 Invalid extruder "
-#define MSG_M218_INVALID_EXTRUDER           "M218 Invalid extruder "
-#define MSG_M221_INVALID_EXTRUDER           "M221 Invalid extruder "
-#define MSG_ERR_NO_THERMISTORS              "No thermistors - no temperature"
-#define MSG_M109_INVALID_EXTRUDER           "M109 Invalid extruder "
-#define MSG_ERR_KILLED                      "Printer halted. kill() called!"
-#define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-#define MSG_RESEND                          "Resend: "
-#define MSG_M119_REPORT                     "Reporting endstop status"
-#define MSG_ENDSTOP_HIT                     "TRIGGERED"
-#define MSG_ENDSTOP_OPEN                    "open"
-#define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir"
-#define MSG_SD_INIT_FAIL                    "SD init fail"
-#define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
-#define MSG_SD_OPENROOT_FAIL                "openRoot failed"
-#define MSG_SD_CARD_OK                      "SD card ok"
-#define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
-#define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
-#define MSG_SD_FILE_OPENED                  "File opened: "
-#define MSG_SD_FILE_SELECTED                "File selected"
-#define MSG_SD_WRITE_TO_FILE                "Writing to file: "
-#define MSG_SD_PRINTING_BYTE                "SD printing byte "
-#define MSG_SD_NOT_PRINTING                 "Not SD printing"
-#define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
-#define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
-#define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
-#define MSG_ENDSTOPS_HIT                    "endstops hit: "
-#define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
-#define MSG_BABYSTEPPING_X                  "Babystepping X"
-#define MSG_BABYSTEPPING_Y                  "Babystepping Y"
-#define MSG_BABYSTEPPING_Z                  "Ajustar Z"
-#define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Error in menu structure"
-#define MSG_SET_HOME_OFFSETS                "Set home offsets"
-#define MSG_SET_ORIGIN                      "Set origin"
-#define MSG_SWITCH_PS_ON                    "Switch power on"
-#define MSG_SWITCH_PS_OFF                   "Switch power off"
-#define MSG_NOZZLE1                         "Nozzle2"
-#define MSG_NOZZLE2                         "Nozzle3"
-#define MSG_FLOW0                           "Flow 0"
-#define MSG_FLOW1                           "Flow 1"
-#define MSG_FLOW2                           "Flow 2"
-#define MSG_CONTROL                         "Control"
-#define MSG_MIN                             " \002 Min"
-#define MSG_MAX                             " \002 Max"
-#define MSG_FACTOR                          " \002 Fact"
-#define MSG_MOTION                          "Motion"
-#define MSG_VOLUMETRIC                      "Filament"
-#define MSG_VOLUMETRIC_ENABLED		        "E in mm3"
-#define MSG_STORE_EPROM                     "Store memory"
-#define MSG_LOAD_EPROM                      "Load memory"
-#define MSG_RESTORE_FAILSAFE                "Restore failsafe"
-#define MSG_REFRESH                         "\xF8" "Refresh"
-#define MSG_INIT_SDCARD                     "Init. SD card"
-#define MSG_CNG_SDCARD                      "Change SD card"
-#define MSG_BABYSTEP_X                      "Babystep X"
-#define MSG_BABYSTEP_Y                      "Babystep Y"
-#define MSG_RECTRACT                        "Rectract"
-
-#define MSG_HOMEYZ                          "Calibrar Z"
-#define MSG_HOMEYZ_PROGRESS                 "Calibrando Z"
-#define MSG_HOMEYZ_DONE                     "Calibracion OK"
-
-#define MSG_SELFTEST_ERROR                  "Autotest error!"
-#define MSG_SELFTEST_PLEASECHECK            "Controla :"   
-#define MSG_SELFTEST_NOTCONNECTED           "No hay conexion  "
-#define MSG_SELFTEST_HEATERTHERMISTOR       "Hotend"
-#define MSG_SELFTEST_BEDHEATER              "Heatbed"
-#define MSG_SELFTEST_WIRINGERROR            "Error de conexion"
-#define MSG_SELFTEST_ENDSTOPS               "Topes finales"
-#define MSG_SELFTEST_MOTOR                  "Motor"
-#define MSG_SELFTEST_ENDSTOP                "Tope final"
-#define MSG_SELFTEST_ENDSTOP_NOTHIT         "Tope no alcanzado"
-#define MSG_SELFTEST_OK                     "Self test OK"
-
-#define MSG_SELFTEST_FAN					"Test ventiladores"
-#define MSG_SELFTEST_COOLING_FAN			"Vent. frontal?"
-#define MSG_SELFTEST_EXTRUDER_FAN			"Vent. izquierdo?"
-#define MSG_SELFTEST_FAN_YES				"Ventilador gira"
-#define MSG_SELFTEST_FAN_NO					"Ventilador no gira"
-
-#define MSG_STATS_TOTALFILAMENT             "Filamento total:"
-#define MSG_STATS_TOTALPRINTTIME            "Tiempo total :"
-#define MSG_STATS_FILAMENTUSED              "Filamento usado:  "
-#define MSG_STATS_PRINTTIME                 "Tiempo de imp.:"
-
-#define MSG_SELFTEST_START                  "Inicio Selftest"
-#define MSG_SELFTEST_CHECK_ENDSTOPS         "Control topes"
-#define MSG_SELFTEST_CHECK_HOTEND           "Control hotend " 
-#define MSG_SELFTEST_CHECK_X                "Control tope X"
-#define MSG_SELFTEST_CHECK_Y                "Control tope Y"
-#define MSG_SELFTEST_CHECK_Z                "Control tope Z"
-#define MSG_SELFTEST_CHECK_BED              "Control heatbed"
-#define MSG_SELFTEST_CHECK_ALLCORRECT       "Todo bien"
-#define MSG_SELFTEST                        "Selftest"
-#define MSG_SELFTEST_FAILED                 "Fallo Selftest"
-
-#define MSG_STATISTICS                      "Estadisticas  "
-#define MSG_USB_PRINTING                    "Impresion con USB "
-
-#define MSG_SHOW_END_STOPS                  "Ensena tope final"
-#define MSG_CALIBRATE_BED                   "Calibra XYZ"
-#define MSG_CALIBRATE_BED_RESET             "Reset XYZ calibr."
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP        "Calibrando XYZ. Gira el boton para subir el extrusor hasta tocar los topes superiores. Despues haz clic."
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z       "Calibrando Z. Gira el boton para subir el extrusor hasta tocar los topes superiores. Despues haz clic."
-
-#define MSG_CONFIRM_NOZZLE_CLEAN            "Limpia nozzle para calibracion. Click cuando acabes."
-#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP     "Carros Z izq./der. estan arriba maximo?"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1  "Buscando punto de calibracion heatbed"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2  " de 4"
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1   "Mejorando punto de calibracion heatbed"
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2   " de 4"
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1	"Midiendo altura del punto de calibracion"
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2	" de 9"
-
-#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION	"Reiteracion "
-#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND           "Calibracion XYZ fallada. Puntos de calibracion en heatbed no encontrados."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED            "Calibracion XYZ fallada. Consulta el manual por favor."
-#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT               "Calibracion XYZ ok. Ejes X/Y perpendiculares. Enhorabuena!"
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD             "Calibracion XYZ correcta. Los ejes X / Y estan ligeramente inclinados. Buen trabajo!"
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME          "Calibracion XYZ correcta. La inclinacion se corregira automaticamente."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR     "Calibracion XYZ fallada. Punto frontal izquierdo no alcanzable."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR        "Calibracion XYZ fallad. Punto frontal derecho no alcanzable."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR     "Calibracion XYZ fallada. Puntos frontales no alcanzables."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR        "Calibrazion XYZ comprometida. Punto frontal izquierdo no alcanzable."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR       "Calibrazion XYZ comprometida. Punto frontal derecho no alcanzable."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR        "Calibrazion XYZ comprometida. Puntos frontales no alcanzables."
-#define MSG_BED_LEVELING_FAILED_POINT_LOW           				"Nivelacion fallada. Sensor no funciona. Escombros en nozzle? Esperando reset."
-#define MSG_BED_LEVELING_FAILED_POINT_HIGH          				"Nivelacion fallada. Sensor funciona demasiado temprano. Esperando reset."
-#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED      			"Nivelacion fallada. Sensor desconectado o cables danados. Esperando reset."
-#define MSG_NEW_FIRMWARE_AVAILABLE                  				"Nuevo firmware disponible:"
-#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE                 			"Actualizar por favor"
-#define MSG_FOLLOW_CALIBRATION_FLOW                    			"Impresora no esta calibrada todavia. Por favor usa el manual, capitulo First steps, Calibration flow."
-#define MSG_BABYSTEP_Z_NOT_SET                      			"Distancia entre la punta del nozzle y la superficie de la heatbed aun no fijada. Por favor siga el manual, capitulo First steps, First layer calibration."
-#define MSG_BED_CORRECTION_MENU                                 "Corr. de la cama"
-#define MSG_BED_CORRECTION_LEFT                                 "Izquierda [um]"
-#define MSG_BED_CORRECTION_RIGHT                                "Derecha   [um]"
-#define MSG_BED_CORRECTION_FRONT                                "Frontal   [um]"
-#define MSG_BED_CORRECTION_REAR                                 "Trasera   [um]"
-#define MSG_BED_CORRECTION_RESET                                "Reset"
-
-#define MSG_MESH_BED_LEVELING									"Mesh Bed Leveling"
-#define MSG_MENU_CALIBRATION									"Calibracion"
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF					"SD card [normal]"
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON					"SD card [FlshAir]"
-
-#define MSG_LOOSE_PULLEY								"Polea suelta"
-#define MSG_FILAMENT_LOADING_T0							"Insertar filamento en el extrusor 1. Haz clic una vez terminado."
-#define MSG_FILAMENT_LOADING_T1							"Insertar filamento en el extrusor 2. Haz clic una vez terminado."
-#define MSG_FILAMENT_LOADING_T2							"Insertar filamento en el extrusor 3. Haz clic una vez terminado."
-#define MSG_FILAMENT_LOADING_T3							"Insertar filamento en el extrusor 4. Haz clic una vez terminado."
-#define MSG_CHANGE_EXTR									"Cambiar extrusor."
-
-#define MSG_FIL_ADJUSTING								"Ajustando filamentos. Espera por favor."
-#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ				"Filamentos ajustados. Limpia nozzle para calibracion. Haz clic una vez terminado."
-#define MSG_CALIBRATE_E									"Calibrar E"
-#define MSG_E_CAL_KNOB									"Rotar el mando hasta que la marca llegue al cuerpo del extrusor. Haz clic una vez terminado."
-#define MSG_MARK_FIL									"Marque el filamento 100 mm por encima del final del extrusor. Haz clic una vez terminado."
-#define MSG_CLEAN_NOZZLE_E								"E calibrado. Limpia nozzle. Haz clic una vez terminado."
-#define MSG_WAITING_TEMP								"Esperando enfriamiento de heatbed y extrusor."
-#define MSG_FILAMENT_CLEAN								"Es el nuevo color nitido?"
-#define MSG_UNLOADING_FILAMENT							"Soltando filamento"
-#define MSG_PAPER										"Colocar una hoja de papel sobre la superficie de impresion durante la calibracion de los primeros 4 puntos. Si la boquilla mueve el papel, apagar impresora inmediatamente."
-
-#define MSG_FINISHING_MOVEMENTS							"Term. movimientos"
-#define MSG_PRINT_PAUSED								"Impresion en pausa"
-#define MSG_RESUMING_PRINT								"Reanudar impresion"
-#define MSG_PID_EXTRUDER								"Calibracion PID"
-#define MSG_SET_TEMPERATURE								"Establecer temp.:"
-#define MSG_PID_FINISHED								"Cal. PID terminada"
-#define MSG_PID_RUNNING									"Cal. PID           "
-
-#define MSG_CALIBRATE_PINDA								"Calibrar"
-#define MSG_CALIBRATION_PINDA_MENU						"Calibracion temp."
-#define MSG_PINDA_NOT_CALIBRATED						"La temperatura de calibracion no ha sido ajustada"
-#define MSG_PINDA_PREHEAT								"Calentando PINDA"
-#define MSG_TEMP_CALIBRATION							"Cal. temp.          "
-#define MSG_TEMP_CALIBRATION_DONE						"Calibracon temperatura terminada. Haz clic para continuar."
-#define MSG_TEMP_CALIBRATION_ON							"Cal. temp. [ON]"
-#define MSG_TEMP_CALIBRATION_OFF						"Cal. temp. [OFF]"
-
-#define MSG_PREPARE_FILAMENT							"Preparar filamento"
-
-
-
-#define MSG_LOAD_ALL									"Intr. todos fil."
-#define MSG_LOAD_FILAMENT_1								"Introducir fil. 1"
-#define MSG_LOAD_FILAMENT_2								"Introducir fil. 2"
-#define MSG_LOAD_FILAMENT_3								"Introducir fil. 3"
-#define MSG_LOAD_FILAMENT_4								"Introducir fil. 4"
-#define MSG_UNLOAD_FILAMENT_1							"Soltar fil. 1"
-#define MSG_UNLOAD_FILAMENT_2							"Soltar fil. 2"
-#define MSG_UNLOAD_FILAMENT_3							"Soltar fil. 3"
-#define MSG_UNLOAD_FILAMENT_4							"Soltar fil. 4"
-#define MSG_UNLOAD_ALL									"Soltar todos fil."
-#define MSG_PREPARE_FILAMENT							"Preparar filamento"
-#define MSG_ALL											"Todos"
-#define MSG_USED										"Usado en impresion"
-#define MSG_CURRENT										"Actual"
-#define MSG_CHOOSE_EXTRUDER								"Elegir extrusor:"
-#define MSG_EXTRUDER									"Extrusor"
-#define MSG_EXTRUDER_1									"Extrusor 1"
-#define MSG_EXTRUDER_2									"Extrusor 2"
-#define MSG_EXTRUDER_3									"Extrusor 3"
-#define MSG_EXTRUDER_4									"Extrusor 4"
-
-#define MSG_WIZARD							"Wizard"
-#define MSG_WIZARD_WELCOME					"Hola, soy tu impresora Original Prusa i3. Quieres que te guie a traves de la configuracion?"
-#define MSG_WIZARD_QUIT						"Siempre puedes acceder al asistente desde Calibracion -> Wizard"
-#define MSG_WIZARD_SELFTEST					"Primero, hare el Selftest para comprobar los problemas de montaje mas comunes."
-#define MSG_WIZARD_CALIBRATION_FAILED		"Lee el manual y resuelve el problema. Despues, reinicia la impresora y continua con el Wizard"
-#define MSG_WIZARD_XYZ_CAL					"Hare la calibracion XYZ. Tardara 12 min. aproximadamente."
-#define MSG_WIZARD_FILAMENT_LOADED			"Esta el filamento cargado?"
-#define MSG_WIZARD_Z_CAL					"Voy a hacer Calibracion Z ahora."
-#define MSG_WIZARD_WILL_PREHEAT				"Voy a precalentar el nozzle para PLA ahora."
-#define MSG_WIZARD_V2_CAL					"Voy a calibrar la distancia entre la punta del nozzle y la superficie de la heatbed."
-#define MSG_WIZARD_V2_CAL_2					"Voy a comenzar a imprimir la linea y tu bajaras el nozzle gradualmente al rotar el mando, hasta que llegues a la altura optima. Mira las imagenes del capitulo Calibracion en el manual."
-#define MSG_V2_CALIBRATION					"Cal. primera cap."
-#define MSG_WIZARD_DONE						"Terminado! Feliz impresion!"
-#define MSG_WIZARD_LOAD_FILAMENT			"Inserta, por favor, filamento PLA en el extrusor. Despues haz clic para cargarlo."
-#define MSG_WIZARD_RERUN					"Ejecutar el Wizard borrara los valores de calibracion actuales y comenzara de nuevo. Continuar?"
-#define MSG_WIZARD_REPEAT_V2_CAL			"Quieres repetir el ultimo paso para reajustar la distancia nozzle-heatbed?"
-#define MSG_WIZARD_CLEAN_HEATBED			"Limpia la superficie de la heatbed, por favor, y haz clic"
-#define MSG_WIZARD_PLA_FILAMENT				"Es el filamento PLA?"
-#define MSG_WIZARD_INSERT_CORRECT_FILAMENT	"Carga filamento PLA, por favor, y reinicia la impresora para continuar con el Wizard"
-#define MSG_PLA_FILAMENT_LOADED				"Esta el filamento PLA cargado?"
-#define MSG_PLEASE_LOAD_PLA					"Carga el filamento PLA primero por favor."
-#define MSG_WIZARD_HEATING					"Precalentando nozzle. Espera por favor."
-#define MSG_M117_V2_CALIBRATION				"M117 Cal. primera cap."

+ 0 - 321
lang_backup/language_it.h

@@ -1,321 +0,0 @@
-#define WELCOME_MSG                         CUSTOM_MENDEL_NAME " pronta."
-#define MSG_SD_INSERTED                     "SD inserita"
-#define MSG_SD_REMOVED                      "SD rimossa"
-#define MSG_MAIN                            "Menu principale"
-#define MSG_DISABLE_STEPPERS                "Disabilit motori"
-#define MSG_AUTO_HOME                       "Trova origine"
-#define MSG_SET_HOME_OFFSETS                "Set home offsets"
-#define MSG_SET_ORIGIN                      "Set origin"
-#define MSG_COOLDOWN                        "Raffredda"
-#define MSG_SWITCH_PS_ON                    "Switch power on"
-#define MSG_SWITCH_PS_OFF                   "Switch power off"
-#define MSG_MOVE_AXIS                       "Muovi asse"
-#define MSG_MOVE_X                          "Muovi X"
-#define MSG_MOVE_Y                          "Muovi Y"
-#define MSG_MOVE_Z                          "Muovi Z"
-#define MSG_MOVE_E                          "Muovi Estrusore"
-#define MSG_MOVE_01MM                       "Move 0.1mm"
-#define MSG_MOVE_1MM                        "Move 1mm"
-#define MSG_MOVE_10MM                       "Move 10mm"
-#define MSG_SPEED                           "Velocita"
-#define MSG_NOZZLE                          "Ugello"
-#define MSG_NOZZLE1                         "Nozzle2"
-#define MSG_NOZZLE2                         "Nozzle3"
-#define MSG_BED                             "Letto"
-#define MSG_FAN_SPEED                       "Velocita vent."
-#define MSG_FLOW                            "Flusso"
-#define MSG_TEMPERATURE                     "Temperatura"
-#define MSG_MOTION                          "Motion"
-#define MSG_VOLUMETRIC                      "Filament"
-#define MSG_VOLUMETRIC_ENABLED		    	"E in mm3"
-#define MSG_STORE_EPROM                     "Store memory"
-#define MSG_LOAD_EPROM                      "Load memory"
-#define MSG_RESTORE_FAILSAFE                "Restore failsafe"
-#define MSG_REFRESH                         "\xF8" "Refresh"
-#define MSG_WATCH                           "Schermata info"
-#define MSG_TUNE                            "Regola"
-#define MSG_PAUSE_PRINT                     "Metti in pausa"
-#define MSG_RESUME_PRINT                    "Riprendi stampa"
-#define MSG_STOP_PRINT                      "Arresta stampa"
-#define MSG_CARD_MENU                       "Stampa da SD"
-#define MSG_NO_CARD                         "Nessuna SD"
-#define MSG_DWELL                           "Sospensione..."
-#define MSG_USERWAIT                        "Attendendo utente"
-#define MSG_RESUMING                        "Riprendi stampa"
-#define MSG_PRINT_ABORTED                   "Stampa abortita"
-#define MSG_NO_MOVE                         "Nessun movimento."
-#define MSG_KILLED                          "IN TILT."
-#define MSG_STOPPED                         "ARRESTATO."
-#define MSG_FILAMENTCHANGE                  "Camb. filamento"
-#define MSG_INIT_SDCARD                     "Init. SD card"
-#define MSG_CNG_SDCARD                      "Change SD card"
-#define MSG_ZPROBE_OUT                      "Z probe out. bed"
-#define MSG_POSITION_UNKNOWN                "Home X/Y before Z"
-#define MSG_ZPROBE_ZOFFSET                  "Z Offset"
-#define MSG_BABYSTEP_X                      "Babystep X"
-#define MSG_BABYSTEP_Y                      "Babystep Y"
-#define MSG_BABYSTEP_Z                      "Compensazione Z"
-#define MSG_ADJUSTZ			    			"Autoregolare Z?"
-#define MSG_PICK_Z			    			"Pick print"
-
-#define MSG_SETTINGS                        "Impostazioni"
-#define MSG_PREHEAT                         "Preriscalda"
-#define MSG_HEATING                         "Riscaldamento..."
-#define MSG_SUPPORT 						"Support"
-#define MSG_YES								"Si"
-#define MSG_NO								"No"
-#define MSG_NOT_LOADED 						"Fil. non caricato"
-#define MSG_NOT_COLOR 						"Colore non puro"
-#define MSG_LOADING_COLOR					"Caricando colore"
-#define MSG_CHANGE_SUCCESS					"Cambio riuscito!"
-#define MSG_PRESS							"e cliccare manopola"
-#define MSG_INSERT_FILAMENT					"Inserire filamento"
-#define MSG_CHANGING_FILAMENT				"Cambiando filam."
-
-#define MSG_PLEASE_WAIT						"Aspetta"
-#define MSG_PREHEAT_NOZZLE                  "Preris. ugello!"
-#define MSG_HEATING_COMPLETE                "Riscald. completo"
-#define MSG_BED_HEATING                     "Riscald. letto"
-#define MSG_BED_DONE                        "Piatto fatto."
-#define MSG_ERROR                        	"ERRORE:"
-#define MSG_CORRECTLY						"Cambiato corr.?"
-#define MSG_LOADING_FILAMENT				"Caricando filam."
-#define MSG_UNLOAD_FILAMENT                 "Scarica filamento"
-#define MSG_LOAD_FILAMENT                   "Carica filamento"
-
-#define MSG_SILENT_MODE_ON		    "Modo [silenzioso]"
-#define MSG_SILENT_MODE_OFF		    "Mode      [forte]" 
-#define MSG_REBOOT			    "Riavvia stampante"
-#define MSG_TAKE_EFFECT			    " per attualizzare"
-
-#define MSG_Enqueing                        "enqueing \""
-#define MSG_POWERUP                         "PowerUp"
-#define MSG_CONFIGURATION_VER               " Last Updated: "
-#define MSG_FREE_MEMORY                     " Free Memory: "
-#define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
-#define MSG_OK                              "ok"
-#define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
-#define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
-#define MSG_BEGIN_FILE_LIST                 "Begin file list"
-#define MSG_END_FILE_LIST                   "End file list"
-#define MSG_M104_INVALID_EXTRUDER           "M104 Invalid extruder "
-#define MSG_M105_INVALID_EXTRUDER           "M105 Invalid extruder "
-#define MSG_M200_INVALID_EXTRUDER           "M200 Invalid extruder "
-#define MSG_M218_INVALID_EXTRUDER           "M218 Invalid extruder "
-#define MSG_M221_INVALID_EXTRUDER           "M221 Invalid extruder "
-#define MSG_ERR_NO_THERMISTORS              "No thermistors - no temperature"
-#define MSG_M109_INVALID_EXTRUDER           "M109 Invalid extruder "
-#define MSG_ERR_KILLED                      "Printer halted. kill() called!"
-#define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-#define MSG_RESEND                          "Resend: "
-#define MSG_M119_REPORT                     "Reporting endstop status"
-#define MSG_ENDSTOP_HIT                     "TRIGGERED"
-#define MSG_ENDSTOP_OPEN                    "open"
-#define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir"
-#define MSG_SD_INIT_FAIL                    "SD init fail"
-#define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
-#define MSG_SD_OPENROOT_FAIL                "openRoot failed"
-#define MSG_SD_CARD_OK                      "SD card ok"
-#define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
-#define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
-#define MSG_SD_FILE_OPENED                  "File opened: "
-#define MSG_SD_FILE_SELECTED                "File selected"
-#define MSG_SD_WRITE_TO_FILE                "Writing to file: "
-#define MSG_SD_PRINTING_BYTE                "SD printing byte "
-#define MSG_SD_NOT_PRINTING                 "Not SD printing"
-#define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
-#define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
-#define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
-#define MSG_ENDSTOPS_HIT                    "endstops hit: "
-#define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
-#define MSG_BABYSTEPPING_X                  "Babystepping X"
-#define MSG_BABYSTEPPING_Y                  "Babystepping Y"
-#define MSG_BABYSTEPPING_Z                  "Compensazione Z"
-#define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Error in menu structure"
-
-#define MSG_LANGUAGE_NAME		    "Italiano"
-#define MSG_LANGUAGE_SELECT		    "Seleziona lingua"
-#define MSG_PRUSA3D			    "prusa3d.com"
-#define MSG_PRUSA3D_FORUM		    "forum.prusa3d.com"
-#define MSG_PRUSA3D_HOWTO		    "howto.prusa3d.com"
-
-#define MSG_SELFTEST_ERROR		    "Autotest negativo"
-#define MSG_SELFTEST_PLEASECHECK	    "Verificare:"	
-#define MSG_SELFTEST_NOTCONNECTED	    "Non connesso"
-#define MSG_SELFTEST_HEATERTHERMISTOR	    "Riscald./Termist."
-#define MSG_SELFTEST_BEDHEATER		    "Letto/Riscald."
-#define MSG_SELFTEST_WIRINGERROR	    "Errore cablaggio"
-#define MSG_SELFTEST_ENDSTOPS		    "Finecorsa (2)"
-#define MSG_SELFTEST_MOTOR		    "Motore"
-#define MSG_SELFTEST_ENDSTOP		    "Finecorsa"
-#define MSG_SELFTEST_ENDSTOP_NOTHIT	    "Finec. fuori por."
-#define MSG_SELFTEST_OK			    "Autotest OK"
-
-#define MSG_SELFTEST_FAN					"Prova del ventilator"
-#define MSG_SELFTEST_COOLING_FAN			"Vent di stampa ant.?"
-#define MSG_SELFTEST_EXTRUDER_FAN        "Vent SX sull'ugello?"
-#define MSG_SELFTEST_FAN_YES				"Gira"
-#define MSG_SELFTEST_FAN_NO					"Non si gira"
-
-#define MSG_STATS_TOTALFILAMENT		    "Filamento tot:"
-#define MSG_STATS_TOTALPRINTTIME	    "Tempo stampa tot:"
-#define MSG_STATS_FILAMENTUSED		    "Filamento usato:"
-#define MSG_STATS_PRINTTIME		    "Tempo di stampa:"
-#define MSG_SELFTEST_START		    "Avvia autotest"
-#define MSG_SELFTEST_CHECK_ENDSTOPS	    "Verifica finecorsa"
-#define MSG_SELFTEST_CHECK_HOTEND	    "Verifica ugello"  
-#define MSG_SELFTEST_CHECK_X		    "Verifica asse X"
-#define MSG_SELFTEST_CHECK_Y		    "Verifica asse Y"
-#define MSG_SELFTEST_CHECK_Z		    "Verifica asse Z"
-#define MSG_SELFTEST_CHECK_BED		    "Verifica letto"
-#define MSG_SELFTEST_CHECK_ALLCORRECT	    "Nessun errore"
-#define MSG_SELFTEST			    "Autotest"
-#define MSG_SELFTEST_FAILED		    "Autotest fallito"
-#define MSG_STATISTICS			    "Statistiche"
-#define MSG_USB_PRINTING		    "Stampa da USB"
-#define MSG_HOMEYZ                          "Calibra Z"
-#define MSG_HOMEYZ_PROGRESS                 "Calibrando Z"
-#define MSG_HOMEYZ_DONE		            "Calibrazione OK"
-
-
-
-#define MSG_SHOW_END_STOPS					"Stato finecorsa"
-#define MSG_CALIBRATE_BED					"Calibra XYZ"
-#define MSG_CALIBRATE_BED_RESET					"Reset XYZ calibr."
-
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP 				"Calibrazione XYZ. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare."
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z 				"Calibrazione Z. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare."
-
-#define MSG_CONFIRM_NOZZLE_CLEAN					"Pulire l'ugello per la calibrazione, poi fare click."
-#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP				"I carrelli Z sin/des sono altezza max?"
-
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1			"Ricerca del letto punto di calibraz."
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2			" su 4"
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1		"Perfezion. il letto punto di calibraz."
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2		" su 4"
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1		"Misurare l'altezza di riferimento del punto di calibrazione"
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2		" su 9"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION	"Reiterazione "
-
-#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND		"Calibrazione XYZ fallita. Il punto di calibrazione sul letto non e' stato trovato."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED		"Calibrazione XYZ fallita. Si prega di consultare il manuale."
-#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT			"Calibrazione XYZ OK. Gli assi X/Y sono perpendicolari. Complimenti!"
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD			"Calibrazion XYZ corretta. Assi X/Y leggermente storti. Ben fatto!"
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME		"Calibrazion XYZ corretta. La distorsione verra' automaticamente compensata."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR	"Calibrazione XYZ fallita. Punto anteriore sinistro non raggiungibile."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR	"Calibrazione XYZ fallita. Punto anteriore destro non raggiungibile."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR	"Calibrazione XYZ fallita. Punti anteriori non raggiungibili."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR	"Calibrazione XYZ compromessa. Punto anteriore sinistro non raggiungibile."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR	"Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR	"Calibrazione XYZ compromessa. Punti anteriori non raggiungibili."
-
-#define MSG_BED_LEVELING_FAILED_POINT_LOW				"Livellamento letto fallito.NoRispSensor Residui su ugello? In attesa di reset."
-#define MSG_BED_LEVELING_FAILED_POINT_HIGH				"Livellamento letto fallito.Risp sensore troppo prestoIn attesa di reset."
-#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED		"Livellamento letto fallito. Sensore discon. o Cavo Dann. In attesa di reset."
-
-#define MSG_NEW_FIRMWARE_AVAILABLE						"Nuova versione del firmware disponibile"
-#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE					"Prega aggiorna."
-
-#define MSG_FOLLOW_CALIBRATION_FLOW						"Stampante ancora non calibrata. Si prega di seguire il manuale, capitolo PRIMI PASSI, sezione della calibrazione."
-#define MSG_BABYSTEP_Z_NOT_SET							"Distanza tra la punta dell'ugello e la superficie del letto non ancora imposta. Si prega di seguire il manuale, capitolo First steps, sezione First layer calibration."
-
-#define MSG_BED_CORRECTION_MENU							"Correz. liv.letto"
-#define MSG_BED_CORRECTION_LEFT							"Sinistra  [um]"
-#define MSG_BED_CORRECTION_RIGHT						"Destra    [um]"
-#define MSG_BED_CORRECTION_FRONT						"Fronte    [um]"
-#define MSG_BED_CORRECTION_REAR							"Retro     [um]"
-#define MSG_BED_CORRECTION_RESET						"Reset"			
-
-#define MSG_MESH_BED_LEVELING							"Mesh livel. letto"
-#define MSG_MENU_CALIBRATION							"Calibrazione"
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF					"SD card [normal]"
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON					"SD card [FlshAir]"
-
-#define MSG_LOOSE_PULLEY								"Puleggia lenta"
-#define MSG_FILAMENT_LOADING_T0							"Inserire filamento nell'estrusore 1. Click per continuare."
-#define MSG_FILAMENT_LOADING_T1							"Inserire filamento nell'estrusore 2. Click per continuare."
-#define MSG_FILAMENT_LOADING_T2							"Inserire filamento nell'estrusore 3. Click per continuare."
-#define MSG_FILAMENT_LOADING_T3							"Inserire filamento nell'estrusore 4. Click per continuare."
-#define MSG_CHANGE_EXTR									"Cambio estrusore."
-
-#define MSG_FIL_ADJUSTING								"Filamento in fase di regolazione. Attendere prego."
-#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ				"I filamenti sono regolati. Si prega di pulire l'ugello per la calibrazione. Click per continuare."
-#define MSG_CALIBRATE_E									"Calibra E"
-#define MSG_E_CAL_KNOB									"Girare la manopola affinche' il segno raggiunga il corpo dell'estrusore. Click per continuare."
-#define MSG_MARK_FIL									"Segnare il filamento a 100 mm di distanza dal corpo dell'estrusore. Click per continuare."
-#define MSG_CLEAN_NOZZLE_E								"Calibrazione E terminata. Si prega di pulire l'ugello. Click per continuare."
-#define MSG_WAITING_TEMP								"In attesa del raffreddamento della testina e del piatto"
-#define MSG_FILAMENT_CLEAN								"Il colore e' nitido?"
-#define MSG_UNLOADING_FILAMENT							"Rilasc. filamento"
-#define MSG_PAPER										"Porre un foglio sotto l'ugello durante la calibrazione dei primi 4 punti. In caso l'ugello muova il foglio spegnere prontamente la stampante."
-
-#define MSG_FINISHING_MOVEMENTS							"Arresto in corso"
-#define MSG_PRINT_PAUSED								"Stampa in pausa"
-#define MSG_RESUMING_PRINT								"Stampa in ripresa"
-#define MSG_PID_EXTRUDER								"Calibrazione PID"
-#define MSG_SET_TEMPERATURE								"Imposta temperatura"
-#define MSG_PID_FINISHED								"Cal. PID completa"
-#define MSG_PID_RUNNING									"Cal. PID"
-
-#define MSG_CALIBRATE_PINDA								"Calibrare"
-#define MSG_CALIBRATION_PINDA_MENU						"Taratura temp."
-#define MSG_PINDA_NOT_CALIBRATED						"Taratura della temperatura non ancora eseguita"
-#define MSG_PINDA_PREHEAT								"Riscald. PINDA"
-#define MSG_TEMP_CALIBRATION							"Cal. temp.          "
-#define MSG_TEMP_CALIBRATION_DONE						"Taratura temperatura terminata. Fare click per continuare."
-#define MSG_TEMP_CALIBRATION_ON							"Cal. temp. [ON]"
-#define MSG_TEMP_CALIBRATION_OFF						"Cal. temp. [OFF]"
-
-#define MSG_LOAD_ALL									"Caricare tutti"
-#define MSG_LOAD_FILAMENT_1								"Caricare fil. 1"
-#define MSG_LOAD_FILAMENT_2								"Caricare fil. 2"
-#define MSG_LOAD_FILAMENT_3								"Caricare fil. 3"
-#define MSG_LOAD_FILAMENT_4								"Caricare fil. 4"
-#define MSG_UNLOAD_FILAMENT_1							"Rilasciare fil. 1"
-#define MSG_UNLOAD_FILAMENT_2							"Rilasciare fil. 1"
-#define MSG_UNLOAD_FILAMENT_3							"Rilasciare fil. 1"
-#define MSG_UNLOAD_FILAMENT_4							"Rilasciare fil. 1"
-#define MSG_UNLOAD_ALL									"Rilasciare tutti"
-#define MSG_PREPARE_FILAMENT							"Preparare filamento"
-#define MSG_ALL											"Tutti"
-#define MSG_USED										"Usati nella stampa"
-#define MSG_CURRENT										"Attuale"
-#define MSG_CHOOSE_EXTRUDER								"Seleziona estrusore:"
-#define MSG_EXTRUDER									"Estrusore"
-#define MSG_EXTRUDER_1									"Estrusore 1"
-#define MSG_EXTRUDER_2									"Estrusore 2"
-#define MSG_EXTRUDER_3									"Estrusore 3"
-#define MSG_EXTRUDER_4									"Estrusore 4"
-
-#define MSG_WIZARD							"Wizard"
-#define MSG_WIZARD_WELCOME					"Ciao, sono la tua stampante Original Prusa i3. Gradiresti aiuto attraverso il processo di configurazione?"
-#define MSG_WIZARD_QUIT						"E possibile proseguire la guide Wizard in qualsiasi momento attraverso Calibrazione -> Wizard."
-#define MSG_WIZARD_SELFTEST					"Anzitutto avviero il Self Test per controllare gli errori di assemblaggio piu comuni."
-#define MSG_WIZARD_CALIBRATION_FAILED		"Per favore consulta il nostro manuale per risolvere il problema. Poi riprendi il Wizard dopo aver riavviato la stampante."
-#define MSG_WIZARD_XYZ_CAL					"Adesso avviero una Calibrazione XYZ. Puo durare circa 12 min."
-#define MSG_WIZARD_FILAMENT_LOADED			"Il filamento e stato caricato?"
-#define MSG_WIZARD_Z_CAL					"Adesso avviero una Calibrazione Z."
-#define MSG_WIZARD_WILL_PREHEAT				"Adesso preriscaldero l'ugello per PLA."
-#define MSG_WIZARD_V2_CAL					"Adesso tarero lo stacco fra ugello e superfice del piatto."
-#define MSG_WIZARD_V2_CAL_2					"Adesso iniziero a stampare una linea e tu dovrai abbassare l'ugello poco per volta ruotando la manopola sino a raggiungere una altezza ottimale. Per favore dai uno sguardo all'immagine del nostro manuale, cap.Calibrazione."
-#define MSG_V2_CALIBRATION					"Cal. primo layer."
-#define MSG_WIZARD_DONE						"Ben fatto. Buona stampa!"
-#define MSG_WIZARD_LOAD_FILAMENT			"Per favore inserisci il filamento di PLA nell'estrusore, poi premi la manopola per caricare."
-#define MSG_WIZARD_RERUN					"Se avvi il Wizard perderai la calibrazione preesistente e dovrai ricominciare dall'inizio. Continuare?"
-#define MSG_WIZARD_REPEAT_V2_CAL			"Desideri ripetere l'ultimo passaggio per migliorare la distanza fra ugello e piatto?"
-#define MSG_WIZARD_CLEAN_HEATBED			"Per favore pulisci il piatto, poi premi la manopola."
-#define MSG_WIZARD_PLA_FILAMENT				"E questo un filamento di PLA?"
-#define MSG_WIZARD_INSERT_CORRECT_FILAMENT	"Per favore carica filamento di PLA e riprendi il Wizard dopo aver riavviato la stampante."
-#define MSG_PLA_FILAMENT_LOADED				"Il PLA e stato caricato?"
-#define MSG_PLEASE_LOAD_PLA					"Per favore prima caricare filamento di PLA."
-#define MSG_WIZARD_HEATING					"Sto preriscaldando l'ugello. Per favore attendi."
-#define MSG_M117_V2_CALIBRATION				"M117 Cal. primo layer."
-
-#define MSG_DATE							"Data"
-#define MSG_XYZ_DETAILS						"XYZ Cal. dettagli"
-#define	MSG_Y_DISTANCE_FROM_MIN				"Distanza Y da min:"
-#define	MSG_LEFT							"Sinistra:"
-#define MSG_RIGHT							"Destra:"
-#define MSG_MEASURED_SKEW					"Incl. misurata:"
-#define MSG_SLIGHT_SKEW						"Incl. leggera:"
-#define MSG_SEVERE_SKEW						"Inc. rilevante:"

+ 0 - 334
lang_backup/language_pl.h

@@ -1,334 +0,0 @@
-/**
- * Polish
- *
- * LCD Menu Messages
- * Please note these are limited to 17 characters!
- *
- */
-
-#define WELCOME_MSG                         CUSTOM_MENDEL_NAME " gotowa"
-#define MSG_SD_INSERTED                     "Karta wlozona"
-#define MSG_SD_REMOVED                      "Karta wyjeta"
-#define MSG_MAIN                            "Menu glowne" 
-#define MSG_DISABLE_STEPPERS                "Wylaczyc silniki"
-#define MSG_AUTO_HOME                       "Auto home"
-#define MSG_COOLDOWN                        "Wychlodzic" 
-#define MSG_MOVE_AXIS                       "Ruch osi"
-#define MSG_MOVE_X                          "Przesunac X"
-#define MSG_MOVE_Y                          "Przesunac Y"
-#define MSG_MOVE_Z                          "Przesunac Z"
-#define MSG_MOVE_E                          "Extruder"
-#define MSG_SPEED                           "Predkosc"
-#define MSG_NOZZLE                          "Dysza"
-#define MSG_BED                             "Stolik"
-#define MSG_FAN_SPEED                       "Predkosc went."
-#define MSG_FLOW                            "Przeplyw"
-#define MSG_TEMPERATURE                     "Temperatura"
-#define MSG_WATCH                           "Informacje"
-#define MSG_TUNE                            "Nastroic"
-#define MSG_PAUSE_PRINT                     "Przerwac druk"
-#define MSG_RESUME_PRINT                    "Kontynuowac"
-#define MSG_STOP_PRINT                      "Zatrzymac druk"
-#define MSG_CARD_MENU                       "Druk z SD"
-#define MSG_NO_CARD                         "Brak karty SD"
-#define MSG_DWELL                           "Sleep..."
-#define MSG_USERWAIT                        "Wait for user..."
-#define MSG_RESUMING                        "Wznowienie druku"
-#define MSG_PRINT_ABORTED                   "Druk przerwany"
-#define MSG_NO_MOVE                         "No move."
-#define MSG_KILLED                          "KILLED. "
-#define MSG_STOPPED                         "STOPPED. "
-#define MSG_FILAMENTCHANGE                  "Wymienic filament"
-#define MSG_BABYSTEP_Z                      "Dostrojenie osy Z" 
-#define MSG_ADJUSTZ                                         "Autodostroic Z?"
-#define MSG_PICK_Z							"Vyberte vytisk"
-#define MSG_SETTINGS                         "Ustawienia"
-#define MSG_PREHEAT                         "Grzanie"
-#define MSG_UNLOAD_FILAMENT                 "Wyjac filament"
-#define MSG_LOAD_FILAMENT                 "Wprowadz filament"
-#define MSG_ERROR                       "BLAD:"
-#define MSG_PREHEAT_NOZZLE              "Nagrzej dysze!"
-#define MSG_SUPPORT                     "Pomoc" 
-#define MSG_CORRECTLY                   "Wymiana ok?"
-#define MSG_YES                                 "Tak"
-#define MSG_NO                                  "Nie"
-#define MSG_NOT_LOADED                  "Brak filamentu"
-#define MSG_NOT_COLOR                  "Kolor zanieczysz."
-#define MSG_LOADING_FILAMENT            "Wprow. filamentu"
-#define MSG_PLEASE_WAIT                 "Prosze czekac"
-#define MSG_LOADING_COLOR               "Czyszcz. koloru"
-#define MSG_CHANGE_SUCCESS              "Wymiana ok!"
-#define MSG_PRESS                               "Nacisnij przycisk"
-#define MSG_INSERT_FILAMENT             "Wprowadz filament"
-#define MSG_CHANGING_FILAMENT   "Wymiana filamentu"
-#define MSG_SILENT_MODE_ON                                      "Tryb      [cichy]"
-#define MSG_SILENT_MODE_OFF                                     "Tryb[w wydajnosc]"
-
-#define MSG_REBOOT                                                      "Restart drukarki"
-#define MSG_TAKE_EFFECT                                         " wprow. zmian"   
-#define MSG_HEATING                         "Grzanie..."
-#define MSG_HEATING_COMPLETE                "Grzanie OK."
-#define MSG_BED_HEATING                     "Grzanie stolika.."
-#define MSG_BED_DONE                        "Stolik OK."
-#define MSG_LANGUAGE_NAME                                       "Polski"
-#define MSG_LANGUAGE_SELECT                                     "Wybor jezyka"
-#define MSG_PRUSA3D                                     "prusa3d.cz"
-#define MSG_PRUSA3D_FORUM                                       "forum.prusa3d.cz"
-#define MSG_PRUSA3D_HOWTO                                       "howto.prusa3d.cz"
-
-
-// Do not translate those!
- 
-#define MSG_Enqueing                        "enqueing \""
-#define MSG_POWERUP                         "PowerUp"
-#define MSG_CONFIGURATION_VER               " Last Updated: "
-#define MSG_FREE_MEMORY                     " Free Memory: "
-#define MSG_PLANNER_BUFFER_BYTES            "  PlannerBufferBytes: "
-#define MSG_OK                              "ok"
-#define MSG_ERR_CHECKSUM_MISMATCH           "checksum mismatch, Last Line: "
-#define MSG_ERR_NO_CHECKSUM                 "No Checksum with line number, Last Line: "
-#define MSG_BEGIN_FILE_LIST                 "Begin file list"
-#define MSG_END_FILE_LIST                   "End file list"
-#define MSG_M104_INVALID_EXTRUDER           "M104 Invalid extruder "
-#define MSG_M105_INVALID_EXTRUDER           "M105 Invalid extruder "
-#define MSG_M200_INVALID_EXTRUDER           "M200 Invalid extruder "
-#define MSG_M218_INVALID_EXTRUDER           "M218 Invalid extruder "
-#define MSG_M221_INVALID_EXTRUDER           "M221 Invalid extruder "
-#define MSG_ERR_NO_THERMISTORS              "No thermistors - no temperature"
-#define MSG_M109_INVALID_EXTRUDER           "M109 Invalid extruder "
-#define MSG_ERR_KILLED                      "Printer halted. kill() called!"
-#define MSG_ERR_STOPPED                     "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-#define MSG_RESEND                          "Resend: "
-#define MSG_M119_REPORT                     "Reporting endstop status"
-#define MSG_ENDSTOP_HIT                     "TRIGGERED"
-#define MSG_ENDSTOP_OPEN                    "open"
-#define MSG_SD_CANT_OPEN_SUBDIR             "Cannot open subdir"
-#define MSG_SD_INIT_FAIL                    "SD init fail"
-#define MSG_SD_VOL_INIT_FAIL                "volume.init failed"
-#define MSG_SD_OPENROOT_FAIL                "openRoot failed"
-#define MSG_SD_CARD_OK                      "SD card ok"
-#define MSG_SD_WORKDIR_FAIL                 "workDir open failed"
-#define MSG_SD_OPEN_FILE_FAIL               "open failed, File: "
-#define MSG_SD_FILE_OPENED                  "File opened: "
-#define MSG_SD_FILE_SELECTED                "File selected"
-#define MSG_SD_WRITE_TO_FILE                "Writing to file: "
-#define MSG_SD_PRINTING_BYTE                "SD printing byte "
-#define MSG_SD_NOT_PRINTING                 "Not SD printing"
-#define MSG_SD_ERR_WRITE_TO_FILE            "error writing to file"
-#define MSG_SD_CANT_ENTER_SUBDIR            "Cannot enter subdir: "
-#define MSG_STEPPER_TOO_HIGH                "Steprate too high: "
-#define MSG_ENDSTOPS_HIT                    "endstops hit: "
-#define MSG_ERR_COLD_EXTRUDE_STOP           " cold extrusion prevented"
-#define MSG_BABYSTEPPING_X                  "Babystepping X"
-#define MSG_BABYSTEPPING_Y                  "Babystepping Y"
-#define MSG_BABYSTEPPING_Z                  "Dostrojenie Z"
-#define MSG_SERIAL_ERROR_MENU_STRUCTURE     "Error in menu structure"
-#define MSG_SET_HOME_OFFSETS                "Nastav pocatek home"
-#define MSG_SET_ORIGIN                      "Nastav pocatek"
-
-#define MSG_SWITCH_PS_ON                    "Vypnout zdroj"
-#define MSG_SWITCH_PS_OFF                   "Zapnout zdroj"
-
-#define MSG_NOZZLE1                         "Tryska2"
-#define MSG_NOZZLE2                         "Tryska3"
-
-
-#define MSG_FLOW0                           "Prutok 0"
-#define MSG_FLOW1                           "Prutok 1"
-#define MSG_FLOW2                           "Prutok 2"
-#define MSG_CONTROL                         "Kontrola"
-#define MSG_MIN                             " \002 Min"
-#define MSG_MAX                             " \002 Max"
-#define MSG_FACTOR                          " \002 Fact"
-
- #define MSG_MOTION                          "Pohyb"
-#define MSG_VOLUMETRIC                      "Filament"
-#define MSG_VOLUMETRIC_ENABLED                  "E in mm3"
-#define MSG_STORE_EPROM                     "Store memory"
-#define MSG_LOAD_EPROM                      "Ulozit pamet"
-#define MSG_RESTORE_FAILSAFE                "Obnovit vychozi"
-#define MSG_REFRESH                         "\xF8" "Obnovit"
-
-#define MSG_INIT_SDCARD                     "Inic. SD"
-#define MSG_CNG_SDCARD                      "Vymenit SD"
-#define MSG_BABYSTEP_X                      "Babystep X"
-#define MSG_BABYSTEP_Y                      "Babystep Y"
-
- #define MSG_RECTRACT                        "Rectract"
-
-#define MSG_HOMEYZ                          "Kalibruj Z"
-#define MSG_HOMEYZ_PROGRESS                 "Kalibruje Z"
-#define MSG_HOMEYZ_DONE                     "Kalibracja OK"
-
-#define MSG_SELFTEST_ERROR                  "Selftest error !"
-#define MSG_SELFTEST_PLEASECHECK            "Skontroluj :"   
-#define MSG_SELFTEST_NOTCONNECTED           "Nie podlaczono   "
-#define MSG_SELFTEST_HEATERTHERMISTOR       "Heater/Thermistor"
-#define MSG_SELFTEST_BEDHEATER              "Bed / Heater"
-#define MSG_SELFTEST_WIRINGERROR            "Blad polaczenia"
-#define MSG_SELFTEST_ENDSTOPS               "Endstops"
-#define MSG_SELFTEST_MOTOR                  "Silnik"
-#define MSG_SELFTEST_ENDSTOP                "Endstop"
-#define MSG_SELFTEST_ENDSTOP_NOTHIT         "Endstop not hit"
-#define MSG_SELFTEST_OK                     "Self test OK"
-
-#define MSG_SELFTEST_FAN					"Test wentylatora"
-#define MSG_SELFTEST_COOLING_FAN			"Przedni went. druku?"
-#define MSG_SELFTEST_EXTRUDER_FAN			"Lewy went na dysze?"
-#define MSG_SELFTEST_FAN_YES				"Kreci sie"
-#define MSG_SELFTEST_FAN_NO					"Nie kreci sie"
-
-#define MSG_STATS_TOTALFILAMENT             "Filament lacznie :"
-#define MSG_STATS_TOTALPRINTTIME            "Czas calkowity :"
-#define MSG_STATS_FILAMENTUSED              "Filament :  "
-#define MSG_STATS_PRINTTIME                 "Czas druku :  "
-
-#define MSG_SELFTEST_START                  "Self test start  "
-#define MSG_SELFTEST_CHECK_ENDSTOPS         "Kontrola endstops"
-#define MSG_SELFTEST_CHECK_HOTEND           "Kontrola hotend  " 
-#define MSG_SELFTEST_CHECK_X                "Kontrola X axis  "
-#define MSG_SELFTEST_CHECK_Y                "Kontrola Y axis  "
-#define MSG_SELFTEST_CHECK_Z                "Kontrola Z axis  "
-#define MSG_SELFTEST_CHECK_BED              "Kontrola bed     "
-#define MSG_SELFTEST_CHECK_ALLCORRECT       "Wszystko OK      "
-#define MSG_SELFTEST                        "Selftest         "
-#define MSG_SELFTEST_FAILED                 "Selftest nieudany"
-
-#define MSG_STATISTICS                      "Statystyka  "
-#define MSG_USB_PRINTING                    "Druk z USB  "
-
-#define MSG_SHOW_END_STOPS                  "Pokaz krancowki"
-#define MSG_CALIBRATE_BED                   "Kalibracja XYZ"
-#define MSG_CALIBRATE_BED_RESET             "Reset kalibr. XYZ"
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP        "Kalibracja XYZ. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
-#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z      "Kalibracja Z. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
-
-#define MSG_CONFIRM_NOZZLE_CLEAN            		"Dla prawidl. kalibracji prosze oczyscic dysze. Potw. guzikiem."
-#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP     		"Oba wozki dojechaly do gornej ramy?"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1  		"Szukam punktu kalibracyjnego podkladki"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2  		" z 4"
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1   	"Poprawiam precyzyjnosc punktu kalibracyjnego"
-#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2   	" z 4"
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1		"Okreslam wysokosc odniesienia punktu kalibracyjnego"
-#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2		" z 9"
-#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION	"Iteracja "
-
-#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND           "Kalibr. XYZ nieudana. Kalibracyjny punkt podkladki nieznaleziony."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED            "Kalibracja XYZ niepowiedziona. Sprawdzic w instrukcji."
-#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT                   "Kalibracja XYZ ok. Osie X/Y sa prostopadle. Gratulacje!"
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD                 "Kalibracja XYZ prawidlowa. Osie X/Y lekko skosne. Dobra robota!"
-#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME              "Kalibracja XYZ prawidlowa. Skosy beda automatycznie wyrownane przy druku."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR     "Kalibr. XYZ nieudana. Lewy przedni punkt zbyt do przodu. Wyrownac drukarke."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR    "Kalibr. XYZ nieudana. Prawy przedni punkt zbyt do przodu. Wyrownac drukarke."
-#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR     "Kalibr. XYZ nieudana. Przed. punkty kalibr. zbyt do przodu. Wyrownac drukarke."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR    "Kalibracja XYZ niedokladna. Lewy przedni punkt zbyt wysuniety do przodu."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR   "Kalibracja XYZ niedokladna. Prawy przedni punkt zbyt wysuniety do przodu."
-#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR    "Kalibr. XYZ niedokladna. Przednie punkty kalibr. Zbyt wys. do przodu."
-#define MSG_BED_LEVELING_FAILED_POINT_LOW                       "Kalibracja nieudana. Sensor nie dotknal. Zanieczysz. dysza? Czekam na reset."
-#define MSG_BED_LEVELING_FAILED_POINT_HIGH                      "Kalibracja Z nieudana. Sensor dotk. za wysoko. Czekam na reset."
-#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED              "Kalibracja nieudana. Sensor odlaczony lub uszkodz. kabel. Czekam na reset."
-#define MSG_NEW_FIRMWARE_AVAILABLE                              "Wyszla nowa wersja firmware:"
-#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE                         "Prosze zaktualizowac"
-#define MSG_FOLLOW_CALIBRATION_FLOW                             "Drukarka nie zostala jeszcze skalibrowana. Prosze kierowac sie instrukcja, rozdzial Zaczynamy, podrozdzial Selftest."
-#define MSG_BABYSTEP_Z_NOT_SET                                  "Odleglosc dyszy od podkladki nie jest skalibrowana. Postepuj zgodnie z instrukcja rozdzial Zaczynamy, podrozdzial Kalibracja pierwszej warstwy."
-#define MSG_BED_CORRECTION_MENU                                 "Korekta podkladki"
-#define MSG_BED_CORRECTION_LEFT                                 "W lewo  [um]"
-#define MSG_BED_CORRECTION_RIGHT                                "W prawo [um]"
-#define MSG_BED_CORRECTION_FRONT                                "Do przodu [um]"
-#define MSG_BED_CORRECTION_REAR                                 "Do tylu  [um]"
-#define MSG_BED_CORRECTION_RESET                                "Reset"
-
-#define MSG_MESH_BED_LEVELING									"Mesh Bed Leveling"
-#define MSG_MENU_CALIBRATION									"Kalibracja"
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF					"karta SD [normal]"
-#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON					"karta SD[FlshAir]"
-
-#define MSG_LOOSE_PULLEY										"Kolo pasowe"
-#define MSG_FILAMENT_LOADING_T0									"Wloz filament do ekstrudera 1. Potwierdz przyciskiem."
-#define MSG_FILAMENT_LOADING_T1									"Wloz filament do ekstrudera 2. Potwierdz przyciskiem."
-#define MSG_FILAMENT_LOADING_T2									"Wloz filament do ekstrudera 3. Potwierdz przyciskiem."
-#define MSG_FILAMENT_LOADING_T3									"Wloz filament do ekstrudera 4. Potwierdz przyciskiem."
-#define MSG_CHANGE_EXTR											"Zmienic ekstruder"
-
-#define MSG_FIL_ADJUSTING										"Przebiega wyrownanie filamentow. Prosze czekac."
-#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ						"Dla prawidlowej kalibracji prosze oczyscic dysze. Potem potwierdzic przyciskiem."
-#define MSG_CALIBRATE_E											"Kalibruj E"
-#define MSG_E_CAL_KNOB											"Prosze otaczac przycisk poki znacznik nie dosiegnie ciala ekstrudera. Potwierdzic przyciskiem."
-#define MSG_MARK_FIL											"Prosze oznaczyc filament 100 mm od ciala ekstrudera. Potwierdzic przyciskiem."
-#define MSG_CLEAN_NOZZLE_E										"Kalibracja E skonczona. Prosze oczyscic dysze. Potem potwierdzic przyciskiem. "
-#define MSG_WAITING_TEMP										"Oczekiwanie na wychlodzenie dyszy i podkladki."
-#define MSG_FILAMENT_CLEAN										"Czy kolor jest czysty?"
-#define MSG_UNLOADING_FILAMENT									"Wysuwam filament"
-#define MSG_PAPER												"Umiesc kartke papieru na podkladce i trzymaj pod dysza podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, wylacz drukarke."
-
-#define MSG_FINISHING_MOVEMENTS									"Konczenie druku"
-#define MSG_PRINT_PAUSED										"Druk zatrzymany"
-#define MSG_RESUMING_PRINT										"Wznawianie druku"
-#define MSG_PID_EXTRUDER										"Kalibracja PID"
-#define MSG_SET_TEMPERATURE										"Ustawic temperature"
-#define MSG_PID_FINISHED										"Kal. PID zakonczona"
-#define MSG_PID_RUNNING											"Kal. PID"
-
-#define MSG_CALIBRATE_PINDA										"Skalibrowac"
-#define MSG_CALIBRATION_PINDA_MENU								"Cieplna kalibr."
-#define MSG_PINDA_NOT_CALIBRATED								"Cieplna kalibracja nie byla przeprowadzona"
-#define MSG_PINDA_PREHEAT										"Grzanie PINDA"
-#define MSG_TEMP_CALIBRATION									"Ciepl. kal.         "
-#define MSG_TEMP_CALIBRATION_DONE								"Cieplna kalibracja zakonczona. Kontynuuj przyciskiem"
-#define MSG_TEMP_CALIBRATION_ON									"Ciepl. kal. [ON]"
-#define MSG_TEMP_CALIBRATION_OFF								"Ciepl. kal. [OFF]"
-#define MSG_PREPARE_FILAMENT									"Przygotuj filament"
-
-#define MSG_LOAD_ALL											"Zalad. wszystkie"
-#define MSG_LOAD_FILAMENT_1										"Zaladowac fil. 1"
-#define MSG_LOAD_FILAMENT_2										"Zaladowac fil. 2"
-#define MSG_LOAD_FILAMENT_3										"Zaladowac fil. 3"
-#define MSG_LOAD_FILAMENT_4										"Zaladowac fil. 4"
-#define MSG_UNLOAD_FILAMENT_1									"Wyjac filament 1"
-#define MSG_UNLOAD_FILAMENT_2									"Wyjac filament 2"
-#define MSG_UNLOAD_FILAMENT_3									"Wyjac filament 3"
-#define MSG_UNLOAD_FILAMENT_4									"Wyjac filament 4"
-#define MSG_UNLOAD_ALL											"Wyjac wszystkie"
-#define MSG_PREPARE_FILAMENT									"Przygotuj filament"
-#define MSG_ALL													"Wszystko"
-#define MSG_USED												"Uzyte przy druku"
-#define MSG_CURRENT												"Tylko aktualne"
-#define MSG_CHOOSE_EXTRUDER										"Wybierz ekstruder"
-#define MSG_EXTRUDER											"Ekstruder"
-#define MSG_EXTRUDER_1											"Ekstruder 1"
-#define MSG_EXTRUDER_2											"Ekstruder 2"
-#define MSG_EXTRUDER_3											"Ekstruder 3"
-#define MSG_EXTRUDER_4											"Ekstruder 4"
-
-#define MSG_WIZARD							"Wizard"
-#define MSG_WIZARD_WELCOME					"Czesc, jestem Twoja drukarka Original Prusa i3. Czy potrzebujesz pomocy z instalacja?"
-#define MSG_WIZARD_QUIT						"Zawsze mozesz przywrocic Wizard przez Kalibracja -> Wizard."
-#define MSG_WIZARD_SELFTEST					"Najpierw wlacze autotest w celu kontrolli najczestszych problemow z montazem."
-#define MSG_WIZARD_CALIBRATION_FAILED		"Prosze sprawdz nasz poradnik i napraw problem. Potem przywroc Wizard restartujac drukarke."
-#define MSG_WIZARD_XYZ_CAL					"Wlaczam kalibracje xyz. Zajmie to ok. 12 min."
-#define MSG_WIZARD_FILAMENT_LOADED			"Filament jest zaladowany?"
-#define MSG_WIZARD_Z_CAL					"Wlaczam kalibracje z."
-#define MSG_WIZARD_WILL_PREHEAT				"Nagrzewam dysze dla PLA."
-#define MSG_WIZARD_V2_CAL					"Kalibruje odleglosc miedzy koncowka dyszy a stolikiem."
-#define MSG_WIZARD_V2_CAL_2					"Zaczne drukowac linie. Stopniowo opuszczaj dysze przekrecajac guzik, poki nie uzyskasz optymalnej wysokosci. Sprawdz obrazki w naszym poradniku w rozdz. Kalibracja"
-#define MSG_V2_CALIBRATION					"Kal. 1. warstwy"
-#define MSG_WIZARD_DONE						"Gotowe. Udanego druku!"
-#define MSG_WIZARD_LOAD_FILAMENT			"Prosze umiesc filament PLA w ekstruderze i nacisnij przycisk by zaladowac."
-#define MSG_WIZARD_RERUN					"Wlaczenie Wizard usunie obecne dane kalibracyjne i zacznie od nowa. Kontynuowac?"
-#define MSG_WIZARD_REPEAT_V2_CAL			"Chcesz powtorzyc ostatni krok i przestawic odleglosc miedzy dysza a stolikiem?"
-#define MSG_WIZARD_CLEAN_HEATBED			"Prosze oczysc stolik i nacisnij guzik."
-#define MSG_WIZARD_PLA_FILAMENT				"Czy to filament PLA?"
-#define MSG_WIZARD_INSERT_CORRECT_FILAMENT	"Prosze zaladuj filament PLA i przywroc Wizard przez restart drukarki."
-#define MSG_PLA_FILAMENT_LOADED				"Fialment PLA jest zaladowany?"
-#define MSG_PLEASE_LOAD_PLA					"Prosze, najpierw zaladuj filament PLA."
-#define MSG_WIZARD_HEATING					"Nagrzewanie dyszy. Prosze czekac."
-#define MSG_M117_V2_CALIBRATION				"M117 Kal. 1. warstwy"
-
-#define MSG_DATE							"Data:"
-#define MSG_XYZ_DETAILS						"Szczegoly kal.XYZ"
-#define	MSG_Y_DISTANCE_FROM_MIN				"Odleglosc Y od min.:"
-#define	MSG_LEFT							"Lewy:"
-#define MSG_RIGHT							"Prawy:"
-#define MSG_MEASURED_SKEW					"Zmier. sciecie:"
-#define MSG_SLIGHT_SKEW						"Lekkie sciecie:"
-#define MSG_SEVERE_SKEW						"Ostre sciecie:"

+ 0 - 20
lang_upgrade/!upgrade.sh

@@ -1,20 +0,0 @@
-#!/bin/sh
-# upgrade.sh
-#
-
-if [ -e ../lang_backup ]; then
- echo 'folder ../lang_backup already exist!'
-else
- ./clean.sh
- ./make_msgs.sh
- ./find_msgs.sh
- ./make_source.sh
- echo 'backup old files...'
- mkdir ../lang_backup
- mv ../Firmware/langtool.* ../lang_backup/
- mv ../Firmware/language*.* ../lang_backup/
- echo 'copying new files...'
- cp ./source/* ../Firmware/
- echo 'finished'
-fi
-read

+ 0 - 11
lang_upgrade/clean.sh

@@ -1,11 +0,0 @@
-#!/bin/sh
-#
-
-echo "removing output files"
-rm msgs*.txt
-rm make_msgs.out
-rm replace_*.out
-rm ./source/*
-rmdir ./source
-echo "step0 finished... press key"
-read

+ 0 - 47
lang_upgrade/find_msgs.sh

@@ -1,47 +0,0 @@
-#!/bin/sh
-#
-echo 'find_msgs.sh'
-
-#list all source files from source folder except *language* files
-files=$(ls ../Firmware/*.c* | grep -v 'language'; ls ../Firmware/*.h | grep -v 'language'; )
-
-echo ' processing msgs_en.txt and msgs_common.txt...'
-#msgs=$(cat msgs_en.txt | cut -f 1 -d' ')
-msgs=$(cat msgs_en.txt msgs_common.txt | cut -f 1 -d' ')
-#msgs=$(cat msgs_common.txt | cut -f 1 -d' ')
-echo "$msgs" | while read msg; do
- echo -n "$msg "
- found=$(grep -c -E "\b$msg\b" $files | sed "/:0$/d;s/.*:/+/g")
- echo $(("0"$found))
-done | tee msgs_usage.txt_0
-cat msgs_usage.txt_0 | sort -k2 -n >msgs_usage.txt
-rm msgs_usage.txt_0
-
-#list messages that are not used
-msgs=$(cat msgs_usage.txt | grep " 0$" | cut -f1 -d' ')
-#make regular expression from the list - replace spaces with '\b|\b' (match whole words)
-msgs='\b'$(echo $msgs | sed "s/ /\\\b\\\|\\\b/g")'\b'
-#grep unused messages
-cat msgs_en.txt | grep "$msgs" > msgs_en_unused.txt
-cat msgs_common.txt | grep "$msgs" > msgs_common_unused.txt
-
-#list messages used once
-msgs=$(cat msgs_usage.txt | grep " 1$" | cut -f1 -d' ')
-#make regular expression from the list - replace spaces with '\b|\b' (match whole words)
-msgs='\b'$(echo $msgs | sed "s/ /\\\b\\\|\\\b/g")'\b'
-#grep unused messages
-cat msgs_en.txt | grep "$msgs" > msgs_en_used_once.txt
-cat msgs_common.txt | grep "$msgs" > msgs_common_used_once.txt
-
-#list messages used once more (exclude unused and used once)
-msgs=$(cat msgs_usage.txt | grep -v " 0$" | grep -v " 1$" | cut -f1 -d' ')
-#make regular expression from the list - replace spaces with '\b|\b' (match whole words)
-msgs='\b'$(echo $msgs | sed "s/ /\\\b\\\|\\\b/g")'\b'
-#grep unused messages
-cat msgs_en.txt | grep "$msgs" > msgs_en_used_more.txt
-cat msgs_common.txt | grep "$msgs" > msgs_common_used_more.txt
-
-echo "step2 finished... press key"
-
-read
-exit

+ 0 - 96
lang_upgrade/fix_1.out

@@ -1,96 +0,0 @@
-MSG_ALL OK
-MSG_AUTO_HOME OK
-MSG_AUTO_MODE_ON OK
-MSG_BABYSTEP_Z OK
-MSG_BABYSTEP_Z_NOT_SET OK
-MSG_BED OK
-MSG_BED_DONE OK
-MSG_BED_HEATING OK
-MSG_BED_LEVELING_FAILED_POINT_LOW OK
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED OK
-MSG_CALIBRATE_Z_AUTO OK
-MSG_CARD_MENU OK
-MSG_CONFIRM_NOZZLE_CLEAN OK
-MSG_COOLDOWN OK
-MSG_CRASH_DETECTED OK
-MSG_CRASHDETECT_NA OK
-MSG_CRASHDETECT_OFF OK
-MSG_CRASHDETECT_ON OK
-MSG_ENDSTOP_HIT OK
-MSG_ENDSTOP_OPEN OK
-MSG_ENDSTOPS_HIT OK
-MSG_Enqueing OK
-MSG_ERR_STOPPED OK
-MSG_ERROR OK
-MSG_EXTRUDER OK
-MSG_FAN_SPEED OK
-MSG_FILAMENT_CLEAN OK
-MSG_FILAMENT_LOADING_T0 OK
-MSG_FILAMENT_LOADING_T1 OK
-MSG_FILAMENT_LOADING_T2 OK
-MSG_FILAMENT_LOADING_T3 OK
-MSG_FILAMENTCHANGE OK
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 OK
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 OK
-MSG_FINISHING_MOVEMENTS OK
-MSG_FOLLOW_CALIBRATION_FLOW OK
-MSG_FSENS_AUTOLOAD_NA OK
-MSG_FSENSOR_OFF OK
-MSG_FSENSOR_ON OK
-MSG_HEATING OK
-MSG_HEATING_COMPLETE OK
-MSG_HOMEYZ OK
-MSG_CHOOSE_EXTRUDER OK
-MSG_LOAD_FILAMENT OK
-MSG_LOADING_FILAMENT OK
-MSG_M117_V2_CALIBRATION OK
-MSG_MAIN OK
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 OK
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 OK
-MSG_MENU_CALIBRATION OK
-MSG_NO OK
-MSG_NOZZLE OK
-MSG_OK OK
-MSG_PAPER OK
-MSG_PLACE_STEEL_SHEET OK
-MSG_PLEASE_WAIT OK
-MSG_POWERUP OK
-MSG_PREHEAT_NOZZLE OK
-MSG_PRESS_TO_UNLOAD OK
-MSG_PRINT_ABORTED OK
-MSG_PULL_OUT_FILAMENT OK
-MSG_RECOVER_PRINT OK
-MSG_REFRESH OK
-MSG_REMOVE_STEEL_SHEET OK
-MSG_SD_ERR_WRITE_TO_FILE OK
-MSG_SD_OPEN_FILE_FAIL OK
-MSG_SD_WORKDIR_FAIL OK
-MSG_SELFTEST_COOLING_FAN OK
-MSG_SELFTEST_EXTRUDER_FAN OK
-MSG_SELFTEST_FAILED OK
-MSG_SELFTEST_FAN OK
-MSG_SELFTEST_FAN_NO OK
-MSG_SELFTEST_FAN_YES OK
-MSG_SELFTEST_CHECK_BED OK
-MSG_SELFTEST_CHECK_FSENSOR OK
-MSG_SELFTEST_MOTOR OK
-MSG_SELFTEST_WIRINGERROR OK
-MSG_SETTINGS OK
-MSG_SILENT_MODE_OFF OK
-MSG_SILENT_MODE_ON OK
-MSG_STEALTH_MODE_OFF OK
-MSG_STEALTH_MODE_ON OK
-MSG_STEEL_SHEET_CHECK OK
-MSG_STOP_PRINT OK
-MSG_STOPPED OK
-MSG_TEMP_CALIBRATION OK
-MSG_TEMP_CALIBRATION_DONE OK
-MSG_UNLOAD_FILAMENT OK
-MSG_UNLOADING_FILAMENT OK
-MSG_WATCH OK
-MSG_WIZARD_CALIBRATION_FAILED OK
-MSG_WIZARD_DONE OK
-MSG_WIZARD_HEATING OK
-MSG_WIZARD_QUIT OK
-MSG_YES OK
-WELCOME_MSG OK

+ 0 - 33
lang_upgrade/fix_source_1.sh

@@ -1,33 +0,0 @@
-#!/bin/sh
-# fix_source_1.sh - replace in code all usage of localized message constant from messages.h as _T(MSG_xxx)
-
-if [ -e ./source ]; then
- echo 'folder ./source already exists.'
- read
- exit
-fi
-
-#create target folder
-echo 'creating target folder...'
-mkdir ./source
-#list all source files except *language* and *messages*
-files=$(ls ../Firmware/*.c* | grep -v 'language' | grep -v 'messages'; ls ../Firmware/*.h | grep -v 'language' | grep -v 'messages' )
-echo 'copying files...'
-cp $files ./source/
-#list all source files in target folder
-files=$(ls ./source/*.c*; ls ./source/*.h )
-
-#replace source - internatinalized messages used once with _i("TEXT")
-echo 'processing msgs_en_used_once.txt'
-cat msgs_en_used_more.txt | sed "s/\\\\/\\\\\\\\/g;s/\//\\\\\\\\\//g" | while read name cols rows text; do
- if sed -i -E "s/\b$name\b/_T\($name\)/g" $files; then
-  echo "$name OK"
- else
-  echo "$name NG!"
- fi
-done | tee fix_1.out
-
-echo "fix1 finished... press key"
-
-read
-exit

+ 0 - 13
lang_upgrade/make_lang_en.sh

@@ -1,13 +0,0 @@
-#!/bin/sh
-# make_lang_en.sh - create english dictionary from msgs
-echo "make_lang_en.sh"
-cat msgs_en_used_once.txt msgs_en_used_more.txt |\
- sed "s/[ ]*$//g" |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' |\
- sort -k4 | sed "s/^/#/;s/ \"/\n\"/;s/\"$/\"\n/" > lang_en.txt
-echo "finished... press any key"
-read
-exit

+ 0 - 60
lang_upgrade/make_lang_en_cz.sh

@@ -1,60 +0,0 @@
-#!/bin/sh
-# make_lang_en_cz.sh - create en_cz dictionary from msgs
-echo "make_lang_en_cz.sh"
-echo "please wait..."
-
-cat msgs_en_used_once.txt msgs_en_used_more.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_en_.txt
-
-cat msgs_cz.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_cz_.txt
- 
-cat lang_en.txt | sed "/^$/d;/^#/d" | sed "s/\\\/\\\\\\\/g" |\
- while read text; do
- msg=''
- msg=$(grep -a -m 1 -h -w -F "$text" msgs_en_.txt)
- if [ -z "$msg" ]; then
-  echo "#???"
-  echo "$text"
-  echo '"\x00"'
-  echo
- else
-  name=$(echo $msg | cut -f1 -d' ')
-  cols=$(echo $msg | cut -f2 -d' ')
-  rows=$(echo $msg | cut -f3 -d' ')
-  echo "#$name $cols $rows"
-  echo "$text"
-  msg_cz=$(grep -a -m 1 -h "^$name " msgs_cz_.txt)
-  if [ -z "$msg_cz" ]; then
-   echo '"\x00"'
-   echo
-  else
-   text_cz=$(echo $msg_cz | cut -f2- -d' ')
-   echo "$text_cz"
-   echo
-  fi
- fi
-done > lang_en_cz.txt
-
-rm msgs_en_.txt
-rm msgs_cz_.txt
-
-echo "finished... press any key"
-read
-exit
-
-#not found in msgs_cz:
-# MSG_EXTRUDER_CORRECTION_OFF "  [off"
-# MSG_MEASURED_OFFSET "[0;0] point offset"
-# MSG_EXTRUDER_CORRECTION "E-correct"
-# MSG_PRUSA3D_FORUM "forum.prusa3d.com"
-# MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
-# MSG_PRINTER_DISCONNECTED "Printer disconnected"
-# MSG_PRUSA3D "prusa3d.com"
-# MSG_TEMP_CAL_WARNING "Stable ambient temperature 21-26C is needed a rigid stand is required."

+ 0 - 60
lang_upgrade/make_lang_en_de.sh

@@ -1,60 +0,0 @@
-#!/bin/sh
-# make_lang_en_de.sh - create en_de dictionary from msgs
-echo "make_lang_en_de.sh"
-echo "please wait..."
-
-cat msgs_en_used_once.txt msgs_en_used_more.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_en_.txt
-
-cat msgs_de.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_de_.txt
- 
-cat lang_en.txt | sed "/^$/d;/^#/d" | sed "s/\\\/\\\\\\\/g" |\
- while read text; do
- msg=''
- msg=$(grep -a -m 1 -h -w -F "$text" msgs_en_.txt)
- if [ -z "$msg" ]; then
-  echo "#???"
-  echo "$text"
-  echo '"\x00"'
-  echo
- else
-  name=$(echo $msg | cut -f1 -d' ')
-  cols=$(echo $msg | cut -f2 -d' ')
-  rows=$(echo $msg | cut -f3 -d' ')
-  echo "#$name $cols $rows"
-  echo "$text"
-  msg_de=$(grep -a -m 1 -h "^$name " msgs_de_.txt)
-  if [ -z "$msg_de" ]; then
-   echo '"\x00"'
-   echo
-  else
-   text_de=$(echo $msg_de | cut -f2- -d' ')
-   echo "$text_de"
-   echo
-  fi
- fi
-done > lang_en_de.txt
-
-rm msgs_en_.txt
-rm msgs_de_.txt
-
-echo "finished... press any key"
-read
-exit
-
-#not found in msgs_de:
-# MSG_EXTRUDER_CORRECTION_OFF "  [off"
-# MSG_MEASURED_OFFSET "[0;0] point offset"
-# MSG_EXTRUDER_CORRECTION "E-correct"
-# MSG_PRUSA3D_FORUM "forum.prusa3d.com"
-# MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
-# MSG_PRINTER_DISCONNECTED "Printer disconnected"
-# MSG_PRUSA3D "prusa3d.com"
-# MSG_TEMP_CAL_WARNING "Stable ambient temperature 21-26C is needed a rigid stand is required."

+ 0 - 60
lang_upgrade/make_lang_en_es.sh

@@ -1,60 +0,0 @@
-#!/bin/sh
-# make_lang_en_es.sh - create en_es dictionary from msgs
-echo "make_lang_en_es.sh"
-echo "please wait..."
-
-cat msgs_en_used_once.txt msgs_en_used_more.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_en_.txt
-
-cat msgs_es.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_es_.txt
- 
-cat lang_en.txt | sed "/^$/d;/^#/d" | sed "s/\\\/\\\\\\\/g" |\
- while read text; do
- msg=''
- msg=$(grep -a -m 1 -h -w -F "$text" msgs_en_.txt)
- if [ -z "$msg" ]; then
-  echo "#???"
-  echo "$text"
-  echo '"\x00"'
-  echo
- else
-  name=$(echo $msg | cut -f1 -d' ')
-  cols=$(echo $msg | cut -f2 -d' ')
-  rows=$(echo $msg | cut -f3 -d' ')
-  echo "#$name $cols $rows"
-  echo "$text"
-  msg_es=$(grep -a -m 1 -h "^$name " msgs_es_.txt)
-  if [ -z "$msg_es" ]; then
-   echo '"\x00"'
-   echo
-  else
-   text_es=$(echo $msg_es | cut -f2- -d' ')
-   echo "$text_es"
-   echo
-  fi
- fi
-done > lang_en_es.txt
-
-rm msgs_en_.txt
-rm msgs_es_.txt
-
-echo "finished... press any key"
-read
-exit
-
-#not found in msgs_es:
-# MSG_EXTRUDER_CORRECTION_OFF "  [off"
-# MSG_MEASURED_OFFSET "[0;0] point offset"
-# MSG_EXTRUDER_CORRECTION "E-correct"
-# MSG_PRUSA3D_FORUM "forum.prusa3d.com"
-# MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
-# MSG_PRINTER_DISCONNECTED "Printer disconnected"
-# MSG_PRUSA3D "prusa3d.com"
-# MSG_TEMP_CAL_WARNING "Stable ambient temperature 21-26C is needed a rigid stand is required."

+ 0 - 60
lang_upgrade/make_lang_en_it.sh

@@ -1,60 +0,0 @@
-#!/bin/sh
-# make_lang_en_it.sh - create en_it dictionary from msgs
-echo "make_lang_en_it.sh"
-echo "please wait..."
-
-cat msgs_en_used_once.txt msgs_en_used_more.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_en_.txt
-
-cat msgs_it.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_it_.txt
- 
-cat lang_en.txt | sed "/^$/d;/^#/d" | sed "s/\\\/\\\\\\\/g" |\
- while read text; do
- msg=''
- msg=$(grep -a -m 1 -h -w -F "$text" msgs_en_.txt)
- if [ -z "$msg" ]; then
-  echo "#???"
-  echo "$text"
-  echo '"\x00"'
-  echo
- else
-  name=$(echo $msg | cut -f1 -d' ')
-  cols=$(echo $msg | cut -f2 -d' ')
-  rows=$(echo $msg | cut -f3 -d' ')
-  echo "#$name $cols $rows"
-  echo "$text"
-  msg_it=$(grep -a -m 1 -h "^$name " msgs_it_.txt)
-  if [ -z "$msg_it" ]; then
-   echo '"\x00"'
-   echo
-  else
-   text_it=$(echo $msg_it | cut -f2- -d' ')
-   echo "$text_it"
-   echo
-  fi
- fi
-done > lang_en_it.txt
-
-rm msgs_en_.txt
-rm msgs_it_.txt
-
-echo "finished... press any key"
-read
-exit
-
-#not found in msgs_it:
-# MSG_EXTRUDER_CORRECTION_OFF "  [off"
-# MSG_MEASURED_OFFSET "[0;0] point offset"
-# MSG_EXTRUDER_CORRECTION "E-correct"
-# MSG_PRUSA3D_FORUM "forum.prusa3d.com"
-# MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
-# MSG_PRINTER_DISCONNECTED "Printer disconnected"
-# MSG_PRUSA3D "prusa3d.com"
-# MSG_TEMP_CAL_WARNING "Stable ambient temperature 21-26C is needed a rigid stand is required."

+ 0 - 60
lang_upgrade/make_lang_en_pl.sh

@@ -1,60 +0,0 @@
-#!/bin/sh
-# make_lang_en_pl.sh - create en_pl dictionary from msgs
-echo "make_lang_en_pl.sh"
-echo "please wait..."
-
-cat msgs_en_used_once.txt msgs_en_used_more.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_en_.txt
-
-cat msgs_pl.txt |\
- sed "s/\bCUSTOM_MENDEL_NAME\b/\"Prusa i3 MK3\"/g" |\
- sed "s/\" \"//g" |\
- sed 's/\\"/\\x22/g' |\
- sed 's/\\xF8/\\xf8/g' > msgs_pl_.txt
- 
-cat lang_en.txt | sed "/^$/d;/^#/d" | sed "s/\\\/\\\\\\\/g" |\
- while read text; do
- msg=''
- msg=$(grep -a -m 1 -h -w -F "$text" msgs_en_.txt)
- if [ -z "$msg" ]; then
-  echo "#???"
-  echo "$text"
-  echo '"\x00"'
-  echo
- else
-  name=$(echo $msg | cut -f1 -d' ')
-  cols=$(echo $msg | cut -f2 -d' ')
-  rows=$(echo $msg | cut -f3 -d' ')
-  echo "#$name $cols $rows"
-  echo "$text"
-  msg_pl=$(grep -a -m 1 -h "^$name " msgs_pl_.txt)
-  if [ -z "$msg_pl" ]; then
-   echo '"\x00"'
-   echo
-  else
-   text_pl=$(echo $msg_pl | cut -f2- -d' ')
-   echo "$text_pl"
-   echo
-  fi
- fi
-done > lang_en_pl.txt
-
-rm msgs_en_.txt
-rm msgs_pl_.txt
-
-echo "finished... press any key"
-read
-exit
-
-#not found in msgs_pl:
-# MSG_EXTRUDER_CORRECTION_OFF "  [off"
-# MSG_MEASURED_OFFSET "[0;0] point offset"
-# MSG_EXTRUDER_CORRECTION "E-correct"
-# MSG_PRUSA3D_FORUM "forum.prusa3d.com"
-# MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
-# MSG_PRINTER_DISCONNECTED "Printer disconnected"
-# MSG_PRUSA3D "prusa3d.com"
-# MSG_TEMP_CAL_WARNING "Stable ambient temperature 21-26C is needed a rigid stand is required."

+ 0 - 7
lang_upgrade/make_msgs.out

@@ -1,7 +0,0 @@
- processing language_common.h ...ok (26 messages, 410 characters)
- processing language_en.h ...ok (373 messages, 9704 characters)
- processing language_cz.h ...ok (365 messages, 9639 characters)
- processing language_de.h ...ok (67 messages, 2352 characters)
- processing language_it.h ...ok (294 messages, 7808 characters)
- processing language_pl.h ...ok (295 messages, 7308 characters)
- processing language_es.h ...ok (289 messages, 7516 characters)

+ 0 - 95
lang_upgrade/make_msgs.sh

@@ -1,95 +0,0 @@
-#!/bin/sh
-#
-echo 'make_msgs.sh'
-if [ -e make_msgs.out ]; then rm make_msgs.out; fi
-CUSTOM_MENDEL_NAME='Prusa i3 MK3'
-
-calc_charcount()
-{
- #extract texts for charcount calculation
- cat $1 | cut -f$2- -d' ' | sed -E "s/\" \"//g" >_txt.txt_0
- #replace printer name
- cat _txt.txt_0 | sed -E "s/CUSTOM_MENDEL_NAME/\"$CUSTOM_MENDEL_NAME\"/g" >_txt.txt_1
- #replace oct chars with space
- cat _txt.txt_1 | sed -E "s/\\\\[0-7]{3}/ /g" >_txt.txt_2
- #replace hex chars with space
- cat _txt.txt_2 | sed -E "s/\\\\x[0-9A-Fa-f]{2}/ /g" >_txt.txt_3
- #replace \" with '
- cat _txt.txt_3 | sed -E "s/\\\\\"/'/g" >_txt.txt_4
- #replace "_white_space_" with empty sequence - strigs
- cat _txt.txt_4 | sed -E "s/\"[ \t]*\"//g" >_txt.txt_5
- #replace " and white space at end of line
- cat _txt.txt_5 | sed -E "s/\"[ \t]*$/\"/g" >_txt.txt_6
- #replace all " with empty sequence
- cat _txt.txt_6 | sed -E "s/\"//g" >_txt.txt_7
- #calculate charcount
- stat -c'%s' _txt.txt_7
- rm _txt.txt_*
-}
-
-process_language_common()
-{
- echo -n ' processing language_common.h ...' | tee -a make_msgs.out
- #list all defines without '+' prefix from language_common.h
- #cat ../Firmware/language_common.h | grep -E "^[+]*define" | sed "s/lenght/length/g" >msgs_common.txt_0
- cat ../Firmware/language_common.h | grep -E "^define" | sed "s/lenght/length/g" >msgs_common.txt_0
-  #replace define and +define
- cat msgs_common.txt_0 | sed -E "s/^[+]*define[ \t]*([^ \t]*)[ \t]*([^ \t]*[ \t]*\"[^\"]*\"*)/\1 c=0 r=0 \2/g" | sort >msgs_common.txt
- #calculate msgcount
- msgcount=$(grep -c '' msgs_common.txt)
- #calculate charcount
- charcount=$(calc_charcount msgs_common.txt 4)
- #remove tmp files
- rm msgs_common.txt_*
- echo "ok ($msgcount messages, $charcount characters)" | tee -a make_msgs.out
-}
-
-
-process_language_en()
-{
- echo -n ' processing language_en.h ...' | tee -a make_msgs.out
- #list all defines from language_en.h
- cat ../Firmware/language_en.h | grep "^#define" | sed "s/lenght/length/g" >msgs_en.txt_0
- #replace #define(length=xx,lines=xx)
- cat msgs_en.txt_0 | sed -E "s/^#define\(length=([0-9]*),[ \t]*lines=([0-9]*)\)[ \t]*([^ \t]*)[ \t]*([^ \t]*[ \t]*\"[^\"]*\"*)/\3 c=\1 r=\2 \4/g" >msgs_en.txt_1
- #replace #define(length=xx)
- cat msgs_en.txt_1 | sed -E "s/^#define\(length=([0-9]*)\)[ \t]*([^ \t]*)[ \t]*([^ \t]*[ \t]*\"[^\"]*\"*)/\2 c=\1 r=0 \3/g" >msgs_en.txt_2
- #replace #define
- cat msgs_en.txt_2 | sed -E "s/^#define[ \t]*([^ \t]*)[ \t]*([^ \t]*[ \t]*\"[^\"]*\"*)/\1 c=0 r=0 \2/g" | sort >msgs_en.txt
- #calculate msgcount
- msgcount=$(grep -c '' msgs_en.txt)
- #calculate charcount
- charcount=$(calc_charcount msgs_en.txt 4)
- #remove tmp files
- rm msgs_en.txt_*
- echo "ok ($msgcount messages, $charcount characters)" | tee -a make_msgs.out
-}
-
-process_language_xx()
-{
- echo -n " processing language_$1.h ..." | tee -a make_msgs.out
- #list all defines from language_cz.h
- cat "../lang_backup/language_$1.h" | sed "s/[ \t]*\+//;s/^\+ #/#/;s/^\+#/#/" | grep -E "^#define" >"msgs_$1.txt_0"
- cat "msgs_$1.txt_0" | sed "s/(length = [0-9]*)//" | sed "s/(length = [0-9]*, lines = [0-9]*)//" > "msgs_$1.txt_1"
- cat "msgs_$1.txt_1" | sed -E "s/^#define[ \t]*([^ \t]*)[ \t]*([^ \t]*[ \t]*\"[^\"]*\"*)/\1 \2/g" | sort >"msgs_$1.txt"
- #calculate msgcount
- msgcount=$(grep -c '' "msgs_$1.txt")
- #calculate charcount
- charcount=$(calc_charcount "msgs_$1.txt" 2)
- #remove tmp files
- rm "msgs_$1.txt_0"
- rm "msgs_$1.txt_1"
- echo "ok ($msgcount messages, $charcount characters)" | tee -a make_msgs.out
-}
-
-#process_language_common
-#process_language_en
-#process_language_xx cz
-process_language_xx de
-#process_language_xx it
-#process_language_xx pl
-#process_language_xx es
-
-
-echo "make_msgs.sh finished... press key"
-read

+ 0 - 75
lang_upgrade/make_source.sh

@@ -1,75 +0,0 @@
-#!/bin/sh
-# make_source.sh - step3 - replace old source files and generate new
-
-
-if [ -e ./source ]; then
- echo 'folder ./source already exists.'
- read
- exit
-fi
-
-#create target folder
-echo 'creating target folder...'
-mkdir ./source
-#list all source files except *language*
-files=$(ls ../Firmware/*.c* | grep -v 'language'; ls ../Firmware/*.h | grep -v 'language' )
-#copy original source files to target folder
-echo 'copying files...'
-cp $files ./source/
-#list all source files in target folder
-files=$(ls ./source/*.c*; ls ./source/*.h )
-
-#replace source - internatinalized messages used once with _i("TEXT")
-echo 'processing msgs_en_used_once.txt'
-cat msgs_en_used_once.txt | sed "s/\\\\/\\\\\\\\/g;s/\//\\\\\\\\\//g" | while read name cols rows text; do
- comment="$name $cols $rows"
- if sed -i -E "s/(.*)(\b$name\b)(.*)$/\1_i\($text\)\3\/\/\/\/$comment/g" $files; then
-  echo "$name OK"
- else
-  echo "$name NG!"
- fi
-done | tee replace_en.out
-
-#replace source - not internatinalized messages used once with _n("TEXT")
-echo 'processing msgs_common_used_once.txt'
-cat msgs_common_used_once.txt | sed "s/\\\\/\\\\\\\\/g;s/\//\\\\\\\\\//g" | while read name cols rows text; do
- comment="$name $cols $rows"
- if sed -i -E "s/(.*)(\b$name\b)(.*)$/\1_n\($text\)\3\/\/\/\/$comment/g" $files; then
-  echo "$name OK"
- else
-  echo "$name NG!"
- fi
-done | tee replace_common.out
-
-#messages used twice or more will be listed in messages.h and messages.c.
-cp ./src/messages.h ./source/
-cp ./src/messages.c ./source/
-
-echo '//internationalized messages' | tee -a ./source/messages.h >> ./source/messages.c
-cat msgs_en_used_more.txt | sed 's/\\/\\\\/g' | while read msg cols rows text; do
- comment="$cols $rows"
- echo "extern const char $msg[];" >> ./source/messages.h
- echo "const char $msg[] PROGMEM_I1 = ISTR("$text"); ////$comment" >> ./source/messages.c
- echo "$msg"
-done
-
-echo '//not internationalized messages' | tee -a ./source/messages.h >> ./source/messages.c
-cat msgs_common_used_more.txt | sed 's/\\/\\\\/g' | while read msg cols rows text; do
- comment="$cols $rows"
- echo "extern const char $msg[];" >> ./source/messages.h
- echo "const char $msg[] PROGMEM_N1 = "$text"; ////$comment" >> ./source/messages.c
- echo "$msg"
-done
-
-
-#copy new source files
-cp ./src/language.h ./source/
-cp ./src/language.c ./source/
-cp ./src/config.h ./source/
-
-#replace line with declaration in Marlin_main.cpp
-sed -i -E "s/^(unsigned char lang_selected = 0;)/\/\/\1/" ./source/Marlin_main.cpp
-
-echo "step3 finished... press key"
-read
-exit

+ 0 - 26
lang_upgrade/msgs_common.txt

@@ -1,26 +0,0 @@
-MSG_ACTIVE_EXTRUDER c=0 r=0 "Active Extruder: "
-MSG_AUTHOR c=0 r=0 " | Author: "
-MSG_BROWNOUT_RESET c=0 r=0 " Brown out Reset"
-MSG_COUNT_X c=0 r=0 " Count X: "
-MSG_ERR_LINE_NO c=0 r=0 "Line Number is not Last Line Number+1, Last Line: "
-MSG_ERR_LONG_EXTRUDE_STOP c=0 r=0 " too long extrusion prevented"
-MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM c=0 r=0 "No Line Number with checksum, Last Line: "
-MSG_EXTERNAL_RESET c=0 r=0 " External Reset"
-MSG_FILE_PRINTED c=0 r=0 "Done printing file"
-MSG_FILE_SAVED c=0 r=0 "Done saving file."
-MSG_INVALID_EXTRUDER c=0 r=0 "Invalid extruder"
-MSG_OFF c=0 r=0 "Off"
-MSG_ON c=0 r=0 "On "
-MSG_POSITION_UNKNOWN c=0 r=0 "Home X/Y before Z"
-MSG_SD_SIZE c=0 r=0 " Size: "
-MSG_SOFTWARE_RESET c=0 r=0 " Software Reset"
-MSG_UNKNOWN_COMMAND c=0 r=0 "Unknown command: \""
-MSG_WATCHDOG_RESET c=0 r=0 " Watchdog Reset"
-MSG_X_MAX c=0 r=0 "x_max: "
-MSG_X_MIN c=0 r=0 "x_min: "
-MSG_Y_MAX c=0 r=0 "y_max: "
-MSG_Y_MIN c=0 r=0 "y_min: "
-MSG_Z_MAX c=0 r=0 "z_max: "
-MSG_Z_MIN c=0 r=0 "z_min: "
-MSG_ZPROBE_OUT c=0 r=0 "Z probe out. bed"
-MSG_ZPROBE_ZOFFSET c=0 r=0 "Z Offset"

+ 0 - 0
lang_upgrade/msgs_common_unused.txt


+ 0 - 13
lang_upgrade/msgs_common_used_more.txt

@@ -1,13 +0,0 @@
-MSG_BROWNOUT_RESET c=0 r=0 " Brown out Reset"
-MSG_EXTERNAL_RESET c=0 r=0 " External Reset"
-MSG_FILE_SAVED c=0 r=0 "Done saving file."
-MSG_OFF c=0 r=0 "Off"
-MSG_ON c=0 r=0 "On "
-MSG_POSITION_UNKNOWN c=0 r=0 "Home X/Y before Z"
-MSG_SOFTWARE_RESET c=0 r=0 " Software Reset"
-MSG_UNKNOWN_COMMAND c=0 r=0 "Unknown command: \""
-MSG_WATCHDOG_RESET c=0 r=0 " Watchdog Reset"
-MSG_Z_MAX c=0 r=0 "z_max: "
-MSG_Z_MIN c=0 r=0 "z_min: "
-MSG_ZPROBE_OUT c=0 r=0 "Z probe out. bed"
-MSG_ZPROBE_ZOFFSET c=0 r=0 "Z Offset"

+ 0 - 13
lang_upgrade/msgs_common_used_once.txt

@@ -1,13 +0,0 @@
-MSG_ACTIVE_EXTRUDER c=0 r=0 "Active Extruder: "
-MSG_AUTHOR c=0 r=0 " | Author: "
-MSG_COUNT_X c=0 r=0 " Count X: "
-MSG_ERR_LINE_NO c=0 r=0 "Line Number is not Last Line Number+1, Last Line: "
-MSG_ERR_LONG_EXTRUDE_STOP c=0 r=0 " too long extrusion prevented"
-MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM c=0 r=0 "No Line Number with checksum, Last Line: "
-MSG_FILE_PRINTED c=0 r=0 "Done printing file"
-MSG_INVALID_EXTRUDER c=0 r=0 "Invalid extruder"
-MSG_SD_SIZE c=0 r=0 " Size: "
-MSG_X_MAX c=0 r=0 "x_max: "
-MSG_X_MIN c=0 r=0 "x_min: "
-MSG_Y_MAX c=0 r=0 "y_max: "
-MSG_Y_MIN c=0 r=0 "y_min: "

+ 0 - 365
lang_upgrade/msgs_cz.txt

@@ -1,365 +0,0 @@
-MSG_ADJUSTZ "Auto doladit Z ?"
-MSG_ALL "Vse"
-MSG_AUTO_HOME "Auto home"
-MSG_AUTO_MODE_ON "Mod [automaticky]"
-MSG_AUTOLOAD_FILAMENT "AutoZavedeni fil."
-MSG_AUTOLOADING_ENABLED "Automaticke zavadeni filamentu aktivni, stisknete tlacitko a vlozte filament..."
-MSG_AUTOLOADING_ONLY_IF_FSENS_ON "Automaticke zavadeni filamentu dostupne pouze pri zapnutem filament senzoru..."
-MSG_BABYSTEP_X "Babystep X"
-MSG_BABYSTEP_Y "Babystep Y"
-MSG_BABYSTEP_Z "Doladeni osy Z"
-MSG_BABYSTEP_Z_NOT_SET "Neni zkalibrovana vzdalenost trysky od tiskove podlozky. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Nastaveni prvni vrstvy."
-MSG_BABYSTEPPING_X "Babystepping X"
-MSG_BABYSTEPPING_Y "Babystepping Y"
-MSG_BABYSTEPPING_Z "Dostavovani Z"
-MSG_BED "Bed"
-MSG_BED_CORRECTION_FRONT "Vpredu [um]"
-MSG_BED_CORRECTION_LEFT "Vlevo  [um]"
-MSG_BED_CORRECTION_MENU "Korekce podlozky"
-MSG_BED_CORRECTION_REAR "Vzadu  [um]"
-MSG_BED_CORRECTION_RESET "Reset"
-MSG_BED_CORRECTION_RIGHT "Vpravo [um]"
-MSG_BED_DONE "Bed OK."
-MSG_BED_HEATING "Zahrivani bed"
-MSG_BED_HEATING_SAFETY_DISABLED "Zahrivani preruseno bezpecnostnim casovacem."
-MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibrace Z selhala. Sensor sepnul prilis vysoko. Cekam na reset."
-MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibrace Z selhala. Sensor nesepnul. Znecistena tryska? Cekam na reset."
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Kalibrace Z selhala. Sensor je odpojeny nebo preruseny kabel. Cekam na reset."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibrace XYZ selhala. Predni kalibracni body moc vpredu. Srovnejte tiskarnu."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibrace XYZ selhala. Levy predni bod moc vpredu. Srovnejte tiskarnu."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibrace XYZ selhala. Pravy predni bod moc vpredu. Srovnejte tiskarnu."
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibrace XYZ selhala. Nahlednete do manualu."
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Kalibrace XYZ v poradku. X/Y osy jsou kolme. Gratuluji!"
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibrace XYZ selhala. Kalibracni bod podlozky nenalezen."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Kalibrace XYZ v poradku. Zkoseni bude automaticky vyrovnano pri tisku."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibrace XYZ v poradku. X/Y osy mirne zkosene. Dobra prace!"
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibrace XYZ nepresna. Predni kalibracni body moc vpredu."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibrace XYZ nepresna. Levy predni bod moc vpredu."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibrace XYZ nepresna. Pravy predni bod moc vpredu."
-MSG_BEGIN_FILE_LIST "Begin file list"
-MSG_CALIBRATE_BED "Kalibrace XYZ"
-MSG_CALIBRATE_BED_RESET "Reset XYZ kalibr."
-MSG_CALIBRATE_E "Kalibrovat E"
-MSG_CALIBRATE_PINDA "Zkalibrovat"
-MSG_CALIBRATE_Z_AUTO "Kalibruji Z"
-MSG_CALIBRATION_PINDA_MENU "Teplot. kalibrace"
-MSG_CARD_MENU "Tisk z SD"
-MSG_CLEAN_NOZZLE_E "E kalibrace ukoncena. Prosim ocistete trysku. Po te potvrdte tlacitkem."
-MSG_CNG_SDCARD "Vymenit SD"
-MSG_CONFIGURATION_VER " Last Updated: "
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Dojely oba Z voziky k~hornimu dorazu?"
-MSG_CONFIRM_NOZZLE_CLEAN "Pro uspesnou kalibraci ocistete prosim tiskovou trysku. Potvrdte tlacitkem."
-MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamenty jsou srovnany. Pro uspesnou kalibraci prosim ocistete trysku. Po te potvrdte tlacitkem."
-MSG_CONTROL "Kontrola"
-MSG_COOLDOWN "Zchladit"
-MSG_CORRECTLY "Vymena ok?"
-MSG_CRASH_DET_ONLY_IN_NORMAL "\x1b[2JCrash detekce muze\x1b[1;0Hbyt zapnuta pouze v\x1b[2;0HNormal modu"
-MSG_CRASH_DET_STEALTH_FORCE_OFF "\x1b[2JPOZOR:\x1b[1;0HCrash detekce\x1b[2;0Hdeaktivovana ve\x1b[3;0HStealth modu"
-MSG_CRASH_DETECTED "Detekovan naraz."
-MSG_CRASH_DETECTED2 "Naraz detekovan, pokracovat v tisku?"
-MSG_CRASHDETECT_NA "Crash det.  [N/A]"
-MSG_CRASHDETECT_OFF "Crash det.  [vyp]"
-MSG_CRASHDETECT_ON "Crash det.  [zap]"
-MSG_CURRENT "Pouze aktualni"
-MSG_DATE "Datum:"
-MSG_DEFAULT_SETTINGS_LOADED "Neplatne hodnoty nastaveni. Bude pouzito vychozi PID, Esteps atd."
-MSG_DISABLE_STEPPERS "Vypnout motory"
-MSG_DWELL "Sleep..."
-MSG_E_CAL_KNOB "Otacejte tlacitkem dokud znacka nedosahne tela extruderu. Potvrdte tlacitkem."
-MSG_END_FILE_LIST "End file list"
-MSG_ENDSTOP_HIT "TRIGGERED"
-MSG_ENDSTOP_OPEN "open"
-MSG_ENDSTOPS_HIT "endstops hit: "
-MSG_Enqueing "enqueing \""
-MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
-MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
-MSG_ERR_KILLED "Printer halted. kill() called!"
-MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
-MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
-MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-MSG_ERROR "CHYBA:"
-MSG_EXTRUDER "Extruder"
-MSG_EXTRUDER_1 "Extruder 1"
-MSG_EXTRUDER_2 "Extruder 2"
-MSG_EXTRUDER_3 "Extruder 3"
-MSG_EXTRUDER_4 "Extruder 4"
-MSG_FACTOR " \002 Fact"
-MSG_FAN_SPEED "Rychlost vent."
-MSG_FANS_CHECK_OFF "Kontr. vent.[vyp]"
-MSG_FANS_CHECK_ON "Kontr. vent.[zap]"
-MSG_FIL_ADJUSTING "Probiha srovnani filamentu. Prosim cekejte."
-MSG_FILAMENT_CLEAN "Filament vytlacen a spravne barvy?" 
-MSG_FILAMENT_LOADING_T0 "Vlozte filament do extruderu 1. Potvrdte tlacitkem."
-MSG_FILAMENT_LOADING_T1 "Vlozte filament do extruderu 2. Potvrdte tlacitkem."
-MSG_FILAMENT_LOADING_T2 "Vlozte filament do extruderu 3. Potvrdte tlacitkem."
-MSG_FILAMENT_LOADING_T3 "Vlozte filament do extruderu 4. Potvrdte tlacitkem."
-MSG_FILAMENT_SENSOR "Senzor filamentu"
-MSG_FILAMENTCHANGE "Vymenit filament"
-MSG_FILE_CNT "Nektere soubory nebudou setrideny. Maximalni pocet souboru pro setrideni je 100."
-MSG_FILE_INCOMPLETE "Soubor nekompletni. Pokracovat?"
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iterace "
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Hledam kalibracni bod podlozky"
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " z 4"
-MSG_FINISHING_MOVEMENTS "Dokoncovani pohybu"
-MSG_FLOW "Prutok"
-MSG_FLOW0 "Prutok 0"
-MSG_FLOW1 "Prutok 1"
-MSG_FLOW2 "Prutok 2"
-MSG_FOLLOW_CALIBRATION_FLOW "Tiskarna nebyla jeste zkalibrovana. Postupujte prosim podle manualu, kapitola Zaciname, odstavec Postup kalibrace."
-MSG_FORCE_SELFTEST "Pro kalibraci presneho rehomovani bude nyni spusten selftest."
-MSG_FREE_MEMORY " Free Memory: "
-MSG_FSENS_AUTOLOAD_NA "F. autozav. [N/A]"
-MSG_FSENS_AUTOLOAD_OFF "F. autozav. [vyp]"
-MSG_FSENS_AUTOLOAD_ON "F. autozav. [zap]"
-MSG_FSENS_NOT_RESPONDING "CHYBA: Filament senzor nereaguje, zkontrolujte zapojeni."
-MSG_FSENSOR_NA "Fil. senzor [N/A]"
-MSG_FSENSOR_OFF "Fil. senzor [vyp]"
-MSG_FSENSOR_ON "Fil. senzor [zap]" 
-MSG_FW_VERSION_ALPHA "Pouzivate alpha verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny." 
-MSG_FW_VERSION_BETA "Pouzivate beta verzi firmwaru. Jedna se o vyvojovou verzi. Pouzivani teto verze firmware neni doporuceno a muze zpusobit poskozeni tiskarny."
-MSG_FW_VERSION_RC "Tato verze firmware je release candidate. Nektere z funkci nemusi pracovat spolehlive."
-MSG_FW_VERSION_UNKNOWN "VAROVANI: Neznama, nepodporovana verze firmware. Pouziti na vlastni nebezpeci!"
-MSG_HEATING "Zahrivani"
-MSG_HEATING_COMPLETE "Zahrivani OK."
-MSG_HOMEYZ "Kalibrovat Z"
-MSG_HOMEYZ "Kalibrovat Z"
-MSG_HOMEYZ_DONE "Kalibrace OK"
-MSG_HOMEYZ_DONE "Kalibrace OK"
-MSG_HOMEYZ_PROGRESS "Kalibruji Z"
-MSG_HOMEYZ_PROGRESS "Kalibruji Z"
-MSG_CHANGE_EXTR "Zmenit extruder"
-MSG_CHANGE_SUCCESS "Zmena uspesna!"
-MSG_CHANGED_BOTH "Varovani: doslo ke zmene typu tiskarny a motherboardu."
-MSG_CHANGED_MOTHERBOARD "Varovani: doslo ke zmene typu motherboardu."
-MSG_CHANGED_PRINTER "Varovani: doslo ke zmene typu tiskarny."
-MSG_CHANGING_FILAMENT "Vymena filamentu!"
-MSG_CHECK_IDLER "Prosim otevrete idler a manualne odstrante filament."
-MSG_CHOOSE_EXTRUDER "Vyberte extruder:"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Zlepsuji presnost kalibracniho bodu"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " z 4"
-MSG_INFO_EXTRUDER "Extruder info"
-MSG_INFO_NOZZLE_FAN "Trysk. vent:"
-MSG_INFO_PRINT_FAN "Tisk. vent:"
-MSG_INIT_SDCARD "Inic. SD"
-MSG_INSERT_FILAMENT "Vlozte filament"
-MSG_KILLED "KILLED. "
-MSG_LANGUAGE_NAME "Cestina"
-MSG_LANGUAGE_SELECT "Vyber jazyka"
-MSG_LEFT "Levy:"
-MSG_LOAD_ALL "Zavest vse"
-MSG_LOAD_EPROM "Ulozit pamet"
-MSG_LOAD_FILAMENT "Zavest filament"
-MSG_LOAD_FILAMENT_1 "Zavest filament 1"
-MSG_LOAD_FILAMENT_2 "Zavest filament 2"
-MSG_LOAD_FILAMENT_3 "Zavest filament 3"
-MSG_LOAD_FILAMENT_4 "Zavest filament 4"
-MSG_LOADING_COLOR "Cisteni barvy"
-MSG_LOADING_FILAMENT "Zavadeni filamentu"
-MSG_LOOSE_PULLEY "Uvolnena remenicka"
-MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
-MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
-MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
-MSG_M117_V2_CALIBRATION "M117 Kal. prvni vrstvy"
-MSG_M119_REPORT "Reporting endstop status"
-MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
-MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
-MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
-MSG_MAIN "Hlavni nabidka"
-MSG_MARK_FIL "Oznacte filament 100 mm od tela extruderu a po te potvrdte tlacitkem."
-MSG_MAX " \002 Max"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Merim referencni vysku kalibracniho bodu"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " z 9"
-MSG_MEASURED_SKEW "Merene zkoseni:"
-MSG_MENU_BELT_STATUS "Stav remenu"
-MSG_MENU_CALIBRATION "Kalibrace"
-MSG_MENU_TEMPERATURES "Teploty"
-MSG_MENU_VOLTAGES "Napeti"
-MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
-MSG_MIN " \002 Min"
-MSG_MOTION "Pohyb"
-MSG_MOVE_AXIS "Posunout osu"
-MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrace XYZ. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
-MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrace Z. Otacenim tlacitka posunte Z osu az k~hornimu dorazu. Potvrdte tlacitkem."
-MSG_MOVE_E "Extruder"
-MSG_MOVE_X "Posunout X"
-MSG_MOVE_Y "Posunout Y"
-MSG_MOVE_Z "Posunout Z"
-MSG_NEW_FIRMWARE_AVAILABLE "Vysla nova verze firmware:"
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prosim aktualizujte."
-MSG_NO "Ne"
-MSG_NO_CARD "Zadna SD karta"
-MSG_NO_MOVE "No move."
-MSG_NOT_COLOR "Barva neni cista"
-MSG_NOT_LOADED "Filament nezaveden"
-MSG_NOZZLE "Tryska"
-MSG_NOZZLE1 "Tryska2"
-MSG_NOZZLE2 "Tryska3"
-MSG_OK "ok"
-MSG_PAPER "Umistete list papiru na podlozku a udrzujte jej pod tryskou behem mereni prvnich 4 bodu. Pokud tryska zachyti papir, vypnete tiskarnu."
-MSG_PAUSE_PRINT "Pozastavit tisk"
-MSG_PICK_Z "Vyberte vytisk"
-MSG_PID_EXTRUDER "PID kalibrace"
-MSG_PID_FINISHED "PID kal. ukoncena"
-MSG_PID_RUNNING "PID kal.           "
-MSG_PINDA_NOT_CALIBRATED "Tiskarna nebyla teplotne zkalibrovana"
-MSG_PINDA_PREHEAT "Nahrivani PINDA"
-MSG_PLA_FILAMENT_LOADED "Je PLA filament zaveden?"
-MSG_PLACE_STEEL_SHEET "Umistete prosim tiskovy plat na heatbed"
-MSG_PLANNER_BUFFER_BYTES "  PlannerBufferBytes: "
-MSG_PLEASE_LOAD_PLA "Nejdrive zavedte PLA filament prosim."
-MSG_PLEASE_WAIT "Prosim cekejte"
-MSG_POWERUP "PowerUp"
-MSG_PREHEAT "Predehrev"
-MSG_PREHEAT_NOZZLE "Predehrejte trysku!"
-MSG_PREPARE_FILAMENT "Pripravte filament"
-MSG_PRESS "a stisknete tlacitko"
-MSG_PRESS_TO_PREHEAT "Pro nahrati trysky a pokracovani stisknete tlacitko."
-MSG_PRESS_TO_UNLOAD "Pro vysunuti filamentu stisknete prosim tlacitko"	
-MSG_PRINT_ABORTED "Tisk prerusen"
-MSG_PRINT_PAUSED "Tisk pozastaven"
-MSG_PULL_OUT_FILAMENT "Prosim vyjmete urychlene filament"
-MSG_REBOOT "Restartujte tiskarnu"
-MSG_RECOVER_PRINT "Detekovan vypadek proudu.Obnovit tisk?"
-MSG_RECOVERING_PRINT "Obnovovani tisku    "
-MSG_RECTRACT "Rectract"
-MSG_REFRESH "\xF8" "Obnovit"
-MSG_REMOVE_STEEL_SHEET "Odstrante tiskovy plat z heatbed prosim."
-MSG_RESEND "Resend: "
-MSG_RESTORE_FAILSAFE "Obnovit vychozi"
-MSG_RESUME_PRINT "Pokracovat"
-MSG_RESUMING "Obnoveni tisku"
-MSG_RESUMING_PRINT "Obnovovani tisku"
-MSG_RIGHT "Pravy:"
-MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
-MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
-MSG_SD_CARD_OK "SD card ok"
-MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
-MSG_SD_FILE_OPENED "File opened: "
-MSG_SD_FILE_SELECTED "File selected"
-MSG_SD_INIT_FAIL "SD init fail"
-MSG_SD_INSERTED "Karta vlozena"
-MSG_SD_NOT_PRINTING "Not SD printing"
-MSG_SD_OPEN_FILE_FAIL "open failed, File: "
-MSG_SD_OPENROOT_FAIL "openRoot failed"
-MSG_SD_PRINTING_BYTE "SD printing byte "
-MSG_SD_REMOVED "Karta vyjmuta"
-MSG_SD_VOL_INIT_FAIL "volume.init failed"
-MSG_SD_WORKDIR_FAIL "workDir open failed"
-MSG_SD_WRITE_TO_FILE "Writing to file: "
-MSG_SECOND_SERIAL_OFF "RPi port    [vyp]"
-MSG_SECOND_SERIAL_ON "RPi port    [zap]"
-MSG_SELFTEST "Selftest         "
-MSG_SELFTEST_AXIS "Osa"
-MSG_SELFTEST_AXIS_LENGTH "Delka osy"
-MSG_SELFTEST_BEDHEATER "Bed / Heater"
-MSG_SELFTEST_COOLING_FAN "Predni tiskovy vent?"
-MSG_SELFTEST_ENDSTOP "Endstop"
-MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop not hit"
-MSG_SELFTEST_ENDSTOPS "Endstops"
-MSG_SELFTEST_ERROR "Selftest error !"
-MSG_SELFTEST_EXTRUDER_FAN "Levy vent na trysce?"
-MSG_SELFTEST_EXTRUDER_FAN_SPEED "Levy vent.:"
-MSG_SELFTEST_FAILED "Selftest selhal  "
-MSG_SELFTEST_FAN "Test ventilatoru"
-MSG_SELFTEST_FAN_NO "Netoci se"
-MSG_SELFTEST_FAN_YES "Toci se"
-MSG_SELFTEST_FANS "Predni/levy vent."
-MSG_SELFTEST_FILAMENT_SENSOR "Senzor filamentu:"
-MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
-MSG_SELFTEST_CHECK_ALLCORRECT "Vse OK           "
-MSG_SELFTEST_CHECK_BED "Kontrola bed     "
-MSG_SELFTEST_CHECK_ENDSTOPS "Kontrola endstops"
-MSG_SELFTEST_CHECK_FSENSOR "Kontrola senzoru"
-MSG_SELFTEST_CHECK_HOTEND "Kontrola hotend  "  
-MSG_SELFTEST_CHECK_X "Kontrola X axis  "
-MSG_SELFTEST_CHECK_Y "Kontrola Y axis  "
-MSG_SELFTEST_CHECK_Z "Kontrola Z axis  "
-MSG_SELFTEST_MOTOR "Motor"
-MSG_SELFTEST_NOTCONNECTED "Nezapojeno    "
-MSG_SELFTEST_OK "Self test OK"
-MSG_SELFTEST_PLEASECHECK "Zkontrolujte :"	
-MSG_SELFTEST_PRINT_FAN_SPEED "Tiskovy vent.:"
-MSG_SELFTEST_START "Self test start  "
-MSG_SELFTEST_SWAPPED "Prohozene"
-MSG_SELFTEST_WIRINGERROR "Chyba zapojeni"
-MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
-MSG_SET_HOME_OFFSETS "Nastav pocatek home"
-MSG_SET_ORIGIN "Nastav pocatek"
-MSG_SET_TEMPERATURE "Nastavte teplotu:"
-MSG_SETTINGS "Nastaveni"
-MSG_SEVERE_SKEW "Tezke zkoseni:"
-MSG_SHOW_END_STOPS "Stav konc. spin."
-MSG_SILENT_MODE_OFF "Mod  [vys. vykon]" 
-MSG_SILENT_MODE_ON "Mod       [tichy]"
-MSG_SLIGHT_SKEW "Lehke zkoseni:"
-MSG_SORT_ALPHA "Trideni [Abeceda]"
-MSG_SORT_NONE "Trideni   [Zadne]"
-MSG_SORT_TIME "Trideni     [Cas]"
-MSG_SORTING "Trideni souboru"
-MSG_SPEED "Rychlost"
-MSG_STACK_ERROR "Chyba - Doslo k prepisu staticke pameti!"
-MSG_STATISTICS "Statistika  "
-MSG_STATS_FILAMENTUSED "Filament :  "
-MSG_STATS_PRINTTIME "Cas tisku :  "
-MSG_STATS_TOTALFILAMENT "Filament celkem :"
-MSG_STATS_TOTALPRINTTIME "Celkovy cas :"
-MSG_STEALTH_MODE_OFF "Mod      [Normal]"
-MSG_STEALTH_MODE_ON "Mod     [Stealth]"
-MSG_STEEL_SHEET_CHECK "Je tiskovy plat na heatbed?"
-MSG_STEPPER_TOO_HIGH "Steprate too high: "
-MSG_STOP_PRINT "Zastavit tisk"
-MSG_STOPPED "STOPPED. "
-MSG_STORE_EPROM "Store memory"
-MSG_SUPPORT "Podpora"
-MSG_SWITCH_PS_OFF "Zapnout zdroj"
-MSG_SWITCH_PS_ON "Vypnout zdroj"
-MSG_TAKE_EFFECT " pro projeveni zmen"	
-MSG_TEMP_CAL_FAILED "Teplotni kalibrace selhala"
-MSG_TEMP_CALIBRATION "Tepl. kal.          "
-MSG_TEMP_CALIBRATION_DONE "Teplotni kalibrace dokoncena a je nyni aktivni. Teplotni kalibraci je mozno deaktivovat v menu Nastaveni->Tepl. kal."
-MSG_TEMP_CALIBRATION_OFF "Tepl. kal.  [vyp]"
-MSG_TEMP_CALIBRATION_ON "Tepl. kal.  [zap]"
-MSG_TEMPERATURE "Teplota"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card  [normal]"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
-MSG_TUNE "Ladit"
-MSG_UNLOAD_ALL "Vyjmout vse"
-MSG_UNLOAD_FILAMENT "Vyjmout filament"
-MSG_UNLOAD_FILAMENT_1 "Vyjmout filam. 1"
-MSG_UNLOAD_FILAMENT_2 "Vyjmout filam. 2"
-MSG_UNLOAD_FILAMENT_3 "Vyjmout filam. 3"
-MSG_UNLOAD_FILAMENT_4 "Vyjmout filam. 4"
-MSG_UNLOAD_SUCCESSFUL "Bylo vysunuti filamentu uspesne?"
-MSG_UNLOADING_FILAMENT "Vysouvam filament"
-MSG_USB_PRINTING "Tisk z USB  "
-MSG_USED "Pouzite behem tisku"
-MSG_USERWAIT "Wait for user..."
-MSG_V2_CALIBRATION "Kal. prvni vrstvy"
-MSG_VOLUMETRIC "Filament"
-MSG_VOLUMETRIC_ENABLED "E in mm3"
-MSG_WAITING_TEMP "Cekani na zchladnuti trysky a podlozky."
-MSG_WAITING_TEMP_PINDA "Cekani na zchladnuti PINDA"
-MSG_WATCH "Informace"
-MSG_WIZARD "Wizard"
-MSG_WIZARD_CALIBRATION_FAILED "Prosim nahlednete do manualu a opravte problem. Po te obnovte Wizarda rebootovanim tiskarny."
-MSG_WIZARD_CLEAN_HEATBED "Prosim ocistete heatbed a stisknete tlacitko."
-MSG_WIZARD_DONE "Vse je hotovo."
-MSG_WIZARD_FILAMENT_LOADED "Je filament zaveden?"
-MSG_WIZARD_HEATING "Predehrivam trysku. Prosim cekejte."
-MSG_WIZARD_INSERT_CORRECT_FILAMENT "Prosim zavedte PLA filament a po te obnovte Wizarda stisknutim reset tlacitka."
-MSG_WIZARD_LOAD_FILAMENT "Prosim vlozte PLA filament do extruderu, po te stisknete tlacitko pro zavedeni filamentu."
-MSG_WIZARD_PLA_FILAMENT "Je to PLA filament?"		
-MSG_WIZARD_QUIT "Wizarda muzete kdykoliv znovu spustit z menu Calibration -> Wizard"
-MSG_WIZARD_REPEAT_V2_CAL "Chcete opakovat posledni krok a pozmenit vzdalenost mezi tryskou a heatbed?"
-MSG_WIZARD_RERUN "Spusteni Wizarda vymaze ulozene vysledky vsech kalibraci a spusti kalibracni proces od zacatku. Pokracovat?"
-MSG_WIZARD_SELFTEST "Nejdriv pomoci selftestu zkontoluji nejcastejsi chyby vznikajici pri sestaveni tiskarny."
-MSG_WIZARD_V2_CAL "Nyni zkalibruji vzdalenost mezi koncem trysky a povrchem heatbedu."
-MSG_WIZARD_V2_CAL_2 "Zacnu tisknout linku a Vy budete postupne snizovat trysku otacenim tlacitka dokud nedosahnete optimalni vysky. Prohlednete si obrazky v nasi prirucce v kapitole Kalibrace"
-MSG_WIZARD_WELCOME "Dobry den, jsem vase tiskarna Original Prusa i3. Chcete abych Vas provedla kalibracnim procesem?"
-MSG_WIZARD_WILL_PREHEAT "Nyni predehreji trysku pro PLA."
-MSG_WIZARD_XYZ_CAL "Nyni provedu xyz kalibraci. Zabere to priblizne 12 min."
-MSG_WIZARD_Z_CAL "Nyni provedu z kalibraci."
-MSG_XYZ_DETAILS "Detaily XYZ kal."
-MSG_Y_DISTANCE_FROM_MIN "Y vzdalenost od min:"
-MSG_YES "Ano"
-WELCOME_MSG CUSTOM_MENDEL_NAME " ok"

+ 0 - 296
lang_upgrade/msgs_de.txt

@@ -1,296 +0,0 @@
-MSG_ADJUSTZ "Auto Z einstellen?"
-MSG_ALL "Alle"
-MSG_AUTO_HOME "Startposition"
-MSG_BABYSTEP_X "Babystep X"
-MSG_BABYSTEP_Y "Babystep Y"
-MSG_BABYSTEP_Z "Z einstellen"
-MSG_BABYSTEP_Z_NOT_SET "Der Abstand zwischen der Spitze der Duese und der Bett ist noch nicht eingestellt. Bitte folgen Sie dem Handbuch, First steps, section First layer calibration."
-MSG_BABYSTEPPING_X "Babystepping X"
-MSG_BABYSTEPPING_Y "Babystepping Y"
-MSG_BABYSTEPPING_Z "Z wurde eingestellt"
-MSG_BED "Bett"
-MSG_BED_CORRECTION_FRONT "Vorne     [um]"
-MSG_BED_CORRECTION_LEFT "Links     [um]"
-MSG_BED_CORRECTION_MENU "Bett level Korrekt"
-MSG_BED_CORRECTION_REAR "Hinten    [um]"
-MSG_BED_CORRECTION_RESET "Ruecksetzen"
-MSG_BED_CORRECTION_RIGHT "Rechts    [um]"
-MSG_BED_DONE "Bett OK"
-MSG_BED_HEATING "Bett aufwaermen"
-MSG_BED_LEVELING_FAILED_POINT_HIGH "Z-Kalibrierung fehlgeschlg. Sensor zu hoch ausgeloest. Warte auf Reset."
-MSG_BED_LEVELING_FAILED_POINT_LOW "Z-Kal. fehlgeschlg. Sensor nicht ausgeloest. Schmutzige Duese? Warte auf Reset"
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Z-Kalibrierung fehlgeschlg. Sensor nicht angeschlossen. Warte auf Reset."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte sind zu weit vorne."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ-Kalibrierung fehlgeschlagen. Linker vorderer Kalibrierpunkt ist zu weit vorne."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt ist zu weit vorne."
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch."
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander. Glueckwunsch!"
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ Kalibrierung in Ordnung. Schiefheit wird automatisch korrigiert."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ Kalibrierung in Ordnung. X/Y Achsen sind etwas schief."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ-Kalibrierung ungenau. Vordere Kalibrierpunkte sind zu weit vorne."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ-Kalibrierung ungenau. Linker vorderer Kalibrierpunkt ist zu weit vorne."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ-Kalibrierung ungenau. Rechter vorderer Kalibrierpunkt ist zu weit vorne."
-MSG_BEGIN_FILE_LIST "Beginn Dateiliste"
-MSG_CALIBRATE_BED "Kalibrierung XYZ"
-MSG_CALIBRATE_BED_RESET "Reset XYZ Kalibr."
-MSG_CALIBRATE_E "Kalibriere E"
-MSG_CALIBRATE_PINDA "Kalibrieren"
-MSG_CALIBRATION_PINDA_MENU "Temp. kalibrieren"
-MSG_CARD_MENU "Drucken von SD"
-MSG_CLEAN_NOZZLE_E "E-Kalibrierung beendet. Bitte reinigen Sie die Duese. Klicken wenn fertig."
-MSG_CNG_SDCARD "Wechsel SD Karte"
-MSG_CONFIGURATION_VER " Letztes Update:"
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Ist der Schlitten ganz oben?"
-MSG_CONFIRM_NOZZLE_CLEAN "Bitte entfernen Sie ueberstehendes Filament von der Duese. Klicken wenn sauber."
-MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamente sind jetzt eingestellt. Bitte reinigen Sie die Duese zur Kalibrierung. Klicken wenn fertig."
-MSG_CONTROL "Kontrolle"
-MSG_COOLDOWN "Abkuehlen"
-MSG_CORRECTLY "Wechsel ok?"
-MSG_CURRENT "Aktuelles"
-MSG_DATE "Datum"
-MSG_DISABLE_STEPPERS "Motoren aus"
-MSG_DWELL "Einen Moment bitte."
-MSG_E_CAL_KNOB "Knopf drehen bis die Filamentmarkierung erreicht ist. Klicken wenn fertig."
-MSG_END_FILE_LIST "Ende Dateiliste"
-MSG_ENDSTOP_HIT "AUSGELOEST"
-MSG_ENDSTOP_OPEN "offen"
-MSG_ENDSTOPS_HIT "Endanschlag erreicht"
-MSG_Enqueing "enqueuing \"
-MSG_ERR_COLD_EXTRUDE_STOP "Stopp, Extruder kalt!"
-MSG_ERR_CHECKSUM_MISMATCH "Pruefsummenfehler, Letzte Zeile: " //Checksum Fehler, Letzte Zeile: "
-MSG_ERR_KILLED "Printer gestoppt. kill() aufgerufen!"
-MSG_ERR_NO_CHECKSUM "Keine Pruefsumme mit Zeilennummer, Letzte Zeile: " //Keine Checksum mit Zeilennummer, Letzte Zeile: "
-MSG_ERR_NO_THERMISTORS "Keine Thermistoren - keine Temperatur"
-MSG_ERR_STOPPED "Drucker aufgrund von Fehlern gestoppt. Fehler beheben und mit M999 neu starten. (Temperatur wird zurueckgesetzt. Nach dem Neustart neu einstellen!)"
-MSG_ERROR "FEHLER:"
-MSG_EXTRUDER "Extruder"
-MSG_EXTRUDER_1 "Extruder 1"
-MSG_EXTRUDER_2 "Extruder 2"
-MSG_EXTRUDER_3 "Extruder 3"
-MSG_EXTRUDER_4 "Extruder 4"
-MSG_FACTOR " \002 Fakt"
-MSG_FAN_SPEED "Luefter-Tempo"
-MSG_FIL_ADJUSTING "Filament positionieren. Bitte warten."
-MSG_FILAMENT_CLEAN "Ist Farbe rein?"
-MSG_FILAMENT_LOADING_T0 "Filament in extruder 1 einlegen. Klicken wenn fertig."
-MSG_FILAMENT_LOADING_T1 "Filament in extruder 2 einlegen. Klicken wenn fertig."
-MSG_FILAMENT_LOADING_T2 "Filament in extruder 3 einlegen. Klicken wenn fertig."
-MSG_FILAMENT_LOADING_T3 "Filament in extruder 4 einlegen. Klicken wenn fertig."
-MSG_FILAMENTCHANGE "Filament-Wechsel"
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteration "
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Suchen Bett Kalibrierpunkt"
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " von 4"
-MSG_FINISHING_MOVEMENTS "Bewegung beenden"
-MSG_FLOW "Durchfluss"
-MSG_FLOW0 "Durchfluss 0"
-MSG_FLOW1 "Durchfluss 1"
-MSG_FLOW2 "Durchfluss 2"
-MSG_FOLLOW_CALIBRATION_FLOW "Der Drucker wurde noch nicht kalibriert. Bitte folgen Sie das Handbuch, Kapitel First steps, Abschnitt Calibration flow."
-MSG_FREE_MEMORY " Freier Speicher: "
-MSG_HEATING "Aufwaermen"
-MSG_HEATING_COMPLETE "Aufwaermen OK"
-MSG_HOMEYZ "Kalibrieren Z"
-MSG_HOMEYZ_DONE "Kalibrierung OK"
-MSG_HOMEYZ_PROGRESS "Kalibriere Z"
-MSG_CHANGE_EXTR "Wechsel extruder"
-MSG_CHANGE_SUCCESS "Wechsel erfolgr.!"
-MSG_CHANGING_FILAMENT "Filament-Wechsel!"
-MSG_CHOOSE_EXTRUDER "Waehlen Sie Extruder"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Verbesserung Bett Kalibrierpunkt"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " von 4"
-MSG_INIT_SDCARD "Init SD Karte"
-MSG_INSERT_FILAMENT "Filament einlegen"
-MSG_KILLED "ABGEBROCHEN. "
-MSG_LANGUAGE_NAME "Deutsch"
-MSG_LANGUAGE_SELECT "Waehle Sprache"
-MSG_LEFT "Links:"
-MSG_LOAD_ALL "Alle laden"
-MSG_LOAD_EPROM "Lade Speicher"
-MSG_LOAD_FILAMENT "Filament laden"
-MSG_LOAD_FILAMENT_1 "Filament 1 laden"
-MSG_LOAD_FILAMENT_2 "Filament 2 laden"
-MSG_LOAD_FILAMENT_3 "Filament 3 laden"
-MSG_LOAD_FILAMENT_4 "Filament 4 laden"
-MSG_LOADING_COLOR "Lade Farbe"
-MSG_LOADING_FILAMENT "Filament leadt"
-MSG_LOOSE_PULLEY "Lose Riemenscheibe"
-MSG_M104_INVALID_EXTRUDER "M104 Falscher Extruder"
-MSG_M105_INVALID_EXTRUDER "M105 Falscher Extruder"
-MSG_M109_INVALID_EXTRUDER "M109 Falscher Extruder"
-MSG_M117_V2_CALIBRATION "M117 Erste-Schicht Kal."
-MSG_M119_REPORT "Statusbericht Endanschlag"
-MSG_M200_INVALID_EXTRUDER "M200 Falscher Extruder"
-MSG_M218_INVALID_EXTRUDER "M218 Falscher Extruder"
-MSG_M221_INVALID_EXTRUDER "M221 Falscher Extruder"
-MSG_MAIN "Hauptmenue"
-MSG_MARK_FIL "Filament 100mm vom Extrudergehaeuse markieren. Klicken wenn Fertig."
-MSG_MAX " \002 Max"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Messen der Referenzhoehe des Kalibrierpunktes"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " von 9"
-MSG_MEASURED_SKEW "Schraeglauf:"
-MSG_MENU_CALIBRATION "Kalibrierung"
-MSG_MESH_BED_LEVELING "Mesh Bett Leveling"
-MSG_MIN " \002 Min"
-MSG_MOTION "Bewegung"
-MSG_MOVE_AXIS "Achsbewegung"
-MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrieren von XYZ. Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Klicken Sie den Knopf wenn es ganz oben wird."
-MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrieren von Z. Drehen Sie den Knopf bis der obere Anschlag erreicht wird. Klicken Sie den Knopf wenn es ganz oben wird."
-MSG_MOVE_E "Extruder"
-MSG_MOVE_X "Bewege X"
-MSG_MOVE_Y "Bewege Y"
-MSG_MOVE_Z "Bewege Z"
-MSG_NEW_FIRMWARE_AVAILABLE "Neue Firmware Version verfuegbar:"
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Bitte aktualisieren."
-MSG_NO "Nein"
-MSG_NO_CARD "Keine SD Karte"
-MSG_NO_MOVE "Keine Bewegung."
-MSG_NOT_COLOR "Farbe unklar"
-MSG_NOT_LOADED "Fil. nicht geladen"
-MSG_NOZZLE "Duese"
-MSG_NOZZLE1 "Duese2"
-MSG_NOZZLE2 "Duese3"
-MSG_OK "ok"
-MSG_PAPER "Legen ein Blatt Papier unter die Duese waehrend der Kalibrierung der ersten 4 Punkte. Wenn die Duese das Papier einklemmt, Drucker sofort ausschalten"
-MSG_PAUSE_PRINT "Druck unterbrech."
-MSG_PICK_Z "Waehle Abdruck"
-MSG_PID_EXTRUDER "PID Kalibrierung"
-MSG_PID_FINISHED "PID Kalib. fertig"
-MSG_PID_RUNNING "PID Kalib."
-MSG_PINDA_NOT_CALIBRATED "Temperatur wurde nicht kalibriert"
-MSG_PINDA_PREHEAT "PINDA erwaermen"
-MSG_PLA_FILAMENT_LOADED "Ist PLA Filament geladen?"
-MSG_PLANNER_BUFFER_BYTES "  PlannerBufferBytes: "
-MSG_PLEASE_LOAD_PLA "Bitte laden Sie zuerst PLA Filament."
-MSG_PLEASE_WAIT "Bitte warten"
-MSG_POWERUP "Einschalten"
-MSG_PREHEAT "Vorwaermen"
-MSG_PREHEAT_NOZZLE "Duese Vorwaermen"
-MSG_PREPARE_FILAMENT "Filam. bereithalten"
-MSG_PRESS "und Knopf druecken"
-MSG_PRINT_ABORTED "Druck abgebrochen"
-MSG_PRINT_PAUSED "Druck pausiert"
-MSG_PRUSA3D "prusa3d.com"
-MSG_PRUSA3D_FORUM "forum.prusa3d.com"
-MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
-MSG_REBOOT "Zum Uebernehmen "
-MSG_RECTRACT "Retract"
-MSG_REFRESH "\xF8" "Erneuern"
-MSG_RESEND "Wiederholen: "
-MSG_RESTORE_FAILSAFE "Standardwerte setzen"
-MSG_RESUME_PRINT "Fortsetzen"
-MSG_RESUMING "Druck fortgesetzt"
-MSG_RESUMING_PRINT "Druck weitergehen"
-MSG_RIGHT "Rechts:"
-MSG_SD_CANT_ENTER_SUBDIR "Zugangsproblem Unterverzeichnis: "
-MSG_SD_CANT_OPEN_SUBDIR "Kann Unterverz. nicht oeffnen"
-MSG_SD_CARD_OK "SD Karte ok"
-MSG_SD_ERR_WRITE_TO_FILE "Fehler beim Schreiben in Datei"
-MSG_SD_FILE_OPENED "Datei geoeffnet: "
-MSG_SD_FILE_SELECTED "Datei ausgewaehlt"
-MSG_SD_INIT_FAIL "SD Init fehlerhaft"
-MSG_SD_INSERTED "SD eingesetzt"
-MSG_SD_NOT_PRINTING "Kein SD Print"
-MSG_SD_OPEN_FILE_FAIL "Fehler beim Oeffnen der Datei: "
-MSG_SD_OPENROOT_FAIL "Zugriff auf Basisverzeichnis misslungen"
-MSG_SD_PRINTING_BYTE "SD printing byte "
-MSG_SD_REMOVED "SD entfernt "
-MSG_SD_VOL_INIT_FAIL "Dateisystem Init fehlerhaft"
-MSG_SD_WORKDIR_FAIL "Oeffnen Arbeitsverzeichnis misslungen"
-MSG_SD_WRITE_TO_FILE "Schreiben der Datei: "
-MSG_SELFTEST "Selbsttest       "
-MSG_SELFTEST_BEDHEATER "Bett / Heater"
-MSG_SELFTEST_COOLING_FAN "Vorderer Luefter?"
-MSG_SELFTEST_ENDSTOP "Endstop"
-MSG_SELFTEST_ENDSTOP_NOTHIT "Ende nicht getrof."
-MSG_SELFTEST_ENDSTOPS "Endschalter"
-MSG_SELFTEST_ERROR "Selbtest Fehler!"
-MSG_SELFTEST_EXTRUDER_FAN "Linker Luefter?"
-MSG_SELFTEST_FAILED "Selbsttest misslung."
-MSG_SELFTEST_FAN "Lueftertest"
-MSG_SELFTEST_FAN_NO "Dreht nicht"
-MSG_SELFTEST_FAN_YES "Dreht"
-MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
-MSG_SELFTEST_CHECK_ALLCORRECT "Alles richtig    "
-MSG_SELFTEST_CHECK_BED "Pruefe Bett        "
-MSG_SELFTEST_CHECK_ENDSTOPS "Pruefe Endschalter  "
-MSG_SELFTEST_CHECK_HOTEND "Pruefe Duese" 
-MSG_SELFTEST_CHECK_X "Pruefe X Achse    "
-MSG_SELFTEST_CHECK_Y "Pruefe Y Achse    "
-MSG_SELFTEST_CHECK_Z "Pruefe Z Achse    "
-MSG_SELFTEST_MOTOR "Motor"
-MSG_SELFTEST_NOTCONNECTED "Nicht angeschlossen"
-MSG_SELFTEST_OK "Selbsttest OK"
-MSG_SELFTEST_PLEASECHECK "Bitte pruefe:"
-MSG_SELFTEST_START "Selbsttest start "
-MSG_SELFTEST_WIRINGERROR "Verdrahtungfehler"
-MSG_SERIAL_ERROR_MENU_STRUCTURE "Menuestruktur fehlerhaft"
-MSG_SET_HOME_OFFSETS "Abstand vom Ursprung einstellen"
-MSG_SET_ORIGIN "Ursprung einstellen"
-MSG_SET_TEMPERATURE "Temp. einsetzen"
-MSG_SETTINGS "Einstellungen"
-MSG_SEVERE_SKEW "Schwerer Schr.:"
-MSG_SHOW_END_STOPS "Endschalter Stat."
-MSG_SILENT_MODE_OFF "Mode [Hohe Leist]"
-MSG_SILENT_MODE_ON "Mode     [leise]"
-MSG_SLIGHT_SKEW "Leichter Schr.:"
-MSG_SPEED "Geschwindigkeit"
-MSG_STATISTICS "Statistiken "
-MSG_STATS_FILAMENTUSED "Filamentverbrauch:"
-MSG_STATS_PRINTTIME "Druckzeit:  "
-MSG_STATS_TOTALFILAMENT "Gesamtfilament:"
-MSG_STATS_TOTALPRINTTIME "Totale Druckzeit:"
-MSG_STEPPER_TOO_HIGH "Schrittrate zu hoch"
-MSG_STOP_PRINT "Druck abbrechen"
-MSG_STOPPED "GESTOPPT. "
-MSG_STORE_EPROM "Abspeichern"
-MSG_SUPPORT "Support"
-MSG_SWITCH_PS_OFF "Netzteil AUS"
-MSG_SWITCH_PS_ON "Netzteil EIN"
-MSG_TAKE_EFFECT "Drucker neu starten"
-MSG_TEMP_CALIBRATION "Temp Kalib.         "
-MSG_TEMP_CALIBRATION_DONE "Temp. Kalibrierung fertig. Klicken um weiter zu gehen."
-MSG_TEMP_CALIBRATION_OFF "Temp. Kal. [OFF]"
-MSG_TEMP_CALIBRATION_ON "Temp. Kal. [ON]"
-MSG_TEMPERATURE "Temperatur"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD Karte [normal]"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD Karte [FlashAir]"
-MSG_TUNE "Feineinstellung"
-MSG_UNLOAD_ALL "Alles entladen"
-MSG_UNLOAD_FILAMENT "Filament entladen"
-MSG_UNLOAD_FILAMENT_1 "Filam. 1 entladen"
-MSG_UNLOAD_FILAMENT_2 "Filam. 2 entladen"
-MSG_UNLOAD_FILAMENT_3 "Filam. 3 entladen"
-MSG_UNLOAD_FILAMENT_4 "Filam. 4 entladen"
-MSG_UNLOADING_FILAMENT "Filament auswerfen"
-MSG_USB_PRINTING "Drucken ueber USB"
-MSG_USED "Beim Druck benutzte"
-MSG_USERWAIT "Warte auf user..."
-MSG_V2_CALIBRATION "Erste-Schicht Kal"
-MSG_VOLUMETRIC "Filament"
-MSG_VOLUMETRIC_ENABLED "E in mm3"
-MSG_WAITING_TEMP "Warten auf Abkuehlung von Heater und Bett."
-MSG_WATCH "Information"
-MSG_WIZARD "Wizard"
-MSG_WIZARD_CALIBRATION_FAILED "Bitte ueberpruefen Sie unser Handbuch und beheben Sie das Problem. Fahren Sie dann mit dem Assistenten fort, indem Sie den Drucker neu starten."
-MSG_WIZARD_CLEAN_HEATBED "Bitte reinigen Sie das Heizbett und druecken Sie dann den Knopf."
-MSG_WIZARD_DONE "Alles wurde getan. Viel Spass beim Drucken!"
-MSG_WIZARD_FILAMENT_LOADED "Ist das Filament geladen?"
-MSG_WIZARD_HEATING "Vorheizen der Duese. Bitte warten."
-MSG_WIZARD_INSERT_CORRECT_FILAMENT "Bitte laden Sie PLA-Filament und fahren Sie mit dem Assistenten fort, indem Sie den Drucker neu starten."
-MSG_WIZARD_LOAD_FILAMENT "Fuehren Sie bitte PLA Filament in den Extruder und bestaetigen Sie den Knopf um es zu laden."
-MSG_WIZARD_PLA_FILAMENT "Ist es wirklich PLA Filament?"
-MSG_WIZARD_QUIT "Sie koennen immer den Asistenten im Menu neu aufrufen: Kalibrierung -> Assistant"
-MSG_WIZARD_REPEAT_V2_CAL "Moechten Sie den letzten Schritt wiederholen um den Abstand zwischen Duese und Druckbett neu einzustellen?"
-MSG_WIZARD_RERUN "Der laufende Assistent loescht die aktuelle Kalibrierergebnisse und wird von Anfang an beginnen. Fortsetzen?"
-MSG_WIZARD_SELFTEST "Zunaechst fuehre ich den Selbsttest durch um die haeufigsten Probleme bei der Aufbau zu ueberpruefen."
-MSG_WIZARD_V2_CAL "Jetzt werde ich den Abstand zwischen Duesenspitze und Druckbett kalibrieren."
-MSG_WIZARD_V2_CAL_2 "Ich werde jetzt erste Linie drucken. Waehrend des Druckes koennen Sie die Duese allmaehlich senken indem Sie den Knopf drehen, bis Sie die optimale Hoehe erreichen. Ueberpruefen Sie die Bilder in unserem Handbuch im Kapitel Kalibrierung"
-MSG_WIZARD_WELCOME "Hallo, ich bin dein Original Prusa i3 Drucker. Moechten Sie meine Hilfe durch den Setup-Prozess?"
-MSG_WIZARD_WILL_PREHEAT "Jetzt werde ich die Duese fuer PLA vorheizen. "
-MSG_WIZARD_XYZ_CAL "Ich werde jetzt die XYZ-Kalibrierung durchfuehren. Es wird ca. 12 Minuten dauern"
-MSG_WIZARD_Z_CAL "Ich werde jetzt die Z Kalibrierung durchfuehren."
-MSG_XYZ_DETAILS "XYZ Kal. Details"
-MSG_Y_DISTANCE_FROM_MIN "Y Entfernung vom min"
-MSG_YES "Ja"
-WELCOME_MSG CUSTOM_MENDEL_NAME " bereit."

+ 0 - 373
lang_upgrade/msgs_en.txt

@@ -1,373 +0,0 @@
-MSG_ADJUSTZ c=0 r=0 "Auto adjust Z?"
-MSG_ALL c=19 r=1 "All"
-MSG_AUTO_HOME c=0 r=0 "Auto home"
-MSG_AUTO_MODE_ON c=0 r=0 "Mode [auto power]"
-MSG_AUTOLOAD_FILAMENT c=17 r=0 "AutoLoad filament"
-MSG_AUTOLOADING_ENABLED c=20 r=4 "Autoloading filament is active, just press the knob and insert filament..."
-MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 "Autoloading filament available only when filament sensor is turned on..."
-MSG_BABYSTEP_X c=0 r=0 "Babystep X"
-MSG_BABYSTEP_Y c=0 r=0 "Babystep Y"
-MSG_BABYSTEP_Z c=0 r=0 "Live adjust Z"
-MSG_BABYSTEP_Z_NOT_SET c=20 r=12 "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."
-MSG_BABYSTEPPING_X c=0 r=0 "Babystepping X"
-MSG_BABYSTEPPING_Y c=0 r=0 "Babystepping Y"
-MSG_BABYSTEPPING_Z c=20 r=0 "Adjusting Z"
-MSG_BED c=0 r=0 "Bed"
-MSG_BED_CORRECTION_FRONT c=14 r=1 "Front side[um]"
-MSG_BED_CORRECTION_LEFT c=14 r=1 "Left side [um]"
-MSG_BED_CORRECTION_MENU c=0 r=0 "Bed level correct"
-MSG_BED_CORRECTION_REAR c=14 r=1 "Rear side [um]"
-MSG_BED_CORRECTION_RESET c=0 r=0 "Reset"
-MSG_BED_CORRECTION_RIGHT c=14 r=1 "Right side[um]"
-MSG_BED_DONE c=0 r=0 "Bed done"
-MSG_BED_HEATING c=0 r=0 "Bed Heating"
-MSG_BED_HEATING_SAFETY_DISABLED c=0 r=0 "Heating disabled by safety timer."
-MSG_BED_LEVELING_FAILED_POINT_HIGH c=20 r=4 "Bed leveling failed. Sensor triggered too high. Waiting for reset."
-MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=4 "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED c=20 r=4 "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=8 "XYZ calibration failed. Front calibration points not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 "XYZ calibration failed. Left front calibration point not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=8 "XYZ calibration failed. Right front calibration point not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 "XYZ calibration failed. Please consult the manual."
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!"
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=8 "XYZ calibration failed. Bed calibration point was not found."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 "XYZ calibration all right. Skew will be corrected automatically."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 "XYZ calibration all right. X/Y axes are slightly skewed. Good job!"
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 "XYZ calibration compromised. Front calibration points not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 "XYZ calibration compromised. Left front calibration point not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 "XYZ calibration compromised. Right front calibration point not reachable."
-MSG_BEGIN_FILE_LIST c=0 r=0 "Begin file list"
-MSG_CALIBRATE_BED c=0 r=0 "Calibrate XYZ"
-MSG_CALIBRATE_BED_RESET c=0 r=0 "Reset XYZ calibr."
-MSG_CALIBRATE_E c=20 r=1 "Calibrate E"
-MSG_CALIBRATE_PINDA c=17 r=1 "Calibrate"
-MSG_CALIBRATE_Z_AUTO c=20 r=2 "Calibrating Z"
-MSG_CALIBRATION_PINDA_MENU c=17 r=1 "Temp. calibration"
-MSG_CARD_MENU c=0 r=0 "Print from SD"
-MSG_CLEAN_NOZZLE_E c=20 r=8 "E calibration finished. Please clean the nozzle. Click when done."
-MSG_CNG_SDCARD c=0 r=0 "Change SD card"
-MSG_CONFIGURATION_VER c=0 r=0 " Last Updated: "
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 "Are left and right Z~carriages all up?"
-MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 "Please clean the nozzle for calibration. Click when done."
-MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ c=20 r=8 "Filaments are now adjusted. Please clean the nozzle for calibration. Click when done."
-MSG_CONTROL c=0 r=0 "Control"
-MSG_COOLDOWN c=0 r=0 "Cooldown"
-MSG_CORRECTLY c=20 r=0 "Changed correctly?"
-MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
-MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 "\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"
-MSG_CRASH_DETECTED c=20 r=1 "Crash detected."
-MSG_CRASH_DETECTED2 c=20 r=2 "Crash detected. Continue printing?"
-MSG_CRASHDETECT_NA c=0 r=0 "Crash det.  [N/A]"
-MSG_CRASHDETECT_OFF c=0 r=0 "Crash det.  [off]"
-MSG_CRASHDETECT_ON c=0 r=0 "Crash det.   [on]"
-MSG_CURRENT c=19 r=1 "Current"
-MSG_DATE c=17 r=1 "Date:"
-MSG_DEFAULT_SETTINGS_LOADED c=20 r=4 "Old settings found. Default PID, Esteps etc. will be set."
-MSG_DISABLE_STEPPERS c=0 r=0 "Disable steppers"
-MSG_DWELL c=0 r=0 "Sleep..."
-MSG_E_CAL_KNOB c=20 r=8 "Rotate knob until mark reaches extruder body. Click when done."
-MSG_END_FILE_LIST c=0 r=0 "End file list"
-MSG_ENDSTOP_HIT c=0 r=0 "TRIGGERED"
-MSG_ENDSTOP_OPEN c=0 r=0 "open"
-MSG_ENDSTOPS_HIT c=0 r=0 "endstops hit: "
-MSG_Enqueing c=0 r=0 "enqueing \""
-MSG_ERR_COLD_EXTRUDE_STOP c=0 r=0 " cold extrusion prevented"
-MSG_ERR_CHECKSUM_MISMATCH c=0 r=0 "checksum mismatch, Last Line: "
-MSG_ERR_KILLED c=0 r=0 "Printer halted. kill() called!"
-MSG_ERR_NO_CHECKSUM c=0 r=0 "No Checksum with line number, Last Line: "
-MSG_ERR_NO_THERMISTORS c=0 r=0 "No thermistors - no temperature"
-MSG_ERR_STOPPED c=0 r=0 "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-MSG_ERROR c=0 r=0 "ERROR:"
-MSG_EXTRUDER c=17 r=1 "Extruder"
-MSG_EXTRUDER_1 c=17 r=1 "Extruder 1"
-MSG_EXTRUDER_2 c=17 r=1 "Extruder 2"
-MSG_EXTRUDER_3 c=17 r=1 "Extruder 3"
-MSG_EXTRUDER_4 c=17 r=1 "Extruder 4"
-MSG_EXTRUDER_CORRECTION c=9 r=0 "E-correct"
-MSG_EXTRUDER_CORRECTION_OFF c=6 r=0 "  [off"
-MSG_FACTOR c=0 r=0 " \002 Fact"
-MSG_FAN_SPEED c=14 r=0 "Fan speed"
-MSG_FANS_CHECK_OFF c=17 r=1 "Fans check  [off]"
-MSG_FANS_CHECK_ON c=17 r=1 "Fans check   [on]"
-MSG_FIL_ADJUSTING c=20 r=4 "Adjusting filaments. Please wait."
-MSG_FILAMENT_CLEAN c=20 r=2 "Filament extruding & with correct color?"
-MSG_FILAMENT_LOADING_T0 c=20 r=4 "Insert filament into extruder 1. Click when done."
-MSG_FILAMENT_LOADING_T1 c=20 r=4 "Insert filament into extruder 2. Click when done."
-MSG_FILAMENT_LOADING_T2 c=20 r=4 "Insert filament into extruder 3. Click when done."
-MSG_FILAMENT_LOADING_T3 c=20 r=4 "Insert filament into extruder 4. Click when done."
-MSG_FILAMENT_SENSOR c=20 r=0 "Filament sensor"
-MSG_FILAMENTCHANGE c=0 r=0 "Change filament"
-MSG_FILE_CNT c=20 r=4 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
-MSG_FILE_INCOMPLETE c=20 r=2 "File incomplete. Continue anyway?"
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION c=20 r=0 "Iteration "
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60 r=0 "Searching bed calibration point"
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 c=14 r=0 " of 4"
-MSG_FINISHING_MOVEMENTS c=20 r=1 "Finishing movements"
-MSG_FLOW c=0 r=0 "Flow"
-MSG_FLOW0 c=0 r=0 "Flow 0"
-MSG_FLOW1 c=0 r=0 "Flow 1"
-MSG_FLOW2 c=0 r=0 "Flow 2"
-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_FORCE_SELFTEST c=20 r=8 "Selftest will be run to calibrate accurate sensorless rehoming."
-MSG_FREE_MEMORY c=0 r=0 " Free Memory: "
-MSG_FSENS_AUTOLOAD_NA c=17 r=1 "F. autoload [N/A]"
-MSG_FSENS_AUTOLOAD_OFF c=17 r=1 "F. autoload [off]"
-MSG_FSENS_AUTOLOAD_ON c=17 r=1 "F. autoload  [on]"
-MSG_FSENS_NOT_RESPONDING c=20 r=4 "ERROR: Filament sensor is not responding, please check connection."
-MSG_FSENSOR_NA c=0 r=0 "Fil. sensor [N/A]"
-MSG_FSENSOR_OFF c=0 r=0 "Fil. sensor [off]"
-MSG_FSENSOR_ON c=0 r=0 "Fil. sensor  [on]"
-MSG_FW_VERSION_ALPHA c=20 r=8 "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage." 
-MSG_FW_VERSION_BETA c=20 r=8 "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage."
-MSG_FW_VERSION_RC c=20 r=8 "This firmware version is release candidate. Some of the features may not work properly."
-MSG_FW_VERSION_UNKNOWN c=20 r=8 "WARNING: This is an unofficial, unsupported build. Use at your own risk!"
-MSG_HEATING c=0 r=0 "Heating"
-MSG_HEATING_COMPLETE c=20 r=0 "Heating done."
-MSG_HOMEYZ c=0 r=0 "Calibrate Z"
-MSG_HOMEYZ_DONE c=0 r=0 "Calibration done"
-MSG_HOMEYZ_PROGRESS c=0 r=0 "Calibrating Z"
-MSG_CHANGE_EXTR c=20 r=1 "Change extruder"
-MSG_CHANGE_SUCCESS c=0 r=0 "Change success!"
-MSG_CHANGED_BOTH c=20 r=4 "Warning: both printer type and motherboard type changed."
-MSG_CHANGED_MOTHERBOARD c=20 r=4 "Warning: motherboard type changed."
-MSG_CHANGED_PRINTER c=20 r=4 "Warning: printer type changed."
-MSG_CHANGING_FILAMENT c=20 r=0 "Changing filament!"
-MSG_CHECK_IDLER c=20 r=4 "Please open idler and remove filament manually."
-MSG_CHOOSE_EXTRUDER c=20 r=1 "Choose extruder:"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 r=0 "Improving bed calibration point"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14 r=0 " of 4"
-MSG_INFO_EXTRUDER c=15 r=1 "Extruder info"
-MSG_INFO_FILAMENT_XDIFF c=11 r=1 "Fil. Xd:"
-MSG_INFO_FILAMENT_YDIFF c=11 r=1 "Fil. Ydiff:"
-MSG_INFO_NOZZLE_FAN c=11 r=1 "Nozzle FAN:"
-MSG_INFO_PRINT_FAN c=11 r=1 "Print FAN: "
-MSG_INIT_SDCARD c=0 r=0 "Init. SD card"
-MSG_INSERT_FILAMENT c=20 r=0 "Insert filament"
-MSG_KILLED c=0 r=0 "KILLED. "
-MSG_LANGUAGE_NAME c=0 r=0 "English"
-MSG_LANGUAGE_SELECT c=0 r=0 "Select language"
-MSG_LEFT c=12 r=1 "Left:"
-MSG_LOAD_ALL c=0 r=0 "Load all"
-MSG_LOAD_EPROM c=0 r=0 "Load memory"
-MSG_LOAD_FILAMENT c=17 r=0 "Load filament"
-MSG_LOAD_FILAMENT_1 c=17 r=0 "Load filament 1"
-MSG_LOAD_FILAMENT_2 c=17 r=0 "Load filament 2"
-MSG_LOAD_FILAMENT_3 c=17 r=0 "Load filament 3"
-MSG_LOAD_FILAMENT_4 c=17 r=0 "Load filament 4"
-MSG_LOADING_COLOR c=0 r=0 "Loading color"
-MSG_LOADING_FILAMENT c=20 r=0 "Loading filament"
-MSG_LOOSE_PULLEY c=20 r=1 "Loose pulley"
-MSG_M104_INVALID_EXTRUDER c=0 r=0 "M104 Invalid extruder "
-MSG_M105_INVALID_EXTRUDER c=0 r=0 "M105 Invalid extruder "
-MSG_M109_INVALID_EXTRUDER c=0 r=0 "M109 Invalid extruder "
-MSG_M117_V2_CALIBRATION c=25 r=1 "M117 First layer cal."
-MSG_M119_REPORT c=0 r=0 "Reporting endstop status"
-MSG_M200_INVALID_EXTRUDER c=0 r=0 "M200 Invalid extruder "
-MSG_M218_INVALID_EXTRUDER c=0 r=0 "M218 Invalid extruder "
-MSG_M221_INVALID_EXTRUDER c=0 r=0 "M221 Invalid extruder "
-MSG_MAIN c=0 r=0 "Main"
-MSG_MARK_FIL c=20 r=8 "Mark filament 100mm from extruder body. Click when done."
-MSG_MAX c=0 r=0 " \002 Max"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60 r=0 "Measuring reference height of calibration point"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 c=14 r=0 " of 9"
-MSG_MEASURED_OFFSET c=0 r=0 "[0;0] point offset"
-MSG_MEASURED_SKEW c=15 r=1 "Measured skew:"
-MSG_MENU_BELT_STATUS c=15 r=1 "Belt status"
-MSG_MENU_CALIBRATION c=0 r=0 "Calibration"
-MSG_MENU_TEMPERATURES c=15 r=1 "Temperatures"
-MSG_MENU_VOLTAGES c=15 r=1 "Voltages"
-MSG_MESH_BED_LEVELING c=0 r=0 "Mesh Bed Leveling"
-MSG_MIN c=0 r=0 " \002 Min"
-MSG_MOTION c=0 r=0 "Motion"
-MSG_MOVE_AXIS c=0 r=0 "Move axis"
-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."
-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_MOVE_E c=0 r=0 "Extruder"
-MSG_MOVE_X c=0 r=0 "Move X"
-MSG_MOVE_Y c=0 r=0 "Move Y"
-MSG_MOVE_Z c=0 r=0 "Move Z"
-MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 "New firmware version available:"
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 r=0 "Please upgrade."
-MSG_NO c=0 r=0 "No"
-MSG_NO_CARD c=0 r=0 "No SD card"
-MSG_NO_MOVE c=0 r=0 "No move."
-MSG_NOT_COLOR c=0 r=0 "Color not correct"
-MSG_NOT_LOADED c=19 r=0 "Filament not loaded"
-MSG_NOZZLE c=0 r=0 "Nozzle"
-MSG_NOZZLE1 c=0 r=0 "Nozzle2"
-MSG_NOZZLE2 c=0 r=0 "Nozzle3"
-MSG_OK c=0 r=0 "ok"
-MSG_PAPER c=20 r=8 "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."
-MSG_PAUSE_PRINT c=0 r=0 "Pause print"
-MSG_PICK_Z c=0 r=0 "Pick print"
-MSG_PID_EXTRUDER c=17 r=1 "PID calibration"
-MSG_PID_FINISHED c=20 r=1 "PID cal. finished"
-MSG_PID_RUNNING c=20 r=1 "PID cal.           "
-MSG_PINDA_NOT_CALIBRATED c=20 r=4 "Temperature calibration has not been run yet"
-MSG_PINDA_PREHEAT c=20 r=1 "PINDA Heating"
-MSG_PLA_FILAMENT_LOADED c=20 r=2 "Is PLA filament loaded?"
-MSG_PLACE_STEEL_SHEET c=20 r=4 "Please place steel sheet on heatbed."
-MSG_PLANNER_BUFFER_BYTES c=0 r=0 "  PlannerBufferBytes: "
-MSG_PLEASE_LOAD_PLA c=20 r=4 "Please load PLA filament first."
-MSG_PLEASE_WAIT c=20 r=0 "Please wait"
-MSG_POWERUP c=0 r=0 "PowerUp"
-MSG_PREHEAT c=0 r=0 "Preheat"
-MSG_PREHEAT_NOZZLE c=20 r=0 "Preheat the nozzle!"
-MSG_PREPARE_FILAMENT c=20 r=1 "Prepare new filament"
-MSG_PRESS c=20 r=0 "and press the knob"
-MSG_PRESS_TO_PREHEAT c=20 r=4 "Press knob to preheat nozzle and continue."
-MSG_PRESS_TO_UNLOAD c=20 r=4 "Please press the knob to unload filament"
-MSG_PRINT_ABORTED c=20 r=0 "Print aborted"
-MSG_PRINT_PAUSED c=20 r=1 "Print paused"
-MSG_PRINTER_DISCONNECTED c=20 r=1 "Printer disconnected"
-MSG_PRUSA3D c=0 r=0 "prusa3d.com"
-MSG_PRUSA3D_FORUM c=0 r=0 "forum.prusa3d.com"
-MSG_PRUSA3D_HOWTO c=0 r=0 "howto.prusa3d.com"
-MSG_PULL_OUT_FILAMENT c=20 r=4 "Please pull out filament immediately"
-MSG_REBOOT c=20 r=0 "Reboot the printer"
-MSG_RECOVER_PRINT c=20 r=2 "Blackout occurred. Recover print?"
-MSG_RECOVERING_PRINT c=20 r=1 "Recovering print    "
-MSG_RECTRACT c=0 r=0 "Rectract"
-MSG_REFRESH c=0 r=0 "\xF8" "Refresh"
-MSG_REMOVE_STEEL_SHEET c=20 r=4 "Please remove steel sheet from heatbed."
-MSG_RESEND c=0 r=0 "Resend: "
-MSG_RESTORE_FAILSAFE c=0 r=0 "Restore failsafe"
-MSG_RESUME_PRINT c=0 r=0 "Resume print"
-MSG_RESUMING c=0 r=0 "Resuming print"
-MSG_RESUMING_PRINT c=20 r=1 "Resuming print"
-MSG_RIGHT c=12 r=1 "Right:"
-MSG_SD_CANT_ENTER_SUBDIR c=0 r=0 "Cannot enter subdir: "
-MSG_SD_CANT_OPEN_SUBDIR c=0 r=0 "Cannot open subdir"
-MSG_SD_CARD_OK c=0 r=0 "SD card ok"
-MSG_SD_ERR_WRITE_TO_FILE c=0 r=0 "error writing to file"
-MSG_SD_FILE_OPENED c=0 r=0 "File opened: "
-MSG_SD_FILE_SELECTED c=0 r=0 "File selected"
-MSG_SD_INIT_FAIL c=0 r=0 "SD init fail"
-MSG_SD_INSERTED c=0 r=0 "Card inserted"
-MSG_SD_NOT_PRINTING c=0 r=0 "Not SD printing"
-MSG_SD_OPEN_FILE_FAIL c=0 r=0 "open failed, File: "
-MSG_SD_OPENROOT_FAIL c=0 r=0 "openRoot failed"
-MSG_SD_PRINTING_BYTE c=0 r=0 "SD printing byte "
-MSG_SD_REMOVED c=0 r=0 "Card removed"
-MSG_SD_VOL_INIT_FAIL c=0 r=0 "volume.init failed"
-MSG_SD_WORKDIR_FAIL c=0 r=0 "workDir open failed"
-MSG_SD_WRITE_TO_FILE c=0 r=0 "Writing to file: "
-MSG_SECOND_SERIAL_OFF c=17 r=1 "RPi port    [off]"
-MSG_SECOND_SERIAL_ON c=17 r=1 "RPi port     [on]"
-MSG_SELFTEST c=0 r=0 "Selftest         "
-MSG_SELFTEST_AXIS c=0 r=0 "Axis"
-MSG_SELFTEST_AXIS_LENGTH c=0 r=0 "Axis length"
-MSG_SELFTEST_BEDHEATER c=0 r=0 "Bed / Heater"
-MSG_SELFTEST_COOLING_FAN c=20 r=0 "Front print fan?"
-MSG_SELFTEST_ENDSTOP c=0 r=0 "Endstop"
-MSG_SELFTEST_ENDSTOP_NOTHIT c=20 r=1 "Endstop not hit"
-MSG_SELFTEST_ENDSTOPS c=0 r=0 "Endstops"
-MSG_SELFTEST_ERROR c=0 r=0 "Selftest error !"
-MSG_SELFTEST_EXTRUDER_FAN c=20 r=0 "Left hotend fan?"
-MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 r=0 "Extruder fan:"
-MSG_SELFTEST_FAILED c=20 r=0 "Selftest failed  "
-MSG_SELFTEST_FAN c=20 r=0 "Fan test"
-MSG_SELFTEST_FAN_NO c=19 r=0 "Not spinning"
-MSG_SELFTEST_FAN_YES c=19 r=0 "Spinning"
-MSG_SELFTEST_FANS c=0 r=0 "Front/left fans"
-MSG_SELFTEST_FILAMENT_SENSOR c=18 r=0 "Filament sensor:"
-MSG_SELFTEST_HEATERTHERMISTOR c=0 r=0 "Heater/Thermistor"
-MSG_SELFTEST_CHECK_ALLCORRECT c=20 r=0 "All correct      "
-MSG_SELFTEST_CHECK_BED c=20 r=0 "Checking bed     "
-MSG_SELFTEST_CHECK_ENDSTOPS c=20 r=0 "Checking endstops"
-MSG_SELFTEST_CHECK_FSENSOR c=20 r=0 "Checking sensors "
-MSG_SELFTEST_CHECK_HOTEND c=20 r=0 "Checking hotend  "  
-MSG_SELFTEST_CHECK_X c=20 r=0 "Checking X axis  "
-MSG_SELFTEST_CHECK_Y c=20 r=0 "Checking Y axis  "
-MSG_SELFTEST_CHECK_Z c=20 r=0 "Checking Z axis  "
-MSG_SELFTEST_MOTOR c=0 r=0 "Motor"
-MSG_SELFTEST_NOTCONNECTED c=0 r=0 "Not connected"
-MSG_SELFTEST_OK c=0 r=0 "Self test OK"
-MSG_SELFTEST_PLEASECHECK c=0 r=0 "Please check :"	
-MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0 "Print fan:"
-MSG_SELFTEST_START c=20 r=0 "Self test start  "
-MSG_SELFTEST_SWAPPED c=0 r=0 "Swapped"
-MSG_SELFTEST_WIRINGERROR c=0 r=0 "Wiring error"
-MSG_SERIAL_ERROR_MENU_STRUCTURE c=0 r=0 "Error in menu structure"
-MSG_SET_HOME_OFFSETS c=0 r=0 "Set home offsets"
-MSG_SET_ORIGIN c=0 r=0 "Set origin"
-MSG_SET_TEMPERATURE c=19 r=1 "Set temperature:"
-MSG_SETTINGS c=0 r=0 "Settings"
-MSG_SEVERE_SKEW c=15 r=1 "Severe skew:"
-MSG_SHOW_END_STOPS c=17 r=1 "Show end stops"
-MSG_SILENT_MODE_OFF c=0 r=0 "Mode [high power]" 
-MSG_SILENT_MODE_ON c=0 r=0 "Mode     [silent]"
-MSG_SLIGHT_SKEW c=15 r=1 "Slight skew:"
-MSG_SORT_ALPHA c=17 r=1 "Sort:  [Alphabet]"
-MSG_SORT_NONE c=17 r=1 "Sort:      [None]"
-MSG_SORT_TIME c=17 r=1 "Sort:      [Time]"
-MSG_SORTING c=20 r=1 "Sorting files"
-MSG_SPEED c=0 r=0 "Speed"
-MSG_STACK_ERROR c=20 r=4 "Error - static memory has been overwritten"
-MSG_STATISTICS c=0 r=0 "Statistics  "
-MSG_STATS_FILAMENTUSED c=20 r=0 "Filament used:  "
-MSG_STATS_PRINTTIME c=20 r=0 "Print time:  "
-MSG_STATS_TOTALFILAMENT c=20 r=0 "Total filament :"
-MSG_STATS_TOTALPRINTTIME c=20 r=0 "Total print time :"
-MSG_STEALTH_MODE_OFF c=0 r=0 "Mode     [Normal]"
-MSG_STEALTH_MODE_ON c=0 r=0 "Mode    [Stealth]"
-MSG_STEEL_SHEET_CHECK c=20 r=2 "Is steel sheet on heatbed?"
-MSG_STEPPER_TIMER_OVERFLOW_ERROR c=20 r=4 "Error - stepper timer overflow"
-MSG_STEPPER_TOO_HIGH c=0 r=0 "Steprate too high: "
-MSG_STOP_PRINT c=0 r=0 "Stop print"
-MSG_STOPPED c=0 r=0 "STOPPED. "
-MSG_STORE_EPROM c=0 r=0 "Store memory"
-MSG_SUPPORT c=0 r=0 "Support"
-MSG_SWITCH_PS_OFF c=0 r=0 "Switch power off"
-MSG_SWITCH_PS_ON c=0 r=0 "Switch power on"
-MSG_TAKE_EFFECT c=20 r=0 " for take effect"											
-MSG_TEMP_CAL_FAILED c=20 r=8 "Temperature calibration failed"
-MSG_TEMP_CAL_WARNING c=20 r=4 "Stable ambient temperature 21-26C is needed a rigid stand is required."
-MSG_TEMP_CALIBRATION c=20 r=1 "Temp. cal.          "
-MSG_TEMP_CALIBRATION_DONE c=20 r=12 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
-MSG_TEMP_CALIBRATION_OFF c=20 r=1 "Temp. cal.  [off]"
-MSG_TEMP_CALIBRATION_ON c=20 r=1 "Temp. cal.   [on]"
-MSG_TEMPERATURE c=0 r=0 "Temperature"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1 "SD card  [normal]"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1 "SD card [FlshAir]"
-MSG_TUNE c=0 r=0 "Tune"
-MSG_UNLOAD_ALL c=0 r=0 "Unload all"
-MSG_UNLOAD_FILAMENT c=17 r=0 "Unload filament"
-MSG_UNLOAD_FILAMENT_1 c=17 r=0 "Unload filament 1"
-MSG_UNLOAD_FILAMENT_2 c=17 r=0 "Unload filament 2"
-MSG_UNLOAD_FILAMENT_3 c=17 r=0 "Unload filament 3"
-MSG_UNLOAD_FILAMENT_4 c=17 r=0 "Unload filament 4"
-MSG_UNLOAD_SUCCESSFUL c=20 r=2 "Was filament unload successful?"
-MSG_UNLOADING_FILAMENT c=20 r=1 "Unloading filament"
-MSG_USB_PRINTING c=0 r=0 "USB printing  "
-MSG_USED c=19 r=1 "Used during print"
-MSG_USERWAIT c=0 r=0 "Wait for user..."
-MSG_V2_CALIBRATION c=17 r=1 "First layer cal."
-MSG_VOLUMETRIC c=0 r=0 "Filament"
-MSG_VOLUMETRIC_ENABLED c=0 r=0 "E in mm3"
-MSG_WAITING_TEMP c=20 r=3 "Waiting for nozzle and bed cooling"
-MSG_WAITING_TEMP_PINDA c=20 r=3 "Waiting for PINDA probe cooling"
-MSG_WATCH c=0 r=0 "Info screen"
-MSG_WIZARD c=17 r=1 "Wizard"
-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_WIZARD_CLEAN_HEATBED c=20 r=8 "Please clean heatbed and then press the knob."
-MSG_WIZARD_DONE c=20 r=8 "All is done. Happy printing!"
-MSG_WIZARD_FILAMENT_LOADED c=20 r=2 "Is filament loaded?"
-MSG_WIZARD_HEATING c=20 r=3 "Preheating nozzle. Please wait."
-MSG_WIZARD_INSERT_CORRECT_FILAMENT c=20 r=8 "Please load PLA filament and then resume Wizard by rebooting the printer."
-MSG_WIZARD_LOAD_FILAMENT c=20 r=8 "Please insert PLA filament to the extruder, then press knob to load it."
-MSG_WIZARD_PLA_FILAMENT c=20 r=2 "Is it PLA filament?"
-MSG_WIZARD_QUIT c=20 r=8 "You can always resume the Wizard from Calibration -> Wizard."
-MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 "Do you want to repeat last step to readjust distance between nozzle and heatbed?"
-MSG_WIZARD_RERUN c=20 r=7 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
-MSG_WIZARD_SELFTEST c=20 r=8 "First, I will run the selftest to check most common assembly problems."
-MSG_WIZARD_V2_CAL c=20 r=8 "Now I will calibrate distance between tip of the nozzle and heatbed surface."
-MSG_WIZARD_V2_CAL_2 c=20 r=12 "I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration."
-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_WIZARD_WILL_PREHEAT c=20 r=4 "Now I will preheat nozzle for PLA."
-MSG_WIZARD_XYZ_CAL c=20 r=8 "I will run xyz calibration now. It will take approx. 12 mins."
-MSG_WIZARD_Z_CAL c=20 r=8 "I will run z calibration now."
-MSG_XYZ_DETAILS c=19 r=1 "XYZ cal. details"
-MSG_Y_DISTANCE_FROM_MIN c=20 r=1 "Y distance from min:"
-MSG_YES c=0 r=0 "Yes"
-WELCOME_MSG c=20 r=0 CUSTOM_MENDEL_NAME " ready."

+ 0 - 30
lang_upgrade/msgs_en_unused.txt

@@ -1,30 +0,0 @@
-MSG_BABYSTEP_X c=0 r=0 "Babystep X"
-MSG_BABYSTEP_Y c=0 r=0 "Babystep Y"
-MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ c=20 r=8 "Filaments are now adjusted. Please clean the nozzle for calibration. Click when done."
-MSG_CONTROL c=0 r=0 "Control"
-MSG_CRASH_DETECTED2 c=20 r=2 "Crash detected. Continue printing?"
-MSG_FIL_ADJUSTING c=20 r=4 "Adjusting filaments. Please wait."
-MSG_FLOW0 c=0 r=0 "Flow 0"
-MSG_FLOW1 c=0 r=0 "Flow 1"
-MSG_FLOW2 c=0 r=0 "Flow 2"
-MSG_FW_VERSION_RC c=20 r=8 "This firmware version is release candidate. Some of the features may not work properly."
-MSG_INFO_FILAMENT_XDIFF c=11 r=1 "Fil. Xd:"
-MSG_INFO_FILAMENT_YDIFF c=11 r=1 "Fil. Ydiff:"
-MSG_LANGUAGE_NAME c=0 r=0 "English"
-MSG_LOAD_EPROM c=0 r=0 "Load memory"
-MSG_MOTION c=0 r=0 "Motion"
-MSG_REBOOT c=20 r=0 "Reboot the printer"
-MSG_RECTRACT c=0 r=0 "Rectract"
-MSG_RESTORE_FAILSAFE c=0 r=0 "Restore failsafe"
-MSG_SD_NOT_PRINTING c=0 r=0 "Not SD printing"
-MSG_SERIAL_ERROR_MENU_STRUCTURE c=0 r=0 "Error in menu structure"
-MSG_SET_HOME_OFFSETS c=0 r=0 "Set home offsets"
-MSG_SET_ORIGIN c=0 r=0 "Set origin"
-MSG_STEPPER_TIMER_OVERFLOW_ERROR c=20 r=4 "Error - stepper timer overflow"
-MSG_STORE_EPROM c=0 r=0 "Store memory"
-MSG_SWITCH_PS_OFF c=0 r=0 "Switch power off"
-MSG_SWITCH_PS_ON c=0 r=0 "Switch power on"
-MSG_TAKE_EFFECT c=20 r=0 " for take effect"											
-MSG_USB_PRINTING c=0 r=0 "USB printing  "
-MSG_VOLUMETRIC c=0 r=0 "Filament"
-MSG_VOLUMETRIC_ENABLED c=0 r=0 "E in mm3"

+ 0 - 96
lang_upgrade/msgs_en_used_more.txt

@@ -1,96 +0,0 @@
-MSG_ALL c=19 r=1 "All"
-MSG_AUTO_HOME c=0 r=0 "Auto home"
-MSG_AUTO_MODE_ON c=0 r=0 "Mode [auto power]"
-MSG_BABYSTEP_Z c=0 r=0 "Live adjust Z"
-MSG_BABYSTEP_Z_NOT_SET c=20 r=12 "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."
-MSG_BED c=0 r=0 "Bed"
-MSG_BED_DONE c=0 r=0 "Bed done"
-MSG_BED_HEATING c=0 r=0 "Bed Heating"
-MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=4 "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8 "XYZ calibration failed. Please consult the manual."
-MSG_CALIBRATE_Z_AUTO c=20 r=2 "Calibrating Z"
-MSG_CARD_MENU c=0 r=0 "Print from SD"
-MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8 "Please clean the nozzle for calibration. Click when done."
-MSG_COOLDOWN c=0 r=0 "Cooldown"
-MSG_CRASH_DETECTED c=20 r=1 "Crash detected."
-MSG_CRASHDETECT_NA c=0 r=0 "Crash det.  [N/A]"
-MSG_CRASHDETECT_OFF c=0 r=0 "Crash det.  [off]"
-MSG_CRASHDETECT_ON c=0 r=0 "Crash det.   [on]"
-MSG_ENDSTOP_HIT c=0 r=0 "TRIGGERED"
-MSG_ENDSTOP_OPEN c=0 r=0 "open"
-MSG_ENDSTOPS_HIT c=0 r=0 "endstops hit: "
-MSG_Enqueing c=0 r=0 "enqueing \""
-MSG_ERR_STOPPED c=0 r=0 "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-MSG_ERROR c=0 r=0 "ERROR:"
-MSG_EXTRUDER c=17 r=1 "Extruder"
-MSG_FAN_SPEED c=14 r=0 "Fan speed"
-MSG_FILAMENT_CLEAN c=20 r=2 "Filament extruding & with correct color?"
-MSG_FILAMENT_LOADING_T0 c=20 r=4 "Insert filament into extruder 1. Click when done."
-MSG_FILAMENT_LOADING_T1 c=20 r=4 "Insert filament into extruder 2. Click when done."
-MSG_FILAMENT_LOADING_T2 c=20 r=4 "Insert filament into extruder 3. Click when done."
-MSG_FILAMENT_LOADING_T3 c=20 r=4 "Insert filament into extruder 4. Click when done."
-MSG_FILAMENTCHANGE c=0 r=0 "Change filament"
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60 r=0 "Searching bed calibration point"
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 c=14 r=0 " of 4"
-MSG_FINISHING_MOVEMENTS c=20 r=1 "Finishing movements"
-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_FSENS_AUTOLOAD_NA c=17 r=1 "F. autoload [N/A]"
-MSG_FSENSOR_OFF c=0 r=0 "Fil. sensor [off]"
-MSG_FSENSOR_ON c=0 r=0 "Fil. sensor  [on]"
-MSG_HEATING c=0 r=0 "Heating"
-MSG_HEATING_COMPLETE c=20 r=0 "Heating done."
-MSG_HOMEYZ c=0 r=0 "Calibrate Z"
-MSG_CHOOSE_EXTRUDER c=20 r=1 "Choose extruder:"
-MSG_LOAD_FILAMENT c=17 r=0 "Load filament"
-MSG_LOADING_FILAMENT c=20 r=0 "Loading filament"
-MSG_M117_V2_CALIBRATION c=25 r=1 "M117 First layer cal."
-MSG_MAIN c=0 r=0 "Main"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 c=60 r=0 "Measuring reference height of calibration point"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 c=14 r=0 " of 9"
-MSG_MENU_CALIBRATION c=0 r=0 "Calibration"
-MSG_NO c=0 r=0 "No"
-MSG_NOZZLE c=0 r=0 "Nozzle"
-MSG_OK c=0 r=0 "ok"
-MSG_PAPER c=20 r=8 "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."
-MSG_PLACE_STEEL_SHEET c=20 r=4 "Please place steel sheet on heatbed."
-MSG_PLEASE_WAIT c=20 r=0 "Please wait"
-MSG_POWERUP c=0 r=0 "PowerUp"
-MSG_PREHEAT_NOZZLE c=20 r=0 "Preheat the nozzle!"
-MSG_PRESS_TO_UNLOAD c=20 r=4 "Please press the knob to unload filament"
-MSG_PRINT_ABORTED c=20 r=0 "Print aborted"
-MSG_PULL_OUT_FILAMENT c=20 r=4 "Please pull out filament immediately"
-MSG_RECOVER_PRINT c=20 r=2 "Blackout occurred. Recover print?"
-MSG_REFRESH c=0 r=0 "\xF8" "Refresh"
-MSG_REMOVE_STEEL_SHEET c=20 r=4 "Please remove steel sheet from heatbed."
-MSG_SD_ERR_WRITE_TO_FILE c=0 r=0 "error writing to file"
-MSG_SD_OPEN_FILE_FAIL c=0 r=0 "open failed, File: "
-MSG_SD_WORKDIR_FAIL c=0 r=0 "workDir open failed"
-MSG_SELFTEST_COOLING_FAN c=20 r=0 "Front print fan?"
-MSG_SELFTEST_EXTRUDER_FAN c=20 r=0 "Left hotend fan?"
-MSG_SELFTEST_FAILED c=20 r=0 "Selftest failed  "
-MSG_SELFTEST_FAN c=20 r=0 "Fan test"
-MSG_SELFTEST_FAN_NO c=19 r=0 "Not spinning"
-MSG_SELFTEST_FAN_YES c=19 r=0 "Spinning"
-MSG_SELFTEST_CHECK_BED c=20 r=0 "Checking bed     "
-MSG_SELFTEST_CHECK_FSENSOR c=20 r=0 "Checking sensors "
-MSG_SELFTEST_MOTOR c=0 r=0 "Motor"
-MSG_SELFTEST_WIRINGERROR c=0 r=0 "Wiring error"
-MSG_SETTINGS c=0 r=0 "Settings"
-MSG_SILENT_MODE_OFF c=0 r=0 "Mode [high power]" 
-MSG_SILENT_MODE_ON c=0 r=0 "Mode     [silent]"
-MSG_STEALTH_MODE_OFF c=0 r=0 "Mode     [Normal]"
-MSG_STEALTH_MODE_ON c=0 r=0 "Mode    [Stealth]"
-MSG_STEEL_SHEET_CHECK c=20 r=2 "Is steel sheet on heatbed?"
-MSG_STOP_PRINT c=0 r=0 "Stop print"
-MSG_STOPPED c=0 r=0 "STOPPED. "
-MSG_TEMP_CALIBRATION c=20 r=1 "Temp. cal.          "
-MSG_TEMP_CALIBRATION_DONE c=20 r=12 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
-MSG_UNLOAD_FILAMENT c=17 r=0 "Unload filament"
-MSG_UNLOADING_FILAMENT c=20 r=1 "Unloading filament"
-MSG_WATCH c=0 r=0 "Info screen"
-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_WIZARD_DONE c=20 r=8 "All is done. Happy printing!"
-MSG_WIZARD_HEATING c=20 r=3 "Preheating nozzle. Please wait."
-MSG_WIZARD_QUIT c=20 r=8 "You can always resume the Wizard from Calibration -> Wizard."
-MSG_YES c=0 r=0 "Yes"
-WELCOME_MSG c=20 r=0 CUSTOM_MENDEL_NAME " ready."

+ 0 - 247
lang_upgrade/msgs_en_used_once.txt

@@ -1,247 +0,0 @@
-MSG_ADJUSTZ c=0 r=0 "Auto adjust Z?"
-MSG_AUTOLOAD_FILAMENT c=17 r=0 "AutoLoad filament"
-MSG_AUTOLOADING_ENABLED c=20 r=4 "Autoloading filament is active, just press the knob and insert filament..."
-MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4 "Autoloading filament available only when filament sensor is turned on..."
-MSG_BABYSTEPPING_X c=0 r=0 "Babystepping X"
-MSG_BABYSTEPPING_Y c=0 r=0 "Babystepping Y"
-MSG_BABYSTEPPING_Z c=20 r=0 "Adjusting Z"
-MSG_BED_CORRECTION_FRONT c=14 r=1 "Front side[um]"
-MSG_BED_CORRECTION_LEFT c=14 r=1 "Left side [um]"
-MSG_BED_CORRECTION_MENU c=0 r=0 "Bed level correct"
-MSG_BED_CORRECTION_REAR c=14 r=1 "Rear side [um]"
-MSG_BED_CORRECTION_RESET c=0 r=0 "Reset"
-MSG_BED_CORRECTION_RIGHT c=14 r=1 "Right side[um]"
-MSG_BED_HEATING_SAFETY_DISABLED c=0 r=0 "Heating disabled by safety timer."
-MSG_BED_LEVELING_FAILED_POINT_HIGH c=20 r=4 "Bed leveling failed. Sensor triggered too high. Waiting for reset."
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED c=20 r=4 "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR c=20 r=8 "XYZ calibration failed. Front calibration points not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR c=20 r=8 "XYZ calibration failed. Left front calibration point not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR c=20 r=8 "XYZ calibration failed. Right front calibration point not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT c=20 r=8 "XYZ calibration ok. X/Y axes are perpendicular. Congratulations!"
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND c=20 r=8 "XYZ calibration failed. Bed calibration point was not found."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME c=20 r=8 "XYZ calibration all right. Skew will be corrected automatically."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD c=20 r=8 "XYZ calibration all right. X/Y axes are slightly skewed. Good job!"
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR c=20 r=8 "XYZ calibration compromised. Front calibration points not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR c=20 r=8 "XYZ calibration compromised. Left front calibration point not reachable."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR c=20 r=8 "XYZ calibration compromised. Right front calibration point not reachable."
-MSG_BEGIN_FILE_LIST c=0 r=0 "Begin file list"
-MSG_CALIBRATE_BED c=0 r=0 "Calibrate XYZ"
-MSG_CALIBRATE_BED_RESET c=0 r=0 "Reset XYZ calibr."
-MSG_CALIBRATE_E c=20 r=1 "Calibrate E"
-MSG_CALIBRATE_PINDA c=17 r=1 "Calibrate"
-MSG_CALIBRATION_PINDA_MENU c=17 r=1 "Temp. calibration"
-MSG_CLEAN_NOZZLE_E c=20 r=8 "E calibration finished. Please clean the nozzle. Click when done."
-MSG_CNG_SDCARD c=0 r=0 "Change SD card"
-MSG_CONFIGURATION_VER c=0 r=0 " Last Updated: "
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2 "Are left and right Z~carriages all up?"
-MSG_CORRECTLY c=20 r=0 "Changed correctly?"
-MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
-MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 "\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"
-MSG_CURRENT c=19 r=1 "Current"
-MSG_DATE c=17 r=1 "Date:"
-MSG_DEFAULT_SETTINGS_LOADED c=20 r=4 "Old settings found. Default PID, Esteps etc. will be set."
-MSG_DISABLE_STEPPERS c=0 r=0 "Disable steppers"
-MSG_DWELL c=0 r=0 "Sleep..."
-MSG_E_CAL_KNOB c=20 r=8 "Rotate knob until mark reaches extruder body. Click when done."
-MSG_END_FILE_LIST c=0 r=0 "End file list"
-MSG_ERR_COLD_EXTRUDE_STOP c=0 r=0 " cold extrusion prevented"
-MSG_ERR_CHECKSUM_MISMATCH c=0 r=0 "checksum mismatch, Last Line: "
-MSG_ERR_KILLED c=0 r=0 "Printer halted. kill() called!"
-MSG_ERR_NO_CHECKSUM c=0 r=0 "No Checksum with line number, Last Line: "
-MSG_ERR_NO_THERMISTORS c=0 r=0 "No thermistors - no temperature"
-MSG_EXTRUDER_1 c=17 r=1 "Extruder 1"
-MSG_EXTRUDER_2 c=17 r=1 "Extruder 2"
-MSG_EXTRUDER_3 c=17 r=1 "Extruder 3"
-MSG_EXTRUDER_4 c=17 r=1 "Extruder 4"
-MSG_EXTRUDER_CORRECTION c=9 r=0 "E-correct"
-MSG_EXTRUDER_CORRECTION_OFF c=6 r=0 "  [off"
-MSG_FACTOR c=0 r=0 " \002 Fact"
-MSG_FANS_CHECK_OFF c=17 r=1 "Fans check  [off]"
-MSG_FANS_CHECK_ON c=17 r=1 "Fans check   [on]"
-MSG_FILAMENT_SENSOR c=20 r=0 "Filament sensor"
-MSG_FILE_CNT c=20 r=4 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
-MSG_FILE_INCOMPLETE c=20 r=2 "File incomplete. Continue anyway?"
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION c=20 r=0 "Iteration "
-MSG_FLOW c=0 r=0 "Flow"
-MSG_FORCE_SELFTEST c=20 r=8 "Selftest will be run to calibrate accurate sensorless rehoming."
-MSG_FREE_MEMORY c=0 r=0 " Free Memory: "
-MSG_FSENS_AUTOLOAD_OFF c=17 r=1 "F. autoload [off]"
-MSG_FSENS_AUTOLOAD_ON c=17 r=1 "F. autoload  [on]"
-MSG_FSENS_NOT_RESPONDING c=20 r=4 "ERROR: Filament sensor is not responding, please check connection."
-MSG_FSENSOR_NA c=0 r=0 "Fil. sensor [N/A]"
-MSG_FW_VERSION_ALPHA c=20 r=8 "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage." 
-MSG_FW_VERSION_BETA c=20 r=8 "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage."
-MSG_FW_VERSION_UNKNOWN c=20 r=8 "WARNING: This is an unofficial, unsupported build. Use at your own risk!"
-MSG_HOMEYZ_DONE c=0 r=0 "Calibration done"
-MSG_HOMEYZ_PROGRESS c=0 r=0 "Calibrating Z"
-MSG_CHANGE_EXTR c=20 r=1 "Change extruder"
-MSG_CHANGE_SUCCESS c=0 r=0 "Change success!"
-MSG_CHANGED_BOTH c=20 r=4 "Warning: both printer type and motherboard type changed."
-MSG_CHANGED_MOTHERBOARD c=20 r=4 "Warning: motherboard type changed."
-MSG_CHANGED_PRINTER c=20 r=4 "Warning: printer type changed."
-MSG_CHANGING_FILAMENT c=20 r=0 "Changing filament!"
-MSG_CHECK_IDLER c=20 r=4 "Please open idler and remove filament manually."
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 r=0 "Improving bed calibration point"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14 r=0 " of 4"
-MSG_INFO_EXTRUDER c=15 r=1 "Extruder info"
-MSG_INFO_NOZZLE_FAN c=11 r=1 "Nozzle FAN:"
-MSG_INFO_PRINT_FAN c=11 r=1 "Print FAN: "
-MSG_INIT_SDCARD c=0 r=0 "Init. SD card"
-MSG_INSERT_FILAMENT c=20 r=0 "Insert filament"
-MSG_KILLED c=0 r=0 "KILLED. "
-MSG_LANGUAGE_SELECT c=0 r=0 "Select language"
-MSG_LEFT c=12 r=1 "Left:"
-MSG_LOAD_ALL c=0 r=0 "Load all"
-MSG_LOAD_FILAMENT_1 c=17 r=0 "Load filament 1"
-MSG_LOAD_FILAMENT_2 c=17 r=0 "Load filament 2"
-MSG_LOAD_FILAMENT_3 c=17 r=0 "Load filament 3"
-MSG_LOAD_FILAMENT_4 c=17 r=0 "Load filament 4"
-MSG_LOADING_COLOR c=0 r=0 "Loading color"
-MSG_LOOSE_PULLEY c=20 r=1 "Loose pulley"
-MSG_M104_INVALID_EXTRUDER c=0 r=0 "M104 Invalid extruder "
-MSG_M105_INVALID_EXTRUDER c=0 r=0 "M105 Invalid extruder "
-MSG_M109_INVALID_EXTRUDER c=0 r=0 "M109 Invalid extruder "
-MSG_M119_REPORT c=0 r=0 "Reporting endstop status"
-MSG_M200_INVALID_EXTRUDER c=0 r=0 "M200 Invalid extruder "
-MSG_M218_INVALID_EXTRUDER c=0 r=0 "M218 Invalid extruder "
-MSG_M221_INVALID_EXTRUDER c=0 r=0 "M221 Invalid extruder "
-MSG_MARK_FIL c=20 r=8 "Mark filament 100mm from extruder body. Click when done."
-MSG_MAX c=0 r=0 " \002 Max"
-MSG_MEASURED_OFFSET c=0 r=0 "[0;0] point offset"
-MSG_MEASURED_SKEW c=15 r=1 "Measured skew:"
-MSG_MENU_BELT_STATUS c=15 r=1 "Belt status"
-MSG_MENU_TEMPERATURES c=15 r=1 "Temperatures"
-MSG_MENU_VOLTAGES c=15 r=1 "Voltages"
-MSG_MESH_BED_LEVELING c=0 r=0 "Mesh Bed Leveling"
-MSG_MIN c=0 r=0 " \002 Min"
-MSG_MOVE_AXIS c=0 r=0 "Move axis"
-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."
-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_MOVE_E c=0 r=0 "Extruder"
-MSG_MOVE_X c=0 r=0 "Move X"
-MSG_MOVE_Y c=0 r=0 "Move Y"
-MSG_MOVE_Z c=0 r=0 "Move Z"
-MSG_NEW_FIRMWARE_AVAILABLE c=20 r=2 "New firmware version available:"
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE c=20 r=0 "Please upgrade."
-MSG_NO_CARD c=0 r=0 "No SD card"
-MSG_NO_MOVE c=0 r=0 "No move."
-MSG_NOT_COLOR c=0 r=0 "Color not correct"
-MSG_NOT_LOADED c=19 r=0 "Filament not loaded"
-MSG_NOZZLE1 c=0 r=0 "Nozzle2"
-MSG_NOZZLE2 c=0 r=0 "Nozzle3"
-MSG_PAUSE_PRINT c=0 r=0 "Pause print"
-MSG_PICK_Z c=0 r=0 "Pick print"
-MSG_PID_EXTRUDER c=17 r=1 "PID calibration"
-MSG_PID_FINISHED c=20 r=1 "PID cal. finished"
-MSG_PID_RUNNING c=20 r=1 "PID cal.           "
-MSG_PINDA_NOT_CALIBRATED c=20 r=4 "Temperature calibration has not been run yet"
-MSG_PINDA_PREHEAT c=20 r=1 "PINDA Heating"
-MSG_PLA_FILAMENT_LOADED c=20 r=2 "Is PLA filament loaded?"
-MSG_PLANNER_BUFFER_BYTES c=0 r=0 "  PlannerBufferBytes: "
-MSG_PLEASE_LOAD_PLA c=20 r=4 "Please load PLA filament first."
-MSG_PREHEAT c=0 r=0 "Preheat"
-MSG_PREPARE_FILAMENT c=20 r=1 "Prepare new filament"
-MSG_PRESS c=20 r=0 "and press the knob"
-MSG_PRESS_TO_PREHEAT c=20 r=4 "Press knob to preheat nozzle and continue."
-MSG_PRINT_PAUSED c=20 r=1 "Print paused"
-MSG_PRINTER_DISCONNECTED c=20 r=1 "Printer disconnected"
-MSG_PRUSA3D c=0 r=0 "prusa3d.com"
-MSG_PRUSA3D_FORUM c=0 r=0 "forum.prusa3d.com"
-MSG_PRUSA3D_HOWTO c=0 r=0 "howto.prusa3d.com"
-MSG_RECOVERING_PRINT c=20 r=1 "Recovering print    "
-MSG_RESEND c=0 r=0 "Resend: "
-MSG_RESUME_PRINT c=0 r=0 "Resume print"
-MSG_RESUMING c=0 r=0 "Resuming print"
-MSG_RESUMING_PRINT c=20 r=1 "Resuming print"
-MSG_RIGHT c=12 r=1 "Right:"
-MSG_SD_CANT_ENTER_SUBDIR c=0 r=0 "Cannot enter subdir: "
-MSG_SD_CANT_OPEN_SUBDIR c=0 r=0 "Cannot open subdir"
-MSG_SD_CARD_OK c=0 r=0 "SD card ok"
-MSG_SD_FILE_OPENED c=0 r=0 "File opened: "
-MSG_SD_FILE_SELECTED c=0 r=0 "File selected"
-MSG_SD_INIT_FAIL c=0 r=0 "SD init fail"
-MSG_SD_INSERTED c=0 r=0 "Card inserted"
-MSG_SD_OPENROOT_FAIL c=0 r=0 "openRoot failed"
-MSG_SD_PRINTING_BYTE c=0 r=0 "SD printing byte "
-MSG_SD_REMOVED c=0 r=0 "Card removed"
-MSG_SD_VOL_INIT_FAIL c=0 r=0 "volume.init failed"
-MSG_SD_WRITE_TO_FILE c=0 r=0 "Writing to file: "
-MSG_SECOND_SERIAL_OFF c=17 r=1 "RPi port    [off]"
-MSG_SECOND_SERIAL_ON c=17 r=1 "RPi port     [on]"
-MSG_SELFTEST c=0 r=0 "Selftest         "
-MSG_SELFTEST_AXIS c=0 r=0 "Axis"
-MSG_SELFTEST_AXIS_LENGTH c=0 r=0 "Axis length"
-MSG_SELFTEST_BEDHEATER c=0 r=0 "Bed / Heater"
-MSG_SELFTEST_ENDSTOP c=0 r=0 "Endstop"
-MSG_SELFTEST_ENDSTOP_NOTHIT c=20 r=1 "Endstop not hit"
-MSG_SELFTEST_ENDSTOPS c=0 r=0 "Endstops"
-MSG_SELFTEST_ERROR c=0 r=0 "Selftest error !"
-MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 r=0 "Extruder fan:"
-MSG_SELFTEST_FANS c=0 r=0 "Front/left fans"
-MSG_SELFTEST_FILAMENT_SENSOR c=18 r=0 "Filament sensor:"
-MSG_SELFTEST_HEATERTHERMISTOR c=0 r=0 "Heater/Thermistor"
-MSG_SELFTEST_CHECK_ALLCORRECT c=20 r=0 "All correct      "
-MSG_SELFTEST_CHECK_ENDSTOPS c=20 r=0 "Checking endstops"
-MSG_SELFTEST_CHECK_HOTEND c=20 r=0 "Checking hotend  "  
-MSG_SELFTEST_CHECK_X c=20 r=0 "Checking X axis  "
-MSG_SELFTEST_CHECK_Y c=20 r=0 "Checking Y axis  "
-MSG_SELFTEST_CHECK_Z c=20 r=0 "Checking Z axis  "
-MSG_SELFTEST_NOTCONNECTED c=0 r=0 "Not connected"
-MSG_SELFTEST_OK c=0 r=0 "Self test OK"
-MSG_SELFTEST_PLEASECHECK c=0 r=0 "Please check :"	
-MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0 "Print fan:"
-MSG_SELFTEST_START c=20 r=0 "Self test start  "
-MSG_SELFTEST_SWAPPED c=0 r=0 "Swapped"
-MSG_SET_TEMPERATURE c=19 r=1 "Set temperature:"
-MSG_SEVERE_SKEW c=15 r=1 "Severe skew:"
-MSG_SHOW_END_STOPS c=17 r=1 "Show end stops"
-MSG_SLIGHT_SKEW c=15 r=1 "Slight skew:"
-MSG_SORT_ALPHA c=17 r=1 "Sort:  [Alphabet]"
-MSG_SORT_NONE c=17 r=1 "Sort:      [None]"
-MSG_SORT_TIME c=17 r=1 "Sort:      [Time]"
-MSG_SORTING c=20 r=1 "Sorting files"
-MSG_SPEED c=0 r=0 "Speed"
-MSG_STACK_ERROR c=20 r=4 "Error - static memory has been overwritten"
-MSG_STATISTICS c=0 r=0 "Statistics  "
-MSG_STATS_FILAMENTUSED c=20 r=0 "Filament used:  "
-MSG_STATS_PRINTTIME c=20 r=0 "Print time:  "
-MSG_STATS_TOTALFILAMENT c=20 r=0 "Total filament :"
-MSG_STATS_TOTALPRINTTIME c=20 r=0 "Total print time :"
-MSG_STEPPER_TOO_HIGH c=0 r=0 "Steprate too high: "
-MSG_SUPPORT c=0 r=0 "Support"
-MSG_TEMP_CAL_FAILED c=20 r=8 "Temperature calibration failed"
-MSG_TEMP_CAL_WARNING c=20 r=4 "Stable ambient temperature 21-26C is needed a rigid stand is required."
-MSG_TEMP_CALIBRATION_OFF c=20 r=1 "Temp. cal.  [off]"
-MSG_TEMP_CALIBRATION_ON c=20 r=1 "Temp. cal.   [on]"
-MSG_TEMPERATURE c=0 r=0 "Temperature"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1 "SD card  [normal]"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1 "SD card [FlshAir]"
-MSG_TUNE c=0 r=0 "Tune"
-MSG_UNLOAD_ALL c=0 r=0 "Unload all"
-MSG_UNLOAD_FILAMENT_1 c=17 r=0 "Unload filament 1"
-MSG_UNLOAD_FILAMENT_2 c=17 r=0 "Unload filament 2"
-MSG_UNLOAD_FILAMENT_3 c=17 r=0 "Unload filament 3"
-MSG_UNLOAD_FILAMENT_4 c=17 r=0 "Unload filament 4"
-MSG_UNLOAD_SUCCESSFUL c=20 r=2 "Was filament unload successful?"
-MSG_USED c=19 r=1 "Used during print"
-MSG_USERWAIT c=0 r=0 "Wait for user..."
-MSG_V2_CALIBRATION c=17 r=1 "First layer cal."
-MSG_WAITING_TEMP c=20 r=3 "Waiting for nozzle and bed cooling"
-MSG_WAITING_TEMP_PINDA c=20 r=3 "Waiting for PINDA probe cooling"
-MSG_WIZARD c=17 r=1 "Wizard"
-MSG_WIZARD_CLEAN_HEATBED c=20 r=8 "Please clean heatbed and then press the knob."
-MSG_WIZARD_FILAMENT_LOADED c=20 r=2 "Is filament loaded?"
-MSG_WIZARD_INSERT_CORRECT_FILAMENT c=20 r=8 "Please load PLA filament and then resume Wizard by rebooting the printer."
-MSG_WIZARD_LOAD_FILAMENT c=20 r=8 "Please insert PLA filament to the extruder, then press knob to load it."
-MSG_WIZARD_PLA_FILAMENT c=20 r=2 "Is it PLA filament?"
-MSG_WIZARD_REPEAT_V2_CAL c=20 r=7 "Do you want to repeat last step to readjust distance between nozzle and heatbed?"
-MSG_WIZARD_RERUN c=20 r=7 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
-MSG_WIZARD_SELFTEST c=20 r=8 "First, I will run the selftest to check most common assembly problems."
-MSG_WIZARD_V2_CAL c=20 r=8 "Now I will calibrate distance between tip of the nozzle and heatbed surface."
-MSG_WIZARD_V2_CAL_2 c=20 r=12 "I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration."
-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_WIZARD_WILL_PREHEAT c=20 r=4 "Now I will preheat nozzle for PLA."
-MSG_WIZARD_XYZ_CAL c=20 r=8 "I will run xyz calibration now. It will take approx. 12 mins."
-MSG_WIZARD_Z_CAL c=20 r=8 "I will run z calibration now."
-MSG_XYZ_DETAILS c=19 r=1 "XYZ cal. details"
-MSG_Y_DISTANCE_FROM_MIN c=20 r=1 "Y distance from min:"

+ 0 - 289
lang_upgrade/msgs_es.txt

@@ -1,289 +0,0 @@
-MSG_ADJUSTZ "Ajustar Eje Z"			
-MSG_ALL "Todos"
-MSG_AUTO_HOME "Llevar al origen"
-MSG_BABYSTEP_X "Babystep X"
-MSG_BABYSTEP_Y "Babystep Y"
-MSG_BABYSTEP_Z "Micropaso Eje Z"
-MSG_BABYSTEP_Z_NOT_SET "Distancia entre la punta del nozzle y la superficie de la heatbed aun no fijada. Por favor siga el manual, capitulo First steps, First layer calibration."
-MSG_BABYSTEPPING_X "Babystepping X"
-MSG_BABYSTEPPING_Y "Babystepping Y"
-MSG_BABYSTEPPING_Z "Ajustar Z"
-MSG_BED "Heatbed"
-MSG_BED_CORRECTION_FRONT "Frontal   [um]"
-MSG_BED_CORRECTION_LEFT "Izquierda [um]"
-MSG_BED_CORRECTION_MENU "Corr. de la cama"
-MSG_BED_CORRECTION_REAR "Trasera   [um]"
-MSG_BED_CORRECTION_RESET "Reset"
-MSG_BED_CORRECTION_RIGHT "Derecha   [um]"
-MSG_BED_DONE "Base preparada"
-MSG_BED_HEATING "Calentando Base"
-MSG_BED_LEVELING_FAILED_POINT_HIGH "Nivelacion fallada. Sensor funciona demasiado temprano. Esperando reset."
-MSG_BED_LEVELING_FAILED_POINT_LOW "Nivelacion fallada. Sensor no funciona. Escombros en nozzle? Esperando reset."
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Nivelacion fallada. Sensor desconectado o cables danados. Esperando reset."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Calibracion XYZ fallada. Puntos frontales no alcanzables."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Calibracion XYZ fallada. Punto frontal izquierdo no alcanzable."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Calibracion XYZ fallad. Punto frontal derecho no alcanzable."
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibracion XYZ fallada. Consulta el manual por favor."
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Calibracion XYZ ok. Ejes X/Y perpendiculares. Enhorabuena!"
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibracion XYZ fallada. Puntos de calibracion en heatbed no encontrados."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Calibracion XYZ correcta. La inclinacion se corregira automaticamente."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Calibracion XYZ correcta. Los ejes X / Y estan ligeramente inclinados. Buen trabajo!"
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Calibrazion XYZ comprometida. Puntos frontales no alcanzables."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Calibrazion XYZ comprometida. Punto frontal izquierdo no alcanzable."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Calibrazion XYZ comprometida. Punto frontal derecho no alcanzable."
-MSG_BEGIN_FILE_LIST "Begin file list"
-MSG_CALIBRATE_BED "Calibra XYZ"
-MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
-MSG_CALIBRATE_E "Calibrar E"
-MSG_CALIBRATE_PINDA "Calibrar"
-MSG_CALIBRATION_PINDA_MENU "Calibracion temp."
-MSG_CARD_MENU "Menu tarjeta SD"
-MSG_CLEAN_NOZZLE_E "E calibrado. Limpia nozzle. Haz clic una vez terminado."
-MSG_CNG_SDCARD "Change SD card"
-MSG_CONFIGURATION_VER " Last Updated: "
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Carros Z izq./der. estan arriba maximo?"
-MSG_CONFIRM_NOZZLE_CLEAN "Limpia nozzle para calibracion. Click cuando acabes."
-MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamentos ajustados. Limpia nozzle para calibracion. Haz clic una vez terminado."
-MSG_CONTROL "Control"
-MSG_COOLDOWN "Enfriar"
-MSG_CORRECTLY "Cambiado correct.?"
-MSG_CURRENT "Actual"
-MSG_DISABLE_STEPPERS "Apagar motores"
-MSG_DWELL "En espera"
-MSG_E_CAL_KNOB "Rotar el mando hasta que la marca llegue al cuerpo del extrusor. Haz clic una vez terminado."
-MSG_END_FILE_LIST "End file list"
-MSG_ENDSTOP_HIT "TRIGGERED"
-MSG_ENDSTOP_OPEN "open"
-MSG_ENDSTOPS_HIT "endstops hit: "
-MSG_Enqueing "enqueing \""
-MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
-MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
-MSG_ERR_KILLED "Printer halted. kill() called!"
-MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
-MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
-MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-MSG_ERROR "ERROR:"
-MSG_EXTRUDER "Extrusor"
-MSG_EXTRUDER_1 "Extrusor 1"
-MSG_EXTRUDER_2 "Extrusor 2"
-MSG_EXTRUDER_3 "Extrusor 3"
-MSG_EXTRUDER_4 "Extrusor 4"
-MSG_FACTOR " \002 Fact"
-MSG_FAN_SPEED "Velocidad Vent."
-MSG_FIL_ADJUSTING "Ajustando filamentos. Espera por favor."
-MSG_FILAMENT_CLEAN "Es el nuevo color nitido?"
-MSG_FILAMENT_LOADING_T0 "Insertar filamento en el extrusor 1. Haz clic una vez terminado."
-MSG_FILAMENT_LOADING_T1 "Insertar filamento en el extrusor 2. Haz clic una vez terminado."
-MSG_FILAMENT_LOADING_T2 "Insertar filamento en el extrusor 3. Haz clic una vez terminado."
-MSG_FILAMENT_LOADING_T3 "Insertar filamento en el extrusor 4. Haz clic una vez terminado."
-MSG_FILAMENTCHANGE "Cambiar filamento"
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Reiteracion "
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Buscando punto de calibracion heatbed"
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " de 4"
-MSG_FINISHING_MOVEMENTS "Term. movimientos"
-MSG_FLOW "Flujo"
-MSG_FLOW0 "Flow 0"
-MSG_FLOW1 "Flow 1"
-MSG_FLOW2 "Flow 2"
-MSG_FOLLOW_CALIBRATION_FLOW "Impresora no esta calibrada todavia. Por favor usa el manual, capitulo First steps, Calibration flow."
-MSG_FREE_MEMORY " Free Memory: "
-MSG_HEATING "Calentando..."
-MSG_HEATING_COMPLETE "Calentamiento final."
-MSG_HOMEYZ "Calibrar Z"
-MSG_HOMEYZ_DONE "Calibracion OK"
-MSG_HOMEYZ_PROGRESS "Calibrando Z"
-MSG_CHANGE_EXTR "Cambiar extrusor."
-MSG_CHANGE_SUCCESS "Cambio correcto"
-MSG_CHANGING_FILAMENT "Cambiando filamento"
-MSG_CHOOSE_EXTRUDER "Elegir extrusor:"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Mejorando punto de calibracion heatbed"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " de 4"
-MSG_INIT_SDCARD "Init. SD card"
-MSG_INSERT_FILAMENT "Introducir filamento"
-MSG_KILLED "PARADA DE EMERGENCIA"
-MSG_LANGUAGE_NAME "Espanol"
-MSG_LANGUAGE_SELECT "Cambiae el idioma"
-MSG_LOAD_ALL "Intr. todos fil."
-MSG_LOAD_EPROM "Load memory"
-MSG_LOAD_FILAMENT "Introducir filam."
-MSG_LOAD_FILAMENT_1 "Introducir fil. 1"
-MSG_LOAD_FILAMENT_2 "Introducir fil. 2"
-MSG_LOAD_FILAMENT_3 "Introducir fil. 3"
-MSG_LOAD_FILAMENT_4 "Introducir fil. 4"
-MSG_LOADING_COLOR "Cambiando color" 
-MSG_LOADING_FILAMENT "Introduciendo filam."
-MSG_LOOSE_PULLEY "Polea suelta"
-MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
-MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
-MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
-MSG_M117_V2_CALIBRATION "M117 Cal. primera cap."
-MSG_M119_REPORT "Reporting endstop status"
-MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
-MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
-MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
-MSG_MAIN "Menu principal"
-MSG_MARK_FIL "Marque el filamento 100 mm por encima del final del extrusor. Haz clic una vez terminado."
-MSG_MAX " \002 Max"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Midiendo altura del punto de calibracion"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " de 9"
-MSG_MENU_CALIBRATION "Calibracion"
-MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
-MSG_MIN " \002 Min"
-MSG_MOTION "Motion"
-MSG_MOVE_AXIS "Mover ejes"
-MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrando XYZ. Gira el boton para subir el extrusor hasta tocar los topes superiores. Despues haz clic."
-MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Calibrando Z. Gira el boton para subir el extrusor hasta tocar los topes superiores. Despues haz clic."
-MSG_MOVE_E "Extruir"
-MSG_MOVE_X "Mover X"
-MSG_MOVE_Y "Mover Y"
-MSG_MOVE_Z "Mover Z"
-MSG_NEW_FIRMWARE_AVAILABLE "Nuevo firmware disponible:"
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Actualizar por favor"
-MSG_NO "No"
-MSG_NO_CARD "No hay tarjeta SD"
-MSG_NO_MOVE "Sin movimiento"
-MSG_NOT_COLOR "Color no homogeneo"
-MSG_NOT_LOADED "Fil. no introducido"
-MSG_NOZZLE "Nozzle"
-MSG_NOZZLE1 "Nozzle2"
-MSG_NOZZLE2 "Nozzle3"
-MSG_OK "ok"
-MSG_PAPER "Colocar una hoja de papel sobre la superficie de impresion durante la calibracion de los primeros 4 puntos. Si la boquilla mueve el papel, apagar impresora inmediatamente."
-MSG_PAUSE_PRINT "Pausar impresion"
-MSG_PICK_Z "Esc. Modelo Adecuado"
-MSG_PID_EXTRUDER "Calibracion PID"
-MSG_PID_FINISHED "Cal. PID terminada"
-MSG_PID_RUNNING "Cal. PID           "
-MSG_PINDA_NOT_CALIBRATED "La temperatura de calibracion no ha sido ajustada"
-MSG_PINDA_PREHEAT "Calentando PINDA"
-MSG_PLA_FILAMENT_LOADED "Esta el filamento PLA cargado?"
-MSG_PLANNER_BUFFER_BYTES "  PlannerBufferBytes: "
-MSG_PLEASE_LOAD_PLA "Carga el filamento PLA primero por favor."
-MSG_PLEASE_WAIT "Por Favor Esperar"
-MSG_POWERUP "PowerUp"
-MSG_PREHEAT "Precalentar"
-MSG_PREHEAT_NOZZLE "Precalentar extrusor"
-MSG_PREPARE_FILAMENT "Preparar filamento"
-MSG_PREPARE_FILAMENT "Preparar filamento"
-MSG_PRESS "Haz clic"
-MSG_PRINT_ABORTED "Impresion cancelada" 
-MSG_PRINT_PAUSED "Impresion en pausa"
-MSG_PRUSA3D "prusa3d.com"
-MSG_PRUSA3D_FORUM "forum.prusa3d.com"
-MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
-MSG_REBOOT "Reiniciar impresora"
-MSG_RECTRACT "Rectract"
-MSG_REFRESH "\xF8" "Refresh"
-MSG_RESEND "Resend: "
-MSG_RESTORE_FAILSAFE "Restore failsafe"
-MSG_RESUME_PRINT "Reanudar impres."
-MSG_RESUMING "Resumiendo impresion"
-MSG_RESUMING_PRINT "Reanudar impresion"
-MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
-MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
-MSG_SD_CARD_OK "SD card ok"
-MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
-MSG_SD_FILE_OPENED "File opened: "
-MSG_SD_FILE_SELECTED "File selected"
-MSG_SD_INIT_FAIL "SD init fail"
-MSG_SD_INSERTED "Tarjeta insertada"
-MSG_SD_NOT_PRINTING "Not SD printing"
-MSG_SD_OPEN_FILE_FAIL "open failed, File: "
-MSG_SD_OPENROOT_FAIL "openRoot failed"
-MSG_SD_PRINTING_BYTE "SD printing byte "
-MSG_SD_REMOVED "Tarjeta retirada"
-MSG_SD_VOL_INIT_FAIL "volume.init failed"
-MSG_SD_WORKDIR_FAIL "workDir open failed"
-MSG_SD_WRITE_TO_FILE "Writing to file: "
-MSG_SELFTEST "Selftest"
-MSG_SELFTEST_BEDHEATER "Heatbed"
-MSG_SELFTEST_COOLING_FAN "Vent. frontal?"
-MSG_SELFTEST_ENDSTOP "Tope final"
-MSG_SELFTEST_ENDSTOP_NOTHIT "Tope no alcanzado"
-MSG_SELFTEST_ENDSTOPS "Topes finales"
-MSG_SELFTEST_ERROR "Autotest error!"
-MSG_SELFTEST_EXTRUDER_FAN "Vent. izquierdo?"
-MSG_SELFTEST_FAILED "Fallo Selftest"
-MSG_SELFTEST_FAN "Test ventiladores"
-MSG_SELFTEST_FAN_NO "Ventilador no gira"
-MSG_SELFTEST_FAN_YES "Ventilador gira"
-MSG_SELFTEST_HEATERTHERMISTOR "Hotend"
-MSG_SELFTEST_CHECK_ALLCORRECT "Todo bien"
-MSG_SELFTEST_CHECK_BED "Control heatbed"
-MSG_SELFTEST_CHECK_ENDSTOPS "Control topes"
-MSG_SELFTEST_CHECK_HOTEND "Control hotend " 
-MSG_SELFTEST_CHECK_X "Control tope X"
-MSG_SELFTEST_CHECK_Y "Control tope Y"
-MSG_SELFTEST_CHECK_Z "Control tope Z"
-MSG_SELFTEST_MOTOR "Motor"
-MSG_SELFTEST_NOTCONNECTED "No hay conexion  "
-MSG_SELFTEST_OK "Self test OK"
-MSG_SELFTEST_PLEASECHECK "Controla :"   
-MSG_SELFTEST_START "Inicio Selftest"
-MSG_SELFTEST_WIRINGERROR "Error de conexion"
-MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
-MSG_SET_HOME_OFFSETS "Set home offsets"
-MSG_SET_ORIGIN "Set origin"
-MSG_SET_TEMPERATURE "Establecer temp.:"
-MSG_SETTINGS "Configuracion"
-MSG_SHOW_END_STOPS "Ensena tope final"
-MSG_SILENT_MODE_OFF "Modo [rend.pleno]" 
-MSG_SILENT_MODE_ON "Modo   [silencio]"
-MSG_SPEED "Velocidad"
-MSG_STATISTICS "Estadisticas  "
-MSG_STATS_FILAMENTUSED "Filamento usado:  "
-MSG_STATS_PRINTTIME "Tiempo de imp.:"
-MSG_STATS_TOTALFILAMENT "Filamento total:"
-MSG_STATS_TOTALPRINTTIME "Tiempo total :"
-MSG_STEPPER_TOO_HIGH "Steprate too high: "
-MSG_STOP_PRINT "Detener impresion"
-MSG_STOPPED "PARADA"
-MSG_STORE_EPROM "Store memory"
-MSG_SUPPORT "Soporte"
-MSG_SWITCH_PS_OFF "Switch power off"
-MSG_SWITCH_PS_ON "Switch power on"
-MSG_TAKE_EFFECT " para aplicar cambios" 
-MSG_TEMP_CALIBRATION "Cal. temp.          "
-MSG_TEMP_CALIBRATION_DONE "Calibracon temperatura terminada. Haz clic para continuar."
-MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]"
-MSG_TEMP_CALIBRATION_ON "Cal. temp. [ON]"
-MSG_TEMPERATURE "Temperatura"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
-MSG_TUNE "Ajustar"
-MSG_UNLOAD_ALL "Soltar todos fil."
-MSG_UNLOAD_FILAMENT "Soltar filamento"
-MSG_UNLOAD_FILAMENT_1 "Soltar fil. 1"
-MSG_UNLOAD_FILAMENT_2 "Soltar fil. 2"
-MSG_UNLOAD_FILAMENT_3 "Soltar fil. 3"
-MSG_UNLOAD_FILAMENT_4 "Soltar fil. 4"
-MSG_UNLOADING_FILAMENT "Soltando filamento"
-MSG_USB_PRINTING "Impresion con USB "
-MSG_USED "Usado en impresion"
-MSG_USERWAIT "Esperando ordenes"
-MSG_V2_CALIBRATION "Cal. primera cap."
-MSG_VOLUMETRIC "Filament"
-MSG_VOLUMETRIC_ENABLED "E in mm3"
-MSG_WAITING_TEMP "Esperando enfriamiento de heatbed y extrusor."
-MSG_WATCH "Monitorizar"
-MSG_WIZARD "Wizard"
-MSG_WIZARD_CALIBRATION_FAILED "Lee el manual y resuelve el problema. Despues, reinicia la impresora y continua con el Wizard"
-MSG_WIZARD_CLEAN_HEATBED "Limpia la superficie de la heatbed, por favor, y haz clic"
-MSG_WIZARD_DONE "Terminado! Feliz impresion!"
-MSG_WIZARD_FILAMENT_LOADED "Esta el filamento cargado?"
-MSG_WIZARD_HEATING "Precalentando nozzle. Espera por favor."
-MSG_WIZARD_INSERT_CORRECT_FILAMENT "Carga filamento PLA, por favor, y reinicia la impresora para continuar con el Wizard"
-MSG_WIZARD_LOAD_FILAMENT "Inserta, por favor, filamento PLA en el extrusor. Despues haz clic para cargarlo."
-MSG_WIZARD_PLA_FILAMENT "Es el filamento PLA?"
-MSG_WIZARD_QUIT "Siempre puedes acceder al asistente desde Calibracion -> Wizard"
-MSG_WIZARD_REPEAT_V2_CAL "Quieres repetir el ultimo paso para reajustar la distancia nozzle-heatbed?"
-MSG_WIZARD_RERUN "Ejecutar el Wizard borrara los valores de calibracion actuales y comenzara de nuevo. Continuar?"
-MSG_WIZARD_SELFTEST "Primero, hare el Selftest para comprobar los problemas de montaje mas comunes."
-MSG_WIZARD_V2_CAL "Voy a calibrar la distancia entre la punta del nozzle y la superficie de la heatbed."
-MSG_WIZARD_V2_CAL_2 "Voy a comenzar a imprimir la linea y tu bajaras el nozzle gradualmente al rotar el mando, hasta que llegues a la altura optima. Mira las imagenes del capitulo Calibracion en el manual."
-MSG_WIZARD_WELCOME "Hola, soy tu impresora Original Prusa i3. Quieres que te guie a traves de la configuracion?"
-MSG_WIZARD_WILL_PREHEAT "Voy a precalentar el nozzle para PLA ahora."
-MSG_WIZARD_XYZ_CAL "Hare la calibracion XYZ. Tardara 12 min. aproximadamente."
-MSG_WIZARD_Z_CAL "Voy a hacer Calibracion Z ahora."
-MSG_YES "Si"
-WELCOME_MSG CUSTOM_MENDEL_NAME " prep."

+ 0 - 294
lang_upgrade/msgs_it.txt

@@ -1,294 +0,0 @@
-MSG_ADJUSTZ "Autoregolare Z?"
-MSG_ALL "Tutti"
-MSG_AUTO_HOME "Trova origine"
-MSG_BABYSTEP_X "Babystep X"
-MSG_BABYSTEP_Y "Babystep Y"
-MSG_BABYSTEP_Z "Compensazione Z"
-MSG_BABYSTEP_Z_NOT_SET "Distanza tra la punta dell'ugello e la superficie del letto non ancora imposta. Si prega di seguire il manuale, capitolo First steps, sezione First layer calibration."
-MSG_BABYSTEPPING_X "Babystepping X"
-MSG_BABYSTEPPING_Y "Babystepping Y"
-MSG_BABYSTEPPING_Z "Compensazione Z"
-MSG_BED "Letto"
-MSG_BED_CORRECTION_FRONT "Fronte    [um]"
-MSG_BED_CORRECTION_LEFT "Sinistra  [um]"
-MSG_BED_CORRECTION_MENU "Correz. liv.letto"
-MSG_BED_CORRECTION_REAR "Retro     [um]"
-MSG_BED_CORRECTION_RESET "Reset"			
-MSG_BED_CORRECTION_RIGHT "Destra    [um]"
-MSG_BED_DONE "Piatto fatto."
-MSG_BED_HEATING "Riscald. letto"
-MSG_BED_LEVELING_FAILED_POINT_HIGH "Livellamento letto fallito.Risp sensore troppo prestoIn attesa di reset."
-MSG_BED_LEVELING_FAILED_POINT_LOW "Livellamento letto fallito.NoRispSensor Residui su ugello? In attesa di reset."
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Livellamento letto fallito. Sensore discon. o Cavo Dann. In attesa di reset."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Calibrazione XYZ fallita. Punti anteriori non raggiungibili."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Calibrazione XYZ fallita. Punto anteriore sinistro non raggiungibile."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Calibrazione XYZ fallita. Punto anteriore destro non raggiungibile."
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibrazione XYZ fallita. Si prega di consultare il manuale."
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Calibrazione XYZ OK. Gli assi X/Y sono perpendicolari. Complimenti!"
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibrazione XYZ fallita. Il punto di calibrazione sul letto non e' stato trovato."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Calibrazion XYZ corretta. La distorsione verra' automaticamente compensata."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Calibrazion XYZ corretta. Assi X/Y leggermente storti. Ben fatto!"
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Calibrazione XYZ compromessa. Punti anteriori non raggiungibili."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Calibrazione XYZ compromessa. Punto anteriore sinistro non raggiungibile."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Calibrazione XYZ compromessa. Punto anteriore destro non raggiungibile."
-MSG_BEGIN_FILE_LIST "Begin file list"
-MSG_CALIBRATE_BED "Calibra XYZ"
-MSG_CALIBRATE_BED_RESET "Reset XYZ calibr."
-MSG_CALIBRATE_E "Calibra E"
-MSG_CALIBRATE_PINDA "Calibrare"
-MSG_CALIBRATION_PINDA_MENU "Taratura temp."
-MSG_CARD_MENU "Stampa da SD"
-MSG_CLEAN_NOZZLE_E "Calibrazione E terminata. Si prega di pulire l'ugello. Click per continuare."
-MSG_CNG_SDCARD "Change SD card"
-MSG_CONFIGURATION_VER " Last Updated: "
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP "I carrelli Z sin/des sono altezza max?"
-MSG_CONFIRM_NOZZLE_CLEAN "Pulire l'ugello per la calibrazione, poi fare click."
-MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "I filamenti sono regolati. Si prega di pulire l'ugello per la calibrazione. Click per continuare."
-MSG_COOLDOWN "Raffredda"
-MSG_CORRECTLY "Cambiato corr.?"
-MSG_CURRENT "Attuale"
-MSG_DATE "Data"
-MSG_DISABLE_STEPPERS "Disabilit motori"
-MSG_DWELL "Sospensione..."
-MSG_E_CAL_KNOB "Girare la manopola affinche' il segno raggiunga il corpo dell'estrusore. Click per continuare."
-MSG_END_FILE_LIST "End file list"
-MSG_ENDSTOP_HIT "TRIGGERED"
-MSG_ENDSTOP_OPEN "open"
-MSG_ENDSTOPS_HIT "endstops hit: "
-MSG_Enqueing "enqueing \""
-MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
-MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
-MSG_ERR_KILLED "Printer halted. kill() called!"
-MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
-MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
-MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-MSG_ERROR "ERRORE:"
-MSG_EXTRUDER "Estrusore"
-MSG_EXTRUDER_1 "Estrusore 1"
-MSG_EXTRUDER_2 "Estrusore 2"
-MSG_EXTRUDER_3 "Estrusore 3"
-MSG_EXTRUDER_4 "Estrusore 4"
-MSG_FAN_SPEED "Velocita vent."
-MSG_FIL_ADJUSTING "Filamento in fase di regolazione. Attendere prego."
-MSG_FILAMENT_CLEAN "Il colore e' nitido?"
-MSG_FILAMENT_LOADING_T0 "Inserire filamento nell'estrusore 1. Click per continuare."
-MSG_FILAMENT_LOADING_T1 "Inserire filamento nell'estrusore 2. Click per continuare."
-MSG_FILAMENT_LOADING_T2 "Inserire filamento nell'estrusore 3. Click per continuare."
-MSG_FILAMENT_LOADING_T3 "Inserire filamento nell'estrusore 4. Click per continuare."
-MSG_FILAMENTCHANGE "Camb. filamento"
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Reiterazione "
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Ricerca del letto punto di calibraz."
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " su 4"
-MSG_FINISHING_MOVEMENTS "Arresto in corso"
-MSG_FLOW "Flusso"
-MSG_FOLLOW_CALIBRATION_FLOW "Stampante ancora non calibrata. Si prega di seguire il manuale, capitolo PRIMI PASSI, sezione della calibrazione."
-MSG_FREE_MEMORY " Free Memory: "
-MSG_HEATING "Riscaldamento..."
-MSG_HEATING_COMPLETE "Riscald. completo"
-MSG_HOMEYZ "Calibra Z"
-MSG_HOMEYZ_DONE "Calibrazione OK"
-MSG_HOMEYZ_PROGRESS "Calibrando Z"
-MSG_CHANGE_EXTR "Cambio estrusore."
-MSG_CHANGE_SUCCESS "Cambio riuscito!"
-MSG_CHANGING_FILAMENT "Cambiando filam."
-MSG_CHOOSE_EXTRUDER "Seleziona estrusore:"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Perfezion. il letto punto di calibraz."
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " su 4"
-MSG_INIT_SDCARD "Init. SD card"
-MSG_INSERT_FILAMENT "Inserire filamento"
-MSG_KILLED "IN TILT."
-MSG_LANGUAGE_NAME "Italiano"
-MSG_LANGUAGE_SELECT "Seleziona lingua"
-MSG_LEFT "Sinistra:"
-MSG_LOAD_ALL "Caricare tutti"
-MSG_LOAD_EPROM "Load memory"
-MSG_LOAD_FILAMENT "Carica filamento"
-MSG_LOAD_FILAMENT_1 "Caricare fil. 1"
-MSG_LOAD_FILAMENT_2 "Caricare fil. 2"
-MSG_LOAD_FILAMENT_3 "Caricare fil. 3"
-MSG_LOAD_FILAMENT_4 "Caricare fil. 4"
-MSG_LOADING_COLOR "Caricando colore"
-MSG_LOADING_FILAMENT "Caricando filam."
-MSG_LOOSE_PULLEY "Puleggia lenta"
-MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
-MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
-MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
-MSG_M117_V2_CALIBRATION "M117 Cal. primo layer."
-MSG_M119_REPORT "Reporting endstop status"
-MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
-MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
-MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
-MSG_MAIN "Menu principale"
-MSG_MARK_FIL "Segnare il filamento a 100 mm di distanza dal corpo dell'estrusore. Click per continuare."
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Misurare l'altezza di riferimento del punto di calibrazione"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " su 9"
-MSG_MEASURED_SKEW "Incl. misurata:"
-MSG_MENU_CALIBRATION "Calibrazione"
-MSG_MESH_BED_LEVELING "Mesh livel. letto"
-MSG_MOTION "Motion"
-MSG_MOVE_01MM "Move 0.1mm"
-MSG_MOVE_10MM "Move 10mm"
-MSG_MOVE_1MM "Move 1mm"
-MSG_MOVE_AXIS "Muovi asse"
-MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrazione XYZ. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare."
-MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Calibrazione Z. Ruotare la manopola per alzare il carrello Z fino all'altezza massima. Click per terminare."
-MSG_MOVE_E "Muovi Estrusore"
-MSG_MOVE_X "Muovi X"
-MSG_MOVE_Y "Muovi Y"
-MSG_MOVE_Z "Muovi Z"
-MSG_NEW_FIRMWARE_AVAILABLE "Nuova versione del firmware disponibile"
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prega aggiorna."
-MSG_NO "No"
-MSG_NO_CARD "Nessuna SD"
-MSG_NO_MOVE "Nessun movimento."
-MSG_NOT_COLOR "Colore non puro"
-MSG_NOT_LOADED "Fil. non caricato"
-MSG_NOZZLE "Ugello"
-MSG_NOZZLE1 "Nozzle2"
-MSG_NOZZLE2 "Nozzle3"
-MSG_OK "ok"
-MSG_PAPER "Porre un foglio sotto l'ugello durante la calibrazione dei primi 4 punti. In caso l'ugello muova il foglio spegnere prontamente la stampante."
-MSG_PAUSE_PRINT "Metti in pausa"
-MSG_PICK_Z "Pick print"
-MSG_PID_EXTRUDER "Calibrazione PID"
-MSG_PID_FINISHED "Cal. PID completa"
-MSG_PID_RUNNING "Cal. PID"
-MSG_PINDA_NOT_CALIBRATED "Taratura della temperatura non ancora eseguita"
-MSG_PINDA_PREHEAT "Riscald. PINDA"
-MSG_PLA_FILAMENT_LOADED "Il PLA e stato caricato?"
-MSG_PLANNER_BUFFER_BYTES "  PlannerBufferBytes: "
-MSG_PLEASE_LOAD_PLA "Per favore prima caricare filamento di PLA."
-MSG_PLEASE_WAIT "Aspetta"
-MSG_POSITION_UNKNOWN "Home X/Y before Z"
-MSG_POWERUP "PowerUp"
-MSG_PREHEAT "Preriscalda"
-MSG_PREHEAT_NOZZLE "Preris. ugello!"
-MSG_PREPARE_FILAMENT "Preparare filamento"
-MSG_PRESS "e cliccare manopola"
-MSG_PRINT_ABORTED "Stampa abortita"
-MSG_PRINT_PAUSED "Stampa in pausa"
-MSG_PRUSA3D "prusa3d.com"
-MSG_PRUSA3D_FORUM "forum.prusa3d.com"
-MSG_PRUSA3D_HOWTO "howto.prusa3d.com"
-MSG_REBOOT "Riavvia stampante"
-MSG_REFRESH "\xF8" "Refresh"
-MSG_RESEND "Resend: "
-MSG_RESTORE_FAILSAFE "Restore failsafe"
-MSG_RESUME_PRINT "Riprendi stampa"
-MSG_RESUMING "Riprendi stampa"
-MSG_RESUMING_PRINT "Stampa in ripresa"
-MSG_RIGHT "Destra:"
-MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
-MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
-MSG_SD_CARD_OK "SD card ok"
-MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
-MSG_SD_FILE_OPENED "File opened: "
-MSG_SD_FILE_SELECTED "File selected"
-MSG_SD_INIT_FAIL "SD init fail"
-MSG_SD_INSERTED "SD inserita"
-MSG_SD_NOT_PRINTING "Not SD printing"
-MSG_SD_OPEN_FILE_FAIL "open failed, File: "
-MSG_SD_OPENROOT_FAIL "openRoot failed"
-MSG_SD_PRINTING_BYTE "SD printing byte "
-MSG_SD_REMOVED "SD rimossa"
-MSG_SD_VOL_INIT_FAIL "volume.init failed"
-MSG_SD_WORKDIR_FAIL "workDir open failed"
-MSG_SD_WRITE_TO_FILE "Writing to file: "
-MSG_SELFTEST "Autotest"
-MSG_SELFTEST_BEDHEATER "Letto/Riscald."
-MSG_SELFTEST_COOLING_FAN "Vent di stampa ant.?"
-MSG_SELFTEST_ENDSTOP "Finecorsa"
-MSG_SELFTEST_ENDSTOP_NOTHIT "Finec. fuori por."
-MSG_SELFTEST_ENDSTOPS "Finecorsa (2)"
-MSG_SELFTEST_ERROR "Autotest negativo"
-MSG_SELFTEST_EXTRUDER_FAN "Vent SX sull'ugello?"
-MSG_SELFTEST_FAILED "Autotest fallito"
-MSG_SELFTEST_FAN "Prova del ventilator"
-MSG_SELFTEST_FAN_NO "Non si gira"
-MSG_SELFTEST_FAN_YES "Gira"
-MSG_SELFTEST_HEATERTHERMISTOR "Riscald./Termist."
-MSG_SELFTEST_CHECK_ALLCORRECT "Nessun errore"
-MSG_SELFTEST_CHECK_BED "Verifica letto"
-MSG_SELFTEST_CHECK_ENDSTOPS "Verifica finecorsa"
-MSG_SELFTEST_CHECK_HOTEND "Verifica ugello"  
-MSG_SELFTEST_CHECK_X "Verifica asse X"
-MSG_SELFTEST_CHECK_Y "Verifica asse Y"
-MSG_SELFTEST_CHECK_Z "Verifica asse Z"
-MSG_SELFTEST_MOTOR "Motore"
-MSG_SELFTEST_NOTCONNECTED "Non connesso"
-MSG_SELFTEST_OK "Autotest OK"
-MSG_SELFTEST_PLEASECHECK "Verificare:"	
-MSG_SELFTEST_START "Avvia autotest"
-MSG_SELFTEST_WIRINGERROR "Errore cablaggio"
-MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
-MSG_SET_HOME_OFFSETS "Set home offsets"
-MSG_SET_ORIGIN "Set origin"
-MSG_SET_TEMPERATURE "Imposta temperatura"
-MSG_SETTINGS "Impostazioni"
-MSG_SEVERE_SKEW "Inc. rilevante:"
-MSG_SHOW_END_STOPS "Stato finecorsa"
-MSG_SILENT_MODE_OFF "Mode      [forte]" 
-MSG_SILENT_MODE_ON "Modo [silenzioso]"
-MSG_SLIGHT_SKEW "Incl. leggera:"
-MSG_SPEED "Velocita"
-MSG_STATISTICS "Statistiche"
-MSG_STATS_FILAMENTUSED "Filamento usato:"
-MSG_STATS_PRINTTIME "Tempo di stampa:"
-MSG_STATS_TOTALFILAMENT "Filamento tot:"
-MSG_STATS_TOTALPRINTTIME "Tempo stampa tot:"
-MSG_STEPPER_TOO_HIGH "Steprate too high: "
-MSG_STOP_PRINT "Arresta stampa"
-MSG_STOPPED "ARRESTATO."
-MSG_STORE_EPROM "Store memory"
-MSG_SUPPORT "Support"
-MSG_SWITCH_PS_OFF "Switch power off"
-MSG_SWITCH_PS_ON "Switch power on"
-MSG_TAKE_EFFECT " per attualizzare"
-MSG_TEMP_CALIBRATION "Cal. temp.          "
-MSG_TEMP_CALIBRATION_DONE "Taratura temperatura terminata. Fare click per continuare."
-MSG_TEMP_CALIBRATION_OFF "Cal. temp. [OFF]"
-MSG_TEMP_CALIBRATION_ON "Cal. temp. [ON]"
-MSG_TEMPERATURE "Temperatura"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]"
-MSG_TUNE "Regola"
-MSG_UNLOAD_ALL "Rilasciare tutti"
-MSG_UNLOAD_FILAMENT "Scarica filamento"
-MSG_UNLOAD_FILAMENT_1 "Rilasciare fil. 1"
-MSG_UNLOAD_FILAMENT_2 "Rilasciare fil. 1"
-MSG_UNLOAD_FILAMENT_3 "Rilasciare fil. 1"
-MSG_UNLOAD_FILAMENT_4 "Rilasciare fil. 1"
-MSG_UNLOADING_FILAMENT "Rilasc. filamento"
-MSG_USB_PRINTING "Stampa da USB"
-MSG_USED "Usati nella stampa"
-MSG_USERWAIT "Attendendo utente"
-MSG_V2_CALIBRATION "Cal. primo layer."
-MSG_VOLUMETRIC "Filament"
-MSG_VOLUMETRIC_ENABLED "E in mm3"
-MSG_WAITING_TEMP "In attesa del raffreddamento della testina e del piatto"
-MSG_WATCH "Schermata info"
-MSG_WIZARD "Wizard"
-MSG_WIZARD_CALIBRATION_FAILED "Per favore consulta il nostro manuale per risolvere il problema. Poi riprendi il Wizard dopo aver riavviato la stampante."
-MSG_WIZARD_CLEAN_HEATBED "Per favore pulisci il piatto, poi premi la manopola."
-MSG_WIZARD_DONE "Ben fatto. Buona stampa!"
-MSG_WIZARD_FILAMENT_LOADED "Il filamento e stato caricato?"
-MSG_WIZARD_HEATING "Sto preriscaldando l'ugello. Per favore attendi."
-MSG_WIZARD_INSERT_CORRECT_FILAMENT "Per favore carica filamento di PLA e riprendi il Wizard dopo aver riavviato la stampante."
-MSG_WIZARD_LOAD_FILAMENT "Per favore inserisci il filamento di PLA nell'estrusore, poi premi la manopola per caricare."
-MSG_WIZARD_PLA_FILAMENT "E questo un filamento di PLA?"
-MSG_WIZARD_QUIT "E possibile proseguire la guide Wizard in qualsiasi momento attraverso Calibrazione -> Wizard."
-MSG_WIZARD_REPEAT_V2_CAL "Desideri ripetere l'ultimo passaggio per migliorare la distanza fra ugello e piatto?"
-MSG_WIZARD_RERUN "Se avvi il Wizard perderai la calibrazione preesistente e dovrai ricominciare dall'inizio. Continuare?"
-MSG_WIZARD_SELFTEST "Anzitutto avviero il Self Test per controllare gli errori di assemblaggio piu comuni."
-MSG_WIZARD_V2_CAL "Adesso tarero lo stacco fra ugello e superfice del piatto."
-MSG_WIZARD_V2_CAL_2 "Adesso iniziero a stampare una linea e tu dovrai abbassare l'ugello poco per volta ruotando la manopola sino a raggiungere una altezza ottimale. Per favore dai uno sguardo all'immagine del nostro manuale, cap.Calibrazione."
-MSG_WIZARD_WELCOME "Ciao, sono la tua stampante Original Prusa i3. Gradiresti aiuto attraverso il processo di configurazione?"
-MSG_WIZARD_WILL_PREHEAT "Adesso preriscaldero l'ugello per PLA."
-MSG_WIZARD_XYZ_CAL "Adesso avviero una Calibrazione XYZ. Puo durare circa 12 min."
-MSG_WIZARD_Z_CAL "Adesso avviero una Calibrazione Z."
-MSG_XYZ_DETAILS "XYZ Cal. dettagli"
-MSG_Y_DISTANCE_FROM_MIN "Distanza Y da min:"
-MSG_YES "Si"
-MSG_ZPROBE_OUT "Z probe out. bed"
-MSG_ZPROBE_ZOFFSET "Z Offset"
-WELCOME_MSG CUSTOM_MENDEL_NAME " pronta."

+ 0 - 295
lang_upgrade/msgs_pl.txt

@@ -1,295 +0,0 @@
-MSG_ADJUSTZ "Autodostroic Z?"
-MSG_ALL "Wszystko"
-MSG_AUTO_HOME "Auto home"
-MSG_BABYSTEP_X "Babystep X"
-MSG_BABYSTEP_Y "Babystep Y"
-MSG_BABYSTEP_Z "Dostrojenie osy Z" 
-MSG_BABYSTEP_Z_NOT_SET "Odleglosc dyszy od podkladki nie jest skalibrowana. Postepuj zgodnie z instrukcja rozdzial Zaczynamy, podrozdzial Kalibracja pierwszej warstwy."
-MSG_BABYSTEPPING_X "Babystepping X"
-MSG_BABYSTEPPING_Y "Babystepping Y"
-MSG_BABYSTEPPING_Z "Dostrojenie Z"
-MSG_BED "Stolik"
-MSG_BED_CORRECTION_FRONT "Do przodu [um]"
-MSG_BED_CORRECTION_LEFT "W lewo  [um]"
-MSG_BED_CORRECTION_MENU "Korekta podkladki"
-MSG_BED_CORRECTION_REAR "Do tylu  [um]"
-MSG_BED_CORRECTION_RESET "Reset"
-MSG_BED_CORRECTION_RIGHT "W prawo [um]"
-MSG_BED_DONE "Stolik OK."
-MSG_BED_HEATING "Grzanie stolika.."
-MSG_BED_LEVELING_FAILED_POINT_HIGH "Kalibracja Z nieudana. Sensor dotk. za wysoko. Czekam na reset."
-MSG_BED_LEVELING_FAILED_POINT_LOW "Kalibracja nieudana. Sensor nie dotknal. Zanieczysz. dysza? Czekam na reset."
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Kalibracja nieudana. Sensor odlaczony lub uszkodz. kabel. Czekam na reset."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Kalibr. XYZ nieudana. Przed. punkty kalibr. zbyt do przodu. Wyrownac drukarke."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Kalibr. XYZ nieudana. Lewy przedni punkt zbyt do przodu. Wyrownac drukarke."
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Kalibr. XYZ nieudana. Prawy przedni punkt zbyt do przodu. Wyrownac drukarke."
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Kalibracja XYZ niepowiedziona. Sprawdzic w instrukcji."
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Kalibracja XYZ ok. Osie X/Y sa prostopadle. Gratulacje!"
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Kalibr. XYZ nieudana. Kalibracyjny punkt podkladki nieznaleziony."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Kalibracja XYZ prawidlowa. Skosy beda automatycznie wyrownane przy druku."
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Kalibracja XYZ prawidlowa. Osie X/Y lekko skosne. Dobra robota!"
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Kalibr. XYZ niedokladna. Przednie punkty kalibr. Zbyt wys. do przodu."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Kalibracja XYZ niedokladna. Lewy przedni punkt zbyt wysuniety do przodu."
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Kalibracja XYZ niedokladna. Prawy przedni punkt zbyt wysuniety do przodu."
-MSG_BEGIN_FILE_LIST "Begin file list"
-MSG_CALIBRATE_BED "Kalibracja XYZ"
-MSG_CALIBRATE_BED_RESET "Reset kalibr. XYZ"
-MSG_CALIBRATE_E "Kalibruj E"
-MSG_CALIBRATE_PINDA "Skalibrowac"
-MSG_CALIBRATION_PINDA_MENU "Cieplna kalibr."
-MSG_CARD_MENU "Druk z SD"
-MSG_CLEAN_NOZZLE_E "Kalibracja E skonczona. Prosze oczyscic dysze. Potem potwierdzic przyciskiem. "
-MSG_CNG_SDCARD "Vymenit SD"
-MSG_CONFIGURATION_VER " Last Updated: "
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Oba wozki dojechaly do gornej ramy?"
-MSG_CONFIRM_NOZZLE_CLEAN "Dla prawidl. kalibracji prosze oczyscic dysze. Potw. guzikiem."
-MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Dla prawidlowej kalibracji prosze oczyscic dysze. Potem potwierdzic przyciskiem."
-MSG_CONTROL "Kontrola"
-MSG_COOLDOWN "Wychlodzic" 
-MSG_CORRECTLY "Wymiana ok?"
-MSG_CURRENT "Tylko aktualne"
-MSG_DATE "Data:"
-MSG_DISABLE_STEPPERS "Wylaczyc silniki"
-MSG_DWELL "Sleep..."
-MSG_E_CAL_KNOB "Prosze otaczac przycisk poki znacznik nie dosiegnie ciala ekstrudera. Potwierdzic przyciskiem."
-MSG_END_FILE_LIST "End file list"
-MSG_ENDSTOP_HIT "TRIGGERED"
-MSG_ENDSTOP_OPEN "open"
-MSG_ENDSTOPS_HIT "endstops hit: "
-MSG_Enqueing "enqueing \""
-MSG_ERR_COLD_EXTRUDE_STOP " cold extrusion prevented"
-MSG_ERR_CHECKSUM_MISMATCH "checksum mismatch, Last Line: "
-MSG_ERR_KILLED "Printer halted. kill() called!"
-MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: "
-MSG_ERR_NO_THERMISTORS "No thermistors - no temperature"
-MSG_ERR_STOPPED "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-MSG_ERROR "BLAD:"
-MSG_EXTRUDER "Ekstruder"
-MSG_EXTRUDER_1 "Ekstruder 1"
-MSG_EXTRUDER_2 "Ekstruder 2"
-MSG_EXTRUDER_3 "Ekstruder 3"
-MSG_EXTRUDER_4 "Ekstruder 4"
-MSG_FACTOR " \002 Fact"
-MSG_FAN_SPEED "Predkosc went."
-MSG_FIL_ADJUSTING "Przebiega wyrownanie filamentow. Prosze czekac."
-MSG_FILAMENT_CLEAN "Czy kolor jest czysty?"
-MSG_FILAMENT_LOADING_T0 "Wloz filament do ekstrudera 1. Potwierdz przyciskiem."
-MSG_FILAMENT_LOADING_T1 "Wloz filament do ekstrudera 2. Potwierdz przyciskiem."
-MSG_FILAMENT_LOADING_T2 "Wloz filament do ekstrudera 3. Potwierdz przyciskiem."
-MSG_FILAMENT_LOADING_T3 "Wloz filament do ekstrudera 4. Potwierdz przyciskiem."
-MSG_FILAMENTCHANGE "Wymienic filament"
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteracja "
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Szukam punktu kalibracyjnego podkladki"
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " z 4"
-MSG_FINISHING_MOVEMENTS "Konczenie druku"
-MSG_FLOW "Przeplyw"
-MSG_FLOW0 "Prutok 0"
-MSG_FLOW1 "Prutok 1"
-MSG_FLOW2 "Prutok 2"
-MSG_FOLLOW_CALIBRATION_FLOW "Drukarka nie zostala jeszcze skalibrowana. Prosze kierowac sie instrukcja, rozdzial Zaczynamy, podrozdzial Selftest."
-MSG_FREE_MEMORY " Free Memory: "
-MSG_HEATING "Grzanie..."
-MSG_HEATING_COMPLETE "Grzanie OK."
-MSG_HOMEYZ "Kalibruj Z"
-MSG_HOMEYZ_DONE "Kalibracja OK"
-MSG_HOMEYZ_PROGRESS "Kalibruje Z"
-MSG_CHANGE_EXTR "Zmienic ekstruder"
-MSG_CHANGE_SUCCESS "Wymiana ok!"
-MSG_CHANGING_FILAMENT "Wymiana filamentu"
-MSG_CHOOSE_EXTRUDER "Wybierz ekstruder"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Poprawiam precyzyjnosc punktu kalibracyjnego"
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " z 4"
-MSG_INIT_SDCARD "Inic. SD"
-MSG_INSERT_FILAMENT "Wprowadz filament"
-MSG_KILLED "KILLED. "
-MSG_LANGUAGE_NAME "Polski"
-MSG_LANGUAGE_SELECT "Wybor jezyka"
-MSG_LEFT "Lewy:"
-MSG_LOAD_ALL "Zalad. wszystkie"
-MSG_LOAD_EPROM "Ulozit pamet"
-MSG_LOAD_FILAMENT "Wprowadz filament"
-MSG_LOAD_FILAMENT_1 "Zaladowac fil. 1"
-MSG_LOAD_FILAMENT_2 "Zaladowac fil. 2"
-MSG_LOAD_FILAMENT_3 "Zaladowac fil. 3"
-MSG_LOAD_FILAMENT_4 "Zaladowac fil. 4"
-MSG_LOADING_COLOR "Czyszcz. koloru"
-MSG_LOADING_FILAMENT "Wprow. filamentu"
-MSG_LOOSE_PULLEY "Kolo pasowe"
-MSG_M104_INVALID_EXTRUDER "M104 Invalid extruder "
-MSG_M105_INVALID_EXTRUDER "M105 Invalid extruder "
-MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder "
-MSG_M117_V2_CALIBRATION "M117 Kal. 1. warstwy"
-MSG_M119_REPORT "Reporting endstop status"
-MSG_M200_INVALID_EXTRUDER "M200 Invalid extruder "
-MSG_M218_INVALID_EXTRUDER "M218 Invalid extruder "
-MSG_M221_INVALID_EXTRUDER "M221 Invalid extruder "
-MSG_MAIN "Menu glowne" 
-MSG_MARK_FIL "Prosze oznaczyc filament 100 mm od ciala ekstrudera. Potwierdzic przyciskiem."
-MSG_MAX " \002 Max"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Okreslam wysokosc odniesienia punktu kalibracyjnego"
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " z 9"
-MSG_MEASURED_SKEW "Zmier. sciecie:"
-MSG_MENU_CALIBRATION "Kalibracja"
-MSG_MESH_BED_LEVELING "Mesh Bed Leveling"
-MSG_MIN " \002 Min"
-MSG_MOVE_AXIS "Ruch osi"
-MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibracja XYZ. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
-MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibracja Z. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
-MSG_MOVE_E "Extruder"
-MSG_MOVE_X "Przesunac X"
-MSG_MOVE_Y "Przesunac Y"
-MSG_MOVE_Z "Przesunac Z"
-MSG_NEW_FIRMWARE_AVAILABLE "Wyszla nowa wersja firmware:"
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Prosze zaktualizowac"
-MSG_NO "Nie"
-MSG_NO_CARD "Brak karty SD"
-MSG_NO_MOVE "No move."
-MSG_NOT_COLOR "Kolor zanieczysz."
-MSG_NOT_LOADED "Brak filamentu"
-MSG_NOZZLE "Dysza"
-MSG_NOZZLE1 "Tryska2"
-MSG_NOZZLE2 "Tryska3"
-MSG_OK "ok"
-MSG_PAPER "Umiesc kartke papieru na podkladce i trzymaj pod dysza podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, wylacz drukarke."
-MSG_PAUSE_PRINT "Przerwac druk"
-MSG_PICK_Z "Vyberte vytisk"
-MSG_PID_EXTRUDER "Kalibracja PID"
-MSG_PID_FINISHED "Kal. PID zakonczona"
-MSG_PID_RUNNING "Kal. PID"
-MSG_PINDA_NOT_CALIBRATED "Cieplna kalibracja nie byla przeprowadzona"
-MSG_PINDA_PREHEAT "Grzanie PINDA"
-MSG_PLA_FILAMENT_LOADED "Fialment PLA jest zaladowany?"
-MSG_PLANNER_BUFFER_BYTES "  PlannerBufferBytes: "
-MSG_PLEASE_LOAD_PLA "Prosze, najpierw zaladuj filament PLA."
-MSG_PLEASE_WAIT "Prosze czekac"
-MSG_POWERUP "PowerUp"
-MSG_PREHEAT "Grzanie"
-MSG_PREHEAT_NOZZLE "Nagrzej dysze!"
-MSG_PREPARE_FILAMENT "Przygotuj filament"
-MSG_PREPARE_FILAMENT "Przygotuj filament"
-MSG_PRESS "Nacisnij przycisk"
-MSG_PRINT_ABORTED "Druk przerwany"
-MSG_PRINT_PAUSED "Druk zatrzymany"
-MSG_PRUSA3D "prusa3d.cz"
-MSG_PRUSA3D_FORUM "forum.prusa3d.cz"
-MSG_PRUSA3D_HOWTO "howto.prusa3d.cz"
-MSG_REBOOT "Restart drukarki"
-MSG_REFRESH "\xF8" "Obnovit"
-MSG_RESEND "Resend: "
-MSG_RESTORE_FAILSAFE "Obnovit vychozi"
-MSG_RESUME_PRINT "Kontynuowac"
-MSG_RESUMING "Wznowienie druku"
-MSG_RESUMING_PRINT "Wznawianie druku"
-MSG_RIGHT "Prawy:"
-MSG_SD_CANT_ENTER_SUBDIR "Cannot enter subdir: "
-MSG_SD_CANT_OPEN_SUBDIR "Cannot open subdir"
-MSG_SD_CARD_OK "SD card ok"
-MSG_SD_ERR_WRITE_TO_FILE "error writing to file"
-MSG_SD_FILE_OPENED "File opened: "
-MSG_SD_FILE_SELECTED "File selected"
-MSG_SD_INIT_FAIL "SD init fail"
-MSG_SD_INSERTED "Karta wlozona"
-MSG_SD_NOT_PRINTING "Not SD printing"
-MSG_SD_OPEN_FILE_FAIL "open failed, File: "
-MSG_SD_OPENROOT_FAIL "openRoot failed"
-MSG_SD_PRINTING_BYTE "SD printing byte "
-MSG_SD_REMOVED "Karta wyjeta"
-MSG_SD_VOL_INIT_FAIL "volume.init failed"
-MSG_SD_WORKDIR_FAIL "workDir open failed"
-MSG_SD_WRITE_TO_FILE "Writing to file: "
-MSG_SELFTEST "Selftest         "
-MSG_SELFTEST_BEDHEATER "Bed / Heater"
-MSG_SELFTEST_COOLING_FAN "Przedni went. druku?"
-MSG_SELFTEST_ENDSTOP "Endstop"
-MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop not hit"
-MSG_SELFTEST_ENDSTOPS "Endstops"
-MSG_SELFTEST_ERROR "Selftest error !"
-MSG_SELFTEST_EXTRUDER_FAN "Lewy went na dysze?"
-MSG_SELFTEST_FAILED "Selftest nieudany"
-MSG_SELFTEST_FAN "Test wentylatora"
-MSG_SELFTEST_FAN_NO "Nie kreci sie"
-MSG_SELFTEST_FAN_YES "Kreci sie"
-MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor"
-MSG_SELFTEST_CHECK_ALLCORRECT "Wszystko OK      "
-MSG_SELFTEST_CHECK_BED "Kontrola bed     "
-MSG_SELFTEST_CHECK_ENDSTOPS "Kontrola endstops"
-MSG_SELFTEST_CHECK_HOTEND "Kontrola hotend  " 
-MSG_SELFTEST_CHECK_X "Kontrola X axis  "
-MSG_SELFTEST_CHECK_Y "Kontrola Y axis  "
-MSG_SELFTEST_CHECK_Z "Kontrola Z axis  "
-MSG_SELFTEST_MOTOR "Silnik"
-MSG_SELFTEST_NOTCONNECTED "Nie podlaczono   "
-MSG_SELFTEST_OK "Self test OK"
-MSG_SELFTEST_PLEASECHECK "Skontroluj :"   
-MSG_SELFTEST_START "Self test start  "
-MSG_SELFTEST_WIRINGERROR "Blad polaczenia"
-MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure"
-MSG_SET_HOME_OFFSETS "Nastav pocatek home"
-MSG_SET_ORIGIN "Nastav pocatek"
-MSG_SET_TEMPERATURE "Ustawic temperature"
-MSG_SETTINGS "Ustawienia"
-MSG_SEVERE_SKEW "Ostre sciecie:"
-MSG_SHOW_END_STOPS "Pokaz krancowki"
-MSG_SILENT_MODE_OFF "Tryb[w wydajnosc]"
-MSG_SILENT_MODE_ON "Tryb      [cichy]"
-MSG_SLIGHT_SKEW "Lekkie sciecie:"
-MSG_SPEED "Predkosc"
-MSG_STATISTICS "Statystyka  "
-MSG_STATS_FILAMENTUSED "Filament :  "
-MSG_STATS_PRINTTIME "Czas druku :  "
-MSG_STATS_TOTALFILAMENT "Filament lacznie :"
-MSG_STATS_TOTALPRINTTIME "Czas calkowity :"
-MSG_STEPPER_TOO_HIGH "Steprate too high: "
-MSG_STOP_PRINT "Zatrzymac druk"
-MSG_STOPPED "STOPPED. "
-MSG_STORE_EPROM "Store memory"
-MSG_SUPPORT "Pomoc" 
-MSG_SWITCH_PS_OFF "Zapnout zdroj"
-MSG_SWITCH_PS_ON "Vypnout zdroj"
-MSG_TAKE_EFFECT " wprow. zmian"   
-MSG_TEMP_CALIBRATION "Ciepl. kal.         "
-MSG_TEMP_CALIBRATION_DONE "Cieplna kalibracja zakonczona. Kontynuuj przyciskiem"
-MSG_TEMP_CALIBRATION_OFF "Ciepl. kal. [OFF]"
-MSG_TEMP_CALIBRATION_ON "Ciepl. kal. [ON]"
-MSG_TEMPERATURE "Temperatura"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "karta SD [normal]"
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "karta SD[FlshAir]"
-MSG_TUNE "Nastroic"
-MSG_UNLOAD_ALL "Wyjac wszystkie"
-MSG_UNLOAD_FILAMENT "Wyjac filament"
-MSG_UNLOAD_FILAMENT_1 "Wyjac filament 1"
-MSG_UNLOAD_FILAMENT_2 "Wyjac filament 2"
-MSG_UNLOAD_FILAMENT_3 "Wyjac filament 3"
-MSG_UNLOAD_FILAMENT_4 "Wyjac filament 4"
-MSG_UNLOADING_FILAMENT "Wysuwam filament"
-MSG_USB_PRINTING "Druk z USB  "
-MSG_USED "Uzyte przy druku"
-MSG_USERWAIT "Wait for user..."
-MSG_V2_CALIBRATION "Kal. 1. warstwy"
-MSG_VOLUMETRIC "Filament"
-MSG_VOLUMETRIC_ENABLED "E in mm3"
-MSG_WAITING_TEMP "Oczekiwanie na wychlodzenie dyszy i podkladki."
-MSG_WATCH "Informacje"
-MSG_WIZARD "Wizard"
-MSG_WIZARD_CALIBRATION_FAILED "Prosze sprawdz nasz poradnik i napraw problem. Potem przywroc Wizard restartujac drukarke."
-MSG_WIZARD_CLEAN_HEATBED "Prosze oczysc stolik i nacisnij guzik."
-MSG_WIZARD_DONE "Gotowe. Udanego druku!"
-MSG_WIZARD_FILAMENT_LOADED "Filament jest zaladowany?"
-MSG_WIZARD_HEATING "Nagrzewanie dyszy. Prosze czekac."
-MSG_WIZARD_INSERT_CORRECT_FILAMENT "Prosze zaladuj filament PLA i przywroc Wizard przez restart drukarki."
-MSG_WIZARD_LOAD_FILAMENT "Prosze umiesc filament PLA w ekstruderze i nacisnij przycisk by zaladowac."
-MSG_WIZARD_PLA_FILAMENT "Czy to filament PLA?"
-MSG_WIZARD_QUIT "Zawsze mozesz przywrocic Wizard przez Kalibracja -> Wizard."
-MSG_WIZARD_REPEAT_V2_CAL "Chcesz powtorzyc ostatni krok i przestawic odleglosc miedzy dysza a stolikiem?"
-MSG_WIZARD_RERUN "Wlaczenie Wizard usunie obecne dane kalibracyjne i zacznie od nowa. Kontynuowac?"
-MSG_WIZARD_SELFTEST "Najpierw wlacze autotest w celu kontrolli najczestszych problemow z montazem."
-MSG_WIZARD_V2_CAL "Kalibruje odleglosc miedzy koncowka dyszy a stolikiem."
-MSG_WIZARD_V2_CAL_2 "Zaczne drukowac linie. Stopniowo opuszczaj dysze przekrecajac guzik, poki nie uzyskasz optymalnej wysokosci. Sprawdz obrazki w naszym poradniku w rozdz. Kalibracja"
-MSG_WIZARD_WELCOME "Czesc, jestem Twoja drukarka Original Prusa i3. Czy potrzebujesz pomocy z instalacja?"
-MSG_WIZARD_WILL_PREHEAT "Nagrzewam dysze dla PLA."
-MSG_WIZARD_XYZ_CAL "Wlaczam kalibracje xyz. Zajmie to ok. 12 min."
-MSG_WIZARD_Z_CAL "Wlaczam kalibracje z."
-MSG_XYZ_DETAILS "Szczegoly kal.XYZ"
-MSG_Y_DISTANCE_FROM_MIN "Odleglosc Y od min.:"
-MSG_YES "Tak"
-WELCOME_MSG CUSTOM_MENDEL_NAME " gotowa"

+ 0 - 399
lang_upgrade/msgs_usage.txt

@@ -1,399 +0,0 @@
-MSG_BABYSTEP_X 0
-MSG_BABYSTEP_Y 0
-MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ 0
-MSG_CONTROL 0
-MSG_CRASH_DETECTED2 0
-MSG_FIL_ADJUSTING 0
-MSG_FLOW0 0
-MSG_FLOW1 0
-MSG_FLOW2 0
-MSG_FW_VERSION_RC 0
-MSG_INFO_FILAMENT_XDIFF 0
-MSG_INFO_FILAMENT_YDIFF 0
-MSG_LANGUAGE_NAME 0
-MSG_LOAD_EPROM 0
-MSG_MOTION 0
-MSG_REBOOT 0
-MSG_RECTRACT 0
-MSG_RESTORE_FAILSAFE 0
-MSG_SD_NOT_PRINTING 0
-MSG_SERIAL_ERROR_MENU_STRUCTURE 0
-MSG_SET_HOME_OFFSETS 0
-MSG_SET_ORIGIN 0
-MSG_STEPPER_TIMER_OVERFLOW_ERROR 0
-MSG_STORE_EPROM 0
-MSG_SWITCH_PS_OFF 0
-MSG_SWITCH_PS_ON 0
-MSG_TAKE_EFFECT 0
-MSG_USB_PRINTING 0
-MSG_VOLUMETRIC 0
-MSG_VOLUMETRIC_ENABLED 0
-MSG_ACTIVE_EXTRUDER 1
-MSG_ADJUSTZ 1
-MSG_AUTHOR 1
-MSG_AUTOLOAD_FILAMENT 1
-MSG_AUTOLOADING_ENABLED 1
-MSG_AUTOLOADING_ONLY_IF_FSENS_ON 1
-MSG_BABYSTEPPING_X 1
-MSG_BABYSTEPPING_Y 1
-MSG_BABYSTEPPING_Z 1
-MSG_BED_CORRECTION_FRONT 1
-MSG_BED_CORRECTION_LEFT 1
-MSG_BED_CORRECTION_MENU 1
-MSG_BED_CORRECTION_REAR 1
-MSG_BED_CORRECTION_RESET 1
-MSG_BED_CORRECTION_RIGHT 1
-MSG_BED_HEATING_SAFETY_DISABLED 1
-MSG_BED_LEVELING_FAILED_POINT_HIGH 1
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED 1
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR 1
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR 1
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR 1
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT 1
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND 1
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME 1
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD 1
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR 1
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR 1
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR 1
-MSG_BEGIN_FILE_LIST 1
-MSG_CALIBRATE_BED 1
-MSG_CALIBRATE_BED_RESET 1
-MSG_CALIBRATE_E 1
-MSG_CALIBRATE_PINDA 1
-MSG_CALIBRATION_PINDA_MENU 1
-MSG_CLEAN_NOZZLE_E 1
-MSG_CNG_SDCARD 1
-MSG_CONFIGURATION_VER 1
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP 1
-MSG_CORRECTLY 1
-MSG_COUNT_X 1
-MSG_CRASH_DET_ONLY_IN_NORMAL 1
-MSG_CRASH_DET_STEALTH_FORCE_OFF 1
-MSG_CURRENT 1
-MSG_DATE 1
-MSG_DEFAULT_SETTINGS_LOADED 1
-MSG_DISABLE_STEPPERS 1
-MSG_DWELL 1
-MSG_E_CAL_KNOB 1
-MSG_END_FILE_LIST 1
-MSG_ERR_COLD_EXTRUDE_STOP 1
-MSG_ERR_CHECKSUM_MISMATCH 1
-MSG_ERR_KILLED 1
-MSG_ERR_LINE_NO 1
-MSG_ERR_LONG_EXTRUDE_STOP 1
-MSG_ERR_NO_CHECKSUM 1
-MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM 1
-MSG_ERR_NO_THERMISTORS 1
-MSG_EXTRUDER_1 1
-MSG_EXTRUDER_2 1
-MSG_EXTRUDER_3 1
-MSG_EXTRUDER_4 1
-MSG_EXTRUDER_CORRECTION 1
-MSG_EXTRUDER_CORRECTION_OFF 1
-MSG_FACTOR 1
-MSG_FANS_CHECK_OFF 1
-MSG_FANS_CHECK_ON 1
-MSG_FILAMENT_SENSOR 1
-MSG_FILE_CNT 1
-MSG_FILE_INCOMPLETE 1
-MSG_FILE_PRINTED 1
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION 1
-MSG_FLOW 1
-MSG_FORCE_SELFTEST 1
-MSG_FREE_MEMORY 1
-MSG_FSENS_AUTOLOAD_OFF 1
-MSG_FSENS_AUTOLOAD_ON 1
-MSG_FSENS_NOT_RESPONDING 1
-MSG_FSENSOR_NA 1
-MSG_FW_VERSION_ALPHA 1
-MSG_FW_VERSION_BETA 1
-MSG_FW_VERSION_UNKNOWN 1
-MSG_HOMEYZ_DONE 1
-MSG_HOMEYZ_PROGRESS 1
-MSG_CHANGE_EXTR 1
-MSG_CHANGE_SUCCESS 1
-MSG_CHANGED_BOTH 1
-MSG_CHANGED_MOTHERBOARD 1
-MSG_CHANGED_PRINTER 1
-MSG_CHANGING_FILAMENT 1
-MSG_CHECK_IDLER 1
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 1
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 1
-MSG_INFO_EXTRUDER 1
-MSG_INFO_NOZZLE_FAN 1
-MSG_INFO_PRINT_FAN 1
-MSG_INIT_SDCARD 1
-MSG_INSERT_FILAMENT 1
-MSG_INVALID_EXTRUDER 1
-MSG_KILLED 1
-MSG_LANGUAGE_SELECT 1
-MSG_LEFT 1
-MSG_LOAD_ALL 1
-MSG_LOAD_FILAMENT_1 1
-MSG_LOAD_FILAMENT_2 1
-MSG_LOAD_FILAMENT_3 1
-MSG_LOAD_FILAMENT_4 1
-MSG_LOADING_COLOR 1
-MSG_LOOSE_PULLEY 1
-MSG_M104_INVALID_EXTRUDER 1
-MSG_M105_INVALID_EXTRUDER 1
-MSG_M109_INVALID_EXTRUDER 1
-MSG_M119_REPORT 1
-MSG_M200_INVALID_EXTRUDER 1
-MSG_M218_INVALID_EXTRUDER 1
-MSG_M221_INVALID_EXTRUDER 1
-MSG_MARK_FIL 1
-MSG_MAX 1
-MSG_MEASURED_OFFSET 1
-MSG_MEASURED_SKEW 1
-MSG_MENU_BELT_STATUS 1
-MSG_MENU_TEMPERATURES 1
-MSG_MENU_VOLTAGES 1
-MSG_MESH_BED_LEVELING 1
-MSG_MIN 1
-MSG_MOVE_AXIS 1
-MSG_MOVE_CARRIAGE_TO_THE_TOP 1
-MSG_MOVE_CARRIAGE_TO_THE_TOP_Z 1
-MSG_MOVE_E 1
-MSG_MOVE_X 1
-MSG_MOVE_Y 1
-MSG_MOVE_Z 1
-MSG_NEW_FIRMWARE_AVAILABLE 1
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE 1
-MSG_NO_CARD 1
-MSG_NO_MOVE 1
-MSG_NOT_COLOR 1
-MSG_NOT_LOADED 1
-MSG_NOZZLE1 1
-MSG_NOZZLE2 1
-MSG_PAUSE_PRINT 1
-MSG_PICK_Z 1
-MSG_PID_EXTRUDER 1
-MSG_PID_FINISHED 1
-MSG_PID_RUNNING 1
-MSG_PINDA_NOT_CALIBRATED 1
-MSG_PINDA_PREHEAT 1
-MSG_PLA_FILAMENT_LOADED 1
-MSG_PLANNER_BUFFER_BYTES 1
-MSG_PLEASE_LOAD_PLA 1
-MSG_PREHEAT 1
-MSG_PREPARE_FILAMENT 1
-MSG_PRESS 1
-MSG_PRESS_TO_PREHEAT 1
-MSG_PRINT_PAUSED 1
-MSG_PRINTER_DISCONNECTED 1
-MSG_PRUSA3D 1
-MSG_PRUSA3D_FORUM 1
-MSG_PRUSA3D_HOWTO 1
-MSG_RECOVERING_PRINT 1
-MSG_RESEND 1
-MSG_RESUME_PRINT 1
-MSG_RESUMING 1
-MSG_RESUMING_PRINT 1
-MSG_RIGHT 1
-MSG_SD_CANT_ENTER_SUBDIR 1
-MSG_SD_CANT_OPEN_SUBDIR 1
-MSG_SD_CARD_OK 1
-MSG_SD_FILE_OPENED 1
-MSG_SD_FILE_SELECTED 1
-MSG_SD_INIT_FAIL 1
-MSG_SD_INSERTED 1
-MSG_SD_OPENROOT_FAIL 1
-MSG_SD_PRINTING_BYTE 1
-MSG_SD_REMOVED 1
-MSG_SD_SIZE 1
-MSG_SD_VOL_INIT_FAIL 1
-MSG_SD_WRITE_TO_FILE 1
-MSG_SECOND_SERIAL_OFF 1
-MSG_SECOND_SERIAL_ON 1
-MSG_SELFTEST 1
-MSG_SELFTEST_AXIS 1
-MSG_SELFTEST_AXIS_LENGTH 1
-MSG_SELFTEST_BEDHEATER 1
-MSG_SELFTEST_ENDSTOP 1
-MSG_SELFTEST_ENDSTOP_NOTHIT 1
-MSG_SELFTEST_ENDSTOPS 1
-MSG_SELFTEST_ERROR 1
-MSG_SELFTEST_EXTRUDER_FAN_SPEED 1
-MSG_SELFTEST_FANS 1
-MSG_SELFTEST_FILAMENT_SENSOR 1
-MSG_SELFTEST_HEATERTHERMISTOR 1
-MSG_SELFTEST_CHECK_ALLCORRECT 1
-MSG_SELFTEST_CHECK_ENDSTOPS 1
-MSG_SELFTEST_CHECK_HOTEND 1
-MSG_SELFTEST_CHECK_X 1
-MSG_SELFTEST_CHECK_Y 1
-MSG_SELFTEST_CHECK_Z 1
-MSG_SELFTEST_NOTCONNECTED 1
-MSG_SELFTEST_OK 1
-MSG_SELFTEST_PLEASECHECK 1
-MSG_SELFTEST_PRINT_FAN_SPEED 1
-MSG_SELFTEST_START 1
-MSG_SELFTEST_SWAPPED 1
-MSG_SET_TEMPERATURE 1
-MSG_SEVERE_SKEW 1
-MSG_SHOW_END_STOPS 1
-MSG_SLIGHT_SKEW 1
-MSG_SORT_ALPHA 1
-MSG_SORT_NONE 1
-MSG_SORT_TIME 1
-MSG_SORTING 1
-MSG_SPEED 1
-MSG_STACK_ERROR 1
-MSG_STATISTICS 1
-MSG_STATS_FILAMENTUSED 1
-MSG_STATS_PRINTTIME 1
-MSG_STATS_TOTALFILAMENT 1
-MSG_STATS_TOTALPRINTTIME 1
-MSG_STEPPER_TOO_HIGH 1
-MSG_SUPPORT 1
-MSG_TEMP_CAL_FAILED 1
-MSG_TEMP_CAL_WARNING 1
-MSG_TEMP_CALIBRATION_OFF 1
-MSG_TEMP_CALIBRATION_ON 1
-MSG_TEMPERATURE 1
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF 1
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON 1
-MSG_TUNE 1
-MSG_UNLOAD_ALL 1
-MSG_UNLOAD_FILAMENT_1 1
-MSG_UNLOAD_FILAMENT_2 1
-MSG_UNLOAD_FILAMENT_3 1
-MSG_UNLOAD_FILAMENT_4 1
-MSG_UNLOAD_SUCCESSFUL 1
-MSG_USED 1
-MSG_USERWAIT 1
-MSG_V2_CALIBRATION 1
-MSG_WAITING_TEMP 1
-MSG_WAITING_TEMP_PINDA 1
-MSG_WIZARD 1
-MSG_WIZARD_CLEAN_HEATBED 1
-MSG_WIZARD_FILAMENT_LOADED 1
-MSG_WIZARD_INSERT_CORRECT_FILAMENT 1
-MSG_WIZARD_LOAD_FILAMENT 1
-MSG_WIZARD_PLA_FILAMENT 1
-MSG_WIZARD_REPEAT_V2_CAL 1
-MSG_WIZARD_RERUN 1
-MSG_WIZARD_SELFTEST 1
-MSG_WIZARD_V2_CAL 1
-MSG_WIZARD_V2_CAL_2 1
-MSG_WIZARD_WELCOME 1
-MSG_WIZARD_WILL_PREHEAT 1
-MSG_WIZARD_XYZ_CAL 1
-MSG_WIZARD_Z_CAL 1
-MSG_X_MAX 1
-MSG_X_MIN 1
-MSG_XYZ_DETAILS 1
-MSG_Y_DISTANCE_FROM_MIN 1
-MSG_Y_MAX 1
-MSG_Y_MIN 1
-MSG_AUTO_HOME 2
-MSG_AUTO_MODE_ON 2
-MSG_BABYSTEP_Z 2
-MSG_BABYSTEP_Z_NOT_SET 2
-MSG_BED_DONE 2
-MSG_BED_HEATING 2
-MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED 2
-MSG_BROWNOUT_RESET 2
-MSG_CALIBRATE_Z_AUTO 2
-MSG_CONFIRM_NOZZLE_CLEAN 2
-MSG_COOLDOWN 2
-MSG_CRASH_DETECTED 2
-MSG_CRASHDETECT_NA 2
-MSG_CRASHDETECT_OFF 2
-MSG_CRASHDETECT_ON 2
-MSG_Enqueing 2
-MSG_ERR_STOPPED 2
-MSG_EXTERNAL_RESET 2
-MSG_FAN_SPEED 2
-MSG_FILAMENT_CLEAN 2
-MSG_FILAMENT_LOADING_T0 2
-MSG_FILAMENT_LOADING_T1 2
-MSG_FILAMENT_LOADING_T2 2
-MSG_FILAMENT_LOADING_T3 2
-MSG_FILAMENTCHANGE 2
-MSG_FILE_SAVED 2
-MSG_FINISHING_MOVEMENTS 2
-MSG_FOLLOW_CALIBRATION_FLOW 2
-MSG_FSENS_AUTOLOAD_NA 2
-MSG_FSENSOR_OFF 2
-MSG_FSENSOR_ON 2
-MSG_HEATING 2
-MSG_HEATING_COMPLETE 2
-MSG_HOMEYZ 2
-MSG_LOAD_FILAMENT 2
-MSG_M117_V2_CALIBRATION 2
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 2
-MSG_MENU_CALIBRATION 2
-MSG_NOZZLE 2
-MSG_PAPER 2
-MSG_PLACE_STEEL_SHEET 2
-MSG_POWERUP 2
-MSG_PRESS_TO_UNLOAD 2
-MSG_PULL_OUT_FILAMENT 2
-MSG_RECOVER_PRINT 2
-MSG_REMOVE_STEEL_SHEET 2
-MSG_SD_ERR_WRITE_TO_FILE 2
-MSG_SD_WORKDIR_FAIL 2
-MSG_SELFTEST_CHECK_BED 2
-MSG_SELFTEST_CHECK_FSENSOR 2
-MSG_SILENT_MODE_ON 2
-MSG_SOFTWARE_RESET 2
-MSG_STEALTH_MODE_OFF 2
-MSG_STEALTH_MODE_ON 2
-MSG_STOPPED 2
-MSG_TEMP_CALIBRATION_DONE 2
-MSG_UNKNOWN_COMMAND 2
-MSG_WATCH 2
-MSG_WATCHDOG_RESET 2
-MSG_WIZARD_DONE 2
-MSG_WIZARD_QUIT 2
-MSG_Z_MAX 2
-MSG_Z_MIN 2
-MSG_ZPROBE_OUT 2
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 3
-MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 3
-MSG_CHOOSE_EXTRUDER 3
-MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 3
-MSG_PRINT_ABORTED 3
-MSG_REFRESH 3
-MSG_SD_OPEN_FILE_FAIL 3
-MSG_SELFTEST_COOLING_FAN 3
-MSG_SELFTEST_EXTRUDER_FAN 3
-MSG_SELFTEST_FAILED 3
-MSG_SELFTEST_FAN_NO 3
-MSG_SELFTEST_FAN_YES 3
-MSG_SELFTEST_MOTOR 3
-MSG_STEEL_SHEET_CHECK 3
-MSG_STOP_PRINT 3
-MSG_TEMP_CALIBRATION 3
-MSG_UNLOAD_FILAMENT 3
-MSG_WIZARD_CALIBRATION_FAILED 3
-MSG_WIZARD_HEATING 3
-MSG_ZPROBE_ZOFFSET 3
-MSG_ENDSTOPS_HIT 4
-MSG_EXTRUDER 4
-MSG_ON 4
-MSG_POSITION_UNKNOWN 4
-MSG_SELFTEST_FAN 4
-MSG_SILENT_MODE_OFF 4
-MSG_UNLOADING_FILAMENT 4
-MSG_BED 5
-MSG_BED_LEVELING_FAILED_POINT_LOW 5
-MSG_LOADING_FILAMENT 5
-MSG_OFF 5
-MSG_SELFTEST_WIRINGERROR 5
-MSG_SETTINGS 5
-MSG_ALL 6
-MSG_ENDSTOP_HIT 6
-MSG_ENDSTOP_OPEN 6
-MSG_NO 6
-MSG_CARD_MENU 7
-MSG_PLEASE_WAIT 7
-MSG_YES 7
-MSG_OK 8
-MSG_ERROR 9
-MSG_PREHEAT_NOZZLE 9
-MSG_MAIN 12
-WELCOME_MSG 17

+ 0 - 33
lang_upgrade/readme.txt

@@ -1,33 +0,0 @@
-lang_upgrade - scripts for migration to new multilanguage support design
-
-upgrade.sh - entire process:
-Run scripts: clean.sh, make_msgs.sh, find_msgs.sh, make_source.sh.
-Backup (move) all language*.h and language*.cpp files from source to folder '../lang_backup'.
-Copy folder ./source/*.* to ../Firmware, new files will be messages.h, messages.c, language.h, language.c and other source will be replaced.
-After this step should be source compilable in english version, LANG_MODE in config.h is set to 0 (primary language only)
-
-
-0. clean.sh
-delete all output files
-
-1. make_msgs.sh
-Process all language_xx.h files and extract informations to msgs_xx.txt files in simple format.
-Every line in msgs_en.txt has following format: MSG_xx c=cc r=rr "text". 
-Every line in other msgs_xx.txt has simpler format: MSG_xx "text".
-MSG_xx is original message identifier, cc is column count (originaly length) and rr is row count (originaly lines).
-Output files msgs_xx.txt are sorted by message identifier (ascending order).
-make_msgs.sh also reports number of messages in each language_xx.h file and total number of characters in program memory.
-
-2. find_msgs.sh
-Find usage of each message and output listing in to file msgs_usage.txt in format: MSG_xx nn.
-MSG_xx is identifier, nn is number of occurrences. Output is sorted by number of occurrences (ascending order).
-Generate filtered msgs_en.txt and msgs_common.txt files. Each file is sorted to three output files - unused, used once and used more.
-Output files will be:
- msgs_common_unused.txt, msgs_common_used_more.txt, msgs_common_used_once.txt
- msgs_en_unused.txt, msgs_en_used_more.txt, msgs_en_used_once.txt
-
-3. make_source.sh
-Copy all source files to folder ./source
-Replace all messages used once in all ./source/*.c* files directly with the english version string constant and comment at end of line.
-Generate messages.h and messages.c source files with messages used twice and more.
-Replace line '' in Marlin_main.cpp with comment.

+ 0 - 13
lang_upgrade/replace_common.out

@@ -1,13 +0,0 @@
-MSG_ACTIVE_EXTRUDER OK
-MSG_AUTHOR OK
-MSG_COUNT_X OK
-MSG_ERR_LINE_NO OK
-MSG_ERR_LONG_EXTRUDE_STOP OK
-MSG_ERR_NO_LINENUMBER_WITH_CHECKSUM OK
-MSG_FILE_PRINTED OK
-MSG_INVALID_EXTRUDER OK
-MSG_SD_SIZE OK
-MSG_X_MAX OK
-MSG_X_MIN OK
-MSG_Y_MAX OK
-MSG_Y_MIN OK

+ 0 - 247
lang_upgrade/replace_en.out

@@ -1,247 +0,0 @@
-MSG_ADJUSTZ OK
-MSG_AUTOLOAD_FILAMENT OK
-MSG_AUTOLOADING_ENABLED OK
-MSG_AUTOLOADING_ONLY_IF_FSENS_ON OK
-MSG_BABYSTEPPING_X OK
-MSG_BABYSTEPPING_Y OK
-MSG_BABYSTEPPING_Z OK
-MSG_BED_CORRECTION_FRONT OK
-MSG_BED_CORRECTION_LEFT OK
-MSG_BED_CORRECTION_MENU OK
-MSG_BED_CORRECTION_REAR OK
-MSG_BED_CORRECTION_RESET OK
-MSG_BED_CORRECTION_RIGHT OK
-MSG_BED_HEATING_SAFETY_DISABLED OK
-MSG_BED_LEVELING_FAILED_POINT_HIGH OK
-MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED OK
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR OK
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR OK
-MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR OK
-MSG_BED_SKEW_OFFSET_DETECTION_PERFECT OK
-MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND OK
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME OK
-MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD OK
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR OK
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR OK
-MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR OK
-MSG_BEGIN_FILE_LIST OK
-MSG_CALIBRATE_BED OK
-MSG_CALIBRATE_BED_RESET OK
-MSG_CALIBRATE_E OK
-MSG_CALIBRATE_PINDA OK
-MSG_CALIBRATION_PINDA_MENU OK
-MSG_CLEAN_NOZZLE_E OK
-MSG_CNG_SDCARD OK
-MSG_CONFIGURATION_VER OK
-MSG_CONFIRM_CARRIAGE_AT_THE_TOP OK
-MSG_CORRECTLY OK
-MSG_CRASH_DET_ONLY_IN_NORMAL OK
-MSG_CRASH_DET_STEALTH_FORCE_OFF OK
-MSG_CURRENT OK
-MSG_DATE OK
-MSG_DEFAULT_SETTINGS_LOADED OK
-MSG_DISABLE_STEPPERS OK
-MSG_DWELL OK
-MSG_E_CAL_KNOB OK
-MSG_END_FILE_LIST OK
-MSG_ERR_COLD_EXTRUDE_STOP OK
-MSG_ERR_CHECKSUM_MISMATCH OK
-MSG_ERR_KILLED OK
-MSG_ERR_NO_CHECKSUM OK
-MSG_ERR_NO_THERMISTORS OK
-MSG_EXTRUDER_1 OK
-MSG_EXTRUDER_2 OK
-MSG_EXTRUDER_3 OK
-MSG_EXTRUDER_4 OK
-MSG_EXTRUDER_CORRECTION OK
-MSG_EXTRUDER_CORRECTION_OFF OK
-MSG_FACTOR OK
-MSG_FANS_CHECK_OFF OK
-MSG_FANS_CHECK_ON OK
-MSG_FILAMENT_SENSOR OK
-MSG_FILE_CNT OK
-MSG_FILE_INCOMPLETE OK
-MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION OK
-MSG_FLOW OK
-MSG_FORCE_SELFTEST OK
-MSG_FREE_MEMORY OK
-MSG_FSENS_AUTOLOAD_OFF OK
-MSG_FSENS_AUTOLOAD_ON OK
-MSG_FSENS_NOT_RESPONDING OK
-MSG_FSENSOR_NA OK
-MSG_FW_VERSION_ALPHA OK
-MSG_FW_VERSION_BETA OK
-MSG_FW_VERSION_UNKNOWN OK
-MSG_HOMEYZ_DONE OK
-MSG_HOMEYZ_PROGRESS OK
-MSG_CHANGE_EXTR OK
-MSG_CHANGE_SUCCESS OK
-MSG_CHANGED_BOTH OK
-MSG_CHANGED_MOTHERBOARD OK
-MSG_CHANGED_PRINTER OK
-MSG_CHANGING_FILAMENT OK
-MSG_CHECK_IDLER OK
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 OK
-MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 OK
-MSG_INFO_EXTRUDER OK
-MSG_INFO_NOZZLE_FAN OK
-MSG_INFO_PRINT_FAN OK
-MSG_INIT_SDCARD OK
-MSG_INSERT_FILAMENT OK
-MSG_KILLED OK
-MSG_LANGUAGE_SELECT OK
-MSG_LEFT OK
-MSG_LOAD_ALL OK
-MSG_LOAD_FILAMENT_1 OK
-MSG_LOAD_FILAMENT_2 OK
-MSG_LOAD_FILAMENT_3 OK
-MSG_LOAD_FILAMENT_4 OK
-MSG_LOADING_COLOR OK
-MSG_LOOSE_PULLEY OK
-MSG_M104_INVALID_EXTRUDER OK
-MSG_M105_INVALID_EXTRUDER OK
-MSG_M109_INVALID_EXTRUDER OK
-MSG_M119_REPORT OK
-MSG_M200_INVALID_EXTRUDER OK
-MSG_M218_INVALID_EXTRUDER OK
-MSG_M221_INVALID_EXTRUDER OK
-MSG_MARK_FIL OK
-MSG_MAX OK
-MSG_MEASURED_OFFSET OK
-MSG_MEASURED_SKEW OK
-MSG_MENU_BELT_STATUS OK
-MSG_MENU_TEMPERATURES OK
-MSG_MENU_VOLTAGES OK
-MSG_MESH_BED_LEVELING OK
-MSG_MIN OK
-MSG_MOVE_AXIS OK
-MSG_MOVE_CARRIAGE_TO_THE_TOP OK
-MSG_MOVE_CARRIAGE_TO_THE_TOP_Z OK
-MSG_MOVE_E OK
-MSG_MOVE_X OK
-MSG_MOVE_Y OK
-MSG_MOVE_Z OK
-MSG_NEW_FIRMWARE_AVAILABLE OK
-MSG_NEW_FIRMWARE_PLEASE_UPGRADE OK
-MSG_NO_CARD OK
-MSG_NO_MOVE OK
-MSG_NOT_COLOR OK
-MSG_NOT_LOADED OK
-MSG_NOZZLE1 OK
-MSG_NOZZLE2 OK
-MSG_PAUSE_PRINT OK
-MSG_PICK_Z OK
-MSG_PID_EXTRUDER OK
-MSG_PID_FINISHED OK
-MSG_PID_RUNNING OK
-MSG_PINDA_NOT_CALIBRATED OK
-MSG_PINDA_PREHEAT OK
-MSG_PLA_FILAMENT_LOADED OK
-MSG_PLANNER_BUFFER_BYTES OK
-MSG_PLEASE_LOAD_PLA OK
-MSG_PREHEAT OK
-MSG_PREPARE_FILAMENT OK
-MSG_PRESS OK
-MSG_PRESS_TO_PREHEAT OK
-MSG_PRINT_PAUSED OK
-MSG_PRINTER_DISCONNECTED OK
-MSG_PRUSA3D OK
-MSG_PRUSA3D_FORUM OK
-MSG_PRUSA3D_HOWTO OK
-MSG_RECOVERING_PRINT OK
-MSG_RESEND OK
-MSG_RESUME_PRINT OK
-MSG_RESUMING OK
-MSG_RESUMING_PRINT OK
-MSG_RIGHT OK
-MSG_SD_CANT_ENTER_SUBDIR OK
-MSG_SD_CANT_OPEN_SUBDIR OK
-MSG_SD_CARD_OK OK
-MSG_SD_FILE_OPENED OK
-MSG_SD_FILE_SELECTED OK
-MSG_SD_INIT_FAIL OK
-MSG_SD_INSERTED OK
-MSG_SD_OPENROOT_FAIL OK
-MSG_SD_PRINTING_BYTE OK
-MSG_SD_REMOVED OK
-MSG_SD_VOL_INIT_FAIL OK
-MSG_SD_WRITE_TO_FILE OK
-MSG_SECOND_SERIAL_OFF OK
-MSG_SECOND_SERIAL_ON OK
-MSG_SELFTEST OK
-MSG_SELFTEST_AXIS OK
-MSG_SELFTEST_AXIS_LENGTH OK
-MSG_SELFTEST_BEDHEATER OK
-MSG_SELFTEST_ENDSTOP OK
-MSG_SELFTEST_ENDSTOP_NOTHIT OK
-MSG_SELFTEST_ENDSTOPS OK
-MSG_SELFTEST_ERROR OK
-MSG_SELFTEST_EXTRUDER_FAN_SPEED OK
-MSG_SELFTEST_FANS OK
-MSG_SELFTEST_FILAMENT_SENSOR OK
-MSG_SELFTEST_HEATERTHERMISTOR OK
-MSG_SELFTEST_CHECK_ALLCORRECT OK
-MSG_SELFTEST_CHECK_ENDSTOPS OK
-MSG_SELFTEST_CHECK_HOTEND OK
-MSG_SELFTEST_CHECK_X OK
-MSG_SELFTEST_CHECK_Y OK
-MSG_SELFTEST_CHECK_Z OK
-MSG_SELFTEST_NOTCONNECTED OK
-MSG_SELFTEST_OK OK
-MSG_SELFTEST_PLEASECHECK OK
-MSG_SELFTEST_PRINT_FAN_SPEED OK
-MSG_SELFTEST_START OK
-MSG_SELFTEST_SWAPPED OK
-MSG_SET_TEMPERATURE OK
-MSG_SEVERE_SKEW OK
-MSG_SHOW_END_STOPS OK
-MSG_SLIGHT_SKEW OK
-MSG_SORT_ALPHA OK
-MSG_SORT_NONE OK
-MSG_SORT_TIME OK
-MSG_SORTING OK
-MSG_SPEED OK
-MSG_STACK_ERROR OK
-MSG_STATISTICS OK
-MSG_STATS_FILAMENTUSED OK
-MSG_STATS_PRINTTIME OK
-MSG_STATS_TOTALFILAMENT OK
-MSG_STATS_TOTALPRINTTIME OK
-MSG_STEPPER_TOO_HIGH OK
-MSG_SUPPORT OK
-MSG_TEMP_CAL_FAILED OK
-MSG_TEMP_CAL_WARNING OK
-MSG_TEMP_CALIBRATION_OFF OK
-MSG_TEMP_CALIBRATION_ON OK
-MSG_TEMPERATURE OK
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF OK
-MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON OK
-MSG_TUNE OK
-MSG_UNLOAD_ALL OK
-MSG_UNLOAD_FILAMENT_1 OK
-MSG_UNLOAD_FILAMENT_2 OK
-MSG_UNLOAD_FILAMENT_3 OK
-MSG_UNLOAD_FILAMENT_4 OK
-MSG_UNLOAD_SUCCESSFUL OK
-MSG_USED OK
-MSG_USERWAIT OK
-MSG_V2_CALIBRATION OK
-MSG_WAITING_TEMP OK
-MSG_WAITING_TEMP_PINDA OK
-MSG_WIZARD OK
-MSG_WIZARD_CLEAN_HEATBED OK
-MSG_WIZARD_FILAMENT_LOADED OK
-MSG_WIZARD_INSERT_CORRECT_FILAMENT OK
-MSG_WIZARD_LOAD_FILAMENT OK
-MSG_WIZARD_PLA_FILAMENT OK
-MSG_WIZARD_REPEAT_V2_CAL OK
-MSG_WIZARD_RERUN OK
-MSG_WIZARD_SELFTEST OK
-MSG_WIZARD_V2_CAL OK
-MSG_WIZARD_V2_CAL_2 OK
-MSG_WIZARD_WELCOME OK
-MSG_WIZARD_WILL_PREHEAT OK
-MSG_WIZARD_XYZ_CAL OK
-MSG_WIZARD_Z_CAL OK
-MSG_XYZ_DETAILS OK
-MSG_Y_DISTANCE_FROM_MIN OK

+ 0 - 27
lang_upgrade/src/config.h

@@ -1,27 +0,0 @@
-#ifndef _CONFIG_H
-#define _CONFIG_H
-
-
-//ADC configuration
-#define ADC_CHAN_MSK      0b0000001001011111 //used AD channels bit mask (0,1,2,3,4,6,9)
-#define ADC_CHAN_CNT      7         //number of used channels)
-#define ADC_OVRSAMPL      16        //oversampling multiplier
-#define ADC_CALLBACK      adc_ready //callback function ()
-
-//SM4 configuration
-#define SM4_DEFDELAY      500       //default step delay [us]
-
-//TMC2130 - Trinamic stepper driver
-//pinout - hardcoded
-//spi:
-#define TMC2130_SPI_RATE       0 // fosc/4 = 4MHz
-#define TMC2130_SPCR           SPI_SPCR(TMC2130_SPI_RATE, 1, 1, 1, 0)
-#define TMC2130_SPSR           SPI_SPSR(TMC2130_SPI_RATE)
-
-//LANG - Multi-language support
-#define LANG_MODE               0 // primary language only
-//#define LANG_MODE               1 // sec. language support
-#define LANG_SIZE_RESERVED 0x3000 // reserved space for secondary language (12kb)
-
-
-#endif //_CONFIG_H

+ 0 - 63
lang_upgrade/src/language.c

@@ -1,63 +0,0 @@
-//language.c
-#include "language.h"
-#include <inttypes.h>
-#include <avr/pgmspace.h>
-
-
-// Currectly active language selection.
-unsigned char lang_selected = 0;
-
-#if (LANG_MODE == 0) //primary language only
-#else //(LANG_MODE == 0)
-//reserved xx kbytes for secondary language table
-static const char _SEC_LANG[LANG_SIZE_RESERVED] PROGMEM_I2 = "_SEC_LANG";
-#endif //(LANG_MODE == 0)
-
-//lang_table_t structure - 16byte header
-typedef struct
-{
-	struct
-	{
-		uint32_t magic;
-		uint16_t size;
-		uint16_t count;
-		uint16_t checksum;
-		uint16_t reserved0;
-		uint32_t reserved1;
-	} header;
-	uint16_t table[];
-} lang_table_t;
-
-//lang_table pointer
-lang_table_t* lang_table = 0;
-
-
-const char* lang_get_translation(const char* s)
-{
-	if (lang_selected == 0) return s + 2; //primary language selected
-	if (lang_table == 0) return s + 2; //sec. lang table not found
-	uint16_t ui = pgm_read_word(((uint16_t*)s)); //read string id
-	if (ui == 0xffff) return s + 2; //translation not found
-	ui = pgm_read_word(((uint16_t*)(((char*)lang_table + 16 + ui*2)))); //read relative offset
-	return (const char*)((char*)lang_table + ui + 16); //return calculated pointer
-}
-
-const char* lang_select(unsigned char lang)
-{
-#if (LANG_MODE == 0) //primary language only
-	return 0;
-#else //(LANG_MODE == 0)
-	if (lang == 0) //primary language
-	{
-		lang_table = 0;
-		lang_selected = 0;
-		return;
-	}
-	uint16_t ui = (uint16_t)&_SEC_LANG; //pointer to _SEC_LANG reserved space
-	ui += 0x0100; //add 1 page
-	ui &= 0xff00; //align to page
-	lang_table = ui; //set table pointer
-	ui = pgm_read_word(((uint16_t*)(((char*)lang_table + 16)))); //read relative offset of first string (language name)
-	return (const char*)((char*)lang_table + ui + 16); //return calculated pointer
-#endif //(LANG_MODE == 0)
-}

+ 0 - 87
lang_upgrade/src/language.h

@@ -1,87 +0,0 @@
-//language.h
-#ifndef LANGUAGE_H
-#define LANGUAGE_H
-
-#include "config.h"
-
-#define PROTOCOL_VERSION "1.0"
-
-#ifdef CUSTOM_MENDEL_NAME
-   // #define CUSTOM_MENDEL_NAME CUSTOM_MENDEL_NAME
-#else
-    #define MACHINE_NAME "Mendel"
-#endif
-
-#ifndef MACHINE_UUID
-   #define MACHINE_UUID "00000000-0000-0000-0000-000000000000"
-#endif
-
-#define MSG_FW_VERSION                   "Firmware"
-
-#define STRINGIFY_(n) #n
-#define STRINGIFY(n) STRINGIFY_(n)
-
-#if (LANG_MODE == 0)
-//#define _i PSTR
-//#define _I(s) (__extension__({static const char __c[] __attribute__((section("Txt_i"))) = s; &__c[0];}))
-#endif //(LANG_MODE == 0)
-
-//section progmem0 will be used for localized translated strings
-#define PROGMEM_I2 __attribute__((section(".progmem0")))
-//section progmem1 will be used for localized strings in english
-#define PROGMEM_I1 __attribute__((section(".progmem1")))
-//section progmem2 will be used for not localized strings in english
-#define PROGMEM_N1 __attribute__((section(".progmem2")))
-
-#if (LANG_MODE == 0) //primary language only
-#define _I(s) (__extension__({static const char __c[] PROGMEM_I1 = s; &__c[0];}))
-#define ISTR(s) s
-#define _i(s) _I(s)
-#define _T(s) s
-#else //(LANG_MODE == 0)
-#define _I(s) (__extension__({static const char __c[] PROGMEM_I1 = "\xff\xff"s; &__c[0];}))
-#define ISTR(s) "\xff\xff"s
-#define _i(s) lang_get_translation(_I(s))
-#define _T(s) lang_get_translation(s)
-#endif //(LANG_MODE == 0)
-#define _N(s) (__extension__({static const char __c[] PROGMEM_N1 = s; &__c[0];}))
-#define _n(s) _N(s)
-
-
-// Language indices into their particular symbol tables.
-#define LANG_ID_EN 0
-#define LANG_ID_CZ 1
-// Language is not defined and it shall be selected from the menu.
-#define LANG_ID_FORCE_SELECTION 254
-// Language is not defined on a virgin RAMBo board.
-#define LANG_ID_UNDEFINED 255
-
-// Default language ID, if no language is selected.
-#define LANG_ID_DEFAULT LANG_ID_CZ
-
-// Number of languages available in the language table.
-#define LANG_NUM 2
-
-
-#if defined(__cplusplus)
-extern "C" {
-#endif //defined(__cplusplus)
-
-// Currectly active language selection.
-extern unsigned char lang_selected;
-
-extern const char* lang_get_translation(const char* s);
-extern const char* lang_select(unsigned char lang);
-
-#if defined(__cplusplus)
-}
-#endif //defined(__cplusplus)
-
-#define CAT2(_s1, _s2) _s1
-#define CAT4(_s1, _s2, _s3, _s4) _s1
-#define MSG_LANGUAGE_NAME_EXPLICIT(i) ((i==0)?PSTR("ENG"):PSTR("CZE"))
-
-#include "messages.h"
-
-#endif //__LANGUAGE_H
-

+ 0 - 9
lang_upgrade/src/messages.c

@@ -1,9 +0,0 @@
-//messages.c
-#include "language.h"
-
-//this is because we need include Configuration_prusa.h (CUSTOM_MENDEL_NAME)
-#define bool char
-#define true 1
-#define false 0
-#include "Configuration_prusa.h"
-

+ 0 - 6
lang_upgrade/src/messages.h

@@ -1,6 +0,0 @@
-//messages.h
-
-// Common serial messages
-#define MSG_MARLIN "Marlin"
-
-// LCD Menu Messages