Skip to content

Commit

Permalink
new script for estimate percent of advancement of translations
Browse files Browse the repository at this point in the history
  • Loading branch information
filux committed Sep 13, 2016
1 parent 1008050 commit a0a41b2
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 23 deletions.
16 changes: 10 additions & 6 deletions .tx/tx.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Use this script to facilitate most common jobs related with transifex-client.
# ----------------------------------------------------------------------------
# 2014 Written by filux <heross(@@)o2.pl>
# Copyright (c) 2014-2015 under GNU GPL v3.0+
# Copyright (c) 2014-2016 under GNU GPL v3.0+

CURRENTDIR="$(dirname "$(readlink -f "$0")")"
cd $CURRENTDIR/..
Expand All @@ -20,7 +20,7 @@ echo -e "\n Use this script to facilitate most common jobs related with transife
'... --help' - this text.\n"
exit 0
elif [ "$1" = "--release" ]; then
find . -name "*.lng" -type f -not -name "english.lng" -not -name "*_english.lng" \
find . -maxdepth 4 -name "*.lng" -type f -not -name "english.lng" -not -name "*_english.lng" \
-not -name "*_default.lng" | xargs rm -f
fi

Expand All @@ -37,13 +37,13 @@ elif [ "$1" = "" ] || [ "$1" = "--release" ]; then

lang_list1="$(find ./data/lang/hint/ -maxdepth 1 -name "*.lng" -type f -not -name "*english.lng" \
-not -name "*default.lng")"
lang_list2="$(find . -name "*.lng" -type f -not -name "*english.lng" -not -name "*default.lng" \
-not -wholename "./data/lang/*.lng")"
lang_list2="$(find . -maxdepth 4 -name "*.lng" -type f -not -name "*english.lng" \
-not -name "*default.lng" -not -wholename "./data/lang/*.lng")"
lang_list="$(echo -e "$lang_list1\n$lang_list2" | awk -F "/" '{ print $NF }' \
| awk -F "_" '{ print $NF }' | awk '!a[$0]++' | xargs echo)"
for s_lang in $lang_list; do
main_lang="$(find ./data/lang/ -maxdepth 1 -name "$s_lang" -type f | xargs echo)"
if [ "$main_lang" = "" ]; then find . -name "*$s_lang" | xargs rm -f; fi
if [ "$main_lang" = "" ]; then find . -maxdepth 4 -name "*$s_lang" | xargs rm -f; fi
done

main_lang2="$(find ./data/lang/ -maxdepth 1 -name "*.lng" -type f -not -name "*english.lng" \
Expand All @@ -57,13 +57,17 @@ elif [ "$1" = "" ] || [ "$1" = "--release" ]; then
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# this part has sed rules from the script Written by Tom Reynolds <tomreyn@megaglest.org>
# with Copyright (c) 2012 Tom Reynolds under GNU GPL v3.0
files="$(find . -type f -name *.lng | sort -u | xargs)"
files="$(find . -maxdepth 4 -type f -name "*.lng" | sort -u | xargs)"
for file in $files; do
sed -i -e 's/&quot;/"/g' -e 's/&bdquo;/„/g' -e 's/&ldquo;/“/g' -e 's/[ \t]*$//' -e 's/^\([^=]*\)=\s*/\1=/' \
-e 's/ */ /g' -e 's/ \\n/\\n/g' -e 's/\\n /\\n/g' -e 's/\\n\\n\\n/\\n\\n/g' -e 's/\\n\\n$/\\n/g' "$file"
done
# -^V- a tiny bit more time between edits
for file in $files; do
sed -i -e '$a\' "$file"
done
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
"$CURRENTDIR/../others/appdata/estimate-the-translations.sh"; echo
fi

exit 0
42 changes: 42 additions & 0 deletions others/appdata/estimate-the-translations.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/sh
# Use this script to estimate percent of advancement of translations.
#
# ----------------------------------------------------------------------------
# 2016 Written by filux <heross(@@)o2.pl>
# Copyright (c) 2016 under GNU GPL v3.0+
LANG=C

CURRENTDIR="$(dirname "$(readlink -f "$0")")"
cd "$CURRENTDIR"
Appdata_file="$CURRENTDIR/megaglest.appdata.xml"

