diff -r de56132c008d -r bdac73ed481e includes/clientside/static/l10n.js --- a/includes/clientside/static/l10n.js Sun Mar 28 21:49:26 2010 -0400 +++ b/includes/clientside/static/l10n.js Sun Mar 28 23:10:46 2010 -0400 @@ -4,85 +4,85 @@ var Language = function(lang_id) { - var have_lang = false; - - if ( typeof(enano_lang) == 'object' ) - { - if ( typeof(enano_lang[lang_id]) == 'object' ) - { - have_lang = true; - } - } - if ( !have_lang ) - { - // load the language file - load_show_win('strings'); - console.info('Loading language ' + lang_id + ' via AJAX synchronous request'); - var ajax = ajaxMakeXHR(); - var uri = makeUrlNS('Special', 'LangExportJSON/' + lang_id, enano_version); - ajax.open('GET', uri, false); - ajax.send(null); - if ( ajax.readyState == 4 && ajax.status == 200 ) - { - eval_global(ajax.responseText); - } - load_hide_win(); - } - - if ( typeof(enano_lang) != 'object' ) - return false; - if ( typeof(enano_lang[lang_id]) != 'object' ) - return false; - this.strings = enano_lang[lang_id]; - this.lang_id = lang_id; - this.placeholder = false; - - this.get = function(string_id, subst) - { - var catname = string_id.substr(0, string_id.indexOf('_')); - var string_name = string_id.substr(string_id.indexOf('_') + 1); - if ( typeof(this.strings[catname]) != 'object' ) - return string_id; - if ( typeof(this.strings[catname][string_name]) != 'string' ) - return string_id; - return this.perform_subst(this.strings[catname][string_name], subst); - } - - this.perform_subst = function(str, subst) - { - var this_regex = /%this\.([a-z0-9_]+)%/; - var match; - while ( str.match(this_regex) ) - { - match = str.match(this_regex); - str = str.replace(match[0], this.get(match[1])); - } - // hackish workaround for %config.*% - str = str.replace(/%config\.([a-z0-9_]+)%/g, '%$1%'); - if ( typeof(subst) == 'object' ) - { - for ( var i in subst ) - { - if ( !i.match(/^([a-z0-9_]+)$/) ) - continue; - var regex = new RegExp('%' + i + '%', 'g'); - str = str.replace(regex, subst[i]); - } - } - return str; - } - + var have_lang = false; + + if ( typeof(enano_lang) == 'object' ) + { + if ( typeof(enano_lang[lang_id]) == 'object' ) + { + have_lang = true; + } + } + if ( !have_lang ) + { + // load the language file + load_show_win('strings'); + console.info('Loading language ' + lang_id + ' via AJAX synchronous request'); + var ajax = ajaxMakeXHR(); + var uri = makeUrlNS('Special', 'LangExportJSON/' + lang_id, enano_version); + ajax.open('GET', uri, false); + ajax.send(null); + if ( ajax.readyState == 4 && ajax.status == 200 ) + { + eval_global(ajax.responseText); + } + load_hide_win(); + } + + if ( typeof(enano_lang) != 'object' ) + return false; + if ( typeof(enano_lang[lang_id]) != 'object' ) + return false; + this.strings = enano_lang[lang_id]; + this.lang_id = lang_id; + this.placeholder = false; + + this.get = function(string_id, subst) + { + var catname = string_id.substr(0, string_id.indexOf('_')); + var string_name = string_id.substr(string_id.indexOf('_') + 1); + if ( typeof(this.strings[catname]) != 'object' ) + return string_id; + if ( typeof(this.strings[catname][string_name]) != 'string' ) + return string_id; + return this.perform_subst(this.strings[catname][string_name], subst); + } + + this.perform_subst = function(str, subst) + { + var this_regex = /%this\.([a-z0-9_]+)%/; + var match; + while ( str.match(this_regex) ) + { + match = str.match(this_regex); + str = str.replace(match[0], this.get(match[1])); + } + // hackish workaround for %config.*% + str = str.replace(/%config\.([a-z0-9_]+)%/g, '%$1%'); + if ( typeof(subst) == 'object' ) + { + for ( var i in subst ) + { + if ( !i.match(/^([a-z0-9_]+)$/) ) + continue; + var regex = new RegExp('%' + i + '%', 'g'); + str = str.replace(regex, subst[i]); + } + } + return str; + } + } var language_onload = function() { - $lang = new Language(ENANO_LANG_ID); + $lang = new Language(ENANO_LANG_ID); } var $lang = { - get: function(t, s) { - language_onload(); - return $lang.get(t, s); - }, - placeholder: true + get: function(t, s) { + language_onload(); + return $lang.get(t, s); + }, + placeholder: true };