소스 검색

Merge pull request #852 from XPila/MK3-new_lang

Mk3 new lang
XPila 6 년 전
부모
커밋
78b748ebdb
3개의 변경된 파일334개의 추가작업 그리고 373개의 파일을 삭제
  1. 51 165
      lang/lang-build.sh
  2. 75 0
      lang/lang-check.sh
  3. 208 208
      lang/lang_en_pl.txt

+ 51 - 165
lang/lang-build.sh

@@ -4,39 +4,35 @@
 #  generate lang_xx.bin (language binary file)
 #
 # Input files:
-#  lang_en.txt
-#  lang_en_xx.txt
-#
+#  lang_en.txt or lang_en_xx.txt
+#  
 # Output files:
+#  lang_xx.bin
 #
-#
-# Selected language:
-LNG=$1
-if [ -z "$LNG" ]; then LNG='cz'; fi
+# Temporary files:
+#  lang_xx.tmp
+#  lang_xx.dat
 #
 
 #awk code to format ui16 variables for dd
 awk_ui16='{ h=int($1/256); printf("\\x%02x\\x%02x\n", int($1-256*h), h); }'
 
+#startup message
+echo "lang-build.sh started" >&2
+
 #exiting function
 finish()
 {
  if [ $1 -eq 0 ]; then
-  if [ -e lang_en.tmp ]; then rm lang_en.tmp; fi
-  if [ -e lang_en_$LNG.tmp ]; then rm lang_en_$LNG.tmp; fi
-  if [ -e lang_en_$LNG.dif ]; then rm lang_en_$LNG.dif; fi
- fi
-# echo >&2
- if [ $1 -eq 0 ]; then
-  echo "make_lang.sh finished with success" >&2
+  echo "lang-build.sh finished with success" >&2
  else
-  echo "make_lang.sh finished with errors!" >&2
+  echo "lang-build.sh finished with errors!" >&2
  fi
  exit $1
 }
 
 #returns hexadecial data for lang code
-lang_code()
+lang_code_hex_data()
 # $1 - language code ('en', 'cz'...)
 {
  case "$1" in
@@ -51,7 +47,6 @@ lang_code()
  echo '??'
 }
 
-#
 write_header()
 # $1 - lang
 # $2 - size
@@ -67,7 +62,7 @@ write_header()
   dd of=lang_$1.bin bs=1 count=2 seek=6 conv=notrunc 2>/dev/null
  /bin/echo -n -e $(echo -n "$(($4))" | awk "$awk_ui16") |\
   dd of=lang_$1.bin bs=1 count=2 seek=8 conv=notrunc 2>/dev/null
- /bin/echo -n -e "$(lang_code $1)" |\
+ /bin/echo -n -e "$(lang_code_hex_data $1)" |\
   dd of=lang_$1.bin bs=1 count=2 seek=10 conv=notrunc 2>/dev/null
  sig_h=$(($5 / 65536))
  /bin/echo -n -e $(echo -n "$sig_h" | awk "$awk_ui16") |\
@@ -77,176 +72,67 @@ write_header()
   dd of=lang_$1.bin bs=1 count=2 seek=12 conv=notrunc 2>/dev/null
 }
 
