deff8dcfde
* Add and update missing translations - updated in Firmware/ files the missing `c=xx` column and `r=yy` rows. - added missing translations to lang/lang_en*.txt Everyone is developing and adding messages to serial and especially to LCD PLEASE add `//// c=xx` or `//// c=xx r=yy` comments. Preparing translations files without that information is a pain in the ... and takes way more time for somebody else to review to code as it would take you. * No need to have `MSG_abcde` again in comments `////` in `messages.c` * German translation * Missed a space * Use the same format as somewhere else * French translation. I am not a native French speaking person, so please excuse my mistakes I may have done. * Spanish translation. I am not a native Spanish speaking person, so please excuse my mistakes I may have done. * CZ translation * Fix typos * Another fix It is Dimmwert and not Dim Wert * Fix issues reported by `lang-check.py` * Add "difficult" messages containing `%` * Updated MSG and German translation * removed a translation as it breaks the language selection * No need to wait until any-key is pressed * No need to wait any-key is pressed * Fixed two LF issues * Updated PO files ready to be send to translators * Add missing italian translations * Improve some existing italian translations * More italian fixes * More italian fixes * Add exceptions in editorconfig for po files to avoid recoding * Fix typo Thanks @DRracer for pointing out * Italian translation by @wavexx * Update po/new/*.po files * Update after merging MK3 branch * Update French translation and some c=xx comments Big thanks to @awenelo @carlin57 for helping with the french translations and their comments. * Update po files after French translation * Fixed most `lang-check.py` reported translation errors for Czech and German. Two Czech have to be reviewed as these are too long. One German is correct as it is shown in c=20 r=2 but is 1 char longer than this to split the message. One German translation seams to be to long but have to review the actual max length * Fix `lang-check.py` Spanish translation errors There have been quite lot TOO long messages, Can't imagine that nobody every complained about that. * Fix `lang-check.py` Italian translations errors * Update not_tran and not_used files after fixing several translations * Some more error fixes and update of `po` files * Polish translation * Czech updated * Fix typo * no need to translate `\x00` if it is the same * Polish: Runouts->Koniec * Polish: Runouts->Konce f ... hopefully the last change * Added MK2.5/s auto power mode to eeprom doxygen * Final updates. - Compiled all versions with multi-languages - Compiled all versions with EN_ONLY - updated all /lang/po/Firmware*.* files * Add crlf attributes for po files As done for editorconfig, this similarly forces git to handle po files consistently in DOS format. * Further improvent of IT translations * Updated translation Added cleanup to PF-build.sh * remove lang/not_tran* and lang/not_used mistakenly added into the PR Co-authored-by: DRracer <drracer@seznam.cz> Co-authored-by: Yuri D'Elia <wavexx@thregr.org> Co-authored-by: D.R.racer <drracer@drracer.eu>
76 lines
2.1 KiB
Bash
Executable File
76 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# 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 -a lang_$1_1.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 -t 5
|
|
exit
|