MediaWiki  REL1_21
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, LanguageMg, LanguageMk, LanguageMl, LanguageMt, LanguageMy, LanguageNso, LanguageOs, LanguagePl, LanguageQqx, LanguageRu, LanguageSh, LanguageShi, LanguageSk, LanguageSl, 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 ($number)
 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.
 convertNamespace ($ns)
 Convert a namespace index to a string in the preferred 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.
 formatNumNoSeparators ($number)
 Front-end for non-commafied formatNum.
 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)
 Prepare external link text for conversion.
 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)
 resetNamespaces ()
 Resets all of the namespace caches.
 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 or new 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 isKnownLanguageTag ($tag)
 Returns true if a language code is an IETF tag known to MediaWiki.
static isSupportedLanguage ($code)
 Checks whether any localisation is available for that language tag in MediaWiki (MessagesXx.php exists).
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 isWellFormedLanguageTag ($code, $lenient=false)
 Returns true if a language code string is a well-formed language tag according to RFC 5646.
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 75 of file Language.php.


Constructor & Destructor Documentation

Reduce memory usage.

Definition at line 445 of file Language.php.


Member Function Documentation

Add magic words to the extension array.

Parameters:
$newWordsarray

Definition at line 2927 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 2802 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 2790 of file Language.php.

Language::armourMath ( text)

Put custom tags (e.g.

-{ }-) around math to prevent conversion

Parameters:
$textstring
Returns:
string

Definition at line 3710 of file Language.php.

convert text to all supported variants

Parameters:
$textstring
Returns:
array

Definition at line 3650 of file Language.php.

Returns:
array

Definition at line 2842 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 2514 of file Language.php.

Parameters:
$sstring
Returns:
string

Reimplemented in LanguageEo.

Definition at line 2522 of file Language.php.

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

Definition at line 390 of file Language.php.

Language::commafy ( number)

Adds commas to a given number.

Since:
1.19
Parameters:
$numbermixed
Returns:
string

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

Definition at line 3045 of file Language.php.

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 3153 of file Language.php.

Language::convert ( text)

convert text to different variants of a language.

Parameters:
$textstring
Returns:
string

Definition at line 3660 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 3729 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 2582 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 2612 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 3461 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 3721 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 3791 of file Language.php.

Convert a namespace index to a string in the preferred variant.

Parameters:
$nsint
Returns:
string

Definition at line 3680 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, LanguageCu, LanguageSl, LanguageBe_tarask, LanguageWa, LanguageMk, LanguageHi, LanguageMg, LanguageNso, LanguageTi, LanguageTl, LanguageGv, LanguageMt, LanguageHr, LanguagePl, LanguageSh, LanguageSk, LanguageSr_ec, and LanguageSr_el.

Definition at line 3528 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 3670 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 2022 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 1967 of file Language.php.

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

Returns:
String

Definition at line 3097 of file Language.php.

Returns:
array

Definition at line 3104 of file Language.php.

Language::doMagicHook ( ) [protected]

Definition at line 2885 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 2960 of file Language.php.

Returns:
array

Definition at line 2536 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 909 of file Language.php.

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

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 853 of file Language.php.

Referenced by languages\__construct(), ApiQuerySiteinfo\appendInterwikiMap(), ApiQuerySiteinfo\appendLanguages(), RebuildLocalisationCache\execute(), DeleteEqualMessages\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 3776 of file Language.php.

Get the first character of a string.

Parameters:
$sstring
Returns:
string

Definition at line 2624 of file Language.php.

Parameters:
$talk
Returns:
mixed

Definition at line 4026 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 4211 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 4221 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

Reimplemented in LanguageZh_hans.

Definition at line 2080 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 4084 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 2988 of file Language.php.

Front-end for non-commafied formatNum.

Parameters:
mixed$numberthe string to be formatted, should be an integer or a floating point number.
Since:
1.21
Returns:
string

Definition at line 3016 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 4259 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 4112 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 3499 of file Language.php.

Returns:
array

Definition at line 2246 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 2852 of file Language.php.

Exports $wgBookstoreListEn.

Returns:
array

Definition at line 479 of file Language.php.

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

Definition at line 4055 of file Language.php.

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

Definition at line 3943 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 3862 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 3918 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 4355 of file Language.php.

Return the LanguageConverter used in the Language.

Since:
1.19
Returns:
LanguageConverter

Definition at line 3640 of file Language.php.

Get the conversion rule title, if any.

Returns:
string

Definition at line 4346 of file Language.php.

Returns:
array

Definition at line 768 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 1995 of file Language.php.

Returns:
array

Definition at line 788 of file Language.php.

Returns:
array

Definition at line 761 of file Language.php.

Returns:
array|string

Definition at line 775 of file Language.php.

Returns:
string

Definition at line 3753 of file Language.php.

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

Returns:
String

Definition at line 2778 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 2832 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 2817 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 2104 of file Language.php.

Referenced by LanguageZh_hans\formatDuration().

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

Returns:
string

Definition at line 3801 of file Language.php.

Returns:
array

Definition at line 803 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 3955 of file Language.php.