-make_lang2()
-# $1 - lang ('en', 'cz'...)
+generate_binary()
+# $1 - language code ('en', 'cz'...)
 {
- rm -f lang_$LNG.tmp
- rm -f lang_$LNG.dat
- rm -f lang_$LNG.bin
+ echo "lang="$1 >&2
+ #remove output and temporary files
+ rm -f lang_$1.bin
+ rm -f lang_$1.tmp
+ rm -f lang_$1.dat
  LNG=$1
  #create lang_xx.tmp - different processing for 'en' language
- if [ "$LNG" = "en" ]; then
+ if [ "$1" = "en" ]; then
   #remove comments and empty lines
   cat lang_en.txt | sed '/^$/d;/^#/d'
  else
   #remove comments and empty lines, print lines with translated text only
-  cat lang_en_$LNG.txt | sed '/^$/d;/^#/d' | sed -n 'n;p'
- fi | sed 's/^\"\\x00\"$/\"\"/' > lang_$LNG.tmp
+  cat lang_en_$1.txt | sed '/^$/d;/^#/d' | sed -n 'n;p'
+ fi | sed 's/^\"\\x00\"$/\"\"/' > lang_$1.tmp
  #create lang_xx.dat (binary text data file)
- cat lang_$LNG.tmp | sed 's/^\"/printf \"/;s/"$/\\x00\"/' | sh >lang_$LNG.dat
+ cat lang_$1.tmp | sed 's/^\"/printf \"/;s/"$/\\x00\"/' | sh >lang_$1.dat
  #calculate number of strings
- count=$(grep -c '^"' lang_$LNG.tmp)
- echo "count="$count
+ count=$(grep -c '^"' lang_$1.tmp)
+ echo "count="$count >&2
  #calculate text data offset
  offs=$((16 + 2 * $count))
- echo "offs="$offs
+ echo "offs="$offs >&2
  #calculate text data size
- size=$(($offs + $(wc -c lang_$LNG.dat | cut -f1 -d' ')))
- echo "size="$size
+ size=$(($offs + $(wc -c lang_$1.dat | cut -f1 -d' ')))
+ echo "size="$size >&2
  #write header with empty signature and checksum
- write_header $LNG $size $count 0x0000 0x00000000
+ write_header $1 $size $count 0x0000 0x00000000
  #write offset table
- cat lang_$LNG.tmp | sed 's/^\"//;s/\"$//' |\
+ offs_hex=$(cat lang_$1.tmp | sed 's/^\"//;s/\"$//' |\
   sed 's/\\x[0-9a-f][0-9a-f]/\./g;s/\\[0-7][0-7][0-7]/\./g;s/\ /\./g' |\
-  awk 'BEGIN { o='$offs';} { h=int(o/256); printf("%c%c",int(o-256*h), h); o+=(length($0)+1); }' |\
-  dd of=./lang_$LNG.bin bs=1 seek=16 conv=notrunc 2>/dev/null
+  awk 'BEGIN { o='$offs';} { h=int(o/256); printf("\\x%02x\\x%02x",int(o-256*h), h); o+=(length($0)+1); }')
+ /bin/echo -n -e "$offs_hex" | dd of=./lang_$1.bin bs=1 seek=16 conv=notrunc 2>/dev/null
  #write binary text data
- dd if=./lang_$LNG.dat of=./lang_$LNG.bin bs=1 seek=$offs conv=notrunc 2>/dev/null
+ dd if=./lang_$1.dat of=./lang_$1.bin bs=1 seek=$offs conv=notrunc 2>/dev/null
+ #write signature
+ if [ "$1" != "en" ]; then
+  dd if=lang_en.bin of=lang_$1.bin bs=1 count=4 skip=6 seek=12 conv=notrunc 2>/dev/null
+ fi
  #calculate and update checksum
- chsum=$(cat lang_$LNG.bin | xxd | cut -c11-49 | tr ' ' "\n" | sed '/^$/d' | awk 'BEGIN { sum = 0; } { sum += strtonum("0x"$1); if (sum > 0xffff) sum -= 0x10000; } END { printf("%x\n", sum); }')
+ chsum=$(cat lang_$1.bin | xxd | cut -c11-49 | tr ' ' "\n" | sed '/^$/d' | awk 'BEGIN { sum = 0; } { sum += strtonum("0x"$1); if (sum > 0xffff) sum -= 0x10000; } END { printf("%x\n", sum); }')
  /bin/echo -n -e $(echo -n $((0x$chsum)) | awk "$awk_ui16") |\
-  dd of=lang_$LNG.bin bs=1 count=2 seek=8 conv=notrunc 2>/dev/null
+  dd of=lang_$1.bin bs=1 count=2 seek=8 conv=notrunc 2>/dev/null
  #remove temporary files
- rm -f lang_$LNG.tmp
- rm -f lang_$LNG.dat
-}
-
-make_lang2 $1
-exit
-
-make_lang()
-{
-LNG=$1
-
-echo "make_lang.sh started" >&2
-echo "selected language=$LNG" >&2
-
-#check if input files exists
-echo -n " checking input files..." >&2
-if [ ! -e lang_en.txt ]; then echo "NG!  file lang_en.txt not found!" >&2; exit 1; fi
-
-if [ ! -e lang_en_$LNG.txt ]; then echo "NG!  file lang_en_$LNG.txt not found!" >&2; exit 1; fi
-echo "OK" >&2
-
-#filter comment and empty lines from key and dictionary files, create temporary files
-echo -n " creating tmp files..." >&2
-cat lang_en.txt | sed "/^$/d;/^#/d" > lang_en.tmp
-cat lang_en_$LNG.txt | sed "/^$/d;/^#/d" > lang_en_$LNG.tmp
-echo "OK" >&2
-#cat lang_en_$LNG.tmp | sed 'n;d' >test1.txt
-
-#compare files using diff and check for differences
-echo -n " comparing tmp files..." >&2
-if ! cat lang_en_$LNG.tmp | sed 'n;d' | diff lang_en.tmp - > lang_en_$LNG.dif; then
- echo "NG!" >&2
- echo "Entries in lang_en_$LNG.txt are different from lang_en.txt!" >&2
- echo "please check lang_en_$LNG.dif" >&2
- finish 1
-fi
-echo "OK" >&2
-
-#generate lang_xx.txt (secondary language text data sorted by ids)
-echo -n " generating lang_$LNG.txt..." >&2
-cat lang_en_$LNG.tmp | sed '1~2d' | sed "s/^\"\\\\x00/\"/" > lang_$LNG.txt
-echo "OK" >&2
-
-#generate lang_xx.dat (secondary language text data in binary form)
-echo -n " generating lang_$LNG.dat..." >&2
-cat lang_$LNG.txt | sed "s/\\\\/\\\\\\\\/g" | while read s; do
- s=${s#\"}
- s=${s%\"}
- /bin/echo -e -n "$s\x00"
-done >lang_$LNG.dat
-echo "OK" >&2
-
-#calculate variables
-lt_magic='\xa5\x5a\xb4\x4b'
-lt_count=$(grep -c '^' lang_$LNG.txt)
-lt_data_size=$(wc -c lang_$LNG.dat | cut -f1 -d' ')
-lt_offs_size=$((2 * $lt_count))
-lt_size=$((16 + $lt_offs_size + $lt_data_size))
-lt_chsum=0
-lt_code='\xff\xff'
-lt_resv1='\xff\xff\xff\xff'
-
-case "$LNG" in
- *en*) lt_code='\x6e\x65' ;;
- *cz*) lt_code='\x73\x63' ;;
- *de*) lt_code='\x65\x64' ;;
- *es*) lt_code='\x73\x65' ;;
- *it*) lt_code='\x74\x69' ;;
- *pl*) lt_code='\x6c\x70' ;;
-esac
-
-#generate lang_xx.ofs (secondary language text data offset table)
-echo -n " generating lang_$LNG.ofs..." >&2
-cat lang_$LNG.txt | sed "s/\\\\x[0-9a-f][0-9a-f]/\./g;s/\\\\[0-7][0-7][0-7]/\./g" |\
- awk 'BEGIN { o='$((16 + $lt_offs_size))';} { printf("%d\n",o); o+=(length($0)-1); }' > lang_$LNG.ofs
-echo "OK" >&2
-
-#generate lang_xx.bin (secondary language result binary file)
-echo " generating lang_$LNG.bin:" >&2
-#create empty file
-dd if=/dev/zero of=lang_$LNG.bin bs=1 count=$lt_size 2>/dev/null
-
-#write data to binary file with dd
-
-echo -n "  writing header (16 bytes)..." >&2
-/bin/echo -n -e "$lt_magic" |\
- dd of=lang_$LNG.bin bs=1 count=4 seek=0 conv=notrunc 2>/dev/null
-/bin/echo -n -e $(echo -n "$lt_size" | awk "$awk_ui16") |\
- dd of=lang_$LNG.bin bs=1 count=2 seek=4 conv=notrunc 2>/dev/null
-/bin/echo -n -e $(echo -n "$lt_count" | awk "$awk_ui16") |\
- dd of=lang_$LNG.bin bs=1 count=2 seek=6 conv=notrunc 2>/dev/null
-/bin/echo -n -e $(echo -n "$lt_chsum" | awk "$awk_ui16") |\
- dd of=lang_$LNG.bin bs=1 count=2 seek=8 conv=notrunc 2>/dev/null
-/bin/echo -n -e "$lt_code" |\
- dd of=lang_$LNG.bin bs=1 count=2 seek=10 conv=notrunc 2>/dev/null
-/bin/echo -n -e "$lt_resv1" |\
- dd of=lang_$LNG.bin bs=1 count=4 seek=12 conv=notrunc 2>/dev/null
-echo "OK" >&2
-
-echo -n "  writing offset table ($lt_offs_size bytes)..." >&2
-/bin/echo -n -e $(cat lang_$LNG.ofs | awk "$awk_ui16" | tr -d '\n'; echo) |\
- dd of=./lang_$LNG.bin bs=1 count=$lt_offs_size seek=16 conv=notrunc 2>/dev/null
-echo "OK" >&2
-
-echo -n "  writing text data ($lt_data_size bytes)..." >&2
-dd if=./lang_$LNG.dat of=./lang_$LNG.bin bs=1 count=$lt_data_size seek=$((16 + $lt_offs_size)) conv=notrunc 2>/dev/null
-echo "OK" >&2
-
-#calculate and update checksum
-lt_chsum=$(cat lang_$LNG.bin | xxd | cut -c11-49 | tr ' ' "\n" | sed '/^$/d' | awk 'BEGIN { sum = 0; } { sum += strtonum("0x"$1); if (sum > 0xffff) sum -= 0x10000; } END { printf("%x\n", sum); }')
-/bin/echo -n -e $(echo -n $((0x$lt_chsum)) | awk "$awk_ui16") |\
- dd of=lang_$LNG.bin bs=1 count=2 seek=8 conv=notrunc 2>/dev/null
-
-echo " lang_table details:" >&2
-echo "  lt_count = $lt_count" >&2
-echo "  lt_size  = $lt_size" >&2
-echo "  lt_chsum = $lt_chsum" >&2
+ rm -f lang_$1.tmp
+ rm -f lang_$1.dat
 }
 
-echo $LNG
+if [ -z "$1" ]; then set 'all'; fi
 
-if [ "$LNG" = "all" ]; then
- make_lang cz
- make_lang de
- make_lang es
- make_lang it
- make_lang pl
- exit 0
+if [ "$1" = "all" ]; then
+ generate_binary 'en'
+ generate_binary 'cz'
+ generate_binary 'de'
+ generate_binary 'es'
+ generate_binary 'it'
+ generate_binary 'pl'
 else
- make_lang $LNG
+ generate_binary $1
 fi
 
 finish 0

+ 75 - 0
lang/lang-check.sh

