X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=check-translations.sh;h=4fa4e86b6ecd0d08d620207263658b5210d07661;hb=4e9d6d4b0ae3ae88d075388468e370a20dd81e62;hp=4c773bef95fe350c47467d52d404e0d238b2376b;hpb=1142a035555a8379918670115e4abcd37262767f;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/check-translations.sh b/check-translations.sh index 4c773bef95..4fa4e86b6e 100755 --- a/check-translations.sh +++ b/check-translations.sh @@ -8,7 +8,7 @@ case "$1" in po) mode=po mail=true - language= + language=$2 ;; '') echo "Sorry, you are not supposed to use this script." @@ -40,6 +40,9 @@ for VM in menu csprogs; do find qcsrc/common -type f -not -name \*.po -not -name \*.txt if [ x"$VM" = x"csprogs" ]; then find qcsrc/server -type f -name w_\*.qc + elif [ x"$VM" = x"menu" ]; then + find qcsrc/server -type f -name w_\*.qc | xargs grep ^REGISTER_WEAPON > weapons.qc.tmp + echo "weapons.qc.tmp" fi } | xgettext -LC -k_ -f- --from-code utf-8 -o "$VM".dat.pot >&2 fi @@ -51,22 +54,49 @@ for VM in menu csprogs; do if [ x"${X#*.dat.}" != x"$language.po" ]; then continue fi + else + if [ x"${X#*.dat.}" = x"en.po" ]; then + continue + fi fi + msgmerge -F -U "$X" "$VM".dat.pot >&2 + msgattrib --untranslated "$X" | grep . > "$X".untranslated || rm -f "$X".untranslated + msgattrib --fuzzy "$X" | grep . > "$X".fuzzy || rm -f "$X".fuzzy + nu=$((`grep -c ^#: "$X".untranslated 2>/dev/null` + 0)) + nf=$((`grep -c ^#: "$X".fuzzy 2>/dev/null` + 0)) + n=$(($nu + $nf)) + changed=false for Y in ~/check-translations/"$X".*; do [ -f "$Y" ] || continue + if ! msgcat "$Y" >/dev/null; then + echo "File $Y has syntax errors. Skipped." + continue + fi + echo "Merging $Y..." + vim -E "$Y" < "$X".new mv "$X".new "$X" + changed=true done - msgmerge -F -U "$X" "$VM".dat.pot >&2 - msgattrib --untranslated "$X" | grep . > "$X".untranslated || rm -f "$X".untranslated - msgattrib --fuzzy "$X" | grep . > "$X".fuzzy || rm -f "$X".fuzzy - nu=$((`grep -c ^#: "$X".untranslated` + 0)) - nf=$((`grep -c ^#: "$X".fuzzy` + 0)) - n=$(($nu + $nf)) + nu0=$nu + nf0=$nf + if $changed; then + msgmerge -F -U "$X" "$VM".dat.pot >&2 + msgattrib --untranslated "$X" | grep . > "$X".untranslated || rm -f "$X".untranslated + msgattrib --fuzzy "$X" | grep . > "$X".fuzzy || rm -f "$X".fuzzy + nu=$((`grep -c ^#: "$X".untranslated 2>/dev/null` + 0)) + nf=$((`grep -c ^#: "$X".fuzzy 2>/dev/null` + 0)) + n=$(($nu + $nf)) + fi if [ $n -gt 0 ]; then echo "TODO for translation $X:" - echo "Untranslated: $nu" - echo "Fuzzy: $nf" + echo "Untranslated: $nu (was: $nu0)" + echo "Fuzzy: $nf (was: $nf0)" ltr=`grep '^"Last-Translator: ' "$X" | cut -d ' ' -f 2- | cut -d '\\' -f 1 | egrep -v '|'` ltm=`grep '^"Language-Team: ' "$X" | cut -d ' ' -f 2- | cut -d '\\' -f 1 | egrep -v '|'` echo "Translators: $ltr, $ltm" @@ -144,7 +174,7 @@ EOF -e "set use_envelope_from=yes" \ -s "Need update for translations: $X" \ -c "$cc" \ - -b "divVerent@xonotic.org" \ + -b "admin@xonotic.org" \ -a $attach -- \ "$to" break