]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - check-translations.sh
Merge remote-tracking branch 'origin/mrbougo/killspree_bugfix'
[xonotic/xonotic-data.pk3dir.git] / check-translations.sh
index 8226e45a5c2a672f449527b9b318e6d30b675568..94a94f8e787e9a7e58fb0e4ebd5a6c9ccb63e411 100755 (executable)
@@ -54,28 +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
+                               echo "Merging $Y..."
                                vim -E "$Y" <<EOF
 set fileencoding=utf-8
 set nobomb
 w
 q
 EOF
+                               if ! msgcat "$Y" >/dev/null; then
+                                       echo "File $Y has syntax errors. Skipped."
+                                       continue
+                               fi
                                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"
@@ -120,6 +141,9 @@ as you provided us with translations in the past, we kindly ask you
 to update the translation to match changes in the Xonotic source. Can
 you please work on them and provide updates to us?
 
+For reference, the current version of the translation file is at:
+http://git.xonotic.org/?p=xonotic/xonotic-data.pk3dir.git;a=blob;f=$X
+
 If you do not wish to be contacted for translation updates any more,
 please tell us in a reply to this message.
 
@@ -164,6 +188,8 @@ EOF
                                                esac
                                        done
                                fi
+                       else
+                               echo "$X is complete!"
                        fi
                done