create pot files for just the templates directory
Runa A. Sandvik

Runa A. Sandvik commited on 2010-08-15 19:04:48
Zeige 1 geänderte Dateien mit 24 Einfügungen und 33 Löschungen.

... ...
@@ -6,9 +6,10 @@
6 6
 # This is Free Software (GPLv3)
7 7
 # http://www.gnu.org/licenses/gpl-3.0.txt
8 8
 #
9
-# This script will convert all of the english wml files to po files, and
9
+# This script will convert all of the English wml files in
10
+# https://svn.torproject.org/svn/website/trunk/ to pot files, and
10 11
 # keep them updated. The script will also convert subdirectories that
11
-# exist in the english website module.
12
+# exist in the website module.
12 13
 #
13 14
 # For more information, see the HOWTO and README in
14 15
 # translation/tools/gsoc09.
... ...
@@ -19,19 +20,19 @@
19 20
 # Location of the wml files
20 21
 wmldir="$PWD"
21 22
 
22
-# Location of the po files.
23
+# Location of the pot files.
23 24
 # Assuming that the translation directory is relative to the website
24
-podir="`dirname $wmldir`/translation/projects/website"
25
+podir="`dirname $wmldir`/translation/projects/website/templates"
25 26
 
26
-# Set the copyright holder of the po files,
27
+# Set the copyright holder of the files,
27 28
 # for example "The Tor Project, Inc"
28 29
 copyright="The Tor Project, Inc"
29 30
 
30 31
 # A lot of the wml files have custom tags. These tags have been defined
31 32
 # in website/include/versions.wmi. Tags that people usually forget to close,
32
-# as well as tags that are not defined in versions.wmi have been added.
33
+# as well as tags that are not defined in versions.wmi, have been added.
33 34
 # See: https://svn.torproject.org/svn/website/trunk/include/versions.wmi
34
-customtag=`echo $(cat "$wmldir/include/versions.wmi" | awk '{ printf "<%s> " , $2 }' | sed 's/<>//g') "<svnsandbox> <svnwebsite> <svnprojects> <input> <hr> <br> <img> <gitblob> <version-android-components> <package-androidbundle-alpha> <package-androidbundle-alpha-sig> <version-androidbundle-tor>"`
35
+customtag=`echo $(cat "$wmldir/include/versions.wmi" | awk '{ printf "<%s> " , $2 }' | sed 's/<>//g') "<svnsandbox> <svnwebsite> <svnprojects> <input> <hr> <br> <img> <gitblob> <version-android-components> <package-androidbundle-alpha> <package-androidbundle-alpha-sig> <version-androidbundle-tor> <video controls>"`
35 36
 
36 37
 # We also need to use the nodefault option of po4a; space separated list
37 38
 # of tags that the module should not try to set by default in any
... ...
@@ -40,7 +41,7 @@ nodefault='<input>'
40 41
 
41 42
 # The script can write the name of unprocessed files to a log.
42 43
 # If you want to enable this option, set the logfile here.
43
-logfile="/home/runa/tor/wml2po.log"
44
+logfile=""
44 45
 
45 46
 # This is the temp logfile. Leave this line even if you don't want to
46 47
 # log. This will be deleted when the script is done.
... ...
@@ -76,20 +77,11 @@ fi
76 77
 # Create the temp log
77 78
 touch $tmplog
78 79
 
79
-# We need to find out which language directories we have.
80
-# We also need to excluse the website module directory itself, as well
81
-# as .svn
82
-langdir=`find "$podir" -maxdepth 1 -type d ! -path "$podir" ! -path "$podir/templates" ! -path "*\.*" | sed "s#$podir/##"`
83
-
84
-# We only need the english wml files, but we do not wish to translate
80
+# We only need the English wml files, but we do not wish to translate
85 81
 # the eff documents.
86 82
 wml=`find $wmldir -regex '^'$wmldir'/.*en/.*\.wml' -type f | grep -v '^'$wmldir'/eff'`
87 83
 
88
-# For every language directory, create and/or update the po files.
89
-for lang in $langdir ; do
90
-
91
-	# For every english wml, see if the po needs to be created or
92
-	# updated
84
+# For every English wml, see if the pot needs to be created or updated
93 85
 for file in $wml ; do
