MediaWiki  REL1_20
Language Class Reference

Internationalisation code. More...

Inherited by LanguageAr, LanguageAz, LanguageBe_tarask, LanguageBg, LanguageBs, LanguageCu, LanguageDsb, LanguageEo, LanguageEt, LanguageFi, LanguageGa, LanguageGv, LanguageHe, LanguageHi, LanguageHr, LanguageHsb, LanguageHu, LanguageHy, LanguageIu, LanguageJa, LanguageKaa, LanguageKk_cyrl, LanguageKm, LanguageKsh, LanguageKu_ku, LanguageLa, LanguageLn, LanguageLt, LanguageLv, LanguageMg, LanguageMk, LanguageMl, LanguageMo, LanguageMt, LanguageMy, LanguageNso, LanguageOs, LanguagePl, LanguageQqx, LanguageRo, LanguageRu, LanguageSe, LanguageSgs, LanguageSh, LanguageShi, LanguageSk, LanguageSl, LanguageSma, LanguageSr_ec, LanguageSr_el, LanguageTg, LanguageTi, LanguageTl, LanguageToTest, LanguageTr, LanguageTyv, LanguageUk, LanguageUz, LanguageWa, LanguageYue, and LanguageZh_hans.

Collaboration diagram for Language:

List of all members.

