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.
 
 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 LanguageConverter
 __construct ( $langobj)
 
 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.
 
 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.
 
 convertTitle ( $title)
 Automatically convert a LinkTarget or PageReference to a readable string in the preferred variant.
 
 convertTo ( $text, $variant, bool $clearState=true)
 Same as convert() except a extra parameter to custom variant.
 
 getConvRuleTitle ()
 Get the title produced by the conversion rule.
 
 getDefaultVariant ()
 This function would not be affected by user's settings.
 
 getDescCodeSeparator ()
 Get desc code separator.
 
 getDescVarSeparator ()
 Get desc var separator.
 
 getExtraHashOptions ()
 Returns language specific hash options.
 
 getFlags ()
 Get the strings that map to the flags.
 
 getManualLevel ()
 Get manual level limit for supported variants.
 
 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.
 
 getVariantNames ()
 Get variant names.
 
 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
 

Protected Member Functions

 getAdditionalFlags ()
 Provides additional flags for converter.
 
 loadDefaultTables ()
 Load default conversion tables.
 
- Protected Member Functions inherited from 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 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 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 32 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.

Returns
array

Reimplemented from LanguageConverter.

Definition at line 92 of file SrConverter.php.

◆ getLanguageVariants()

SrConverter::getLanguageVariants ( )

Get supported variants of the language.

Since
1.36
Returns
array

Reimplemented from LanguageConverter.

Definition at line 80 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 LanguageConverter.

Definition at line 76 of file SrConverter.php.

◆ getVariantsFallbacks()

SrConverter::getVariantsFallbacks ( )

Get language variants fallbacks.

Since
1.36
Returns
array

Reimplemented from LanguageConverter.

Definition at line 84 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 LanguageConverter.

Definition at line 122 of file SrConverter.php.

◆ loadDefaultTables()

SrConverter::loadDefaultTables ( )
protected

Load default conversion tables.

Returns
array

Reimplemented from LanguageConverter.

Definition at line 105 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 LanguageConverter.

Definition at line 118 of file SrConverter.php.

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 56 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 37 of file SrConverter.php.


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