| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 | #!/bin/bash## lang-add.sh - multi-language support script#  add new texts from list (lang_add.txt) to all dictionary files## Input files:#  lang_add.txt# Updated files:#  lang_en.txt and all lang_en_xx.txt## insert single text to english dictionary# $1 - text to insertinsert_en(){	#replace '[' and ']' in string with '\[' and '\]'	str=$(echo "$1" | sed "s/\[/\\\[/g;s/\]/\\\]/g")	# extract english texts, merge new text, grep line number	ln=$((cat lang_en.txt; echo "$1") | sed "/^$/d;/^#/d" | sort | grep -n "$str" | sed "s/:.*//")	# calculate position for insertion	ln=$((3*(ln-2)+1))	# insert new text	sed -i "$ln"'i\\' lang_en.txt	sed -i "$ln"'i\'"$1"'\' lang_en.txt	sed -i "$ln"'i\#\' lang_en.txt}# insert single text to translated dictionary# $1 - text to insert# $2 - sufixinsert_xx(){	#replace '[' and ']' in string with '\[' and '\]'	str=$(echo "$1" | sed "s/\[/\\\[/g;s/\]/\\\]/g")	# extract english texts, merge new text, grep line number	ln=$((cat lang_en_$2.txt; echo "$1") | sed "/^$/d;/^#/d" | sed -n 'p;n' | sort | grep -n "$str" | sed "s/:.*//")	# calculate position for insertion	ln=$((4*(ln-2)+1))	# insert new text	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\#\' lang_en_$2.txt}# check if input file existsif ! [ -e lang_add.txt ]; then	echo "file lang_add.txt not found"	exit 1ficat lang_add.txt | sed 's/^/"/;s/$/"/' | while read new_s; do	if grep "$new_s" lang_en.txt >/dev/null; then		echo "text already exist:"		echo "$new_s"		echo	else		echo "adding text:"		echo "$new_s"		echo		insert_en "$new_s"		insert_xx "$new_s" 'cz'		insert_xx "$new_s" 'de'		insert_xx "$new_s" 'es'		insert_xx "$new_s" 'fr'		insert_xx "$new_s" 'it'		insert_xx "$new_s" 'pl'#Community language support#Dutch		insert_xx "$new_s" 'nl'#Use the 2 lines below as a template and replace 'qr'##New language#		insert_xx "$new_s" 'qr'	fidoneread -t 5exit 0
 |