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
+ } | xgettext -LC -k_ -f- --from-code utf-8 -F -o common.pot >&2
fi
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
+ if [ x"${X#common.}" != x"$language.po" ]; then
continue
fi
else
- if [ x"${X#*.dat.}" = x"en.po" ]; then
+ if [ x"${X#common.}" = x"en.po" ]; then
continue
fi
fi
msgmerge -F -U "$X" common.pot >&2
+ msgfmt -o /dev/null --check-format --check-header --use-fuzzy "$X" 2>&1 \
+ | grep . > "$X".errors || rm -f "$X".errors
msgattrib --untranslated "$X" | grep . > "$X".untranslated || rm -f "$X".untranslated
msgattrib --fuzzy "$X" | grep . > "$X".fuzzy || rm -f "$X".fuzzy
+ ne=$((`wc -l < "$X".errors 2>/dev/null` + 0))
nu=$((`grep -c ^#: "$X".untranslated 2>/dev/null` + 0))
nf=$((`grep -c ^#: "$X".fuzzy 2>/dev/null` + 0))
- n=$(($nu + $nf))
+ n=$(($ne + $nu + $nf))
changed=false
for Y in ~/check-translations/"$X".*; do
[ -f "$Y" ] || continue
mv "$X".new "$X"
changed=true
done
+ ne0=$ne
nu0=$nu
nf0=$nf
if $changed; then
- msgmerge -F -U "$X" common.pot >&2
+ msgfmt -o /dev/null --check-format --check-header --use-fuzzy "$X" 2>&1 \
+ | grep . > "$X".errors || rm -f "$X".errors
msgattrib --untranslated "$X" | grep . > "$X".untranslated || rm -f "$X".untranslated
msgattrib --fuzzy "$X" | grep . > "$X".fuzzy || rm -f "$X".fuzzy
+ ne=$((`wc -l < "$X".errors 2>/dev/null` + 0))
nu=$((`grep -c ^#: "$X".untranslated 2>/dev/null` + 0))
nf=$((`grep -c ^#: "$X".fuzzy 2>/dev/null` + 0))
- n=$(($nu + $nf))
+ n=$(($ne + $nu + $nf))
fi
if [ $n -gt 0 ]; then
echo "TODO for translation $X:"
+ echo "Errors: $ne (was: $ne0)"
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>'`
case "$yesno" in
y)
attach=
+ if [ $ne -gt 0 ]; then
+ attach="$attach $X.errors"
+ fi
if [ $nu -gt 0 ]; then
attach="$attach $X.untranslated"
fi
for X in common.*.po.disabled; do
[ -f "$X" ] || continue
if [ -n "$language" ]; then
- if [ x"${X#*.dat.}" != x"$language.po" ]; then
+ if [ x"${X#common.}" != x"$language.po" ]; then
continue
fi
fi