protected function getTranslation($id, $domain, $locale, $fallbacks) {
		// Is initialize of the catalog need ?
		if (! isset($this->initializedCatalogs[$locale][$domain])) {
			$this->initCatalogs($locale, $domain);
		}
		
		// Is failure occurred ?
		if (! isset($this->catalogs[$locale][$domain][$id])) {
			if (empty($fallbacks)) {
				return;
			}
			
			$fallbackLocale = array_shift($fallbacks);
			
			return $this->getTranslation($id, $domain, $fallbackLocale, $fallbacks);
		}
		
		return $this->catalogs[$locale][$domain][$id];
	}
protected function getTranslation($id, $domain, $locale, $fallbacks) {
		// Is initialize of the catalog need ?
		if (! isset($this->initializedCatalogs[$locale][$domain])) {
			$this->initCatalogs($locale, $domain);
		}
		
		// Is failure occurred ?
		if (! isset($this->catalogs[$locale][$domain][$id])) {
			if (empty($fallbacks)) {
				return;
			}
			
			$fallbackLocale = array_shift($fallbacks);
			
			return $this->getTranslation($id, $domain, $fallbackLocale, $fallbacks);
		}
		
		return $this->catalogs[$locale][$domain][$id];
	}
protected function getTranslation ( $ id , $ domain , $ locale , $ fallbacks ) { // Is initialize of the catalog need ? if ( ! isset ( $ this -> initializedCatalogs [ $ locale ] [ $ domain ] ) ) { $ this -> initCatalogs ( $ locale , $ domain ) ; } // Is failure occurred ? if ( ! isset ( $ this -> catalogs [ $ locale ] [ $ domain ] [ $ id ] ) ) { if ( empty ( $ fallbacks ) ) { return ; } $ fallbackLocale = array_shift ( $ fallbacks ) ; return $ this -> getTranslation ( $ id , $ domain , $ fallbackLocale , $ fallbacks ) ; } return $ this -> catalogs [ $ locale ] [ $ domain ] [ $ id ] ; }
Get the translation

@param  string $id
@param  string $domain
@param  string $locale
@param  array  $fallbacks
@return string
Get the translation