36 private $titleFormatter;
51 $this->language = $langobj;
52 $this->titleFormatter = $titleFormatter ?? MediaWikiServices::getInstance()->getTitleFormatter();
62 return [ $this->language->getCode() => $text ];
71 public function convertTo( $text, $variant,
bool $clearState =
true ) {
77 $mainText = $this->titleFormatter->getText( $title );
79 $index = $title->getNamespace();
81 $nsWithUnderscores = $this->titleFormatter->getNamespaceName( $index, $mainText );
82 }
catch ( InvalidArgumentException ) {
84 $nsWithUnderscores = $this->language->getNsText(
NS_SPECIAL );
85 $mainText =
"Badtitle/NS$index:$mainText";
87 $nsText = str_replace(
'_',
' ', $nsWithUnderscores );
89 return [ $nsText,
':', $mainText ];
94 return $this->titleFormatter->getPrefixedText( $title );
99 return $this->language->getFormattedNsText( $index );
104 return [ $this->language->getCode() ];
109 return $this->language->getCode();
114 return $this->language->getCode();
119 return $this->language->getCode();
158 if ( $variant ===
null ) {
161 $variant = strtolower( $variant );
162 return $variant === $this->language->getCode() ? $variant :
null;
179 private function reloadTables() {
189 return $variant && ( $variant === $this->
validateVariant( $variant ) );
194 return htmlspecialchars( $this->
convert( $text ) );
A trivial language converter.
convertHtml( $text)
Perform output conversion on a string, and encode for safe HTML output.1.35string string converted to...
translate( $text, $variant)
Translate a string to a variant.Doesn't parse rules or do any of that other stuff,...
hasVariants()
Check if this is a language with variants.1.35bool
convert( $t)
Convert text to different variants of a language.The automatic conversion is done in autoConvert()....
getURLVariant()
Get the variant specified in the URL.string|null Variant if one found, null otherwise
getPreferredVariant()
Get preferred language variant.string The preferred language code
markNoConversion( $text, $noParse=false)
Enclose a string with the "no conversion" tag.This is used by various functions in the Parser....
autoConvertToAllVariants( $text)
Call translate() to convert text to all valid variants.array Variant => converted text
__construct( $langobj, ?TitleFormatter $titleFormatter=null)
Creates a converter for languages that don't have variants.
getConvRuleTitle()
Get the title produced by the conversion rule.string|false The converted title text
convertSplitTitle( $title)
Automatically converts a LinkTarget or PageReference to a readable string in the preferred variant,...
getDefaultVariant()
This function would not be affected by user's settings.string The default variant code
findVariantLink(&$l, &$n, $ignoreOtherCond=false)
If a language supports multiple variants, it is possible that non-existing link in one variant actual...
autoConvert( $text, $variant=false)
Dictionary-based conversion.This function would not parse the conversion rules. If you want to parse ...
getExtraHashOptions()
Returns language specific hash options.string
guessVariant( $text, $variant)
Guess if a text is written in a variant.This should be implemented in subclasses.bool True if $text a...
convertTo( $text, $variant, bool $clearState=true)
Same as convert() except a extra parameter to custom variant.string Converted text
updateConversionTable(PageIdentity $page)
Refresh the cache of conversion tables when MediaWiki:Conversiontable* is updated.
validateVariant( $variant=null)
Validate the variant and return an appropriate strict internal variant code if one exists....
convertTitle( $title)
Automatically convert a LinkTarget or PageReference to a readable string in the preferred variant....
convertCategoryKey( $key)
Convert the sorting key for category links.This should make different keys that are variants of each ...
getVariants()
Get all valid variants.string[] Contains all valid variants
convertNamespace( $index, $variant=null)
Get the namespace display name in the preferred variant.string Namespace name for display
hasVariant( $variant)
Strict check if the language has the specific variant.Compare to LanguageConverter::validateVariant()...
getVariantFallbacks( $variant)
In case some variant is not defined in the markup, we need to have some fallback.For example,...
Interface for objects (potentially) representing an editable wiki page.