Same as getFallbacksFor for current language.

Returns:
array|bool
Deprecated:
in 1.19

Definition at line 462 of file Language.php.

Returns:
array
Since:
1.19

Definition at line 471 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 3972 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 3900 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 546 of file Language.php.

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

$mw_ns = $wgContLang->getFormattedNsText( NS_MEDIAWIKI_TALK ); echo $mw_ns; // prints 'MediaWiki talk'

Parameters:
int$indexThe array key of the namespace to return
Returns:
string Namespace name without underscores (empty string if namespace does not exist)

Definition at line 582 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 594 of file Language.php.

Get the grammar forms for the content language.

Returns:
array of grammar forms
Since:
1.20

Definition at line 3473 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 1009 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 1017 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 1025 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 3876 of file Language.php.

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

Definition at line 796 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 1001 of file Language.php.

Returns:
Language

Definition at line 3850 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 931 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 825 of file Language.php.

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 631 of file Language.php.

Language::getMagic ( mw)

Fill a MagicWord object with data from here.

Parameters:
$mw

Definition at line 2900 of file Language.php.

Returns:
array

Definition at line 2881 of file Language.php.

Parameters:
$keystring
Returns:
array|null

Reimplemented in LanguageQqx.

Definition at line 2239 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 4006 of file Language.php.

Get a message from the MediaWiki namespace.

Parameters:
$msgString: message name
Returns:
string

Definition at line 920 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 4018 of file Language.php.

Referenced by ApiQueryAllMessages\execute().

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

Definition at line 3932 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 3994 of file Language.php.

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

Parameters:
$keystring
Returns:
string

Definition at line 966 of file Language.php.

Returns:
array

Definition at line 973 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 939 of file Language.php.

Referenced by LanguageWa\date().

Parameters:
$keystring
Returns:
string

Definition at line 958 of file Language.php.

Returns:
array

Definition at line 946 of file Language.php.

Returns:
array

Definition at line 640 of file Language.php.

Returns:
array

Definition at line 671 of file Language.php.

Returns:
array

Definition at line 486 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 701 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 564 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 3812 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 4393 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 4374 of file Language.php.

Returns:
string

Definition at line 3746 of file Language.php.

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

Returns:
array

Definition at line 747 of file Language.php.

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

Definition at line 2941 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 838 of file Language.php.

Returns:
string

Definition at line 3760 of file Language.php.

Parameters:
$tog
Returns:
string

Definition at line 811 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 718 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 3739 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 993 of file Language.php.

Parameters:
$keystring
Returns:
string

Definition at line 985 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 3700 of file Language.php.

Check if this is a language with variants.

Returns:
bool

Definition at line 3689 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 2548 of file Language.php.

static Language::hebrewNumeral ( num) [static]

Hebrew Gematria number formatting up to 9999.

Parameters:
$numint
Returns:
string

Definition at line 1818 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 1671 of file Language.php.

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

Reimplemented in LanguageEo.

Definition at line 2256 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 455 of file Language.php.

Reimplemented in LanguageEo.

Definition at line 2676 of file Language.php.

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

Definition at line 2602 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 2146 of file Language.php.

static Language::isKnownLanguageTag ( tag) [static]

Returns true if a language code is an IETF tag known to MediaWiki.

Parameters:
$codestring
Since:
1.21
Returns:
bool

Definition at line 370 of file Language.php.

Referenced by LanguageTest\testKnownCldrLanguageTag(), LanguageTest\testKnownLanguageTag(), and LanguageTest\testUnknownLanguageTag().

Parameters:
$strstring
Returns:
bool

Definition at line 2427 of file Language.php.

For right-to-left language support.

Returns:
bool

Definition at line 2770 of file Language.php.

static Language::isSupportedLanguage ( code) [static]

Checks whether any localisation is available for that language tag in MediaWiki (MessagesXx.php exists).

Parameters:
string$codeLanguage tag (in lower case)
Returns:
bool Whether language is supported
Since:
1.21

Definition at line 254 of file Language.php.

Referenced by LanguageTest\testIsSupportedLanguage().

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 347 of file Language.php.

Referenced by LanguageTest\testBuiltInCodeValidation(), and 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 327 of file Language.php.

Referenced by ApiQueryAllMessages\execute(), and RequestContext\sanitizeLangCode().

static Language::isWellFormedLanguageTag ( code,
lenient = false 
) [static]

Returns true if a language code string is a well-formed language tag according to RFC 5646.

This function only checks well-formedness; it doesn't check that language, script or variant codes actually exist in the repositories.

Based on regexes by Mark Davis of the Unicode Consortium: http://unicode.org/repos/cldr/trunk/tools/java/org/unicode/cldr/util/data/langtagRegex.txt

Parameters:
$codestring
$lenientboolean Whether to allow '_' as separator. The default is only '-'.
Returns:
bool
Since:
1.21

Definition at line 273 of file Language.php.

Referenced by LanguageTest\testLenientLanguageTag(), LanguageTest\testMalformedLanguageTag(), and LanguageTest\testWellFormedLanguageTag().

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

