Browse Source

Making sure the Cache::remember() funciton is not hit more than once

Getting translators was still calling Cache everytime
Jose Lorenzo Rodriguez 11 years ago
parent
commit
084651d510
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/I18n/TranslatorRegistry.php

+ 3 - 1
src/I18n/TranslatorRegistry.php

@@ -62,7 +62,7 @@ class TranslatorRegistry extends TranslatorLocator {
 
 		if (!isset($this->registry[$name][$locale])) {
 			$key = "translations.$name.$locale";
-			return Cache::remember($key, function() use ($name, $locale) {
+			$translator = Cache::remember($key, function() use ($name, $locale) {
 				try {
 					return parent::get($name, $locale);
 				} catch (\Aura\Intl\Exception $e) {
@@ -74,6 +74,8 @@ class TranslatorRegistry extends TranslatorLocator {
 
 				return $this->_getFromLoader($name, $locale);
 			}, '_cake_core_');
+
+			return $this->registry[$name][$locale] = $translator;
 		}
 
 		return $this->registry[$name][$locale];