package ccbs;
use Template;
use CGI;
+use CGI::Cookie;
use DBI;
use HTML::Entities;
use Time::HiRes;
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");
--- /dev/null
+#! /usr/bin/perl
+
+use ccbs;
+use CGI::Cookie;
+use strict;
+use warnings;
+
+my $cgi = new CGI;
+my $cookie = new CGI::Cookie(-name=>'language', -value=>($cgi->param('lang')));
+
+print CGI::header(-status=>'303 See other',
+ -location=>'http://ccbs.sesse.net/',
+ -cookie=>$cookie,
+ -type=>'text/html; charset=utf-8');
+
</ul>
</div>
[% END %]
+
+<h2>Language support</h2>
+
+<div>
+ <p>You can select a different language if you'd like to. Note that this
+ feature requires cookie support in your web browser.</p>
+
+ <ul>
+ <li><a href="do-set-language.pl?lang=en_US">English</a></li>
+ <li><a href="do-set-language.pl?lang=nb_NO">Norwegian bokmål</a></li>
+ </ul>
+</div>