Lang_map="$(awk -F '=' '/lang_map/ {print "=" $2}' "$CURRENTDIR/../../.tx/config" | sed 's/[,=] /\\n/g')"
Translations_list="$(find "$CURRENTDIR/../../data/lang" -maxdepth 1 -name "*.lng" -type f \
| awk -F '/' '{ print $NF }' | awk -F '.lng' '{ print $1 }' | sort)"
En_files="$(find "$CURRENTDIR/../../" -maxdepth 4 -name "*english.lng" -o -name "*_default.lng" -type f)"
En_strings=0
for En_file in $En_files; do
En_strings="$(($En_strings + $(grep -v '^[;#]\|^[\t ]*$' "$En_file" -c)))"
done
Languages=" <languages>"
for Translation in $Translations_list; do
if [ "$Translation" != "english" ]; then
Tr_abbreviation="$(echo "$Lang_map" | awk -F ':' '/'$Translation'$/ {print $1}')"
Tr_files="$(find "$CURRENTDIR/../../" -maxdepth 4 -name "*${Translation}.lng" -type f)"
Tr_strings=0
for Tr_file in $Tr_files; do
Tr_strings="$(($Tr_strings + $(grep -v '^[;#]\|^[\t ]*$' "$Tr_file" -c)))"
done
Tr_perc="$(((($Tr_strings * 100) + ($En_strings / 2)) / $En_strings))"
# ^ correct rounding
else
Tr_abbreviation="en"; Tr_files="$En_files"; Tr_strings="$En_strings"; Tr_perc=100
fi
Languages="$Languages||| <lang percentage=\"$Tr_perc\">$Tr_abbreviation</lang>"
Translations="${Translations}$Translation - $Tr_perc%, "
done
echo "$Translations"
Languages="$Languages||| </languages>"
sed -z -i -e 's/\n/|||/g' "$Appdata_file"; sleep 0.25s
sed -i -e "s@[ \t]*<languages>.*</languages>@$Languages@" "$Appdata_file"; sleep 0.25s
sed -z -i -e 's/|||/\n/g' "$Appdata_file"
34 changes: 17 additions & 17 deletions others/appdata/megaglest.appdata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -38,32 +38,32 @@
<developer_name>The MegaGlest Team</developer_name>
<update_contact>contact_at_megaglest.org</update_contact>
<languages>
<!-- alphabetical order (of full names) -->
<lang percentage="59">sq</lang>
<lang percentage="67">ar</lang>
<lang percentage="55">sq</lang>
<lang percentage="68">ar</lang>
<lang percentage="99">zh_CN</lang>
<lang percentage="86">zh_TW</lang>
<lang percentage="64">zh_TW</lang>
<lang percentage="100">cs</lang>
<lang percentage="94">da</lang>
<lang percentage="96">nl</lang>
<lang percentage="99">fr</lang>
<lang percentage="95">da</lang>
<lang percentage="97">nl</lang>
<lang percentage="100">en</lang>
<lang percentage="100">fr</lang>
<lang percentage="100">gd</lang>
<lang percentage="99">de</lang>
<lang percentage="100">de</lang>
<lang percentage="99">el</lang>
<lang percentage="96">he</lang>
<lang percentage="99">it</lang>
<lang percentage="54">ja</lang>
<lang percentage="96">nqo</lang>
<lang percentage="97">he</lang>
<lang percentage="100">it</lang>
<lang percentage="52">ja</lang>
<lang percentage="97">nqo</lang>
<lang percentage="100">pl</lang>
<lang percentage="62">pt</lang>
<lang percentage="63">pt</lang>
<lang percentage="97">pt_BR</lang>
<lang percentage="96">ro</lang>
<lang percentage="97">ro</lang>
<lang percentage="100">ru</lang>
<lang percentage="77">sl</lang>
<lang percentage="100">es</lang>
<lang percentage="83">tr</lang>
<lang percentage="89">uz</lang>
<lang percentage="60">vi</lang>
<lang percentage="78">tr</lang>
<lang percentage="87">uz</lang>
<lang percentage="59">vi</lang>
</languages>
<translation/>
</component>

0 comments on commit a0a41b2

Please sign in to comment.