mirror of
git://git.gnupg.org/gnupg.git
synced 2024-10-31 20:08:43 +01:00
b008274afd
We better do this once and for all instead of cluttering all future commits with diffs of trailing white spaces. In the majority of cases blank or single lines are affected and thus this change won't disturb a git blame too much. For future commits the pre-commit scripts checks that this won't happen again.
65 lines
2.1 KiB
Bash
Executable File
65 lines
2.1 KiB
Bash
Executable File
#!/bin/sh
|
|
# potomo - Convert a .po file to an utf-8 encoded .mo file.
|
|
# Copyright 2008 g10 Code GmbH
|
|
# Copyright 2010 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; as a special exception the author gives
|
|
# unlimited permission to copy and/or distribute it, with or without
|
|
# modifications, as long as this notice is preserved.
|
|
#
|
|
# This file is distributed in the hope that it will be useful, but
|
|
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
|
|
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
# This script is used to create the mo files for applications using
|
|
# the simple gettext implementation provided by libgpg-error. That
|
|
# gettext can only cope with utf-8 encoded mo files; thus we make this
|
|
# sure while creating the mo. A conversion is not done if the source
|
|
# file does not exist or if it is not newer than the mo file.
|
|
|
|
if [ "$1" = "--get-linguas" -a $# -eq 2 ]; then
|
|
if [ ! -f "$2/LINGUAS" ]; then
|
|
echo "potomo: directory '$2' has no LINGUAS file" >&2
|
|
exit 1
|
|
fi
|
|
echo $(sed -e "/^#/d" -e "s/#.*//" "$2"/LINGUAS)
|
|
exit 0
|
|
fi
|
|
|
|
if [ $# -ne 2 ]; then
|
|
echo "usage: potomo INFILE.PO OUTFILE.MO" >&2
|
|
echo " potomo --get-linguas DIR" >&2
|
|
exit 1
|
|
fi
|
|
infile="$1"
|
|
outfile="$2"
|
|
|
|
if [ ! -f "$infile" ]; then
|
|
echo "potomo: '$infile' not found - ignored" 2>&1
|
|
exit 0
|
|
fi
|
|
|
|
if [ "$outfile" -nt "$infile" ]; then
|
|
echo "potomo: '$outfile' is newer than source - keeping" 2>&1
|
|
exit 0
|
|
fi
|
|
|
|
# Note that we could use the newer msgconv. However this tool was not
|
|
# widely available back in 2008.
|
|
|
|
fromset=`sed -n '/^"Content-Type:/ s/.*charset=\([a-zA-Z0-9_-]*\).*/\1/p' \
|
|
"$infile"`
|
|
|
|
case "$fromset" in
|
|
utf8|utf-8|UTF8|UTF-8)
|
|
echo "potomo: '$infile' keeping $fromset" >&2
|
|
msgfmt --output-file="$outfile" "$infile"
|
|
;;
|
|
*)
|
|
echo "potomo: '$infile' converting from $fromset to utf-8" >&2
|
|
iconv --silent --from-code=$fromset --to-code=utf-8 < "$infile" |\
|
|
sed "/^\"Content-Type:/ s/charset=[a-zA-Z0-9_-]*/charset=utf-8/"|\
|
|
msgfmt --output-file="$outfile" -
|
|
;;
|
|
esac
|