summaryrefslogtreecommitdiff
path: root/httemplate/browse/msgcat.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/browse/msgcat.html')
-rw-r--r--httemplate/browse/msgcat.html36
1 files changed, 36 insertions, 0 deletions
diff --git a/httemplate/browse/msgcat.html b/httemplate/browse/msgcat.html
new file mode 100644
index 000000000..ac8a3a437
--- /dev/null
+++ b/httemplate/browse/msgcat.html
@@ -0,0 +1,36 @@
+<& 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 ? '<B>' : '';
+ my $selectedend = $alocale eq $locale ? '</B>' : '';
+ $html_init .= qq!<A HREF="msgcat.html?locale=$alocale">$selectedstart$info{name} ($info{country})$selectedend</A> &nbsp; !;
+}
+$html_init .= '<BR><BR>';
+
+</%init>