Improve create-release.sh, add scripts/lang-cleanup.sh for removing languages
[phpmyadmin/crack.git] / scripts / lang-cleanup.sh
blobd3fa2b790ae3860d950a83cd95f770555ababb73
1 #!/bin/sh
3 # $Id$
4 # vim: expandtab sw=4 ts=4 sts=4:
6 # Script for removing language selection from phpMyAdmin
8 TYPES=<<EOT
9 all-languages:-false
10 all-languages-utf-8-only:-not -name '*-utf-8.inc.php'
11 EOT
13 if [ $# -lt 1 ] ; then
14 echo "Usage: lang-cleanup.sh type ..."
15 echo "Type can be one of:"
16 echo " all-languages - nothing will be done"
17 echo " all-languages-utf-8-only - non utf-8 languages will be deleted"
18 echo " language - keeps utf-8 version of language"
19 echo " language-charset - keeps this exact language"
20 echo
21 echo "Types can be entered multiple times, all matched languages will be kept"
22 exit 1
25 # Construct expressions for find
26 match=""
27 for type in "$@" ; do
28 case $type in
29 all-languages)
30 match="$match -and -false"
32 all-languages-utf-8-only)
33 match="$match -and -not -name *-utf-8.inc.php"
36 if [ -f lang/$type-utf-8.inc.php ] ; then
37 match="$match -and -not -name $type-utf-8.inc.php"
38 elif [ -f lang/$type.inc.php ] ; then
39 match="$match -and -not -name $type.inc.php"
40 else
41 echo "ERROR: $type seems to be wrong!"
42 exit 2
45 esac
46 done
48 # Delete unvanted languages
49 find lang -name \*.inc.php $match -print0 | xargs -0r rm
51 # Cleanup libraries/select_lang.lib.php
53 # Find languages we have
54 langmatch="$(awk -F, \
55 'BEGIN { pr = 1 } ;
56 /^\);/ { pr = 1 } ;
57 {if(!pr) print $2;};
58 /^\$available_languages/ { pr = 0 };' \
59 libraries/select_lang.lib.php \
60 | tr -d \' \
61 | while read lng ; do if [ -f lang/$lng.inc.php ] ; then echo $lng ; fi ; done \
62 | tr '\n' '|' \
63 | sed 's/|$//' \
66 # Prepare working copy
67 tmp=`mktemp libraries/select_lang.lib.php.XXXX`
68 cat libraries/select_lang.lib.php > $tmp
70 # Remove languages we don't have
71 awk -F, \
72 'BEGIN { pr = 1 } ;
73 /^\);/ { pr = 1 } ;
74 {if(pr) print $0;};
75 /'$langmatch'/ {if (!pr) print $0;};
76 /^\$available_languages/ { pr = 0 };' \
77 $tmp > libraries/select_lang.lib.php
79 # Final cleanup
80 rm -f $tmp