package FS::msgcat;
use strict;
-use vars qw( @ISA @EXPORT_OK $conf $locale );
+use vars qw( @ISA @EXPORT_OK $conf $locale $debug );
use Exporter;
use FS::UID;
use FS::Record qw( qsearchs );
$FS::UID::callback{'msgcat'} = sub {
$conf = new FS::Conf;
$locale = $conf->config('locale') || 'en_US';
+ $debug = $conf->exists('show-msgcat-codes')
};
=head1 NAME
=cut
sub gettext {
+ $debug ? geterror(@_) : _gettext(@_);
+}
+
+sub _gettext {
my $msgcode = shift;
my $msgcat = qsearchs('msgcat', {
'msgcode' => $msgcode,
sub geterror {
my $msgcode = shift;
- my $msg = gettext($msgcode);
+ my $msg = _gettext($msgcode);
if ( $msg eq $msgcode ) {
"Error code $msgcode (message for locale $locale not found)";
} else {
=head1 BUGS
-i18n/l10n is a mess.
+i18n/l10n, eek
=head1 SEE ALSO