& elements/browse.html,
     title         => mt('Message catalog'),
     name_singular => 'string', #mt? no, we need to do it through the quant/PL stuff
     query         => { 'table'     => 'msgcat', 
                        'hashref'   => { 'locale' => $locale, },
                      },
     count_query   => $count_query,
     header        => [ mt('Message code'), mt('Message string') ],
     fields        => [ 'msgcode', 'msg' ],
     links         => $locale eq 'en_US' ? [] : [ $link, $link ],
     html_init     => $html_init,
&>
<%init>
my $curuser = $FS::CurrentUser::CurrentUser;
die "access denied"
  unless $curuser->access_right('Configuration');
my $locale = $cgi->param('locale') || 'en_US';
die "invalid locale" unless $locale =~ /^[A-Za-z_]+$/;
my $count_query = "SELECT COUNT(*) FROM msgcat where locale = '$locale'";
my $link = [ "${p}edit/msgcat.html?", 'msgnum' ];
my $html_init = '';
foreach my $alocale ( FS::Locales->locales ) {
     my %info = FS::Locales->locale_info($alocale);
     my $selectedstart = $alocale eq $locale ? '' : '';
     my $selectedend = $alocale eq $locale ? '' : '';
     $html_init .= qq!$selectedstart$info{name} ($info{country})$selectedend   !;
}
$html_init .= '
';
%init>