JLANGUAGEMULTILANG-CLASS-001
JLanguageMultilang
JLanguageMultilang class name
JLanguageMultilang is a Joomla 3 global class. Joomla 4 still has an alias. Joomla 5 needs the Behaviour – Backward Compatibility plugin. Native Joomla 6 does not load that alias — you get Class "JLanguageMultilang" not found.
JLanguageMultilang → Joomla\CMS\Language\Multilanguage
What you will see
- Class "JLanguageMultilang" not found
- Class 'JLanguageMultilang' not found
- Failed to open stream: JLanguageMultilang
Symptoms people search
white screen after disabling compatibility plugin · class not found on Joomla 6 · works on Joomla 5 until I turn off backward compatibility
Replace this code
Swap JLanguageMultilang for Joomla\CMS\Language\Multilanguage.
Joomla 3
Remove or stop calling this
JLanguageMultilang::getInstance();
// or new JLanguageMultilang()Joomla 4 / 6
Use this instead
use Joomla\CMS\Language\Multilanguage;
// Call the namespaced class. Do not keep the J prefix.How to fix it
- 1Add a use statement for Joomla\CMS\Language\Multilanguage.
- 2Replace every JLanguageMultilang with the short class name from that use line.
- 3Disable Behaviour – Backward Compatibility on a Joomla 5 staging site. If it fatals, this class is still in the code.
Also known as
JLanguageMultilang · Joomla\CMS\Language\Multilanguage · class alias · J prefix · JMultilang
Related issues
- Joomla 3 → 4Joomla API
JRequest::getVar() and the whole JRequest API
JRequest::getVar() → $app->getInput()->get('id')
- Joomla 3 → 4Joomla API
JError / JException
JError::raiseError() → throw new RuntimeException() / try-catch
- Joomla 3 → 4Joomla API
isAdmin() / isSite()
$app->isAdmin() → $app->isClient('administrator') / isClient('site')
- Joomla 3 → 4Joomla API
Factory::getUri()
JFactory::getUri() → Uri::getInstance()
- Joomla 3 → 4Joomla API
Factory::getXml() / JXMLElement
JFactory::getXML() → SimpleXMLElement
- Joomla 3 → 4Joomla API
Factory::getEditor()
JFactory::getEditor() → Editor::getInstance()