Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F34140327
potomo
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
2 KB
Subscribers
None
potomo
View Options
#!/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
File Metadata
Details
Attached
Mime Type
text/x-shellscript
Expires
Tue, Dec 9, 1:12 AM (17 h, 27 s)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
35/c4/0e129e21178307d5d7673e5efe6a
Attached To
rG GnuPG
Event Timeline
Log In to Comment