#!/bin/sh # # Generate new .mo files for each of the packages in a given directory. # if [ $# -lt 1 ] ; then echo usage: `basename $0` source_rpm_directory exit 1 fi localedir=${DESTDIR:-}/usr/share/locale filters="biffster chef drawl jive krad kraut l33t redneck valspeak" tmpdir=`mktemp -d ${TMPDIR:-/tmp}/create-localesXXXXXX` if [ -z "$tmpdir" ] ; then echo error creating tmpdir exit 1 fi exec < /dev/null cleanup() { rm -fr $tmpdir } trap cleanup PIPE INT KILL TERM echo '>>>> Collecting potfiles. <<<<' collect-potfiles $tmpdir `find $@ -name "*.src.rpm" | sort` echo '>>>> Generating translations. <<<<' for filter in $filters ; do locale=en_US@$filter test -d $localedir/$locale/LC_MESSAGES || \ mkdir -p $localedir/$locale/LC_MESSAGES done for potfile in $tmpdir/*.pot ; do potfilename=`basename $potfile` package=`basename $potfilename .pot` echo -n "$package " for filter in $filters ; do locale=en_US@$filter pomatic $potfile $filter | msgfmt -o $localedir/$locale/LC_MESSAGES/$package.mo - && echo -n " $filter" done echo "" done cleanup