Merge remote-tracking branch 'upstream/MK3' into temp_cal_coordinates_fix

This commit is contained in:
PavelSindler 2018-05-30 15:20:40 +02:00
commit 987f8969c0
22 changed files with 1880 additions and 15189 deletions

File diff suppressed because it is too large Load Diff

View File

@ -970,6 +970,35 @@ void erase_eeprom_section(uint16_t offset, uint16_t bytes)
for (int i = offset; i < (offset+bytes); i++) eeprom_write_byte((uint8_t*)i, 0xFF); for (int i = offset; i < (offset+bytes); i++) eeprom_write_byte((uint8_t*)i, 0xFF);
} }
#include "bootapp.h"
void __test()
{
cli();
boot_app_magic = 0x55aa55aa;
boot_app_flags = BOOT_APP_FLG_USER0;
boot_reserved = 0x00;
wdt_enable(WDTO_15MS);
while(1);
}
void upgrade_sec_lang_from_external_flash()
{
if ((boot_app_magic == 0x55aa55aa) && (boot_app_flags & BOOT_APP_FLG_USER0))
{
fprintf_P(lcdout, PSTR(ESC_2J ESC_H(1,1) "TEST %d"), boot_reserved);
boot_reserved++;
if (boot_reserved < 4)
{
_delay_ms(1000);
cli();
wdt_enable(WDTO_15MS);
while(1);
}
}
boot_app_flags &= ~BOOT_APP_FLG_USER0;
}
// "Setup" function is called by the Arduino framework on startup. // "Setup" function is called by the Arduino framework on startup.
// Before startup, the Timers-functions (PWM)/Analog RW and HardwareSerial provided by the Arduino-code // Before startup, the Timers-functions (PWM)/Analog RW and HardwareSerial provided by the Arduino-code
// are initialized by the main() routine provided by the Arduino framework. // are initialized by the main() routine provided by the Arduino framework.
@ -977,6 +1006,9 @@ void setup()
{ {
lcd_init(); lcd_init();
fdev_setup_stream(lcdout, lcd_putchar, NULL, _FDEV_SETUP_WRITE); //setup lcdout stream fdev_setup_stream(lcdout, lcd_putchar, NULL, _FDEV_SETUP_WRITE); //setup lcdout stream
// upgrade_sec_lang_from_external_flash();
lcd_splash(); lcd_splash();
setup_killpin(); setup_killpin();
setup_powerhold(); setup_powerhold();
@ -1250,7 +1282,7 @@ void setup()
} }
else else
printf_P(PSTR("Card NG!\n")); printf_P(PSTR("Card NG!\n"));
#endif DEBUG_SD_SPEED_TEST #endif //DEBUG_SD_SPEED_TEST
if (eeprom_read_byte((uint8_t*)EEPROM_POWER_COUNT) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_POWER_COUNT, 0); if (eeprom_read_byte((uint8_t*)EEPROM_POWER_COUNT) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_POWER_COUNT, 0);
if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_CRASH_COUNT_X, 0); if (eeprom_read_byte((uint8_t*)EEPROM_CRASH_COUNT_X) == 0xff) eeprom_write_byte((uint8_t*)EEPROM_CRASH_COUNT_X, 0);

32
Firmware/bootapp.c Normal file
View File

@ -0,0 +1,32 @@
//bootapp.c
#include "bootapp.h"
#include <avr/pgmspace.h>
#include <avr/wdt.h>
#include <avr/interrupt.h>
/*
void bootapp_print_vars()
{
printf_P(_n("boot_src_addr =0x%08lx\n"), boot_src_addr);
printf_P(_n("boot_dst_addr =0x%08lx\n"), boot_dst_addr);
printf_P(_n("boot_copy_size =0x%04x\n"), boot_copy_size);
printf_P(_n("boot_reserved =0x%02x\n"), boot_reserved);
printf_P(_n("boot_app_flags =0x%02x\n"), boot_app_flags);
printf_P(_n("boot_app_magic =0x%08lx\n"), boot_app_magic);
}
*/
void bootapp_ram2flash(uint16_t rptr, uint16_t fptr, uint16_t size)
{
cli();
// uint16_t ui; for (ui = 0; ui < size; ui++)
// ram_array[ui+rptr] = 0xff;
boot_app_magic = 0x55aa55aa;
boot_app_flags = BOOT_APP_FLG_ERASE | BOOT_APP_FLG_COPY;
boot_copy_size = (uint16_t)size;
boot_src_addr = (uint32_t)rptr;
boot_dst_addr = (uint32_t)fptr;
wdt_enable(WDTO_15MS);
while(1);
}

36
Firmware/bootapp.h Normal file
View File

@ -0,0 +1,36 @@
//language.h
#ifndef BOOTAPP_H
#define BOOTAPP_H
#include "config.h"
#include <inttypes.h>
#define RAMSIZE 0x2000
#define ram_array ((uint8_t*)(0))
#define boot_src_addr (*((uint32_t*)(RAMSIZE - 16)))
#define boot_dst_addr (*((uint32_t*)(RAMSIZE - 12)))
#define boot_copy_size (*((uint16_t*)(RAMSIZE - 8)))
#define boot_reserved (*((uint8_t*)(RAMSIZE - 6)))
#define boot_app_flags (*((uint8_t*)(RAMSIZE - 5)))
#define boot_app_magic (*((uint32_t*)(RAMSIZE - 4)))
#define BOOT_APP_FLG_ERASE 0x01
#define BOOT_APP_FLG_COPY 0x02
#define BOOT_APP_FLG_FLASH 0x04
#define BOOT_APP_FLG_USER0 0x80
#if defined(__cplusplus)
extern "C" {
#endif //defined(__cplusplus)
extern void bootapp_ram2flash(uint16_t rptr, uint16_t fptr, uint16_t size);
#if defined(__cplusplus)
}
#endif //defined(__cplusplus)
#endif //BOOTAPP_H

View File

@ -133,7 +133,7 @@ private:
#ifdef DEBUG_SD_SPEED_TEST #ifdef DEBUG_SD_SPEED_TEST
public: public:
#endif DEBUG_SD_SPEED_TEST #endif //DEBUG_SD_SPEED_TEST
Sd2Card card; Sd2Card card;
private: private:

View File

