title = $title; $this->doesPageHaveLanguages = $doesPageHaveLanguages; $this->messageLocalizer = $messageLocalizer; } /** * @inheritDoc */ public function getName() { return 'language-selector'; } /** * @inheritDoc */ public function getCSSClasses(): array { return []; } /** * @inheritDoc */ public function getComponents(): array { $switcherLink = false; $switcherClasses = ' language-selector'; if ( $this->doesPageHaveLanguages ) { $switcherLink = SpecialPage::getTitleFor( 'MobileLanguages', $this->title )->getLocalURL(); } else { $switcherClasses .= ' disabled'; } $iconClass = MinervaUI::iconClass( 'language-switcher', 'element', $switcherClasses ); return [ [ 'href' => $switcherLink, 'class' => $iconClass, 'text' => $this->messageLocalizer->msg( 'mobile-frontend-language-article-heading' ), 'title' => $this->messageLocalizer->msg( 'mobile-frontend-language-article-heading' ) ] ]; } }