From: Dan Scott Date: Sat, 4 Aug 2012 14:10:48 +0000 (-0400) Subject: TPAC: Add the ability to set a different default locale X-Git-Url: http://git.equinoxoli.org/?p=transitory.git;a=commitdiff_plain;h=bf49cb3320e9db758a43427c05fea4a9ddfd932f TPAC: Add the ability to set a different default locale Installations with multiple sites might desire different default locales for their skins. This adds the Apache config directive "OILSWebDefaultLocale", which enables you to set the default locale on a global and a per-skin basis. Note that this prevents the browser Accept-language header from having any effect; sadly that header is not often used in real life. Signed-off-by: Dan Scott Signed-off-by: Art Rhyno Conflicts: Open-ILS/examples/apache/eg_vhost.conf Signed-off-by: Bill Erickson Signed-off-by: Dan Scott --- diff --git a/Open-ILS/examples/apache/eg_vhost.conf b/Open-ILS/examples/apache/eg_vhost.conf index c2b4cd2..81903c9 100644 --- a/Open-ILS/examples/apache/eg_vhost.conf +++ b/Open-ILS/examples/apache/eg_vhost.conf @@ -591,6 +591,9 @@ RewriteRule ^/openurl$ ${openurl:%1} [NE,PT] #PerlAddVar OILSWebLocale "fr_ca" #PerlAddVar OILSWebLocale "/openils/var/data/locale/fr-CA.po" + # Set the default locale: defaults to en-US + #PerlAddVar OILSWebDefaultLocale "fr_ca" + # Templates will be loaded from the following paths in reverse order. PerlAddVar OILSWebTemplatePath "/openils/var/templates" #PerlAddVar OILSWebTemplatePath "/openils/var/templates_localskin" diff --git a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm index 44c6018..cb65581 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/WWW/EGWeb.pm @@ -144,6 +144,7 @@ sub load_context { $ctx->{skin} = $cgi->cookie(OILS_HTTP_COOKIE_SKIN) || 'default'; $ctx->{theme} = $cgi->cookie(OILS_HTTP_COOKIE_THEME) || 'default'; $ctx->{proto} = $cgi->https ? 'https' : 'http'; + my $default_locale = $r->dir_config('OILSWebDefaultLocale') || 'en_us'; my @template_paths = uniq $r->dir_config->get('OILSWebTemplatePath'); $ctx->{template_paths} = [ reverse @template_paths ]; @@ -167,8 +168,8 @@ sub load_context { } $ctx->{locale} = $set_locale || - $cgi->cookie(OILS_HTTP_COOKIE_LOCALE) || - parse_accept_lang($r->headers_in->get('Accept-Language')) || 'en_us'; + $cgi->cookie(OILS_HTTP_COOKIE_LOCALE) || $default_locale || + parse_accept_lang($r->headers_in->get('Accept-Language')); # set the editor default locale for each page load $OpenILS::Utils::CStoreEditor::default_locale = parse_eg_locale($ctx->{locale});