@ -2,6 +2,7 @@
#include "language.h" #include "language.h"
#include <inttypes.h> #include <inttypes.h>
#include <avr/pgmspace.h> #include <avr/pgmspace.h>
#include "bootapp.h"
// Currectly active language selection. // Currectly active language selection.
@ -93,3 +94,4 @@ const char* lang_get_name(unsigned char lang)
} }
const char MSG_LANGUAGE_NAME[] PROGMEM_I1 = ISTR("English"); ////c=0 r=0 const char MSG_LANGUAGE_NAME[] PROGMEM_I1 = ISTR("English"); ////c=0 r=0

View File

@ -35,7 +35,7 @@
#define _T(s) s #define _T(s) s
#else //(LANG_MODE == 0) #else //(LANG_MODE == 0)
#define _I(s) (__extension__({static const char __c[] PROGMEM_I1 = "\xff\xff"s; &__c[0];})) #define _I(s) (__extension__({static const char __c[] PROGMEM_I1 = "\xff\xff"s; &__c[0];}))
#define ISTR(s) "\xff\xff"s #define ISTR(s) "\xff\xff" s
#define _i(s) lang_get_translation(_I(s)) #define _i(s) lang_get_translation(_I(s))
#define _T(s) lang_get_translation(s) #define _T(s) lang_get_translation(s)
#endif //(LANG_MODE == 0) #endif //(LANG_MODE == 0)
@ -76,6 +76,7 @@ extern const char* lang_select(unsigned char lang);
extern unsigned char lang_get_count(); extern unsigned char lang_get_count();
extern const char* lang_get_name(unsigned char lang); extern const char* lang_get_name(unsigned char lang);
#if defined(__cplusplus) #if defined(__cplusplus)
} }
#endif //defined(__cplusplus) #endif //defined(__cplusplus)
@ -88,5 +89,5 @@ extern const char MSG_LANGUAGE_NAME[];
#include "messages.h" #include "messages.h"
#endif //__LANGUAGE_H #endif //LANGUAGE_H

View File

@ -3610,7 +3610,7 @@ static void lcd_crash_mode_info()
static uint32_t tim = 0; static uint32_t tim = 0;
if ((tim + 1000) < millis()) if ((tim + 1000) < millis())
{ {
fputs_P(_i("Crash detection canbe turned on only inNormal mode"), lcdout);////MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4 fputs_P(_i("\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"), lcdout);////MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4
tim = millis(); tim = millis();
} }
if (lcd_clicked()) if (lcd_clicked())
@ -3623,7 +3623,7 @@ static void lcd_crash_mode_info2()
static uint32_t tim = 0; static uint32_t tim = 0;
if ((tim + 1000) < millis()) if ((tim + 1000) < millis())
{ {
fputs_P(_i("WARNING:Crash detectiondisabled inStealth mode"), lcdout);////MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4 fputs_P(_i("\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"), lcdout);////MSG_CRASH_DET_STEALTH_FORCE_OFF c=20 r=4
tim = millis(); tim = millis();
} }
if (lcd_clicked()) if (lcd_clicked())
@ -5995,9 +5995,9 @@ static void lcd_control_temperature_menu()
MENU_ITEM_EDIT(int3, _T(MSG_FAN_SPEED), &fanSpeed, 0, 255); MENU_ITEM_EDIT(int3, _T(MSG_FAN_SPEED), &fanSpeed, 0, 255);
#if defined AUTOTEMP && (TEMP_SENSOR_0 != 0) #if defined AUTOTEMP && (TEMP_SENSOR_0 != 0)
MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &autotemp_enabled); MENU_ITEM_EDIT(bool, MSG_AUTOTEMP, &autotemp_enabled);
MENU_ITEM_EDIT(float3, _i(" MENU_ITEM_EDIT(float3, MSG_MIN, &autotemp_min, 0, HEATER_0_MAXTEMP - 10);02 Min"), &autotemp_min, 0, HEATER_0_MAXTEMP - 10);////MSG_MIN c=0 r=0 MENU_ITEM_EDIT(float3, _i(" \002 Min"), &autotemp_min, 0, HEATER_0_MAXTEMP - 10);////MSG_MIN c=0 r=0
MENU_ITEM_EDIT(float3, _i(" MENU_ITEM_EDIT(float3, MSG_MAX, &autotemp_max, 0, HEATER_0_MAXTEMP - 10);02 Max"), &autotemp_max, 0, HEATER_0_MAXTEMP - 10);////MSG_MAX c=0 r=0 MENU_ITEM_EDIT(float3, _i(" \002 Max"), &autotemp_max, 0, HEATER_0_MAXTEMP - 10);////MSG_MAX c=0 r=0
MENU_ITEM_EDIT(float32, _i(" MENU_ITEM_EDIT(float32, MSG_FACTOR, &autotemp_factor, 0.0, 1.0);02 Fact"), &autotemp_factor, 0.0, 1.0);////MSG_FACTOR c=0 r=0 MENU_ITEM_EDIT(float32, _i(" \002 Fact"), &autotemp_factor, 0.0, 1.0);////MSG_FACTOR c=0 r=0
#endif #endif
END_MENU(); END_MENU();

View File

@ -436,7 +436,7 @@
#MSG_PRUSA3D_FORUM c=0 r=0 #MSG_PRUSA3D_FORUM c=0 r=0
"forum.prusa3d.com" "forum.prusa3d.com"
"\x00" "forum.prusa3d.com"
#MSG_SELFTEST_COOLING_FAN c=20 r=0 #MSG_SELFTEST_COOLING_FAN c=20 r=0
"Front print fan?" "Front print fan?"
@ -472,7 +472,7 @@
#MSG_PRUSA3D_HOWTO c=0 r=0 #MSG_PRUSA3D_HOWTO c=0 r=0
"howto.prusa3d.com" "howto.prusa3d.com"
"\x00" "howto.prusa3d.com"
#MSG_CHANGE_EXTR c=20 r=1 #MSG_CHANGE_EXTR c=20 r=1
"Change extruder" "Change extruder"
@ -972,7 +972,7 @@
#MSG_PRUSA3D c=0 r=0 #MSG_PRUSA3D c=0 r=0
"prusa3d.com" "prusa3d.com"
"\x00" "prusa3d.com"
#MSG_BED_CORRECTION_REAR c=14 r=1 #MSG_BED_CORRECTION_REAR c=14 r=1
"Rear side [um]" "Rear side [um]"

