-#!/usr/bin/perl\r
-#\r
-############################################################################\r
-# #\r
-# This file is part of the IPCop Firewall. #\r
-# #\r
-# IPCop is free software; you can redistribute it and/or modify #\r
-# it under the terms of the GNU General Public License as published by #\r
-# the Free Software Foundation; either version 2 of the License, or #\r
-# (at your option) any later version. #\r
-# #\r
-# IPCop is distributed in the hope that it will be useful, #\r
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #\r
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #\r
-# GNU General Public License for more details. #\r
-# #\r
-# You should have received a copy of the GNU General Public License #\r
-# along with IPCop; if not, write to the Free Software #\r
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #\r
-# #\r
-# Copyright (C) 2004-03-12 Mark Wormgoor <mark@wormgoor.com> #\r
-# #\r
-############################################################################\r
-#\r
-# $Id: check_strings.pl,v 1.1.2.4 2005/02/28 19:35:03 eoberlander Exp $\r
-#\r
-\r
-my (%tr2, $basedir);\r
-\r
-use Cwd;\r
-use File::Find;\r
-\r
-$basedir = cwd();\r
-require "${basedir}/langs/en/cgi-bin/en.pl";\r
-\r
-sub wanted {\r
- if ( -f $File::Find::name && open(FILE, $File::Find::name)) {\r
- while (<FILE>) {\r
- while ($_ =~ /\$Lang::tr{'([A-Za-z0-9,:_\s\/\.-]+)'}/g) {\r
- $tr2{$1} = 'empty string';\r
- }\r
- }\r
- close(FILE);\r
- }\r
-}\r
-\r
-## Main\r
-find (\&wanted, $basedir );\r
-\r
-for my $key ( sort (keys %tr) ) {\r
- my $value = $tr{$key};\r
- if (! $tr2{$key}) {\r
- print "WARNING: translation string unused: $key\n";\r
- }\r
-}\r
-\r
-for my $key ( sort(keys %tr2) ) {\r
- my $value = $tr2{$key};\r
- if (! $tr{$key}) {\r
- print "WARNING: untranslated string: $key\n";\r
- }\r
-}\r
+#!/usr/bin/perl
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
+# #
+# 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 3 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, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+my (%tr2, $basedir);
+
+use Cwd;
+use File::Find;
+
+my $lang = "$ARGV[0]";
+if ( $lang eq "") {
+ print "ERROR: Please give me a language!\n";
+ exit;
+}
+
+$basedir = cwd();
+
+# Load English strings
+require "${basedir}/langs/en/cgi-bin/en.pl";
+
+# Copy hash and empty %tr
+my %tr_en = %tr;
+%tr = ();
+
+# Load requested language
+require "${basedir}/langs/$lang/cgi-bin/$lang.pl";
+
+sub wanted {
+ if ( -f $File::Find::name && open(FILE, $File::Find::name)) {
+ while (<FILE>) {
+ while ($_ =~ /\$Lang::tr\{'([A-Za-z0-9,:_\s\/\.-]+)'\}/g) {
+ $tr2{$1} = $tr_en{$1} || "unknown string";
+ }
+ }
+ close(FILE);
+ }
+}
+
+## Main
+find (\&wanted, "$basedir/html" );
+find (\&wanted, "$basedir/src/scripts" );
+find (\&wanted, "$basedir/config/cfgroot" );
+find (\&wanted, "$basedir/config/menu" );
+
+for my $key ( sort (keys %tr) ) {
+ my $value = $tr{$key};
+ if (! $tr2{$key}) {
+ print "WARNING: translation string unused: $key\n";
+ }
+}
+
+for my $key ( sort(keys %tr2) ) {
+ my $value = $tr2{$key};
+ if (! $tr{$key}) {
+ print "WARNING: untranslated string: $key = $value\n";
+ }
+}