MediaWiki master
MediaWiki\Language\TrivialLanguageConverter Class Reference

A trivial language converter. More...

Inherits MediaWiki\Language\ILanguageConverter.

Collaboration diagram for MediaWiki\Language\TrivialLanguageConverter:

Public Member Functions

 __construct ( $langobj, ?TitleFormatter $titleFormatter=null)
 Creates a converter for languages that don't have variants.
 
 autoConvert ( $text, $variant=false)
 Dictionary-based conversion.This function would not parse the conversion rules. If you want to parse rules, try to use convert() or convertTo().
Parameters
string$textThe text to be converted
string | false$toVariantThe target language code
Returns
string The converted text

 
 autoConvertToAllVariants ( $text)
 Call translate() to convert text to all valid variants.
Parameters
string$textThe text to be converted
Returns
array Variant => converted text

 
 convert ( $t)
 Convert text to different variants of a language.The automatic conversion is done in autoConvert(). Here we parse the text marked with -{}-, which specifies special conversions of the text that cannot be accomplished in autoConvert().Syntax of the markup: -{code1:text1;code2:text2;...}- or -{flags|code1:text1;code2:text2;...}- or -{text}- in which case no conversion should take place for text
Warning
Glossary state is maintained between calls. Never feed this method input that hasn't properly been escaped as it may result in an XSS in subsequent calls, even if those subsequent calls properly escape things.
Parameters
string$textText to be converted; already html escaped.
Returns
string Converted text (html)

 
 convertCategoryKey ( $key)
 Convert the sorting key for category links.This should make different keys that are variants of each other map to the same key.
Parameters
string$key
Returns
string

 
 convertHtml ( $text)
 Perform output conversion on a string, and encode for safe HTML output.
Since
1.35
Parameters
string$textText to be converted
Returns
string string converted to be safely used in HTML

 
 convertNamespace ( $index, $variant=null)
 Get the namespace display name in the preferred variant.
Parameters
int$indexNamespace id
string | null$variantVariant code or null for preferred variant
Returns
string Namespace name for display

 
 convertSplitTitle ( $title, ?string $variant=null)
 Automatically converts a LinkTarget or PageReference to a readable string in the preferred variant, separating the namespace and the main part of the title.
Since
1.39
Parameters
LinkTarget | PageReference$title
?string$variantThe preferred variant
Returns
string[] Three elements: converted namespace text, converted namespace separator, and the converted main part of the title

 
 convertTitle ( $title)
 Automatically convert a LinkTarget or PageReference to a readable string in the preferred variant.
Parameters
LinkTarget | PageReference$title
Returns
string Converted title text

 
 convertTo ( $text, $variant, bool $clearState=true)
 Same as convert() except a extra parameter to custom variant.
Parameters
string$textText to be converted; already html escaped
string$variantThe target variant code
bool$clearStateWhether to clear the converter title before conversion (defaults to true)
Returns
string Converted text

 
 findVariantLink (&$l, &$n, $ignoreOtherCond=false)
 If a language supports multiple variants, it is possible that non-existing link in one variant actually exists in another variant.This function tries to find it. See e.g., LanguageZh.php The input parameters may be modified upon return
Parameters
string&$linkThe name of the link
Title&$ntThe title object of the link
bool$ignoreOtherCondTo disable other conditions when we need to transclude a template or update a category's link

 
 getConvRuleTitle ()
 Get the title produced by the conversion rule.
Returns
string|false The converted title text

 
 getConvRuleTitleFragment (Document $ownerDocument)
 Get the title produced by the conversion rule, as a DocumentFragment owned by $ownerDocument.
Returns
?DocumentFragment The converted title text

 
 getDefaultVariant ()
 This function would not be affected by user's settings.
Returns
string The default variant code

 
 getExtraHashOptions ()
 Returns language specific hash options.
Returns
string

 
 getPreferredVariant ()
 Get preferred language variant.
Returns
string The preferred language code

 
 getURLVariant ()
 Get the variant specified in the URL.
Returns
string|null Variant if one found, null otherwise

 
 getVariantFallbacks ( $variant)
 In case some variant is not defined in the markup, we need to have some fallback.For example, in zh, normally people will define zh-hans and zh-hant, but less so for zh-sg or zh-hk.When zh-sg is preferred but not defined, we will pick zh-hans in this case. Right now this is only used by zh.