File diff suppressed because it is too large Load Diff

View File

@ -290,6 +290,10 @@
"Endstops" "Endstops"
"Topes finales" "Topes finales"
#MSG_LANGUAGE_NAME c=0 r=0
"English"
"Espanol"
#MSG_Enqueing c=0 r=0 #MSG_Enqueing c=0 r=0
"enqueing \x22" "enqueing \x22"
"enqueing \x22" "enqueing \x22"

View File

@ -290,6 +290,10 @@
"Endstops" "Endstops"
"Finecorsa (2)" "Finecorsa (2)"
#MSG_LANGUAGE_NAME c=0 r=0
"English"
"Italiano"
#MSG_Enqueing c=0 r=0 #MSG_Enqueing c=0 r=0
"enqueing \x22" "enqueing \x22"
"enqueing \x22" "enqueing \x22"

View File

@ -290,6 +290,10 @@
"Endstops" "Endstops"
"Endstops" "Endstops"
#MSG_LANGUAGE_NAME c=0 r=0
"English"
"Polski"
#MSG_Enqueing c=0 r=0 #MSG_Enqueing c=0 r=0
"enqueing \x22" "enqueing \x22"
"enqueing \x22" "enqueing \x22"

28
lang/po/lang_cz.po Normal file
View File

@ -0,0 +1,28 @@
# Translation into Czech.
#
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ultralcd.cpp:6304
msgid " [off"
msgstr ""
#: ultralcd.cpp:2362
msgid "[0;0] point offset"
msgstr ""
#: ultralcd.cpp:4213
msgid "E-correct"
msgstr ""
#: ultralcd.cpp:607
msgid "Printer disconnected"
msgstr ""
#: Marlin_main.cpp:3504
msgid "Stable ambient temperature 21-26C is needed a rigid stand is required."
msgstr ""

292
lang/po/lang_de.po Normal file
View File

@ -0,0 +1,292 @@
# Translation into German.
#
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ultralcd.cpp:6312
msgid " [off"
msgstr ""
#: ultralcd.cpp:2362
msgid "[0;0] point offset"
msgstr ""
#: ultralcd.cpp:3613
msgid "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
msgstr ""
#: ultralcd.cpp:3626
msgid "\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"
msgstr ""
#: ultralcd.cpp:5803
msgid "AutoLoad filament"
msgstr ""
#: ultralcd.cpp:3642
msgid "Autoloading filament available only when filament sensor is turned on..."
msgstr ""
#: ultralcd.cpp:2089
msgid "Autoloading filament is active, just press the knob and insert filament..."
msgstr ""
#: ultralcd.cpp:7007
msgid "Axis length"
msgstr ""
#: ultralcd.cpp:7009
msgid "Axis"
msgstr ""
#: ultralcd.cpp:1738
msgid "Belt status"
msgstr ""
#: messages.c:72
msgid "Blackout occurred. Recover print?"
msgstr ""
#: messages.c:28
msgid "Crash det. [on]"
msgstr ""
#: messages.c:26
msgid "Crash det. [N/A]"
msgstr ""
#: messages.c:27
msgid "Crash det. [off]"
msgstr ""
#: messages.c:25
msgid "Crash detected."
msgstr ""
#: ultralcd.cpp:4213
msgid "E-correct"
msgstr ""
#: ultralcd.cpp:5843
msgid "Error - static memory has been overwritten"
msgstr ""
#: ultralcd.cpp:3656
msgid "ERROR: Filament sensor is not responding, please check connection."
msgstr ""
#: ultralcd.cpp:7244
msgid "Extruder fan:"
msgstr ""
#: ultralcd.cpp:1840
msgid "Extruder info"
msgstr ""
#: ultralcd.cpp:4178
msgid "F. autoload [on]"
msgstr ""
#: messages.c:47
msgid "F. autoload [N/A]"
msgstr ""
#: ultralcd.cpp:4181
msgid "F. autoload [off]"
msgstr ""
#: ultralcd.cpp:4189
msgid "Fans check [on]"
msgstr ""
#: ultralcd.cpp:4192
msgid "Fans check [off]"
msgstr ""
#: messages.c:49
msgid "Fil. sensor [on]"
msgstr ""
#: ultralcd.cpp:4164
msgid "Fil. sensor [N/A]"
msgstr ""
#: messages.c:48
msgid "Fil. sensor [off]"
msgstr ""
#: ultralcd.cpp:7023
msgid "Filament sensor"
msgstr ""
#: ultralcd.cpp:7253
msgid "Filament sensor:"
msgstr ""
#: ultralcd.cpp:7396
msgid "File incomplete. Continue anyway?"
msgstr ""
#: ultralcd.cpp:7015
msgid "Front/left fans"
msgstr ""
#: Marlin_main.cpp:7222
msgid "Heating disabled by safety timer."
msgstr ""
#: messages.c:85
msgid "Checking sensors "
msgstr ""
#: messages.c:93
msgid "Is steel sheet on heatbed?"
msgstr ""
#: messages.c:91
msgid "Mode [Normal]"
msgstr ""
#: messages.c:92
msgid "Mode [Stealth]"
msgstr ""
#: messages.c:13
msgid "Mode [auto power]"
msgstr ""
#: ultralcd.cpp:1537
msgid "Nozzle FAN:"
msgstr ""
#: Marlin_main.cpp:1396
msgid "Old settings found. Default PID, Esteps etc. will be set."
msgstr ""
#: Marlin_main.cpp:6156
msgid "Please open idler and remove filament manually."
msgstr ""
#: messages.c:65
msgid "Please place steel sheet on heatbed."
msgstr ""
#: messages.c:69
msgid "Please press the knob to unload filament"
msgstr ""
#: messages.c:71
msgid "Please pull out filament immediately"
msgstr ""
#: messages.c:74
msgid "Please remove steel sheet from heatbed."
msgstr ""
#: Marlin_main.cpp:6015
msgid "Press knob to preheat nozzle and continue."
msgstr ""
#: ultralcd.cpp:1549
msgid "Print FAN: "
msgstr ""
#: ultralcd.cpp:7247
msgid "Print fan:"
msgstr ""
#: ultralcd.cpp:607
msgid "Printer disconnected"
msgstr ""
#: Marlin_main.cpp:8279
msgid "Recovering print "
msgstr ""
#: ultralcd.cpp:4227
msgid "RPi port [on]"
msgstr ""
#: ultralcd.cpp:4224
msgid "RPi port [off]"
msgstr ""
#: Marlin_main.cpp:1428
msgid "Selftest will be run to calibrate accurate sensorless rehoming."
msgstr ""
#: cardreader.cpp:754
msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
msgstr ""
#: ultralcd.cpp:4250
msgid "Sort: [None]"
msgstr ""
#: ultralcd.cpp:4248
msgid "Sort: [Time]"
msgstr ""
#: ultralcd.cpp:4249
msgid "Sort: [Alphabet]"
msgstr ""
#: cardreader.cpp:761
msgid "Sorting files"
msgstr ""
#: Marlin_main.cpp:3536
msgid "Stable ambient temperature 21-26C is needed a rigid stand is required."
msgstr ""
#: ultralcd.cpp:7017
msgid "Swapped"
msgstr ""
#: ultralcd.cpp:3189
msgid "Temperature calibration failed"
msgstr ""
#: ultralcd.cpp:1846
msgid "Temperatures"
msgstr ""
#: ultralcd.cpp:1849
msgid "Voltages"
msgstr ""
#: ultralcd.cpp:2683
msgid "Waiting for PINDA probe cooling"
msgstr ""
#: Marlin_main.cpp:1388
msgid "Warning: both printer type and motherboard type changed."
msgstr ""
#: Marlin_main.cpp:1380
msgid "Warning: motherboard type changed."
msgstr ""
#: Marlin_main.cpp:1384
msgid "Warning: printer type changed."
msgstr ""
#: Marlin_main.cpp:946
msgid "WARNING: This is an unofficial, unsupported build. Use at your own risk!"
msgstr ""
#: Marlin_main.cpp:6155
msgid "Was filament unload successful?"
msgstr ""
#: Marlin_main.cpp:930
msgid "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage."
msgstr ""
#: Marlin_main.cpp:931
msgid "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage."
msgstr ""

