Selaa lähdekoodia

New ML support - scripts tunning

Robert Pelnar 6 vuotta sitten
vanhempi
commit
7ab53af604
3 muutettua tiedostoa jossa 42 lisäystä ja 36 poistoa
  1. 29 26
      lang/make_lang.sh
  2. 5 5
      lang/po/make_po.sh
  3. 8 5
      lang/progmem.sh

+ 29 - 26
lang/make_lang.sh

@@ -20,34 +20,26 @@ if [ -z "$LANG" ]; then LANG='cz'; fi
 #
 #
 
-if [ "$LANG" == "all" ]; then
- ./make_lang.sh cz
- ./make_lang.sh de
- ./make_lang.sh es
- ./make_lang.sh it
- ./make_lang.sh pl
- exit 0
-fi
-
-function finish
+finish()
 {
- if [ "$1" == "0" ]; then
+ if [ $1 -eq 0 ]; then
   if [ -e lang_en.tmp ]; then rm lang_en.tmp; fi
   if [ -e lang_en_$LANG.tmp ]; then rm lang_en_$LANG.tmp; fi
   if [ -e lang_en_$LANG.dif ]; then rm lang_en_$LANG.dif; fi
  fi
- echo
- if [ "$1" == "0" ]; then
+# echo >&2
+ if [ $1 -eq 0 ]; then
   echo "make_lang.sh finished with success" >&2
  else
   echo "make_lang.sh finished with errors!" >&2
  fi
- case "$-" in
-  *i*) echo "press enter key"; read ;;
- esac
  exit $1
 }
 
