123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- #!/bin/bash
- LANGUAGES="cz de es fr it pl"
- LANGUAGES+=" nl"
- if [ -z "$CONFIG_OK" ]; then eval "$(cat config.sh)"; fi
- if [ -z "$CONFIG_OK" ] | [ $CONFIG_OK -eq 0 ]; then echo 'Config NG!' >&2; exit 1; fi
- if [ ! -z "$COMMUNITY_LANGUAGES" ]; then
- LANGUAGES+=" $COMMUNITY_LANGUAGES"
- fi
- LANGUAGES=$(ls lang_en_*.txt|cut -d '_' -f3|cut -d '.' -f1)
- echo "lang-add languages:$LANGUAGES" >&2
- insert_en()
- {
-
- str=$(echo "$1" | sed 's/\[/\\\[/g;s/\]/\\\]/g')
-
- ln=$((cat lang_en.txt; echo "$1") | sed "/^$/d;/^#/d" | sort | grep -n "$str" | sed "s/:.*//;q")
-
- ln=$((3*(ln-2)+1))
- [ "$ln" -lt 1 ] && ln=1
-
- sed -i "$ln"'i\\' lang_en.txt
- sed -i "$ln"'i\'"$1"'\' lang_en.txt
- sed -i "${ln}i\\#$2" lang_en.txt
- }
- insert_xx()
- {
-
- str=$(echo "$1" | sed 's/\[/\\\[/g;s/\]/\\\]/g')
-
- ln=$((cat lang_en_$2.txt; echo "$1") | sed "/^$/d;/^#/d" | sed -n 'p;n' | sort | grep -n "$str" | sed "s/:.*//;q")
-
- ln=$((4*(ln-2)+1))
- [ "$ln" -lt 1 ] && ln=1
-
- sed -i "$ln"'i\\' lang_en_$2.txt
- sed -i "$ln"'i\"\x00"\' lang_en_$2.txt
- sed -i "$ln"'i\'"$1"'\' lang_en_$2.txt
- sed -i "${ln}i\\#$3" lang_en_$2.txt
- }
- find_metadata()
- {
- FIND_STR=$(echo $1|sed 's/\\/\\\\/g;s/\\\\x0a/\\\\n/g')
- sed -ne "s^.*\(_[iI]\|ISTR\)($FIND_STR).*////\(.*\)^\2^p" ../Firmware/*.[ch]* | head -1
- }
- if ! [ -e lang_add.txt ]; then
- echo "file lang_add.txt not found"
- exit 1
- fi
- cat lang_add.txt | sed 's/^/"/;s/$/"/;s/\\/\\\\/g' | while read new_s; do
- if grep "$new_s" lang_en.txt >/dev/null; then
- echo "text already exist:"
- echo "$new_s"
- echo
- else
- meta=$(find_metadata "$new_s")
- echo "adding text:"
- echo "$new_s ($meta)"
- echo
- insert_en "$new_s" "$meta"
- for lang in $LANGUAGES; do
- insert_xx "$new_s" "$lang" "$meta"
- done
- fi
- done
- read -t 5
- exit 0
|