Parameters
string$variantThe language code of the variant
Returns
string|array The code of the fallback language or the main code if there is no fallback

 
 getVariants ()
 Get all valid variants.
Returns
string[] Contains all valid variants

 
 guessVariant ( $text, $variant)
 Guess if a text is written in a variant.This should be implemented in subclasses.
Parameters
string$textThe text to be checked
string$variantLanguage code of the variant to be checked for
Returns
bool True if $text appears to be written in $variant, false if not
Author
Nikola Smolenski smole.nosp@m.nsk@.nosp@m.eunet.nosp@m..rs
Since
1.19

 
 hasVariant ( $variant)
 Strict check if the language has the specific variant.Compare to LanguageConverter::validateVariant() which does a more lenient check and attempts to coerce the given code to a valid one.
Since
1.35
Parameters
string$variant
Returns
bool

 
 hasVariants ()
 Check if this is a language with variants.
Since
1.35
Returns
bool

 
 markNoConversion ( $text, $noParse=false)
 Enclose a string with the "no conversion" tag.This is used by various functions in the Parser.
Parameters
string$textText to be tagged for no conversion
bool$noParseUnused
Returns
string The tagged text

 
 translate ( $text, $variant)
 Translate a string to a variant.Doesn't parse rules or do any of that other stuff, for that use convert() or convertTo().
Parameters
string$textText to convert
string$variantVariant language code
Returns
string Translated text

 
 updateConversionTable (PageIdentity $page)
 Refresh the cache of conversion tables when MediaWiki:Conversiontable* is updated.
Parameters
PageIdentity$pageThe page being updated

 
 validateVariant ( $variant=null, bool $fallbackToDefault=false)
 Validate the variant and return an appropriate strict internal variant code if one exists.Compare to Language::hasVariant() which does a strict test.
Parameters
string | null$variantThe variant to validate
bool$fallbackToDefaultIf true, returns a valid default variant instead of null
Returns
string|null Returns an equivalent valid variant code if possible, null otherwise

 

Protected Attributes

Language $language
 

Detailed Description

A trivial language converter.

For Languages which do not implement variant conversion, for example, German, TrivialLanguageConverter is provided rather than a LanguageConverter when asked for their converter. The TrivialLanguageConverter just returns text unchanged, i.e., it doesn't do any conversion.

See https://www.mediawiki.org/wiki/Writing_systems#LanguageConverter.

Since
1.35

Definition at line 30 of file TrivialLanguageConverter.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Language\TrivialLanguageConverter::__construct ( $langobj,
?TitleFormatter $titleFormatter = null )

Creates a converter for languages that don't have variants.

This method is internal and should be called for LanguageConverterFactory only

Parameters
Language | StubUserLang$langobj
TitleFormatter | null$titleFormatter
Access: internal

Definition at line 51 of file TrivialLanguageConverter.php.

References MediaWiki\MediaWikiServices\getInstance().

Member Function Documentation

◆ autoConvert()

MediaWiki\Language\TrivialLanguageConverter::autoConvert ( $text,
$variant = false )

Dictionary-based conversion.This function would not parse the conversion rules. If you want to parse rules, try to use convert() or convertTo().

Parameters
string$textThe text to be converted
string | false$toVariantThe target language code
Returns
string The converted text

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 60 of file TrivialLanguageConverter.php.

◆ autoConvertToAllVariants()

MediaWiki\Language\TrivialLanguageConverter::autoConvertToAllVariants ( $text)

Call translate() to convert text to all valid variants.

Parameters
string$textThe text to be converted
Returns
array Variant => converted text

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 65 of file TrivialLanguageConverter.php.

◆ convert()

MediaWiki\Language\TrivialLanguageConverter::convert ( $t)

Convert text to different variants of a language.The automatic conversion is done in autoConvert(). Here we parse the text marked with -{}-, which specifies special conversions of the text that cannot be accomplished in autoConvert().Syntax of the markup: -{code1:text1;code2:text2;...}- or -{flags|code1:text1;code2:text2;...}- or -{text}- in which case no conversion should take place for text

