MediaWiki master
SrConverter Class Reference

Serbian (Српски / Srpski) specific code. More...

Inherits LanguageConverterSpecific.

Collaboration diagram for SrConverter:

Public Member Functions

 getLanguageVariants ()
 Get supported variants of the language.
 
 getMainCode ()
 Get the language code with converter (the "main" language code).
 
 getVariantsFallbacks ()
 Get language variants fallbacks.
 
 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

 
 translate ( $text, $variant)
 Omits roman numbers.
 
- Public Member Functions inherited from LanguageConverterSpecific
 findVariantLink (&$link, &$nt, $ignoreOtherCond=false)
 A function wrapper:
 
- Public Member Functions inherited from MediaWiki\Language\LanguageConverter
 __construct ( $langobj)
 
 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
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 ( $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 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)
 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
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

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

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

 
 getDescCodeSeparator ()
 Get desc code separator.
 
 getDescVarSeparator ()
 Get desc var separator.
 
 getExtraHashOptions ()
 Returns language specific hash options.
Returns
string

 
 getFlags ()
 Get the strings that map to the flags.
 
 getManualLevel ()
 Get manual level limit for supported variants.
 
 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

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

 
 getVarSeparatorPattern ()
 Get the cached separator pattern for ConverterRule::parseRules()
 
 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

 
 updateConversionTable (PageIdentity $page)
 
 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
string|null Returns an equivalent valid variant code if possible, null otherwise

 

Protected Member Functions

 getAdditionalFlags ()
 Provides additional flags for converter.
 
 loadDefaultTables ()
 Load default conversion tables.
 
- Protected Member Functions inherited from MediaWiki\Language\LanguageConverter
 applyManualConv (ConverterRule $convRule)
 Apply manual conversion rules.
 
 getAdditionalManualLevel ()
 Provides additional flags for converter.
 
 getHeaderVariant ()
 Determine the language variant from the Accept-Language header.
 
 getStaticDefaultVariant ()
 Get static default variant.
 
 getUserVariant (User $user)
 Determine if the user has a variant set.
 
 loadTables ( $fromCache=true)
 Load conversion tables either from the cache or the disk.
 
 postLoadTables (&$tables)
 Hook for post-processing after conversion tables are loaded.
 
 recursiveConvertRule ( $text, $variant, &$startPos, $depth=0)
 Recursively convert text on the inside.
 
 recursiveConvertTopLevel ( $text, $variant, $depth=0)
 Recursively convert text on the outside.
 
 translateWithoutRomanNumbers ( $text, $variant)
 

Additional Inherited Members

- Static Public Attributes inherited from MediaWiki\Language\LanguageConverter
static array< string, string > $languagesWithStaticDefaultVariant
 static default variant of languages supporting variants for use with DefaultOptionsLookup.php
 
static string[] $languagesWithVariants
 languages supporting variants
 
- Protected Attributes inherited from MediaWiki\Language\LanguageConverter
ReplacementArray[] $mTables = []
 

Detailed Description

Serbian (Српски / Srpski) specific code.

There are two levels of conversion for Serbian: the script level (Cyrillics <-> Latin), and the variant level (ekavian <->iyekavian). The two are orthogonal. So we really only need two dictionaries: one for Cyrillics and Latin, and one for ekavian and iyekavian.

Definition at line 20 of file SrConverter.php.

Member Function Documentation

◆ getAdditionalFlags()

SrConverter::getAdditionalFlags ( )
protected

Provides additional flags for converter.

By default, it returns empty array and typically should be overridden by implementation of converter.

Reimplemented from MediaWiki\Language\LanguageConverter.

Definition at line 74 of file SrConverter.php.

◆ getLanguageVariants()

SrConverter::getLanguageVariants ( )

Get supported variants of the language.

Since
1.36
Returns
array

Reimplemented from MediaWiki\Language\LanguageConverter.

Definition at line 62 of file SrConverter.php.

◆ getMainCode()

SrConverter::getMainCode ( )

Get the language code with converter (the "main" language code).

Page language code would be the same of the language code with converter. Note that this code might not be included as one of the variant languages.

Since
1.36
Returns
string

Reimplemented from MediaWiki\Language\LanguageConverter.

Definition at line 58 of file SrConverter.php.

◆ getVariantsFallbacks()

SrConverter::getVariantsFallbacks ( )

Get language variants fallbacks.

Since
1.36
Returns
array

Reimplemented from MediaWiki\Language\LanguageConverter.

Definition at line 66 of file SrConverter.php.

◆ guessVariant()

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

Reimplemented from MediaWiki\Language\LanguageConverter.

Definition at line 105 of file SrConverter.php.

◆ loadDefaultTables()

SrConverter::loadDefaultTables ( )
protected

Load default conversion tables.

Returns
array

Reimplemented from MediaWiki\Language\LanguageConverter.

Definition at line 87 of file SrConverter.php.

◆ translate()

SrConverter::translate ( $text,
$variant )

Omits roman numbers.

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

Reimplemented from MediaWiki\Language\LanguageConverter.

Definition at line 100 of file SrConverter.php.


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