324
lang/po/lang_es.po Normal file
View File

@ -0,0 +1,324 @@
# Translation into Spanish.
#
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ultralcd.cpp:6304
msgid " [off"
msgstr ""
#: ultralcd.cpp:2362
msgid "[0;0] point offset"
msgstr ""
#: ultralcd.cpp:3613
msgid "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
msgstr ""
#: ultralcd.cpp:3626
msgid "\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"
msgstr ""
#: ultralcd.cpp:5796
msgid "AutoLoad filament"
msgstr ""
#: ultralcd.cpp:3642
msgid "Autoloading filament available only when filament sensor is turned on..."
msgstr ""
#: ultralcd.cpp:2089
msgid "Autoloading filament is active, just press the knob and insert filament..."
msgstr ""
#: ultralcd.cpp:6999
msgid "Axis length"
msgstr ""
#: ultralcd.cpp:7001
msgid "Axis"
msgstr ""
#: ultralcd.cpp:1738
msgid "Belt status"
msgstr ""
#: messages.c:72
msgid "Blackout occurred. Recover print?"
msgstr ""
#: messages.c:28
msgid "Crash det. [on]"
msgstr ""
#: messages.c:26
msgid "Crash det. [N/A]"
msgstr ""
#: messages.c:27
msgid "Crash det. [off]"
msgstr ""
#: messages.c:25
msgid "Crash detected."
msgstr ""
#: ultralcd.cpp:1828
msgid "Date:"
msgstr ""
#: ultralcd.cpp:4213
msgid "E-correct"
msgstr ""
#: ultralcd.cpp:5835
msgid "Error - static memory has been overwritten"
msgstr ""
#: ultralcd.cpp:3656
msgid "ERROR: Filament sensor is not responding, please check connection."
msgstr ""
#: ultralcd.cpp:7236
msgid "Extruder fan:"
msgstr ""
#: ultralcd.cpp:1840
msgid "Extruder info"
msgstr ""
#: ultralcd.cpp:4178
msgid "F. autoload [on]"
msgstr ""
#: messages.c:47
msgid "F. autoload [N/A]"
msgstr ""
#: ultralcd.cpp:4181
msgid "F. autoload [off]"
msgstr ""
#: ultralcd.cpp:4189
msgid "Fans check [on]"
msgstr ""
#: ultralcd.cpp:4192
msgid "Fans check [off]"
msgstr ""
#: messages.c:49
msgid "Fil. sensor [on]"
msgstr ""
#: ultralcd.cpp:4164
msgid "Fil. sensor [N/A]"
msgstr ""
#: messages.c:48
msgid "Fil. sensor [off]"
msgstr ""
#: ultralcd.cpp:7015
msgid "Filament sensor"
msgstr ""
#: ultralcd.cpp:7245
msgid "Filament sensor:"
msgstr ""
#: ultralcd.cpp:7388
msgid "File incomplete. Continue anyway?"
msgstr ""
#: ultralcd.cpp:7007
msgid "Front/left fans"
msgstr ""
#: Marlin_main.cpp:7190
msgid "Heating disabled by safety timer."
msgstr ""
#: messages.c:85
msgid "Checking sensors "
msgstr ""
#: messages.c:93
msgid "Is steel sheet on heatbed?"
msgstr ""
#: ultralcd.cpp:2308
msgid "Left:"
msgstr ""
#: ultralcd.cpp:2335
msgid "Measured skew:"
msgstr ""
#: messages.c:91
msgid "Mode [Normal]"
msgstr ""
#: messages.c:92
msgid "Mode [Stealth]"
msgstr ""
#: messages.c:13
msgid "Mode [auto power]"
msgstr ""
#: ultralcd.cpp:1537
msgid "Nozzle FAN:"
msgstr ""
#: Marlin_main.cpp:1364
msgid "Old settings found. Default PID, Esteps etc. will be set."
msgstr ""
#: Marlin_main.cpp:6124
msgid "Please open idler and remove filament manually."
msgstr ""
#: messages.c:65
msgid "Please place steel sheet on heatbed."
msgstr ""
#: messages.c:69
msgid "Please press the knob to unload filament"
msgstr ""
#: messages.c:71
msgid "Please pull out filament immediately"
msgstr ""
#: messages.c:74
msgid "Please remove steel sheet from heatbed."
msgstr ""
#: Marlin_main.cpp:5983
msgid "Press knob to preheat nozzle and continue."
msgstr ""
#: ultralcd.cpp:1549
msgid "Print FAN: "
msgstr ""
#: ultralcd.cpp:7239
msgid "Print fan:"
msgstr ""
#: ultralcd.cpp:607
msgid "Printer disconnected"
msgstr ""
#: Marlin_main.cpp:8247
msgid "Recovering print "
msgstr ""
#: ultralcd.cpp:2309
msgid "Right:"
msgstr ""
#: ultralcd.cpp:4227
msgid "RPi port [on]"
msgstr ""
#: ultralcd.cpp:4224
msgid "RPi port [off]"
msgstr ""
#: Marlin_main.cpp:1396
msgid "Selftest will be run to calibrate accurate sensorless rehoming."
msgstr ""
#: ultralcd.cpp:2346
msgid "Severe skew:"
msgstr ""
#: ultralcd.cpp:2342
msgid "Slight skew:"
msgstr ""
#: cardreader.cpp:754
msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
msgstr ""
#: ultralcd.cpp:4250
msgid "Sort: [None]"
msgstr ""
#: ultralcd.cpp:4248
msgid "Sort: [Time]"
msgstr ""
#: ultralcd.cpp:4249
msgid "Sort: [Alphabet]"
msgstr ""
#: cardreader.cpp:761
msgid "Sorting files"
msgstr ""
#: Marlin_main.cpp:3504
msgid "Stable ambient temperature 21-26C is needed a rigid stand is required."
msgstr ""
#: ultralcd.cpp:7009
msgid "Swapped"
msgstr ""
#: ultralcd.cpp:3189
msgid "Temperature calibration failed"
msgstr ""
#: ultralcd.cpp:1846
msgid "Temperatures"
msgstr ""
#: ultralcd.cpp:1849
msgid "Voltages"
msgstr ""
#: ultralcd.cpp:2683
msgid "Waiting for PINDA probe cooling"
msgstr ""
#: Marlin_main.cpp:1356
msgid "Warning: both printer type and motherboard type changed."
msgstr ""
#: Marlin_main.cpp:1348
msgid "Warning: motherboard type changed."
msgstr ""
#: Marlin_main.cpp:1352
msgid "Warning: printer type changed."
msgstr ""
#: Marlin_main.cpp:946
msgid "WARNING: This is an unofficial, unsupported build. Use at your own risk!"
msgstr ""
#: Marlin_main.cpp:6123
msgid "Was filament unload successful?"
msgstr ""
#: ultralcd.cpp:1839
msgid "XYZ cal. details"
msgstr ""
#: ultralcd.cpp:2306
msgid "Y distance from min:"
msgstr ""
#: Marlin_main.cpp:930
msgid "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage."
msgstr ""
#: Marlin_main.cpp:931
msgid "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage."
msgstr ""

