MediaWiki REL1_37
ILanguageConverter Interface Reference

The shared interface for all language converters. More...

Inheritance diagram for ILanguageConverter:

Public Member Functions

 autoConvert ( $text, $toVariant=false)
 Dictionary-based conversion.
 
 autoConvertToAllVariants ( $text)
 Call translate() to convert text to all valid variants.
 
 convert ( $text)
 Convert text to different variants of a language.
 
 convertCategoryKey ( $key)
 Convert the sorting key for category links.
 
 convertHtml ( $text)
 Perform output conversion on a string, and encode for safe HTML output.
 
 convertNamespace ( $index, $variant=null)
 Get the namespace display name in the preferred variant.
 
 convertTitle ( $title)
 Auto convert a LinkTarget or PageReference to a readable string in the preferred variant.
 
 convertTo ( $text, $variant)
 Same as convert() except a extra parameter to custom variant.
 
 findVariantLink (&$link, &$nt, $ignoreOtherCond=false)
 If a language supports multiple variants, it is possible that non-existing link in one variant actually exists in another variant.
 
 getConvRuleTitle ()
 Get the title produced by the conversion rule.
 
 getDefaultVariant ()
 This function would not be affected by user's settings.
 
 getExtraHashOptions ()
 Returns language specific hash options.
 
 getPreferredVariant ()
 Get preferred language variant.
 
 getURLVariant ()
 Get the variant specified in the URL.
 
 getVariantFallbacks ( $variant)
 In case some variant is not defined in the markup, we need to have some fallback.
 
 getVariants ()
 Get all valid variants.
 
 guessVariant ( $text, $variant)
 Guess if a text is written in a variant.
 
 hasVariant ( $variant)
 Strict check if the language has the specific variant.
 
 hasVariants ()
 Check if this is a language with variants.
 
 markNoConversion ( $text, $noParse=false)
 Enclose a string with the "no conversion" tag.
 
 translate ( $text, $variant)
 Translate a string to a variant.
 
 updateConversionTable (LinkTarget $linkTarget)
 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.
 

Detailed Description

The shared interface for all language converters.

Access: internal

Definition at line 29 of file ILanguageConverter.php.

Member Function Documentation

◆ autoConvert()

ILanguageConverter::autoConvert (   $text,
  $toVariant = 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
bool | string$toVariantThe target language code
Returns
string The converted text

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ autoConvertToAllVariants()

ILanguageConverter::autoConvertToAllVariants (   $text)

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

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

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ convert()

ILanguageConverter::convert (   $text)

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 can not 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)

Implemented in TrivialLanguageConverter, and LanguageConverter.

◆ convertCategoryKey()

ILanguageConverter::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

Implemented in GanConverter, KkConverter, ZhConverter, LanguageConverter, and TrivialLanguageConverter.

◆ convertHtml()

ILanguageConverter::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

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ convertNamespace()

ILanguageConverter::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

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ convertTitle()

ILanguageConverter::convertTitle (   $title)

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

Parameters
LinkTarget | PageReference$title
Returns
string Converted title text

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ convertTo()

ILanguageConverter::convertTo (   $text,
  $variant 
)

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

Parameters
string$textText to be converted, already html escaped
-taint$textexec_html
string$variantThe target variant code
Returns
string Converted text
-taint escaped

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ findVariantLink()

ILanguageConverter::findVariantLink ( $link,
$nt,
  $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

Implemented in TrivialLanguageConverter, LanguageConverter, and LanguageConverterSpecific.

◆ getConvRuleTitle()

ILanguageConverter::getConvRuleTitle ( )

Get the title produced by the conversion rule.

Returns
string The converted title text

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ getDefaultVariant()

ILanguageConverter::getDefaultVariant ( )

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

Returns
string The default variant code

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ getExtraHashOptions()

ILanguageConverter::getExtraHashOptions ( )

Returns language specific hash options.

Returns
string

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ getPreferredVariant()

ILanguageConverter::getPreferredVariant ( )

Get preferred language variant.

Returns
string The preferred language code

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ getURLVariant()

ILanguageConverter::getURLVariant ( )

Get the variant specified in the URL.

Returns
mixed Variant if one found, null otherwise

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ getVariantFallbacks()

ILanguageConverter::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

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ getVariants()

ILanguageConverter::getVariants ( )

Get all valid variants.

Returns
string[] Contains all valid variants

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ guessVariant()

ILanguageConverter::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

Implemented in BanConverter, SrConverter, LanguageConverter, and TrivialLanguageConverter.

◆ hasVariant()

ILanguageConverter::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

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ hasVariants()

ILanguageConverter::hasVariants ( )

Check if this is a language with variants.

Since
1.35
Returns
bool

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ markNoConversion()

ILanguageConverter::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

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ translate()

ILanguageConverter::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

Implemented in EnConverter, IuConverter, KkConverter, KuConverter, ShiConverter, SrConverter, UzConverter, LanguageConverter, LanguageConverterIcu, and TrivialLanguageConverter.

◆ updateConversionTable()

ILanguageConverter::updateConversionTable ( LinkTarget  $linkTarget)

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

Parameters
LinkTarget$linkTargetThe LinkTarget of the page being updated

Implemented in LanguageConverter, and TrivialLanguageConverter.

◆ validateVariant()

ILanguageConverter::validateVariant (   $variant = null)

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
Returns
mixed Returns an equivalent valid variant code if possible, null otherwise

Implemented in LanguageConverter, and TrivialLanguageConverter.


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