Commit 1bee0bfd authored by Rudolf Polzer's avatar Rudolf Polzer

Merge remote-tracking branch 'origin/divVerent/merged-translations'

parents ee678c27 1db2634a
......@@ -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
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment