]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
check-translations.sh: use merged translation file common.??.po
authorRudolf Polzer <divverent@xonotic.org>
Tue, 4 Jun 2013 18:04:10 +0000 (20:04 +0200)
committerRudolf Polzer <divverent@xonotic.org>
Tue, 4 Jun 2013 18:05:37 +0000 (20:05 +0200)
check-translations.sh

index 94a94f8e787e9a7e58fb0e4ebd5a6c9ccb63e411..faee5c4952a3eefa133afb68261371b56479f2d9 100755 (executable)
@@ -24,117 +24,100 @@ case "$1" in
                ;;
 esac
 
-for VM in menu csprogs; do
-       case "$VM" in
-               csprogs)
-                       VMD=client
-                       ;;
-               *)
-                       VMD=$VM
-                       ;;
-       esac
+if [ x"$mode" = x"pot" ]; then
+       {
+               find qcsrc -type f -name \*.\* -not -name \*.po -not -name \*.txt
+       } | xgettext -LC -k_ -f- --from-code utf-8 -o common.pot >&2
+fi
 
-       if [ x"$mode" = x"pot" ]; then
-               {
-                       find qcsrc/"$VMD" -type f -not -name \*.po -not -name \*.txt
-                       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"
+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
+                               continue
                        fi
-               } | xgettext -LC -k_ -f- --from-code utf-8 -o "$VM".dat.pot >&2
-       fi
-
-       if [ x"$mode" = x"po" ]; then
-               for X in "$VM".dat.*.po; do
-                       [ -f "$X" ] || continue
-                       if [ -n "$language" ]; then
-                               if [ x"${X#*.dat.}" != x"$language.po" ]; then
-                                       continue
-                               fi
-                       else
-                               if [ x"${X#*.dat.}" = x"en.po" ]; then
-                                       continue
-                               fi
+               else
+                       if [ x"${X#*.dat.}" = x"en.po" ]; then
+                               continue
                        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
+               fi
+               msgmerge -F -U "$X" common.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
-                       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))
+                       if ! msgcat "$Y" >/dev/null; then
+                               echo "File $Y has syntax errors. Skipped."
+                               continue
                        fi
-                       if [ $n -gt 0 ]; then
-                               echo "TODO for translation $X:"
-                               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"
-                               case "$ltr" in
-                                       '')
-                                               to=$ltm
+                       msgcat -F --use-first "$Y" "$X" > "$X".new
+                       mv "$X".new "$X"
+                       changed=true
+               done
+               nu0=$nu
+               nf0=$nf
+               if $changed; then
+                       msgmerge -F -U "$X" common.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 (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"
+                       case "$ltr" in
+                               '')
+                                       to=$ltm
+                                       cc=
+                                       ;;
+                               *)
+                                       to=$ltr
+                                       if [ x"$ltr" = x"$ltm" ]; then
                                                cc=