Public Member Functions

 __construct ()
 __destruct ()
 Reduce memory usage.
 addMagicWordsByLang ($newWords)
 Add magic words to the extension array.
 alignEnd ()
 Return 'right' or 'left' as appropriate alignment for line-end for this language's text direction.
 alignStart ()
 Return 'left' or 'right' as appropriate alignment for line-start for this language's text direction.
 armourMath ($text)
 Put custom tags (e.g.
 autoConvertToAllVariants ($text)
 convert text to all supported variants
 capitalizeAllNouns ()
 caseFold ($s)
 Return a case-folded representation of $s.
 checkTitleEncoding ($s)
 commafy ($_)
 Adds commas to a given number.
 commaList (array $list)
 Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message.
 convert ($text)
 convert text to different variants of a language.
 convertCategoryKey ($key)
 convertForSearchResult ($termsArray)
 convertGrammar ($word, $case)
 Grammatical transformations, needed for inflected languages Invoked by putting {{grammar:case|word}} in a message.
 convertHtml ($text, $isTitle=false)
 Perform output conversion on a string, and encode for safe HTML output.
 convertLinkToAllVariants ($text)
 If a language supports multiple variants, converts text into an array of all possible variants of the text: 'variant' => text in that variant.
 convertPlural ($count, $forms)
 Plural form transformations, needed for some languages.
 convertTitle ($title)
 Convert a Title object to a string in the preferred variant.
 date ($ts, $adj=false, $format=true, $timecorrection=false)
 dateFormat ($usePrefs=true)
 This is meant to be used by time(), date(), and timeanddate() to get the date preference they're supposed to use, it should be used in all children.
 digitGroupingPattern ()
 digitTransformTable ()
 emphasize ($text)
 Italic is unsuitable for some languages.
 fallback8bitEncoding ()
 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.
 firstChar ($s)
 Get the first character of a string.
 fixVariableInNamespace ($talk)
 formatBitrate ($bps)
 Format a bitrate for output, using an appropriate unit (bps, kbps, Mbps, Gbps, Tbps, Pbps, Ebps, Zbps or Ybps) according to the magnitude in question.
 formatComputingNumbers ($size, $boundary, $messageKey)
 formatDuration ($seconds, array $chosenIntervals=array())
 Takes a number of seconds and turns it into a text using values such as hours and minutes.
 formatExpiry ($expiry, $format=true)
 Decode an expiry (block, protection, etc) which has come from the DB.
 formatNum ($number, $nocommafy=false)
 Normally we output all numbers in plain en_US style, that is 293,291.235 for twohundredninetythreethousand-twohundredninetyone point twohundredthirtyfive.
 formatSize ($size)
 Format a size in bytes for output, using an appropriate unit (B, KB, MB, GB, TB, PB, EB, ZB or YB) according to the magnitude in question.
 formatTimePeriod ($seconds, $format=array())
 gender ($gender, $forms)
 Provides an alternative text depending on specified gender.
 getAllMessages ()
 getArrow ($direction= 'forwards')
 An arrow, depending on the language direction.
 getBookstoreList ()
 Exports $wgBookstoreListEn.
 getCode ()
 Get the RFC 3066 code for this language object.
 getCompiledPluralRules ()
 Get the compiled plural rules for the language.
 getConverter ()
 Return the LanguageConverter used in the Language.
 getConvRuleTitle ()
 Get the conversion rule title, if any.
 getDateFormats ()
 getDateFormatString ($type, $pref)
 Get a format string for a given type and preference.
 getDatePreferenceMigrationMap ()
 getDatePreferences ()
 getDefaultDateFormat ()
 getDefaultVariant ()
 getDir ()
 Return the correct HTML 'dir' attribute value for this language.
 getDirMark ($opposite=false)
 A hidden direction mark (LRM or RLM), depending on the language direction.
 getDirMarkEntity ($opposite=false)
 A hidden direction mark (LRM or RLM), depending on the language direction.
 getDurationIntervals ($seconds, array $chosenIntervals=array())
 Takes a number of seconds and returns an array with a set of corresponding intervals.
 getExtraHashOptions ()
 returns language specific options used by User::getPageRenderHash() for example, the preferred language variant
 getExtraUserToggles ()
 getFallbackLanguageCode ()
 Same as getFallbacksFor for current language.
 getFallbackLanguages ()
 getFormattedNamespaces ()
 A convenience function that returns the same thing as getNamespaces() except with the array values changed to ' ' where it found '_', useful for producing output to be displayed e.g.
 getFormattedNsText ($index)
 A convenience function that returns the same thing as getNsText() except with '_' changed to ' ', useful for producing output.
 getGenderNsText ($index, $gender)
 Returns gender-dependent namespace alias if available.
 getGrammarForms ()
 Get the grammar forms for the content language.
 getHebrewCalendarMonthName ($key)
 getHebrewCalendarMonthNameGen ($key)
 getHijriCalendarMonthName ($key)
 getHtmlCode ()
 Get the code in Bcp47 format which we can use inside of html lang="" tags.
 getImageFile ($image)
 getIranianCalendarMonthName ($key)
 getLangObj ()
 getLanguageName ($code)
 Get the native language name of $code.
 getLocalNsIndex ($text)
 Get a namespace key by value, case insensitive.
 getMagic ($mw)
 Fill a MagicWord object with data from here.
 getMagicWords ()
 getMessage ($key)
 getMessageFromDB ($msg)
 Get a message from the MediaWiki namespace.
 getMonthAbbreviation ($key)
 getMonthAbbreviationsArray ()
 getMonthName ($key)
 getMonthNameGen ($key)
 getMonthNamesArray ()
 getNamespaceAliases ()
 getNamespaceIds ()
 getNamespaces ()
 getNsIndex ($text)
 Get a namespace key by value, case insensitive.
 getNsText ($index)
 Get a namespace value by key $mw_ns = $wgContLang->getNsText( NS_MEDIAWIKI ); echo $mw_ns; // prints 'MediaWiki'
 getParsedTitle ()
 For languages that support multiple variants, the title of an article may be displayed differently in different variants.
 getPluralRules ()
 Get the plural rules for the language.
 getPreferredVariant ()
 getQuickbarSettings ()
 getSpecialPageAliases ()
 Get special page names, as an associative array case folded alias => real name.
 getURLVariant ()
 getUserToggle ($tog)
 getVariantname ($code, $usemsg=true)
 short names for language variants used for language conversion links.
 getVariants ()
 Get the list of variants supported by this language see sample implementation in LanguageZh.php.
 getWeekdayAbbreviation ($key)
 getWeekdayName ($key)
 hasVariant ($variant)
 Check if the language has the specific variant.
 hasVariants ()
 Check if this is a language with variants.
 hasWordBreaks ()
 Most writing systems use whitespace to break up words.
 iconv ($in, $out, $string)
 initContLang ()
 Hook which will be called if this is the content language.
 initEncoding ()
 isMultibyte ($str)
 isRTL ()
 For right-to-left language support.
 lc ($str, $first=false)
 lcCallback ($matches)
 lcfirst ($str)
 linkPrefixExtension ()
 To allow "foo[[bar]]" to extend the link over the whole word "foobar".
 linkTrail ()
 A regular expression to match legal word-trailing characters which should be merged onto a link of the form [[foo]]bar.
 listToText (array $l)
 Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message.
 markNoConversion ($text, $noParse=false)
 Enclose a string with the "no conversion" tag.
 needsGenderDistinction ()
 Whether this language makes distinguishes genders for example in namespaces.
 normalize ($s)
 Convert a UTF-8 string to normal form C.
 normalizeForSearch ($string)
 Some languages have special punctuation need to be normalized.
 parseFormattedNumber ($number)
 pipeList (array $list)
 Same as commaList, but separate it with the pipe instead.
 recodeForEdit ($s)
 recodeInput ($s)
 replaceGrammarInNamespace ($m)
 segmentByWord ($string)
 Some languages such as Chinese require word segmentation, Specify such segmentation when overridden in derived class.
 segmentForDiff ($text)
 languages like Chinese need to be segmented in order for the diff to be of any use
 semicolonList (array $list)
 Take a list of strings and build a locale-friendly semicolon-separated list, using the local semicolon-separator message.
 separatorTransformTable ()
 setCode ($code)
 setNamespaces (array $namespaces)
 Arbitrarily set all of the namespace names at once.
 specialList ($page, $details, $oppositedm=true)
 Make a list item, used by various special pages.
 specialPage ($name)
 sprintfDate ($format, $ts)
 This is a workalike of PHP's date() function, but with better internationalisation, a reduced set of format characters, and a better escaping format.
 time ($ts, $adj=false, $format=true, $timecorrection=false)
 timeanddate ($ts, $adj=false, $format=true, $timecorrection=false)
 transformUsingPairFile ($file, $string)
 Transform a string using serialized data stored in the given file (which must be in the serialized subdirectory of $IP).
 translateBlockExpiry ($str)
 truncate ($string, $length, $ellipsis= '...', $adjustLength=true)
 Truncate a string to a specified length in bytes, appending an optional string (e.g.
 truncateHtml ($text, $length, $ellipsis= '...')
 Truncate a string of valid HTML to a specified length in bytes, appending an optional string (e.g.
 uc ($str, $first=false)
 Convert a string to uppercase.
 ucCallback ($matches)
 ucfirst ($str)
 Make a string's first character uppercase.
 ucwordbreaks ($str)
 capitalize words at word breaks
 ucwordbreaksCallbackAscii ($matches)
 ucwordbreaksCallbackMB ($matches)
 ucwords ($str)
 ucwordsCallbackMB ($matches)
 ucwordsCallbackWiki ($matches)
 unsegmentForDiff ($text)
 and unsegment to show the result
 userAdjust ($ts, $tz=false)
 Used by date() and time() to adjust the time output.
 userDate ($ts, User $user, array $options=array())
 Get the formatted date for the given timestamp and formatted for the given user.
 userTime ($ts, User $user, array $options=array())
 Get the formatted time for the given timestamp and formatted for the given user.
 userTimeAndDate ($ts, User $user, array $options=array())
 Get the formatted date and time for the given timestamp and formatted for the given user.
 viewPrevNext (Title $title, $offset, $limit, array $query=array(), $atend=false)
 Generate (prev x| next x) (20|50|100...) type links for paging.

Static Public Member Functions

static classFromCode ($code)
static factory ($code)
 Get a cached language object for a given language code.
static fetchLanguageName ($code, $inLanguage=null, $include= 'all')
static fetchLanguageNames ($inLanguage=null, $include= 'mw')
 Get an array of language names, indexed by code.
static getCaseMaps ()
static getClassFileName ($code)
static getCodeFromFileName ($filename, $prefix= 'Language', $suffix= '.php')
 Get the language code from a file name.
static getFallbackFor ($code)
 Get the first fallback for a given language.
static getFallbacksFor ($code)
 Get the ordered list of fallback languages.
static getFileName ($prefix= 'Language', $code, $suffix= '.php')
 Get the name of a file for a certain language code.
static getLanguageNames ($customisedOnly=false)
 Get native language names, indexed by code.
static getLocalisationCache ()
 Get the LocalisationCache instance.
static getMessageFor ($key, $code)
 Get a message for a given language.
static getMessageKeysFor ($code)
 Get all message keys for a given language.
static getMessagesFileName ($code)
static getMessagesFor ($code)
 Get all messages for a given language WARNING: this may take a long time.
static getTranslatedLanguageNames ($code)
 Get translated language names.
static hebrewNumeral ($num)
 Hebrew Gematria number formatting up to 9999.
static isValidBuiltInCode ($code)
 Returns true if a language code is of a valid form for the purposes of internal customisation of MediaWiki, via Messages*.php.
static isValidCode ($code)
 Returns true if a language code string is of a valid form, whether or not it exists.
static preloadLanguageClass ($class)
 Includes language class files.
static romanNumeral ($num)
 Roman number formatting up to 10000.

Public Attributes

 $dateFormatStrings = array()
 $mCode
LanguageConverter $mConverter
 $mExtendedSpecialPageAliases
 $mLoaded = false
 $mMagicExtensions = array()
 $mMagicHookDone = false
 $mNamespaceIds
 $mVariants
 $namespaceAliases
 $transformData = array()
 ReplacementArray object caches.

Static Public Attributes

static $dataCache
static $durationIntervals
static $mHebrewCalendarMonthGenMsgs
static $mHebrewCalendarMonthMsgs
static $mHijriCalendarMonthMsgs
static $mIranianCalendarMonthMsgs
static $mLangObjCache = array()
static $mMonthAbbrevMsgs
static $mMonthGenMsgs
static $mMonthMsgs
static $mWeekdayAbbrevMsgs
static $mWeekdayMsgs

Protected Member Functions

 doMagicHook ()
 preConvertPlural ($forms, $count)
 Checks that convertPlural was given an array and pads it to requested amount of forms by copying the last one.
 removeBadCharFirst ($string)
 Remove bytes that represent an incomplete Unicode character at the start of string (e.g.
 removeBadCharLast ($string)
 Remove bytes that represent an incomplete Unicode character at the end of string (e.g.

Static Protected Member Functions

static convertDoubleWidth ($string)
 convert double-width roman characters to single-width.
static insertSpace ($string, $pattern)
static newFromCode ($code)
 Create a language object for a given language code.

Protected Attributes

 $namespaceNames

Private Member Functions

 getPluralForm ($number)
 Find the plural form matching to the given number It return the form index.
 internalUserTimeAndDate ($type, $ts, User $user, array $options)
 Internal helper function for userDate(), userTime() and userTimeAndDate()
 numLink (Title $title, $offset, $limit, array $query, $link, $tooltipMsg, $class)
 Helper function for viewPrevNext() that generates links.
 truncate_endBracket (&$tag, $tagType, $lastCh, &$openTags)
 truncateHtml() helper function (a) push or pop $tag from $openTags as needed (b) clear $tag value
 truncate_skip (&$ret, $text, $search, $start, $len=null)
 truncateHtml() helper function like strcspn() but adds the skipped chars to $ret

Static Private Member Functions

static hebrewYearStart ($year)
 This calculates the Hebrew year start, as days since 1 September.
static tsToHebrew ($ts)
 Converting Gregorian dates to Hebrew dates.
static tsToHijri ($ts)
 Converting Gregorian dates to Hijri dates.
static tsToIranian ($ts)
 Algorithm by Roozbeh Pournader and Mohammad Toossi to convert Gregorian dates to Iranian dates.
static tsToYear ($ts, $cName)
 Algorithm to convert Gregorian dates to Thai solar dates, Minguo dates or Minguo dates.

Private Attributes

 $mHtmlCode = null

Static Private Attributes

static $GREG_DAYS = array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 )
static $IRANIAN_DAYS = array( 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29 )

Detailed Description

Internationalisation code.

Definition at line 74 of file Language.php.


Constructor & Destructor Documentation

Reduce memory usage.

Definition at line 339 of file Language.php.


Member Function Documentation

Add magic words to the extension array.

Parameters:
$newWordsarray

Definition at line 2819 of file Language.php.

Return 'right' or 'left' as appropriate alignment for line-end for this language's text direction.

Should be equivalent to CSS3 'end' text-align value....

Returns:
String

Definition at line 2694 of file Language.php.

Return 'left' or 'right' as appropriate alignment for line-start for this language's text direction.

Should be equivalent to CSS3 'start' text-align value....

Returns:
String

Definition at line 2682 of file Language.php.

Language::armourMath ( text)

Put custom tags (e.g.

-{ }-) around math to prevent conversion

Parameters:
$textstring
Returns:
string

Definition at line 3551 of file Language.php.

convert text to all supported variants

Parameters:
$textstring
Returns:
array

Definition at line 3501 of file Language.php.

Returns:
array

Definition at line 2734 of file Language.php.

Return a case-folded representation of $s.

This is a representation such that caseFold($s1)==caseFold($s2) if $s1 and $s2 are the same except for the case of their characters. It is not necessary for the value returned to make sense when displayed.

Do *not* perform any other normalisation in this function. If a caller uses this function when it should be using a more general normalisation function, then fix the caller.

Parameters:
$sstring
Returns:
string

Definition at line 2394 of file Language.php.

Parameters:
$sstring
Returns:
string

Reimplemented in LanguageEo.

Definition at line 2402 of file Language.php.

static Language::classFromCode ( code) [static]
Parameters:
$code
Returns:
String Name of the language class

Definition at line 284 of file Language.php.

Adds commas to a given number.

Since:
1.19
Parameters:
$_mixed
Returns:
string

Reimplemented in LanguageKk_cyrl, LanguageKsh, LanguageRu, LanguageUk, LanguageBe_tarask, LanguageHy, LanguageKaa, LanguagePl, LanguageBg, LanguageKu_ku, LanguageEt, LanguageKm, and LanguageMy.

Definition at line 2925 of file Language.php.

Language::commaList ( array $  list)

Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message.

Parameters:
$listarray of strings to put in a comma list
Returns:
string

Definition at line 3031 of file Language.php.

Language::convert ( text)

convert text to different variants of a language.

Parameters:
$textstring
Returns:
string

Definition at line 3511 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 3570 of file Language.php.

static Language::convertDoubleWidth ( string) [static, protected]

convert double-width roman characters to single-width.

range: ff00-ff5f ~= 0020-007f

Parameters:
$stringstring
Returns:
string

Definition at line 2474 of file Language.php.

Referenced by LanguageGan\convertForSearchResult(), LanguageZh\convertForSearchResult(), and LanguageYue\normalizeForSearch().

Parameters:
$termsArrayarray
Returns:
array

Reimplemented in LanguageZh, and LanguageGan.

Definition at line 2504 of file Language.php.

Language::convertGrammar ( word,
case 
)

Grammatical transformations, needed for inflected languages Invoked by putting {{grammar:case|word}} in a message.

Parameters:
$wordstring
$casestring
Returns:
string

Reimplemented in LanguageKk, LanguageKsh, LanguageOs, LanguageBs, LanguageHe, LanguageLa, LanguageKaa, LanguageRu, LanguageDsb, LanguageFi, LanguageHy, LanguageSl, LanguageTyv, LanguageCu, LanguageGa, LanguageHsb, LanguageUk, and LanguageHu.

Definition at line 3339 of file Language.php.

Language::convertHtml ( text,
isTitle = false 
)

Perform output conversion on a string, and encode for safe HTML output.

Parameters:
$textString text to be converted
$isTitleBool whether this conversion is for the article title
Returns:
string
Todo:
this should get integrated somewhere sane

Definition at line 3562 of file Language.php.

If a language supports multiple variants, converts text into an array of all possible variants of the text: 'variant' => text in that variant.

Deprecated:
since 1.17 Use autoConvertToAllVariants()
Parameters:
$textstring
Returns:
string

Definition at line 3632 of file Language.php.

Language::convertPlural ( count,
forms 
)

Plural form transformations, needed for some languages.

For example, there are 3 form of plural in Russian and Polish, depending on "count mod 10". See [[w:Plural]] For English it is pretty simple.

Invoked by putting {{plural:count|wordform1|wordform2}} or {{plural:count|wordform1|wordform2|wordform3}}

Example: {{plural:{{NUMBEROFARTICLES}}|article|articles}}

Parameters:
$countInteger: non-localized number
$formsArray: different plural forms
Returns:
string Correct form of plural for $count in this language

Reimplemented in LanguageSr, LanguageKsh, LanguageRu, LanguageUk, LanguageHy, LanguageCu, LanguageSl, LanguageBe_tarask, LanguageLt, LanguageLv, LanguageWa, LanguageLn, LanguageMk, LanguageHi, LanguageMg, LanguageNso, LanguageTi, LanguageTl, LanguageGv, LanguageMt, LanguageSgs, LanguageHr, LanguageMo, LanguagePl, LanguageRo, LanguageSe, LanguageSh, LanguageSk, LanguageSma, LanguageSr_ec, and LanguageSr_el.

Definition at line 3406 of file Language.php.

Language::convertTitle ( title)

Convert a Title object to a string in the preferred variant.

Parameters:
$titleTitle
Returns:
string

Definition at line 3521 of file Language.php.

Language::date ( ts,
adj = false,
format = true,
timecorrection = false 
)
Parameters:
$tsMixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
$adjBool: whether to adjust the time output according to the user configured offset ($timecorrection)
$formatMixed: true to use user's date format preference
$timecorrectionString|bool the time offset as returned by validateTimeZone() in Special:Preferences
Returns:
string

Reimplemented in LanguageWa.

Definition at line 1902 of file Language.php.

Referenced by LanguageFi\translateBlockExpiry().

Language::dateFormat ( usePrefs = true)

This is meant to be used by time(), date(), and timeanddate() to get the date preference they're supposed to use, it should be used in all children.

function timeanddate([...], $format = true) { $datePreference = $this->dateFormat($format); [...] }

Parameters:
$usePrefsMixed: if true, the user's preference is used if false, the site/language default is used if int/string, assumed to be a format.
Returns:
string

Definition at line 1847 of file Language.php.

Referenced by LanguageWa\date(), and LanguageWa\timeanddate().

Returns:
String

Definition at line 2976 of file Language.php.

Returns:
array

Definition at line 2983 of file Language.php.

Language::doMagicHook ( ) [protected]

Definition at line 2777 of file Language.php.

Language::emphasize ( text)

Italic is unsuitable for some languages.

Parameters:
$textString: the text to be emphasized.
Returns:
string

Reimplemented in LanguageJa.

Definition at line 2852 of file Language.php.

static Language::factory ( code) [static]

Get a cached language object for a given language code.

Parameters:
$codeString
Returns:
Language

Definition at line 176 of file Language.php.

Referenced by CliInstaller\__construct(), StubContLang\_newObject(), ApiParse\execute(), LangMemUsage\execute(), ApiQueryAllMessages\execute(), DateFormats\execute(), PurgeParserCache\execute(), UpdateMediaWiki\execute(), ResourceLoaderContext\getDirection(), ResourceLoaderLanguageDataModule\getModifiedTime(), Title\getPageViewLanguage(), ResourceLoaderLanguageDataModule\getScript(), LoginForm\processLogin(), DerivativeContext\setLanguage(), RequestContext\setLanguage(), LanguageBeTaraskTest\setUp(), RevisionTest\setUp(), XmlTest\setUp(), LanguageConverterTest\setUp(), TestSample\setUp(), ParserOptionsTest\setUp(), LanguageTest\setUp(), ApiTestCase\setUp(), MediaWikiLangTestCase\setUp(), LanguageArTest\setUp(), HtmlTest\setUp(), LanguageMkTest\setUp(), LanguageTrTest\setUp(), LanguageLtTest\setUp(), LanguageMoTest\setUp(), LanguageMtTest\setUp(), LanguageNlTest\setUp(), LanguageHuTest\setUp(), LanguagePlTest\setUp(), LanguageRoTest\setUp(), LanguageSeTest\setUp(), LanguageHeTest\setUp(), LanguageSgsTest\setUp(), LanguageAmTest\setUp(), LanguageSmaTest\setUp(), LanguageFrTest\setUp(), LanguageShTest\setUp(), LanguageMlTest\setUp(), LanguageBeTest\setUp(), LanguageTlTest\setUp(), LanguageBhTest\setUp(), LanguageBsTest\setUp(), LanguageCsTest\setUp(), LanguageCuTest\setUp(), LanguageCyTest\setUp(), LanguageDsbTest\setUp(), LanguageNsoTest\setUp(), LanguageTiTest\setUp(), LanguageGaTest\setUp(), LanguageGdTest\setUp(), LanguageGvTest\setUp(), LanguageWaTest\setUp(), LanguageMgTest\setUp(), LanguageLnTest\setUp(), LanguageHiTest\setUp(), LanguageHrTest\setUp(), LanguageHsbTest\setUp(), LanguageHyTest\setUp(), LanguageKshTest\setUp(), LanguageLvTest\setUp(), LanguageUkTest\setUp(), LanguageSkTest\setUp(), LanguageSlTest\setUp(), LanguageRuTest\setUp(), BlockTest\setUp(), TitlePermissionTest\setUp(), LanguageUzTest\setUp(), LanguageSrTest\setUp(), MagicVariableTest\setUp(), NewParserTest\setUp(), SideBarTest\setUp(), NewParserTest\setupGlobals(), ArticleTablesTest\testbug14404(), TitleTest\testGetpageviewlanguage(), LanguageConverterTest\testGetPreferredVariantDefaultLanguageVsUrlVariant(), LanguageConverterTest\testGetPreferredVariantHeaderUserVsUrl(), MessageTest\testInContentLanguage(), MessageTest\testInLanguage(), TimeAdjustTest\testUserAdjust(), wfGetLangObj(), and wfInstallerMain().

Returns:
array

Definition at line 2428 of file Language.php.

static Language::fetchLanguageName ( code,
inLanguage = null,
include = 'all' 
) [static]
Parameters:
$codestring: The code of the language for which to get the name
$inLanguagenull|string: Code of language in which to return the name (null for autonyms)
$includestring: 'all', 'mw' or 'mwfile'; see fetchLanguageNames()
Returns:
string: Language name or empty
Since:
1.20

Definition at line 789 of file Language.php.

Referenced by FormatMetadata\getFormattedData(), wikiStatsOutput\heading(), FormatMetadata\langItem(), CoreParserFunctions\language(), ApiParse\languagesHtml(), LegacyTemplate\otherLanguages(), SkinTemplate\outputPage(), and CheckLanguageCLI\outputWiki().

static Language::fetchLanguageNames ( inLanguage = null,
include = 'mw' 
) [static]

Get an array of language names, indexed by code.

Parameters:
$inLanguagenull|string: Code of language in which to return the names Use null for autonyms (native names)
$includestring: 'all' all available languages 'mw' only if the language is defined in MediaWiki or wgExtraLanguageNames (default) 'mwfile' only if the language is in 'mw' *and* has a message file
Returns:
array: language code => language name
Since:
1.20

Definition at line 733 of file Language.php.

Referenced by languages\__construct(), ApiQuerySiteinfo\appendInterwikiMap(), ApiQuerySiteinfo\appendLanguages(), RebuildLocalisationCache\execute(), WebInstaller_Language\execute(), Xml\languageSelector(), Preferences\profilePreferences(), and wfGetLangObj().

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

Parameters:
$linkString: the name of the link
$ntMixed: the title object of the link
$ignoreOtherCondBoolean: to disable other conditions when we need to transclude a template or update a category's link
Returns:
null the input parameters may be modified upon return

Definition at line 3617 of file Language.php.

Get the first character of a string.

Parameters:
$sstring
Returns:
string

Definition at line 2516 of file Language.php.

Parameters:
$talk
Returns:
mixed

Definition at line 3858 of file Language.php.

Format a bitrate for output, using an appropriate unit (bps, kbps, Mbps, Gbps, Tbps, Pbps, Ebps, Zbps or Ybps) according to the magnitude in question.

This use base 1000. For base 1024 use formatSize(), for another base see formatComputingNumbers()

Parameters:
$bpsint
Returns:
string

Definition at line 4043 of file Language.php.

Language::formatComputingNumbers ( size,
boundary,
messageKey 
)
Parameters:
$sizeint Size of the unit
$boundaryint Size boundary (1000, or 1024 in most cases)
$messageKeystring Message key to be uesd
Returns:
string

Definition at line 4053 of file Language.php.

Language::formatDuration ( seconds,
array $  chosenIntervals = array() 
)

Takes a number of seconds and turns it into a text using values such as hours and minutes.

Since:
1.20
Parameters:
integer$secondsThe amount of seconds.
array$chosenIntervalsThe intervals to enable.
Returns:
string

Definition at line 1960 of file Language.php.

Language::formatExpiry ( expiry,
format = true 
)

Decode an expiry (block, protection, etc) which has come from the DB.

Todo:
FIXME: why are we returnings DBMS-dependent strings???
Parameters:
$expiryString: Database expiry String
$formatBool|Int true to process using language functions, or TS_ constant to return the expiry in a given timestamp
Returns:
String
Since:
1.18

Definition at line 3916 of file Language.php.

Language::formatNum ( number,
nocommafy = false 
)

Normally we output all numbers in plain en_US style, that is 293,291.235 for twohundredninetythreethousand-twohundredninetyone point twohundredthirtyfive.

However this is not suitable for all languages, some such as Pakaran want ੨੯੩,੨੯੫.੨੩੫ and others such as Icelandic just want to use commas instead of dots, and dots instead of commas like "293.291,235".

An example of this function being called: wfMessage( 'message' )->numParams( $num )->text()

See LanguageGu.php for the Gujarati implementation and $separatorTransformTable on MessageIs.php for the , => . and . => , implementation.

Todo:
check if it's viable to use localeconv() for the decimal separator thing.
Parameters:
$numberMixed: the string to be formatted, should be an integer or a floating point number.
$nocommafyBool: set to true for special numbers like dates
Returns:
string

Definition at line 2880 of file Language.php.

Language::formatSize ( size)

Format a size in bytes for output, using an appropriate unit (B, KB, MB, GB, TB, PB, EB, ZB or YB) according to the magnitude in question.

This method use base 1024. For base 1000 use formatBitrate(), for another base see formatComputingNumbers()

Parameters:
$sizeint Size to format
Returns:
string Plain text (not HTML)

Definition at line 4091 of file Language.php.

Language::formatTimePeriod ( seconds,
format = array() 
)
Todo:
Document
Parameters:
$secondsint|float
$formatArray Optional If $format['avoid'] == 'avoidseconds' - don't mention seconds if $seconds >= 1 hour If $format['avoid'] == 'avoidminutes' - don't mention seconds/minutes if $seconds > 48 hours If $format['noabbrevs'] is true - use 'seconds' and friends instead of 'seconds-abbrev' and friends For backwards compatibility, $format may also be one of the strings 'avoidseconds' or 'avoidminutes'
Returns:
string

Definition at line 3944 of file Language.php.

Language::gender ( gender,
forms 
)

Provides an alternative text depending on specified gender.

Usage {{gender:username|masculine|feminine|neutral}}. username is optional, in which case the gender of current user is used, but only in (some) interface messages; otherwise default gender is used.

If no forms are given, an empty string is returned. If only one form is given, it will be returned unconditionally. These details are implied by the caller and cannot be overridden in subclasses.

If more than one form is given, the default is to use the neutral one if it is specified, and to use the masculine one otherwise. These details can be overridden in subclasses.

Parameters:
$genderstring
$formsarray
Returns:
string

Definition at line 3377 of file Language.php.

Returns:
array

Definition at line 2126 of file Language.php.

Language::getArrow ( direction = 'forwards')

An arrow, depending on the language direction.

Parameters:
$directionString: the direction of the arrow: forwards (default), backwards, left, right, up, down.
Returns:
string

Definition at line 2744 of file Language.php.

Exports $wgBookstoreListEn.

Returns:
array

Definition at line 373 of file Language.php.

static Language::getCaseMaps ( ) [static]
Exceptions:
MWException
Returns:
array

Definition at line 3887 of file Language.php.

static Language::getClassFileName ( code) [static]
Parameters:
$codestring
Returns:
string

Definition at line 3775 of file Language.php.

Get the RFC 3066 code for this language object.

NOTE: The return value of this function is NOT HTML-safe and must be escaped with htmlspecialchars() or similar

Returns:
string

Definition at line 3694 of file Language.php.

Referenced by LanguageHu\convertGrammar().

static Language::getCodeFromFileName ( filename,
prefix = 'Language',
suffix = '.php' 
) [static]

Get the language code from a file name.

Inverse of getFileName()

Parameters:
$filenamestring $prefix . $languageCode . $suffix
$prefixstring Prefix before the language code
$suffixstring Suffix after the language code
Returns:
string Language code, or false if $prefix or $suffix isn't found

Definition at line 3750 of file Language.php.

Get the compiled plural rules for the language.

Since:
1.20
Returns:
array Associative array with plural form, and plural rule as key-value pairs

Definition at line 4187 of file Language.php.

Return the LanguageConverter used in the Language.

Since:
1.19
Returns:
LanguageConverter

Definition at line 3491 of file Language.php.

Get the conversion rule title, if any.

Returns:
string

Definition at line 4178 of file Language.php.

Returns:
array

Definition at line 648 of file Language.php.

Language::getDateFormatString ( type,
pref 
)

Get a format string for a given type and preference.

Parameters:
$typestring May be date, time or both
$prefstring The format name as it appears in Messages*.php
Returns:
string

Definition at line 1875 of file Language.php.

Returns:
array

Definition at line 668 of file Language.php.

Returns:
array

Definition at line 641 of file Language.php.

Returns:
array|string

Definition at line 655 of file Language.php.

Returns:
string

Definition at line 3594 of file Language.php.

Return the correct HTML 'dir' attribute value for this language.

Returns:
String

Definition at line 2670 of file Language.php.

Language::getDirMark ( opposite = false)

A hidden direction mark (LRM or RLM), depending on the language direction.

This function produces them as invisible Unicode characters and the output may be hard to read and debug, so it should only be used when the output is plain text or can be escaped. When the output is HTML, use getDirMarkEntity() instead.

Parameters:
$oppositeBoolean Get the direction mark opposite to your language
Returns:
string

Definition at line 2724 of file Language.php.

Language::getDirMarkEntity ( opposite = false)

A hidden direction mark (LRM or RLM), depending on the language direction.

Unlike getDirMark(), this function returns the character as an HTML entity. This function should be used when the output is guaranteed to be HTML, because it makes the output HTML source code more readable. When the output is plain text or can be escaped, getDirMark() should be used.

Parameters:
$oppositeBoolean Get the direction mark opposite to your language
Returns:
string
Since:
1.20

Definition at line 2709 of file Language.php.

Language::getDurationIntervals ( seconds,
array $  chosenIntervals = array() 
)

Takes a number of seconds and returns an array with a set of corresponding intervals.

For example 65 will be turned into array( minutes => 1, seconds => 5 ).

Since:
1.20
Parameters:
integer$secondsThe amount of seconds.
array$chosenIntervalsThe intervals to enable.
Returns:
array

Definition at line 1984 of file Language.php.

returns language specific options used by User::getPageRenderHash() for example, the preferred language variant

Returns:
string

Definition at line 3642 of file Language.php.

Returns:
array

Definition at line 683 of file Language.php.

static Language::getFallbackFor ( code) [static]

Get the first fallback for a given language.

Parameters:
$codestring
Returns:
bool|string

Definition at line 3787 of file Language.php.

Same as getFallbacksFor for current language.

Returns:
array|bool
Deprecated:
in 1.19

Definition at line 356 of file Language.php.

Returns:
array
Since:
1.19

Definition at line 365 of file Language.php.

static Language::getFallbacksFor ( code) [static]

Get the ordered list of fallback languages.

Since:
1.19
Parameters:
$codestring Language code
Returns:
array

Definition at line 3804 of file Language.php.

static Language::getFileName ( prefix = 'Language',
code,
suffix = '.php' 
) [static]

Get the name of a file for a certain language code.

Parameters:
$prefixstring Prepend this to the filename
$codestring Language code
$suffixstring Append this to the filename
Exceptions:
MWException
Returns:
string $prefix . $mangledCode . $suffix

Definition at line 3732 of file Language.php.

Referenced by MessageWriter\writeMessagesToFile().

A convenience function that returns the same thing as getNamespaces() except with the array values changed to ' ' where it found '_', useful for producing output to be displayed e.g.

in <select> forms.

Returns:
array

Definition at line 430 of file Language.php.

A convenience function that returns the same thing as getNsText() except with '_' changed to ' ', useful for producing output.

Parameters:
$indexstring
Returns:
array

Definition at line 462 of file Language.php.

Language::getGenderNsText ( index,
gender 
)

Returns gender-dependent namespace alias if available.

Parameters:
$indexInt: namespace index
$genderString: gender key (male, female... )
Returns:
String
Since:
1.18

Definition at line 474 of file Language.php.

Get the grammar forms for the content language.

Returns:
array of grammar forms
Since:
1.20

Definition at line 3351 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 889 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 897 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 905 of file Language.php.

Get the code in Bcp47 format which we can use inside of html lang="" tags.

NOTE: The return value of this function is NOT HTML-safe and must be escaped with htmlspecialchars() or similar.

Since:
1.19
Returns:
string

Definition at line 3708 of file Language.php.

Language::getImageFile ( image)
Parameters:
$image
Returns:
array|null

Definition at line 676 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 881 of file Language.php.

Returns:
Language

Definition at line 3682 of file Language.php.

Get the native language name of $code.

Only if defined in MediaWiki, no other data like CLDR.

Parameters:
$codestring
Returns:
string
Deprecated:
in 1.20, use fetchLanguageName()

Definition at line 811 of file Language.php.

static Language::getLanguageNames ( customisedOnly = false) [static]

Get native language names, indexed by code.

Only those defined in MediaWiki, no other data like CLDR. If $customisedOnly is true, only returns codes with a messages file

Parameters:
$customisedOnlybool
Returns:
array
Deprecated:
in 1.20, use fetchLanguageNames()

Definition at line 705 of file Language.php.

static Language::getLocalisationCache ( ) [static]

Get the LocalisationCache instance.

Returns:
LocalisationCache

Definition at line 316 of file Language.php.

Referenced by NewParserTest\addDBData(), and LocalisationCacheTest\testPuralRulesFallback().

Get a namespace key by value, case insensitive.

Only matches namespace names for the current language, not the canonical ones defined in Namespace.php.

Parameters:
$textString
Returns:
mixed An integer if $text is a valid value otherwise false

Definition at line 511 of file Language.php.

Language::getMagic ( mw)

Fill a MagicWord object with data from here.

Parameters:
$mw

Definition at line 2792 of file Language.php.

Returns:
array

Definition at line 2773 of file Language.php.

Parameters:
$keystring
Returns:
array|null

Reimplemented in LanguageQqx.

Definition at line 2119 of file Language.php.

static Language::getMessageFor ( key,
code 
) [static]

Get a message for a given language.

Parameters:
$keystring
$codestring
Returns:
string

Definition at line 3838 of file Language.php.

Get a message from the MediaWiki namespace.

Parameters:
$msgString: message name
Returns:
string

Definition at line 800 of file Language.php.

static Language::getMessageKeysFor ( code) [static]

Get all message keys for a given language.

This is a faster alternative to array_keys( Language::getMessagesFor( $code ) )

Since:
1.19
Parameters:
$codestring Language code
Returns:
array of message keys (strings)

Definition at line 3850 of file Language.php.

Referenced by ApiQueryAllMessages\execute().

static Language::getMessagesFileName ( code) [static]
Parameters:
$codestring
Returns:
string

Definition at line 3764 of file Language.php.

Referenced by Digit2Html\execute(), languages\loadFile(), and MessageWriter\writeMessagesToFile().

static Language::getMessagesFor ( code) [static]

Get all messages for a given language WARNING: this may take a long time.

If you just need all message *keys* but need the *contents* of only a few messages, consider using getMessageKeysFor().

Parameters:
$codestring
Returns:
array

Definition at line 3826 of file Language.php.

Referenced by AllTrans\execute(), and DumpMessages\execute().

Parameters:
$keystring
Returns:
string

Definition at line 846 of file Language.php.

Returns:
array

Definition at line 853 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 819 of file Language.php.

Referenced by LanguageWa\date().

Parameters:
$keystring
Returns:
string

Definition at line 838 of file Language.php.

Returns:
array

Definition at line 826 of file Language.php.

Returns:
array

Definition at line 520 of file Language.php.

Returns:
array

Definition at line 551 of file Language.php.

Returns:
array

Definition at line 380 of file Language.php.

Language::getNsIndex ( text)

Get a namespace key by value, case insensitive.

Canonical namespace names override custom ones defined for the current language.

Parameters:
$textString
Returns:
mixed An integer if $text is a valid value otherwise false

Definition at line 581 of file Language.php.

Language::getNsText ( index)

Get a namespace value by key $mw_ns = $wgContLang->getNsText( NS_MEDIAWIKI ); echo $mw_ns; // prints 'MediaWiki'

Parameters:
$indexInt: the array key of the namespace to return
Returns:
mixed, string if the namespace value exists, otherwise false

Definition at line 448 of file Language.php.

For languages that support multiple variants, the title of an article may be displayed differently in different variants.

this function returns the apporiate title defined in the body of the article.

Returns:
string

Definition at line 3653 of file Language.php.

Language::getPluralForm ( number) [private]

Find the plural form matching to the given number It return the form index.

Returns:
int The index of the plural form

Definition at line 4225 of file Language.php.

Get the plural rules for the language.

Since:
1.20
Returns:
array Associative array with plural form, and plural rule as key-value pairs

Definition at line 4206 of file Language.php.

Returns:
string

Definition at line 3587 of file Language.php.

Referenced by LanguageKk\convertGrammar(), LanguageKk\lcfirst(), and LanguageKk\ucfirst().

Returns:
array

Definition at line 627 of file Language.php.

Get special page names, as an associative array case folded alias => real name.

Definition at line 2833 of file Language.php.

static Language::getTranslatedLanguageNames ( code) [static]

Get translated language names.

This is done on best effort and by default this is exactly the same as Language::getLanguageNames. The CLDR extension provides translated names.

Parameters:
$codeString Language code.
Returns:
Array language code => language name
Since:
1.18.0
Deprecated:
in 1.20, use fetchLanguageNames()

Definition at line 718 of file Language.php.

Returns:
string

Definition at line 3601 of file Language.php.

Parameters:
$tog
Returns:
string

Definition at line 691 of file Language.php.

Language::getVariantname ( code,
usemsg = true 
)

short names for language variants used for language conversion links.

Parameters:
$codeString
$usemsgbool Use the "variantname-xyz" message if it exists
Returns:
string

Definition at line 598 of file Language.php.

Get the list of variants supported by this language see sample implementation in LanguageZh.php.

Returns:
array an array of language codes

Definition at line 3580 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 873 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 865 of file Language.php.

Language::hasVariant ( variant)

Check if the language has the specific variant.

Since:
1.19
Parameters:
$variantstring
Returns:
bool

Definition at line 3541 of file Language.php.

Check if this is a language with variants.

Returns:
bool

Definition at line 3530 of file Language.php.

Most writing systems use whitespace to break up words.

Some languages such as Chinese don't conventionally do this, which requires special handling when breaking up words for searching etc.

Returns:
bool

Reimplemented in LanguageYue, and LanguageZh_hans.

Definition at line 2440 of file Language.php.

static Language::hebrewNumeral ( num) [static]

Hebrew Gematria number formatting up to 9999.

Parameters:
$numint
Returns:
string

Definition at line 1698 of file Language.php.

static Language::hebrewYearStart ( year) [static, private]

This calculates the Hebrew year start, as days since 1 September.

Based on Carl Friedrich Gauss algorithm for finding Easter date. Used for Hebrew date.

Parameters:
$yearint
Returns:
string

Definition at line 1551 of file Language.php.

Language::iconv ( in,
out,
string 
)
Parameters:
$in
$out
$string
Returns:
string

Reimplemented in LanguageEo.

Definition at line 2136 of file Language.php.

Hook which will be called if this is the content language.

Descendants can use this to register hook functions or modify globals

Definition at line 349 of file Language.php.

Reimplemented in LanguageEo.

Definition at line 2568 of file Language.php.

static Language::insertSpace ( string,
pattern 
) [static, protected]
Parameters:
$stringstring
$patternstring
Returns:
string

Definition at line 2494 of file Language.php.

Referenced by LanguageJa\segmentByWord(), LanguageYue\segmentByWord(), and LanguageZh_hans\segmentByWord().

Language::internalUserTimeAndDate ( type,
ts,
User user,
array $  options 
) [private]

Internal helper function for userDate(), userTime() and userTimeAndDate()

Parameters:
$typeString: can be 'date', 'time' or 'both'
$tsMixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
$userUser object used to get preferences for timezone and format
$optionsArray, can contain the following keys:
  • 'timecorrection': time correction, can have the following values:
    • true: use user's preference
    • false: don't use time correction
    • integer: value of time correction in minutes
  • 'format': format to use, can have the following values:
    • true: use user's preference
    • false: use default preference
    • string: format to use
Since:
1.19
Returns:
String

Definition at line 2026 of file Language.php.

Parameters:
$strstring
Returns:
bool

Definition at line 2307 of file Language.php.

For right-to-left language support.

Returns:
bool

Definition at line 2662 of file Language.php.

static Language::isValidBuiltInCode ( code) [static]

Returns true if a language code is of a valid form for the purposes of internal customisation of MediaWiki, via Messages*.php.

Parameters:
$codestring
Exceptions:
MWException
Since:
1.18
Returns:
bool

Definition at line 265 of file Language.php.

Referenced by LanguageTest\testBuiltInCodeValidationRejectUnderscore().

static Language::isValidCode ( code) [static]

Returns true if a language code string is of a valid form, whether or not it exists.

This includes codes which are used solely for customisation via the MediaWiki namespace.

Parameters:
$codestring
Returns:
bool

Definition at line 245 of file Language.php.

Referenced by RequestContext\sanitizeLangCode().

Language::lc ( str,
first = false 
)
Parameters:
$strstring
$firstbool
Returns:
mixed|string

Definition at line 2278 of file Language.php.

Language::lcCallback ( matches)
Parameters:
$matchesarray
Returns:
string

Definition at line 2181 of file Language.php.

Language::lcfirst ( str)
Parameters:
$strstring
Returns:
mixed|string

Reimplemented in LanguageKk, LanguageKaa, and LanguageTr.

Definition at line 2259 of file Language.php.

To allow "foo[[bar]]" to extend the link over the whole word "foobar".

Returns:
bool

Definition at line 2766 of file Language.php.

A regular expression to match legal word-trailing characters which should be merged onto a link of the form [[foo]]bar.

Returns:
string

Definition at line 3675 of file Language.php.

Language::listToText ( array $  l)

Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message.

The last two strings are chained with an "and". NOTE: This function will only work with standard numeric array keys (0, 1, 2…)

Parameters:
$lArray
Returns:
string

Definition at line 3003 of file Language.php.

Language::markNoConversion ( text,
noParse = false 
)

Enclose a string with the "no conversion" tag.

This is used by various functions in the Parser

Parameters:
$textString: text to be tagged for no conversion
$noParsebool
Returns:
string the tagged text

Definition at line 3665 of file Language.php.

Whether this language makes distinguishes genders for example in namespaces.

Returns:
bool
Since:
1.18

Definition at line 487 of file Language.php.

static Language::newFromCode ( code) [static, protected]

Create a language object for a given language code.

Parameters:
$codeString
Exceptions:
MWException
Returns:
Language

Definition at line 193 of file Language.php.

Convert a UTF-8 string to normal form C.

In Malayalam and Arabic, this also cleans up certain backwards-compatible sequences, converting them to the modern Unicode equivalent.

This is language-specific for performance reasons only.

Parameters:
$sstring
Returns:
string

Reimplemented in LanguageMl, and LanguageAr.

Definition at line 2621 of file Language.php.

Some languages have special punctuation need to be normalized.

Make such changes here.

Parameters:
$stringString
Returns:
String

Reimplemented in LanguageBe_tarask, LanguageZh_hans, and LanguageYue.

Definition at line 2462 of file Language.php.

Language::numLink ( Title title,
offset,
limit,
array $  query,
link,
tooltipMsg,
class 
) [private]

Helper function for viewPrevNext() that generates links.

Parameters:
$titleTitle object to link
$offsetInteger offset parameter
$limitInteger limit parameter
$queryArray extra query parameters
$linkString text to use for the link; will be escaped
$tooltipMsgString name of the message to use as tooltip
$classString value of the "class" attribute of the link
Returns:
String HTML fragment

Definition at line 4166 of file Language.php.

Parameters:
$numberstring
Returns:
string

Definition at line 2904 of file Language.php.

Language::pipeList ( array $  list)

Same as commaList, but separate it with the pipe instead.

Parameters:
$listarray of strings to put in a pipe list
Returns:
string

Definition at line 3056 of file Language.php.

static Language::preloadLanguageClass ( class) [static]

Includes language class files.

Parameters:
$classstring Name of the language class

Definition at line 297 of file Language.php.

Parameters:
$sstring
Returns:
string

Definition at line 2579 of file Language.php.

Parameters:
$sstring
Returns:
string

Definition at line 2595 of file Language.php.

Language::removeBadCharFirst ( string) [protected]

Remove bytes that represent an incomplete Unicode character at the start of string (e.g.

bytes of the char are missing)

Parameters:
$stringString
Returns:
string

Definition at line 3152 of file Language.php.

Language::removeBadCharLast ( string) [protected]

Remove bytes that represent an incomplete Unicode character at the end of string (e.g.

bytes of the char are missing)

Parameters:
$stringString
Returns:
string

Definition at line 3127 of file Language.php.

Parameters:
$mstring
Returns:
string

Definition at line 3879 of file Language.php.

static Language::romanNumeral ( num) [static]

Roman number formatting up to 10000.

Parameters:
$numint
Returns:
string

Definition at line 1668 of file Language.php.

Language::segmentByWord ( string)

Some languages such as Chinese require word segmentation, Specify such segmentation when overridden in derived class.

Parameters:
$stringString
Returns:
String

Reimplemented in LanguageZh_hans, LanguageYue, and LanguageJa.

Definition at line 2451 of file Language.php.

languages like Chinese need to be segmented in order for the diff to be of any use

Parameters:
$textString
Returns:
String

Reimplemented in LanguageZh, and LanguageGan.

Definition at line 3471 of file Language.php.

Language::semicolonList ( array $  list)

Take a list of strings and build a locale-friendly semicolon-separated list, using the local semicolon-separator message.

Parameters:
$listarray of strings to put in a semicolon list
Returns:
string

Definition at line 3044 of file Language.php.

Returns:
array

Definition at line 2990 of file Language.php.

Language::setCode ( code)
Parameters:
$codestring

Definition at line 3718 of file Language.php.

Language::setNamespaces ( array $  namespaces)

Arbitrarily set all of the namespace names at once.

Mainly used for testing

Parameters:
$namespacesArray of namespaces (id => name)

Definition at line 418 of file Language.php.

Language::specialList ( page,
details,
oppositedm = true 
)

Make a list item, used by various special pages.

Parameters:
$pageString Page link
$detailsString Text between brackets
$oppositedmBoolean Add the direction mark opposite to your language, to display text properly
Returns:
String

Definition at line 4104 of file Language.php.

Language::specialPage ( name)
Parameters:
$namestring
Returns:
string

Definition at line 616 of file Language.php.

Language::sprintfDate ( format,
ts 
)

This is a workalike of PHP's date() function, but with better internationalisation, a reduced set of format characters, and a better escaping format.

Supported format characters are dDjlNwzWFmMntLoYyaAgGhHiscrU. See the PHP manual for definitions. There are a number of extensions, which start with "x":

xn Do not translate digits of the next numeric format character xN Toggle raw digit (xn) flag, stays set until explicitly unset xr Use roman numerals for the next numeric format character xh Use hebrew numerals for the next numeric format character xx Literal x xg Genitive month name

xij j (day number) in Iranian calendar xiF F (month name) in Iranian calendar xin n (month number) in Iranian calendar xiy y (two digit year) in Iranian calendar xiY Y (full year) in Iranian calendar

xjj j (day number) in Hebrew calendar xjF F (month name) in Hebrew calendar xjt t (days in month) in Hebrew calendar xjx xg (genitive month name) in Hebrew calendar xjn n (month number) in Hebrew calendar xjY Y (full year) in Hebrew calendar

xmj j (day number) in Hijri calendar xmF F (month name) in Hijri calendar xmn n (month number) in Hijri calendar xmY Y (full year) in Hijri calendar

xkY Y (full year) in Thai solar calendar. Months and days are identical to the Gregorian calendar xoY Y (full year) in Minguo calendar or Juche year. Months and days are identical to the Gregorian calendar xtY Y (full year) in Japanese nengo. Months and days are identical to the Gregorian calendar

Characters enclosed in double quotes will be considered literal (with the quotes themselves removed). Unmatched quotes will be considered literal quotes. Example:

"The month is" F => The month is January i's" => 20'11"

Backslash escaping is also supported.

Input timestamp is assumed to be pre-normalized to the desired local time zone, if any.

Parameters:
$formatString
$tsString: 14-character timestamp YYYYMMDDHHMMSS 01234567890123
Todo:
handling of "o" format character for Iranian, Hebrew, Hijri & Thai?
Returns:
string

Definition at line 971 of file Language.php.

Language::time ( ts,
adj = false,
format = true,
timecorrection = false 
)
Parameters:
$tsMixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
$adjBool: whether to adjust the time output according to the user configured offset ($timecorrection)
$formatMixed: true to use user's date format preference
$timecorrectionString|bool the time offset as returned by validateTimeZone() in Special:Preferences
Returns:
string

Definition at line 1921 of file Language.php.

Referenced by LanguageWa\timeanddate().

Language::timeanddate ( ts,
adj = false,
format = true,
timecorrection = false 
)
Parameters:
$tsMixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
$adjBool: whether to adjust the time output according to the user configured offset ($timecorrection)
$formatMixed: what format to return, if it's false output the default one (default true)
$timecorrectionString|bool the time offset as returned by validateTimeZone() in Special:Preferences
Returns:
string

Reimplemented in LanguageWa.

Definition at line 1941 of file Language.php.

Language::transformUsingPairFile ( file,
string 
)

Transform a string using serialized data stored in the given file (which must be in the serialized subdirectory of $IP).

The file contains pairs mapping source characters to destination characters.

The data is cached in process memory. This will go faster if you have the FastStringSearch extension.

Parameters:
$filestring
$stringstring
Exceptions:
MWException
Returns:
string

Definition at line 2646 of file Language.php.

Referenced by LanguageAr\normalize(), and LanguageMl\normalize().

Todo:
Maybe translate block durations.

Note that this function is somewhat misnamed: it deals with translating the *duration* ("1 week", "4 days", etc), not the expiry time (which is an absolute timestamp). Please note: do NOT add this blindly, as it is used on old expiry lengths recorded in log entries. You'd need to provide the start date to match up with it.

Parameters:
$strString: the validated block duration in English
Returns:
string Somehow translated block duration
See also:
LanguageFi.php for example implementation

Definition at line 3441 of file Language.php.

Language::truncate ( string,
length,
ellipsis = '...',
adjustLength = true 
)

Truncate a string to a specified length in bytes, appending an optional string (e.g.

for ellipses)

The database offers limited byte lengths for some columns in the database; multi-byte character sets mean we need to ensure that only whole characters are included, otherwise broken characters can be passed to the user

If $length is negative, the string will be truncated from the beginning

Parameters:
$stringString to truncate
$lengthInt: maximum length (including ellipses)
$ellipsisString to append to the truncated text
$adjustLengthBoolean: Subtract length of ellipsis from $length. $adjustLength was introduced in 1.18, before that behaved as if false.
Returns:
string

Definition at line 3080 of file Language.php.

Language::truncate_endBracket ( &$  tag,
tagType,
lastCh,
&$  openTags 
) [private]

truncateHtml() helper function (a) push or pop $tag from $openTags as needed (b) clear $tag value

Parameters:
&$tagstring Current HTML tag name we are looking at
$tagTypeint (0-open tag, 1-close tag)
$lastChstring Character before the '>' that ended this tag
&$openTagsarray Open tag stack (not accounting for $tag)

Definition at line 3317 of file Language.php.

Language::truncate_skip ( &$  ret,
text,
search,
start,
len = null 
) [private]

truncateHtml() helper function like strcspn() but adds the skipped chars to $ret

Parameters:
$ret
$text
$search
$start
$len
Returns:
int

Definition at line 3294 of file Language.php.

Language::truncateHtml ( text,
length,
ellipsis = '...' 
)

Truncate a string of valid HTML to a specified length in bytes, appending an optional string (e.g.

for ellipses), and return valid HTML

This is only intended for styled/linked text, such as HTML with tags like and , were the tags are self-contained (valid HTML). Also, this will not detect things like "display:none" CSS.

Note: since 1.18 you do not need to leave extra room in $length for ellipses.

Parameters:
string$textHTML string to truncate
int$length(zero/positive) Maximum length (including ellipses)
string$ellipsisString to append to the truncated text
Returns:
string

Definition at line 3178 of file Language.php.

static Language::tsToHebrew ( ts) [static, private]

Converting Gregorian dates to Hebrew dates.

Based on a JavaScript code by Abu Mami and Yisrael Hersch ([email protected], http://www.kaluach.net), who permitted to translate the relevant functions into PHP and release them under GNU GPL.

The months are counted from Tishrei = 1. In a leap year, Adar I is 13 and Adar II is 14. In a non-leap year, Adar is 6.

Parameters:
$tsstring
Returns:
string

Definition at line 1410 of file Language.php.

static Language::tsToHijri ( ts) [static, private]

Converting Gregorian dates to Hijri dates.

Based on a PHP-Nuke block by Sharjeel which is released under GNU/GPL license

See also:
http://phpnuke.org/modules.php?name=News&file=article&sid=8234&mode=thread&order=0&thold=0
Parameters:
$tsstring
Returns:
string

Definition at line 1359 of file Language.php.

static Language::tsToIranian ( ts) [static, private]

Algorithm by Roozbeh Pournader and Mohammad Toossi to convert Gregorian dates to Iranian dates.

Originally written in C, it is released under the terms of GNU Lesser General Public License. Conversion to PHP was performed by Niklas Laxström.

Link: http://www.farsiweb.info/jalali/jalali.c

Parameters:
$tsstring
Returns:
string

Definition at line 1301 of file Language.php.

static Language::tsToYear ( ts,
cName 
) [static, private]

Algorithm to convert Gregorian dates to Thai solar dates, Minguo dates or Minguo dates.

Link: http://en.wikipedia.org/wiki/Thai_solar_calendar http://en.wikipedia.org/wiki/Minguo_calendar http://en.wikipedia.org/wiki/Japanese_era_name

Parameters:
$tsString: 14-character timestamp
$cNameString: calender name
Returns:
Array: converted year, month, day

Definition at line 1589 of file Language.php.

Language::uc ( str,
first = false 
)

Convert a string to uppercase.

Parameters:
$strstring
$firstbool
Returns:
string

Definition at line 2230 of file Language.php.

Language::ucCallback ( matches)
Parameters:
$matchesarray
Returns:
string

Definition at line 2172 of file Language.php.

Language::ucfirst ( str)

Make a string's first character uppercase.

Parameters:
$strstring
Returns:
string

Reimplemented in LanguageKk, LanguageKaa, LanguageTr, and LanguageAz.

Definition at line 2210 of file Language.php.

capitalize words at word breaks

Parameters:
$strstring
Returns:
mixed

Definition at line 2347 of file Language.php.

Parameters:
$matchesarray
Returns:
mixed|string

Definition at line 2156 of file Language.php.

Parameters:
$matchesarray
Returns:
string

Definition at line 2164 of file Language.php.

Language::ucwords ( str)
Parameters:
$strstring
Returns:
mixed|string

Definition at line 2315 of file Language.php.

Parameters:
$matchesarray
Returns:
string

Definition at line 2190 of file Language.php.

Parameters:
$matchesarray
Returns:
string

Definition at line 2198 of file Language.php.

and unsegment to show the result

Parameters:
$textString
Returns:
String

Reimplemented in LanguageZh, and LanguageGan.

Definition at line 3481 of file Language.php.

Language::userAdjust ( ts,
tz = false 
)

Used by date() and time() to adjust the time output.

Parameters:
$tsInt the time in date('YmdHis') format
$tzMixed: adjust the time by this amount (default false, mean we get user timecorrection setting)
Returns:
int

Definition at line 1762 of file Language.php.

Referenced by LanguageWa\date(), and LanguageWa\timeanddate().

Language::userDate ( ts,
User user,
array $  options = array() 
)

Get the formatted date for the given timestamp and formatted for the given user.

Parameters:
$tsMixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
$userUser object used to get preferences for timezone and format
$optionsArray, can contain the following keys:
  • 'timecorrection': time correction, can have the following values:
    • true: use user's preference
    • false: don't use time correction
    • integer: value of time correction in minutes
  • 'format': format to use, can have the following values:
    • true: use user's preference
    • false: use default preference
    • string: format to use
Since:
1.19
Returns:
String

Definition at line 2065 of file Language.php.

Language::userTime ( ts,
User user,
array $  options = array() 
)

Get the formatted time for the given timestamp and formatted for the given user.

Parameters:
$tsMixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
$userUser object used to get preferences for timezone and format
$optionsArray, can contain the following keys:
  • 'timecorrection': time correction, can have the following values:
    • true: use user's preference
    • false: don't use time correction
    • integer: value of time correction in minutes
  • 'format': format to use, can have the following values:
    • true: use user's preference
    • false: use default preference
    • string: format to use
Since:
1.19
Returns:
String

Definition at line 2088 of file Language.php.

Language::userTimeAndDate ( ts,
User user,
array $  options = array() 
)

Get the formatted date and time for the given timestamp and formatted for the given user.

Parameters:
$tsMixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
$userUser object used to get preferences for timezone and format
$optionsArray, can contain the following keys:
  • 'timecorrection': time correction, can have the following values:
    • true: use user's preference
    • false: don't use time correction
    • integer: value of time correction in minutes
  • 'format': format to use, can have the following values:
    • true: use user's preference
    • false: use default preference
    • string: format to use
Since:
1.19
Returns:
String

Definition at line 2111 of file Language.php.

Language::viewPrevNext ( Title title,
offset,
limit,
array $  query = array(),
atend = false 
)

Generate (prev x| next x) (20|50|100...) type links for paging.

Parameters:
$titleTitle object to link
$offsetInteger offset parameter
$limitInteger limit parameter
$queryarray|String optional URL query parameter string
$atendBool optional param for specified if this is the last page
Returns:
String

Definition at line 4122 of file Language.php.


Member Data Documentation

Language::$dataCache [static]

Definition at line 97 of file Language.php.

Language::$dateFormatStrings = array()

Definition at line 84 of file Language.php.

Language::$durationIntervals [static]
Initial value:
 array(
                'millennia' => 31557600000,
                'centuries' => 3155760000,
                'decades' => 315576000,
                'years' => 31557600, 
                'weeks' => 604800,
                'days' => 86400,
                'hours' => 3600,
                'minutes' => 60,
                'seconds' => 1,
        )

Definition at line 159 of file Language.php.

Language::$GREG_DAYS = array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ) [static, private]

Definition at line 1286 of file Language.php.

Language::$IRANIAN_DAYS = array( 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29 ) [static, private]

Definition at line 1287 of file Language.php.

Language::$mCode

Definition at line 80 of file Language.php.

LanguageConverter Language::$mConverter

Definition at line 78 of file Language.php.

Language::$mExtendedSpecialPageAliases

Definition at line 85 of file Language.php.

Language::$mHebrewCalendarMonthGenMsgs [static]
Initial value:
 array(
                'hebrew-calendar-m1-gen', 'hebrew-calendar-m2-gen', 'hebrew-calendar-m3-gen',
                'hebrew-calendar-m4-gen', 'hebrew-calendar-m5-gen', 'hebrew-calendar-m6-gen',
                'hebrew-calendar-m7-gen', 'hebrew-calendar-m8-gen', 'hebrew-calendar-m9-gen',
                'hebrew-calendar-m10-gen', 'hebrew-calendar-m11-gen', 'hebrew-calendar-m12-gen',
                'hebrew-calendar-m6a-gen', 'hebrew-calendar-m6b-gen'
        )

Definition at line 140 of file Language.php.

Language::$mHebrewCalendarMonthMsgs [static]
Initial value:
 array(
                'hebrew-calendar-m1', 'hebrew-calendar-m2', 'hebrew-calendar-m3',
                'hebrew-calendar-m4', 'hebrew-calendar-m5', 'hebrew-calendar-m6',
                'hebrew-calendar-m7', 'hebrew-calendar-m8', 'hebrew-calendar-m9',
                'hebrew-calendar-m10', 'hebrew-calendar-m11', 'hebrew-calendar-m12',
                'hebrew-calendar-m6a', 'hebrew-calendar-m6b'
        )

Definition at line 132 of file Language.php.

Language::$mHijriCalendarMonthMsgs [static]
Initial value:
 array(
                'hijri-calendar-m1', 'hijri-calendar-m2', 'hijri-calendar-m3',
                'hijri-calendar-m4', 'hijri-calendar-m5', 'hijri-calendar-m6',
                'hijri-calendar-m7', 'hijri-calendar-m8', 'hijri-calendar-m9',
                'hijri-calendar-m10', 'hijri-calendar-m11', 'hijri-calendar-m12'
        )

Definition at line 148 of file Language.php.

Language::$mHtmlCode = null [private]

Definition at line 82 of file Language.php.

Language::$mIranianCalendarMonthMsgs [static]
Initial value:
 array(
                'iranian-calendar-m1', 'iranian-calendar-m2', 'iranian-calendar-m3',
                'iranian-calendar-m4', 'iranian-calendar-m5', 'iranian-calendar-m6',
                'iranian-calendar-m7', 'iranian-calendar-m8', 'iranian-calendar-m9',
                'iranian-calendar-m10', 'iranian-calendar-m11', 'iranian-calendar-m12'
        )

Definition at line 125 of file Language.php.

Language::$mLangObjCache = array() [static]

Definition at line 99 of file Language.php.

Language::$mLoaded = false

Definition at line 80 of file Language.php.

Language::$mMagicExtensions = array()

Definition at line 81 of file Language.php.

Language::$mMagicHookDone = false

Definition at line 81 of file Language.php.

Language::$mMonthAbbrevMsgs [static]
Initial value:
 array(
                'jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug',
                'sep', 'oct', 'nov', 'dec'
        )

Definition at line 120 of file Language.php.

Language::$mMonthGenMsgs [static]
Initial value:
 array(
                'january-gen', 'february-gen', 'march-gen', 'april-gen', 'may-gen', 'june-gen',
                'july-gen', 'august-gen', 'september-gen', 'october-gen', 'november-gen',
                'december-gen'
        )

Definition at line 115 of file Language.php.

Language::$mMonthMsgs [static]
Initial value:
 array(
                'january', 'february', 'march', 'april', 'may_long', 'june',
                'july', 'august', 'september', 'october', 'november',
                'december'
        )

Definition at line 110 of file Language.php.

Language::$mNamespaceIds

Definition at line 87 of file Language.php.

Language::$mVariants

Definition at line 80 of file Language.php.

Language::$mWeekdayAbbrevMsgs [static]
Initial value:
 array(
                'sun', 'mon', 'tue', 'wed', 'thu', 'fri', 'sat'
        )

Definition at line 106 of file Language.php.

Language::$mWeekdayMsgs [static]
Initial value:
 array(
                'sunday', 'monday', 'tuesday', 'wednesday', 'thursday',
                'friday', 'saturday'
        )

Definition at line 101 of file Language.php.

Language::$namespaceAliases

Definition at line 87 of file Language.php.

Language::$namespaceNames [protected]

Definition at line 87 of file Language.php.

Language::$transformData = array()

ReplacementArray object caches.

Definition at line 92 of file Language.php.


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