MediaWiki REL1_35
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

 __construct ( $langobj)
 
 guessVariant ( $text, $variant)
 Guess if a text is written in Cyrillic or Latin.
 
 translate ( $text, $toVariant)
 It translates text into variant, specials:
 
- Public Member Functions inherited from LanguageConverterSpecific
 findVariantLink (&$link, &$nt, $ignoreOtherCond=false)
 A function wrapper:
 
- Public Member Functions inherited from LanguageConverter
 __construct ( $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.
 
 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 (LinkTarget $linkTarget)
 Auto convert a LinkTarget 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()
 
 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.
 
 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.
 

Public Attributes

string[] $mToCyrillics
 
string[] $mToLatin
 
- Public Attributes inherited from LanguageConverter
 $mDescCodeSep = ':'
 
 $mDescVarSep = ';'
 
 $mFlags
 
 $mMainLanguageCode
 
 $mManualLevel
 
 $mVariantNames
 
string[] $mVariants
 

Protected Member Functions

 loadDefaultTables ()
 Load default conversion tables.
 
- Protected Member Functions inherited from LanguageConverter
 applyManualConv (ConverterRule $convRule)
 Apply manual conversion rules.
 
 getHeaderVariant ()
 Determine the language variant from the Accept-Language header.
 
 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 ()
 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.
 

Additional Inherited Members

- Static Public Attributes inherited from LanguageConverter
static array $languagesWithVariants
 languages supporting variants
 
- Protected Attributes inherited from LanguageConverter
ReplacementArray[] bool[] $mTables
 

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 SrConverter.php.

Constructor & Destructor Documentation

◆ __construct()

SrConverter::__construct (   $langobj)
Parameters
Language$langobj

Definition at line 80 of file SrConverter.php.

Member Function Documentation

◆ 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 153 of file SrConverter.php.

◆ loadDefaultTables()

SrConverter::loadDefaultTables ( )
protected

Load default conversion tables.

This method must be implemented in derived class.

Exceptions
MWException

Reimplemented from LanguageConverter.

Definition at line 95 of file SrConverter.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 113 of file SrConverter.php.

References $matches, and LanguageConverter\loadTables().

Member Data Documentation

◆ $mToCyrillics

string [] 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 57 of file SrConverter.php.

◆ $mToLatin

string [] 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 38 of file SrConverter.php.


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