-                                               ;;
-                                       *)
-                                               to=$ltr
-                                               if [ x"$ltr" = x"$ltm" ]; then
-                                                       cc=
-                                               else
-                                                       cc=$ltm
-                                               fi
-                                               ;;
-                               esac
-                               if [ -n "$to" ]; then
-                                       echo "To:           $to"
-                               fi
-                               if [ -n "$cc" ]; then
-                                       echo "Cc:           $cc"
-                               fi
-                               if [ -n "$to" ]; then
-                                       while $mail; do
-                                               echo "Send mail? [y/n]"
-                                               read -r yesno
-                                               case "$yesno" in
-                                                       y)
-                                                               attach=
-                                                               if [ $nu -gt 0 ]; then
-                                                                       attach="$attach $X.untranslated"
-                                                               fi
-                                                               if [ $nf -gt 0 ]; then
-                                                                       attach="$attach $X.fuzzy"
-                                                               fi
-                                                               {
-                                                                       cat <<EOF
+                                       else
+                                               cc=$ltm
+                                       fi
+                                       ;;
+                       esac
+                       if [ -n "$to" ]; then
+                               echo "To:           $to"
+                       fi
+                       if [ -n "$cc" ]; then
+                               echo "Cc:           $cc"
+                       fi
+                       if [ -n "$to" ]; then
+                               while $mail; do
+                                       echo "Send mail? [y/n]"
+                                       read -r yesno
+                                       case "$yesno" in
+                                               y)
+                                                       attach=
+                                                       if [ $nu -gt 0 ]; then
+                                                               attach="$attach $X.untranslated"
+                                                       fi
+                                                       if [ $nf -gt 0 ]; then
+                                                               attach="$attach $X.fuzzy"
+                                                       fi
+                                                       {
+                                                               cat <<EOF
 Hi,
 
 as you provided us with translations in the past, we kindly ask you
@@ -148,59 +131,58 @@ If you do not wish to be contacted for translation updates any more,
 please tell us in a reply to this message.
 
 EOF
-                                                                       if [ $nu -gt 0 ]; then
-                                                                               cat <<EOF
+                                                               if [ $nu -gt 0 ]; then
+                                                                       cat <<EOF
 Attached to this message is a file
 $X.untranslated
 with $nu yet to be translated messages. Please translate them and reply
 with the file containing the translations in the "msgstr" fields.
 
 EOF
-                                                                       fi
-                                                                       if [ $nf -gt 0 ]; then
-                                                                               cat <<EOF
+                                                               fi
+                                                               if [ $nf -gt 0 ]; then
+                                                                       cat <<EOF
 Attached to this message is a file
 $X.fuzzy
 with $nf automatically generated translations. Please verify and/or fix
 them and reply with the file having been verified by you.
 
 EOF
-                                                                       fi
-                                                                       cat <<EOF
+                                                               fi
+                                                               cat <<EOF
 Thanks in advance,
 
 Team Xonotic
 EOF
-                                                               } | mutt \
-                                                                       -e "set from=\"divVerent@xonotic.org\"" \
-                                                                       -e "set use_from=yes" \
-                                                                       -e "set use_envelope_from=yes" \
-                                                                       -s "Need update for translations: $X" \
-                                                                       -c "$cc" \
-                                                                       -b "admin@xonotic.org" \
-                                                                       -a $attach -- \
-                                                                       "$to"
-                                                               break
-                                                               ;;
-                                                       n)
-                                                               break
-                                                               ;;
-                                               esac
-                                       done
-                               fi
-                       else
-                               echo "$X is complete!"
+                                                       } | mutt \
+                                                               -e "set from=\"divVerent@xonotic.org\"" \
+                                                               -e "set use_from=yes" \
+                                                               -e "set use_envelope_from=yes" \
+                                                               -s "Need update for translations: $X" \
+                                                               -c "$cc" \
+                                                               -b "admin@xonotic.org" \
+                                                               -a $attach -- \
+                                                               "$to"
+                                                       break
+                                                       ;;
+                                               n)
+                                                       break
+                                                       ;;
+                                       esac
+                               done
                        fi
-               done
+               else
+                       echo "$X is complete!"
+               fi
+       done
 
-               for X in "$VM".dat.*.po.disabled; do
-                       [ -f "$X" ] || continue
-                       if [ -n "$language" ]; then
-                               if [ x"${X#*.dat.}" != x"$language.po" ]; then
-                                       continue
-                               fi
+       for X in common.*.po.disabled; do
+               [ -f "$X" ] || continue
+               if [ -n "$language" ]; then
+                       if [ x"${X#*.dat.}" != x"$language.po" ]; then
+                               continue
                        fi
-                       msgmerge -F -U "$X" "$VM".dat.pot >/dev/null 2>&1
-               done
-       fi
-done
+               fi
+               msgmerge -F -U "$X" common.pot >/dev/null 2>&1
+       done
+fi