public function setLanguage($language, $useFrontendLanguages = false)
{
if (\Zend_Locale::isLocale($language, true)) {
$locale = new \Zend_Locale($language);
} else {
$locale = new \Zend_Locale("en");
}
if ($useFrontendLanguages) {
// check if given language is a valid language
if (!Tool::isValidLanguage($locale)) {
return;
}
\Zend_Registry::set("Zend_Locale", $locale);
} else {
// check if given language is installed if not => skip
if (!in_array((string) $locale->getLanguage(), AdminTool::getLanguages())) {
return;
}
\Zend_Registry::set("Zend_Locale", $locale);
if (\Zend_Registry::isRegistered("Zend_Translate")) {
$t = \Zend_Registry::get("Zend_Translate");
if ((string) $locale != (string) $t->getLocale()) {
$languageFile = AdminTool::getLanguageFile($locale);
$t->addTranslation($languageFile, $locale);
$t->setLocale($locale);
}
}
}
$this->language = (string) $locale;
$this->view->language = $this->getLanguage();
return $this;
}