Index: other-projects/gti/gti-wget-status-page.sh
===================================================================
--- other-projects/gti/gti-wget-status-page.sh	(revision 28321)
+++ other-projects/gti/gti-wget-status-page.sh	(revision 28490)
@@ -30,5 +30,5 @@
 
 # If we succeeded, the return value is 0 and we have a file saved under
-# $savedas_filename. In that case, we get read of the previous status page
+# $savedas_filename. In that case, we get rid of the previous status page
 # If wget failed or the expected file is not saved, we keep the previous
 # day's status page, but with a log message about why.
Index: other-projects/gti/remove_extra_lines.sh
===================================================================
--- other-projects/gti/remove_extra_lines.sh	(revision 28490)
+++ other-projects/gti/remove_extra_lines.sh	(revision 28490)
@@ -0,0 +1,29 @@
+#! /bin/bash
+
+cp $1 $1.bak
+
+CLEANVERSION_NAME="$1.clean"
+
+# echo $1
+
+# Removing lines that will become completely empty after sed operation
+# http://soft.zoneo.net/Linux/remove_empty_lines.php
+# http://www.grymoire.com/Unix/Sed.html#uh-30
+sed '/ *# -- Missing translation/d' $1 > $CLEANVERSION_NAME
+mv $CLEANVERSION_NAME $1
+
+# Now we got rid of all the empty lines created by removing "Missing translation" lines
+# We remove any lines containing "Missing translation" but also containing other stuff
+
+cat $1 | sed -e 's/# -- Missing translation:.*$//' > $CLEANVERSION_NAME
+
+# Remove comment of form: #Updated 21-Nov-2011 by <name>
+# The date can be either 1 or 2 digits. It need not be followed by "by <name>"
+#cat $CLEANVERSION_NAME | sed -e 's/# Updated \d\d-[a-zA-Z]{3}-\d{4} by.*$//' > $1
+#cat $CLEANVERSION_NAME | sed -e 's/ *# Updated .* (by.*)?$//' > $1
+cat $CLEANVERSION_NAME | sed -e 's/ *# Updated .[0-9]*\-...\-.....*$//' > $1
+
+rm $CLEANVERSION_NAME
+
+echo "**** cleaned version $1"
+echo "**** pre-cleaned original is in $1.bak"
Index: other-projects/gti/translation_status.sh
===================================================================
--- other-projects/gti/translation_status.sh	(revision 28490)
+++ other-projects/gti/translation_status.sh	(revision 28490)
@@ -0,0 +1,57 @@
+#! /bin/bash
+
+GREENSTONE_EMAIL=greenstone_team@cs.waikato.ac.nz
+
+# get rid of any old reports
+report=translation_status_report.txt
+if test -f $report; then 
+    rm -f $report
+fi
+
+filelisting=("macros/*.dm" "perllib/strings*.properties" "gli/classes/dictionary*.properties" "gli/help/" "gsinstaller/LanguagePack*.properties")
+
+date=`date +"%d-%m-%y"`
+echo "Translation status report for date: $date" >> $report
+echo "Checked in ${filelisting[@]}" >> $report
+echo "---------------------------------------------" >> $report
+
+# store backup of Internal Field Separator value, then set IFS to newline for splitting on newline
+IFS_BAK=$IFS
+#    IFS='\n' # splits on all whitespace
+IFS='
+'
+
+num_modified=0
+
+# in the lines returned from the diff, test for archives or newline
+# http://stackoverflow.com/questions/229551/string-contains-in-bash
+# http://stackoverflow.com/questions/10515964/counter-increment-in-bash-loop-not-working
+for file in ${filelisting[@]}; do
+    status=`svn status $file`
+    # "LINE: $file - status: $status"
+    # if the file's svn status is modified, write the filename out to the report
+    if [[ "$status" == *"M "* ]]; then
+	#echo "$file has been modified: $status"
+	echo $file >> $report
+	((num_modified++))
+    fi
+done
+
+# restore IFS
+IFS=$IFS_BAK
+IFS_BAK=
+
+if [[ $num_modified == 0 ]]; then
+    echo "No files modified" >> $report
+else
+    echo ""
+    echo "The above files were modified ($num_modified number of files)." >> $report
+fi
+
+echo "---------------------------------------------" >> $report
+
+# if no files are modified, we don't send email, otherwise we do
+if [[ $num_modified != 0 ]]; then
+#  echo "Files were modified. Sending email..."  
+  cat $report | mail -s 'TRANSLATION files on nzdl have been updated' $GREENSTONE_EMAIL
+fi
