per-agent disable_previous_balance, #15863
[freeside.git] / FS / FS / L10N / DBI.pm
1 package FS::L10N::DBI;
2 use base qw(FS::L10N);
3 use strict;
4 use FS::Msgcat;
5
6 our %Lexicon = ();
7
8 sub maketext {
9   my($lh, $key, @rest) = @_;
10
11   unless ( exists $Lexicon{$key} ) {
12     my $lang = $lh->language_tag;
13     $lang =~ s/-(\w*)/_\U$1/;
14     $Lexicon{$key} = FS::Msgcat::_gettext( $key, $lang );
15   }
16
17   my $res = eval { $lh->SUPER::maketext($key, @rest) };
18   if ( !$res || $@ ) {
19     my $errmsg = "MT error for '$key'";
20     warn "$errmsg\n";
21     return $errmsg;
22   }
23
24   $res;
25 }
26
27 1;
28