projects
/
spider.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
1. Sysops can now have full privileges if there is a ExtMsg listener on
[spider.git]
/
perl
/
DXM.pm
diff --git
a/perl/DXM.pm
b/perl/DXM.pm
index 41c2bbff05e17fb818f3f1b6ce591704082bb5e4..fe1bca7db2af02b5e4c41bb8136c0fbe191108f3 100644
(file)
--- a/
perl/DXM.pm
+++ b/
perl/DXM.pm
@@
-16,22
+16,44
@@
package DXM;
package DXM;
-require Exporter;
-@ISA = qw(Exporter);
-@EXPORT = qw(msg);
+use DXVars;
+use DXDebug;
-%msgs = (
- l1 => 'Sorry $_[0], you are already logged on on another channel',
- l2 => 'Hello $_[0], this is $main::mycall located in $main::myqth',
- pr => '$_[0] de $main::mycall $main::cldate $main::ztime >',
-);
+my $localfn = "$main::root/local/Messages";
+my $fn = "$main::root/perl/Messages";
sub msg
{
sub msg
{
- my $self = shift;
- my $s = $msgs{$self};
- return "unknown message '$self'" if !defined $s;
+ 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" };
+ warn $@ if $@;
+ return $ans;
+}
- return eval '"'. $s . '"';
+sub load
+{
+ my $ref = shift;
+ if (-e $localfn) {
+ do $localfn;
+ return ($@) if $@ && ref $ref;
+ confess $@ if $@;
+ return ();
+ }
+ do $fn;
+ return ($@) if $@ && ref $ref;
+ confess $@ if $@;
+ return ();
+}
+
+sub init
+{
+ load();
}
}
-