MediaWiki REL1_33
SrConverter Class Reference

There are two levels of conversion for Serbian: the script level (Cyrillics <-> Latin), and the variant level (ekavian <->iyekavian). More...

Inheritance diagram for SrConverter:
Collaboration diagram for SrConverter:

Public Member Functions

 findVariantLink (&$link, &$nt, $ignoreOtherCond=false)
 A function wrapper:
 
 guessVariant ( $text, $variant)
 Guess if a text is written in Cyrillic or Latin.
 
 loadDefaultTables ()
 Load default conversion tables.
 
 translate ( $text, $toVariant)
 It translates text into variant, specials:
 
- Public Member Functions inherited from LanguageConverter
 __construct (Language $langobj, $maincode, $variants=[], $variantfallbacks=[], $flags=[], $manualLevel=[])
 
 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.
 
 convertNamespace ( $index, $variant=null)
 Get the namespace display name in the preferred variant.
 
 convertTitle ( $title)
 Auto convert a Title object to a readable string in the preferred variant.
 
 convertTo ( $text, $variant)
 Same as convert() except a extra parameter to custom variant.
 
 getConvRuleTitle ()
 Get the title produced by the conversion rule.
 
 getDefaultVariant ()
 Get default variant.
 
 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.
 
 getVarSeparatorPattern ()
 Get the cached separator pattern for ConverterRule::parseRules()
 
 loadTables ( $fromCache=true)
 Load conversion tables either from the cache or the disk.
 
 markNoConversion ( $text, $noParse=false)
 Enclose a string with the "no conversion" tag.
 
 parseCachedTable ( $code, $subpage='', $recursive=true)
 Parse the conversion table stored in the cache.
 
 postLoadTables ()
 Hook for post processing after conversion tables are loaded.
 
 updateConversionTable (Title $titleobj)
 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.
 

Public Attributes

 $mToCyrillics
 
 $mToLatin
 
- Public Attributes inherited from LanguageConverter
 $mConvRuleTitle = false
 
 $mDescCodeSep = ':'
 
 $mDescVarSep = ';'
 
 $mFlags
 
 $mHeaderVariant
 
 $mLangObj
 
 $mMainLanguageCode
 
 $mManualLevel
 
 $mMaxDepth = 10
 
ReplacementArray[] $mTables
 @phan-var array<string,ReplacementArray>
 
 $mTablesLoaded = false
 
 $mUcfirst = false
 
 $mURLVariant
 
 $mUserVariant
 
 $mVariantFallbacks
 
 $mVariantNames
 
string[] $mVariants
 
 $mVarSeparatorPattern
 
const CACHE_VERSION_KEY = 'VERSION 7'
 

Additional Inherited Members

- Static Public Attributes inherited from LanguageConverter
static array $languagesWithVariants
 languages supporting variants
 
- Protected Member Functions inherited from LanguageConverter
 applyManualConv ( $convRule)
 Apply manual conversion rules.
 
 getHeaderVariant ()
 Determine the language variant from the Accept-Language header.
 
 getUserVariant ()
 Determine if the user has a variant set.
 
 recursiveConvertRule ( $text, $variant, &$startPos, $depth=0)
 Recursively convert text on the inside.
 
 recursiveConvertTopLevel ( $text, $variant, $depth=0)
 Recursively convert text on the outside.
 

Detailed Description

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 33 of file LanguageSr.php.

Member Function Documentation

◆ findVariantLink()

SrConverter::findVariantLink ( $link,
$nt,
  $ignoreOtherCond = false 
)

A function wrapper:

  • if there is no selected variant, leave the link names as they were
  • do not try to find variants for usernames
Parameters
string&$link
Title&$nt
bool$ignoreOtherCond

Reimplemented from LanguageConverter.

Definition at line 88 of file LanguageSr.php.

References $link, LanguageConverter\getPreferredVariant(), NS_USER, and NS_USER_TALK.

◆ guessVariant()

SrConverter::guessVariant (   $text,
  $variant 
)

Guess if a text is written in Cyrillic or Latin.

Overrides LanguageConverter::guessVariant()

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
Author
Nikola Smolenski smole.nosp@m.nsk@.nosp@m.eunet.nosp@m..rs
Since
1.19

Reimplemented from LanguageConverter.

