+get_translations() {
+ subdir=$1
+ domain=$2
+ po_file=$3
+
+ case $WGET_COMMAND in
+ '')
+ echo "$0: wget not available; skipping translations";;
+ ?*)
+ url=`tp_url $domain`
+ baseurl=`expr "$url" : '\(.*\)/.*'`
+ echo "$0: getting translations into $subdir for $domain..." &&
+ case $po_file in
+ '') (cd $subdir && rm -f dummy `ls | sed -n '/\.gmo$/p; /\.po/p'`);;
+ esac &&
+
+ $WGET_COMMAND -O "$subdir/$domain.html" "$url" &&
+
+ sed -n 's|.*href="\(.*\)/\([^/][^/]*\)/'"$domain"'-\([^/"]*\)\.[^."]*\.po".*|\2:\3:\1|p' <"$subdir/$domain.html" |
+ sort -t: -k 1,1 -k 2,2n -k2,2 -k3,3n -k3,3 -k4,4n -k4,4 -k5,5n -k5.5 |
+ awk -F: '
+ { if (lang && $1 != lang) print lang, ver, $3 }
+ { lang = $1; ver = $2 }
+ END { if (lang) print lang, ver, $3 }
+ ' | awk -v domain="$domain" -v baseurl="$baseurl" -v subdir="$subdir" \
+ -v po_file="$po_file" '
+ {
+ lang = $1
+ if (po_file && po_file != (lang ".po")) next
+ ver = $2
+ printf "{ $WGET_COMMAND -O %s/%s.po %s/%s/%s/%s-%s.%s.po &&\n", subdir, lang, baseurl, $3, lang, domain, ver, lang
+ printf " msgfmt -c -o /dev/null %s/%s.po || {\n", subdir, lang
+ printf " echo >&2 '\'"$0"': omitting translation for %s'\''\n", lang
+ printf " rm -f %s/%s.po; }; } &&\n", subdir, lang
+ }
+ END { print ":" }
+ ' | WGET_COMMAND="$WGET_COMMAND" sh
+ ;;
+ esac &&
+ ls "$subdir"/*.po 2>/dev/null |
+ sed 's|.*/||; s|\.po$||' >"$subdir/LINGUAS" &&
+ rm -f "$subdir/$domain.html"
+}
+
+case `wget --help` in
+*'--no-cache'*)
+ WGET_COMMAND='wget -nv --no-cache';;
+*'--cache=on/off'*)
+ WGET_COMMAND='wget -nv --cache=off';;
+*'--non-verbose'*)
+ WGET_COMMAND='wget -nv';;
+*)
+ WGET_COMMAND='';;
+esac
+
+case $DOWNLOAD_PO in
+'skip')
+ ;;
+'')
+ get_translations po $package || exit
+ ;;
+'only')
+ get_translations po $package
+ exit
+ ;;
+*.po)
+ get_translations po $package "$DOWNLOAD_PO"
+ exit
+ ;;
+*)
+ get_translations po $package "${DOWNLOAD_PO}.po"
+ exit
+esac
+
+# Get paxutils files.
+
+case ${PAXUTILS_SRCDIR--} in
+-) checkout paxutils
+ PAXUTILS_SRCDIR=paxutils
+esac
+
+if [ -r $PAXUTILS_SRCDIR/gnulib.modules ]; then
+ gnulib_modules=`
+ (echo "$gnulib_modules"; grep '^[^#]' $PAXUTILS_SRCDIR/gnulib.modules) |
+ sort -u
+ `
+fi
+
+ignore_file_list=
+cleanup_ifl() {
+ test -n "$ignore_file_list" && rm -f $ignore_file_list
+}
+
+trap 'cleanup_ifl' 1 2 3 15
+
+# ignorefile DIR FILE
+# add FILE to the temporary ignorelist in the directory DIR
+ignorefile() {
+ file=$1/.ignore.$$
+ echo "$2" >> $file
+ if `echo $ignore_list | grep -qv $file`; then
+ ignore_file_list="$ignore_file_list
+$file"