304
lang/po/lang_it.po Normal file
View File

@ -0,0 +1,304 @@
# Translation into Italian.
#
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ultralcd.cpp:6304
msgid " [off"
msgstr ""
#: ultralcd.cpp:6000
msgid " \002 Fact"
msgstr ""
#: ultralcd.cpp:5999
msgid " \002 Max"
msgstr ""
#: ultralcd.cpp:5998
msgid " \002 Min"
msgstr ""
#: ultralcd.cpp:2362
msgid "[0;0] point offset"
msgstr ""
#: ultralcd.cpp:3613
msgid "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
msgstr ""
#: ultralcd.cpp:3626
msgid "\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"
msgstr ""
#: ultralcd.cpp:5796
msgid "AutoLoad filament"
msgstr ""
#: ultralcd.cpp:3642
msgid "Autoloading filament available only when filament sensor is turned on..."
msgstr ""
#: ultralcd.cpp:2089
msgid "Autoloading filament is active, just press the knob and insert filament..."
msgstr ""
#: ultralcd.cpp:6999
msgid "Axis length"
msgstr ""
#: ultralcd.cpp:7001
msgid "Axis"
msgstr ""
#: ultralcd.cpp:1738
msgid "Belt status"
msgstr ""
#: messages.c:72
msgid "Blackout occurred. Recover print?"
msgstr ""
#: messages.c:28
msgid "Crash det. [on]"
msgstr ""
#: messages.c:26
msgid "Crash det. [N/A]"
msgstr ""
#: messages.c:27
msgid "Crash det. [off]"
msgstr ""
#: messages.c:25
msgid "Crash detected."
msgstr ""
#: ultralcd.cpp:4213
msgid "E-correct"
msgstr ""
#: ultralcd.cpp:5835
msgid "Error - static memory has been overwritten"
msgstr ""
#: ultralcd.cpp:3656
msgid "ERROR: Filament sensor is not responding, please check connection."
msgstr ""
#: ultralcd.cpp:7236
msgid "Extruder fan:"
msgstr ""
#: ultralcd.cpp:1840
msgid "Extruder info"
msgstr ""
#: ultralcd.cpp:4178
msgid "F. autoload [on]"
msgstr ""
#: messages.c:47
msgid "F. autoload [N/A]"
msgstr ""
#: ultralcd.cpp:4181
msgid "F. autoload [off]"
msgstr ""
#: ultralcd.cpp:4189
msgid "Fans check [on]"
msgstr ""
#: ultralcd.cpp:4192
msgid "Fans check [off]"
msgstr ""
#: messages.c:49
msgid "Fil. sensor [on]"
msgstr ""
#: ultralcd.cpp:4164
msgid "Fil. sensor [N/A]"
msgstr ""
#: messages.c:48
msgid "Fil. sensor [off]"
msgstr ""
#: ultralcd.cpp:7015
msgid "Filament sensor"
msgstr ""
#: ultralcd.cpp:7245
msgid "Filament sensor:"
msgstr ""
#: ultralcd.cpp:7388
msgid "File incomplete. Continue anyway?"
msgstr ""
#: ultralcd.cpp:7007
msgid "Front/left fans"
msgstr ""
#: Marlin_main.cpp:7190
msgid "Heating disabled by safety timer."
msgstr ""
#: messages.c:85
msgid "Checking sensors "
msgstr ""
#: messages.c:93
msgid "Is steel sheet on heatbed?"
msgstr ""
#: messages.c:91
msgid "Mode [Normal]"
msgstr ""
#: messages.c:92
msgid "Mode [Stealth]"
msgstr ""
#: messages.c:13
msgid "Mode [auto power]"
msgstr ""
#: ultralcd.cpp:1537
msgid "Nozzle FAN:"
msgstr ""
#: Marlin_main.cpp:1364
msgid "Old settings found. Default PID, Esteps etc. will be set."
msgstr ""
#: Marlin_main.cpp:6124
msgid "Please open idler and remove filament manually."
msgstr ""
#: messages.c:65
msgid "Please place steel sheet on heatbed."
msgstr ""
#: messages.c:69
msgid "Please press the knob to unload filament"
msgstr ""
#: messages.c:71
msgid "Please pull out filament immediately"
msgstr ""
#: messages.c:74
msgid "Please remove steel sheet from heatbed."
msgstr ""
#: Marlin_main.cpp:5983
msgid "Press knob to preheat nozzle and continue."
msgstr ""
#: ultralcd.cpp:1549
msgid "Print FAN: "
msgstr ""
#: ultralcd.cpp:7239
msgid "Print fan:"
msgstr ""
#: ultralcd.cpp:607
msgid "Printer disconnected"
msgstr ""
#: Marlin_main.cpp:8247
msgid "Recovering print "
msgstr ""
#: ultralcd.cpp:4227
msgid "RPi port [on]"
msgstr ""
#: ultralcd.cpp:4224
msgid "RPi port [off]"
msgstr ""
#: Marlin_main.cpp:1396
msgid "Selftest will be run to calibrate accurate sensorless rehoming."
msgstr ""
#: cardreader.cpp:754
msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
msgstr ""
#: ultralcd.cpp:4250
msgid "Sort: [None]"
msgstr ""
#: ultralcd.cpp:4248
msgid "Sort: [Time]"
msgstr ""
#: ultralcd.cpp:4249
msgid "Sort: [Alphabet]"
msgstr ""
#: cardreader.cpp:761
msgid "Sorting files"
msgstr ""
#: Marlin_main.cpp:3504
msgid "Stable ambient temperature 21-26C is needed a rigid stand is required."
msgstr ""
#: ultralcd.cpp:7009
msgid "Swapped"
msgstr ""
#: ultralcd.cpp:3189
msgid "Temperature calibration failed"
msgstr ""
#: ultralcd.cpp:1846
msgid "Temperatures"
msgstr ""
#: ultralcd.cpp:1849
msgid "Voltages"
msgstr ""
#: ultralcd.cpp:2683
msgid "Waiting for PINDA probe cooling"
msgstr ""
#: Marlin_main.cpp:1356
msgid "Warning: both printer type and motherboard type changed."
msgstr ""
#: Marlin_main.cpp:1348
msgid "Warning: motherboard type changed."
msgstr ""
#: Marlin_main.cpp:1352
msgid "Warning: printer type changed."
msgstr ""
#: Marlin_main.cpp:946
msgid "WARNING: This is an unofficial, unsupported build. Use at your own risk!"
msgstr ""
#: Marlin_main.cpp:6123
msgid "Was filament unload successful?"
msgstr ""
#: Marlin_main.cpp:930
msgid "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage."
msgstr ""
#: Marlin_main.cpp:931
msgid "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage."
msgstr ""

292
lang/po/lang_pl.po Normal file
View File

@ -0,0 +1,292 @@
# Translation into Polish.
#
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ultralcd.cpp:6304
msgid " [off"
msgstr ""
#: ultralcd.cpp:2362
msgid "[0;0] point offset"
msgstr ""
#: ultralcd.cpp:3613
msgid "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
msgstr ""
#: ultralcd.cpp:3626
msgid "\x1b[2JWARNING:\x1b[1;0HCrash detection\x1b[2;0Hdisabled in\x1b[3;0HStealth mode"
msgstr ""
#: ultralcd.cpp:5796
msgid "AutoLoad filament"
msgstr ""
#: ultralcd.cpp:3642
msgid "Autoloading filament available only when filament sensor is turned on..."
msgstr ""
#: ultralcd.cpp:2089
msgid "Autoloading filament is active, just press the knob and insert filament..."
msgstr ""
#: ultralcd.cpp:6999
msgid "Axis length"
msgstr ""
#: ultralcd.cpp:7001
msgid "Axis"
msgstr ""
#: ultralcd.cpp:1738
msgid "Belt status"
msgstr ""
#: messages.c:72
msgid "Blackout occurred. Recover print?"
msgstr ""
#: messages.c:28
msgid "Crash det. [on]"
msgstr ""
#: messages.c:26
msgid "Crash det. [N/A]"
msgstr ""
#: messages.c:27
msgid "Crash det. [off]"
msgstr ""
#: messages.c:25
msgid "Crash detected."
msgstr ""
#: ultralcd.cpp:4213
msgid "E-correct"
msgstr ""
#: ultralcd.cpp:5835
msgid "Error - static memory has been overwritten"
msgstr ""
#: ultralcd.cpp:3656
msgid "ERROR: Filament sensor is not responding, please check connection."
msgstr ""
#: ultralcd.cpp:7236
msgid "Extruder fan:"
msgstr ""
#: ultralcd.cpp:1840
msgid "Extruder info"
msgstr ""
#: ultralcd.cpp:4178
msgid "F. autoload [on]"
msgstr ""
#: messages.c:47
msgid "F. autoload [N/A]"
msgstr ""
#: ultralcd.cpp:4181
msgid "F. autoload [off]"
msgstr ""
#: ultralcd.cpp:4189
msgid "Fans check [on]"
msgstr ""
#: ultralcd.cpp:4192
msgid "Fans check [off]"
msgstr ""
#: messages.c:49
msgid "Fil. sensor [on]"
msgstr ""
#: ultralcd.cpp:4164
msgid "Fil. sensor [N/A]"
msgstr ""
#: messages.c:48
msgid "Fil. sensor [off]"
msgstr ""
#: ultralcd.cpp:7015
msgid "Filament sensor"
msgstr ""
#: ultralcd.cpp:7245
msgid "Filament sensor:"
msgstr ""
#: ultralcd.cpp:7388
msgid "File incomplete. Continue anyway?"
msgstr ""
#: ultralcd.cpp:7007
msgid "Front/left fans"
msgstr ""
#: Marlin_main.cpp:7190
msgid "Heating disabled by safety timer."
msgstr ""
#: messages.c:85
msgid "Checking sensors "
msgstr ""
#: messages.c:93
msgid "Is steel sheet on heatbed?"
msgstr ""
#: messages.c:91
msgid "Mode [Normal]"
msgstr ""
#: messages.c:92
msgid "Mode [Stealth]"
msgstr ""
#: messages.c:13
msgid "Mode [auto power]"
msgstr ""
#: ultralcd.cpp:1537
msgid "Nozzle FAN:"
msgstr ""
#: Marlin_main.cpp:1364
msgid "Old settings found. Default PID, Esteps etc. will be set."
msgstr ""
#: Marlin_main.cpp:6124
msgid "Please open idler and remove filament manually."
msgstr ""
#: messages.c:65
msgid "Please place steel sheet on heatbed."
msgstr ""
#: messages.c:69
msgid "Please press the knob to unload filament"
msgstr ""
#: messages.c:71
msgid "Please pull out filament immediately"
msgstr ""
#: messages.c:74
msgid "Please remove steel sheet from heatbed."
msgstr ""
#: Marlin_main.cpp:5983
msgid "Press knob to preheat nozzle and continue."
msgstr ""
#: ultralcd.cpp:1549
msgid "Print FAN: "
msgstr ""
#: ultralcd.cpp:7239
msgid "Print fan:"
msgstr ""
#: ultralcd.cpp:607
msgid "Printer disconnected"
msgstr ""
#: Marlin_main.cpp:8247
msgid "Recovering print "
msgstr ""
#: ultralcd.cpp:4227
msgid "RPi port [on]"
msgstr ""
#: ultralcd.cpp:4224
msgid "RPi port [off]"
msgstr ""
#: Marlin_main.cpp:1396
msgid "Selftest will be run to calibrate accurate sensorless rehoming."
msgstr ""
#: cardreader.cpp:754
msgid "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
msgstr ""
#: ultralcd.cpp:4250
msgid "Sort: [None]"
msgstr ""
#: ultralcd.cpp:4248
msgid "Sort: [Time]"
msgstr ""
#: ultralcd.cpp:4249
msgid "Sort: [Alphabet]"
msgstr ""
#: cardreader.cpp:761
msgid "Sorting files"
msgstr ""
#: Marlin_main.cpp:3504
msgid "Stable ambient temperature 21-26C is needed a rigid stand is required."
msgstr ""
#: ultralcd.cpp:7009
msgid "Swapped"
msgstr ""
#: ultralcd.cpp:3189
msgid "Temperature calibration failed"
msgstr ""
#: ultralcd.cpp:1846
msgid "Temperatures"
msgstr ""
#: ultralcd.cpp:1849
msgid "Voltages"
msgstr ""
#: ultralcd.cpp:2683
msgid "Waiting for PINDA probe cooling"
msgstr ""
#: Marlin_main.cpp:1356
msgid "Warning: both printer type and motherboard type changed."
msgstr ""
#: Marlin_main.cpp:1348
msgid "Warning: motherboard type changed."
msgstr ""
#: Marlin_main.cpp:1352
msgid "Warning: printer type changed."
msgstr ""
#: Marlin_main.cpp:946
msgid "WARNING: This is an unofficial, unsupported build. Use at your own risk!"
msgstr ""
#: Marlin_main.cpp:6123
msgid "Was filament unload successful?"
msgstr ""
#: Marlin_main.cpp:930
msgid "You are using firmware alpha version. This is development version. Using this version is not recommended and may cause printer damage."
msgstr ""
#: Marlin_main.cpp:931
msgid "You are using firmware beta version. This is development version. Using this version is not recommended and may cause printer damage."
msgstr ""

