From 86ec0cf9989aaa1afdad2f6a36a62d6515489e1b Mon Sep 17 00:00:00 2001 From: miker Date: Fri, 12 Nov 2010 20:39:09 +0000 Subject: [PATCH] Cache the language set (per locale) in a cookie git-svn-id: svn://svn.open-ils.org/ILS/trunk@18719 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- Open-ILS/web/js/dojo/openils/I18N.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Open-ILS/web/js/dojo/openils/I18N.js b/Open-ILS/web/js/dojo/openils/I18N.js index 72f1dee280..120c395e78 100644 --- a/Open-ILS/web/js/dojo/openils/I18N.js +++ b/Open-ILS/web/js/dojo/openils/I18N.js @@ -25,7 +25,18 @@ if(!dojo._hasResource["openils.I18N"]) { dojo.declare('openils.I18N', null, {}); - openils.I18N.BaseLocales = fieldmapper.standardRequest( [ 'open-ils.fielder', 'open-ils.fielder.i18n_l.atomic'], [ { cache : 1, query : { code : { '!=' : null } } } ] ); + var x = dojo.cookie('I18Nset'); + if (x) { + openils.I18N.BaseLocales = dojo.fromJson(x); + } else { + openils.I18N.BaseLocales = fieldmapper.standardRequest( [ 'open-ils.fielder', 'open-ils.fielder.i18n_l.atomic'], [ { cache : 1, query : { code : { '!=' : null } } } ] ); + dojo.cookie( + 'I18Nset', + dojo.toJson(openils.I18N.BaseLocales), + { path : location.href.replace(/^https?:\/\/[^\/]+(\/.*\w{2}-\w{2}\/).*/, "$1") } + ); + } + openils.I18N.localeStore = new dojo.data.ItemFileWriteStore( { data : {identifier : 'locale', label : 'label', items : [] } } ); openils.I18N.BaseLocales = openils.I18N.BaseLocales.sort( function(a, b) { -- 2.11.0