/** * 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; }