Warning
Glossary state is maintained between calls. Never feed this method input that hasn't properly been escaped as it may result in an XSS in subsequent calls, even if those subsequent calls properly escape things.
Parameters
string$textText to be converted; already html escaped.
Returns
string Converted text (html)

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 70 of file TrivialLanguageConverter.php.

◆ convertCategoryKey()

MediaWiki\Language\TrivialLanguageConverter::convertCategoryKey ( $key)

Convert the sorting key for category links.This should make different keys that are variants of each other map to the same key.

Parameters
string$key
Returns
string

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 161 of file TrivialLanguageConverter.php.

◆ convertHtml()

MediaWiki\Language\TrivialLanguageConverter::convertHtml ( $text)

Perform output conversion on a string, and encode for safe HTML output.

Since
1.35
Parameters
string$textText to be converted
Returns
string string converted to be safely used in HTML

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 205 of file TrivialLanguageConverter.php.

◆ convertNamespace()

MediaWiki\Language\TrivialLanguageConverter::convertNamespace ( $index,
$variant = null )

Get the namespace display name in the preferred variant.

Parameters
int$indexNamespace id
string | null$variantVariant code or null for preferred variant
Returns
string Namespace name for display

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 102 of file TrivialLanguageConverter.php.

◆ convertSplitTitle()

MediaWiki\Language\TrivialLanguageConverter::convertSplitTitle ( $title,
?string $variant = null )

Automatically converts a LinkTarget or PageReference to a readable string in the preferred variant, separating the namespace and the main part of the title.

Since
1.39
Parameters
LinkTarget | PageReference$title
?string$variantThe preferred variant
Returns
string[] Three elements: converted namespace text, converted namespace separator, and the converted main part of the title

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 80 of file TrivialLanguageConverter.php.

References NS_SPECIAL.

◆ convertTitle()

MediaWiki\Language\TrivialLanguageConverter::convertTitle ( $title)

Automatically convert a LinkTarget or PageReference to a readable string in the preferred variant.

Parameters
LinkTarget | PageReference$title
Returns
string Converted title text

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 97 of file TrivialLanguageConverter.php.

◆ convertTo()

MediaWiki\Language\TrivialLanguageConverter::convertTo ( $text,
$variant,
bool $clearState = true )

Same as convert() except a extra parameter to custom variant.

Parameters
string$textText to be converted; already html escaped
string$variantThe target variant code
bool$clearStateWhether to clear the converter title before conversion (defaults to true)
Returns
string Converted text

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 75 of file TrivialLanguageConverter.php.

◆ findVariantLink()

MediaWiki\Language\TrivialLanguageConverter::findVariantLink ( & $l,
& $n,
$ignoreOtherCond = false )

If a language supports multiple variants, it is possible that non-existing link in one variant actually exists in another variant.This function tries to find it. See e.g., LanguageZh.php The input parameters may be modified upon return

Parameters
string&$linkThe name of the link
Title&$ntThe title object of the link
bool$ignoreOtherCondTo disable other conditions when we need to transclude a template or update a category's link

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 142 of file TrivialLanguageConverter.php.

◆ getConvRuleTitle()

MediaWiki\Language\TrivialLanguageConverter::getConvRuleTitle ( )

Get the title produced by the conversion rule.

Returns
string|false The converted title text

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 132 of file TrivialLanguageConverter.php.

◆ getConvRuleTitleFragment()

MediaWiki\Language\TrivialLanguageConverter::getConvRuleTitleFragment ( Document $ownerDocument)

Get the title produced by the conversion rule, as a DocumentFragment owned by $ownerDocument.

Returns
?DocumentFragment The converted title text

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 137 of file TrivialLanguageConverter.php.

◆ getDefaultVariant()

MediaWiki\Language\TrivialLanguageConverter::getDefaultVariant ( )

This function would not be affected by user's settings.

Returns
string The default variant code

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 122 of file TrivialLanguageConverter.php.

◆ getExtraHashOptions()

MediaWiki\Language\TrivialLanguageConverter::getExtraHashOptions ( )

Returns language specific hash options.

Returns
string

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 146 of file TrivialLanguageConverter.php.

