X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fmsgcat.pm;h=855b8b291368851b1766841c47b6a3975c8758e6;hp=3eca14b8362171b6be257582b845e6fdf62b7339;hb=efccaa2d081bfcaaddcf9d89da3c2a065b4caafb;hpb=44e3eff0aa6e7bdb7f4ecd9ee1ddf141e1b68af3 diff --git a/FS/FS/msgcat.pm b/FS/FS/msgcat.pm index 3eca14b83..855b8b291 100644 --- a/FS/FS/msgcat.pm +++ b/FS/FS/msgcat.pm @@ -1,20 +1,12 @@ package FS::msgcat; use strict; -use vars qw( @ISA @EXPORT_OK $conf $locale $debug ); +use vars qw( @ISA ); use Exporter; use FS::UID; use FS::Record qw( qsearchs ); -use FS::Conf; @ISA = qw(FS::Record); -@EXPORT_OK = qw( gettext geterror ); - -$FS::UID::callback{'msgcat'} = sub { - $conf = new FS::Conf; - $locale = $conf->config('locale') || 'en_US'; - $debug = $conf->exists('show-msgcat-codes') -}; =head1 NAME @@ -22,14 +14,8 @@ FS::msgcat - Object methods for message catalog entries =head1 SYNOPSIS - use FS::msgcat qw(gettext); - - #simple interface for retreiving messages... - $message = gettext('msgcode'); - #or errors (includes the error code) - $message = geterror('msgcode'); + use FS::msgcat; - #maintenance stuff $record = new FS::msgcat \%hash; $record = new FS::msgcat { 'column' => 'value' }; @@ -58,6 +44,8 @@ from FS::Record. The following fields are currently supported: =back +If you just want to B message catalogs, see L. + =head1 METHODS =over 4 @@ -125,55 +113,7 @@ sub check { $self->locale =~ /^([\w\@]+)$/ or return "illegal locale: ". $self->locale; $self->locale($1); - ''; #no error -} - -=back - -=head1 SUBROUTINES - -=over 4 - -=item gettext MSGCODE - -Returns the full message for the supplied message code. - -=cut - -sub gettext { - $debug ? geterror(@_) : _gettext(@_); -} - -sub _gettext { - my $msgcode = shift; - my $msgcat = qsearchs('msgcat', { - 'msgcode' => $msgcode, - 'locale' => $locale - } ); - if ( $msgcat ) { - $msgcat->msg; - } else { - warn "WARNING: message for msgcode $msgcode in locale $locale not found"; - $msgcode; - } - -} - -=item geterror MSGCODE - -Returns the full message for the supplied message code, including the message -code. - -=cut - -sub geterror { - my $msgcode = shift; - my $msg = _gettext($msgcode); - if ( $msg eq $msgcode ) { - "Error code $msgcode (message for locale $locale not found)"; - } else { - "$msg (error code $msgcode)"; - } + $self->SUPER::check } =back @@ -184,7 +124,7 @@ i18n/l10n, eek =head1 SEE ALSO -L, schema.html from the base documentation. +L, L, schema.html from the base documentation. =cut