Index: src/js/i18n.js |
diff --git a/src/js/i18n.js b/src/js/i18n.js |
index b3a0f5b6ebd1783b8b884c462f207b82bcaf8cff..9eba508c59695707adf24fdb81665d9750ac8b5a 100644 |
--- a/src/js/i18n.js |
+++ b/src/js/i18n.js |
@@ -1989,6 +1989,27 @@ var defaultObjects = { |
'dateformattime': UNDEFINED, |
}; |
+function clearDefaultObjects() { |
+ defaultObjects['dateformatall'] = UNDEFINED; |
+ defaultObjects['dateformatdate'] = UNDEFINED; |
+ defaultObjects['dateformattime'] = UNDEFINED; |
+} |
+ |
+var date_cache_version_holder; |
+var date_cache_version; |
+ |
+function checkDateCacheCurrent() { |
+ if (!date_cache_version_holder) { |
+ date_cache_version_holder = %DateCacheVersion(); |
+ if (!date_cache_version_holder) return; |
+ } |
+ if (date_cache_version_holder[0] == date_cache_version) { |
+ return; |
+ } |
+ date_cache_version = date_cache_version_holder[0]; |
+ |
+ clearDefaultObjects(); |
+} |
/** |
* Returns cached or newly created instance of a given service. |
@@ -1997,6 +2018,7 @@ var defaultObjects = { |
function cachedOrNewService(service, locales, options, defaults) { |
var useOptions = (IS_UNDEFINED(defaults)) ? options : defaults; |
if (IS_UNDEFINED(locales) && IS_UNDEFINED(options)) { |
+ checkDateCacheCurrent(); |
if (IS_UNDEFINED(defaultObjects[service])) { |
defaultObjects[service] = new savedObjects[service](locales, useOptions); |
} |