summaryrefslogtreecommitdiffstats
path: root/scripts/create-locales
diff options
context:
space:
mode:
authorNalin Dahyabhai <nalin@dahyabhai.net>2010-02-02 12:13:23 -0500
committerNalin Dahyabhai <nalin@dahyabhai.net>2010-02-02 12:13:23 -0500
commit8d36f0832d166f0eb4944515e21770eebec11012 (patch)
tree4c3dfea41fe1ca4aa646b577f7680eb300226b83 /scripts/create-locales
parent827ee5c7c38d07d6543e5776050e1c1f06b3e90b (diff)
downloadpomatic-8d36f0832d166f0eb4944515e21770eebec11012.tar.gz
pomatic-8d36f0832d166f0eb4944515e21770eebec11012.tar.xz
pomatic-8d36f0832d166f0eb4944515e21770eebec11012.zip
- finish the autotooling
Diffstat (limited to 'scripts/create-locales')
-rwxr-xr-xscripts/create-locales46
1 files changed, 46 insertions, 0 deletions
diff --git a/scripts/create-locales b/scripts/create-locales
new file mode 100755
index 0000000..a1cddc9
--- /dev/null
+++ b/scripts/create-locales
@@ -0,0 +1,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
+ 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