@@ -0,0 +1,75 @@
+#!/bin/sh
+#
+# lang_check.sh - multi-language support script
+#  check lang_xx.bin (language binary file)
+#
+# Input files:
+#  lang_$1.bin
+#  lang_en.txt or lang_en_$1.txt
+#  
+#
+
+#set 'cz'
+
+#dictionary txt file
+fn_t=lang_en_$1.txt
+if [ "$1" = "en" ]; then fn_t=lang_en.txt; fi
+#binary file to check
+fn_b=lang_$1.bin
+
+#check txt dictionary file
+echo -n "dictionary file: $fn_t"
+if [ -e $fn_t ]; then echo " - OK"; else echo " - Not found!"; exit 1; fi
+
+#create lang_xx.tmp - different processing for 'en' language
+if [ "$1" = "en" ]; then
+ #remove comments and empty lines
+ cat lang_en.txt | sed '/^$/d;/^#/d'
+else
+ #remove comments and empty lines, print lines with translated text only
+ cat lang_en_$1.txt | sed '/^$/d;/^#/d' | sed -n 'n;p'
+fi | sed 's/^\"\\x00\"$/\"\"/' > lang_$1.tmp
+
+count_txt=$(grep -c '^"' lang_$1.tmp)
+
+echo -n "language bin file: $fn_b"
+if [ -e $fn_b ]; then echo " - OK"; else echo " - Not found!"; exit 1; fi
+
+#read header and convert to hex
+header=$(dd if=$fn_b bs=1 count=16 2>/dev/null | xxd | cut -c11-49 | sed 's/\([0-9a-f][0-9a-f]\)[\ ]*/\1 /g')
+echo "header='$header'"
+magic=0x$(echo $header | tr -d ' ' | cut -c1-8)
+echo "magic='$magic'"
+size=$(echo $header | tr -d ' ' | cut -c9-12)
+size=0x${size:2:2}${size:0:2}
+echo "size='$size' ($(($size)))"
+count=$(echo $header | tr -d ' ' | cut -c13-16)
+count=0x${count:2:2}${count:0:2}
+echo "count='$count' ($(($count)))"
+o=0
+l=0
+#create lang_xx_1.tmp (temporary text file from binary data)
+(dd if=$fn_b bs=1 count=$((2*$count)) skip=16 2>/dev/null | xxd | cut -c11-49 | tr ' ' "\n" |\
+ sed 's/\([0-9a-f][0-9a-f]\)\([0-9a-f][0-9a-f]\)/\2\1 /g;/^$/d'; printf "%04x\n" $(($size)) ) |\
+ while read offs; do
+  if [ $o -ne 0 ]; then
+   l=$((0x$offs - $o))
+   echo -n '"'
+   dd if=$fn_b bs=1 count=$((l-1)) skip=$o 2>/dev/null
+   echo '"'
+  fi
+  o=$((0x$offs))
+ done > lang_$1_1.tmp
+#create lang_xx_2.tmp (temporary text file from dictionary)
+cat lang_$1.tmp | sed 's/^\"/printf \"\\x22/;s/"$/\\x22\\x0a\"/' | sh >lang_$1_2.tmp
+#compare temporary files
+diff lang_$1_2.tmp lang_$1_2.tmp >lang_$1_check.dif
+dif=$(cat lang_$1_check.dif)
+if [ -z "$dif" ]; then
+ echo 'binary data OK'
+else
+ echo 'binary data NG!'
+fi
+
+read
+exit

+ 208 - 208
lang/lang_en_pl.txt

@@ -1,6 +1,6 @@
 #MSG_EXTRUDER_CORRECTION_OFF c=6 r=0
 "  [off"
-"\x00"
+"[wyl"
 
 #MSG_PLANNER_BUFFER_BYTES c=0 r=0
 "  PlannerBufferBytes: "
@@ -8,15 +8,15 @@
 
 #MSG_ERR_COLD_EXTRUDE_STOP c=0 r=0
 " cold extrusion prevented"
-"\x00"
+" nie dopuszczono do zimnej ekstruzji"
 
 #MSG_FREE_MEMORY c=0 r=0
 " Free Memory: "
-"\x00"
+" Wolna pamiec:"
 
 #MSG_CONFIGURATION_VER c=0 r=0
 " Last Updated: "
-"\x00"
+" Ostatnia aktualizacja: "
 
 #MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE2 c=14 r=0
 " of 4"
@@ -28,7 +28,7 @@
 
 #MSG_MEASURED_OFFSET c=0 r=0
 "[0;0] point offset"
-"\x00"
+"[0;0] przesuniecie punktu"
 
 #MSG_CRASH_DET_ONLY_IN_NORMAL c=20 r=4
 "\x1b[2JCrash detection can\x1b[1;0Hbe turned on only in\x1b[2;0HNormal mode"
@@ -40,11 +40,11 @@
 
 #MSG_REFRESH c=0 r=0
 "\xf8Refresh"
-"\xf8Obnovit"
+"\x00"
 
 #MSG_BABYSTEPPING_Z c=20 r=0
 "Adjusting Z"
-"Dostrojenie Z"
+"Dostrajanie Z"
 
 #MSG_SELFTEST_CHECK_ALLCORRECT c=20 r=0
 "All correct      "
@@ -52,15 +52,15 @@
 
 #MSG_WIZARD_DONE c=20 r=8
 "All is done. Happy printing!"
-"Gotowe. Udanego druku!"
+"Gotowe. Udanego drukowania!"
 
 #MSG_PRESS c=20 r=0
 "and press the knob"
-"Nacisnij przycisk"
+"i nacisnij pokretlo"
 
 #MSG_CONFIRM_CARRIAGE_AT_THE_TOP c=20 r=2
 "Are left and right Z~carriages all up?"
-"Oba wozki dojechaly do gornej ramy?"
+"Obydwa konce osi dojechaly do gornych ogranicznikow?"
 
 #MSG_ADJUSTZ c=0 r=0
 "Auto adjust Z?"
@@ -68,71 +68,71 @@
 
 #MSG_AUTO_HOME c=0 r=0
 "Auto home"
-"\x00"
+"Auto zerowanie"
 
 #MSG_AUTOLOAD_FILAMENT c=17 r=0
 "AutoLoad filament"
-"\x00"
+"AutoLadowanie filamentu"
 
 #MSG_AUTOLOADING_ONLY_IF_FSENS_ON c=20 r=4
 "Autoloading filament available only when filament sensor is turned on..."
-"\x00"
+"Autoladowanie filamentu dostepne tylko gdy czujnik filamentu jest wlaczony..."
 
 #MSG_AUTOLOADING_ENABLED c=20 r=4
 "Autoloading filament is active, just press the knob and insert filament..."
-"\x00"
+"Autoladowanie filamentu wlaczone, nacisnij pokretlo i wsun filament..."
 
 #MSG_SELFTEST_AXIS_LENGTH c=0 r=0
 "Axis length"
-"\x00"
+"Dlugosc osi"
 
 #MSG_SELFTEST_AXIS c=0 r=0
 "Axis"
-"\x00"
+"Os"
 
 #MSG_SELFTEST_BEDHEATER c=0 r=0
 "Bed / Heater"
-"\x00"
+"Stol / Grzanie"
 
 #MSG_BED_DONE c=0 r=0
 "Bed done"
-"Stolik OK."
+"Stol OK"
 
 #MSG_BED_HEATING c=0 r=0
 "Bed Heating"
-"Grzanie stolika.."
+"Grzanie stolu.."
 
 #MSG_BED_CORRECTION_MENU c=0 r=0
 "Bed level correct"
-"Korekta podkladki"
+"Korekta poziomowania stolu"
 
 #MSG_BED_LEVELING_FAILED_POINT_LOW c=20 r=4
 "Bed leveling failed. Sensor didnt trigger. Debris on nozzle? Waiting for reset."
-"Kalibracja nieudana. Sensor nie dotknal. Zanieczysz. dysza? Czekam na reset."
+"Kalibracja nieudana. Sensor nie aktywowal sie. Zanieczysz. dysza? Czekam na reset."
 
 #MSG_BED_LEVELING_FAILED_PROBE_DISCONNECTED c=20 r=4
 "Bed leveling failed. Sensor disconnected or cable broken. Waiting for reset."
-"Kalibracja nieudana. Sensor odlaczony lub uszkodz. kabel. Czekam na reset."
+"Poziomowanie stolu nieudane. Sensor odlacz. lub uszkodz. przewod. Czekam na reset."
 
 #MSG_BED_LEVELING_FAILED_POINT_HIGH c=20 r=4
 "Bed leveling failed. Sensor triggered too high. Waiting for reset."
-"Kalibracja Z nieudana. Sensor dotk. za wysoko. Czekam na reset."
+"Kalibracja Z nieudana. Sensor aktywowal za wysoko. Czekam na reset."
 
 #MSG_BED c=0 r=0
 "Bed"
-"Stolik"
+"Stol"
 
 #MSG_BEGIN_FILE_LIST c=0 r=0
 "Begin file list"
-"\x00"
+"Poczatek listy plikowogranicznikow"
 
 #MSG_MENU_BELT_STATUS c=15 r=1
 "Belt status"
