Geaendert:
[ipfire-2.x.git] / tools / check_strings.pl
1 #!/usr/bin/perl
2 #
3 ############################################################################
4 # #
5 # This file is part of the IPCop Firewall. #
6 # #
7 # IPCop is free software; you can redistribute it and/or modify #
8 # it under the terms of the GNU General Public License as published by #
9 # the Free Software Foundation; either version 2 of the License, or #
10 # (at your option) any later version. #
11 # #
12 # IPCop is distributed in the hope that it will be useful, #
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of #
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
15 # GNU General Public License for more details. #
16 # #
17 # You should have received a copy of the GNU General Public License #
18 # along with IPCop; if not, write to the Free Software #
19 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
20 # #
21 # Copyright (C) 2004-03-12 Mark Wormgoor <mark@wormgoor.com> #
22 # #
23 ############################################################################
24 #
25 # $Id: check_strings.pl,v 1.1.2.4 2005/02/28 19:35:03 eoberlander Exp $
26 #
27
28 my (%tr2, $basedir);
29
30 use Cwd;
31 use File::Find;
32
33 $basedir = cwd();
34 require "${basedir}/langs/en/cgi-bin/en.pl";
35
36 sub wanted {
37 if ( -f $File::Find::name && open(FILE, $File::Find::name)) {
38 while (<FILE>) {
39 while ($_ =~ /\$Lang::tr{'([A-Za-z0-9,:_\s\/\.-]+)'}/g) {
40 $tr2{$1} = 'empty string';
41 }
42 }
43 close(FILE);
44 }
45 }
46
47 ## Main
48 find (\&wanted, $basedir );
49
50 for my $key ( sort (keys %tr) ) {
51 my $value = $tr{$key};
52 if (! $tr2{$key}) {
53 print "WARNING: translation string unused: $key\n";
54 }
55 }
56
57 for my $key ( sort(keys %tr2) ) {
58 my $value = $tr2{$key};
59 if (! $tr{$key}) {
60 print "WARNING: untranslated string: $key\n";
61 }
62 }