From 15c2e71db646d61771839eea05f16b8323bd3ecb Mon Sep 17 00:00:00 2001 From: Daniel D Date: Tue, 16 Apr 2013 17:35:26 +0200 Subject: [PATCH] Added simple caching option --- src/jquery.localize.coffee | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/jquery.localize.coffee b/src/jquery.localize.coffee index 7eb5cdf..28f5114 100644 --- a/src/jquery.localize.coffee +++ b/src/jquery.localize.coffee @@ -21,6 +21,7 @@ $.localize = (pkg, options = {}) -> wrappedSet = this intermediateLangData = {} fileExtension = options.fileExtension || "json" + useCache = options.useCache || false loadLanguage = (pkg, lang, level = 1) -> switch level @@ -43,6 +44,7 @@ $.localize = (pkg, options = {}) -> jsonCall = (file, pkg, lang, level) -> file = "#{options.pathPrefix}/#{file}" if options.pathPrefix? successFunc = (d) -> + $.localize.cache[pkg] = d $.extend(intermediateLangData, d) notifyDelegateLanguageLoaded(intermediateLangData) loadLanguage(pkg, lang, level + 1) @@ -122,9 +124,11 @@ $.localize = (pkg, options = {}) -> string_or_regex_or_array lang = normaliseLang(if options.language then options.language else $.defaultLanguage) - loadLanguage(pkg, lang, 1) unless (options.skipLanguage && lang.match(regexify(options.skipLanguage))) + loadLanguage(pkg, lang, 1) unless (options.skipLanguage && lang.match(regexify(options.skipLanguage))) || (useCache && $.localize.cache[pkg]?) + defaultCallback($.localize.cache[pkg]) if useCache && $.localize.cache[pkg] wrappedSet $.fn.localize = $.localize $.localize.data = {} +$.localize.cache = {}