-"\x00"
+"Stan paskow"
 
 #MSG_RECOVER_PRINT c=20 r=2
 "Blackout occurred. Recover print?"
-"\x00"
+"Wykryto zanik napiecia. Kontynowac?"
 
 #MSG_CALIBRATE_BED c=0 r=0
 "Calibrate XYZ"
@@ -144,11 +144,11 @@
 
 #MSG_CALIBRATE_PINDA c=17 r=1
 "Calibrate"
-"Skalibrowac"
+"Kalibruj"
 
 #MSG_MOVE_CARRIAGE_TO_THE_TOP c=20 r=8
 "Calibrating XYZ. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
-"Kalibracja XYZ. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
+"Kalibracja XYZ. Przekrec pokretlo, aby przesunac os Z do gornych ogranicznikow. Nacisnij, by potwierdzic."
 
 #MSG_CALIBRATE_Z_AUTO c=20 r=2
 "Calibrating Z"
@@ -156,7 +156,7 @@
 
 #MSG_MOVE_CARRIAGE_TO_THE_TOP_Z c=20 r=8
 "Calibrating Z. Rotate the knob to move the Z carriage up to the end stoppers. Click when done."
-"Kalibracja Z. Przekrec galke, aby przesunac os Z do gornych krancowek. Nacisnij, by potwierdzic."
+"Kalibracja XYZ. Przekrec pokretlo, aby przesunac os Z do gornych ogranicznikow. Nacisnij, by potwierdzic."
 
 #MSG_HOMEYZ_DONE c=0 r=0
 "Calibration done"
@@ -168,7 +168,7 @@
 
 #MSG_SD_CANT_ENTER_SUBDIR c=0 r=0
 "Cannot enter subdir: "
-"\x00"
+"Brak dostepu do subdir: "
 
 #MSG_SD_INSERTED c=0 r=0
 "Card inserted"
@@ -184,27 +184,27 @@
 
 #MSG_COOLDOWN c=0 r=0
 "Cooldown"
-"Wychlodzic"
+"Chlodzenie"
 
 #MSG_CRASHDETECT_ON c=0 r=0
 "Crash det.   [on]"
-"\x00"
+"Wykr. zderzen [wl]"
 
 #MSG_CRASHDETECT_NA c=0 r=0
 "Crash det.  [N/A]"
-"\x00"
+"Wykr. zderzen [n/d]"
 
 #MSG_CRASHDETECT_OFF c=0 r=0
 "Crash det.  [off]"
-"\x00"
+"Wykr. zderzen [wyl]"
 
 #MSG_CRASH_DETECTED c=20 r=1
 "Crash detected."
-"\x00"
+"Zderzenie wykryte"
 
 #MSG_CURRENT c=19 r=1
 "Current"
-"Tylko aktualne"
+"Aktualne"
 
 #MSG_DATE c=17 r=1
 "Date:"
@@ -212,39 +212,39 @@
 
 #MSG_DISABLE_STEPPERS c=0 r=0
 "Disable steppers"
-"Wylaczyc silniki"
+"Wylaczenie silnikow"
 
 #MSG_BABYSTEP_Z_NOT_SET c=20 r=12
 "Distance between tip of the nozzle and the bed surface has not been set yet. Please follow the manual, chapter First steps, section First layer calibration."
-"Odleglosc dyszy od podkladki nie jest skalibrowana. Postepuj zgodnie z instrukcja rozdzial Zaczynamy, podrozdzial Kalibracja pierwszej warstwy."
+"Odleglosc dyszy od powierzchni druku nie jest skalibrowana. Postepuj zgodnie z instrukcja: rozdzial Wprowadzenie - Kalibracja pierwszej warstwy."
 
 #MSG_WIZARD_REPEAT_V2_CAL c=20 r=7
 "Do you want to repeat last step to readjust distance between nozzle and heatbed?"
-"Chcesz powtorzyc ostatni krok i przestawic odleglosc miedzy dysza a stolikiem?"
+"Chcesz powtorzyc ostatni krok i ponownie ustawic odleglosc miedzy dysza a stolikiem?"
 
 #MSG_EXTRUDER_CORRECTION c=9 r=0
 "E-correct"
-"\x00"
+"Korekcja E"
 
 #MSG_END_FILE_LIST c=0 r=0
 "End file list"
-"\x00"
+"Koniec listy plikow"
 
 #MSG_SELFTEST_ENDSTOP_NOTHIT c=20 r=1
 "Endstop not hit"
-"\x00"
+"Krancowka nie aktyw."
 
 #MSG_SELFTEST_ENDSTOP c=0 r=0
 "Endstop"
-"\x00"
+"Krancowka"
 
 #MSG_ENDSTOPS_HIT c=0 r=0
 "endstops hit: "
-"\x00"
+"krancowki aktywowane:"
 
 #MSG_SELFTEST_ENDSTOPS c=0 r=0
 "Endstops"
-"\x00"
+"Krancowki"
 
 #MSG_Enqueing c=0 r=0
 "enqueing \x22"
@@ -252,15 +252,15 @@
 
 #MSG_STACK_ERROR c=20 r=4
 "Error - static memory has been overwritten"
-"\x00"
+"Blad - pamiec statyczna zostala nadpisana"
 
 #MSG_SD_ERR_WRITE_TO_FILE c=0 r=0
 "error writing to file"
-"\x00"
+"blad zapisywania pliku"
 
 #MSG_FSENS_NOT_RESPONDING c=20 r=4
 "ERROR: Filament sensor is not responding, please check connection."
-"\x00"
+"BLAD: Czujnik filamentu nie odpowiada, sprawdz polaczenie."
 
 #MSG_ERROR c=0 r=0
 "ERROR:"
@@ -268,27 +268,27 @@
 
 #MSG_SELFTEST_EXTRUDER_FAN_SPEED c=18 r=0
 "Extruder fan:"
-"\x00"
+"Went. ekstrudera:"
 
 #MSG_INFO_EXTRUDER c=15 r=1
 "Extruder info"
-"\x00"
+"Informacje o ekstruderze"
 
 #MSG_MOVE_E c=0 r=0
 "Extruder"
-"\x00"
+"Ekstruder"
 
 #MSG_FSENS_AUTOLOAD_ON c=17 r=1
 "F. autoload  [on]"
-"\x00"
+"Autoladowanie fil. [wl]"
 
 #MSG_FSENS_AUTOLOAD_NA c=17 r=1
 "F. autoload [N/A]"
-"\x00"
+"Autoladowanie fil. [N/D]"
 
 #MSG_FSENS_AUTOLOAD_OFF c=17 r=1
 "F. autoload [off]"
-"\x00"
+"Autoladowanie [wyl]"
 
 #MSG_FAN_SPEED c=14 r=0
 "Fan speed"
@@ -300,51 +300,51 @@
 
 #MSG_FANS_CHECK_ON c=17 r=1
 "Fans check   [on]"
-"\x00"
+"Sprawdzanie wentylatorow [wl]"
 
 #MSG_FANS_CHECK_OFF c=17 r=1
 "Fans check  [off]"
-"\x00"
+"Sprawdzanie wentylatorow [wyl]"
 
 #MSG_FSENSOR_ON c=0 r=0
 "Fil. sensor  [on]"
-"\x00"
+"Czuj. filamentu. [wl]"
 
 #MSG_FSENSOR_NA c=0 r=0
 "Fil. sensor [N/A]"
-"\x00"
+"Czuj. filamentu [N/D]"
 
 #MSG_FSENSOR_OFF c=0 r=0
 "Fil. sensor [off]"
-"\x00"
+"Czuj. fil. [wyl]"
 
 #MSG_FILAMENT_CLEAN c=20 r=2
 "Filament extruding & with correct color?"
-"Czy kolor jest czysty?"
+"Filament wychodzi z dyszy a kolor jest czysty?"
 
 #MSG_NOT_LOADED c=19 r=0
 "Filament not loaded"
-"Brak filamentu"
+"Filament nie zaladowany"
 
 #MSG_FILAMENT_SENSOR c=20 r=0
 "Filament sensor"
-"\x00"
+"Czujnik filamentu"
 
 #MSG_SELFTEST_FILAMENT_SENSOR c=18 r=0
 "Filament sensor:"
-"\x00"
+"Czujnik filamentu:"
 
 #MSG_FILE_INCOMPLETE c=20 r=2
 "File incomplete. Continue anyway?"
-"\x00"
+"Plik niekompletny. Kontynowac?"
 
 #MSG_SD_FILE_OPENED c=0 r=0
 "File opened: "
-"\x00"
+"Otwarty plik:"
 
 #MSG_SD_FILE_SELECTED c=0 r=0
 "File selected"
-"\x00"
+"Wybrano plik"
 
 #MSG_FINISHING_MOVEMENTS c=20 r=1
 "Finishing movements"
@@ -356,7 +356,7 @@
 
 #MSG_WIZARD_SELFTEST c=20 r=8
 "First, I will run the selftest to check most common assembly problems."
-"Najpierw wlacze autotest w celu kontrolli najczestszych problemow z montazem."
+"Najpierw wlacze selftest w celu sprawdzenia najczestszych problemow podczas montazu."
 
 #MSG_FLOW c=0 r=0
 "Flow"
@@ -364,7 +364,7 @@
 
 #MSG_PRUSA3D_FORUM c=0 r=0
 "forum.prusa3d.com"
-"forum.prusa3d.cz"
+"\x00"
 
 #MSG_SELFTEST_COOLING_FAN c=20 r=0
 "Front print fan?"
@@ -372,23 +372,23 @@
 
 #MSG_BED_CORRECTION_FRONT c=14 r=1
 "Front side[um]"
-"Do przodu [um]"
+"Przod [um]"
 
 #MSG_SELFTEST_FANS c=0 r=0
 "Front/left fans"
-"\x00"
+"Przedni/lewy wentylator"
 
 #MSG_SELFTEST_HEATERTHERMISTOR c=0 r=0
 "Heater/Thermistor"
-"\x00"
+"Grzalka/Termistor"
 
 #MSG_BED_HEATING_SAFETY_DISABLED c=0 r=0
 "Heating disabled by safety timer."
-"\x00"
+"Grzanie wylaczone przez wyl. czasowy"
 
 #MSG_HEATING_COMPLETE c=20 r=0
 "Heating done."
-"Grzanie OK."
+"Grzanie zakonczone"
 
 #MSG_HEATING c=0 r=0
 "Heating"
@@ -396,15 +396,15 @@
 
 #MSG_WIZARD_WELCOME c=20 r=7
 "Hi, I am your Original Prusa i3 printer. Would you like me to guide you through the setup process?"
-"Czesc, jestem Twoja drukarka Original Prusa i3. Czy potrzebujesz pomocy z instalacja?"
+"Czesc, jestem Twoja drukarka Original Prusa i3. Czy potrzebujesz pomocy z ustawieniem?"
 
 #MSG_PRUSA3D_HOWTO c=0 r=0
 "howto.prusa3d.com"
-"howto.prusa3d.cz"
+"\x00"
 
 #MSG_FILAMENTCHANGE c=0 r=0
 "Change filament"
-"Wymienic filament"
+"Wymiana filamentu"
 
 #MSG_CHANGE_SUCCESS c=0 r=0
 "Change success!"
@@ -416,79 +416,79 @@
 
 #MSG_CHANGING_FILAMENT c=20 r=0
 "Changing filament!"
-"Wymiana filamentu"
+"Wymiana filamentu!"
 
 #MSG_SELFTEST_CHECK_BED c=20 r=0
 "Checking bed     "
-"Kontrola bed "
+"Kontrola stolu"
 
 #MSG_SELFTEST_CHECK_ENDSTOPS c=20 r=0
 "Checking endstops"
-"Kontrola endstops"
+"Kontrola krancowek"
 
 #MSG_SELFTEST_CHECK_HOTEND c=20 r=0
 "Checking hotend  "
-"Kontrola hotend "
+"Kontrola hotendu"
 
 #MSG_SELFTEST_CHECK_FSENSOR c=20 r=0
 "Checking sensors "
-"\x00"
+"Sprawdzanie czujnikow"
 
 #MSG_SELFTEST_CHECK_X c=20 r=0
 "Checking X axis  "
-"Kontrola X axis "
+"Kontrola osi X"
 
 #MSG_SELFTEST_CHECK_Y c=20 r=0
 "Checking Y axis  "
-"Kontrola Y axis "
+"Kontrola osi Y"
 
 #MSG_SELFTEST_CHECK_Z c=20 r=0
 "Checking Z axis  "
-"Kontrola Z axis "
+"Kontrola osi Z"
 
 #MSG_ERR_CHECKSUM_MISMATCH c=0 r=0
 "checksum mismatch, Last Line: "
-"\x00"
+"suma kontrolna niezgodna, ostatnia linia:"
 
 #MSG_CHOOSE_EXTRUDER c=20 r=1
 "Choose extruder:"
-"Wybierz ekstruder"
+"Wybierz ekstruder:"
 
 #MSG_WIZARD_XYZ_CAL c=20 r=8
 "I will run xyz calibration now. It will take approx. 12 mins."
-"Wlaczam kalibracje xyz. Zajmie to ok. 12 min."
+"Przeprowadze teraz kalibracje XYZ. Zajmie ok. 12 min."
 
 #MSG_WIZARD_Z_CAL c=20 r=8
 "I will run z calibration now."
-"Wlaczam kalibracje z."
+"Przeprowadze kalibracje Z."
 
 #MSG_WIZARD_V2_CAL_2 c=20 r=12
 "I will start to print line and you will gradually lower the nozzle by rotating the knob, until you reach optimal height. Check the pictures in our handbook in chapter Calibration."
-"Zaczne drukowac linie. Stopniowo opuszczaj dysze przekrecajac guzik, poki nie uzyskasz optymalnej wysokosci. Sprawdz obrazki w naszym poradniku w rozdz. Kalibracja"
+"Zaczne drukowac linie. Stopniowo opuszczaj dysze przekrecajac pokretlo, poki nie uzyskasz optymalnej wysokosci. Sprawdz obrazki w naszym Podreczniku w rozdz. Kalibracja"
 
 #MSG_IMPROVE_BED_OFFSET_AND_SKEW_LINE1 c=60 r=0
 "Improving bed calibration point"
-"Poprawiam precyzyjnosc punktu kalibracyjnego"
+"Poprawiam precyzje punktu kalibracyjnego"
 
 #MSG_WATCH c=0 r=0
 "Info screen"
-"Informacje"
+"Ekran informacyjny"
 
 #MSG_FILAMENT_LOADING_T0 c=20 r=4
 "Insert filament into extruder 1. Click when done."
-"Wloz filament do ekstrudera 1. Potwierdz przyciskiem."
+"Wloz filament do ekstrudera 1. Potwierdz naciskajac pokretlo."
 
 #MSG_FILAMENT_LOADING_T1 c=20 r=4
 "Insert filament into extruder 2. Click when done."
-"Wloz filament do ekstrudera 2. Potwierdz przyciskiem."
+"Wloz filament do ekstrudera 2. Potwierdz naciskajac pokretlo."
 
 #MSG_FILAMENT_LOADING_T2 c=20 r=4
 "Insert filament into extruder 3. Click when done."
-"Wloz filament do ekstrudera 3. Potwierdz przyciskiem."
+"Wloz filament do ekstrudera 3. Potwierdz naciskajac pokretlo."
 
 #MSG_FILAMENT_LOADING_T3 c=20 r=4
 "Insert filament into extruder 4. Click when done."
-"Wloz filament do ekstrudera 4. Potwierdz przyciskiem."
+"Wloz filament do ekstrudera 4. Potwierdz naciskajac pokretlo."
 
 #MSG_INSERT_FILAMENT c=20 r=0
 "Insert filament"
@@ -508,7 +508,7 @@
 
 #MSG_STEEL_SHEET_CHECK c=20 r=2
 "Is steel sheet on heatbed?"
