/** * Refresh all installed languages */ static function refreshAll() { global $ilPluginAdmin; $languages = ilObject::_getObjectsByType("lng"); foreach ($languages as $lang) { $langObj = new ilObjLanguage($lang["obj_id"], false); if ($langObj->isInstalled() == true) { if ($langObj->check()) { $langObj->flush('keep_local'); $langObj->insert(); $langObj->setTitle($langObj->getKey()); $langObj->setDescription($langObj->getStatus()); $langObj->update(); $langObj->optimizeData(); if ($langObj->isLocal() == true) { if ($langObj->check('local')) { $langObj->insert('local'); $langObj->setTitle($langObj->getKey()); $langObj->setDescription($langObj->getStatus()); $langObj->update(); $langObj->optimizeData(); } } } } unset($langObj); } // refresh languages of activated plugins include_once "./Services/Component/classes/class.ilPluginSlot.php"; $slots = ilPluginSlot::getAllSlots(); foreach ($slots as $slot) { $act_plugins = $ilPluginAdmin->getActivePluginsForSlot($slot["component_type"], $slot["component_name"], $slot["slot_id"]); foreach ($act_plugins as $plugin) { include_once "./Services/Component/classes/class.ilPlugin.php"; $pl = ilPlugin::getPluginObject($slot["component_type"], $slot["component_name"], $slot["slot_id"], $plugin); if (is_object($pl)) { $pl->updateLanguages(); } } } }
/** * set the system language */ function setSystemLanguageObject() { $this->lng->loadLanguageModule("meta"); if (!isset($_POST["id"])) { $this->ilias->raiseError($this->lng->txt("no_checkbox"), $this->ilias->error_obj->MESSAGE); } if (count($_POST["id"]) != 1) { $this->ilias->raiseError($this->lng->txt("choose_only_one_language") . "<br/>" . $this->lng->txt("action_aborted"), $this->ilias->error_obj->MESSAGE); } $obj_id = $_POST["id"][0]; $newSysLangObj = new ilObjLanguage($obj_id); if ($newSysLangObj->isSystemLanguage()) { $this->ilias->raiseError($this->lng->txt("meta_l_" . $newSysLangObj->getKey()) . " is already the system language!<br>Action aborted!", $this->ilias->error_obj->MESSAGE); } if ($newSysLangObj->isInstalled() == false) { $this->ilias->raiseError($this->lng->txt("meta_l_" . $newSysLangObj->getKey()) . " is not installed. Please install that language first.<br>Action aborted!", $this->ilias->error_obj->MESSAGE); } $this->ilias->setSetting("language", $newSysLangObj->getKey()); // update ini-file $this->ilias->ini->setVariable("language", "default", $newSysLangObj->getKey()); $this->ilias->ini->write(); $this->data = $this->lng->txt("system_language") . " " . $this->lng->txt("changed_to") . " " . $this->lng->txt("meta_l_" . $newSysLangObj->getKey()) . "."; $this->out(); }