94 86
 
95 87
 	# Get the basename of the file we are dealing with
... ...
@@ -106,45 +98,45 @@ for lang in $langdir ; do
106 98
 		continue
107 99
 	fi
108 100
 
109
-		# Strip the file for its original extension and add .po
110
-		pofile="$priority.${wmlfile%%.*}.po"
101
+	# Strip the file for its original extension and add .pot
102
+	pofile="$priority.${wmlfile%%.*}.pot"
111 103
 
112 104
 	# Find out what directory the file is in.
113
-		# Also, remove the parth of the path that is $wmldir
105
+	# Also, remove the part of the path that is $wmldir
114 106
 	indir=`dirname $file`
115 107
 	
116 108
 	# We need to know what one dir up is
117 109
 	onedirup=`dirname $indir | sed "s#$wmldir/##"`
118 110
 
119
-		# We need to have the correct, full path to the po
111
+	# We need to have the correct, full path to the pot
120 112
 	# directory for the file we are working on.
121 113
 	# Also, did the subdirectory exist prior to running this
122 114
 	# script? If not, create it now and add it to the
123 115
 	# repository.
124 116
 	if [ $onedirup = $wmldir ]
125 117
 	then
126
-			popath="$podir/$lang"
118
+		popath="$podir"
127 119
 	else
128 120
 
129 121
 		# We need to know if a subdirectory, such as torbutton,
130 122
 		# exist in the translation module. If it does not exist,
131 123
 		# the script will create it in all the directories under
132 124
 		# translation/projects/website (excluding .svn)
133
-			subdir=`find "$podir/$lang" -maxdepth 1 -type d	! -path "$ppodir/$lang" ! -path "*\.*"`
125
+		subdir=`find "$podir" -maxdepth 1 -type d ! -path "$ppodir" ! -path "*\.*"`
134 126
 
135 127
 		for dir in $subdir ; do
136
-				if [ ! -d "$podir/$lang/$onedirup" ]
128
+			if [ ! -d "$podir/$onedirup" ]
137 129
 			then
138
-					svn mkdir "$podir/$lang/$onedirup"
130
+				svn mkdir "$podir/$onedirup"
139 131
 			fi
140 132
 		done
141 133
 
142 134
 		# Set the path
143
-			popath="$podir/$lang/$onedirup"
135
+		popath="$podir/$onedirup"
144 136
 
145 137
 	fi
146 138
 		
147
-		# Check to see if the po existed prior to running this
139
+	# Check to see if the pot existed prior to running this
148 140
 	# script. If it didn't, check if there any files with the same
149 141
 	# filename, but different priority. If neither of the files
150 142
 	# exist, create with po4a-gettextize.
... ...
@@ -165,7 +157,7 @@ for lang in $langdir ; do
165 157
 		poexist=0
166 158
 	fi
167 159
 
168
-		# If the po file does not exist, convert it with
160
+	# If the pot file does not exist, convert it with
169 161
 	# po4a-gettextize, set the right encoding and charset
170 162
 	# and the correct copyright.
171 163
 	if [ $poexist = 0 ]
... ...
@@ -207,14 +199,14 @@ for lang in $langdir ; do
207 199
 		rm -f "$popath/$pofile~"
208 200
 	fi
209 201
 		
210
-		# If the po file does exist, calculate the hash first,
202
+	# If the pot file does exist, calculate the hash first,
211 203
 	# then update the file, then calculate the hash again.
212 204
 	if [ $poexist = 1 ]
213 205
 	then
214 206
 		# Calculate the hash before we update the file
215 207
 		before=`grep -vE '^("POT-Creation-Date:|#)' "$popath/$pofile" | md5sum | cut -d " " -f1`
216 208
 
217
-			# Update the po file
209
+		# Update the pot file
218 210
 		po4a-updatepo -f wml -m "$file" -p "$popath/$pofile" --master-charset utf-8 -o customtag="$customtag" -o nodefault="$nodefault"
219 211
 
220 212
 		# Calculate the new hash
... ...
@@ -257,4 +249,3 @@ for lang in $langdir ; do
257 249
 	# Delete the temp log
258 250
 	rm -f $tmplog
259 251
 done
260
-done
261 252