change build number calculation to be more accurate
[spider.git] / perl / DXM.pm
index 5a3b22e3b086415804cde6ab1c317e9fae16bed8..bb6fb597d919e3ea6dff2d784af5c98033b2bc34 100644 (file)
 
 package DXM;
 
+use strict;
 use DXVars;
-use Carp;
+use DXDebug;
 
 my $localfn = "$main::root/local/Messages";
 my $fn = "$main::root/perl/Messages";
 
+use vars qw($VERSION $BRANCH);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/ ) || 0;
+$main::build += $VERSION;
+$main::branch += $BRANCH;
+
+use vars qw(%msgs);
+
 sub msg
 {
        my $lang = shift;
        my $m = shift;
        my $ref = $msgs{$lang};
        my $s = $ref->{$m} if $ref;
+       if (!$s && $lang ne 'en') {
+               $ref = $msgs{'en'};
+               $s = $ref->{$m};
+       }
        return "unknown message '$m' in lang '$lang'" if !defined $s;
        my $ans = eval qq{ "$s" };
-       confess $@ if $@;
+       warn $@ if $@;
        return $ans;
 }
 
@@ -53,3 +67,5 @@ sub init
 {
        load();
 }
+
+1;