diff --git a/plugins/system/languagefilter/languagefilter.php b/plugins/system/languagefilter/languagefilter.php index 626bc30d9d87f..f7a9a0e8bc6eb 100644 --- a/plugins/system/languagefilter/languagefilter.php +++ b/plugins/system/languagefilter/languagefilter.php @@ -475,15 +475,25 @@ public function parseRule(&$router, &$uri) if ($language->getTag() != $lang_code) { - $newLang = JLanguage::getInstance($lang_code); + $language_new = JLanguage::getInstance($lang_code); foreach ($language->getPaths() as $extension => $files) { - $newLang->load($extension); + if (strpos($extension, 'plg_system') !== false) + { + $extension_name = substr($extension, 11); + + $language_new->load($extension, JPATH_ADMINISTRATOR) + || $language_new->load($extension, JPATH_PLUGINS . '/system/' . $extension_name); + + continue; + } + + $language_new->load($extension); } - JFactory::$language = $newLang; - $this->app->loadLanguage($newLang); + JFactory::$language = $language_new; + $this->app->loadLanguage($language_new); } // Create a cookie.