*/
public $skinname = 'monobook';
- /**
- * @var string Stylesheets set to use. Subdirectory in skins/ where various
- * stylesheets are located. Child classes should override the default.
- */
- public $stylename = 'monobook';
-
/**
* @var string For QuickTemplate, the name of the subclass which will
* actually fill the template. Child classes should override the default.
*/
public $template = 'QuickTemplate';
- /**
- * @var bool Whether this skin use OutputPage::headElement() to generate
- * the "<head>" tag.
- */
- public $useHeadElement = false;
-
/**
* Add specific styles for this skin
*
* Generates array of language links for the current page
*
* @return array
- * @public
*/
public function getLanguages() {
global $wgHideInterlanguageLinks;
$ilLangName = Language::fetchLanguageName( $ilInterwikiCode );
if ( strval( $ilLangName ) === '' ) {
- $ilLangName = $languageLinkText;
+ $ilDisplayTextMsg = wfMessage( "interlanguage-link-$ilInterwikiCode" );
+ if ( !$ilDisplayTextMsg->isDisabled() ) {
+ // Use custom MW message for the display text
+ $ilLangName = $ilDisplayTextMsg->text();
+ } else {
+ // Last resort: fallback to the language link target
+ $ilLangName = $languageLinkText;
+ }
} else {
+ // Use the language autonym as display text
$ilLangName = $this->formatLanguageName( $ilLangName );
}
);
$languageLinkTitleText = $languageLinkTitle->getText();
- if ( $languageLinkTitleText === '' ) {
+ if ( $ilLangLocalName === '' ) {
+ $ilFriendlySiteName = wfMessage( "interlanguage-link-sitename-$ilInterwikiCode" );
+ if ( !$ilFriendlySiteName->isDisabled() ) {
+ if ( $languageLinkTitleText === '' ) {
+ $ilTitle = wfMessage(
+ 'interlanguage-link-title-nonlangonly',
+ $ilFriendlySiteName->text()
+ )->text();
+ } else {
+ $ilTitle = wfMessage(
+ 'interlanguage-link-title-nonlang',
+ $languageLinkTitleText,
+ $ilFriendlySiteName->text()
+ )->text();
+ }
+ } else {
+ // we have nothing friendly to put in the title, so fall back to
+ // displaying the interlanguage link itself in the title text
+ // (similar to what is done in page content)
+ $ilTitle = $languageLinkTitle->getInterwiki() .
+ ":$languageLinkTitleText";
+ }
+ } elseif ( $languageLinkTitleText === '' ) {
$ilTitle = wfMessage(
'interlanguage-link-title-langonly',
$ilLangLocalName
$out = $this->getOutput();
$tpl = $this->setupTemplateForOutput();
- wfProfileIn( __METHOD__ . '-stuff-head' );
- if ( !$this->useHeadElement ) {
- $tpl->set( 'pagecss', false );
- $tpl->set( 'usercss', false );
-
- $tpl->set( 'userjs', false );
- $tpl->set( 'userjsprev', false );
-
- $tpl->set( 'jsvarurl', false );
-
- $tpl->set( 'xhtmldefaultnamespace', 'http://www.w3.org/1999/xhtml' );
- $tpl->set( 'xhtmlnamespaces', $wgXhtmlNamespaces );
- $tpl->set( 'html5version', $wgHtml5Version );
- $tpl->set( 'headlinks', $out->getHeadLinks() );
- $tpl->set( 'csslinks', $out->buildCssLinks() );
- $tpl->set( 'pageclass', $this->getPageClasses( $title ) );
- $tpl->set( 'skinnameclass', ( 'skin-' . Sanitizer::escapeClass( $this->getSkinName() ) ) );
- }
- wfProfileOut( __METHOD__ . '-stuff-head' );
-
wfProfileIn( __METHOD__ . '-stuff2' );
$tpl->set( 'title', $out->getPageTitle() );
$tpl->set( 'pagetitle', $out->getHTMLTitle() );
$tpl->set( 'nav_urls', $this->buildNavUrls() );
// Set the head scripts near the end, in case the above actions resulted in added scripts
- if ( $this->useHeadElement ) {
- $tpl->set( 'headelement', $out->headElement( $this ) );
- } else {
- $tpl->set( 'headscripts', $out->getHeadScripts() . $out->getHeadItems() );
- }
+ $tpl->set( 'headelement', $out->headElement( $this ) );
$tpl->set( 'debug', '' );
$tpl->set( 'debughtml', $this->generateDebugHTML() );