mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
Install the mo files on W32 platforms
This commit is contained in:
parent
52cbcd94ac
commit
aa3d02ee5b
3 changed files with 82 additions and 2 deletions
64
scripts/potomo
Executable file
64
scripts/potomo
Executable file
|
@ -0,0 +1,64 @@
|
|||
#!/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
|
Loading…
Add table
Add a link
Reference in a new issue