X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=check-translations.sh;h=a7406532d8d61829e952a19d91ccc5ccb0e28494;hp=654dae4c256c8c8afd2a5061e840781d568e03dd;hb=e0052f4a45840806e5896ac1c42919773a65b17c;hpb=46ab0565581b318ba02e7f9e9ddf879e90b8d452 diff --git a/check-translations.sh b/check-translations.sh index 654dae4c2..a7406532d 100755 --- a/check-translations.sh +++ b/check-translations.sh @@ -5,6 +5,10 @@ case "$1" in mode=pot mail=false ;; + txt) + mode=txt + mail=false + ;; po) mode=po mail=true @@ -30,15 +34,56 @@ if [ x"$mode" = x"pot" ]; then } | xgettext -LC -k_ -f- --from-code utf-8 -F -o common.pot >&2 fi +if [ x"$mode" = x"txt" ]; then + { + item=`grep "^en " languages.txt` + echo "$item" + for X in common.*.po; do + [ -f "$X" ] || continue + if [ -n "$language" ]; then + if [ x"${X#common.}" != x"$language.po" ]; then + continue + fi + else + if [ x"${X#common.}" = x"en.po" ]; then + continue + fi + fi + po=`msgmerge -N "$X" common.pot` + ne=`printf "%s\n" "$po" | msgfmt -o /dev/null --check-format --check-header --use-fuzzy - 2>&1 | grep . | wc -l` + nu=`printf "%s\n" "$po" | msgattrib --untranslated - | grep -c ^#:` + nf=`printf "%s\n" "$po" | msgattrib --fuzzy - | grep -c ^#:` + nt=`printf "%s\n" "$po" | grep -c ^#:` + n=$(($ne + $nu + $nf)) + p=$(( (nt - n) * 100 / nt )) + echo >&2 "TODO for translation $X:" + echo >&2 "Errors: $ne" + echo >&2 "Untranslated: $nu" + echo >&2 "Fuzzy: $nf" + echo >&2 "Total: $nt" + echo >&2 "Percent: $p" + l=${X#common.} + l=${l%.po} + if ! item=`grep "^$l " languages.txt`; then + if [ "$p" -lt 50 ]; then + continue + fi + item="$l $l \"$l\" 0%" + fi + printf "%s\n" "$item" | sed -e "s/[0-9][0-9]*%/$p%/" + done + } | tr '"' '\t' | sort -k3 | tr '\t' '"' +fi + if [ x"$mode" = x"po" ]; then for X in common.*.po; do [ -f "$X" ] || continue if [ -n "$language" ]; then - if [ x"${X#*.dat.}" != x"$language.po" ]; then + if [ x"${X#common.}" != x"$language.po" ]; then continue fi else - if [ x"${X#*.dat.}" = x"en.po" ]; then + if [ x"${X#common.}" = x"en.po" ]; then continue fi fi @@ -189,7 +234,7 @@ EOF for X in common.*.po.disabled; do [ -f "$X" ] || continue if [ -n "$language" ]; then - if [ x"${X#*.dat.}" != x"$language.po" ]; then + if [ x"${X#common.}" != x"$language.po" ]; then continue fi fi