blob: b354c11f2c73de12a47797ef538a0c1b9398f95c (
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
#!/bin/bash
#
# fixmystreet/bin/gettext-extract
# Generate English language .po files from the source code and email templates,
# for FixMyStreet. Writes the output to appropriate .po files in locale/.
#
# Copyright (c) 2008 UK Citizens Online Democracy. All rights reserved.
# Email: matthew@mysociety.org; WWW: http://www.mysociety.org/
#
# $Id: gettext-extract,v 1.14 2009-11-30 10:21:52 louise Exp $
if [ -e ../../locale ]
then
cd ../../
else if [ -e ../locale ]
then
cd ../
else if [ -e locale ]
then
cd .
else
echo "Please run with current directory fixmystreet/bin"
exit 1
fi
fi
fi
# Take chunk of text and escape each line in it for putting in catalogue
function plain_gettext_escape() {
IFS=""
while read LINE
do
LINE=${LINE//\"/\\\"}
echo \"$LINE\\n\"
done
}
# File to write to, clear it to start with
PO=locale/FixMyStreet.po
rm -f $PO
# Extract from Perl
xgettext --add-comments=TRANS --language=Perl --keyword=_ --keyword=nget:1,2 --from-code=utf-8 -o $PO perllib/*.pm perllib/FixMyStreet/*.pm web/*.cgi bin/send-* db/alert_types_eha.pl
# Fix headers
TEMP=`tempfile`
cat $PO | sed "
s/SOME DESCRIPTIVE TITLE/FixMyStreet original .po file, autogenerated by gettext-extract/;
s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/2008 UK Citizens Online Democracy/;
s/PACKAGE package/main FixMyStreet code/;
s/FIRST AUTHOR <EMAIL@ADDRESS>, YEAR./Matthew Somerville <matthew@mysociety.org>, 2008-04-15./;
s/PACKAGE VERSION/1.0/;
s/Report-Msgid-Bugs-To: /Report-Msgid-Bugs-To: matthew@mysociety.org/;
s/LL@li.org/team@fixmystreet.com/;
s/charset=CHARSET/charset=UTF-8/;
" >> $TEMP
mv $TEMP $PO
# XXX The XSL page needs including?
# Extract email templates
echo >> $PO
echo '#. Please leave the first word "Subject:" untranslated' >> $PO
for X in templates/emails/* templates/emails/emptyhomes/*
do
# TODO: Should check for "*~" type filenames too, and do the *-livesimply case
# with wildcards rather than checking per template
if [ ! -d "$X" ]
then
echo >> $PO
echo "#: $X" >> $PO
echo msgid \"\" >> $PO
cat "$X" | plain_gettext_escape >> $PO
echo msgstr \"\" >> $PO
fi
done
fixmystreet/bin/make_emptyhomes_po
|