X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=html%2Fccbs.pm;h=65838027c25483dd55cc7f888b56d69ccf9ecf88;hb=52c1d6c706b501f252e49ce576354435b2b25b59;hp=cd71ce8aeb6f68b3ee318ee5464b03a436b79f1a;hpb=2b281b9236c2b6aae61081717ea6210900f0dbbe;p=ccbs diff --git a/html/ccbs.pm b/html/ccbs.pm index cd71ce8..6583802 100755 --- a/html/ccbs.pm +++ b/html/ccbs.pm @@ -1,6 +1,7 @@ package ccbs; use Template; use CGI; +use CGI::Cookie; use DBI; use HTML::Entities; use Time::HiRes; @@ -13,8 +14,16 @@ require '../intl/Sesse::GettextizeTemplates.pm'; require '../config.pm'; -r '../config.local.pm' and require '../config.local.pm'; -POSIX::setlocale( &POSIX::LC_CTYPE , $ccbs::config::lang ); -POSIX::setlocale( &POSIX::LC_MESSAGES , $ccbs::config::lang ); +# Check for language settings +my %cookies = fetch CGI::Cookie; +my $lang = defined($cookies{'language'}) ? $cookies{'language'}->value : undef; +if (defined($lang) && ($lang eq 'nb_NO' || $lang eq 'en_US')) { + POSIX::setlocale( &POSIX::LC_CTYPE , $lang . ".UTF-8" ); + POSIX::setlocale( &POSIX::LC_MESSAGES , $lang . ".UTF-8" ); +} else { + POSIX::setlocale( &POSIX::LC_CTYPE , $ccbs::config::lang ); + POSIX::setlocale( &POSIX::LC_MESSAGES , $ccbs::config::lang ); +} Locale::gettext::bindtextdomain("ccbs", "po"); Locale::gettext::textdomain("ccbs"); @@ -79,7 +88,7 @@ sub process_template { my ($page, $title, $vars) = @_; $vars->{'page'} = $page; $vars->{'title'} = $title; - $vars->{'public'} = $config::ccbs::noadmin; + $vars->{'public'} = $ccbs::config::noadmin; $vars->{'timetogenerate'} = sprintf "%.3f", Time::HiRes::tv_interval($start_time); my $config = { @@ -92,7 +101,7 @@ sub process_template { my $template = Template->new($config); my $output = ''; - $template->process('main.tmpl', $vars, \$output) + $template->process($ccbs::config::main_template, $vars, \$output) or die $template->error(); print $output;