/**
  * Getter for the language object for an object that has translations
  * I impemented it a a static method because it would be redundantly declared
  * in any multilanguage DataObject
  *
  * @param HasManyList $componentset has_many relation to be searched for the right translation
  * @param string      $locale       locale eg. de_DE, en_NZ, ...
  *
  * @return DataObject|false
  * 
  * @author Roland Lehmann <*****@*****.**>
  * @since 03.01.2012
  */
 public static function getLanguage($componentset, $locale = false)
 {
     $lang = false;
     if ($locale == false) {
         $locale = Translatable::get_current_locale();
     }
     if ($componentset->find('Locale', $locale)) {
         $lang = $componentset->find('Locale', $locale);
     } elseif (SilvercartConfig::useDefaultLanguageAsFallback()) {
         if ($componentset->find('Locale', SilvercartConfig::DefaultLanguage())) {
             $lang = $componentset->find('Locale', SilvercartConfig::DefaultLanguage());
         }
     }
     return $lang;
 }
 /**
  * Returns the language for the given locale if exists
  *
  * @param string $locale Locale to get language for
  * 
  * @return bool
  *
  * @author Sebastian Diel <*****@*****.**>
  * @since 03.07.2012
  */
 public function getLanguageFor($locale)
 {
     $useDefaultLanguageAsFallback = SilvercartConfig::$useDefaultLanguageAsFallback;
     SilvercartConfig::$useDefaultLanguageAsFallback = false;
     $language = SilvercartLanguageHelper::getLanguage($this->getLanguageRelation(), $locale);
     SilvercartConfig::$useDefaultLanguageAsFallback = $useDefaultLanguageAsFallback;
     return $language;
 }
 /**
  * Determin wether the default language should be used for multilingual DataObjects
  * in case a translation does not exist.
  *
  * @return bool 
  * 
  * @author Roland Lehmann <*****@*****.**>
  * @since 04.01.2012
  */
 public static function useDefaultLanguageAsFallback()
 {
     if (is_null(self::$useDefaultLanguageAsFallback)) {
         if (!self::getConfig() === false) {
             self::$useDefaultLanguageAsFallback = self::getConfig()->useDefaultLanguageAsFallback;
         }
     }
     return self::$useDefaultLanguageAsFallback;
 }