1#!/bin/sh
2
3# This script regenerates main POT file
4#
5# Environment variables that are used by script:
6#    SM_STABLE_PATH (required) - path to SquirrelMail stable cvs
7#    SM_DEVEL_PATH (required) - path to SquirrelMail devel cvs
8#    SM_LOCALES_PATH (required) - path to SquirrelMail locales HEAD cvs
9#    SM_DEBUG (optional) - if set, script does not remove string locations from pot
10#                          WARNING: don't commit pot with locations into cvs.
11#    SM_LANG_C (optional) - if set, xgettext uses -C option instead of -L php.
12#
13# Philipe Mingo <mingo@rotedic.com>
14# Tomas Kuliavas <tokul@users.sourceforge.net>
15#
16#  $Id: xgetpo 14478 2015-01-03 03:48:43Z pdontthink $
17
18message="You must set SM_STABLE_PATH; SM_DEVEL_PATH and SM_LOCALES_PATH before running this script"
19
20# force use of same locale in order to keep same sorting order
21LC_ALL=en_US.ISO8859-1
22LANG=en_US.ISO8859-1
23export LC_ALL LANG
24
25# set common gettext options
26XGETTEXT_OPTIONS="--keyword=_ -keyword=N_ --keyword=ngettext:1,2 --default-domain=squirrelmail --add-comments=i18n" ;
27
28# Allows extraction with file names
29if [ ! $SM_DEBUG ] ; then
30    XGETTEXT_OPTIONS="${XGETTEXT_OPTIONS} --no-location";
31fi
32
33# Allows controlling language option
34# (gettext v.0.10.40 = -C, gettext 0.11+ = -L php).
35if [ $SM_LANG_C ] ; then
36    XGETTEXT_OPTIONS="${XGETTEXT_OPTIONS} -C";
37else
38    XGETTEXT_OPTIONS="${XGETTEXT_OPTIONS} -L php";
39fi
40
41if [ ! ${SM_STABLE_PATH} ] ;
42    then
43	echo $message ;
44	echo "SM_STABLE_PATH is not set" ;
45	exit 1
46fi
47
48if [ ! ${SM_DEVEL_PATH} ] ;
49    then
50	echo $message ;
51	echo "SM_DEVEL_PATH is not set" ;
52	exit 1
53fi
54
55if [ ! ${SM_LOCALES_PATH} ];
56    then
57	echo $message ;
58	echo "SM_LOCALES_PATH is not set" ;
59	exit 1
60fi
61
62#  Stable core strings.
63
64xgettext ${XGETTEXT_OPTIONS} \
65    ${SM_STABLE_PATH}/src/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
66xgettext ${XGETTEXT_OPTIONS} -j \
67    ${SM_STABLE_PATH}/class/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
68xgettext ${XGETTEXT_OPTIONS} -j \
69    ${SM_STABLE_PATH}/class/*/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
70xgettext ${XGETTEXT_OPTIONS} -j \
71    ${SM_STABLE_PATH}/functions/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
72xgettext ${XGETTEXT_OPTIONS} -j \
73    ${SM_STABLE_PATH}/include/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
74xgettext ${XGETTEXT_OPTIONS} -j \
75    ${SM_STABLE_PATH}/include/options/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
76
77#  Stable plugins.
78
79xgettext ${XGETTEXT_OPTIONS} -j \
80    ${SM_STABLE_PATH}/plugins/administrator/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
81xgettext ${XGETTEXT_OPTIONS} -j \
82    ${SM_STABLE_PATH}/plugins/bug_report/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
83xgettext ${XGETTEXT_OPTIONS} -j \
84    ${SM_STABLE_PATH}/plugins/calendar/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
85xgettext ${XGETTEXT_OPTIONS} -j \
86    ${SM_STABLE_PATH}/plugins/delete_move_next/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
87xgettext ${XGETTEXT_OPTIONS} -j \
88    ${SM_STABLE_PATH}/plugins/filters/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
89xgettext ${XGETTEXT_OPTIONS} -j \
90    ${SM_STABLE_PATH}/plugins/fortune/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
91xgettext ${XGETTEXT_OPTIONS} -j \
92    ${SM_STABLE_PATH}/plugins/info/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
93xgettext ${XGETTEXT_OPTIONS} -j \
94    ${SM_STABLE_PATH}/plugins/listcommands/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
95xgettext ${XGETTEXT_OPTIONS} -j \
96    ${SM_STABLE_PATH}/plugins/mail_fetch/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
97xgettext ${XGETTEXT_OPTIONS} -j \
98    ${SM_STABLE_PATH}/plugins/message_details/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
99xgettext ${XGETTEXT_OPTIONS} -j \
100    ${SM_STABLE_PATH}/plugins/newmail/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
101xgettext ${XGETTEXT_OPTIONS} -j \
102    ${SM_STABLE_PATH}/plugins/sent_subfolders/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
103xgettext ${XGETTEXT_OPTIONS} -j \
104    ${SM_STABLE_PATH}/plugins/spamcop/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
105xgettext ${XGETTEXT_OPTIONS} -j \
106    ${SM_STABLE_PATH}/plugins/squirrelspell/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
107xgettext ${XGETTEXT_OPTIONS} -j \
108    ${SM_STABLE_PATH}/plugins/squirrelspell/modules/*.mod --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
109xgettext ${XGETTEXT_OPTIONS} -j \
110    ${SM_STABLE_PATH}/plugins/translate/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
111
112# Stable independent strings.
113
114xgettext ${XGETTEXT_OPTIONS} -j \
115    ${SM_STABLE_PATH}/po/independent_strings.txt --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
116
117#  Devel core strings.
118
119xgettext ${XGETTEXT_OPTIONS} -j \
120    ${SM_DEVEL_PATH}/src/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
121xgettext ${XGETTEXT_OPTIONS} -j \
122    ${SM_DEVEL_PATH}/class/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
123xgettext ${XGETTEXT_OPTIONS} -j \
124    ${SM_DEVEL_PATH}/class/*/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
125xgettext ${XGETTEXT_OPTIONS} -j \
126    ${SM_DEVEL_PATH}/functions/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
127xgettext ${XGETTEXT_OPTIONS} -j \
128    ${SM_DEVEL_PATH}/functions/template/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
129xgettext ${XGETTEXT_OPTIONS} -j \
130    ${SM_DEVEL_PATH}/images/themes/*/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
131xgettext ${XGETTEXT_OPTIONS} -j \
132    ${SM_DEVEL_PATH}/include/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
133xgettext ${XGETTEXT_OPTIONS} -j \
134    ${SM_DEVEL_PATH}/include/options/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
135
136# Devel plugins.
137
138xgettext ${XGETTEXT_OPTIONS} -j \
139    ${SM_DEVEL_PATH}/plugins/administrator/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
140xgettext ${XGETTEXT_OPTIONS} -j \
141    ${SM_DEVEL_PATH}/plugins/bug_report/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
142xgettext ${XGETTEXT_OPTIONS} -j \
143    ${SM_DEVEL_PATH}/plugins/bug_report/templates/default/*.tpl --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
144xgettext ${XGETTEXT_OPTIONS} -j \
145    ${SM_DEVEL_PATH}/plugins/calendar/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
146xgettext ${XGETTEXT_OPTIONS} -j \
147    ${SM_DEVEL_PATH}/plugins/change_password/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
148xgettext ${XGETTEXT_OPTIONS} -j \
149    ${SM_DEVEL_PATH}/plugins/change_password/backend/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
150xgettext ${XGETTEXT_OPTIONS} -j \
151    ${SM_DEVEL_PATH}/plugins/filters/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
152xgettext ${XGETTEXT_OPTIONS} -j \
153    ${SM_DEVEL_PATH}/plugins/fortune/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
154xgettext ${XGETTEXT_OPTIONS} -j \
155    ${SM_DEVEL_PATH}/plugins/info/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
156xgettext ${XGETTEXT_OPTIONS} -j \
157    ${SM_DEVEL_PATH}/plugins/listcommands/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
158xgettext ${XGETTEXT_OPTIONS} -j \
159    ${SM_DEVEL_PATH}/plugins/listcommands/templates/default/*.tpl --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
160xgettext ${XGETTEXT_OPTIONS} -j \
161    ${SM_DEVEL_PATH}/plugins/mail_fetch/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
162xgettext ${XGETTEXT_OPTIONS} -j \
163    ${SM_DEVEL_PATH}/plugins/message_details/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
164xgettext ${XGETTEXT_OPTIONS} -j \
165    ${SM_DEVEL_PATH}/plugins/newmail/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
166xgettext ${XGETTEXT_OPTIONS} -j \
167    ${SM_DEVEL_PATH}/plugins/preview_pane/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
168xgettext ${XGETTEXT_OPTIONS} -j \
169    ${SM_DEVEL_PATH}/plugins/sent_subfolders/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
170xgettext ${XGETTEXT_OPTIONS} -j \
171    ${SM_DEVEL_PATH}/plugins/spamcop/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
172xgettext ${XGETTEXT_OPTIONS} -j \
173    ${SM_DEVEL_PATH}/plugins/squirrelspell/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
174xgettext ${XGETTEXT_OPTIONS} -j \
175    ${SM_DEVEL_PATH}/plugins/squirrelspell/class/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
176xgettext ${XGETTEXT_OPTIONS} -j \
177    ${SM_DEVEL_PATH}/plugins/squirrelspell/modules/*.mod --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
178xgettext ${XGETTEXT_OPTIONS} -j \
179    ${SM_DEVEL_PATH}/plugins/translate/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
180
181# Devel templates.
182
183xgettext ${XGETTEXT_OPTIONS} -j \
184    ${SM_DEVEL_PATH}/templates/*.php --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
185xgettext ${XGETTEXT_OPTIONS} -j \
186    ${SM_DEVEL_PATH}/templates/default/*.tpl --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
187xgettext ${XGETTEXT_OPTIONS} -j \
188    ${SM_DEVEL_PATH}/templates/default/plugins/fortune/*.tpl --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
189xgettext ${XGETTEXT_OPTIONS} -j \
190    ${SM_DEVEL_PATH}/templates/default/plugins/listcommands/*.tpl --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
191xgettext ${XGETTEXT_OPTIONS} -j \
192    ${SM_DEVEL_PATH}/templates/default_advanced/*.tpl --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
193
194# Devel independent strings.
195
196xgettext ${XGETTEXT_OPTIONS} -j \
197    ${SM_DEVEL_PATH}/po/independent_strings.txt --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
198
199# Independent strings
200
201xgettext ${XGETTEXT_OPTIONS} -j \
202    ${SM_LOCALES_PATH}/independent_strings.txt --output=${SM_LOCALES_PATH}/po/squirrelmail.pot
203
204# print stats
205msgfmt --statistics ${SM_LOCALES_PATH}/po/squirrelmail.pot -o /dev/null
206