+make_lang()
+{
+LANG=$1
+
 echo "make_lang.sh started" >&2
 echo "selected language=$LANG" >&2
 
@@ -84,7 +76,7 @@ echo -n " generating lang_$LANG.dat..." >&2
 cat lang_$LANG.txt | sed "s/\\\\/\\\\\\\\/g" | while read s; do
  s=${s#\"}
  s=${s%\"}
- echo -n -e "$s"'\x00'
+ /bin/echo -e -n "$s\x00"
 done >lang_$LANG.dat
 echo "OK" >&2
 
@@ -114,22 +106,22 @@ awk_ui16='{ h=int($1/256); printf("\\x%02x\\x%02x\n", int($1-256*h), h); }'
 #write data to binary file with dd
 
 echo -n "  writing header (16 bytes)..." >&2
-echo -n -e "$lt_magic" |\
+/bin/echo -n -e "$lt_magic" |\
  dd of=lang_$LANG.bin bs=1 count=4 seek=0 conv=notrunc 2>/dev/null
-echo -n -e $(echo -n "$lt_size" | awk "$awk_ui16") |\
+/bin/echo -n -e $(echo -n "$lt_size" | awk "$awk_ui16") |\
  dd of=lang_$LANG.bin bs=1 count=2 seek=4 conv=notrunc 2>/dev/null
-echo -n -e $(echo -n "$lt_count" | awk "$awk_ui16") |\
+/bin/echo -n -e $(echo -n "$lt_count" | awk "$awk_ui16") |\
  dd of=lang_$LANG.bin bs=1 count=2 seek=6 conv=notrunc 2>/dev/null
-echo -n -e $(echo -n "$lt_chsum" | awk "$awk_ui16") |\
+/bin/echo -n -e $(echo -n "$lt_chsum" | awk "$awk_ui16") |\
  dd of=lang_$LANG.bin bs=1 count=2 seek=8 conv=notrunc 2>/dev/null
-echo -n -e "$lt_resv0" |\
+/bin/echo -n -e "$lt_resv0" |\
  dd of=lang_$LANG.bin bs=1 count=2 seek=10 conv=notrunc 2>/dev/null
-echo -n -e "$lt_resv1" |\
+/bin/echo -n -e "$lt_resv1" |\
  dd of=lang_$LANG.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
-echo -n -e $(cat lang_$LANG.ofs | awk "$awk_ui16" | tr -d '\n'; echo) |\
+/bin/echo -n -e $(cat lang_$LANG.ofs | awk "$awk_ui16" | tr -d '\n'; echo) |\
  dd of=./lang_$LANG.bin bs=1 count=$lt_offs_size seek=16 conv=notrunc 2>/dev/null
 echo "OK" >&2
 
@@ -141,8 +133,19 @@ echo " lang_table details:" >&2
 echo "  lt_count = $lt_count" >&2
 echo "  lt_size  = $lt_size" >&2
 echo "  lt_chsum = $lt_chsum" >&2
+}
 
-finish 0
-
+echo $LANG
 
+if [ "$LANG" = "all" ]; then
+ make_lang cz
+ make_lang de
+ make_lang es
+ make_lang it
+ make_lang pl
+ exit 0
+else
+ make_lang $LANG
+fi
 
+finish 0

+ 5 - 5
lang/po/make_po.sh

@@ -81,19 +81,19 @@ cat ../lang_en_$LANG.txt | sed "s/\\\\/\\\\\\\\/g;s/^#/#: /" | while read -r s;
  if [ "$s" == "" ]; then
   echo "  processing $num of $num_texts" >&2
   if [ "$s0" == "\"\\\\x00\"" ]; then
-   search=$(echo -e "$s1")
+   search=$(/bin/echo -e "$s1")
    found=$(grep -m1 -n -F "$search" $files | head -n1 | cut -f1-2 -d':' | sed "s/^.*\///")
    echo "#: $found"
    echo "#, fuzzy"
-   echo -e "msgid $s1"
+   /bin/echo -e "msgid $s1"
    echo 'msgstr ""'
    echo
   else
-   search=$(echo -e "$s1")
+   search=$(/bin/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 -e "msgstr $s0"
+   /bin/echo -e "msgid $s1"
+   /bin/echo -e "msgstr $s0"
    echo
   fi
   num=$((num+1))

+ 8 - 5
lang/progmem.sh

@@ -14,7 +14,7 @@
 #  $PROGMEM.hex - variables - hex
 #  $PROGMEM.chr - variables - char escape
 #  $PROGMEM.var - variables - strings
-#  $PROGMEM.txt - text data only
+#  $PROGMEM.txt - text data only (not used)
 #
 #
 # Config:
@@ -86,7 +86,7 @@ echo " progmem.sh (5) - calculating start and stop address" >&2
 #calculate start addres of section ".$PROGMEM"
 PROGMEM_BEG=$(head -n1 $PROGMEM.sym | while read offs size name; do echo "0x"$offs; done)
 #calculate stop addres of section ".$PROGMEM"
-PROGMEM_END=$(tail -n1 $PROGMEM.sym | while read offs size name; do printf "0x%x" $(("0x"$offs + "0x"$size)); done)
+PROGMEM_END=$(tail -n1 $PROGMEM.sym | while read offs size name; do printf "0x%x" $((0x$offs + 0x$size)); done)
 echo "  START address = "$PROGMEM_BEG >&2
 echo "  STOP  address = "$PROGMEM_END >&2
 
@@ -112,8 +112,9 @@ echo " progmem.sh (7) - preparing string data" >&2
 # replace all tabs with spaces
 cat $PROGMEM.hex | sed 's/ /\t/;s/ /\t /;s/ /\\x/g;s/\t/ /g' > $PROGMEM.chr
 
+
 # (8)
-#convert $PROGMEM.chr to $PROGMEM.var (convert data to text)
+#convert $PROGMEM.chr to $PROGMEM.var (convert data to text, TODO: rewrite as awk script)
 echo " progmem.sh (8) - converting string data" >&2
 cat $PROGMEM.chr | \
  sed 's/ \\xff\\xff/ /;' | \
@@ -121,8 +122,10 @@ cat $PROGMEM.chr | \
  sed 's/\\x1b/\\\\\\x1b/g;' | \
  sed 's/\\x01/\\\\\\x01/g;' | \
  sed 's/\\xf8/\\\\\\xf8/g;' | \
- sed 's/\\x00$/\\x0a/;s/^/printf "/;s/$/"/' | sh > $PROGMEM.var
-cat $PROGMEM.var | sed 's/\r/\n/g' |sed -E 's/^[0-9a-f]{8} [^ ]* //' >$PROGMEM.txt
+ sed 's/\\x00$//;s/^/echo -e "/;s/$/"/' | sh > $PROGMEM.var
+
+#this step can be omitted because .txt file is not used
+#cat $PROGMEM.var | sed 's/\r/\n/g' |sed -E 's/^[0-9a-f]{8} [^ ]* //' >$PROGMEM.txt
 
 echo "progmem.sh finished" >&2