From bf434e6a8ba444f27a0b7c751a1fafeecf4a6801 Mon Sep 17 00:00:00 2001 From: 3d-gussner <3d.gussner@gmail.com> Date: Wed, 8 Nov 2017 09:40:46 +0100 Subject: [PATCH] Added Dutch, Portuguese and ... French (has to be continued) --- Firmware/langtool_EN_DE_NL_FR_IT.pl | 351 +++++++++++++++++++++++++++ Firmware/langtool_EN_ES_FR_PT_NL.pl | 351 +++++++++++++++++++++++++++ Firmware/language_fr.h | 362 ++++++++++++++++++++++++++++ Firmware/language_nl.h | 343 ++++++++++++++++++++++++++ Firmware/language_pt.h | 343 ++++++++++++++++++++++++++ 5 files changed, 1750 insertions(+) create mode 100644 Firmware/langtool_EN_DE_NL_FR_IT.pl create mode 100644 Firmware/langtool_EN_ES_FR_PT_NL.pl create mode 100644 Firmware/language_fr.h create mode 100644 Firmware/language_nl.h create mode 100644 Firmware/language_pt.h diff --git a/Firmware/langtool_EN_DE_NL_FR_IT.pl b/Firmware/langtool_EN_DE_NL_FR_IT.pl new file mode 100644 index 0000000000..69fce2edc5 --- /dev/null +++ b/Firmware/langtool_EN_DE_NL_FR_IT.pl @@ -0,0 +1,351 @@ +#!/usr/bin/perl +# Processes language_xx.h files into language.cpp and language.h + +use strict; +use warnings; + +my @langs = ("en","de","nl","fr","it"); + +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); + # Skip commented lines + next if (index($line, '//') == 0); + 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-i3-Plus\//; + $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 < +// 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 <', $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}); + } + } + } + } +} diff --git a/Firmware/langtool_EN_ES_FR_PT_NL.pl b/Firmware/langtool_EN_ES_FR_PT_NL.pl new file mode 100644 index 0000000000..22c9715479 --- /dev/null +++ b/Firmware/langtool_EN_ES_FR_PT_NL.pl @@ -0,0 +1,351 @@ +#!/usr/bin/perl +# Processes language_xx.h files into language.cpp and language.h + +use strict; +use warnings; + +my @langs = ("en","es","fr","pt","nl"); + +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); + # Skip commented lines + next if (index($line, '//') == 0); + 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-i3-Plus\//; + $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 < +// 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 <', $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}); + } + } + } + } +} diff --git a/Firmware/language_fr.h b/Firmware/language_fr.h new file mode 100644 index 0000000000..d3162d046e --- /dev/null +++ b/Firmware/language_fr.h @@ -0,0 +1,362 @@ +/** + * French + * + * LCD Menu Messages + * Please note these are limited to 17 characters! + * + */ + +#define WELCOME_MSG CUSTOM_MENDEL_NAME " prete." +#define MSG_SD_INSERTED "Carte inseree" +#define MSG_SD_REMOVED "Carte retiree " +#define MSG_MAIN "Menu principal" +#define MSG_DISABLE_STEPPERS "Arreter moteurs" +#define MSG_AUTO_HOME "Origine auto." +#define MSG_SET_HOME_OFFSETS "Regl. decal. origine" +#define MSG_SET_ORIGIN "Regler origine" +#define MSG_COOLDOWN "Refroidir" +#define MSG_SWITCH_PS_ON "Allumer alim." +#define MSG_SWITCH_PS_OFF "Eteindre alim." +#define MSG_MOVE_AXIS "Deplacer un axe" +#define MSG_MOVE_X "Deplacer X" +#define MSG_MOVE_Y "Deplacer Y" +#define MSG_MOVE_Z "Deplacer Z" +#define MSG_MOVE_E "Extruder" +#define MSG_SPEED "Vitesse" +#define MSG_NOZZLE "Buse" +#define MSG_NOZZLE1 "Buse2" +#define MSG_NOZZLE2 "Buse3" +#define MSG_BED "Lit" +#define MSG_FAN_SPEED "Vitesse ventil." +#define MSG_FLOW "Flux" +#define MSG_FLOW0 "Flux 0" +#define MSG_FLOW1 "Flux 1" +#define MSG_FLOW2 "Flux 2" +#define MSG_CONTROL "Controler" +#define MSG_MIN " \002 Min" +#define MSG_MAX " \002 Max" +#define MSG_FACTOR " \002 Fact" +#define MSG_TEMPERATURE "Temperature" +#define MSG_MOTION "Mouvement" +#define MSG_VOLUMETRIC "Filament" +#define MSG_VOLUMETRIC_ENABLED "E en mm3" +#define MSG_STORE_EPROM "Sauver config" +#define MSG_LOAD_EPROM "Lire config" +#define MSG_RESTORE_FAILSAFE "Restaurer defauts" +#define MSG_REFRESH "Actualiser" +#define MSG_WATCH "Surveiller" +#define MSG_TUNE "Regler" +#define MSG_PAUSE_PRINT "Interrompre impr." +#define MSG_RESUME_PRINT "Reprendre impr." +#define MSG_STOP_PRINT "Arreter impr." +#define MSG_CARD_MENU "Impr. depuis SD" +#define MSG_NO_CARD "Pas de carte" +#define MSG_DWELL "Repos..." +#define MSG_USERWAIT "Atten. de l'util." +#define MSG_RESUMING "Repri. de l'impr." +#define MSG_PRINT_ABORTED "Impr. Annulee" +#define MSG_NO_MOVE "Moteurs bloques." +#define MSG_KILLED "MORT." +#define MSG_STOPPED "STOPPE." +#define MSG_FILAMENTCHANGE "Changer filament" +#define MSG_INIT_SDCARD "Init. la carte SD" +#define MSG_CNG_SDCARD "Changer de carte" +#define MSG_BABYSTEP_X "Babystep X" +#define MSG_BABYSTEP_Y "Babystep Y" +#define MSG_BABYSTEP_Z "Live Z regler" +#define MSG_ADJUSTZ "Auto Z regler?" +#define MSG_PICK_Z "Choisir imprimer" + +#define MSG_SETTINGS "Reglage" +#define MSG_PREHEAT "Prechauffage" +#define MSG_UNLOAD_FILAMENT "Decharger filament" +#define MSG_LOAD_FILAMENT "Charger filament" +#define MSG_LOAD_FILAMENT_1 "Charger filament 1" +#define MSG_LOAD_FILAMENT_2 "Charger filament 2" +#define MSG_LOAD_FILAMENT_3 "Charger filament 3" +#define MSG_LOAD_FILAMENT_4 "Charger filament 4" +#define MSG_UNLOAD_FILAMENT_1 "Decharger filament 1" +#define MSG_UNLOAD_FILAMENT_2 "Decharger filament 2" +#define MSG_UNLOAD_FILAMENT_3 "Decharger filament 3" +#define MSG_UNLOAD_FILAMENT_4 "Decharger filament 4" +#define MSG_UNLOAD_ALL "Decharger tout" +#define MSG_LOAD_ALL "Charger tout" + +#define MSG_RECTRACT "Retraction" +#define MSG_ERROR "ERROR:" +#define MSG_PREHEAT_NOZZLE "Prechauff. buse!" +#define MSG_SUPPORT "Support" +#define MSG_CORRECTLY "Changer ok?" +#define MSG_YES "Oui" +#define MSG_NO "Non" +#define MSG_NOT_LOADED "Filament non charge" +#define MSG_NOT_COLOR "Couleur pas claire" +#define MSG_LOADING_FILAMENT "Chargement filament" +#define MSG_PLEASE_WAIT "Attende svp" +#define MSG_LOADING_COLOR "Charger couleur" +#define MSG_CHANGE_SUCCESS "Changer succes!" +#define MSG_PRESS " presser bouton" +#define MSG_INSERT_FILAMENT "Inserer filament" +#define MSG_CHANGING_FILAMENT "Filament-changement!" + + +#define MSG_SILENT_MODE_ON "Mode [silencieux]" +#define MSG_SILENT_MODE_OFF "Mode[haute force]" +#define MSG_AUTO_MODE_ON "Mode[automatique]" +#define MSG_REBOOT "Rebooter l'impri." +#define MSG_TAKE_EFFECT " pour prendre effet" + +#define MSG_Enqueing "enqueuing \" +#define MSG_POWERUP "Allumer" +#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: " //Checksum Fehler, Letzte Zeile: " +#define MSG_ERR_NO_CHECKSUM "No Checksum with line number, Last Line: " //Keine Checksum mit Zeilennummer, Letzte Zeile: " +#define MSG_BEGIN_FILE_LIST "Begin file list" +#define MSG_END_FILE_LIST "End file list" +#define MSG_M104_INVALID_EXTRUDER "M104 invalide extruder" +#define MSG_M105_INVALID_EXTRUDER "M105 invalide extruder" +#define MSG_M200_INVALID_EXTRUDER "M200 invalide extruder" +#define MSG_M218_INVALID_EXTRUDER "M218 invalide extruder" +#define MSG_M221_INVALID_EXTRUDER "M221 invalide extruder" +#define MSG_ERR_NO_THERMISTORS "Pas de thermistances - pas de temperature" +#define MSG_M109_INVALID_EXTRUDER "M109 invalide Extruder" +#define MSG_HEATING "Prechauffage" +#define MSG_HEATING_COMPLETE "Prechauffage OK" +#define MSG_BED_HEATING "Prechauffage lit" +#define MSG_BED_DONE "Lit OK" +#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" +#define MSG_ERR_KILLED "Printer halted. kill() called!" +#define MSG_ERR_STOPPED "Imprimante arretee en raison d'erreurs. Corrigez l'erreur et utilisez M999 pour redemarrer. (La temperature est reinitialisee, reglez-la apres le redemarrage)" +#define MSG_RESEND "Renvoyer: " +#define MSG_M119_REPORT "Reporting endstop status" +#define MSG_ENDSTOP_HIT "declenche" +#define MSG_ENDSTOP_OPEN "ouvert" + +#define MSG_SD_CANT_OPEN_SUBDIR "Impos. d'ouvrir le sous-repertoire" +#define MSG_SD_INIT_FAIL "SD init echoue" +#define MSG_SD_VOL_INIT_FAIL "volume.init a echoue" +#define MSG_SD_OPENROOT_FAIL "L'acces au repertoire de base a echoue" +#define MSG_SD_CARD_OK "SD carte ok" +#define MSG_SD_WORKDIR_FAIL "Ouvrir le repertoire de travail a echoue" +#define MSG_SD_OPEN_FILE_FAIL "Impossible d'ouvrir le fichier: " +#define MSG_SD_FILE_OPENED "Fichier ouvert: " +#define MSG_SD_FILE_SELECTED "Fichier choisi" +#define MSG_SD_WRITE_TO_FILE "Ecrire dans le fichier: " +#define MSG_SD_PRINTING_BYTE "SD printing byte " +#define MSG_SD_NOT_PRINTING "Pas d'impression SD" +#define MSG_SD_ERR_WRITE_TO_FILE "Erreur d'ecriture dans le fichier" +#define MSG_SD_CANT_ENTER_SUBDIR "Sous-repertoire de probleme d'acces: " +/* to be translated +#define MSG_STEPPER_TOO_HIGH "Schrittrate zu hoch" +#define MSG_ENDSTOPS_HIT "Endanstop erreicht" +#define MSG_ERR_COLD_EXTRUDE_STOP "Stop, 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 "Francais" +/* +#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 "Selbsttest Fehler !" +#define MSG_SELFTEST_PLEASECHECK "Bitte pruefe:" +#define MSG_SELFTEST_NOTCONNECTED "Nicht angeschlossen" +#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor" +#define MSG_SELFTEST_BEDHEATER "Bed / Heater" +#define MSG_SELFTEST_WIRINGERROR "Verdrahtungsfehler" +#define MSG_SELFTEST_ENDSTOPS "Endschalter" +#define MSG_SELFTEST_MOTOR "Motor" +#define MSG_SELFTEST_ENDSTOP "Endstop" +#define MSG_SELFTEST_ENDSTOP_NOTHIT "Endsch. n. erreicht" +#define MSG_SELFTEST_OK "Selbsttest OK" +#define MSG_LOOSE_PULLEY "Loser pulley" + +#define MSG_SELFTEST_FAN "Lueftertest"; +#define MSG_SELFTEST_COOLING_FAN "Vorderer Luefter?"; +#define MSG_SELFTEST_EXTRUDER_FAN "Linker Luefter?"; +#define MSG_SELFTEST_FAN_YES "Dreht"; +#define MSG_SELFTEST_FAN_NO "Dreht nicht"; + +#define MSG_STATS_TOTALFILAMENT "Filament Gesamt:" +#define MSG_STATS_TOTALPRINTTIME "Totale Druckzeit:" +#define MSG_STATS_FILAMENTUSED "Filamentverbrauch:" +#define MSG_STATS_PRINTTIME "Druckzeit: " +#define MSG_SELFTEST_START "Selbsttest start " +#define MSG_SELFTEST_CHECK_ENDSTOPS "Pruefe Endschalter " +#define MSG_SELFTEST_CHECK_HOTEND "Pruefe Hotend" +#define MSG_SELFTEST_CHECK_X "Pruefe X Achse " +#define MSG_SELFTEST_CHECK_Y "Pruefe Y Achse " +#define MSG_SELFTEST_CHECK_Z "Pruefe Z Achse " +#define MSG_SELFTEST_CHECK_BED "Pruefe Bett " +#define MSG_SELFTEST_CHECK_ALLCORRECT "Alles richtig " +#define MSG_SELFTEST "Selbsttest " +#define MSG_SELFTEST_FAILED "Selbsttest misluekt" +#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 "Anzeigen Enschalter" +#define MSG_CALIBRATE_BED "Kalibrierung XYZ" +#define MSG_CALIBRATE_BED_RESET "Reset XYZ Kalibr." + +#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibrieren von XYZ. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind." +#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibrieren von Z. Drehen Sie den Knopf, bis beide Z-Schlitten obere Anschaege erreichen. Klicken wenn beide ganz oben sind." + +#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_CONFIRM_NOZZLE_CLEAN "Bitte reinigen Sie die Buse vor Kalibrierung. Klicken wenn sauber." +#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Sind beide Z Schlitten ganz oben?" + +#define MSG_CONFIRM_NOZZLE_CLEAN "Bitte reinigen Sie die Buse vor Kalibrierung. Klicken wenn sauber." +#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Sind beide Z Schlitten ganz oben?" +#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Suche Bett Kalibrierpunkt" +#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " von 4" +#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Genauigkeit verbessern bei Kalibrierpunkt" +#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " von 9" +#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Messen der Referenzhoehe des Kalibrierpunktes" +#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " von 9" +#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Wiederholung " + +#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ-Kalibrierung fehlgeschlagen. Bett-Kalibrierpunkt nicht gefunden." +#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ-Kalibrierung fehlgeschlagen. Bitte schauen Sie in das Handbuch." +#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ-Kalibrierung ok. X/Y-Achsen sind senkrecht zueinander. Glueckwunsch!" +#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ-Kalibrierung ok. X/Y-Achsen sind etwas schief. Schiefheit wird automatisch korrigiert. Gut gemacht!" +#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ-Kalibrierung ok. X/Y-Achsen sind sehr schief. Schiefheit wird automatisch korrigiert." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ-Kalibrierung fehlgeschlagen. Linker voderer Kalibrierpunkt nicht erreichbar." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ-Kalibrierung fehlgeschlagen. Rechter vorderer Kalibrierpunkt nicht erreichbar." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ-Kalibrierung fehlgeschlagen. Vordere Kalibrierpunkte nicht erreichbar." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ-Kalibrierung ungenau. Linker vorderer Kalibrierpunkt nicht erreichbar." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ-Kalibrierung ungenau. Rechter vorderer Kalibrierpunkt nicht erreichbar." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ-Kalibrierung ungenau. Vordere Kalibrierpunkte nicht erreichbar." + +#define MSG_BED_LEVELING_FAILED_POINT_LOW "Bett-Nivellierung fehlgeschlagen. Sensor wurde nicht ausgeloest. Schmutzige Buse? Warte auf Reset." +#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Bett-Nivellierung fehlgeschlagen. Sensor wurde zu hoch ausgeloest. Warte auf Reset." +#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Bett-Nivellierung fehlgeschlagen. Sensor nicht angeschlossen oder Kabel defekt. Warte auf Reset." + +#define MSG_NEW_FIRMWARE_AVAILABLE "Neue Firmware Version verfuegbar:" +#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Bitte aktualisieren." + +#define MSG_FOLLOW_CALIBRATION_FLOW "Der Drucker wurde noch nicht kalibriert. Bitte folgen Sie dem Handbuch, Kapitel First steps, Abschnitt Calibration flow." +#define MSG_BABYSTEP_Z_NOT_SET "Der Abstand zwischen der Spitze der Buse und der Druckoberflaeche / Bett ist noch nicht eingestellt. Bitte folgen Sie dem Handbuch, First steps, Abschnitt First layer calibration." + +#define MSG_FILAMENT_LOADING_T0 "Filament in extruder 1 einlegen. Klicken wenn fertig." +#define MSG_FILAMENT_LOADING_T1 "Filament in extruder 2 einlegen. Klicken wenn fertig." +#define MSG_FILAMENT_LOADING_T2 "Filament in extruder 3 einlegen. Klicken wenn fertig." +#define MSG_FILAMENT_LOADING_T3 "Filament in extruder 4 einlegen. Klicken wenn fertig." +#define MSG_CHANGE_EXTR "Wechsel extruder" + +#define MSG_FIL_ADJUSTING "Einstellen Filament. Bitte warten." +#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamente sind jetzt eingestellt. Bitte reinigen Sie die Buse zur Kalibrierung. Klicken wenn sauber." +#define MSG_STACK_ERROR "Error - EEPROM wurde ueberschrieben" + +#define MSG_CALIBRATE_E "Kalibriere E" +#define MSG_RESET_CALIBRATE_E "Reset E Cal." +#define MSG_E_CAL_KNOB "Knopf drehen bis die Filamentmarkierung erreicht ist. Klicken wenn fertig." + +//#define MSG_FARM_CARD_MENU "Farm mode print" + +#define MSG_MARK_FIL "Filament 100mm vom Extrudergehaeuse markieren. Klicken wenn Fertig." +#define MSG_CLEAN_NOZZLE_E "E-Kalibrierung beendet. Bitte reinigen Sie die Buse. Klicken wenn fertig." +#define MSG_WAITING_TEMP "Warten auf Abkuehlung von Buse und Bett." + +#define MSG_FILAMENT_CLEAN "Ist Farbe rein?" +#define MSG_UNLOADING_FILAMENT "Filament auswerfen" +#define MSG_PAPER "Lege waehrend der Kalibrierung der ersten 4 Punkte ein Blatt Papier unter die Buse. Wenn die Buse das Papier bewegt, Drucker sofort ausschalten!" + +#define MSG_BED_CORRECTION_MENU "Bett level korrekt" + + +#define MSG_BED_CORRECTION_MID_LEFT "Mi.Links [um]" +#define MSG_BED_CORRECTION_MID_RIGHT "Mi.Rechts [um]" +#define MSG_BED_CORRECTION_FRONT_CENTR "Ztr.Vorne [um]" +#define MSG_BED_CORRECTION_REAR_CENTR "Ztr.Hinten[um]" + +#define MSG_BED_CORRECTION_RESET "Zuruecksetzen" + +#define MSG_MESH_BED_LEVELING "Mesh Bed 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_PRINTER_DISCONNECTED "Drucker getrent" +#define MSG_FINISHING_MOVEMENTS "Bewegungen beenden" +#define MSG_PRINT_PAUSED "Druck pausiert" +#define MSG_RESUMING_PRINT "Druck fortsetzen" +#define MSG_PID_EXTRUDER "PID Kalibrierung" +#define MSG_SET_TEMPERATURE "Temp.einstellen" +#define MSG_PID_FINISHED "PID Kal. fertig " +#define MSG_PID_RUNNING "PID Kal. " + +#define MSG_CALIBRATE_PINDA "PINDA Temp. Kal." +#define MSG_CALIBRATION_PINDA_MENU "PINDA Temp. Kal." +#define MSG_PINDA_NOT_CALIBRATED "PINDA Temperatur Kalibrierung wurde noch nicht ausgefuehrt" +#define MSG_PINDA_PREHEAT "PINDA erwaermen" +#define MSG_TEMP_CALIBRATION "PINDA Temp.Kal. " +#define MSG_TEMP_CALIBRATION_DONE "Die PINDA Temperaturkalibrierung ist beendet. Klicke um fortzufahren." +#define MSG_TEMP_CALIBRATION_ON "PINDA T.Kal. [ON]" +#define MSG_TEMP_CALIBRATION_OFF "PINDA T.Kal.[OFF]" + +#define MSG_PREPARE_FILAMENT "Filam. bereithalten" +#define MSG_ALL "Alle" +#define MSG_USED "Benutzt beim Druck" +#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_DATE "Datum:" +#define MSG_XYZ_DETAILS "XYZ Kal. Details" +#define MSG_Y_DISTANCE_FROM_MIN "Y Entfernung von min" +#define MSG_LEFT "Links:" +#define MSG_CENTER "Mitte:" +#define MSG_RIGHT "Rechts:" +#define MSG_MEASURED_SKEW "Symmetrie:" +#define MSG_SLIGHT_SKEW "Geringe Asym.:" +#define MSG_SEVERE_SKEW "Schwere Asym.:" +#define MSG_DEFAULT_SETTINGS_LOADED "Standardeinstellungen geladen" +#define MSG_SORT_TIME "Sort: [Zeit]" +#define MSG_SORT_ALPHA "Sort: [Alphabet]" +#define MSG_SORT_NONE "Sort: [Keine]" +#define MSG_SORTING "Sortiere Dateien" +#define MSG_FILE_INCOMPLETE "Bestand unvollstaedig. Trotzdem weiter machen?" +#define MSG_WIZARD "Assistent" +#define MSG_WIZARD_LANGUAGE "Bitte Sprache waehlen" +#define MSG_WIZARD_WELCOME "Hallo, ich bin Dein Original Prusa i3 Drucker. Sollen wir mit dem Setup-Prozess beginnen?" +#define MSG_WIZARD_QUIT "Du kannst den Assistenten immer aus Kalibrierung -> Assistent wider aufnehmen." +#define MSG_WIZARD_SELFTEST "Zuerst werden wir den Selbsttest durchfuehren um haeufige Montageprobleme zu ueberpruefen." +#define MSG_WIZARD_CALIBRATION_FAILED "Bitte ueberpruefe unser Handbuch und behebe das Problem. Fahre dann mit dem Assistenten fort, indem Du den Drucker neu startest." +#define MSG_WIZARD_XYZ_CAL "Starte jetzt die XYZ-Kalibrierung. Es wird ca. 12 min. dauern." +#define MSG_WIZARD_FILAMENT_LOADED "Filament geladen?" +#define MSG_WIZARD_Z_CAL "Starte jetzt die Z-Kalibrierung." +#define MSG_WIZARD_WILL_PREHEAT "Waerme die Buse fuer PLA vor." +#define MSG_WIZARD_HEATING "Vorwaermen der Buse. Bitte warten." +#define MSG_WIZARD_V2_CAL "Starte mit der Kalibrierung zwischen der Buse und Bett." +#define MSG_WIZARD_V2_CAL_2 "Starte die Kal.-Linie zu drucken, bitte drehe am Knopf bis Du die optimale Hoehe erreichst. Schaue im Handbuch unter Calibration nach." +#define MSG_V2_CALIBRATION "Erste Layer Kal." +#define MSG_WIZARD_DONE "Fertig. Happy printing!" +#define MSG_WIZARD_LOAD_FILAMENT "Fuehre PLA Filament in den Extruder und drueck den Knopf um dies zu laden." +#define MSG_WIZARD_RERUN "Starten vom Assistenten loescht die aktuelle Kalibrierung und beginnt von vorne. Fortsetzen?" +#define MSG_WIZARD_REPEAT_V2_CAL "Willst Du den letzten Schritt widerholen um den Abstand zwischen Buse und Bett erneut einzustellen?" +#define MSG_WIZARD_CLEAN_HEATBED "Bitte reinige das Bett und druecke den Knopf." +#define MSG_WIZARD_PLA_FILAMENT "Ist es PLA Filament?" +#define MSG_WIZARD_INSERT_CORRECT_FILAMENT "Bitte lade PLA Filament und starte den Drucker neu um den Assistenten fortzusetzen." +#define MSG_PLA_FILAMENT_LOADED "Ist PLA Filament geladen?" +#define MSG_PLEASE_LOAD_PLA "Bitte lade erst PLA Filament." +#define MSG_FILE_CNT "Einige Dateien werden nicht sortiert, da das max. 100 Dateien pro Ordner ist." +*/ \ No newline at end of file diff --git a/Firmware/language_nl.h b/Firmware/language_nl.h new file mode 100644 index 0000000000..6c625a3806 --- /dev/null +++ b/Firmware/language_nl.h @@ -0,0 +1,343 @@ +/** + * Dutch + * + * LCD Menu Messages + * Please note these are limited to 17 characters! + * + */ + +#define WELCOME_MSG CUSTOM_MENDEL_NAME " gereed." +#define MSG_SD_INSERTED "SD ingestoken" +#define MSG_SD_REMOVED "SD verwijderd" +#define MSG_MAIN "Hoofdmenu" +#define MSG_DISABLE_STEPPERS "Motoren uit" +#define MSG_AUTO_HOME "Startpositie" +#define MSG_SET_HOME_OFFSETS "Set home offsets" +#define MSG_SET_ORIGIN "Oorsprong instellen" +#define MSG_COOLDOWN "Afkoelen" +#define MSG_SWITCH_PS_ON "Opstarten" +#define MSG_SWITCH_PS_OFF "Uitschakelen" +#define MSG_MOVE_AXIS "As verplaatsen" +#define MSG_MOVE_X "Verplaats X" +#define MSG_MOVE_Y "Verplaats Y" +#define MSG_MOVE_Z "Verplaats Z" +#define MSG_MOVE_E "Extruder" +#define MSG_SPEED "Snelheid" +#define MSG_NOZZLE "Tuit" +#define MSG_NOZZLE1 "Tuit2" +#define MSG_NOZZLE2 "Tuit3" +#define MSG_BED "Bed" +#define MSG_FAN_SPEED "Fan snelheid" +#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 "Temperatuur" +#define MSG_MOTION "Beweging" +#define MSG_VOLUMETRIC "Filament" +#define MSG_VOLUMETRIC_ENABLED "E in mm3" +#define MSG_STORE_EPROM "Geheugen opslaan" +#define MSG_LOAD_EPROM "Geheugen laden" +#define MSG_RESTORE_FAILSAFE "Backup terugzetten" +#define MSG_REFRESH "\xF8" "Herladen" +#define MSG_WATCH "Info scherm" +#define MSG_TUNE "Fijninstellingen" +#define MSG_PAUSE_PRINT "Print pauzeren" +#define MSG_RESUME_PRINT "Print hervatten" +#define MSG_STOP_PRINT "Print stoppen" +#define MSG_CARD_MENU "Print van SD" +#define MSG_NO_CARD "Geen SD kaart" +#define MSG_DWELL "Slapen..." +#define MSG_USERWAIT "Wachten op gebruiker" +#define MSG_RESUMING "Print hervatten" +#define MSG_PRINT_ABORTED "Print afgebroken" +#define MSG_NO_MOVE "Geen beweging." +#define MSG_KILLED "NOODSTOP. " +#define MSG_STOPPED "GESTOPT. " +#define MSG_FILAMENTCHANGE "Wissel filament" +#define MSG_INIT_SDCARD "Init. SD kaart" +#define MSG_CNG_SDCARD "Wissel SD kaart" +#define MSG_BABYSTEP_X "Babystep X" +#define MSG_BABYSTEP_Y "Babystep Y" +#define MSG_BABYSTEP_Z "Live Z aanpassen" +#define MSG_ADJUSTZ "Auto instellen Z?" +#define MSG_PICK_Z "Kies print" + +#define MSG_SETTINGS "Instellingen" +#define MSG_PREHEAT "Voorverwarmen" +#define MSG_UNLOAD_FILAMENT "Filament uithalen" +#define MSG_LOAD_FILAMENT "Filament 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 "Filament 1 uithalen" +#define MSG_UNLOAD_FILAMENT_2 "Filament 2 uithalen" +#define MSG_UNLOAD_FILAMENT_3 "Filament 3 uithalen" +#define MSG_UNLOAD_FILAMENT_4 "Filament 4 uithalen" +#define MSG_UNLOAD_ALL "Alle uithalen" +#define MSG_LOAD_ALL "Alle laden" + +#define MSG_RECTRACT "Rectract" +#define MSG_ERROR "FOUT:" +#define MSG_PREHEAT_NOZZLE "Tuit voorverwarmen!" +#define MSG_SUPPORT "Support" +#define MSG_CORRECTLY "Wissel ok?" +#define MSG_YES "Ja" +#define MSG_NO "Nee" +#define MSG_NOT_LOADED "Fil. niet geladen" +#define MSG_NOT_COLOR "Kleur niet duidelijk" +#define MSG_LOADING_FILAMENT "Laade Filament" +#define MSG_PLEASE_WAIT "Wacht aub" +#define MSG_LOADING_COLOR "Laade kleur" +#define MSG_CHANGE_SUCCESS "Wissel succesvol!" +#define MSG_PRESS "en druk op knop" +#define MSG_INSERT_FILAMENT "Filament insteken" +#define MSG_CHANGING_FILAMENT "Wissel filament!" + + +#define MSG_SILENT_MODE_ON "Mode [silent]" +#define MSG_SILENT_MODE_OFF "Mode [high power]" +#define MSG_AUTO_MODE_ON "Mode [Auto]" +#define MSG_REBOOT "Herstart de printer" +#define MSG_TAKE_EFFECT " om effectief te worden" + +#define MSG_Enqueing "enqueing \"" +#define MSG_POWERUP "PowerUp" +#define MSG_CONFIGURATION_VER " Laaste Update: " +#define MSG_FREE_MEMORY " Vrij geheugen: " +#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: " +#define MSG_OK "ok" +#define MSG_ERR_CHECKSUM_MISMATCH "checksum fout, Laatste lijn: " +#define MSG_ERR_NO_CHECKSUM "Geen Checksum met lijnnummer Laatste Lijn: " +#define MSG_BEGIN_FILE_LIST "Begin file lijst" +#define MSG_END_FILE_LIST "Eind file lijst" +#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 "Geen Temp.sensoren - geen temperatuur" +#define MSG_M109_INVALID_EXTRUDER "M109 Invalid extruder " +#define MSG_HEATING "Opwarmen" +#define MSG_HEATING_COMPLETE "Opwarmen klaar." +#define MSG_BED_HEATING "Bed opwarmen" +#define MSG_BED_DONE "Bed OK." +#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" +#define MSG_ERR_KILLED "Printer gestopt. kill() called!" +#define MSG_ERR_STOPPED "Printer vanwege fouten gestopt. Repareer de fout en gebruiken M999 te herstarten. (Temperatuur is gereset. Stel het na het herstarten)" +#define MSG_RESEND "Resend: " +#define MSG_M119_REPORT "Endstop status weergeven" +#define MSG_ENDSTOP_HIT "gesloten" +#define MSG_ENDSTOP_OPEN "open" + +#define MSG_SD_CANT_OPEN_SUBDIR "Kan map niet openen" +#define MSG_SD_INIT_FAIL "SD opstarten mislukt" +#define MSG_SD_VOL_INIT_FAIL "Volume.init mislukt" +#define MSG_SD_OPENROOT_FAIL "Toegang tot basismap mislukt" +#define MSG_SD_CARD_OK "SD card ok" +#define MSG_SD_WORKDIR_FAIL "Openen van werkmap mislukt" +#define MSG_SD_OPEN_FILE_FAIL "Openen mislukt, bestand : " +#define MSG_SD_FILE_OPENED "Bestand geopend: " +#define MSG_SD_FILE_SELECTED "Bestand geselecteerd" +#define MSG_SD_WRITE_TO_FILE "Naar bestand schrijven: " +#define MSG_SD_PRINTING_BYTE "SD printing byte " +#define MSG_SD_NOT_PRINTING "geen SD printen" +#define MSG_SD_ERR_WRITE_TO_FILE "fout bij schrijven naar bestand" +#define MSG_SD_CANT_ENTER_SUBDIR "Kan niet in map: " + +#define MSG_STEPPER_TOO_HIGH "Steprate te hoog: " +#define MSG_ENDSTOPS_HIT "endstops hit: " +#define MSG_ERR_COLD_EXTRUDE_STOP "Stop, extruder kouwd!" +#define MSG_BABYSTEPPING_X "Babystepping X" +#define MSG_BABYSTEPPING_Y "Babystepping Y" +#define MSG_BABYSTEPPING_Z "Z is ingesteld" +#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Error in menu structure" + +#define MSG_LANGUAGE_NAME "Nederlands" +#define MSG_LANGUAGE_SELECT "Kies taal" +#define MSG_PRUSA3D "prusa3d.com" +#define MSG_PRUSA3D_FORUM "forum.prusa3d.com" +#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com" + +#define MSG_SELFTEST_ERROR "Zelftest Fout !" +#define MSG_SELFTEST_PLEASECHECK "Controleer aub:" +#define MSG_SELFTEST_NOTCONNECTED "Niet aangesloten" +#define MSG_SELFTEST_HEATERTHERMISTOR "Heater/Thermistor" +#define MSG_SELFTEST_BEDHEATER "Bed / Heater" +#define MSG_SELFTEST_WIRINGERROR "Bedrading fout" +#define MSG_SELFTEST_ENDSTOPS "Endstops" +#define MSG_SELFTEST_MOTOR "Motor" +#define MSG_SELFTEST_ENDSTOP "Endstop" +#define MSG_SELFTEST_ENDSTOP_NOTHIT "Endstop niet geraakt" +#define MSG_SELFTEST_OK "Zelftest OK" +#define MSG_LOOSE_PULLEY "Loose pulley" + +#define MSG_SELFTEST_FAN "Fan test"; +#define MSG_SELFTEST_COOLING_FAN "Voordere fan?"; +#define MSG_SELFTEST_EXTRUDER_FAN "Linke fan?"; +#define MSG_SELFTEST_FAN_YES "Roteert"; +#define MSG_SELFTEST_FAN_NO "Roteert niet"; + +#define MSG_STATS_TOTALFILAMENT "Filament total: " +#define MSG_STATS_TOTALPRINTTIME "Total printtijd:" +#define MSG_STATS_FILAMENTUSED "Filamentverbruik:" +#define MSG_STATS_PRINTTIME "Printtijd: " +#define MSG_SELFTEST_START "Zelftest start " +#define MSG_SELFTEST_CHECK_ENDSTOPS "Controleer endstops" +#define MSG_SELFTEST_CHECK_HOTEND "Controleer hotend " +#define MSG_SELFTEST_CHECK_X "Controleer X as " +#define MSG_SELFTEST_CHECK_Y "Controleer Y as " +#define MSG_SELFTEST_CHECK_Z "Controleer Z as " +#define MSG_SELFTEST_CHECK_BED "Controleer bed " +#define MSG_SELFTEST_CHECK_ALLCORRECT "Allemaal goed " +#define MSG_SELFTEST "Zelftest " +#define MSG_SELFTEST_FAILED "Zelftest mislukt " +#define MSG_STATISTICS "Statistieken" +#define MSG_USB_PRINTING "USB printing " +#define MSG_HOMEYZ "Kalibreren Z" +#define MSG_HOMEYZ_PROGRESS "Kalibreren Z" +#define MSG_HOMEYZ_DONE "Kalbibratie OK" + +#define MSG_SHOW_END_STOPS "Toon endstops" +#define MSG_CALIBRATE_BED "Kalibratie XYZ" +#define MSG_CALIBRATE_BED_RESET "Reset XYZ kalibr." + +#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Klik als klaar." +#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Kalibreren van XYZ. Draai de knop om de Z-wagen omhoog te gaan tot het einde stoppers. Klik als klaar." + +#define MSG_CONFIRM_NOZZLE_CLEAN "Reinig het tuit voor de kalibratie aub. Klik als klaar." +#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Zijn beide Z wagen heelemaal boven?" + +#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Zoeke bed kalibratiepunt" +#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " van 4" +#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Nauwkeurigheid verbeteren bij kalibratiepunt" +#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " van 9" +#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Meten van reference hoogte van de kalibratiepunt" +#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " van 9" +#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Herhaling " + +#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "XYZ kalibratie mislukt. Bed kalibratiepunt niet gevonden." +#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "XYZ kalibratie mislukt. Raadpleeg de handleiding." +#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "XYZ kalibratie ok. X/Y-assen staan perpendiculair. Gefeliciteerd!" +#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "XYZ kalibratie ok. X/Y-assen zijn iets scheef. Scheefheid wordt automatisch gecorrigeerd. Goed gedaan!" +#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "XYZ kalibratie ok. X/Y-assen zijn heel scheef. Scheefheid wordt automatisch gecorrigeerd." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "XYZ kalibratie mislukt. Linksvoor kalibratiepunt niet bereikbaar." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "XYZ kalibratie mislukt. Rechtsvoor kalibratiepunt niet bereikbaar." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "XYZ kalibratie mislukt. Voorzijde kalibratiepunten niet bereikbaar." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "XYZ kalibratie gecompromitteerd. Linksvoor kalibratiepunt niet bereikbaar." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "XYZ kalibratie gecompromitteerd. Rechtsvoor kalibratiepunt niet bereikbaar." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "XYZ kalibratie gecompromitteerd. Voorzijde kalibratiepunten niet bereikbaar." + +#define MSG_BED_LEVELING_FAILED_POINT_LOW "Bed nivellering mislukt. Sensor was niet geactiveerd. Vuil op nozzle? Wacht op reset." +#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Bed nivellering mislukt. Een sensor heeft te hoog getriggerd. Wacht op reset." +#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Bed nivellering mislukt.Sensor niet aangesloten of kabel gebroken.Wacht op reset" + +#defineMSG_NEW_FIRMWARE_AVAILABLE "Nieuwe firmware versie beschikbaar:" +#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Upgraden aub." + +#define MSG_FOLLOW_CALIBRATION_FLOW "Printer is nog niet gekalibreerd. Volg de handleiding, hoofdstuk First steps, sectie Calibration flow." +#define MSG_BABYSTEP_Z_NOT_SET "Afstand tussen tip van het tuit en het print oppervlak nog niet vastgesteld. Volg de handleiding, First steps, sectie First layer calibration." + +#define MSG_FILAMENT_LOADING_T0 "Steek filament in de extruder 1. Klik als klaar." +#define MSG_FILAMENT_LOADING_T1 "Steek filament in de extruder 2. Klik als klaar." +#define MSG_FILAMENT_LOADING_T2 "Steek filament in de extruder 3. Klik als klaar." +#define MSG_FILAMENT_LOADING_T3 "Steek filament in de extruder 4. Klik als klaar." +#define MSG_CHANGE_EXTR "Wissel extruder" + +#define MSG_FIL_ADJUSTING "Aanpassen filamenten. Even geduld aub." +#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamenten zijn nu ingesteld. Reinig het tuit voor de kalibratie. Klik als klaar." +#define MSG_STACK_ERROR "Error - static memory has been overwritten" +#define MSG_CALIBRATE_E "Kalibratie E" +#define MSG_RESET_CALIBRATE_E "Reset E Cal." +#define MSG_E_CAL_KNOB "Draai knop tot mark extruder bereikt is. Klik als klaar." + +//#define MSG_FARM_CARD_MENU "Farm mode print" +#define MSG_MARK_FIL "Mark filament 100mm van extruder body. Klik als klaar." +#define MSG_CLEAN_NOZZLE_E "E kalibratie voltooid. Reinig het tuit. Klik op als klaar." +#define MSG_WAITING_TEMP "Wachten op afkoelen van heater en bed." +#define MSG_FILAMENT_CLEAN "Is kleur zuiver?" +#define MSG_UNLOADING_FILAMENT "Filament uitwerpen" +#define MSG_PAPER "Leg een vel papier onder het tuit tijdens de kalibratie van de eerste 4 punten. Als het tuit het papier vangt, Printer onmiddellijk uitschakelen." + +#define MSG_BED_CORRECTION_MENU "Bed juist" +#define MSG_BED_CORRECTION_LEFT "Links [um]" +#define MSG_BED_CORRECTION_RIGHT "Rechts [um]" +#define MSG_BED_CORRECTION_FRONT "Vooraan [um]" +#define MSG_BED_CORRECTION_REAR "Achter [um]" +#define MSG_BED_CORRECTION_RESET "Reset" + +#define MSG_MESH_BED_LEVELING "Mesh Bed Leveling" +#define MSG_MENU_CALIBRATION "Kalibratie" +#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "SD card [normal]" +#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "SD card [FlshAir]" +#define MSG_PRINTER_DISCONNECTED "Printer ontbonden" +#define MSG_FINISHING_MOVEMENTS "Bewegingen afwerken" +#define MSG_PRINT_PAUSED "Druck pauzeren" +#define MSG_RESUMING_PRINT "Print hervatten" +#define MSG_PID_EXTRUDER "PID kalibratie" +#define MSG_SET_TEMPERATURE "Temp. instellen" +#define MSG_PID_FINISHED "PID kal. klaar " +#define MSG_PID_RUNNING "PID kal. " + +#define MSG_CALIBRATE_PINDA "PINDA Temp. kal." +#define MSG_CALIBRATION_PINDA_MENU "PINDA Temp. kal." +#define MSG_PINDA_NOT_CALIBRATED "PINDA temperatuur calibratie was nog niet uitgevoerd" +#define MSG_PINDA_PREHEAT "PINDA warmt op" +#define MSG_TEMP_CALIBRATION "PINDA Temp.kal." +#define MSG_TEMP_CALIBRATION_DONE "PINDA temperatuur calibratie is klaar. Klik om door te gaan." +#define MSG_TEMP_CALIBRATION_ON "PINDA T.kal. [ON]" +#define MSG_TEMP_CALIBRATION_OFF "PINDA T.kal.[OFF]" + +#define MSG_PREPARE_FILAMENT "Filam. voorbereiden" +#define MSG_ALL "Alle" +#define MSG_USED "Gebruikt bij print" +#define MSG_CURRENT "Actueel" +#define MSG_CHOOSE_EXTRUDER "Kies 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_DATE "Datum:" +#define MSG_XYZ_DETAILS "XYZ kal. details" +#define MSG_Y_DISTANCE_FROM_MIN "Y afstand van min" +#define MSG_LEFT "Links:" +#define MSG_CENTER "Centrum:" +#define MSG_RIGHT "Rechts:" +#define MSG_MEASURED_SKEW "Symmetrie:" +#define MSG_SLIGHT_SKEW "Geringe Asym.:" +#define MSG_SEVERE_SKEW "Hevige Asym.:" +#define MSG_DEFAULT_SETTINGS_LOADED "Standaard instellingen geladen" +#define MSG_SORT_TIME "Sort: [Tijd]" +#define MSG_SORT_ALPHA "Sort: [Alfabet]" +#define MSG_SORT_NONE "Sort: [Geen]" +#define MSG_SORTING "Sortere bestand" +#define MSG_FILE_INCOMPLETE "Bestand onvolledig. Maar toch doorgaan?" +#define MSG_WIZARD "Assistent" +#define MSG_WIZARD_WELCOME "Hallo, ik ben uw originele Prusa i3 printer. Zullen we beginnen met het installatieproces?" +#define MSG_WIZARD_QUIT "U kunt de wizard altijd uit Kalibratie -> Assistent kiezen." +#define MSG_WIZARD_SELFTEST "Ten eerste zullen we de zelftest uitvoeren om de meest voorkomende montageproblemen te controleren." +#define MSG_WIZARD_CALIBRATION_FAILED "Controleer alstublieft ons handboek en los het probleem op. Vervolgens hervat de wizard door de printer opnieuw te starten." +#define MSG_WIZARD_XYZ_CAL "Begin nu met xyz-kalibratie. Het duurt ongeveer 12 min." +#define MSG_WIZARD_FILAMENT_LOADED "Filament geladen?" +#define MSG_WIZARD_Z_CAL "Begin nu met z-kalibratie." +#define MSG_WIZARD_WILL_PREHEAT "Opwarmen van de tuit voor PLA voor." +#define MSG_WIZARD_HEATING "Opwarmen van de tuit. Wacht aub." +#define MSG_WIZARD_V2_CAL "Begin met kalibratie tussen tuit en bed." +#define MSG_WIZARD_V2_CAL_2 "Begin de Kal.-Linie te printen, draai de knop tot je de optimale hoogte bereikt. Controleer de afbeeldingen in ons handboek in hoofdstuk Calibration." +#define MSG_V2_CALIBRATION "Eerste layer cal." +#define MSG_WIZARD_DONE "Klaar. Happy printing!" +#define MSG_WIZARD_LOAD_FILAMENT "Plaats PLA filament in de extruder, druk dan op knop om het te laden." +#define MSG_WIZARD_RERUN "Starten van deWizard verwijdert de huidige kalibreringsresultaten en begint vanaf het begin. Doorgaan?" +#define MSG_WIZARD_REPEAT_V2_CAL "Wilt u de laatste stap herhalen om de afstand tussen tuit en bed te herstellen?" +#define MSG_WIZARD_CLEAN_HEATBED "Maak de bed schoon en druk de knop." +#define MSG_WIZARD_PLA_FILAMENT "Is het PLA filament?" +#define MSG_WIZARD_INSERT_CORRECT_FILAMENT "Laad aub PLA-filament en hervat de wizard door de printer opnieuw te starten." +#define MSG_PLA_FILAMENT_LOADED "Is PLA filament geladen?" +#define MSG_PLEASE_LOAD_PLA "Laad eerst PLA filament. aub" +#define MSG_FILE_CNT "Sommige bestanden worden niet gesorteerd omdat de max. 100 bestanden per map is." diff --git a/Firmware/language_pt.h b/Firmware/language_pt.h new file mode 100644 index 0000000000..13af190313 --- /dev/null +++ b/Firmware/language_pt.h @@ -0,0 +1,343 @@ +/** + * Portuguese + * + * LCD Menu Messages + * Please note these are limited to 17 characters! + * + */ + +#define WELCOME_MSG CUSTOM_MENDEL_NAME " pronta." +#define MSG_SD_INSERTED "Cartao inserido" +#define MSG_SD_REMOVED "Cartao removido" +#define MSG_MAIN "Menu principal" +#define MSG_DISABLE_STEPPERS "Desativar motores" +#define MSG_AUTO_HOME "Ir para origem" +#define MSG_SET_HOME_OFFSETS "Def desvio origem" +#define MSG_SET_ORIGIN "Definir origem" +#define MSG_COOLDOWN "Arrefecer" +#define MSG_SWITCH_PS_ON "Ligar alimentacao" +#define MSG_SWITCH_PS_OFF "Desligar aliment." +#define MSG_MOVE_AXIS "Mover eixos" +#define MSG_MOVE_X "Mover X" +#define MSG_MOVE_Y "Mover Y" +#define MSG_MOVE_Z "Mover Z" +#define MSG_MOVE_E "Extrusora" +#define MSG_SPEED "Velocidade" +#define MSG_NOZZLE "Bico" +#define MSG_NOZZLE1 "Bico2" +#define MSG_NOZZLE2 "Bico3" +#define MSG_BED "Cama" +#define MSG_FAN_SPEED "Veloc. Ventil." +#define MSG_FLOW "Fluxo" +#define MSG_FLOW0 "Fluxo 0" +#define MSG_FLOW1 "Fluxo 1" +#define MSG_FLOW2 "Fluxo 2" +#define MSG_CONTROL "Controlo" +#define MSG_MIN " \002 Min" +#define MSG_MAX " \002 Max" +#define MSG_FACTOR " \002 Fator" +#define MSG_TEMPERATURE "Temperatura" +#define MSG_MOTION "Movimento" +#define MSG_VOLUMETRIC "Filamento" +#define MSG_VOLUMETRIC_ENABLED "E em mm3" +#define MSG_STORE_EPROM "Guardar na mem." +#define MSG_LOAD_EPROM "Ler da memoria" +#define MSG_RESTORE_FAILSAFE "Rest. Val. Segur." +#define MSG_REFRESH "\xF8" "Atualizar" +#define MSG_WATCH "Ecra inform." +#define MSG_TUNE "Afinar" +#define MSG_PAUSE_PRINT "Pausa impressao" +#define MSG_RESUME_PRINT "Retomar impressao" +#define MSG_STOP_PRINT "Parar impressao" +#define MSG_CARD_MENU "Imprimir do SD" +#define MSG_NO_CARD "Sem cartao SD" +#define MSG_DWELL "Em suspensao..." +#define MSG_USERWAIT "Espera utilizad." +#define MSG_RESUMING "Retomar impressao" +#define MSG_PRINT_ABORTED "Impress. abortada" +#define MSG_NO_MOVE "Sem movimento." +#define MSG_KILLED "CANCELADA. " +#define MSG_STOPPED "PARADA. " +#define MSG_FILAMENTCHANGE "Trocar filamento" +#define MSG_INIT_SDCARD "Iniciar cartao SD" +#define MSG_CNG_SDCARD "Trocar cartao SD" +#define MSG_BABYSTEP_X "Micropassos X" +#define MSG_BABYSTEP_Y "Micropassos Y" +#define MSG_BABYSTEP_Z "Ajuste ao vivo Z" +#define MSG_ADJUSTZ "Auto ajustar Z?" +#define MSG_PICK_Z "Escolha impressao" + +#define MSG_SETTINGS "Definicoes" +#define MSG_PREHEAT "Pre aquecimento" +#define MSG_UNLOAD_FILAMENT "Descargar filam." +#define MSG_LOAD_FILAMENT "Carga filamento" +#define MSG_LOAD_FILAMENT_1 "Carga filamento 1" +#define MSG_LOAD_FILAMENT_2 "Carga filamento 2" +#define MSG_LOAD_FILAMENT_3 "Carga filamento 3" +#define MSG_LOAD_FILAMENT_4 "Carga filamento 4" +#define MSG_UNLOAD_FILAMENT_1 "Descarga filam. 1" +#define MSG_UNLOAD_FILAMENT_2 "Descarga filam. 2" +#define MSG_UNLOAD_FILAMENT_3 "Descarga filam. 3" +#define MSG_UNLOAD_FILAMENT_4 "Descarga filam. 4" +#define MSG_UNLOAD_ALL "Descarregar todos" +#define MSG_LOAD_ALL "Carregar todos" + +#define MSG_RECTRACT "Retracao" +#define MSG_ERROR "ERRO:" +#define MSG_PREHEAT_NOZZLE "Pre-aqueca bico!" +#define MSG_SUPPORT "Suporte" +#define MSG_CORRECTLY "Troca correta?" +#define MSG_YES "Sim" +#define MSG_NO "Nao" +#define MSG_NOT_LOADED "Fil. nao carregado" +#define MSG_NOT_COLOR "Cor nao limpida" +#define MSG_LOADING_FILAMENT "Carregando filam." +#define MSG_PLEASE_WAIT "Espere p. favor" +#define MSG_LOADING_COLOR "Carregando cor" +#define MSG_CHANGE_SUCCESS "Troca sucedida!" +#define MSG_PRESS "e pressione botao" +#define MSG_INSERT_FILAMENT "Insira filamento" +#define MSG_CHANGING_FILAMENT "Trocando filamento!" + + +#define MSG_SILENT_MODE_ON "Modo [silencio]" +#define MSG_SILENT_MODE_OFF "Modo [Alta pot.]" +#define MSG_AUTO_MODE_ON "Modo [Pot. auto]" +#define MSG_REBOOT "Reinicie impressora" +#define MSG_TAKE_EFFECT " para aplicar" + +#define MSG_Enqueing "Col. em espera \"" +#define MSG_POWERUP "Ligar" +#define MSG_CONFIGURATION_VER " Ultima Act.: " +#define MSG_FREE_MEMORY " Mem. livre: " +#define MSG_PLANNER_BUFFER_BYTES " PlannerBufferBytes: " +#define MSG_OK "ok" +#define MSG_ERR_CHECKSUM_MISMATCH "erro verific., Ult. Linha: " +#define MSG_ERR_NO_CHECKSUM "Sem verific. com linha num., Ult. Linha: " +#define MSG_BEGIN_FILE_LIST "Inic. lista fich." +#define MSG_END_FILE_LIST "Fim lista fich." +#define MSG_M104_INVALID_EXTRUDER "M104 Extrus. invalida " +#define MSG_M105_INVALID_EXTRUDER "M105 Extrus. invalida " +#define MSG_M200_INVALID_EXTRUDER "M200 Extrus. invalida " +#define MSG_M218_INVALID_EXTRUDER "M218 Extrus. invalida " +#define MSG_M221_INVALID_EXTRUDER "M221 Extrus. invalida " +#define MSG_ERR_NO_THERMISTORS "Sem termistor - Sem temperatura" +#define MSG_M109_INVALID_EXTRUDER "M109 Extrus. invalida " +#define MSG_HEATING "Aquecendo" +#define MSG_HEATING_COMPLETE "Aquec. concluido" +#define MSG_BED_HEATING "Aquecimento cama" +#define MSG_BED_DONE "Aq. cama concl." +#define MSG_M115_REPORT "FIRMWARE_NAME:Marlin V1.0.2; Sprinter/grbl mashup for gen6 FIRMWARE_URL:" FIRMWARE_URL " PROTOCOL_VERSION:" PROTOCOL_VERSION " MACHINE_TYPE:" CUSTOM_MENDEL_NAME " EXTRUDER_COUNT:" STRINGIFY(EXTRUDERS) " UUID:" MACHINE_UUID "\n" +#define MSG_ERR_KILLED "Imp. parada. Chamada kill()!" +#define MSG_ERR_STOPPED "Imp. parou devido a erros. Corrija erro e use M999 para reiniciar. (Temperatura por defeito. Configure apos reinicio)" +#define MSG_RESEND "Reenvio: " +#define MSG_M119_REPORT "Indic. estado fim curso" +#define MSG_ENDSTOP_HIT "ACIONADO" +#define MSG_ENDSTOP_OPEN "aberto" + +#define MSG_SD_CANT_OPEN_SUBDIR "Impos. ver subdir" +#define MSG_SD_INIT_FAIL "Inic. SD falhou" +#define MSG_SD_VOL_INIT_FAIL "In. volume falhou" +#define MSG_SD_OPENROOT_FAIL "Abrir Root falhou" +#define MSG_SD_CARD_OK "Cartao SD ok" +#define MSG_SD_WORKDIR_FAIL "Abrir workDir falhou" +#define MSG_SD_OPEN_FILE_FAIL "Falha abrir, Fich: " +#define MSG_SD_FILE_OPENED "Fich. aberto: " +#define MSG_SD_FILE_SELECTED "Fich. selec." +#define MSG_SD_WRITE_TO_FILE "Escrita no fich: " +#define MSG_SD_PRINTING_BYTE "Escrev. byte no SD" +#define MSG_SD_NOT_PRINTING "SD sem impress." +#define MSG_SD_ERR_WRITE_TO_FILE "erro escrita para fich." +#define MSG_SD_CANT_ENTER_SUBDIR "Impos. abrir subdir: " + +#define MSG_STEPPER_TOO_HIGH "Taxa Steprate alta: " +#define MSG_ENDSTOPS_HIT "fim curso lig.: " +#define MSG_ERR_COLD_EXTRUDE_STOP "prevencao extrus. fria" +#define MSG_BABYSTEPPING_X "Micropassos X" +#define MSG_BABYSTEPPING_Y "Micropassos Y" +#define MSG_BABYSTEPPING_Z "Micropassos Z" +#define MSG_SERIAL_ERROR_MENU_STRUCTURE "Erro estrut. menus" + +#define MSG_LANGUAGE_NAME "Portugues" +#define MSG_LANGUAGE_SELECT "Selec. lingua" +#define MSG_PRUSA3D "prusa3d.com" +#define MSG_PRUSA3D_FORUM "forum.prusa3d.com" +#define MSG_PRUSA3D_HOWTO "howto.prusa3d.com" + +#define MSG_SELFTEST_ERROR "Erro teste inic.!" +#define MSG_SELFTEST_PLEASECHECK "Favor verificar :" +#define MSG_SELFTEST_NOTCONNECTED "Sem conexao" +#define MSG_SELFTEST_HEATERTHERMISTOR "Aquec./Termistor" +#define MSG_SELFTEST_BEDHEATER "Cama / Aquec." +#define MSG_SELFTEST_WIRINGERROR "Erro cablagem" +#define MSG_SELFTEST_ENDSTOPS "Fins de curso" +#define MSG_SELFTEST_MOTOR "Motor" +#define MSG_SELFTEST_ENDSTOP "Fim de curso" +#define MSG_SELFTEST_ENDSTOP_NOTHIT "Fim curso nao ativ." +#define MSG_SELFTEST_OK "Autoteste OK" +#define MSG_LOOSE_PULLEY "Folga correia" + +#define MSG_SELFTEST_FAN "Teste ventilador"; +#define MSG_SELFTEST_COOLING_FAN "Ventilador frontal?"; +#define MSG_SELFTEST_EXTRUDER_FAN "Ventilador esquerdo?"; +#define MSG_SELFTEST_FAN_YES "Com rotacao"; +#define MSG_SELFTEST_FAN_NO "Sem rotacao"; + +#define MSG_STATS_TOTALFILAMENT "Total filamento :" +#define MSG_STATS_TOTALPRINTTIME "Total tempo imp. :" +#define MSG_STATS_FILAMENTUSED "Filamento usado: " +#define MSG_STATS_PRINTTIME "Tempo impressao: " +#define MSG_SELFTEST_START "Autoteste " +#define MSG_SELFTEST_CHECK_ENDSTOPS "Verif. fim curso " +#define MSG_SELFTEST_CHECK_HOTEND "Verif. bloco aq. " +#define MSG_SELFTEST_CHECK_X "Verif. eixo X " +#define MSG_SELFTEST_CHECK_Y "Verif. eixo Y " +#define MSG_SELFTEST_CHECK_Z "Verif. eixo Z " +#define MSG_SELFTEST_CHECK_BED "Verif. cama" +#define MSG_SELFTEST_CHECK_ALLCORRECT "Tudo correto " +#define MSG_SELFTEST "Autoteste " +#define MSG_SELFTEST_FAILED "Autoteste falhou " +#define MSG_STATISTICS "Estatisticas " +#define MSG_USB_PRINTING "Impressao USB " +#define MSG_HOMEYZ "Calibracao Z" +#define MSG_HOMEYZ_PROGRESS "Calibrando Z" +#define MSG_HOMEYZ_DONE "Calibr. concluida" + +#define MSG_SHOW_END_STOPS "Mostra fins curso" +#define MSG_CALIBRATE_BED "Calibracao XYZ" +#define MSG_CALIBRATE_BED_RESET "Limpar calib. XYZ" + +#define MSG_MOVE_CARRIAGE_TO_THE_TOP "Calibrando XYZ. Rode o botao para mover o eixo Z para cima ate ao fim de curso. Clique quando concluir." +#define MSG_MOVE_CARRIAGE_TO_THE_TOP_Z "Calibrando Z. Rode o botao para mover o eixo Z para cima ate ao fim de curso. Clique quando concluir." + +#define MSG_CONFIRM_NOZZLE_CLEAN "Favor limpar o bico para calibracao. Clique quando concluir." +#define MSG_CONFIRM_CARRIAGE_AT_THE_TOP "Os suportes Z esquerdo e direito estao no topo?" + +#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 "Procura de pontos de calibracao na cama" +#define MSG_FIND_BED_OFFSET_AND_SKEW_LINE2 " de 4" +#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 "Melhorando pontos de calibracao na cama" +#define MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 " de 9" +#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE1 "Medindo altura de referencia de pontos de calibracao" +#define MSG_MEASURE_BED_REFERENCE_HEIGHT_LINE2 " de 9" +#define MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION "Iteracao " + +#define MSG_BED_SKEW_OFFSET_DETECTION_POINT_NOT_FOUND "Calibracao XYZ falhou. Ponto de calibracao na cama nao encontrado." +#define MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED "Calibracao XYZ falhou. Favor consultar o manual." +#define MSG_BED_SKEW_OFFSET_DETECTION_PERFECT "Calibracao XYZ ok. Eixos X/Y perpendiculares. Parabens!" +#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_MILD "Calibracao XYZ correta. Eixos X/Y ligeiramente descentrados. Bom trabalho!" +#define MSG_BED_SKEW_OFFSET_DETECTION_SKEW_EXTREME "Calibracao XYZ correta. Desvio vai ser corrigido automaticamente." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_LEFT_FAR "Calibracao XYZ falhou. Ponto frontal esquerdo nao acessivel." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_RIGHT_FAR "Calibracao XYZ falhou. Ponto frontal direito nao acessivel." +#define MSG_BED_SKEW_OFFSET_DETECTION_FAILED_FRONT_BOTH_FAR "Calibracao XYZ falhou. Pontos frontais nao acessiveis." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_LEFT_FAR "Calibracao XYZ comprometida. Ponto frontal esquerdo nao acessivel." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_RIGHT_FAR "Calibracao XYZ comprometida. Ponto frontal direito nao acessivel." +#define MSG_BED_SKEW_OFFSET_DETECTION_WARNING_FRONT_BOTH_FAR "Calibracao XYZ comprometida. Pontos frontais nao acessiveis." + +#define MSG_BED_LEVELING_FAILED_POINT_LOW "Nivelamento cama falhou. Sensor nao foi ativado. Sujidade no bico? Aguardando reset." +#define MSG_BED_LEVELING_FAILED_POINT_HIGH "Nivelamento cama falhou. Sensor foi ativado muito alto. Aguardando reset." +#define MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED "Nivelamento cama falhou. Sensor desligado ou cabo partido. Aguardando reset." + +#define MSG_NEW_FIRMWARE_AVAILABLE "Nova versao de firmware disponivel:" +#define MSG_NEW_FIRMWARE_PLEASE_UPGRADE "Por favor atualizar." + +#define MSG_FOLLOW_CALIBRATION_FLOW "Impressora ainda nao calibrada. Consultar manual para instrucoes, capitulo Primeiros passos, secao Fluxo de calibracao." +#define MSG_BABYSTEP_Z_NOT_SET "Distancia entre a ponta do bico e a cama ainda nao definida. Consultar o manual, capitulo Primeiros passos, secao Calibracao primeira camada." + +#define MSG_FILAMENT_LOADING_T0 "Inserir filamento na extrusora 1. Clique quando concluir." +#define MSG_FILAMENT_LOADING_T1 "Inserir filamento na extrusora 2. Clique quando concluir." +#define MSG_FILAMENT_LOADING_T2 "Inserir filamento na extrusora 3. Clique quando concluir." +#define MSG_FILAMENT_LOADING_T3 "Inserir filamento na extrusora 4. Clique quando concluir." +#define MSG_CHANGE_EXTR "Trocar extrusora" + +#define MSG_FIL_ADJUSTING "Ajustando filamentos. Favor aguardar." +#define MSG_CONFIRM_NOZZLE_CLEAN_FIL_ADJ "Filamentos ajustados. Por favor limpe o bico para calibracao. Clique quando concluir." +#define MSG_STACK_ERROR "Erro - memoria estatica foi sobreescrita" +#define MSG_CALIBRATE_E "Calibracao E" +//#define MSG_RESET_CALIBRATE_E "Reset Calibr. E" +#define MSG_E_CAL_KNOB "Rode o botao ate a marca atingir o corpo da extrusora. Clique quando concluir." + +//#define MSG_FARM_CARD_MENU "Impressao modo fabrica" +#define MSG_MARK_FIL "Marque o filamento a 100mm da extrusora. Clique quando concluir." +#define MSG_CLEAN_NOZZLE_E "Calibracao E terminada. Por favor limpe o bico. Clique quando concluir." +#define MSG_WAITING_TEMP "Aguardando arrefecimento bico e cama" +#define MSG_FILAMENT_CLEAN "A cor esta limpa?" +#define MSG_UNLOADING_FILAMENT "Descarga filamento" +#define MSG_PAPER "Coloque folha de papel debaixo do bico durante a calibracao dos primeiros 4 pontos. Se o Bico arrastar o papel, desligue a impressora de imediato." + +#define MSG_BED_CORRECTION_MENU "Nivel cama correto" +#define MSG_BED_CORRECTION_LEFT "Esquerda [um]" +#define MSG_BED_CORRECTION_RIGHT "Direita[um]" +#define MSG_BED_CORRECTION_FRONT "Frontal[um]" +#define MSG_BED_CORRECTION_REAR "Retaguarda [um]" +#define MSG_BED_CORRECTION_RESET "Reset" + +#define MSG_MESH_BED_LEVELING "Malha Nivel. Plataf." +#define MSG_MENU_CALIBRATION "Calibracao" +#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF "Cartao SD [normal]" +#define MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON "Cartao SD [FlshAir]" +#define MSG_PRINTER_DISCONNECTED "Impress. disconetada" +#define MSG_FINISHING_MOVEMENTS "Terminando movimento" +#define MSG_PRINT_PAUSED "Pausa impressao" +#define MSG_RESUMING_PRINT "Retomando impressao" +#define MSG_PID_EXTRUDER "Calibracao PID" +#define MSG_SET_TEMPERATURE "Def. temperatura:" +#define MSG_PID_FINISHED "Cal. PID terminada" +#define MSG_PID_RUNNING "Cal. PID " + +#define MSG_CALIBRATE_PINDA "Calibracao" +#define MSG_CALIBRATION_PINDA_MENU "Calibracao Temp." +#define MSG_PINDA_NOT_CALIBRATED "Calibracao Temperatura ainda nao executada" +#define MSG_PINDA_PREHEAT "Aquecimento PINDA" +#define MSG_TEMP_CALIBRATION "Calibr. Temp. " +#define MSG_TEMP_CALIBRATION_DONE "Calibracao temperatura terminada. Clique para continuar" +#define MSG_TEMP_CALIBRATION_ON "Cal. Temp. [Lig]" +#define MSG_TEMP_CALIBRATION_OFF "Cal. Temp. [Dslg]" + +#define MSG_PREPARE_FILAMENT "Prep. novo filamento" +#define MSG_ALL "Tudo" +#define MSG_USED "Usado na impressao" +#define MSG_CURRENT "Atual" +#define MSG_CHOOSE_EXTRUDER "Escolha extrusora:" +#define MSG_EXTRUDER "Extrusora" +#define MSG_EXTRUDER_1 "Extrusora 1" +#define MSG_EXTRUDER_2 "Extrusora 2" +#define MSG_EXTRUDER_3 "Extrusora 3" +#define MSG_EXTRUDER_4 "Extrusora 4" +#define MSG_DATE "Data:" +#define MSG_XYZ_DETAILS "Detalhes Cal. XYZ" +#define MSG_Y_DISTANCE_FROM_MIN "Distancia Y do min:" +#define MSG_LEFT "Esquerda:" +#define MSG_CENTER "Centro:" +#define MSG_RIGHT "Direita:" +#define MSG_MEASURED_SKEW "Desvio medido:" +#define MSG_SLIGHT_SKEW "Desv. ligeiro:" +#define MSG_SEVERE_SKEW "Desv. critico:" +#define MSG_DEFAULT_SETTINGS_LOADED "Valor padrao carreg." +#define MSG_SORT_TIME "Ordem: [Tempo]" +#define MSG_SORT_ALPHA "Ordem: [Alfabet.]" +#define MSG_SORT_NONE "Ordem: [Nenhum]" +#define MSG_SORTING "Ordenando ficheiros" +#define MSG_FILE_INCOMPLETE "Fich. incompleto. Continuar?" +#define MSG_WIZARD "Assistente" +#define MSG_WIZARD_WELCOME "Ola, Eu sou a impressora Prusa i3 Original. Gostaria que o guiasse pelo processo de definicoes?" +#define MSG_WIZARD_QUIT "Pode sempre retomar o Assistente pelo menu Calibracao -> Assistente." +#define MSG_WIZARD_SELFTEST "Inicialmente, irei executar o processo de Autoteste para verificar habituais problemas de montagem." +#define MSG_WIZARD_CALIBRATION_FAILED "Por favor consulte o nosso manual e corrija o problema. Depois retome o Assistente reiniciando a impressora." +#define MSG_WIZARD_XYZ_CAL "Vou executar a calibracao xyz agora. Vai demorar aprox. 12 minutos." +#define MSG_WIZARD_FILAMENT_LOADED "O filamento esta carregado?" +#define MSG_WIZARD_Z_CAL "Vou executar a calibracao Z agora." +#define MSG_WIZARD_WILL_PREHEAT "Vou pre-aquecer o bico para PLA." +#define MSG_WIZARD_HEATING "Pre-aquec. do bico. Por favor aguarde." +#define MSG_WIZARD_V2_CAL "Vou calibrar a distancia entre a ponta do bico e a cama." +#define MSG_WIZARD_V2_CAL_2 "Vou iniciar a impressao de uma linha e voce vai gradualmente baixar o bico rodando o botao, ate atingir a altura ideal. Consulte as imagens no nosso manual no capitulo Calibracao." +#define MSG_V2_CALIBRATION "Cal. 1.a camada." +#define MSG_WIZARD_DONE "Assistente concluido. Feliz impressao!" +#define MSG_WIZARD_LOAD_FILAMENT "Por favor insira filamento PLA na extrusora e clique para o carregar." +#define MSG_WIZARD_RERUN "Executar o Assistente vai apagar os atuais valores de calibracao e reiniciar o processo. Continuar?" +#define MSG_WIZARD_REPEAT_V2_CAL "Quer repetir o passo anterior para reajustar a distancia entre o bico e a cama?" +#define MSG_WIZARD_CLEAN_HEATBED "Por favor limpe a cama e clique no botao." +#define MSG_WIZARD_PLA_FILAMENT "Confirma filamento PLA?" +#define MSG_WIZARD_INSERT_CORRECT_FILAMENT "Por favor carregue filamento PLA e retome o Assistente reiniciando a impressora." +#define MSG_PLA_FILAMENT_LOADED "O filamento PLA esta carregado?" +#define MSG_PLEASE_LOAD_PLA "Por favor carregue filamento PLA." +#define MSG_FILE_CNT "Alguns ficheiros nao serao ordenados. Num. max. de ficheiros numa pasta para ordenar e 100."