◆ getPreferredVariant()

MediaWiki\Language\TrivialLanguageConverter::getPreferredVariant ( )

Get preferred language variant.

Returns
string The preferred language code

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 117 of file TrivialLanguageConverter.php.

◆ getURLVariant()

MediaWiki\Language\TrivialLanguageConverter::getURLVariant ( )

Get the variant specified in the URL.

Returns
string|null Variant if one found, null otherwise

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 127 of file TrivialLanguageConverter.php.

◆ getVariantFallbacks()

MediaWiki\Language\TrivialLanguageConverter::getVariantFallbacks ( $variant)

In case some variant is not defined in the markup, we need to have some fallback.For example, in zh, normally people will define zh-hans and zh-hant, but less so for zh-sg or zh-hk.When zh-sg is preferred but not defined, we will pick zh-hans in this case. Right now this is only used by zh.

Parameters
string$variantThe language code of the variant
Returns
string|array The code of the fallback language or the main code if there is no fallback

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 112 of file TrivialLanguageConverter.php.

◆ getVariants()

MediaWiki\Language\TrivialLanguageConverter::getVariants ( )

Get all valid variants.

Returns
string[] Contains all valid variants

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 107 of file TrivialLanguageConverter.php.

◆ guessVariant()

MediaWiki\Language\TrivialLanguageConverter::guessVariant ( $text,
$variant )

Guess if a text is written in a variant.This should be implemented in subclasses.

Parameters
string$textThe text to be checked
string$variantLanguage code of the variant to be checked for
Returns
bool True if $text appears to be written in $variant, false if not
Author
Nikola Smolenski smole.nosp@m.nsk@.nosp@m.eunet.nosp@m..rs
Since
1.19

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 151 of file TrivialLanguageConverter.php.

◆ hasVariant()

MediaWiki\Language\TrivialLanguageConverter::hasVariant ( $variant)

Strict check if the language has the specific variant.Compare to LanguageConverter::validateVariant() which does a more lenient check and attempts to coerce the given code to a valid one.

Since
1.35
Parameters
string$variant
Returns
bool

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 200 of file TrivialLanguageConverter.php.

◆ hasVariants()

MediaWiki\Language\TrivialLanguageConverter::hasVariants ( )

Check if this is a language with variants.

Since
1.35
Returns
bool

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 195 of file TrivialLanguageConverter.php.

◆ markNoConversion()

MediaWiki\Language\TrivialLanguageConverter::markNoConversion ( $text,
$noParse = false )

Enclose a string with the "no conversion" tag.This is used by various functions in the Parser.

Parameters
string$textText to be tagged for no conversion
bool$noParseUnused
Returns
string The tagged text

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 156 of file TrivialLanguageConverter.php.

◆ translate()

MediaWiki\Language\TrivialLanguageConverter::translate ( $text,
$variant )

Translate a string to a variant.Doesn't parse rules or do any of that other stuff, for that use convert() or convertTo().

Parameters
string$textText to convert
string$variantVariant language code
Returns
string Translated text

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 178 of file TrivialLanguageConverter.php.

◆ updateConversionTable()

MediaWiki\Language\TrivialLanguageConverter::updateConversionTable ( PageIdentity $page)

Refresh the cache of conversion tables when MediaWiki:Conversiontable* is updated.

Parameters
PageIdentity$pageThe page being updated

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 183 of file TrivialLanguageConverter.php.

◆ validateVariant()

MediaWiki\Language\TrivialLanguageConverter::validateVariant ( $variant = null,
bool $fallbackToDefault = false )

Validate the variant and return an appropriate strict internal variant code if one exists.Compare to Language::hasVariant() which does a strict test.

Parameters
string | null$variantThe variant to validate
bool$fallbackToDefaultIf true, returns a valid default variant instead of null
Returns
string|null Returns an equivalent valid variant code if possible, null otherwise

Implements MediaWiki\Language\ILanguageConverter.

Definition at line 166 of file TrivialLanguageConverter.php.

Member Data Documentation

◆ $language

Language MediaWiki\Language\TrivialLanguageConverter::$language
protected

Definition at line 35 of file TrivialLanguageConverter.php.


The documentation for this class was generated from the following file: