Commit 9063ac33 authored by Tim-Philipp Müller's avatar Tim-Philipp Müller 🐠

Fix up 'download-po' a bit, so that we find new translations for languages...

Fix up 'download-po' a bit, so that we find new translations for languages that aren't in our po/LINGUAS file yet too.

Original commit message from CVS:
* download-translations:
* po.mak:
Fix up 'download-po' a bit, so that we find new translations
for languages that aren't in our po/LINGUAS file yet too.
parent b3fe2a25
2007-08-20 Tim-Philipp Müller <tim at centricular dot net>
* download-translations:
* po.mak:
Fix up 'download-po' a bit, so that we find new translations
for languages that aren't in our po/LINGUAS file yet too.
2007-07-16 Jan Schmidt <thaytan@mad.scientist.com>
* gst.supp:
......
#!/bin/sh
# Shell script to download the latest translations for a given GStreamer
# package from translationproject.org
# DOMAINS based on http://translationproject.org/extra/matrix.html
# We need to check all domains, not only po/LINGUAS, since there might be
# new translations
DOMAINS=\
"af am ar az be bg pt_BR bs ca zh_CN cs cy da de el eo es et eu fa fi fr "\
"ga en_GB gl gu he hi zh_HK hr hu id is it ja ko ku ky lg lt lv mk mn ms "\
"mt nb ne nl nn or pa pl pt rm ro ru rw sk sl sq sr sv ta tq th tk "\
"tr zh_TW uk ven vi wa xh zu"
# for testing/debugging:
#DOMAINS="es fr hu sv pl xx"
# check for 'diff' program
if ! diff --version 2>/dev/null >/dev/null; then
echo "==== You must have the 'diff' program installed for this script ===="
exit 1
fi
# check for 'wget' program
if ! wget --version 2>/dev/null >/dev/null; then
echo "==== You must have the 'wget' program installed for this script ===="
exit 1
fi
# make sure we're in the top-level directory
if [ ! -d ./po ]; then
echo "==== No ./po directory in the current working directory ===="
exit 1
fi
# make sure a package argument was passed to us
if [ -z "$1" ]; then
echo "Usage: $0 PACKAGE, e.g. $0 gst-plugins-good"
exit 1
fi
if test "$1" != "gstreamer" -a \
"$1" != "gst-plugins-base" -a \
"$1" != "gst-plugins-good" -a \
"$1" != "gst-plugins-ugly" -a \
"$1" != "gst-plugins-bad"; then
echo "Unexpected package '$1' ?!"
exit 1
fi
PACKAGE="$1"
DOMAINS_TO_ADD=""
DOMAINS_UPDATED=""
echo "Downloading latest translation files for package $PACKAGE ..."
echo
for d in $DOMAINS
do
PACKAGE_PO_URL_BASE="http://translationproject.org/latest/$PACKAGE"
PO_URL="$PACKAGE_PO_URL_BASE/$d.po"
PO_FILENAME="$PACKAGE.$d.po"
if ! wget -q -O $PO_FILENAME $PO_URL 2>/dev/null >/dev/null; then
rm -f $PO_FILENAME
echo "$d.po: failure (does probably not exist)"
else
if [ -f "po/$d.po" ]; then
# ./po/foo.po exists, so let's check if ours matches the latest from the
# translation project website
if diff $PO_FILENAME "po/$d.po" >/dev/null; then
echo "$d.po: up-to-date"
rm -f $PO_FILENAME
else
mv $PO_FILENAME "po/$d.po"
echo "$d.po: updated"
DOMAINS_UPDATED="$DOMAINS_UPDATED $d"
fi
else
# ./po/foo.po does exists, but foo.po exists on the translation project
# website, so it's probably a new translation
echo "$d.po: new language"
mv $PO_FILENAME "po/$d.po"
DOMAINS_UPDATED="$DOMAINS_UPDATED $d"
DOMAINS_TO_ADD="$DOMAINS_TO_ADD $d"
fi
fi
done
if [ -n "$DOMAINS_UPDATED" ]; then
echo "===================================================================="
echo
echo "Language domains updated :$DOMAINS_UPDATED"
echo "Language domains to cvs add :$DOMAINS_TO_ADD"
echo
echo "Source: http://translationproject.org/latest/$PACKAGE/"
echo
if [ -n "$DOMAINS_TO_ADD" ]; then
CMD_STRING="cvs add"
for d in $DOMAINS_TO_ADD; do
CMD_STRING="$CMD_STRING po/$d.po"
done
echo "Please run"
echo
echo " $CMD_STRING"
echo
echo "now."
echo
fi
echo "===================================================================="
fi
# rule to download .po
po/%.po-download:
@LI=$(@:po/%.po-download=%) && cd po && wget -q -O $$LI.po.tmp http://translationproject.org/latest/$(PACKAGE)/$$LI.po && if ! diff $$LI.po $$LI.po.tmp > /dev/null 2>&1; then echo "$$LI.po changed, updated"; mv $$LI.po.tmp $$LI.po; else rm $$LI.po.tmp; fi
# a rule to redownload po files
# rule to download the latest .po files
download-po:
for LI in `cat po/LINGUAS`; do echo Checking $$LI.po; make po/$$LI.po-download; done
$(top_srcdir)/common/download-translations $(PACKAGE)
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