summaryrefslogtreecommitdiffstats
path: root/create-locales
blob: 543c80fbf75a2df7c76a7079aa9ffd03e67ae54b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#!/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
	locale=en_US@$filter
	potfilename=`basename $potfile`
	package=`basename $potfilename .pot`
	echo -n "$package "
	for filter in $filters ; do
		pomatic $potfile $filter | msgfmt -o $localedir/$locale/LC_MESSAGES/$package.mo - && echo -n " $filter"
	done
	echo ""
done

cleanup