File: intl_stats.sh

package info (click to toggle)
geany 0.19.1-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 15,216 kB
  • ctags: 12,981
  • sloc: ansic: 75,212; cpp: 36,044; sh: 9,336; python: 660; makefile: 622; xml: 119; cs: 64; java: 58; perl: 49; ada: 42; fortran: 41; tcl: 31; asm: 27; sql: 22; ruby: 6; php: 1
file content (100 lines) | stat: -rwxr-xr-x 2,548 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#!/bin/sh

# Little shell script to display some basic statistics about Geany's translation
# files. It also checks the menu accelerators.
#
# Copyright 2007-2008 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
# Copyright 2007-2008 Frank Lanitz <enrico(dot)troeger(at)uvena(dot)de>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


check_accelerators=""
linguas=""
me=`basename $0`


usage()
{
	echo "usage: $me [OPTION] [languages...]"
	echo
	echo "OPTIONs are:"
	echo "-h --help           this help screen"
  	echo "-a --accelerators   check also for menu accelerators"
  	echo "languages           list of language codes which should be tested"
  	echo
  	echo "example: $me -a de fr hu"
}


# parse cmd line arguments
while [ $# -gt 0 ]
do
	case $1 in
		--accelerators)
			check_accelerators="--check-accelerators=_"
			;;
		-a)
		  check_accelerators="--check-accelerators=_"
		  ;;
		--help)
		  usage;
		  exit 1;
		  ;;
		-h)
		  usage;
		  exit 1;
		  ;;
		*)
		  linguas="$linguas "$1
		  ;;
	esac
	shift
done



# if no languages where specified on the command line, take all listed languages in LINGUAS
if [ -z "$linguas" ]
then
	linguas=`sed -e '/^#/d' po/LINGUAS`
fi

# dash and zsh don't need the -e switch to echo, bash does
# maybe there is a better way to detect whether we are running on a bash
eswitch=""
if [ "$BASH" ]
then
	eswitch="-e"
fi

# do the work
if [ $check_accelerators ]
then
   for lang in $linguas
   do
     msgfmt --check --statistics $check_accelerators po/$lang.po;
   done
else
   for lang in $linguas
   do
     # maybe the regexp can be optimized, regexps are not my best friends
     creationdate=`grep "PO-Revision-Date:" po/$lang.po | sed 's/.*: \([0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\} [0-9]\{2\}:[0-9]\{2\}[+|-][0-9]\{4\}\).*/\1/'`
     echo -n $eswitch $lang"\t("$creationdate"):\t"
     msgfmt --check --statistics po/$lang.po;
   done
fi