-"\x00"
+"Czy plyta stal. jest na podgrzew. stole?"
 
 #MSG_FIND_BED_OFFSET_AND_SKEW_ITERATION c=20 r=0
 "Iteration "
@@ -516,23 +516,23 @@
 
 #MSG_KILLED c=0 r=0
 "KILLED. "
-"\x00"
+"PRZERWANE."
 
 #MSG_SELFTEST_EXTRUDER_FAN c=20 r=0
 "Left hotend fan?"
-"Lewy went na dysze?"
+"Lewy went hotendu?"
 
 #MSG_BED_CORRECTION_LEFT c=14 r=1
 "Left side [um]"
-"W lewo [um]"
+"Lewo [um]"
 
 #MSG_BABYSTEP_Z c=0 r=0
 "Live adjust Z"
-"Dostrojenie osy Z"
+"Dostrajanie osi Z"
 
 #MSG_LOAD_FILAMENT c=17 r=0
 "Load filament"
-"Wprowadz filament"
+"Ladowanie filamentu"
 
 #MSG_LOADING_COLOR c=0 r=0
 "Loading color"
@@ -540,23 +540,23 @@
 
 #MSG_LOADING_FILAMENT c=20 r=0
 "Loading filament"
-"Wprow. filamentu"
+"Ladowanie filamentu"
 
 #MSG_LOOSE_PULLEY c=20 r=1
 "Loose pulley"
-"Kolo pasowe"
+"Luzne kolo pasowe"
 
 #MSG_M104_INVALID_EXTRUDER c=0 r=0
 "M104 Invalid extruder "
-"\x00"
+"M104 Nieprawidlowy ekstruder"
 
 #MSG_M105_INVALID_EXTRUDER c=0 r=0
 "M105 Invalid extruder "
-"\x00"
+"M105 Nieprawidlowy ekstruder"
 
 #MSG_M109_INVALID_EXTRUDER c=0 r=0
 "M109 Invalid extruder "
-"\x00"
+"M109 Nieprawidlowy ekstruder"
 
 #MSG_M117_V2_CALIBRATION c=25 r=1
 "M117 First layer cal."
@@ -564,15 +564,15 @@
 
 #MSG_M200_INVALID_EXTRUDER c=0 r=0
 "M200 Invalid extruder "
-"\x00"
+"M200 Nieprawidlowy ekstruder"
 
 #MSG_M218_INVALID_EXTRUDER c=0 r=0
 "M218 Invalid extruder "
-"\x00"
+"M218 Nieprawidlowy ekstruder"
 
 #MSG_M221_INVALID_EXTRUDER c=0 r=0
 "M221 Invalid extruder "
-"\x00"
+"M221 Nieprawidlowy ekstruder"
 
 #MSG_MAIN c=0 r=0
 "Main"
@@ -584,11 +584,11 @@
 
 #MSG_MESH_BED_LEVELING c=0 r=0
 "Mesh Bed Leveling"
-"\x00"
+"Poziomowanie stolu wg siatki"
 
 #MSG_STEALTH_MODE_OFF c=0 r=0
 "Mode     [Normal]"
-"\x00"
+"Tryb [normalny]"
 
 #MSG_SILENT_MODE_ON c=0 r=0
 "Mode     [silent]"
@@ -596,15 +596,15 @@
 
 #MSG_STEALTH_MODE_ON c=0 r=0
 "Mode    [Stealth]"
-"\x00"
+"Tryb [Stealth]"
 
 #MSG_AUTO_MODE_ON c=0 r=0
 "Mode [auto power]"
-"\x00"
+"Tryb [automatyczny]"
 
 #MSG_SILENT_MODE_OFF c=0 r=0
 "Mode [high power]"
-"Tryb[w wydajnosc]"
+"Tryb [wysoka wydajnosc]"
 
 #MSG_SELFTEST_MOTOR c=0 r=0
 "Motor"
@@ -616,23 +616,23 @@
 
 #MSG_MOVE_X c=0 r=0
 "Move X"
-"Przesunac X"
+"Ruch osi X"
 
 #MSG_MOVE_Y c=0 r=0
 "Move Y"
-"Przesunac Y"
+"Ruch osi Y"
 
 #MSG_MOVE_Z c=0 r=0
 "Move Z"
-"Przesunac Z"
+"Ruch osi Z"
 
 #MSG_ERR_NO_CHECKSUM c=0 r=0
 "No Checksum with line number, Last Line: "
-"\x00"
+"Brak sumy kontrolnej z numerem linii, ostatnia linia:"
 
 #MSG_NO_MOVE c=0 r=0
 "No move."
-"\x00"
+"Brak ruchu."
 
 #MSG_NO_CARD c=0 r=0
 "No SD card"
@@ -652,7 +652,7 @@
 
 #MSG_WIZARD_V2_CAL c=20 r=8
 "Now I will calibrate distance between tip of the nozzle and heatbed surface."
-"Kalibruje odleglosc miedzy koncowka dyszy a stolikiem."
+"Kalibruje odleglosc miedzy koncowka dyszy a powierzchnia druku."
 
 #MSG_WIZARD_WILL_PREHEAT c=20 r=4
 "Now I will preheat nozzle for PLA."
@@ -668,27 +668,27 @@
 
 #MSG_DEFAULT_SETTINGS_LOADED c=20 r=4
 "Old settings found. Default PID, Esteps etc. will be set."
-"\x00"
+"Znaleziono stare ustawienia. Zostana przywrocone domyslne ust. PID, Esteps, itp."
 
 #MSG_SD_OPEN_FILE_FAIL c=0 r=0
 "open failed, File: "
-"\x00"
+"niepowodzenie otwarcia, Plik:"
 
 #MSG_ENDSTOP_OPEN c=0 r=0
 "open"
-"\x00"
+"otworz"
 
 #MSG_SD_OPENROOT_FAIL c=0 r=0
 "openRoot failed"
-"\x00"
+"niepowodzenie openRoot "
 
 #MSG_PAUSE_PRINT c=0 r=0
 "Pause print"
-"Przerwac druk"
+"Wstrzymanie wydruku"
 
 #MSG_PID_RUNNING c=20 r=1
 "PID cal.           "
-"Kal. PID"
+"Kalibracja PID"
 
 #MSG_PID_FINISHED c=20 r=1
 "PID cal. finished"
@@ -700,59 +700,59 @@
 
 #MSG_PINDA_PREHEAT c=20 r=1
 "PINDA Heating"
-"Grzanie PINDA"
+"Grzanie sondy PINDA"
 
 #MSG_PAPER c=20 r=8
 "Place a sheet of paper under the nozzle during the calibration of first 4 points. If the nozzle catches the paper, power off the printer immediately."
-"Umiesc kartke papieru na podkladce i trzymaj pod dysza podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, wylacz drukarke."
+"Umiesc kartke papieru na stole roboczym i podczas pomiaru pierwszych 4 punktow. Jesli dysza zahaczy o papier, natychmiast wylacz drukarke."
 
 #MSG_WIZARD_CLEAN_HEATBED c=20 r=8
 "Please clean heatbed and then press the knob."
-"Prosze oczysc stolik i nacisnij guzik."
+"Oczysc powierzchnie druku i nacisnij pokretlo."
 
 #MSG_CONFIRM_NOZZLE_CLEAN c=20 r=8
 "Please clean the nozzle for calibration. Click when done."
-"Dla prawidl. kalibracji prosze oczyscic dysze. Potw. guzikiem."
+"Dla prawidl. kalibracji nalezy oczyscic dysze. Potw. guzikiem."
 
 #MSG_SELFTEST_PLEASECHECK c=0 r=0
 "Please check :"
-"Skontroluj :"
+"Sprawdz :"
 
 #MSG_WIZARD_CALIBRATION_FAILED c=20 r=8
 "Please check our handbook and fix the problem. Then resume the Wizard by rebooting the printer."
