language = $langobj; $this->titleFormatter = $titleFormatter ?? MediaWikiServices::getInstance()->getTitleFormatter(); } public function autoConvert( $text, $variant = false ) { return $text; } public function autoConvertToAllVariants( $text ) { return [ $this->language->getCode() => $text ]; } public function convert( $t ) { return $t; } public function convertTo( $text, $variant, bool $clearState = true ) { return $text; } public function convertSplitTitle( $title ) { $mainText = $this->titleFormatter->getText( $title ); $index = $title->getNamespace(); try { $nsWithUnderscores = $this->titleFormatter->getNamespaceName( $index, $mainText ); } catch ( InvalidArgumentException $e ) { // T165149: see TitleFormatter::formatTitle() $nsWithUnderscores = $this->language->getNsText( NS_SPECIAL ); $mainText = "Badtitle/NS$index:$mainText"; } $nsText = str_replace( '_', ' ', $nsWithUnderscores ); return [ $nsText, ':', $mainText ]; } public function convertTitle( $title ) { return $this->titleFormatter->getPrefixedText( $title ); } public function convertNamespace( $index, $variant = null ) { return $this->language->getFormattedNsText( $index ); } public function getVariants() { return [ $this->language->getCode() ]; } public function getVariantFallbacks( $variant ) { return $this->language->getCode(); } public function getPreferredVariant() { return $this->language->getCode(); } public function getDefaultVariant() { return $this->language->getCode(); } public function getURLVariant() { return ''; } public function getConvRuleTitle() { return false; } public function findVariantLink( &$l, &$n, $ignoreOtherCond = false ) { } public function getExtraHashOptions() { return ''; } public function guessVariant( $text, $variant ) { return false; } public function markNoConversion( $text, $noParse = false ) { return $text; } public function convertCategoryKey( $key ) { return $key; } public function validateVariant( $variant = null ) { if ( $variant === null ) { return null; } $variant = strtolower( $variant ); return $variant === $this->language->getCode() ? $variant : null; } public function translate( $text, $variant ) { return $text; } public function updateConversionTable( PageIdentity $page ) { } /** * Used by test suites which need to reset the converter state. * * Called by ParserTestRunner with the help of TestingAccessWrapper */ private function reloadTables() { } public function hasVariants() { return count( $this->getVariants() ) > 1; } public function hasVariant( $variant ) { return $variant && ( $variant === $this->validateVariant( $variant ) ); } public function convertHtml( $text ) { return htmlspecialchars( $this->convert( $text ) ); } }