]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - check-translations.sh
notify about changes better
[xonotic/xonotic-data.pk3dir.git] / check-translations.sh
index 8226e45a5c2a672f449527b9b318e6d30b675568..dccc1e8553845c67e4cd05b215e59ba6e4273db0 100755 (executable)
@@ -55,6 +55,13 @@ for VM in menu csprogs; do
                                        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
                                vim -E "$Y" <<EOF
@@ -65,17 +72,22 @@ q
 EOF
                                msgcat -F --use-first "$Y" "$X" > "$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 2>/dev/null` + 0))
-                       nf=$((`grep -c ^#: "$X".fuzzy        2>/dev/null` + 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 '<LL@li.org>|<EMAIL@ADDRESS>'`
                                ltm=`grep '^"Language-Team: ' "$X" | cut -d ' ' -f 2- | cut -d '\\' -f 1 | egrep -v '<LL@li.org>|<EMAIL@ADDRESS>'`
                                echo "Translators:  $ltr, $ltm"