Definition at line 2398 of file Language.php.

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

Definition at line 2301 of file Language.php.

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

Reimplemented in LanguageKk, LanguageKaa, and LanguageTr.

Definition at line 2379 of file Language.php.

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

Returns:
bool

Definition at line 2874 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 3843 of file Language.php.

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 3124 of file Language.php.

Language::markNoConversion ( text,
noParse = false 
)

Prepare external link text for conversion.

When the text is a URL, it shouldn't be converted, and it'll be wrapped in the "raw" tag (-{R| }-) to prevent conversion.

This function is called "markNoConversion" for historical reasons.

Parameters:
$textString: text to be used for external link
$noParsebool: wrap it without confirming it's a real URL first
Returns:
string the tagged text

Definition at line 3828 of file Language.php.

Whether this language makes distinguishes genders for example in namespaces.

Returns:
bool
Since:
1.18

Definition at line 607 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 203 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 2729 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 2570 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 4334 of file Language.php.

Parameters:
$numberstring
Returns:
string

Definition at line 3024 of file Language.php.

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 3178 of file Language.php.

Language::preConvertPlural ( forms,
count 
) [protected]
static Language::preloadLanguageClass ( class) [static]

Includes language class files.

Parameters:
$classstring Name of the language class

Definition at line 403 of file Language.php.

Parameters:
$sstring
Returns:
string

Definition at line 2687 of file Language.php.

Parameters:
$sstring
Returns:
string

Definition at line 2703 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 3274 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 3249 of file Language.php.

Parameters:
$mstring
Returns:
string

Definition at line 4047 of file Language.php.

Resets all of the namespace caches.

Mainly used for testing

Definition at line 532 of file Language.php.

static Language::romanNumeral ( num) [static]

Roman number formatting up to 10000.

Parameters:
$numint
Returns:
string

Definition at line 1788 of file Language.php.

Referenced by LanguageTest\testRomanNumerals().

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 2559 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 3620 of file Language.php.

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 3166 of file Language.php.

Returns:
array

Definition at line 3111 of file Language.php.

Language::setCode ( code)
Parameters:
$codestring

Definition at line 3886 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 524 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 4272 of file Language.php.

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

Definition at line 736 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 1091 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 2041 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 2061 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 2754 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 3576 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 3202 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 3439 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 3416 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 3300 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 1530 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 1479 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 1421 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 1709 of file Language.php.

Language::uc ( str,
first = false 
)

Convert a string to uppercase.

Parameters:
$strstring
$firstbool
Returns:
string

Definition at line 2350 of file Language.php.

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

Definition at line 2292 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 2330 of file Language.php.

capitalize words at word breaks

Parameters:
$strstring
Returns:
mixed

Definition at line 2467 of file Language.php.

Parameters:
$matchesarray
Returns:
mixed|string

Definition at line 2276 of file Language.php.

Parameters:
$matchesarray
Returns:
string

Definition at line 2284 of file Language.php.

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

Definition at line 2435 of file Language.php.

Parameters:
$matchesarray
Returns:
string

Definition at line 2310 of file Language.php.

Parameters:
$matchesarray
Returns:
string

Definition at line 2318 of file Language.php.

and unsegment to show the result

Parameters:
$textString
Returns:
String

Reimplemented in LanguageZh, and LanguageGan.

Definition at line 3630 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 1882 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 2185 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 2208 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 2231 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 4290 of file Language.php.


Member Data Documentation

Language::$dataCache [static]

Definition at line 98 of file Language.php.

Language::$dateFormatStrings = array()

Definition at line 85 of file Language.php.

Language::$durationIntervals [static]
Initial value:
 array(
                'millennia' => 31556952000,
                'centuries' => 3155695200,
                'decades' => 315569520,
                'years' => 31556952, 
                'weeks' => 604800,
                'days' => 86400,
                'hours' => 3600,
                'minutes' => 60,
                'seconds' => 1,
        )

Definition at line 160 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 1406 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 1407 of file Language.php.

Language::$mCode

Definition at line 81 of file Language.php.

LanguageConverter Language::$mConverter

Definition at line 79 of file Language.php.

Language::$mExtendedSpecialPageAliases

Definition at line 86 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 141 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 133 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 149 of file Language.php.

Language::$mHtmlCode = null [private]

Definition at line 83 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 126 of file Language.php.

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

Definition at line 100 of file Language.php.

Language::$mLoaded = false

Definition at line 81 of file Language.php.

Language::$mMagicExtensions = array()

Definition at line 82 of file Language.php.

Language::$mMagicHookDone = false

Definition at line 82 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 121 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 116 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 111 of file Language.php.

Language::$mNamespaceIds

Definition at line 88 of file Language.php.

Language::$mVariants

Definition at line 81 of file Language.php.

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

Definition at line 107 of file Language.php.

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

Definition at line 102 of file Language.php.

Language::$namespaceAliases

Definition at line 88 of file Language.php.

Language::$namespaceNames [protected]

Definition at line 88 of file Language.php.

Language::$transformData = array()

ReplacementArray object caches.

Definition at line 93 of file Language.php.


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