Definition at line 154 of file LanguageSr.php.

◆ loadDefaultTables()

SrConverter::loadDefaultTables ( )

Load default conversion tables.

This method must be implemented in derived class.

Access:\n private
Exceptions
MWException

Reimplemented from LanguageConverter.

Definition at line 70 of file LanguageSr.php.

◆ translate()

SrConverter::translate (   $text,
  $toVariant 
)

It translates text into variant, specials:

  • ommiting roman numbers
Parameters
string$text
string$toVariant
Exceptions
MWException
Returns
string

Reimplemented from LanguageConverter.

Definition at line 114 of file LanguageSr.php.

References $matches, $ret, as, and LanguageConverter\loadTables().

Member Data Documentation

◆ $mToCyrillics

SrConverter::$mToCyrillics
Initial value:
= [
'a' => 'а', 'b' => 'б', 'c' => 'ц', 'č' => 'ч', 'ć' => 'ћ',
'd' => 'д', 'dž' => 'џ', 'đ' => 'ђ', 'e' => 'е', 'f' => 'ф',
'g' => 'г', 'h' => 'х', 'i' => 'и', 'j' => 'ј', 'k' => 'к',
'l' => 'л', 'lj' => 'љ', 'm' => 'м', 'n' => 'н', 'nj' => 'њ',
'o' => 'о', 'p' => 'п', 'r' => 'р', 's' => 'с', 'š' => 'ш',
't' => 'т', 'u' => 'у', 'v' => 'в', 'z' => 'з', 'ž' => 'ж',
'A' => 'А', 'B' => 'Б', 'C' => 'Ц', 'Č' => 'Ч', 'Ć' => 'Ћ',
'D' => 'Д', 'Dž' => 'Џ', 'Đ' => 'Ђ', 'E' => 'Е', 'F' => 'Ф',
'G' => 'Г', 'H' => 'Х', 'I' => 'И', 'J' => 'Ј', 'K' => 'К',
'L' => 'Л', 'LJ' => 'Љ', 'M' => 'М', 'N' => 'Н', 'NJ' => 'Њ',
'O' => 'О', 'P' => 'П', 'R' => 'Р', 'S' => 'С', 'Š' => 'Ш',
'T' => 'Т', 'U' => 'У', 'V' => 'В', 'Z' => 'З', 'Ž' => 'Ж',
'DŽ' => 'Џ', 'd!ž' => 'дж', 'D!ž' => 'Дж', 'D!Ž' => 'ДЖ',
'Lj' => 'Љ', 'l!j' => 'лј', 'L!j' => 'Лј', 'L!J' => 'ЛЈ',
'Nj' => 'Њ', 'n!j' => 'нј', 'N!j' => 'Нј', 'N!J' => 'НЈ'
]

Definition at line 50 of file LanguageSr.php.

◆ $mToLatin

SrConverter::$mToLatin
Initial value:
= [
'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd',
'ђ' => 'đ', 'е' => 'e', 'ж' => 'ž', 'з' => 'z', 'и' => 'i',
'ј' => 'j', 'к' => 'k', 'л' => 'l', 'љ' => 'lj', 'м' => 'm',
'н' => 'n', 'њ' => 'nj', 'о' => 'o', 'п' => 'p', 'р' => 'r',
'с' => 's', 'т' => 't', 'ћ' => 'ć', 'у' => 'u', 'ф' => 'f',
'х' => 'h', 'ц' => 'c', 'ч' => 'č', 'џ' => 'dž', 'ш' => 'š',
'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D',
'Ђ' => 'Đ', 'Е' => 'E', 'Ж' => 'Ž', 'З' => 'Z', 'И' => 'I',
'Ј' => 'J', 'К' => 'K', 'Л' => 'L', 'Љ' => 'Lj', 'М' => 'M',
'Н' => 'N', 'Њ' => 'Nj', 'О' => 'O', 'П' => 'P', 'Р' => 'R',
'С' => 'S', 'Т' => 'T', 'Ћ' => 'Ć', 'У' => 'U', 'Ф' => 'F',
'Х' => 'H', 'Ц' => 'C', 'Ч' => 'Č', 'Џ' => 'Dž', 'Ш' => 'Š',
]

Definition at line 34 of file LanguageSr.php.


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