-"Prosze sprawdz nasz poradnik i napraw problem. Potem przywroc Wizard restartujac drukarke."
+"Przeczytaj nasz Podrecznik druku 3D aby naprawic problem. Potem wznow Asystenta przez restart drukarki."
 
 #MSG_WIZARD_LOAD_FILAMENT c=20 r=8
 "Please insert PLA filament to the extruder, then press knob to load it."
-"Prosze umiesc filament PLA w ekstruderze i nacisnij przycisk by zaladowac."
+"Umiesc filament PLA w ekstruderze i nacisnij pokretlo, aby zaladowac."
 
 #MSG_WIZARD_INSERT_CORRECT_FILAMENT c=20 r=8
 "Please load PLA filament and then resume Wizard by rebooting the printer."
-"Prosze zaladuj filament PLA i przywroc Wizard przez restart drukarki."
+"Zaladuj filament PLA i przywroc Asystenta przez restart drukarki."
 
 #MSG_PLEASE_LOAD_PLA c=20 r=4
 "Please load PLA filament first."
-"Prosze, najpierw zaladuj filament PLA."
+"Najpierw zaladuj filament PLA."
 
 #MSG_CHECK_IDLER c=20 r=4
 "Please open idler and remove filament manually."
-"\x00"
+"Prosze odciagnac dzwignie dociskowa ekstrudera i recznie usunac filament."
 
 #MSG_PLACE_STEEL_SHEET c=20 r=4
 "Please place steel sheet on heatbed."
-"\x00"
+"Prosze umiescic plyte stalowa na stole podgrzewanym."
 
 #MSG_PRESS_TO_UNLOAD c=20 r=4
 "Please press the knob to unload filament"
-"\x00"
+"Nacisnij pokretlo aby rozladowac filament"
 
 #MSG_PULL_OUT_FILAMENT c=20 r=4
 "Please pull out filament immediately"
-"\x00"
+"Wyciagnij filament teraz"
 
 #MSG_REMOVE_STEEL_SHEET c=20 r=4
 "Please remove steel sheet from heatbed."
-"\x00"
+"Prosze zdjac plyte stalowa z podgrzewanego stolu."
 
 #MSG_PLEASE_WAIT c=20 r=0
 "Please wait"
@@ -760,7 +760,7 @@
 
 #MSG_POWERUP c=0 r=0
 "PowerUp"
-"\x00"
+"Uruchamianie"
 
 #MSG_PREHEAT_NOZZLE c=20 r=0
 "Preheat the nozzle!"
@@ -776,7 +776,7 @@
 
 #MSG_PRESS_TO_PREHEAT c=20 r=4
 "Press knob to preheat nozzle and continue."
-"\x00"
+"Wcisnij pokretlo aby rozgrzac dysze i kontynuowac."
 
 #MSG_PRINT_ABORTED c=20 r=0
 "Print aborted"
@@ -784,27 +784,27 @@
 
 #MSG_SELFTEST_PRINT_FAN_SPEED c=18 r=0
 "Print fan:"
-"\x00"
+"Went. wydruku:"
 
 #MSG_CARD_MENU c=0 r=0
 "Print from SD"
-"Druk z SD"
+"Druk z karty SD"
 
 #MSG_PRINT_PAUSED c=20 r=1
 "Print paused"
-"Druk zatrzymany"
+"Druk wstrzymany"
 
 #MSG_ERR_KILLED c=0 r=0
 "Printer halted. kill() called!"
-"\x00"
+"Drukarka zatrzymana. Wywolano komende kill()!"
 
 #MSG_FOLLOW_CALIBRATION_FLOW c=20 r=8
 "Printer has not been calibrated yet. Please follow the manual, chapter First steps, section Calibration flow."
-"Drukarka nie zostala jeszcze skalibrowana. Prosze kierowac sie instrukcja, rozdzial Zaczynamy, podrozdzial Selftest."
+"Drukarka nie zostala jeszcze skalibrowana. Kieruj sie Samouczkiem: rozdzial Pierwsze Kroki, sekcja Konfiguracja przed drukowaniem."
 
 #MSG_ERR_STOPPED c=0 r=0
 "Printer stopped due to errors. Fix the error and use M999 to restart. (Temperature is reset. Set it after restarting)"
-"\x00"
+"Drukarka zatrzymana z powodu bledow. Usun problem i uzyj M999 aby zrestartowac. (Temperatura jest zresetowana, ustaw ja po restarcie)"
 
 #WELCOME_MSG c=20 r=0
 "Prusa i3 MK3 ready."
@@ -812,19 +812,19 @@
 
 #MSG_PRUSA3D c=0 r=0
 "prusa3d.com"
-"prusa3d.cz"
+"\x00"
 
 #MSG_BED_CORRECTION_REAR c=14 r=1
 "Rear side [um]"
-"Do tylu [um]"
+"Tyl [um]"
 
 #MSG_RECOVERING_PRINT c=20 r=1
 "Recovering print    "
-"\x00"
+"Wznawianie wydruku"
 
 #MSG_M119_REPORT c=0 r=0
 "Reporting endstop status"
-"\x00"
+"Raportowanie statusu krancowek"
 
 #MSG_CALIBRATE_BED_RESET c=0 r=0
 "Reset XYZ calibr."
@@ -836,43 +836,43 @@
 
 #MSG_RESUME_PRINT c=0 r=0
 "Resume print"
-"Kontynuowac"
+"Wznowic wydruk"
 
 #MSG_RESUMING_PRINT c=20 r=1
 "Resuming print"
-"Wznowienie druku"
+"Wznawianie druku"
 
 #MSG_BED_CORRECTION_RIGHT c=14 r=1
 "Right side[um]"
-"W prawo [um]"
+"Prawo [um]"
 
 #MSG_SECOND_SERIAL_ON c=17 r=1
 "RPi port     [on]"
-"\x00"
+"Port RPi [wl]"
 
 #MSG_SECOND_SERIAL_OFF c=17 r=1
 "RPi port    [off]"
-"\x00"
+"Port RPi [wyl]"
 
 #MSG_WIZARD_RERUN c=20 r=7
 "Running Wizard will delete current calibration results and start from the beginning. Continue?"
-"Wlaczenie Wizard usunie obecne dane kalibracyjne i zacznie od nowa. Kontynuowac?"
+"Wlaczenie Asystenta usunie obecne dane kalibracyjne i zacznie od poczatku. Kontynuowac?"
 
 #MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_OFF c=19 r=1
 "SD card  [normal]"
-"karta SD [normal]"
+"Karta SD [normalna]"
 
 #MSG_TOSHIBA_FLASH_AIR_COMPATIBILITY_ON c=19 r=1
 "SD card [FlshAir]"
-"karta SD[FlshAir]"
+"Karta SD [FlashAir]"
 
 #MSG_SD_CARD_OK c=0 r=0
 "SD card ok"
-"\x00"
+"Karta SD OK"
 
 #MSG_SD_INIT_FAIL c=0 r=0
 "SD init fail"
-"\x00"
+"Inicjalizacja karty SD nieudana"
 
 #MSG_SD_PRINTING_BYTE c=0 r=0
 "SD printing byte "
@@ -880,7 +880,7 @@
 
 #MSG_FIND_BED_OFFSET_AND_SKEW_LINE1 c=60 r=0
 "Searching bed calibration point"
-"Szukam punktu kalibracyjnego podkladki"
+"Szukam punktu kalibracyjnego na stole"
 
 #MSG_LANGUAGE_SELECT c=0 r=0
 "Select language"
@@ -888,11 +888,11 @@
 
 #MSG_SELFTEST_OK c=0 r=0
 "Self test OK"
-"\x00"
+"Selftest OK"
 
 #MSG_SELFTEST_START c=20 r=0
 "Self test start  "
-"Self test start "
+"Rozpoczynanie Selftestu"
 
 #MSG_SELFTEST c=0 r=0
 "Selftest         "
@@ -900,7 +900,7 @@
 
 #MSG_SELFTEST_ERROR c=0 r=0
 "Selftest error !"
-"\x00"
+"Blad selftest !"
 
 #MSG_SELFTEST_FAILED c=20 r=0
 "Selftest failed  "
@@ -908,11 +908,11 @@
 
 #MSG_FORCE_SELFTEST c=20 r=8
 "Selftest will be run to calibrate accurate sensorless rehoming."
-"\x00"
+"Zostanie uruchomiony Selftest aby dokladnie skalibrowac punkt bazowy bez krancowek"
 
 #MSG_SET_TEMPERATURE c=19 r=1
 "Set temperature:"
-"Ustawic temperature"
+"Ustaw. temperatury:"
 
 #MSG_SETTINGS c=0 r=0
 "Settings"
@@ -924,27 +924,27 @@
 
 #MSG_DWELL c=0 r=0
 "Sleep..."
-"\x00"
+"Czuwanie..."
 
 #MSG_FILE_CNT c=20 r=4
 "Some files will not be sorted. Max. No. of files in 1 folder for sorting is 100."
-"\x00"
+"Niektore pliki nie zostana posortowane. Max. liczba plikow w 1 folderze = 100."
 
 #MSG_SORT_NONE c=17 r=1
 "Sort:      [None]"
-"\x00"
+"Sortowanie:[brak]"
 
 #MSG_SORT_TIME c=17 r=1
 "Sort:      [Time]"
-"\x00"
+"Sortowanie:[czas]"
 
 #MSG_SORT_ALPHA c=17 r=1
 "Sort:  [Alphabet]"
-"\x00"
+"Sort.:[alfabet]"
 
 #MSG_SORTING c=20 r=1
 "Sorting files"
-"\x00"
+"Sortowanie plikow"
 
 #MSG_SPEED c=0 r=0
 "Speed"
@@ -956,15 +956,15 @@
 
 #MSG_TEMP_CAL_WARNING c=20 r=4
 "Stable ambient temperature 21-26C is needed a rigid stand is required."
-"\x00"
+"Potrzebna jest stabilna temperatura otoczenia 21-26C i stabilne podloze."
 
 #MSG_STATISTICS c=0 r=0
 "Statistics  "
-"Statystyka "
+"Statystyki"
 
 #MSG_STEPPER_TOO_HIGH c=0 r=0
 "Steprate too high: "
-"\x00"
+"Liczba krokow zbyt wysoka:"
 
 #MSG_STOP_PRINT c=0 r=0
 "Stop print"
@@ -972,39 +972,39 @@
 
 #MSG_STOPPED c=0 r=0
 "STOPPED. "
-"\x00"
+"ZATRZYMANO."
 
 #MSG_SUPPORT c=0 r=0
 "Support"
-"Pomoc"
+"Wsparcie"
 
 #MSG_SELFTEST_SWAPPED c=0 r=0
 "Swapped"
-"\x00"
+"Zamieniono"
 
 #MSG_TEMP_CALIBRATION c=20 r=1
 "Temp. cal.          "
-"Ciepl. kal. "
+"Kalibracja temp."
 
 #MSG_TEMP_CALIBRATION_ON c=20 r=1
 "Temp. cal.   [on]"
-"Ciepl. kal. [ON]"
+"Kalibr. temp. [wl]"
 
 #MSG_TEMP_CALIBRATION_OFF c=20 r=1
 "Temp. cal.  [off]"
-"Ciepl. kal. [OFF]"
+"Kalibr. temp. [wyl]"
 
 #MSG_CALIBRATION_PINDA_MENU c=17 r=1
 "Temp. calibration"
-"Cieplna kalibr."
+"Kalibracja temp."
 
 #MSG_TEMP_CAL_FAILED c=20 r=8
 "Temperature calibration failed"
-"\x00"
+"Kalibracja temperaturowa nieudana"
 
 #MSG_TEMP_CALIBRATION_DONE c=20 r=12
 "Temperature calibration is finished and active. Temp. calibration can be disabled in menu Settings->Temp. cal."
-"Cieplna kalibracja zakonczona. Kontynuuj przyciskiem"
+"Kalibracja temperaturowa zakonczona i wlaczona. Moze byc wylaczona z menu Ustawienia -> Kalibracja temp."
 
 #MSG_TEMPERATURE c=0 r=0
 "Temperature"
@@ -1012,63 +1012,63 @@
 
 #MSG_MENU_TEMPERATURES c=15 r=1
 "Temperatures"
-"\x00"
+"Temperatury"
 
 #MSG_ENDSTOP_HIT c=0 r=0
 "TRIGGERED"
-"\x00"
+"AKTYWOWANO"
 
 #MSG_TUNE c=0 r=0
 "Tune"
-"Nastroic"
+"Strojenie"
 
 #MSG_UNLOAD_FILAMENT c=17 r=0
 "Unload filament"
-"Wyjac filament"
+"Wyladowanie filamentu"
 
 #MSG_UNLOADING_FILAMENT c=20 r=1
 "Unloading filament"
-"Wysuwam filament"
+"Rozladowuje filament"
 
 #MSG_USED c=19 r=1
 "Used during print"
-"Uzyte przy druku"
+"Uzyte podczas druku"
 
 #MSG_MENU_VOLTAGES c=15 r=1
 "Voltages"
-"\x00"
+"Napiecia"
 
 #MSG_SD_VOL_INIT_FAIL c=0 r=0
 "volume.init failed"
-"\x00"
+"niepowodzenie volume.init "
 
 #MSG_USERWAIT c=0 r=0
 "Wait for user..."
-"\x00"
+"Czekam na uzytkownika..."
 
 #MSG_WAITING_TEMP c=20 r=3
 "Waiting for nozzle and bed cooling"
-"Oczekiwanie na wychlodzenie dyszy i podkladki."
+"Oczekiwanie na wychlodzenie dyszy i stolu"
 
 #MSG_WAITING_TEMP_PINDA c=20 r=3
 "Waiting for PINDA probe cooling"
-"\x00"
+"Czekam az spadnie temp. sondy PINDA"
 
 #MSG_CHANGED_BOTH c=20 r=4
 "Warning: both printer type and motherboard type changed."
-"\x00"
+"Ostrzezenie: typ drukarki i plyta glowna ulegly zmianie."
 
 #MSG_CHANGED_MOTHERBOARD c=20 r=4
 "Warning: motherboard type changed."
-"\x00"
+"Ostrzezenie: plyta glowna ulegla zmianie."
 
 #MSG_CHANGED_PRINTER c=20 r=4
 "Warning: printer type changed."
-"\x00"
+"Ostrzezenie: rodzaj drukarki ulegl zmianie"
 
 #MSG_UNLOAD_SUCCESSFUL c=20 r=2
 "Was filament unload successful?"
-"\x00"
+"Wyladowanie fil. ok?"
 
 #MSG_SELFTEST_WIRINGERROR c=0 r=0
 "Wiring error"
@@ -1076,23 +1076,23 @@
 
 #MSG_WIZARD c=17 r=1
 "Wizard"
-"\x00"
+"Asystent"
 
 #MSG_SD_WORKDIR_FAIL c=0 r=0
 "workDir open failed"
-"\x00"
+"blad otwierania workDir"
 
 #MSG_SD_WRITE_TO_FILE c=0 r=0
 "Writing to file: "
-"\x00"
+"Zapis do pliku:"
 
 #MSG_XYZ_DETAILS c=19 r=1
 "XYZ cal. details"
-"Szczegoly kal.XYZ"
+"Szczegoly kal. XYZ"
 
 #MSG_BED_SKEW_OFFSET_DETECTION_FITTING_FAILED c=20 r=8
 "XYZ calibration failed. Please consult the manual."
-"Kalibracja XYZ niepowiedziona. Sprawdzic w instrukcji."
+"Kalibracja XYZ nieudana. Sprawdz przyczyny i rozwiazania w instrukcji."
 
 #MSG_YES c=0 r=0
 "Yes"
@@ -1100,5 +1100,5 @@
 
 #MSG_WIZARD_QUIT c=20 r=8
 "You can always resume the Wizard from Calibration -> Wizard."
-"Zawsze mozesz przywrocic Wizard przez Kalibracja -> Wizard."
+"Zawsze mozesz uruchomic Asystenta ponownie przez Kalibracja -> Asystent."