1 #!/bin/bash
2 # check the main Inkscape tree for tutorial-related problems
3 # $1: full name of the root directory of the local copy of the main Inkscape tree
4 # usage example:
5 # check_for_tutorial_problems.sh /tmp/inkscape
7 LANG=C
8 LC_ALL=C
10 PO_FILE_LIST=`ls -1 "$1/po/" | grep "\.po$" | sort`
12 echo "$PO_FILE_LIST" |\
13 while read PO_FILENAME; do
14 echo; echo "----- $PO_FILENAME -----------------------------------"
15 TRANSLATIONS_IN_CURRENT_PO=`cat "$1/po/$PO_FILENAME" | grep -A 1 "^msgid\ \"tutorial-[^.]*\.svg\""`
16 UNTRANSLATED_COUNT=`echo "$TRANSLATIONS_IN_CURRENT_PO" | grep -c "^msgstr \"\""`
17 if [ $UNTRANSLATED_COUNT -gt 0 ]; then
18 echo "$PO_FILENAME has $UNTRANSLATED_COUNT untranslated tutorial filenames"
19 fi
20 echo "$TRANSLATIONS_IN_CURRENT_PO" | grep -v "^msgstr \"\"" |\
21 grep "^msgstr \"" |\
22 while read TUTORIAL_FILENAME_TRANSLATION_LINE; do
23 TUTORIAL_FILENAME_TRANSLATION=`echo "$TUTORIAL_FILENAME_TRANSLATION_LINE" |\
24 sed 's/^msgstr \"\(.*\)\"[ ]*$/\1/'`
25 echo -n "$PO_FILENAME references \"$TUTORIAL_FILENAME_TRANSLATION\""
26 if [ -e "$1/share/tutorials/$TUTORIAL_FILENAME_TRANSLATION" ]; then
27 echo " OK"
28 else
29 echo " ERROR: THE REFERENCED FILE DOESN'T EXIST, PLEASE CHECK"
30 fi
31 done
32 done
34 echo; echo
36 TUTORIAL_FILE_LIST=`ls -1 "$1/share/tutorials/" | grep "^tutorial-[^.]*\...\.svg$" | sort`
38 echo "$TUTORIAL_FILE_LIST" |\
39 while read TUTORIAL_FILENAME; do
40 echo; echo "----- $TUTORIAL_FILENAME -----------------------------------"
41 LANGUAGE_CODE=`echo "$TUTORIAL_FILENAME" | sed 's/^tutorial-[^.]*\.\(..\)\.svg$/\1/'`
42 if [ -e "$1/po/$LANGUAGE_CODE.po" ]; then
43 TRANSLATIONS_IN_CURRENT_PO=`cat "$1/po/$LANGUAGE_CODE.po" | grep -A 1 "^msgid\ \"tutorial-[^.]*\.svg\""`
44 echo "$TRANSLATIONS_IN_CURRENT_PO" | grep -q "^msgstr \"$TUTORIAL_FILENAME\""
45 if [ $? -eq 0 ]; then
46 echo "$TUTORIAL_FILENAME is referenced in $LANGUAGE_CODE.po"
47 else
48 echo "WARNING: $TUTORIAL_FILENAME IS NOT REFERENCED IN $LANGUAGE_CODE.po"
49 fi
50 else
51 echo "WARNING: \"$LANGUAGE_CODE.po\" FILE NOT FOUND"
52 fi
53 done
55 echo; echo
57 TUTORIAL_DIRECTORY_FILELIST=`ls -1 "$1/share/tutorials/" | grep -v "^Makefile.am$" | sort`
59 echo "$TUTORIAL_DIRECTORY_FILELIST" |\
60 while read TUTORIAL_DIRECTORY_FILENAME; do
61 cat "$1/share/tutorials/Makefile.am" | grep -q "^ $TUTORIAL_DIRECTORY_FILENAME "
62 if [ $? -ne 0 ]; then
63 cat "$1/share/tutorials/Makefile.am" | grep -q "^ $TUTORIAL_DIRECTORY_FILENAME$"
64 if [ $? -ne 0 ]; then
65 echo "WARNING: $TUTORIAL_DIRECTORY_FILENAME IS NOT IN Makefile.am"
66 fi
67 fi
68 done