61
lang/po/make_po.sh Normal file
View File

@ -0,0 +1,61 @@
#!/bin/sh
#
# make_po.sh - multi-language support script
# for generating lang_xx.po
#
SRCDIR="../../Firmware"
#
LANG=$1
if [ -z "$LANG" ]; then LANG=cz; fi
#
echo "make_po.sh started" >&2
#remove output file if exists
if [ -e lang_$LANG.po ]; then rm lang_$LANG.po; fi
langname=$(\
case "$LANG" in
*en*) echo "English" ;;
*cz*) echo "Czech" ;;
*de*) echo "German" ;;
*it*) echo "Italian" ;;
*es*) echo "Spanish" ;;
*pl*) echo "Polish" ;;
esac)
#write po header
echo "# Translation into $langname." > lang_$LANG.po
echo "#" >> lang_$LANG.po
echo 'msgid ""' >> lang_$LANG.po
echo 'msgstr ""' >> lang_$LANG.po
echo '"MIME-Version: 1.0\n"' >> lang_$LANG.po
echo '"Content-Type: text/plain; charset=UTF-8\n"' >> lang_$LANG.po
echo '"Content-Transfer-Encoding: 8bit\n"' >> lang_$LANG.po
echo >> lang_$LANG.po
#list .cpp, .c and .h files
files=$(ls "$SRCDIR"/*.cpp "$SRCDIR"/*.c "$SRCDIR"/*.h)
#loop over all messages, print only untranslated (=="\x00")
s0=''
s1=''
s2=''
cat ../lang_en_$LANG.txt | sed "s/\\\\/\\\\\\\\/g;s/^#/#: /" | while read -r s; do
if [ "$s" == "" ]; then
if [ "$s0" == "\"\\\\x00\"" ]; then
search=$(echo -e "$s1")
found=$(grep -m1 -n -F "$search" $files | head -n1 | cut -f1-2 -d':' | sed "s/^.*\///")
echo "#: $found"
echo -e "msgid $s1"
echo 'msgstr ""'
echo
fi
fi
s2=$s1
s1=$s0
s0=$s
done >> lang_$LANG.po
echo "make_po.sh finished" >&2
exit 0

View File

@ -260,7 +260,7 @@
+ #define(length = 20, lines = 3) MSG_WAITING_TEMP "Warten auf Abkuehlung von Heater und Bett." + #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 = 2) MSG_FILAMENT_CLEAN "Ist Farbe rein?"
+ #define(lenght = 20, lines = 1) MSG_UNLOADING_FILAMENT "Filament auswerfen" + #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(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_MENU "Bett level Korrekt"

View File

@ -69,25 +69,27 @@ process_language_xx()
{ {
echo -n " processing language_$1.h ..." | tee -a make_msgs.out echo -n " processing language_$1.h ..." | tee -a make_msgs.out
#list all defines from language_cz.h #list all defines from language_cz.h
cat "../Firmware/language_$1.h" | grep "^#define" >"msgs_$1.txt_0" cat "../lang_backup/language_$1.h" | sed "s/[ \t]*\+//;s/^\+ #/#/;s/^\+#/#/" | grep -E "^#define" >"msgs_$1.txt_0"
cat "msgs_$1.txt_0" | sed -E "s/^#define[ \t]*([^ \t]*)[ \t]*([^ \t]*[ \t]*\"[^\"]*\"*)/\1 \2/g" | sort >"msgs_$1.txt" 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 #calculate msgcount
msgcount=$(grep -c '' "msgs_$1.txt") msgcount=$(grep -c '' "msgs_$1.txt")
#calculate charcount #calculate charcount
charcount=$(calc_charcount "msgs_$1.txt" 2) charcount=$(calc_charcount "msgs_$1.txt" 2)
#remove tmp files #remove tmp files
rm "msgs_$1.txt_0" rm "msgs_$1.txt_0"
rm "msgs_$1.txt_1"
echo "ok ($msgcount messages, $charcount characters)" | tee -a make_msgs.out echo "ok ($msgcount messages, $charcount characters)" | tee -a make_msgs.out
} }
process_language_common #process_language_common
process_language_en #process_language_en
process_language_xx cz #process_language_xx cz
process_language_xx de process_language_xx de
process_language_xx it #process_language_xx it
process_language_xx pl #process_language_xx pl
process_language_xx es #process_language_xx es
echo "step1 finished... press key" echo "make_msgs.sh finished... press key"
read read

View File

@ -1,49 +1,276 @@
MSG_ADJUSTZ "Auto Z einstellen?"
MSG_ALL "Alle" 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_CALIBRATE_PINDA "Kalibrieren"
MSG_CALIBRATION_PINDA_MENU "Temp. 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_CURRENT "Aktuelles"
MSG_DATE "Datum" 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 "Extruder"
MSG_EXTRUDER_1 "Extruder 1" MSG_EXTRUDER_1 "Extruder 1"
MSG_EXTRUDER_2 "Extruder 2" MSG_EXTRUDER_2 "Extruder 2"
MSG_EXTRUDER_3 "Extruder 3" MSG_EXTRUDER_3 "Extruder 3"
MSG_EXTRUDER_4 "Extruder 4" 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_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_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_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_LEFT "Links:"
MSG_LOAD_ALL "Alle laden" 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_1 "Filament 1 laden"
MSG_LOAD_FILAMENT_2 "Filament 2 laden" MSG_LOAD_FILAMENT_2 "Filament 2 laden"
MSG_LOAD_FILAMENT_3 "Filament 3 laden" MSG_LOAD_FILAMENT_3 "Filament 3 laden"
MSG_LOAD_FILAMENT_4 "Filament 4 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_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_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_EXTRUDER "PID Kalibrierung"
MSG_PID_FINISHED "PID Kalib. fertig" MSG_PID_FINISHED "PID Kalib. fertig"
MSG_PID_RUNNING "PID Kalib." MSG_PID_RUNNING "PID Kalib."
MSG_PINDA_NOT_CALIBRATED "Temperatur wurde nicht kalibriert" MSG_PINDA_NOT_CALIBRATED "Temperatur wurde nicht kalibriert"
MSG_PINDA_PREHEAT "PINDA erwaermen" MSG_PINDA_PREHEAT "PINDA erwaermen"
MSG_PLA_FILAMENT_LOADED "Ist PLA Filament geladen?" 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_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_PREPARE_FILAMENT "Filam. bereithalten"
MSG_PRESS "und Knopf druecken"
MSG_PRINT_ABORTED "Druck abgebrochen"
MSG_PRINT_PAUSED "Druck pausiert" 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_RESUMING_PRINT "Druck weitergehen"
MSG_RIGHT "Rechts:" 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_SET_TEMPERATURE "Temp. einsetzen"
MSG_SETTINGS "Einstellungen"
MSG_SEVERE_SKEW "Schwerer Schr.:" 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_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 "Temp Kalib. "
MSG_TEMP_CALIBRATION_DONE "Temp. Kalibrierung fertig. Klicken um weiter zu gehen." MSG_TEMP_CALIBRATION_DONE "Temp. Kalibrierung fertig. Klicken um weiter zu gehen."
MSG_TEMP_CALIBRATION_OFF "Temp. Kal. [OFF]" MSG_TEMP_CALIBRATION_OFF "Temp. Kal. [OFF]"
MSG_TEMP_CALIBRATION_ON "Temp. Kal. [ON]" 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_ALL "Alles entladen"
MSG_UNLOAD_FILAMENT "Filament entladen"
MSG_UNLOAD_FILAMENT_1 "Filam. 1 entladen" MSG_UNLOAD_FILAMENT_1 "Filam. 1 entladen"
MSG_UNLOAD_FILAMENT_2 "Filam. 2 entladen" MSG_UNLOAD_FILAMENT_2 "Filam. 2 entladen"
MSG_UNLOAD_FILAMENT_3 "Filam. 3 entladen" MSG_UNLOAD_FILAMENT_3 "Filam. 3 entladen"
MSG_UNLOAD_FILAMENT_4 "Filam. 4 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_USED "Beim Druck benutzte"
MSG_USERWAIT "Warte auf user..."
MSG_V2_CALIBRATION "Erste-Schicht Kal" 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 "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_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_CLEAN_HEATBED "Bitte reinigen Sie das Heizbett und druecken Sie dann den Knopf."
@ -65,3 +292,5 @@ MSG_WIZARD_XYZ_CAL "Ich werde jetzt die XYZ-Kalibrierung durchfuehren. Es wird c
MSG_WIZARD_Z_CAL "Ich werde jetzt die Z Kalibrierung durchfuehren." MSG_WIZARD_Z_CAL "Ich werde jetzt die Z Kalibrierung durchfuehren."
MSG_XYZ_DETAILS "XYZ Kal. Details" MSG_XYZ_DETAILS "XYZ Kal. Details"
MSG_Y_DISTANCE_FROM_MIN "Y Entfernung vom min" MSG_Y_DISTANCE_FROM_MIN "Y Entfernung vom min"
MSG_YES "Ja"
WELCOME_MSG CUSTOM_MENDEL_NAME " bereit."