X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=html%2Fccbs.pm;h=d3f07210ebec20c9a7432d99b4d5e2d953a2e29e;hb=eef57263709c5dc7e1f361075e5ce8cb7b7b2367;hp=61dadf8f529e31638989b8794441509216582292;hpb=06646037fce27cd24b2976024bc577049c0a5d45;p=ccbs diff --git a/html/ccbs.pm b/html/ccbs.pm index 61dadf8..d3f0721 100755 --- a/html/ccbs.pm +++ b/html/ccbs.pm @@ -4,8 +4,11 @@ use CGI; use DBI; use HTML::Entities; use Time::HiRes; +use Locale::gettext; +use POSIX; use strict; use warnings; +require '../intl/Sesse::GettextizeTemplates.pm'; our $start_time; @@ -17,7 +20,12 @@ our $ccbs_dbdebug = 0; # Set this flag to disable any admin tasks -- it's quite crude, but hey :-) our $ccbs_noadmin = 0; - + +# Hack to get the non-templatized gettext stuff working +*_ = sub { + return Locale::gettext::gettext(@_); +}; + sub print_header { print CGI::header(-type=>'text/html; charset=utf-8'); } @@ -32,7 +40,7 @@ sub print_see_other { sub db_connect { $ccbs_dbdebug = defined(shift) ? 1 : 0; - my $dbh = DBI->connect("dbi:Pg:dbname=ccbs;host=altersex.samfundet.no", "ccbs", "GeT|>>B_") + my $dbh = DBI->connect("dbi:Pg:dbname=ccbs;host=www.positivegaming.com", "ccbs", "GeT|>>B_") or die "Couldn't connect to database"; $dbh->{RaiseError} = 1; return $dbh; @@ -73,11 +81,17 @@ sub process_template { $vars->{'public'} = $ccbs_noadmin; $vars->{'timetogenerate'} = sprintf "%.3f", Time::HiRes::tv_interval($start_time); + POSIX::setlocale( &POSIX::LC_CTYPE , "nb_NO.UTF-8" ); + POSIX::setlocale( &POSIX::LC_MESSAGES , "nb_NO.UTF-8" ); + Locale::gettext::bindtextdomain("ccbs", "po"); + Locale::gettext::textdomain("ccbs"); + my $config = { INCLUDE_PATH => 'templates/', INTERPOLATE => 1, POST_CHOMP => 1, EVAL_PERL => 1, + FACTORY => 'Sesse::GettextizeTemplates' }; my $template = Template->new($config); @@ -92,13 +106,13 @@ sub user_error { my $msg = shift; ccbs::print_header(); - ccbs::process_template('user-error.tmpl', 'Feil', + ccbs::process_template('user-error.tmpl', _('Error'), { message => $msg }); exit; } sub admin_only { - user_error("Beklager, databasen står i no-admin-mode.") if ($ccbs_noadmin); + user_error(_("Sorry, the database is in no-admin-mode.")) if ($ccbs_noadmin); } $SIG{__DIE__} = sub { @@ -107,7 +121,7 @@ $SIG{__DIE__} = sub { return if $msg =~ m#Win32/Registry.pm#; ccbs::print_header(); - ccbs::process_template('error.tmpl', 'Internal Server Error', + ccbs::process_template('error.tmpl', _('Internal Server Error'), { message => HTML::Entities::encode_entities($msg) }); };