MediaWiki  1.27.1
Language Class Reference

Internationalisation code. More...

Inheritance diagram for Language:
Collaboration diagram for Language:

Public Member Functions

 __construct ()
 
 __destruct ()
 Reduce memory usage. More...
 
 addMagicWordsByLang ($newWords)
 Add magic words to the extension array. More...
 
 alignEnd ()
 Return 'right' or 'left' as appropriate alignment for line-end for this language's text direction. More...
 
 alignStart ()
 Return 'left' or 'right' as appropriate alignment for line-start for this language's text direction. More...
 
 autoConvertToAllVariants ($text)
 convert text to all supported variants More...
 
 capitalizeAllNouns ()
 
 caseFold ($s)
 Return a case-folded representation of $s. More...
 
 checkTitleEncoding ($s)
 
 commafy ($number)
 Adds commas to a given number. More...
 
 commaList (array $list)
 Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message. More...
 
 convert ($text)
 convert text to different variants of a language. More...
 
 convertCategoryKey ($key)
 
 convertForSearchResult ($termsArray)
 
 convertGrammar ($word, $case)
 Grammatical transformations, needed for inflected languages Invoked by putting {{grammar:case|word}} in a message. More...
 
 convertHtml ($text, $isTitle=false)
 Perform output conversion on a string, and encode for safe HTML output. More...
 
 convertNamespace ($ns)
 Convert a namespace index to a string in the preferred variant. More...
 
 convertPlural ($count, $forms)
 Plural form transformations, needed for some languages. More...
 
 convertTitle ($title)
 Convert a Title object to a string in the preferred variant. More...
 
 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. More...
 
 digitGroupingPattern ()
 
 digitTransformTable ()
 
 embedBidi ($text= '')
 Wraps argument with unicode control characters for directionality safety. More...
 
 emphasize ($text)
 Italic is unsuitable for some languages. More...
 
 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. More...
 
 firstChar ($s)
 Get the first character of a string. More...
 
 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. More...
 
 formatComputingNumbers ($size, $boundary, $messageKey)
 
 formatDuration ($seconds, array $chosenIntervals=[])
 Takes a number of seconds and turns it into a text using values such as hours and minutes. More...
 
 formatExpiry ($expiry, $format=true, $infinity= 'infinity')
 Decode an expiry (block, protection, etc) which has come from the DB. More...
 
 formatNum ($number, $nocommafy=false)
 Normally we output all numbers in plain en_US style, that is 293,291.235 for twohundredninetythreethousand-twohundredninetyone point twohundredthirtyfive. More...
 
 formatNumNoSeparators ($number)
 Front-end for non-commafied formatNum. More...
 
 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. More...
 
 formatTimePeriod ($seconds, $format=[])
 
 gender ($gender, $forms)
 Provides an alternative text depending on specified gender. More...
 
 getAllMessages ()
 
 getArrow ($direction= 'forwards')
 An arrow, depending on the language direction. More...
 
 getBookstoreList ()
 Exports $wgBookstoreListEn. More...
 
 getCode ()
 Get the internal language code for this language object. More...
 
 getCompiledPluralRules ()
 Get the compiled plural rules for the language. More...
 
 getConverter ()
 Return the LanguageConverter used in the Language. More...
 
 getConvRuleTitle ()
 Get the conversion rule title, if any. More...
 
 getDateFormats ()
 
 getDateFormatString ($type, $pref)
 Get a format string for a given type and preference. More...
 
 getDatePreferenceMigrationMap ()
 
 getDatePreferences ()
 
 getDefaultDateFormat ()
 
 getDefaultVariant ()
 
 getDir ()
 Return the correct HTML 'dir' attribute value for this language. More...
 
 getDirMark ($opposite=false)
 A hidden direction mark (LRM or RLM), depending on the language direction. More...
 
 getDirMarkEntity ($opposite=false)
 A hidden direction mark (LRM or RLM), depending on the language direction. More...
 
 getDurationIntervals ($seconds, array $chosenIntervals=[])
 Takes a number of seconds and returns an array with a set of corresponding intervals. More...
 
 getExtraHashOptions ()
 returns language specific options used by User::getPageRenderHash() for example, the preferred language variant More...
 
 getExtraUserToggles ()
 
 getFallbackLanguages ()
 
 getFormattedNamespaces ()
 A convenience function that returns getNamespaces() with spaces instead of underscores in values. More...
 
 getFormattedNsText ($index)
 A convenience function that returns the same thing as getNsText() except with '_' changed to ' ', useful for producing output. More...
 
 getGenderNsText ($index, $gender)
 Returns gender-dependent namespace alias if available. More...
 
 getGrammarForms ()
 Get the grammar forms for the content language. More...
 
 getHebrewCalendarMonthName ($key)
 
 getHebrewCalendarMonthNameGen ($key)
 
 getHijriCalendarMonthName ($key)
 
 getHtmlCode ()
 Get the code in BCP 47 format which we can use inside of html lang="" tags. More...
 
 getHumanTimestamp (MWTimestamp $time, MWTimestamp $relativeTo=null, User $user=null)
 Get the timestamp in a human-friendly relative format, e.g., "3 days ago". More...
 
 getImageFile ($image)
 
 getImageFiles ()
 
 getIranianCalendarMonthName ($key)
 
 getLocalNsIndex ($text)
 Get a namespace key by value, case insensitive. More...
 
 getMagic ($mw)
 Fill a MagicWord object with data from here. More...
 
 getMagicWords ()
 Get all magic words from cache. More...
 
 getMessage ($key)
 
 getMessageFromDB ($msg)
 Get a message from the MediaWiki namespace. More...
 
 getMonthAbbreviation ($key)
 
 getMonthAbbreviationsArray ()
 
 getMonthName ($key)
 
 getMonthNameGen ($key)
 
 getMonthNamesArray ()
 
 getNamespaceAliases ()
 
 getNamespaceIds ()
 
 getNamespaces ()
 Returns an array of localised namespaces indexed by their numbers. More...
 
 getNsIndex ($text)
 Get a namespace key by value, case insensitive. More...
 
 getNsText ($index)
 Get a namespace value by key. More...
 
 getParentLanguage ()
 Get the "parent" language which has a converter to convert a "compatible" language (in another variant) to this language (eg. More...
 
 getParsedTitle ()
 For languages that support multiple variants, the title of an article may be displayed differently in different variants. More...
 
 getPluralRuleIndexNumber ($number)
 Find the index number of the plural rule appropriate for the given number. More...
 
 getPluralRules ()
 Get the plural rules for the language. More...
 
 getPluralRuleType ($number)
 Find the plural rule type appropriate for the given number For example, if the language is set to Arabic, getPluralType(5) should return 'few'. More...
 
 getPluralRuleTypes ()
 Get the plural rule types for the language. More...
 
 getPreferredVariant ()
 
 getSpecialPageAliases ()
 Get special page names, as an associative array canonical name => array of valid names, including aliases. More...
 
 getURLVariant ()
 
 getUserToggle ($tog)
 
 getVariantname ($code, $usemsg=true)
 short names for language variants used for language conversion links. More...
 
 getVariants ()
 Get the list of variants supported by this language see sample implementation in LanguageZh.php. More...
 
 getWeekdayAbbreviation ($key)
 
 getWeekdayName ($key)
 
 hasVariant ($variant)
 Check if the language has the specific variant. More...
 
 hasVariants ()
 Check if this is a language with variants. More...
 
 hasWordBreaks ()
 Most writing systems use whitespace to break up words. More...
 
 iconv ($in, $out, $string)
 
 initContLang ()
 Hook which will be called if this is the content language. More...
 
 initEncoding ()
 
 isMultibyte ($str)
 
 isRTL ()
 For right-to-left language support. More...
 
 lc ($str, $first=false)
 
 lcfirst ($str)
 
 linkPrefixCharset ()
 A regular expression character set to match legal word-prefixing characters which should be merged onto a link of the form foo[[bar]]. More...
 
 linkPrefixExtension ()
 To allow "foo[[bar]]" to extend the link over the whole word "foobar". More...
 
 linkTrail ()
 A regular expression to match legal word-trailing characters which should be merged onto a link of the form [[foo]]bar. More...
 
 listToText (array $l)
 Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message. More...
 
 markNoConversion ($text, $noParse=false)
 Prepare external link text for conversion. More...
 
 needsGenderDistinction ()
 Whether this language uses gender-dependent namespace aliases. More...
 
 normalize ($s)
 Convert a UTF-8 string to normal form C. More...
 
 normalizeForSearch ($string)
 Some languages have special punctuation need to be normalized. More...
 
 parseFormattedNumber ($number)
 
 pipeList (array $list)
 Same as commaList, but separate it with the pipe instead. More...
 
 recodeForEdit ($s)
 
 recodeInput ($s)
 
 replaceGrammarInNamespace ($m)
 
 resetNamespaces ()
 Resets all of the namespace caches. More...
 
 segmentByWord ($string)
 Some languages such as Chinese require word segmentation, Specify such segmentation when overridden in derived class. More...
 
 segmentForDiff ($text)
 languages like Chinese need to be segmented in order for the diff to be of any use More...
 
 semicolonList (array $list)
 Take a list of strings and build a locale-friendly semicolon-separated list, using the local semicolon-separator message. More...
 
 separatorTransformTable ()
 
 setCode ($code)
 
 setNamespaces (array $namespaces)
 Arbitrarily set all of the namespace names at once. More...
 
 specialList ($page, $details, $oppositedm=true)
 Make a list item, used by various special pages. More...
 
 sprintfDate ($format, $ts, DateTimeZone $zone=null, &$ttl=null)
 This is a workalike of PHP's date() function, but with better internationalisation, a reduced set of format characters, and a better escaping format. More...
 
 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). More...
 
 translateBlockExpiry ($str, User $user=null)
 
 truncate ($string, $length, $ellipsis= '...', $adjustLength=true)
 Truncate a string to a specified length in bytes, appending an optional string (e.g. More...
 
 truncateHtml ($text, $length, $ellipsis= '...')
 Truncate a string of valid HTML to a specified length in bytes, appending an optional string (e.g. More...
 
 uc ($str, $first=false)
 Convert a string to uppercase. More...
 
 ucfirst ($str)
 Make a string's first character uppercase. More...
 
 ucwordbreaks ($str)
 capitalize words at word breaks More...
 
 ucwordbreaksCallbackAscii ($matches)
 
 ucwordbreaksCallbackMB ($matches)
 
 ucwords ($str)
 
 ucwordsCallbackMB ($matches)
 
 unsegmentForDiff ($text)
 and unsegment to show the result More...
 
 updateConversionTable (Title $title)
 Refresh the cache of conversion tables when MediaWiki:Conversiontable* is updated. More...
 
 userAdjust ($ts, $tz=false)
 Used by date() and time() to adjust the time output. More...
 
 userDate ($ts, User $user, array $options=[])
 Get the formatted date for the given timestamp and formatted for the given user. More...
 
 userTime ($ts, User $user, array $options=[])
 Get the formatted time for the given timestamp and formatted for the given user. More...
 
 userTimeAndDate ($ts, User $user, array $options=[])
 Get the formatted date and time for the given timestamp and formatted for the given user. More...
 
 viewPrevNext (Title $title, $offset, $limit, array $query=[], $atend=false)
 Generate (prev x| next x) (20|50|100...) type links for paging. More...
 

Static Public Member Functions

static classFromCode ($code)
 
static factory ($code)
 Get a cached or new language object for a given language code. More...
 
static fetchLanguageName ($code, $inLanguage=null, $include= 'all')
 
static fetchLanguageNames ($inLanguage=null, $include= 'mw')
 Get an array of language names, indexed by code. More...
 
static getCodeFromFileName ($filename, $prefix= 'Language', $suffix= '.php')
 Get the language code from a file name. More...
 
static getFallbackFor ($code)
 Get the first fallback for a given language. More...
 
static getFallbacksFor ($code)
 Get the ordered list of fallback languages. More...
 
static getFallbacksIncludingSiteLanguage ($code)
 Get the ordered list of fallback languages, ending with the fallback language chain for the site language. More...
 
static getFileName ($prefix= 'Language', $code, $suffix= '.php')
 Get the name of a file for a certain language code. More...
 
static getJsonMessagesFileName ($code)
 
static getLocalisationCache ()
 Get the LocalisationCache instance. More...
 
static getMessageFor ($key, $code)
 Get a message for a given language. More...
 
static getMessageKeysFor ($code)
 Get all message keys for a given language. More...
 
static getMessagesFileName ($code)
 
static getMessagesFor ($code)
 Get all messages for a given language WARNING: this may take a long time. More...
 
static hebrewNumeral ($num)
 Hebrew Gematria number formatting up to 9999. More...
 
static isKnownLanguageTag ($tag)
 Returns true if a language code is an IETF tag known to MediaWiki. More...
 
static isSupportedLanguage ($code)
 Checks whether any localisation is available for that language tag in MediaWiki (MessagesXx.php exists). More...
 
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 or *.json. More...
 
static isValidCode ($code)
 Returns true if a language code string is of a valid form, whether or not it exists. More...
 
static isWellFormedLanguageTag ($code, $lenient=false)
 Returns true if a language code string is a well-formed language tag according to RFC 5646. More...
 
static romanNumeral ($num)
 Roman number formatting up to 10000. More...
 

Public Attributes

 $dateFormatStrings = []
 
 $mCode
 
LanguageConverter $mConverter
 
 $mExtendedSpecialPageAliases
 
 $mLoaded = false
 
 $mMagicExtensions = []
 
 $mMagicHookDone = false
 
 $mNamespaceIds
 
 $mParentLanguage = false
 
 $mVariants
 
 $namespaceAliases
 
 $transformData = []
 ReplacementArray object caches. More...
 

Static Public Attributes

static LocalisationCache $dataCache
 
static array $durationIntervals
 
static $mHebrewCalendarMonthGenMsgs
 
static $mHebrewCalendarMonthMsgs
 
static $mHijriCalendarMonthMsgs
 
static $mIranianCalendarMonthMsgs
 
static $mLangObjCache = []
 
static $mMonthAbbrevMsgs
 
static $mMonthGenMsgs
 
static $mMonthMsgs
 
static $mWeekdayAbbrevMsgs
 
static $mWeekdayMsgs
 

Protected Member Functions

 doMagicHook ()
 Run the LanguageGetMagic hook once. More...
 
 handleExplicitPluralForms ($count, array $forms)
 Handles explicit plural forms for Language::convertPlural() More...
 
 msg ($msg)
 Get message object in this language. More...
 
 preConvertPlural ($forms, $count)
 Checks that convertPlural was given an array and pads it to requested amount of forms by copying the last one. More...
 
 removeBadCharFirst ($string)
 Remove bytes that represent an incomplete Unicode character at the start of string (e.g. More...
 
 removeBadCharLast ($string)
 Remove bytes that represent an incomplete Unicode character at the end of string (e.g. More...
 

Static Protected Member Functions

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

Protected Attributes

 $namespaceNames
 

Private Member Functions

 getHumanTimestampInternal (MWTimestamp $ts, MWTimestamp $relativeTo, User $user)
 Convert an MWTimestamp into a pretty human-readable timestamp using the given user preferences and relative base time. More...
 
 internalUserTimeAndDate ($type, $ts, User $user, array $options)
 Internal helper function for userDate(), userTime() and userTimeAndDate() More...
 
 numLink (Title $title, $offset, $limit, array $query, $link, $tooltipMsg, $class)
 Helper function for viewPrevNext() that generates links. More...
 
 truncate_endBracket (&$tag, $tagType, $lastCh, &$openTags)
 truncateHtml() helper function (a) push or pop $tag from $openTags as needed (b) clear $tag value More...
 
 truncate_skip (&$ret, $text, $search, $start, $len=null)
 truncateHtml() helper function like strcspn() but adds the skipped chars to $ret More...
 

Static Private Member Functions

static dateTimeObjFormat (&$dateTimeObj, $ts, $zone, $code)
 Pass through result from $dateTimeObj->format() More...
 
static fetchLanguageNamesUncached ($inLanguage=null, $include= 'mw')
 Uncached helper for fetchLanguageNames. More...
 
static hebrewYearStart ($year)
 This calculates the Hebrew year start, as days since 1 September. More...
 
static strongDirFromContent ($text= '')
 Gets directionality of the first strongly directional codepoint, for embedBidi() More...
 
static tsToHebrew ($ts)
 Converting Gregorian dates to Hebrew dates. More...
 
static tsToHijri ($ts)
 Converting Gregorian dates to Hijri dates. More...
 
static tsToIranian ($ts)
 Algorithm by Roozbeh Pournader and Mohammad Toossi to convert Gregorian dates to Iranian dates. More...
 
static tsToYear ($ts, $cName)
 Algorithm to convert Gregorian dates to Thai solar dates, Minguo dates or Minguo dates. More...
 

Private Attributes

 $mHtmlCode = null
 

Static Private Attributes

static array static array $fallbackLanguageCache = []
 Cache for language fallbacks. More...
 
static $GREG_DAYS = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
 
static $IRANIAN_DAYS = [ 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29 ]
 
static HashBagOStuff null $languageNameCache
 Cache for language names. More...
 
static $lre = "\xE2\x80\xAA"
 Unicode directional formatting characters, for embedBidi() More...
 
static $pdf = "\xE2\x80\xAC"
 
static $rle = "\xE2\x80\xAB"
 
static $strongDirRegex = '/(?:([\x{41}-\x{5a}\x{61}-\x{7a}\x{aa}\x{b5}\x{ba}\x{c0}-\x{d6}\x{d8}-\x{f6}\x{f8}-\x{2b8}\x{2bb}-\x{2c1}\x{2d0}\x{2d1}\x{2e0}-\x{2e4}\x{2ee}\x{370}-\x{373}\x{376}\x{377}\x{37a}-\x{37d}\x{37f}\x{386}\x{388}-\x{38a}\x{38c}\x{38e}-\x{3a1}\x{3a3}-\x{3f5}\x{3f7}-\x{482}\x{48a}-\x{52f}\x{531}-\x{556}\x{559}-\x{55f}\x{561}-\x{587}\x{589}\x{903}-\x{939}\x{93b}\x{93d}-\x{940}\x{949}-\x{94c}\x{94e}-\x{950}\x{958}-\x{961}\x{964}-\x{980}\x{982}\x{983}\x{985}-\x{98c}\x{98f}\x{990}\x{993}-\x{9a8}\x{9aa}-\x{9b0}\x{9b2}\x{9b6}-\x{9b9}\x{9bd}-\x{9c0}\x{9c7}\x{9c8}\x{9cb}\x{9cc}\x{9ce}\x{9d7}\x{9dc}\x{9dd}\x{9df}-\x{9e1}\x{9e6}-\x{9f1}\x{9f4}-\x{9fa}\x{a03}\x{a05}-\x{a0a}\x{a0f}\x{a10}\x{a13}-\x{a28}\x{a2a}-\x{a30}\x{a32}\x{a33}\x{a35}\x{a36}\x{a38}\x{a39}\x{a3e}-\x{a40}\x{a59}-\x{a5c}\x{a5e}\x{a66}-\x{a6f}\x{a72}-\x{a74}\x{a83}\x{a85}-\x{a8d}\x{a8f}-\x{a91}\x{a93}-\x{aa8}\x{aaa}-\x{ab0}\x{ab2}\x{ab3}\x{ab5}-\x{ab9}\x{abd}-\x{ac0}\x{ac9}\x{acb}\x{acc}\x{ad0}\x{ae0}\x{ae1}\x{ae6}-\x{af0}\x{af9}\x{b02}\x{b03}\x{b05}-\x{b0c}\x{b0f}\x{b10}\x{b13}-\x{b28}\x{b2a}-\x{b30}\x{b32}\x{b33}\x{b35}-\x{b39}\x{b3d}\x{b3e}\x{b40}\x{b47}\x{b48}\x{b4b}\x{b4c}\x{b57}\x{b5c}\x{b5d}\x{b5f}-\x{b61}\x{b66}-\x{b77}\x{b83}\x{b85}-\x{b8a}\x{b8e}-\x{b90}\x{b92}-\x{b95}\x{b99}\x{b9a}\x{b9c}\x{b9e}\x{b9f}\x{ba3}\x{ba4}\x{ba8}-\x{baa}\x{bae}-\x{bb9}\x{bbe}\x{bbf}\x{bc1}\x{bc2}\x{bc6}-\x{bc8}\x{bca}-\x{bcc}\x{bd0}\x{bd7}\x{be6}-\x{bf2}\x{c01}-\x{c03}\x{c05}-\x{c0c}\x{c0e}-\x{c10}\x{c12}-\x{c28}\x{c2a}-\x{c39}\x{c3d}\x{c41}-\x{c44}\x{c58}-\x{c5a}\x{c60}\x{c61}\x{c66}-\x{c6f}\x{c7f}\x{c82}\x{c83}\x{c85}-\x{c8c}\x{c8e}-\x{c90}\x{c92}-\x{ca8}\x{caa}-\x{cb3}\x{cb5}-\x{cb9}\x{cbd}-\x{cc4}\x{cc6}-\x{cc8}\x{cca}\x{ccb}\x{cd5}\x{cd6}\x{cde}\x{ce0}\x{ce1}\x{ce6}-\x{cef}\x{cf1}\x{cf2}\x{d02}\x{d03}\x{d05}-\x{d0c}\x{d0e}-\x{d10}\x{d12}-\x{d3a}\x{d3d}-\x{d40}\x{d46}-\x{d48}\x{d4a}-\x{d4c}\x{d4e}\x{d57}\x{d5f}-\x{d61}\x{d66}-\x{d75}\x{d79}-\x{d7f}\x{d82}\x{d83}\x{d85}-\x{d96}\x{d9a}-\x{db1}\x{db3}-\x{dbb}\x{dbd}\x{dc0}-\x{dc6}\x{dcf}-\x{dd1}\x{dd8}-\x{ddf}\x{de6}-\x{def}\x{df2}-\x{df4}\x{e01}-\x{e30}\x{e32}\x{e33}\x{e40}-\x{e46}\x{e4f}-\x{e5b}\x{e81}\x{e82}\x{e84}\x{e87}\x{e88}\x{e8a}\x{e8d}\x{e94}-\x{e97}\x{e99}-\x{e9f}\x{ea1}-\x{ea3}\x{ea5}\x{ea7}\x{eaa}\x{eab}\x{ead}-\x{eb0}\x{eb2}\x{eb3}\x{ebd}\x{ec0}-\x{ec4}\x{ec6}\x{ed0}-\x{ed9}\x{edc}-\x{edf}\x{f00}-\x{f17}\x{f1a}-\x{f34}\x{f36}\x{f38}\x{f3e}-\x{f47}\x{f49}-\x{f6c}\x{f7f}\x{f85}\x{f88}-\x{f8c}\x{fbe}-\x{fc5}\x{fc7}-\x{fcc}\x{fce}-\x{fda}\x{1000}-\x{102c}\x{1031}\x{1038}\x{103b}\x{103c}\x{103f}-\x{1057}\x{105a}-\x{105d}\x{1061}-\x{1070}\x{1075}-\x{1081}\x{1083}\x{1084}\x{1087}-\x{108c}\x{108e}-\x{109c}\x{109e}-\x{10c5}\x{10c7}\x{10cd}\x{10d0}-\x{1248}\x{124a}-\x{124d}\x{1250}-\x{1256}\x{1258}\x{125a}-\x{125d}\x{1260}-\x{1288}\x{128a}-\x{128d}\x{1290}-\x{12b0}\x{12b2}-\x{12b5}\x{12b8}-\x{12be}\x{12c0}\x{12c2}-\x{12c5}\x{12c8}-\x{12d6}\x{12d8}-\x{1310}\x{1312}-\x{1315}\x{1318}-\x{135a}\x{1360}-\x{137c}\x{1380}-\x{138f}\x{13a0}-\x{13f5}\x{13f8}-\x{13fd}\x{1401}-\x{167f}\x{1681}-\x{169a}\x{16a0}-\x{16f8}\x{1700}-\x{170c}\x{170e}-\x{1711}\x{1720}-\x{1731}\x{1735}\x{1736}\x{1740}-\x{1751}\x{1760}-\x{176c}\x{176e}-\x{1770}\x{1780}-\x{17b3}\x{17b6}\x{17be}-\x{17c5}\x{17c7}\x{17c8}\x{17d4}-\x{17da}\x{17dc}\x{17e0}-\x{17e9}\x{1810}-\x{1819}\x{1820}-\x{1877}\x{1880}-\x{18a8}\x{18aa}\x{18b0}-\x{18f5}\x{1900}-\x{191e}\x{1923}-\x{1926}\x{1929}-\x{192b}\x{1930}\x{1931}\x{1933}-\x{1938}\x{1946}-\x{196d}\x{1970}-\x{1974}\x{1980}-\x{19ab}\x{19b0}-\x{19c9}\x{19d0}-\x{19da}\x{1a00}-\x{1a16}\x{1a19}\x{1a1a}\x{1a1e}-\x{1a55}\x{1a57}\x{1a61}\x{1a63}\x{1a64}\x{1a6d}-\x{1a72}\x{1a80}-\x{1a89}\x{1a90}-\x{1a99}\x{1aa0}-\x{1aad}\x{1b04}-\x{1b33}\x{1b35}\x{1b3b}\x{1b3d}-\x{1b41}\x{1b43}-\x{1b4b}\x{1b50}-\x{1b6a}\x{1b74}-\x{1b7c}\x{1b82}-\x{1ba1}\x{1ba6}\x{1ba7}\x{1baa}\x{1bae}-\x{1be5}\x{1be7}\x{1bea}-\x{1bec}\x{1bee}\x{1bf2}\x{1bf3}\x{1bfc}-\x{1c2b}\x{1c34}\x{1c35}\x{1c3b}-\x{1c49}\x{1c4d}-\x{1c7f}\x{1cc0}-\x{1cc7}\x{1cd3}\x{1ce1}\x{1ce9}-\x{1cec}\x{1cee}-\x{1cf3}\x{1cf5}\x{1cf6}\x{1d00}-\x{1dbf}\x{1e00}-\x{1f15}\x{1f18}-\x{1f1d}\x{1f20}-\x{1f45}\x{1f48}-\x{1f4d}\x{1f50}-\x{1f57}\x{1f59}\x{1f5b}\x{1f5d}\x{1f5f}-\x{1f7d}\x{1f80}-\x{1fb4}\x{1fb6}-\x{1fbc}\x{1fbe}\x{1fc2}-\x{1fc4}\x{1fc6}-\x{1fcc}\x{1fd0}-\x{1fd3}\x{1fd6}-\x{1fdb}\x{1fe0}-\x{1fec}\x{1ff2}-\x{1ff4}\x{1ff6}-\x{1ffc}\x{200e}\x{2071}\x{207f}\x{2090}-\x{209c}\x{2102}\x{2107}\x{210a}-\x{2113}\x{2115}\x{2119}-\x{211d}\x{2124}\x{2126}\x{2128}\x{212a}-\x{212d}\x{212f}-\x{2139}\x{213c}-\x{213f}\x{2145}-\x{2149}\x{214e}\x{214f}\x{2160}-\x{2188}\x{2336}-\x{237a}\x{2395}\x{249c}-\x{24e9}\x{26ac}\x{2800}-\x{28ff}\x{2c00}-\x{2c2e}\x{2c30}-\x{2c5e}\x{2c60}-\x{2ce4}\x{2ceb}-\x{2cee}\x{2cf2}\x{2cf3}\x{2d00}-\x{2d25}\x{2d27}\x{2d2d}\x{2d30}-\x{2d67}\x{2d6f}\x{2d70}\x{2d80}-\x{2d96}\x{2da0}-\x{2da6}\x{2da8}-\x{2dae}\x{2db0}-\x{2db6}\x{2db8}-\x{2dbe}\x{2dc0}-\x{2dc6}\x{2dc8}-\x{2dce}\x{2dd0}-\x{2dd6}\x{2dd8}-\x{2dde}\x{3005}-\x{3007}\x{3021}-\x{3029}\x{302e}\x{302f}\x{3031}-\x{3035}\x{3038}-\x{303c}\x{3041}-\x{3096}\x{309d}-\x{309f}\x{30a1}-\x{30fa}\x{30fc}-\x{30ff}\x{3105}-\x{312d}\x{3131}-\x{318e}\x{3190}-\x{31ba}\x{31f0}-\x{321c}\x{3220}-\x{324f}\x{3260}-\x{327b}\x{327f}-\x{32b0}\x{32c0}-\x{32cb}\x{32d0}-\x{32fe}\x{3300}-\x{3376}\x{337b}-\x{33dd}\x{33e0}-\x{33fe}\x{3400}-\x{4db5}\x{4e00}-\x{9fd5}\x{a000}-\x{a48c}\x{a4d0}-\x{a60c}\x{a610}-\x{a62b}\x{a640}-\x{a66e}\x{a680}-\x{a69d}\x{a6a0}-\x{a6ef}\x{a6f2}-\x{a6f7}\x{a722}-\x{a787}\x{a789}-\x{a7ad}\x{a7b0}-\x{a7b7}\x{a7f7}-\x{a801}\x{a803}-\x{a805}\x{a807}-\x{a80a}\x{a80c}-\x{a824}\x{a827}\x{a830}-\x{a837}\x{a840}-\x{a873}\x{a880}-\x{a8c3}\x{a8ce}-\x{a8d9}\x{a8f2}-\x{a8fd}\x{a900}-\x{a925}\x{a92e}-\x{a946}\x{a952}\x{a953}\x{a95f}-\x{a97c}\x{a983}-\x{a9b2}\x{a9b4}\x{a9b5}\x{a9ba}\x{a9bb}\x{a9bd}-\x{a9cd}\x{a9cf}-\x{a9d9}\x{a9de}-\x{a9e4}\x{a9e6}-\x{a9fe}\x{aa00}-\x{aa28}\x{aa2f}\x{aa30}\x{aa33}\x{aa34}\x{aa40}-\x{aa42}\x{aa44}-\x{aa4b}\x{aa4d}\x{aa50}-\x{aa59}\x{aa5c}-\x{aa7b}\x{aa7d}-\x{aaaf}\x{aab1}\x{aab5}\x{aab6}\x{aab9}-\x{aabd}\x{aac0}\x{aac2}\x{aadb}-\x{aaeb}\x{aaee}-\x{aaf5}\x{ab01}-\x{ab06}\x{ab09}-\x{ab0e}\x{ab11}-\x{ab16}\x{ab20}-\x{ab26}\x{ab28}-\x{ab2e}\x{ab30}-\x{ab65}\x{ab70}-\x{abe4}\x{abe6}\x{abe7}\x{abe9}-\x{abec}\x{abf0}-\x{abf9}\x{ac00}-\x{d7a3}\x{d7b0}-\x{d7c6}\x{d7cb}-\x{d7fb}\x{e000}-\x{fa6d}\x{fa70}-\x{fad9}\x{fb00}-\x{fb06}\x{fb13}-\x{fb17}\x{ff21}-\x{ff3a}\x{ff41}-\x{ff5a}\x{ff66}-\x{ffbe}\x{ffc2}-\x{ffc7}\x{ffca}-\x{ffcf}\x{ffd2}-\x{ffd7}\x{ffda}-\x{ffdc}\x{10000}-\x{1000b}\x{1000d}-\x{10026}\x{10028}-\x{1003a}\x{1003c}\x{1003d}\x{1003f}-\x{1004d}\x{10050}-\x{1005d}\x{10080}-\x{100fa}\x{10100}\x{10102}\x{10107}-\x{10133}\x{10137}-\x{1013f}\x{101d0}-\x{101fc}\x{10280}-\x{1029c}\x{102a0}-\x{102d0}\x{10300}-\x{10323}\x{10330}-\x{1034a}\x{10350}-\x{10375}\x{10380}-\x{1039d}\x{1039f}-\x{103c3}\x{103c8}-\x{103d5}\x{10400}-\x{1049d}\x{104a0}-\x{104a9}\x{10500}-\x{10527}\x{10530}-\x{10563}\x{1056f}\x{10600}-\x{10736}\x{10740}-\x{10755}\x{10760}-\x{10767}\x{11000}\x{11002}-\x{11037}\x{11047}-\x{1104d}\x{11066}-\x{1106f}\x{11082}-\x{110b2}\x{110b7}\x{110b8}\x{110bb}-\x{110c1}\x{110d0}-\x{110e8}\x{110f0}-\x{110f9}\x{11103}-\x{11126}\x{1112c}\x{11136}-\x{11143}\x{11150}-\x{11172}\x{11174}-\x{11176}\x{11182}-\x{111b5}\x{111bf}-\x{111c9}\x{111cd}\x{111d0}-\x{111df}\x{111e1}-\x{111f4}\x{11200}-\x{11211}\x{11213}-\x{1122e}\x{11232}\x{11233}\x{11235}\x{11238}-\x{1123d}\x{11280}-\x{11286}\x{11288}\x{1128a}-\x{1128d}\x{1128f}-\x{1129d}\x{1129f}-\x{112a9}\x{112b0}-\x{112de}\x{112e0}-\x{112e2}\x{112f0}-\x{112f9}\x{11302}\x{11303}\x{11305}-\x{1130c}\x{1130f}\x{11310}\x{11313}-\x{11328}\x{1132a}-\x{11330}\x{11332}\x{11333}\x{11335}-\x{11339}\x{1133d}-\x{1133f}\x{11341}-\x{11344}\x{11347}\x{11348}\x{1134b}-\x{1134d}\x{11350}\x{11357}\x{1135d}-\x{11363}\x{11480}-\x{114b2}\x{114b9}\x{114bb}-\x{114be}\x{114c1}\x{114c4}-\x{114c7}\x{114d0}-\x{114d9}\x{11580}-\x{115b1}\x{115b8}-\x{115bb}\x{115be}\x{115c1}-\x{115db}\x{11600}-\x{11632}\x{1163b}\x{1163c}\x{1163e}\x{11641}-\x{11644}\x{11650}-\x{11659}\x{11680}-\x{116aa}\x{116ac}\x{116ae}\x{116af}\x{116b6}\x{116c0}-\x{116c9}\x{11700}-\x{11719}\x{11720}\x{11721}\x{11726}\x{11730}-\x{1173f}\x{118a0}-\x{118f2}\x{118ff}\x{11ac0}-\x{11af8}\x{12000}-\x{12399}\x{12400}-\x{1246e}\x{12470}-\x{12474}\x{12480}-\x{12543}\x{13000}-\x{1342e}\x{14400}-\x{14646}\x{16800}-\x{16a38}\x{16a40}-\x{16a5e}\x{16a60}-\x{16a69}\x{16a6e}\x{16a6f}\x{16ad0}-\x{16aed}\x{16af5}\x{16b00}-\x{16b2f}\x{16b37}-\x{16b45}\x{16b50}-\x{16b59}\x{16b5b}-\x{16b61}\x{16b63}-\x{16b77}\x{16b7d}-\x{16b8f}\x{16f00}-\x{16f44}\x{16f50}-\x{16f7e}\x{16f93}-\x{16f9f}\x{1b000}\x{1b001}\x{1bc00}-\x{1bc6a}\x{1bc70}-\x{1bc7c}\x{1bc80}-\x{1bc88}\x{1bc90}-\x{1bc99}\x{1bc9c}\x{1bc9f}\x{1d000}-\x{1d0f5}\x{1d100}-\x{1d126}\x{1d129}-\x{1d166}\x{1d16a}-\x{1d172}\x{1d183}\x{1d184}\x{1d18c}-\x{1d1a9}\x{1d1ae}-\x{1d1e8}\x{1d360}-\x{1d371}\x{1d400}-\x{1d454}\x{1d456}-\x{1d49c}\x{1d49e}\x{1d49f}\x{1d4a2}\x{1d4a5}\x{1d4a6}\x{1d4a9}-\x{1d4ac}\x{1d4ae}-\x{1d4b9}\x{1d4bb}\x{1d4bd}-\x{1d4c3}\x{1d4c5}-\x{1d505}\x{1d507}-\x{1d50a}\x{1d50d}-\x{1d514}\x{1d516}-\x{1d51c}\x{1d51e}-\x{1d539}\x{1d53b}-\x{1d53e}\x{1d540}-\x{1d544}\x{1d546}\x{1d54a}-\x{1d550}\x{1d552}-\x{1d6a5}\x{1d6a8}-\x{1d6da}\x{1d6dc}-\x{1d714}\x{1d716}-\x{1d74e}\x{1d750}-\x{1d788}\x{1d78a}-\x{1d7c2}\x{1d7c4}-\x{1d7cb}\x{1d800}-\x{1d9ff}\x{1da37}-\x{1da3a}\x{1da6d}-\x{1da74}\x{1da76}-\x{1da83}\x{1da85}-\x{1da8b}\x{1f110}-\x{1f12e}\x{1f130}-\x{1f169}\x{1f170}-\x{1f19a}\x{1f1e6}-\x{1f202}\x{1f210}-\x{1f23a}\x{1f240}-\x{1f248}\x{1f250}\x{1f251}\x{20000}-\x{2a6d6}\x{2a700}-\x{2b734}\x{2b740}-\x{2b81d}\x{2b820}-\x{2cea1}\x{2f800}-\x{2fa1d}\x{f0000}-\x{ffffd}\x{100000}-\x{10fffd}])|([\x{590}\x{5be}\x{5c0}\x{5c3}\x{5c6}\x{5c8}-\x{5ff}\x{7c0}-\x{7ea}\x{7f4}\x{7f5}\x{7fa}-\x{815}\x{81a}\x{824}\x{828}\x{82e}-\x{858}\x{85c}-\x{89f}\x{200f}\x{fb1d}\x{fb1f}-\x{fb28}\x{fb2a}-\x{fb4f}\x{10800}-\x{1091e}\x{10920}-\x{10a00}\x{10a04}\x{10a07}-\x{10a0b}\x{10a10}-\x{10a37}\x{10a3b}-\x{10a3e}\x{10a40}-\x{10ae4}\x{10ae7}-\x{10b38}\x{10b40}-\x{10e5f}\x{10e7f}-\x{10fff}\x{1e800}-\x{1e8cf}\x{1e8d7}-\x{1edff}\x{1ef00}-\x{1efff}\x{608}\x{60b}\x{60d}\x{61b}-\x{64a}\x{66d}-\x{66f}\x{671}-\x{6d5}\x{6e5}\x{6e6}\x{6ee}\x{6ef}\x{6fa}-\x{710}\x{712}-\x{72f}\x{74b}-\x{7a5}\x{7b1}-\x{7bf}\x{8a0}-\x{8e2}\x{fb50}-\x{fd3d}\x{fd40}-\x{fdcf}\x{fdf0}-\x{fdfc}\x{fdfe}\x{fdff}\x{fe70}-\x{fefe}\x{1ee00}-\x{1eeef}\x{1eef2}-\x{1eeff}]))/u'
 Directionality test regex for embedBidi(). More...
 

Detailed Description

Internationalisation code.

Definition at line 39 of file Language.php.

Constructor & Destructor Documentation

Language::__construct ( )

Definition at line 411 of file Language.php.

Language::__destruct ( )

Reduce memory usage.

Definition at line 425 of file Language.php.

References $name, $value, and as.

Member Function Documentation

Language::addMagicWordsByLang (   $newWords)

Add magic words to the extension array.

Parameters
array$newWords

Definition at line 3187 of file Language.php.

References $code, $mMagicExtensions, as, and getFallbackLanguages().

Language::alignEnd ( )

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

References isRTL().

Language::alignStart ( )

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

References isRTL().

Language::autoConvertToAllVariants (   $text)

convert text to all supported variants

Parameters
string$text
Returns
array

Definition at line 3972 of file Language.php.

Language::capitalizeAllNouns ( )
Returns
array

Definition at line 3100 of file Language.php.

Language::caseFold (   $s)

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
string$s
Returns
string

Definition at line 2767 of file Language.php.

References $s, and uc().

Language::checkTitleEncoding (   $s)
Parameters
string$s
Returns
string
Exceptions
MWException

Definition at line 2776 of file Language.php.

References $s, fallback8bitEncoding(), iconv(), and StringUtils\isUtf8().

static Language::classFromCode (   $code)
static
Parameters
string$code
Returns
string Name of the language class

Definition at line 4251 of file Language.php.

References $code, and ucfirst().

Language::commafy (   $number)

Adds commas to a given number.

Since
1.19
Parameters
mixed$number
Returns
string

Definition at line 3308 of file Language.php.

References $digitGroupingPattern, $matches, and digitGroupingPattern().

Referenced by formatNum().

Language::commaList ( array  $list)

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

Parameters
string[]$list Array of strings to put in a comma list
Returns
string

Definition at line 3416 of file Language.php.

References wfMessage().

Language::convert (   $text)

convert text to different variants of a language.

Parameters
string$text
Returns
string

Definition at line 3982 of file Language.php.

Referenced by convertHtml().

Language::convertCategoryKey (   $key)
Parameters
string$key
Returns
string

Definition at line 4041 of file Language.php.

References $key.

static Language::convertDoubleWidth (   $string)
staticprotected

convert double-width roman characters to single-width.

range: ff00-ff5f ~= 0020-007f

Parameters
string$string
Returns
string

Definition at line 2836 of file Language.php.

Language::convertForSearchResult (   $termsArray)
Parameters
array$termsArray
Returns
array

Definition at line 2866 of file Language.php.

Language::convertGrammar (   $word,
  $case 
)

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

Parameters
string$word
string$case
Returns
string

Definition at line 3729 of file Language.php.

References $wgGrammarForms, getCode(), and global.

Referenced by replaceGrammarInNamespace().

Language::convertHtml (   $text,
  $isTitle = false 
)

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

Parameters
string$textText to be converted
bool$isTitleWhether this conversion is for the article title
Returns
string
Todo:
this should get integrated somewhere sane

Definition at line 4033 of file Language.php.

References convert().

Language::convertNamespace (   $ns)

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

Parameters
int$ns
Returns
string

Definition at line 4002 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
int$countNon-localized number
array$formsDifferent plural forms
Returns
string Correct form of plural for $count in this language

Definition at line 3800 of file Language.php.

References $count, getPluralRuleIndexNumber(), and handleExplicitPluralForms().

Language::convertTitle (   $title)

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

Parameters
Title$title
Returns
string

Definition at line 3992 of file Language.php.

References $title.

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

Definition at line 2215 of file Language.php.

References dateFormat(), getDateFormatString(), sprintfDate(), TS_MW, userAdjust(), and wfTimestamp().

Referenced by LanguageFi\translateBlockExpiry(), and userAdjust().

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
int | string | bool$usePrefsIf 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 2150 of file Language.php.

References $wgUser, User\getDefaultOption(), global, and string.

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

static Language::dateTimeObjFormat ( $dateTimeObj,
  $ts,
  $zone,
  $code 
)
staticprivate

Pass through result from $dateTimeObj->format()

Parameters
DateTime | bool | null&$dateTimeObj
string$ts
DateTimeZone | bool | null$zone
string$code
Returns
string

Definition at line 1014 of file Language.php.

References $code.

Referenced by sprintfDate().

Language::digitGroupingPattern ( )
Returns
string

Definition at line 3360 of file Language.php.

Referenced by commafy().

Language::digitTransformTable ( )
Returns
array

Definition at line 3367 of file Language.php.

Referenced by formatNum(), and parseFormattedNumber().

Language::doMagicHook ( )
protected

Run the LanguageGetMagic hook once.

Definition at line 3148 of file Language.php.

References getCode(), and Hooks\run().

Referenced by getMagic().

Language::embedBidi (   $text = '')

Wraps argument with unicode control characters for directionality safety.

This solves the problem where directionality-neutral characters at the edge of the argument string get interpreted with the wrong directionality from the enclosing context, giving renderings that look corrupted like "(Ben_(WMF".

The wrapping is LRE...PDF or RLE...PDF, depending on the detected directionality of the argument string, using the BIDI algorithm's own "First strong directional codepoint" rule. Essentially, this works round the fact that there is no embedding equivalent of U+2068 FSI (isolation with heuristic direction inference). The latter is cleaner but still not widely supported.

Parameters
string$textText to wrap
Returns
string Text, wrapped in LRE...PDF or RLE...PDF or nothing

Definition at line 3874 of file Language.php.

References $dir, and strongDirFromContent().

Language::emphasize (   $text)

Italic is unsuitable for some languages.

Parameters
string$textThe text to be emphasized.
Returns
string

Definition at line 3221 of file Language.php.

static Language::factory (   $code)
static

Get a cached or new language object for a given language code.

Parameters
string$code
Returns
Language

Definition at line 179 of file Language.php.

References $code, $wgDummyLanguageCodes, $wgLangObjCacheSize, and global.

Referenced by UppercaseCollation\__construct(), CollationCkb\__construct(), CliInstaller\__construct(), IcuCollation\__construct(), ApiErrorFormatter_BackCompat\__construct(), BackupDumperPageTest\addDBData(), PasswordPolicyChecks\checkPopularPasswordBlacklist(), ApiLogout\execute(), ApiQueryAllMessages\execute(), DateFormats\execute(), ListVariants\execute(), LangMemUsage\execute(), PurgeParserCache\execute(), GenerateCommonPassword\execute(), ApiLogin\execute(), UpdateMediaWiki\execute(), ParserTest\fuzzTest(), ResourceLoaderLanguageDataModule\getData(), DerivativeResourceLoaderContext\getDirection(), ResourceLoaderContext\getDirection(), MWGrants\getGrantsWikiText(), RequestContext\getLanguage(), ResourceLoaderEditToolbarModule\getLessVars(), ContentHandler\getPageViewLanguage(), Title\getPageViewLanguage(), getParentLanguage(), MWGrants\grantName(), MWGrants\grantNames(), Message\inLanguage(), Status\languageFromParam(), MediaWikiTitleCodecTest\makeCodec(), LoginSignupSpecialPage\makeLanguageSelectorLink(), MediaWiki\Auth\AuthManagerTest\message(), MessageCache\parse(), MessageTest\provideConstructor(), ParserTest\runTestsFromFiles(), MediaWikiTestCase\setContentLang(), DerivativeContext\setLanguage(), RequestContext\setLanguage(), LoginSignupSpecialPage\setSessionUserForCurrentRequest(), HtmlTest\setUp(), RevisionTest\setUp(), XmlTest\setUp(), TestSample\setUp(), LanguageConverterTest\setUp(), SpecialPageTest\setUp(), ExtraParserTest\setUp(), NaiveImportTitleFactoryTest\setUp(), NamespaceImportTitleFactoryTest\setUp(), SubpageImportTitleFactoryTest\setUp(), MediaWikiPageLinkRendererTest\setUp(), MagicVariableTest\setUp(), SideBarTest\setUp(), LanguageClassesTestCase\setUp(), NewParserTest\setUp(), ParserTest\setUp(), NewParserTest\setupGlobals(), ParserTest\setupGlobals(), WebInstaller\setupLanguage(), ParserOptions\setUserLang(), MessageTest\testBitrateParams(), MessageTest\testConstructorLanguage(), MediaWiki\Session\SessionProviderTest\testDescribe(), MessageTest\testDurationParams(), ApiErrorFormatterTest\testErrorFormatter(), MessageTest\testExpiryParams(), ContentHandlerTest\testGetAutosummary(), SpecialPageFactoryTest\testGetLocalNameFor(), LanguageTest\testGetNamespaceAliases(), MediaWikiPageLinkRendererTest\testGetPageUrl(), LanguageTest\testGetParentLanguage(), LanguageConverterTest\testGetPreferredVariantDefaultLanguageVsUrlVariant(), LanguageConverterTest\testGetPreferredVariantHeaderUserVsUrl(), LanguageConverterTest\testGetPreferredVariantUserOptionForForeignLanguage(), SpecialPageFactoryTest\testGetTitleForAlias(), MessageTest\testInLanguage(), ApiResultTest\testInstanceDataMethods(), MessageTest\testNumParams(), LanguageTest\testParseFormattedNumber(), MessageTest\testPlaintextParams(), MediaWikiPageLinkRendererTest\testRenderHtmlLink(), SpecialPageTest\testRequireLoginAnon(), SpecialPageFactoryTest\testResolveAlias(), SpecialSearchTest\testRewriteQueryWithSuggestion(), MediaWiki\Auth\AuthManagerTest\testSetDefaultUserOptions(), MessageTest\testSizeParams(), MessageTest\testTimeperiodParams(), Message\unserialize(), and wfInstallerMain().

Language::fallback8bitEncoding ( )
Returns
array

Definition at line 2790 of file Language.php.

Referenced by checkTitleEncoding().

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

Definition at line 886 of file Language.php.

References $code.

Referenced by ImagePage\doRenderLangOpt(), ApiQueryLangLinks\execute(), MessageCache\figureMessage(), ApiParse\formatLangLinks(), SkinTemplate\getLanguages(), PageLangLogFormatter\getMessageParameters(), WikiStatsOutput\heading(), FormatMetadata\langItem(), CoreParserFunctions\language(), FormatMetadata\makeFormattedData(), WikitextContentHandler\makeRedirectContent(), and InfoAction\pageInfo().

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

Get an array of language names, indexed by code.

Parameters
null | string$inLanguageCode of language in which to return the names Use null for autonyms (native names)
string$includeOne of: '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 798 of file Language.php.

Referenced by Languages\__construct(), LanguageConverter\__construct(), ApiQuerySiteinfo\appendInterwikiMap(), ApiQuerySiteinfo\appendLanguages(), MessageCache\clear(), WebInstallerLanguage\execute(), RebuildLocalisationCache\execute(), DeleteEqualMessages\execute(), WebInstaller\getAcceptLanguage(), ResourceLoaderLanguageNamesModule\getData(), SpecialPageLanguage\getFormFields(), WebInstallerLanguage\getLanguageSelector(), Xml\languageSelector(), Preferences\profilePreferences(), MessageCache\replace(), and SpecialPageAliasTest\validSpecialPageAliasesProvider().

static Language::fetchLanguageNamesUncached (   $inLanguage = null,
  $include = 'mw' 
)
staticprivate

Uncached helper for fetchLanguageNames.

Parameters
null | string$inLanguageCode of language in which to return the names Use null for autonyms (native names)
string$includeOne of: '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

Definition at line 823 of file Language.php.

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 The input parameters may be modified upon return

Parameters
string&$linkThe name of the link
Title&$ntThe title object of the link
bool$ignoreOtherCondTo disable other conditions when we need to transclude a template or update a category's link

Definition at line 4088 of file Language.php.

References $link.

Language::firstChar (   $s)

Get the first character of a string.

Parameters
string$s
Returns
string

Definition at line 2878 of file Language.php.

References $code, $matches, $s, and utf8ToCodepoint().

Language::fixVariableInNamespace (   $talk)
Parameters
string$talk
Returns
mixed

Definition at line 4404 of file Language.php.

References $wgMetaNamespace, and global.

Referenced by getNamespaceAliases(), and getNamespaces().

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

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

Parameters
int$bps
Returns
string

Definition at line 4568 of file Language.php.

References formatComputingNumbers().

Language::formatComputingNumbers (   $size,
  $boundary,
  $messageKey 
)
Parameters
int$sizeSize of the unit
int$boundarySize boundary (1000, or 1024 in most cases)
string$messageKeyMessage key to be uesd
Returns
string

Definition at line 4578 of file Language.php.

References formatNum(), and getMessageFromDB().

Referenced by formatBitrate(), and formatSize().

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

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

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

Definition at line 2273 of file Language.php.

References as, getDurationIntervals(), listToText(), and wfMessage().

Referenced by translateBlockExpiry().

Language::formatExpiry (   $expiry,
  $format = true,
  $infinity = 'infinity' 
)

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

Parameters
string$expiryDatabase expiry String
bool | int$formatTrue to process using language functions, or TS_ constant to return the expiry in a given timestamp
string$infinityIf $format is not true, use this string for infinite expiry
Returns
string
Since
1.18

Definition at line 4439 of file Language.php.

References DB_SLAVE, getMessageFromDB(), timeanddate(), wfGetDB(), and wfTimestamp().

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 Bengali (bn) 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 $separatorTransformTable on MessageIs.php for the , => . and . => , implementation.

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

Definition at line 3247 of file Language.php.

References $s, $wgTranslateNumerals, commafy(), digitTransformTable(), global, and separatorTransformTable().

Referenced by formatComputingNumbers(), formatNumNoSeparators(), formatTimePeriod(), sprintfDate(), and viewPrevNext().

Language::formatNumNoSeparators (   $number)

Front-end for non-commafied formatNum.

Parameters
int | float$numberThe string to be formatted, should be an integer or a floating point number.
Since
1.21
Returns
string

Definition at line 3275 of file Language.php.

References formatNum().

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
int$sizeSize to format
Returns
string Plain text (not HTML)

Definition at line 4616 of file Language.php.

References formatComputingNumbers().

Language::formatTimePeriod (   $seconds,
  $format = [] 
)
Todo:
Document
Parameters
int | float$seconds
array$formatOptional 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 4468 of file Language.php.

References $s, formatNum(), and wfMessage().

Language::gender (   $gender,
  $forms 
)

Provides an alternative text depending on specified gender.

Usage {{gender:username|masculine|feminine|unknown}}. 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 three forms are given, the default is to use the third (unknown) form. If fewer than three forms are given, the default is to use the first (masculine) form. These details can be overridden in subclasses.

Parameters
string$gender
array$forms
Returns
string

Definition at line 3771 of file Language.php.

References preConvertPlural().

Language::getAllMessages ( )
Returns
array

Definition at line 2567 of file Language.php.

Language::getArrow (   $direction = 'forwards')

An arrow, depending on the language direction.

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

Definition at line 3111 of file Language.php.

References isRTL().

Language::getBookstoreList ( )

Exports $wgBookstoreListEn.

Returns
array

Definition at line 450 of file Language.php.

Language::getCode ( )

Get the internal language 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 4199 of file Language.php.

References $mCode.

Referenced by LanguageHu\convertGrammar(), convertGrammar(), doMagicHook(), getGrammarForms(), getHtmlCode(), getParentLanguage(), and getSpecialPageAliases().

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

Get the language code from a file name.

Inverse of getFileName()

Parameters
string$filename$prefix . $languageCode . $suffix
string$prefixPrefix before the language code
string$suffixSuffix after the language code
Returns
string Language code, or false if $prefix or $suffix isn't found

Definition at line 4237 of file Language.php.

Language::getCompiledPluralRules ( )

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

References as, and getFallbacksFor().

Referenced by getPluralRuleIndexNumber().

Language::getConverter ( )

Return the LanguageConverter used in the Language.

Since
1.19
Returns
LanguageConverter

Definition at line 3962 of file Language.php.

References $mConverter.

Referenced by getNamespaceAliases().

Language::getConvRuleTitle ( )

Get the conversion rule title, if any.

Returns
string

Definition at line 4714 of file Language.php.

Language::getDateFormats ( )
Returns
array

Definition at line 732 of file Language.php.

Language::getDateFormatString (   $type,
  $pref 
)

Get a format string for a given type and preference.

Parameters
string$typeMay be 'date', 'time', 'both', or 'pretty'.
string$prefThe format name as it appears in Messages*.php under $datePreferences.
Since
1.22 New type 'pretty' that provides a more readable timestamp format
Returns
string

Definition at line 2181 of file Language.php.

References $type, and getDefaultDateFormat().

Referenced by date(), getHumanTimestampInternal(), internalUserTimeAndDate(), time(), and timeanddate().

Language::getDatePreferenceMigrationMap ( )
Returns
array

Definition at line 752 of file Language.php.

Language::getDatePreferences ( )
Returns
array

Definition at line 725 of file Language.php.

Language::getDefaultDateFormat ( )
Returns
array|string

Definition at line 739 of file Language.php.

Referenced by getDateFormatString().

Language::getDefaultVariant ( )
Returns
string

Definition at line 4065 of file Language.php.

Language::getDir ( )

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

Returns
string

Definition at line 3032 of file Language.php.

References isRTL().

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
bool$oppositeGet the direction mark opposite to your language
Returns
string

Definition at line 3088 of file Language.php.

References isRTL().

Referenced by specialList().

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
bool$oppositeGet the direction mark opposite to your language
Returns
string
Since
1.20

Definition at line 3071 of file Language.php.

References isRTL().

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

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
int$secondsThe amount of seconds.
array$chosenIntervalsThe intervals to enable.
Returns
array

Definition at line 2299 of file Language.php.

References $name, $value, and as.

Referenced by LanguageZh_hans\formatDuration(), and formatDuration().

Language::getExtraHashOptions ( )

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

Returns
string

Definition at line 4098 of file Language.php.

Language::getExtraUserToggles ( )
Returns
array

Definition at line 775 of file Language.php.

static Language::getFallbackFor (   $code)
static

Get the first fallback for a given language.

Parameters
string$code
Returns
bool|string

Definition at line 4309 of file Language.php.

References $code.

Language::getFallbackLanguages ( )
Returns
array
Since
1.19

Definition at line 442 of file Language.php.

Referenced by addMagicWordsByLang().

static Language::getFallbacksFor (   $code)
static

Get the ordered list of fallback languages.

Since
1.19
Parameters
string$codeLanguage code
Returns
array Non-empty array, ending in "en"

Definition at line 4324 of file Language.php.

References $code, and isValidBuiltInCode().

Referenced by getCompiledPluralRules(), ResourceLoaderFileModule\getLanguageScripts(), MessageCache\getMessageForLang(), getPluralRules(), getPluralRuleTypes(), and newFromCode().

static Language::getFallbacksIncludingSiteLanguage (   $code)
static

Get the ordered list of fallback languages, ending with the fallback language chain for the site language.

Since
1.22
Parameters
string$codeLanguage code
Returns
array Array( fallbacks, site fallbacks )

Definition at line 4341 of file Language.php.

References $code, $wgLanguageCode, and global.

Referenced by FormatMetadata\getPriorityLanguages().

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

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

Parameters
string$prefixPrepend this to the filename
string$codeLanguage code
string$suffixAppend this to the filename
Exceptions
MWException
Returns
string $prefix . $mangledCode . $suffix

Definition at line 4267 of file Language.php.

References $code, and ucfirst().

Language::getFormattedNamespaces ( )

A convenience function that returns getNamespaces() with spaces instead of underscores in values.

Useful for producing output to be displayed e.g. in <select> forms.

Returns
array

Definition at line 519 of file Language.php.

References as, and getNamespaces().

Language::getFormattedNsText (   $index)

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

References getNsText().

Language::getGenderNsText (   $index,
  $gender 
)

Returns gender-dependent namespace alias if available.

See https://www.mediawiki.org/wiki/Manual:$wgExtraGenderNamespaces

Parameters
int$indexNamespace index
string$genderGender key (male, female... )
Returns
string
Since
1.18

Definition at line 569 of file Language.php.

References $wgExtraGenderNamespaces, array(), getNsText(), and global.

Language::getGrammarForms ( )

Get the grammar forms for the content language.

Returns
array Array of grammar forms
Since
1.20

Definition at line 3742 of file Language.php.

References $wgGrammarForms, getCode(), and global.

Language::getHebrewCalendarMonthName (   $key)
Parameters
string$key
Returns
string

Definition at line 986 of file Language.php.

References $key, and getMessageFromDB().

Referenced by sprintfDate().

Language::getHebrewCalendarMonthNameGen (   $key)
Parameters
string$key
Returns
string

Definition at line 994 of file Language.php.

References $key, and getMessageFromDB().

Referenced by sprintfDate().

Language::getHijriCalendarMonthName (   $key)
Parameters
string$key
Returns
string

Definition at line 1002 of file Language.php.

References $key, and getMessageFromDB().

Referenced by sprintfDate().

Language::getHtmlCode ( )

Get the code in BCP 47 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 4213 of file Language.php.

References $mHtmlCode, getCode(), and wfBCP47().

Language::getHumanTimestamp ( MWTimestamp  $time,
MWTimestamp  $relativeTo = null,
User  $user = null 
)

Get the timestamp in a human-friendly relative format, e.g., "3 days ago".

Determine the difference between the timestamp and the current time, and generate a readable timestamp by returning "<N> <units> ago", where the largest possible unit is used.

Since
1.26 (Prior to 1.26 method existed but was not meant to be used directly)
Parameters
MWTimestamp$time
MWTimestamp | null$relativeToThe base timestamp to compare to (defaults to now)
User | null$userUser the timestamp is being generated for (or null to use main context's user)
Returns
string Formatted timestamp

Definition at line 2454 of file Language.php.

References $user, getHumanTimestampInternal(), RequestContext\getMain(), MWTimestamp\offsetForUser(), and Hooks\run().

Language::getHumanTimestampInternal ( MWTimestamp  $ts,
MWTimestamp  $relativeTo,
User  $user 
)
private

Convert an MWTimestamp into a pretty human-readable timestamp using the given user preferences and relative base time.

See also
Language::getHumanTimestamp
Parameters
MWTimestamp$tsTimestamp to prettify
MWTimestamp$relativeToBase timestamp
User$userUser preferences to use
Returns
string Human timestamp
Since
1.26

Definition at line 2491 of file Language.php.

References MWTimestamp\diff(), MWTimestamp\format(), getDateFormatString(), User\getDatePreference(), MWTimestamp\getTimestamp(), sprintfDate(), TS_MW, and wfMessage().

Referenced by getHumanTimestamp().

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

Definition at line 760 of file Language.php.

Language::getImageFiles ( )
Returns
array
Since
1.24

Definition at line 768 of file Language.php.

Language::getIranianCalendarMonthName (   $key)
Parameters
string$key
Returns
string

Definition at line 978 of file Language.php.

References $key, and getMessageFromDB().

Referenced by sprintfDate().

static Language::getJsonMessagesFileName (   $code)
static
Parameters
string$code
Returns
string
Exceptions
MWException
Since
1.23

Definition at line 4292 of file Language.php.

References $code, $IP, and global.

Referenced by Languages\loadFile().

Language::getLocalNsIndex (   $text)

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
string$text
Returns
int|bool An integer if $text is a valid value otherwise false

Definition at line 608 of file Language.php.

References getNamespaceIds(), and lc().

Language::getMagic (   $mw)

Fill a MagicWord object with data from here.

Parameters
MagicWord$mw

Definition at line 3161 of file Language.php.

References doMagicHook(), and wfWarn().

Language::getMagicWords ( )

Get all magic words from cache.

Returns
array

Definition at line 3141 of file Language.php.

Language::getMessage (   $key)
Parameters
string$key
Returns
array|null

Definition at line 2560 of file Language.php.

References $key.

static Language::getMessageFor (   $key,
  $code 
)
static

Get a message for a given language.

Parameters
string$key
string$code
Returns
string

Definition at line 4384 of file Language.php.

References $code, and $key.

Referenced by MessageCache\get().

Language::getMessageFromDB (   $msg)
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
string$codeLanguage code
Returns
array Array of message keys (strings)

Definition at line 4396 of file Language.php.

References $code.

Referenced by ApiQueryAllMessages\execute(), and UserTest\testAllRightsWithMessage().

static Language::getMessagesFileName (   $code)
static
Parameters
string$code
Returns
string

Definition at line 4279 of file Language.php.

References $code, $IP, global, and Hooks\run().

Referenced by Digit2Html\execute(), SpecialPageAliasTest\getSpecialPageAliases(), Languages\loadFile(), and LocalisationCache\readSourceFilesAndRegisterDeps().

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
string$code
Returns
array

Definition at line 4372 of file Language.php.

References $code.

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

Language::getMonthAbbreviation (   $key)
Parameters
string$key
Returns
string

Definition at line 943 of file Language.php.

References $key, and getMessageFromDB().

Referenced by getMonthAbbreviationsArray(), and sprintfDate().

Language::getMonthAbbreviationsArray ( )
Returns
array

Definition at line 950 of file Language.php.

References getMonthAbbreviation().

Language::getMonthName (   $key)
Parameters
string$key
Returns
string

Definition at line 916 of file Language.php.

References $key, and getMessageFromDB().

Referenced by LanguageWa\date(), getMonthNamesArray(), and sprintfDate().

Language::getMonthNameGen (   $key)
Parameters
string$key
Returns
string

Definition at line 935 of file Language.php.

References $key, and getMessageFromDB().

Referenced by sprintfDate().

Language::getMonthNamesArray ( )
Returns
array

Definition at line 923 of file Language.php.

References getMonthName().

Language::getNamespaceAliases ( )
Language::getNamespaceIds ( )
Returns
array

Definition at line 661 of file Language.php.

References $mNamespaceIds, $name, $wgNamespaceAliases, as, getNamespaceAliases(), getNamespaces(), global, and lc().

Referenced by getLocalNsIndex(), and getNsIndex().

Language::getNamespaces ( )

Returns an array of localised namespaces indexed by their numbers.

If the namespace is not available in localised form, it will be included in English.

Returns
array

Definition at line 460 of file Language.php.

References $key, $namespaceNames, $wgExtraNamespaces, $wgMetaNamespace, $wgMetaNamespaceTalk, as, fixVariableInNamespace(), MWNamespace\getCanonicalNamespaces(), global, NS_PROJECT, NS_PROJECT_TALK, and Hooks\run().

Referenced by getFormattedNamespaces(), getNamespaceAliases(), getNamespaceIds(), and getNsText().

Language::getNsIndex (   $text)

Get a namespace key by value, case insensitive.

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

Parameters
string$text
Returns
int|bool An integer if $text is a valid value otherwise false

Definition at line 691 of file Language.php.

References MWNamespace\getCanonicalIndex(), getNamespaceIds(), and lc().

Language::getNsText (   $index)

Get a namespace value by key.

$mw_ns = $wgContLang->getNsText( NS_MEDIAWIKI ); echo $mw_ns; // prints 'MediaWiki'

Parameters
int$indexThe array key of the namespace to return
Returns
string|bool String if the namespace value exists, otherwise false

Definition at line 538 of file Language.php.

References getNamespaces().

Referenced by getFormattedNsText(), and getGenderNsText().

Language::getParentLanguage ( )

Get the "parent" language which has a converter to convert a "compatible" language (in another variant) to this language (eg.

zh for zh-cn, but not en for en-gb).

Returns
Language|null
Since
1.22

Definition at line 4171 of file Language.php.

References $code, $lang, LanguageConverter\$languagesWithVariants, $mParentLanguage, factory(), and getCode().

Language::getParsedTitle ( )

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

Language::getPluralRuleIndexNumber (   $number)

Find the index number of the plural rule appropriate for the given number.

Parameters
int$number
Returns
int The index number of the plural rule

Definition at line 4780 of file Language.php.

References getCompiledPluralRules().

Referenced by convertPlural(), and getPluralRuleType().

Language::getPluralRules ( )

Get the plural rules for the language.

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

Definition at line 4742 of file Language.php.

References as, and getFallbacksFor().

Language::getPluralRuleType (   $number)

Find the plural rule type appropriate for the given number For example, if the language is set to Arabic, getPluralType(5) should return 'few'.

Since
1.22
Parameters
int$number
Returns
string The name of the plural rule type, e.g. one, two, few, many

Definition at line 4794 of file Language.php.

References getPluralRuleIndexNumber(), and getPluralRuleTypes().

Language::getPluralRuleTypes ( )

Get the plural rule types for the language.

Since
1.22
Returns
array Associative array with plural form number and plural rule type as key-value pairs

Definition at line 4761 of file Language.php.

References as, and getFallbacksFor().

Referenced by getPluralRuleType().

Language::getPreferredVariant ( )
Returns
string

Definition at line 4058 of file Language.php.

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

Language::getSpecialPageAliases ( )

Get special page names, as an associative array canonical name => array of valid names, including aliases.

Returns
array

Definition at line 3202 of file Language.php.

References $mExtendedSpecialPageAliases, getCode(), and Hooks\run().

Language::getURLVariant ( )
Returns
string

Definition at line 4072 of file Language.php.

Language::getUserToggle (   $tog)
Parameters
string$tog
Returns
string

Definition at line 783 of file Language.php.

Language::getVariantname (   $code,
  $usemsg = true 
)

short names for language variants used for language conversion links.

Parameters
string$code
bool$usemsgUse the "variantname-xyz" message if it exists
Returns
string

Definition at line 708 of file Language.php.

References $code, $name, getMessageFromDB(), and wfMessage().

Language::getVariants ( )

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

Referenced by getNamespaceAliases(), and hasVariants().

Language::getWeekdayAbbreviation (   $key)
Parameters
string$key
Returns
string

Definition at line 970 of file Language.php.

References $key, and getMessageFromDB().

Referenced by sprintfDate().

Language::getWeekdayName (   $key)
Parameters
string$key
Returns
string

Definition at line 962 of file Language.php.

References $key, and getMessageFromDB().

Referenced by sprintfDate().

Language::handleExplicitPluralForms (   $count,
array  $forms 
)
protected

Handles explicit plural forms for Language::convertPlural()

In {{PLURAL:$1|0=nothing|one|many}}, 0=nothing will be returned if $1 equals zero. If an explicitly defined plural form matches the $count, then string value returned, otherwise array returned for further consideration by CLDR rules or overridden convertPlural().

Since
1.23
Parameters
int$countNon-localized number
array$formsDifferent plural forms
Returns
array|string

Definition at line 3830 of file Language.php.

References $count, and as.

Referenced by LanguageKsh\convertPlural(), and convertPlural().

Language::hasVariant (   $variant)

Check if the language has the specific variant.

Since
1.19
Parameters
string$variant
Returns
bool

Definition at line 4022 of file Language.php.

Language::hasVariants ( )

Check if this is a language with variants.

Returns
bool

Definition at line 4011 of file Language.php.

References getVariants().

Language::hasWordBreaks ( )

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

Definition at line 2802 of file Language.php.

static Language::hebrewNumeral (   $num)
static

Hebrew Gematria number formatting up to 9999.

Parameters
int$num
Returns
string

Definition at line 1981 of file Language.php.

References array().

Referenced by LanguageTest\testHebrewNumeral().

static Language::hebrewYearStart (   $year)
staticprivate

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
int$year
Returns
string

Definition at line 1809 of file Language.php.

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

Definition at line 2577 of file Language.php.

References $out.

Referenced by checkTitleEncoding(), recodeForEdit(), and recodeInput().

Language::initContLang ( )

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

Language::initEncoding ( )

Definition at line 2930 of file Language.php.

static Language::insertSpace (   $string,
  $pattern 
)
staticprotected
Parameters
string$string
string$pattern
Returns
string

Definition at line 2856 of file Language.php.

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

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

Parameters
string$typeCan be 'date', 'time' or 'both'
string$tsThe time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
User$userUser object used to get preferences for timezone and format
array$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
    • int: 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 2350 of file Language.php.

References $type, dateFormat(), getDateFormatString(), User\getDatePreference(), User\getOption(), sprintfDate(), true, TS_MW, userAdjust(), and wfTimestamp().

Referenced by userDate(), userTime(), and userTimeAndDate().

static Language::isKnownLanguageTag (   $tag)
static

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

Parameters
string$tag
Since
1.21
Returns
bool

Definition at line 381 of file Language.php.

References $tag.

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

Language::isMultibyte (   $str)
Parameters
string$str
Returns
bool

Definition at line 2695 of file Language.php.

Referenced by lc(), uc(), ucwordbreaks(), and ucwords().

Language::isRTL ( )

For right-to-left language support.

Returns
bool

Definition at line 3024 of file Language.php.

Referenced by alignEnd(), alignStart(), getArrow(), getDir(), getDirMark(), and getDirMarkEntity().

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

References $code.

Referenced by LocalisationCache\initLanguage(), and 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 or *.json.

Parameters
string$code
Exceptions
MWException
Since
1.18
Returns
bool

Definition at line 358 of file Language.php.

References $code, and $type.

Referenced by getFallbacksFor(), ResourceLoaderContext\getLanguage(), LocalisationCache\initLanguage(), newFromCode(), LanguageTest\testBuiltInCodeValidation(), and SvgHandler\validateParam().

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
string$code
Returns
bool

Definition at line 333 of file Language.php.

References $cache, $code, and MediaWikiTitleCodec\getTitleInvalidRegex().

Referenced by ApiQuerySiteinfo\appendSkins(), ApiQueryAllMessages\execute(), newFromCode(), 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
string$code
bool$lenientWhether to allow '_' as separator. The default is only '-'.
Returns
bool
Since
1.21

Definition at line 279 of file Language.php.

References $code, $s, or, other(), and use.

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

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

Definition at line 2679 of file Language.php.

References isMultibyte().

Referenced by getLocalNsIndex(), getNamespaceIds(), getNsIndex(), lcfirst(), ucwordbreaks(), and ucwords().

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

Definition at line 2660 of file Language.php.

References lc().

Language::linkPrefixCharset ( )

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

Returns
string

Definition at line 4160 of file Language.php.

Language::linkPrefixExtension ( )

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

Returns
bool

Definition at line 3133 of file Language.php.

Language::linkTrail ( )

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 4150 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
string[]$l
Returns
string

Definition at line 3387 of file Language.php.

References $s, and msg().

Referenced by formatDuration().

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
string$textText to be used for external link
bool$noParseWrap it without confirming it's a real URL first
Returns
string The tagged text

Definition at line 4135 of file Language.php.

References wfUrlProtocolsWithoutProtRel().

Language::msg (   $msg)
protected

Get message object in this language.

Only for use inside this class.

Parameters
string$msgMessage name
Returns
Message

Definition at line 908 of file Language.php.

References wfMessage().

Referenced by getMessageFromDB(), listToText(), and specialList().

Language::needsGenderDistinction ( )

Whether this language uses gender-dependent namespace aliases.

See https://www.mediawiki.org/wiki/Manual:$wgExtraGenderNamespaces

Returns
bool
Since
1.18

Definition at line 584 of file Language.php.

References $wgExtraGenderNamespaces, $wgExtraNamespaces, global, NS_USER, and NS_USER_TALK.

static Language::newFromCode (   $code)
staticprotected

Create a language object for a given language code.

Parameters
string$code
Exceptions
MWException
Returns
Language

Definition at line 205 of file Language.php.

References $code, $lang, as, getFallbacksFor(), isValidBuiltInCode(), and isValidCode().

Language::normalize (   $s)

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
string$s
Returns
string

Definition at line 2983 of file Language.php.

References $s, $wgAllUnicodeFixes, global, and transformUsingPairFile().

Language::normalizeForSearch (   $string)

Some languages have special punctuation need to be normalized.

Make such changes here.

Parameters
string$string
Returns
string

Definition at line 2824 of file Language.php.

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

Helper function for viewPrevNext() that generates links.

Parameters
Title$titleTitle object to link
int$offset
int$limit
array$queryExtra query parameters
string$linkText to use for the link; will be escaped
string$tooltipMsgName of the message to use as tooltip
string$classValue of the "class" attribute of the link
Returns
string HTML fragment

Definition at line 4698 of file Language.php.

References $limit, $link, $query, Html\element(), Title\getLocalURL(), and wfMessage().

Referenced by viewPrevNext().

Language::parseFormattedNumber (   $number)
Parameters
string$number
Returns
string

Definition at line 3283 of file Language.php.

References $s, digitTransformTable(), and separatorTransformTable().

Language::pipeList ( array  $list)

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

Parameters
string[]$list Array of strings to put in a pipe list
Returns
string

Definition at line 3441 of file Language.php.

References wfMessage().

Referenced by viewPrevNext().

Language::preConvertPlural (   $forms,
  $count 
)
protected

Checks that convertPlural was given an array and pads it to requested amount of forms by copying the last one.

Parameters
array$formsArray of forms given to convertPlural
int$countHow many forms should there be at least
Returns
array Padded array of forms or an exception if not an array

Definition at line 3851 of file Language.php.

References $count.

Referenced by LanguageKsh\convertPlural(), and gender().

Language::recodeForEdit (   $s)
Parameters
string$s
Returns
string

Definition at line 2941 of file Language.php.

References $s, $wgEditEncoding, global, and iconv().

Language::recodeInput (   $s)
Parameters
string$s
Returns
string

Definition at line 2957 of file Language.php.

References $s, $wgEditEncoding, global, and iconv().

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
string$string
Returns
string

Definition at line 3540 of file Language.php.

Referenced by truncate().

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
string$string
Returns
string

Definition at line 3514 of file Language.php.

Referenced by truncate(), and truncateHtml().

Language::replaceGrammarInNamespace (   $m)
Parameters
string$m
Returns
string

Definition at line 4425 of file Language.php.

References convertGrammar().

Language::resetNamespaces ( )

Resets all of the namespace caches.

Mainly used for testing

Definition at line 507 of file Language.php.

static Language::romanNumeral (   $num)
static

Roman number formatting up to 10000.

Parameters
int$num
Returns
string

Definition at line 1950 of file Language.php.

References $s.

Referenced by sprintfDate(), and LanguageTest\testRomanNumerals().

Language::segmentByWord (   $string)

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

Parameters
string$string
Returns
string

Definition at line 2813 of file Language.php.

Language::segmentForDiff (   $text)

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

Parameters
string$text
Returns
string

Definition at line 3942 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
string[]$list Array of strings to put in a semicolon list
Returns
string

Definition at line 3429 of file Language.php.

References wfMessage().

Language::separatorTransformTable ( )
Returns
array

Definition at line 3374 of file Language.php.

Referenced by formatNum(), and parseFormattedNumber().

Language::setCode (   $code)
Parameters
string$code

Definition at line 4223 of file Language.php.

References $code.

Language::setNamespaces ( array  $namespaces)

Arbitrarily set all of the namespace names at once.

Mainly used for testing

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

Definition at line 499 of file Language.php.

References $namespaces.

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

Make a list item, used by various special pages.

Parameters
string$pagePage link
string$detailsHTML safe text between brackets
bool$oppositedmAdd the direction mark opposite to your language, to display text properly
Returns
HTML escaped string

Definition at line 4629 of file Language.php.

References $page, getDirMark(), and msg().

Language::sprintfDate (   $format,
  $ts,
DateTimeZone  $zone = null,
$ttl = null 
)

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 dDjlNwzWFmMntLoYyaAgGhHiscrUeIOPTZ. 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. Note that the format characters crUeIOPTZ will assume $ts is UTC if $zone is not given.

Parameters
string$format
string$ts14-character timestamp YYYYMMDDHHMMSS 01234567890123
DateTimeZone$zoneTimezone of $ts
[out]int$ttlThe amount of time (in seconds) the output may be cached for. Only makes sense if $ts is the current time.
Todo:
handling of "o" format character for Iranian, Hebrew, Hijri & Thai?
Exceptions
MWException
Returns
string

Definition at line 1090 of file Language.php.

References $code, $s, dateTimeObjFormat(), formatNum(), getHebrewCalendarMonthName(), getHebrewCalendarMonthNameGen(), getHijriCalendarMonthName(), getIranianCalendarMonthName(), getMonthAbbreviation(), getMonthName(), getMonthNameGen(), getWeekdayAbbreviation(), getWeekdayName(), and romanNumeral().

Referenced by date(), getHumanTimestampInternal(), internalUserTimeAndDate(), time(), and timeanddate().

static Language::strongDirFromContent (   $text = '')
staticprivate

Gets directionality of the first strongly directional codepoint, for embedBidi()

This is the rule the BIDI algorithm uses to determine the directionality of paragraphs ( http://unicode.org/reports/tr9/#The_Paragraph_Level ) and FSI isolates ( http://unicode.org/reports/tr9/#Explicit_Directional_Isolates ).

TODO: Does not handle BIDI control characters inside the text. TODO: Does not handle unallocated characters.

Parameters
string$textText to test
Returns
null|string Directionality ('ltr' or 'rtl') or null

Definition at line 1933 of file Language.php.

References $matches.

Referenced by embedBidi().

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

Definition at line 2234 of file Language.php.

References dateFormat(), getDateFormatString(), sprintfDate(), TS_MW, userAdjust(), and wfTimestamp().

Referenced by LanguageWa\timeanddate().

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

Definition at line 2254 of file Language.php.

References dateFormat(), getDateFormatString(), sprintfDate(), TS_MW, userAdjust(), and wfTimestamp().

Referenced by formatExpiry(), and translateBlockExpiry().

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
string$file
string$string
Exceptions
MWException
Returns
string

Definition at line 3008 of file Language.php.

References wfGetPrecompiledData().

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

Language::translateBlockExpiry (   $str,
User  $user = null 
)
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
string$strThe validated block duration in English
User$userUser object to use timezone from or null for $wgUser
Returns
string Somehow translated block duration
See also
LanguageFi.php for example implementation

Definition at line 3900 of file Language.php.

References $time, $user, $value, as, formatDuration(), SpecialBlock\getSuggestedDurations(), timeanddate(), userTimeAndDate(), and wfIsInfinity().

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
string$stringString to truncate
int$lengthMaximum length (including ellipses)
string$ellipsisString to append to the truncated text
bool$adjustLengthSubtract length of ellipsis from $length. $adjustLength was introduced in 1.18, before that behaved as if false.
Returns
string

Definition at line 3465 of file Language.php.

References removeBadCharFirst(), removeBadCharLast(), and wfMessage().

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
string&$tagCurrent HTML tag name we are looking at
int$tagType(0-open tag, 1-close tag)
string$lastChCharacter before the '>' that ended this tag
array&$openTagsOpen tag stack (not accounting for $tag)

Definition at line 3707 of file Language.php.

References $tag.

Referenced by truncateHtml().

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

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

Parameters
string$ret
string$text
string$search
int$start
null | int$len
Returns
int

Definition at line 3684 of file Language.php.

References $ret.

Referenced by truncateHtml().

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

References $ret, $tag, list, removeBadCharLast(), truncate_endBracket(), truncate_skip(), and wfMessage().

static Language::tsToHebrew (   $ts)
staticprivate

Converting Gregorian dates to Hebrew dates.

Based on a JavaScript code by Abu Mami and Yisrael Hersch (abu-m.nosp@m.ami@.nosp@m.kalua.nosp@m.ch.n.nosp@m.et, 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
string$ts
Returns
int[]

Definition at line 1668 of file Language.php.

static Language::tsToHijri (   $ts)
staticprivate

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
string$ts
Returns
int[]

Definition at line 1616 of file Language.php.

static Language::tsToIranian (   $ts)
staticprivate

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
string$ts
Returns
int[]

Definition at line 1558 of file Language.php.

static Language::tsToYear (   $ts,
  $cName 
)
staticprivate

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
string$ts14-character timestamp
string$cNameCalender name
Returns
array Converted year, month, day

Definition at line 1847 of file Language.php.

Language::uc (   $str,
  $first = false 
)

Convert a string to uppercase.

Parameters
string$str
bool$first
Returns
string

Definition at line 2644 of file Language.php.

References isMultibyte(), and ucfirst().

Referenced by caseFold(), and ucfirst().

Language::ucfirst (   $str)

Make a string's first character uppercase.

Parameters
string$str
Returns
string

Definition at line 2624 of file Language.php.

References uc().

Referenced by classFromCode(), getFileName(), uc(), and ucwordbreaksCallbackAscii().

Language::ucwordbreaks (   $str)

capitalize words at word breaks

Parameters
string$str
Returns
mixed

Definition at line 2727 of file Language.php.

References isMultibyte(), and lc().

Language::ucwordbreaksCallbackAscii (   $matches)
Parameters
array$matches
Returns
mixed|string

Definition at line 2597 of file Language.php.

References $matches, and ucfirst().

Language::ucwordbreaksCallbackMB (   $matches)
Parameters
array$matches
Returns
string

Definition at line 2605 of file Language.php.

References $matches.

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

Definition at line 2703 of file Language.php.

References isMultibyte(), and lc().

Language::ucwordsCallbackMB (   $matches)
Parameters
array$matches
Returns
string

Definition at line 2613 of file Language.php.

References $matches.

Language::unsegmentForDiff (   $text)

and unsegment to show the result

Parameters
string$text
Returns
string

Definition at line 3952 of file Language.php.

Language::updateConversionTable ( Title  $title)

Refresh the cache of conversion tables when MediaWiki:Conversiontable* is updated.

Parameters
Title$titleThe Title of the page being updated

Definition at line 4119 of file Language.php.

Language::userAdjust (   $ts,
  $tz = false 
)

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

Parameters
string$tsThe time in date('YmdHis') format
mixed$tzAdjust the time by this amount (default false, mean we get user timecorrection setting)
Returns
int

Definition at line 2068 of file Language.php.

References $t, $wgLocalTZoffset, $wgUser, date(), and global.

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

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

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

Parameters
mixed$tsMixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
User$userUser object used to get preferences for timezone and format
array$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
    • int: 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 2389 of file Language.php.

References $options, and internalUserTimeAndDate().

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

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

Parameters
mixed$tsThe time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
User$userUser object used to get preferences for timezone and format
array$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
    • int: 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 2412 of file Language.php.

References $options, and internalUserTimeAndDate().

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

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

Parameters
mixed$tsThe time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts)
User$userUser object used to get preferences for timezone and format
array$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
    • int: 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 2435 of file Language.php.

References $options, and internalUserTimeAndDate().

Referenced by translateBlockExpiry().

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

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

Parameters
Title$titleTitle object to link
int$offset
int$limit
array$queryOptional URL query parameter string
bool$atendOptional param for specified if this is the last page
Returns
string

Definition at line 4652 of file Language.php.

References $limit, $query, as, formatNum(), numLink(), pipeList(), and wfMessage().

Member Data Documentation

LocalisationCache Language::$dataCache
static

Definition at line 62 of file Language.php.

Language::$dateFormatStrings = []

Definition at line 49 of file Language.php.

array Language::$durationIntervals
static
Initial value:
= [
'millennia' => 31556952000
Since
1.20

Definition at line 124 of file Language.php.

array static array Language::$fallbackLanguageCache = []
staticprivate

Cache for language fallbacks.

See also
Language::getFallbacksIncludingSiteLanguage
Since
1.21

Definition at line 142 of file Language.php.

Language::$GREG_DAYS = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]
staticprivate

Definition at line 1543 of file Language.php.

Language::$IRANIAN_DAYS = [ 31, 31, 31, 31, 31, 31, 30, 30, 30, 30, 30, 29 ]
staticprivate

Definition at line 1544 of file Language.php.

HashBagOStuff null Language::$languageNameCache
staticprivate

Cache for language names.

Definition at line 148 of file Language.php.

Language::$lre = "\xE2\x80\xAA"
staticprivate

Unicode directional formatting characters, for embedBidi()

Definition at line 153 of file Language.php.

Language::$mCode

Definition at line 45 of file Language.php.

Referenced by getCode().

LanguageConverter Language::$mConverter

Definition at line 43 of file Language.php.

Referenced by getConverter().

Language::$mExtendedSpecialPageAliases

Definition at line 50 of file Language.php.

Referenced by getSpecialPageAliases().

Language::$mHebrewCalendarMonthGenMsgs
static
Initial value:
= [
'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 105 of file Language.php.

Language::$mHebrewCalendarMonthMsgs
static
Initial value:
= [
'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 97 of file Language.php.

Language::$mHijriCalendarMonthMsgs
static
Initial value:
= [
'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 113 of file Language.php.

Language::$mHtmlCode = null
private

Definition at line 47 of file Language.php.

Referenced by getHtmlCode().

Language::$mIranianCalendarMonthMsgs
static
Initial value:
= [
'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 90 of file Language.php.

Language::$mLangObjCache = []
static

Definition at line 64 of file Language.php.

Language::$mLoaded = false

Definition at line 45 of file Language.php.

Language::$mMagicExtensions = []

Definition at line 46 of file Language.php.

Referenced by addMagicWordsByLang().

Language::$mMagicHookDone = false

Definition at line 46 of file Language.php.

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

Definition at line 85 of file Language.php.

Language::$mMonthGenMsgs
static
Initial value:
= [
'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 80 of file Language.php.

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

Definition at line 75 of file Language.php.

Language::$mNamespaceIds

Definition at line 52 of file Language.php.

Referenced by getNamespaceIds().

Language::$mParentLanguage = false

Definition at line 47 of file Language.php.

Referenced by getParentLanguage().

Language::$mVariants

Definition at line 45 of file Language.php.

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

Definition at line 71 of file Language.php.

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

Definition at line 66 of file Language.php.

Language::$namespaceAliases

Definition at line 52 of file Language.php.

Referenced by getNamespaceAliases().

Language::$namespaceNames
protected

Definition at line 52 of file Language.php.

Referenced by getNamespaces().

Language::$pdf = "\xE2\x80\xAC"
staticprivate

Definition at line 155 of file Language.php.

Language::$rle = "\xE2\x80\xAB"
staticprivate

Definition at line 154 of file Language.php.

Language::$strongDirRegex = '/(?:([\x{41}-\x{5a}\x{61}-\x{7a}\x{aa}\x{b5}\x{ba}\x{c0}-\x{d6}\x{d8}-\x{f6}\x{f8}-\x{2b8}\x{2bb}-\x{2c1}\x{2d0}\x{2d1}\x{2e0}-\x{2e4}\x{2ee}\x{370}-\x{373}\x{376}\x{377}\x{37a}-\x{37d}\x{37f}\x{386}\x{388}-\x{38a}\x{38c}\x{38e}-\x{3a1}\x{3a3}-\x{3f5}\x{3f7}-\x{482}\x{48a}-\x{52f}\x{531}-\x{556}\x{559}-\x{55f}\x{561}-\x{587}\x{589}\x{903}-\x{939}\x{93b}\x{93d}-\x{940}\x{949}-\x{94c}\x{94e}-\x{950}\x{958}-\x{961}\x{964}-\x{980}\x{982}\x{983}\x{985}-\x{98c}\x{98f}\x{990}\x{993}-\x{9a8}\x{9aa}-\x{9b0}\x{9b2}\x{9b6}-\x{9b9}\x{9bd}-\x{9c0}\x{9c7}\x{9c8}\x{9cb}\x{9cc}\x{9ce}\x{9d7}\x{9dc}\x{9dd}\x{9df}-\x{9e1}\x{9e6}-\x{9f1}\x{9f4}-\x{9fa}\x{a03}\x{a05}-\x{a0a}\x{a0f}\x{a10}\x{a13}-\x{a28}\x{a2a}-\x{a30}\x{a32}\x{a33}\x{a35}\x{a36}\x{a38}\x{a39}\x{a3e}-\x{a40}\x{a59}-\x{a5c}\x{a5e}\x{a66}-\x{a6f}\x{a72}-\x{a74}\x{a83}\x{a85}-\x{a8d}\x{a8f}-\x{a91}\x{a93}-\x{aa8}\x{aaa}-\x{ab0}\x{ab2}\x{ab3}\x{ab5}-\x{ab9}\x{abd}-\x{ac0}\x{ac9}\x{acb}\x{acc}\x{ad0}\x{ae0}\x{ae1}\x{ae6}-\x{af0}\x{af9}\x{b02}\x{b03}\x{b05}-\x{b0c}\x{b0f}\x{b10}\x{b13}-\x{b28}\x{b2a}-\x{b30}\x{b32}\x{b33}\x{b35}-\x{b39}\x{b3d}\x{b3e}\x{b40}\x{b47}\x{b48}\x{b4b}\x{b4c}\x{b57}\x{b5c}\x{b5d}\x{b5f}-\x{b61}\x{b66}-\x{b77}\x{b83}\x{b85}-\x{b8a}\x{b8e}-\x{b90}\x{b92}-\x{b95}\x{b99}\x{b9a}\x{b9c}\x{b9e}\x{b9f}\x{ba3}\x{ba4}\x{ba8}-\x{baa}\x{bae}-\x{bb9}\x{bbe}\x{bbf}\x{bc1}\x{bc2}\x{bc6}-\x{bc8}\x{bca}-\x{bcc}\x{bd0}\x{bd7}\x{be6}-\x{bf2}\x{c01}-\x{c03}\x{c05}-\x{c0c}\x{c0e}-\x{c10}\x{c12}-\x{c28}\x{c2a}-\x{c39}\x{c3d}\x{c41}-\x{c44}\x{c58}-\x{c5a}\x{c60}\x{c61}\x{c66}-\x{c6f}\x{c7f}\x{c82}\x{c83}\x{c85}-\x{c8c}\x{c8e}-\x{c90}\x{c92}-\x{ca8}\x{caa}-\x{cb3}\x{cb5}-\x{cb9}\x{cbd}-\x{cc4}\x{cc6}-\x{cc8}\x{cca}\x{ccb}\x{cd5}\x{cd6}\x{cde}\x{ce0}\x{ce1}\x{ce6}-\x{cef}\x{cf1}\x{cf2}\x{d02}\x{d03}\x{d05}-\x{d0c}\x{d0e}-\x{d10}\x{d12}-\x{d3a}\x{d3d}-\x{d40}\x{d46}-\x{d48}\x{d4a}-\x{d4c}\x{d4e}\x{d57}\x{d5f}-\x{d61}\x{d66}-\x{d75}\x{d79}-\x{d7f}\x{d82}\x{d83}\x{d85}-\x{d96}\x{d9a}-\x{db1}\x{db3}-\x{dbb}\x{dbd}\x{dc0}-\x{dc6}\x{dcf}-\x{dd1}\x{dd8}-\x{ddf}\x{de6}-\x{def}\x{df2}-\x{df4}\x{e01}-\x{e30}\x{e32}\x{e33}\x{e40}-\x{e46}\x{e4f}-\x{e5b}\x{e81}\x{e82}\x{e84}\x{e87}\x{e88}\x{e8a}\x{e8d}\x{e94}-\x{e97}\x{e99}-\x{e9f}\x{ea1}-\x{ea3}\x{ea5}\x{ea7}\x{eaa}\x{eab}\x{ead}-\x{eb0}\x{eb2}\x{eb3}\x{ebd}\x{ec0}-\x{ec4}\x{ec6}\x{ed0}-\x{ed9}\x{edc}-\x{edf}\x{f00}-\x{f17}\x{f1a}-\x{f34}\x{f36}\x{f38}\x{f3e}-\x{f47}\x{f49}-\x{f6c}\x{f7f}\x{f85}\x{f88}-\x{f8c}\x{fbe}-\x{fc5}\x{fc7}-\x{fcc}\x{fce}-\x{fda}\x{1000}-\x{102c}\x{1031}\x{1038}\x{103b}\x{103c}\x{103f}-\x{1057}\x{105a}-\x{105d}\x{1061}-\x{1070}\x{1075}-\x{1081}\x{1083}\x{1084}\x{1087}-\x{108c}\x{108e}-\x{109c}\x{109e}-\x{10c5}\x{10c7}\x{10cd}\x{10d0}-\x{1248}\x{124a}-\x{124d}\x{1250}-\x{1256}\x{1258}\x{125a}-\x{125d}\x{1260}-\x{1288}\x{128a}-\x{128d}\x{1290}-\x{12b0}\x{12b2}-\x{12b5}\x{12b8}-\x{12be}\x{12c0}\x{12c2}-\x{12c5}\x{12c8}-\x{12d6}\x{12d8}-\x{1310}\x{1312}-\x{1315}\x{1318}-\x{135a}\x{1360}-\x{137c}\x{1380}-\x{138f}\x{13a0}-\x{13f5}\x{13f8}-\x{13fd}\x{1401}-\x{167f}\x{1681}-\x{169a}\x{16a0}-\x{16f8}\x{1700}-\x{170c}\x{170e}-\x{1711}\x{1720}-\x{1731}\x{1735}\x{1736}\x{1740}-\x{1751}\x{1760}-\x{176c}\x{176e}-\x{1770}\x{1780}-\x{17b3}\x{17b6}\x{17be}-\x{17c5}\x{17c7}\x{17c8}\x{17d4}-\x{17da}\x{17dc}\x{17e0}-\x{17e9}\x{1810}-\x{1819}\x{1820}-\x{1877}\x{1880}-\x{18a8}\x{18aa}\x{18b0}-\x{18f5}\x{1900}-\x{191e}\x{1923}-\x{1926}\x{1929}-\x{192b}\x{1930}\x{1931}\x{1933}-\x{1938}\x{1946}-\x{196d}\x{1970}-\x{1974}\x{1980}-\x{19ab}\x{19b0}-\x{19c9}\x{19d0}-\x{19da}\x{1a00}-\x{1a16}\x{1a19}\x{1a1a}\x{1a1e}-\x{1a55}\x{1a57}\x{1a61}\x{1a63}\x{1a64}\x{1a6d}-\x{1a72}\x{1a80}-\x{1a89}\x{1a90}-\x{1a99}\x{1aa0}-\x{1aad}\x{1b04}-\x{1b33}\x{1b35}\x{1b3b}\x{1b3d}-\x{1b41}\x{1b43}-\x{1b4b}\x{1b50}-\x{1b6a}\x{1b74}-\x{1b7c}\x{1b82}-\x{1ba1}\x{1ba6}\x{1ba7}\x{1baa}\x{1bae}-\x{1be5}\x{1be7}\x{1bea}-\x{1bec}\x{1bee}\x{1bf2}\x{1bf3}\x{1bfc}-\x{1c2b}\x{1c34}\x{1c35}\x{1c3b}-\x{1c49}\x{1c4d}-\x{1c7f}\x{1cc0}-\x{1cc7}\x{1cd3}\x{1ce1}\x{1ce9}-\x{1cec}\x{1cee}-\x{1cf3}\x{1cf5}\x{1cf6}\x{1d00}-\x{1dbf}\x{1e00}-\x{1f15}\x{1f18}-\x{1f1d}\x{1f20}-\x{1f45}\x{1f48}-\x{1f4d}\x{1f50}-\x{1f57}\x{1f59}\x{1f5b}\x{1f5d}\x{1f5f}-\x{1f7d}\x{1f80}-\x{1fb4}\x{1fb6}-\x{1fbc}\x{1fbe}\x{1fc2}-\x{1fc4}\x{1fc6}-\x{1fcc}\x{1fd0}-\x{1fd3}\x{1fd6}-\x{1fdb}\x{1fe0}-\x{1fec}\x{1ff2}-\x{1ff4}\x{1ff6}-\x{1ffc}\x{200e}\x{2071}\x{207f}\x{2090}-\x{209c}\x{2102}\x{2107}\x{210a}-\x{2113}\x{2115}\x{2119}-\x{211d}\x{2124}\x{2126}\x{2128}\x{212a}-\x{212d}\x{212f}-\x{2139}\x{213c}-\x{213f}\x{2145}-\x{2149}\x{214e}\x{214f}\x{2160}-\x{2188}\x{2336}-\x{237a}\x{2395}\x{249c}-\x{24e9}\x{26ac}\x{2800}-\x{28ff}\x{2c00}-\x{2c2e}\x{2c30}-\x{2c5e}\x{2c60}-\x{2ce4}\x{2ceb}-\x{2cee}\x{2cf2}\x{2cf3}\x{2d00}-\x{2d25}\x{2d27}\x{2d2d}\x{2d30}-\x{2d67}\x{2d6f}\x{2d70}\x{2d80}-\x{2d96}\x{2da0}-\x{2da6}\x{2da8}-\x{2dae}\x{2db0}-\x{2db6}\x{2db8}-\x{2dbe}\x{2dc0}-\x{2dc6}\x{2dc8}-\x{2dce}\x{2dd0}-\x{2dd6}\x{2dd8}-\x{2dde}\x{3005}-\x{3007}\x{3021}-\x{3029}\x{302e}\x{302f}\x{3031}-\x{3035}\x{3038}-\x{303c}\x{3041}-\x{3096}\x{309d}-\x{309f}\x{30a1}-\x{30fa}\x{30fc}-\x{30ff}\x{3105}-\x{312d}\x{3131}-\x{318e}\x{3190}-\x{31ba}\x{31f0}-\x{321c}\x{3220}-\x{324f}\x{3260}-\x{327b}\x{327f}-\x{32b0}\x{32c0}-\x{32cb}\x{32d0}-\x{32fe}\x{3300}-\x{3376}\x{337b}-\x{33dd}\x{33e0}-\x{33fe}\x{3400}-\x{4db5}\x{4e00}-\x{9fd5}\x{a000}-\x{a48c}\x{a4d0}-\x{a60c}\x{a610}-\x{a62b}\x{a640}-\x{a66e}\x{a680}-\x{a69d}\x{a6a0}-\x{a6ef}\x{a6f2}-\x{a6f7}\x{a722}-\x{a787}\x{a789}-\x{a7ad}\x{a7b0}-\x{a7b7}\x{a7f7}-\x{a801}\x{a803}-\x{a805}\x{a807}-\x{a80a}\x{a80c}-\x{a824}\x{a827}\x{a830}-\x{a837}\x{a840}-\x{a873}\x{a880}-\x{a8c3}\x{a8ce}-\x{a8d9}\x{a8f2}-\x{a8fd}\x{a900}-\x{a925}\x{a92e}-\x{a946}\x{a952}\x{a953}\x{a95f}-\x{a97c}\x{a983}-\x{a9b2}\x{a9b4}\x{a9b5}\x{a9ba}\x{a9bb}\x{a9bd}-\x{a9cd}\x{a9cf}-\x{a9d9}\x{a9de}-\x{a9e4}\x{a9e6}-\x{a9fe}\x{aa00}-\x{aa28}\x{aa2f}\x{aa30}\x{aa33}\x{aa34}\x{aa40}-\x{aa42}\x{aa44}-\x{aa4b}\x{aa4d}\x{aa50}-\x{aa59}\x{aa5c}-\x{aa7b}\x{aa7d}-\x{aaaf}\x{aab1}\x{aab5}\x{aab6}\x{aab9}-\x{aabd}\x{aac0}\x{aac2}\x{aadb}-\x{aaeb}\x{aaee}-\x{aaf5}\x{ab01}-\x{ab06}\x{ab09}-\x{ab0e}\x{ab11}-\x{ab16}\x{ab20}-\x{ab26}\x{ab28}-\x{ab2e}\x{ab30}-\x{ab65}\x{ab70}-\x{abe4}\x{abe6}\x{abe7}\x{abe9}-\x{abec}\x{abf0}-\x{abf9}\x{ac00}-\x{d7a3}\x{d7b0}-\x{d7c6}\x{d7cb}-\x{d7fb}\x{e000}-\x{fa6d}\x{fa70}-\x{fad9}\x{fb00}-\x{fb06}\x{fb13}-\x{fb17}\x{ff21}-\x{ff3a}\x{ff41}-\x{ff5a}\x{ff66}-\x{ffbe}\x{ffc2}-\x{ffc7}\x{ffca}-\x{ffcf}\x{ffd2}-\x{ffd7}\x{ffda}-\x{ffdc}\x{10000}-\x{1000b}\x{1000d}-\x{10026}\x{10028}-\x{1003a}\x{1003c}\x{1003d}\x{1003f}-\x{1004d}\x{10050}-\x{1005d}\x{10080}-\x{100fa}\x{10100}\x{10102}\x{10107}-\x{10133}\x{10137}-\x{1013f}\x{101d0}-\x{101fc}\x{10280}-\x{1029c}\x{102a0}-\x{102d0}\x{10300}-\x{10323}\x{10330}-\x{1034a}\x{10350}-\x{10375}\x{10380}-\x{1039d}\x{1039f}-\x{103c3}\x{103c8}-\x{103d5}\x{10400}-\x{1049d}\x{104a0}-\x{104a9}\x{10500}-\x{10527}\x{10530}-\x{10563}\x{1056f}\x{10600}-\x{10736}\x{10740}-\x{10755}\x{10760}-\x{10767}\x{11000}\x{11002}-\x{11037}\x{11047}-\x{1104d}\x{11066}-\x{1106f}\x{11082}-\x{110b2}\x{110b7}\x{110b8}\x{110bb}-\x{110c1}\x{110d0}-\x{110e8}\x{110f0}-\x{110f9}\x{11103}-\x{11126}\x{1112c}\x{11136}-\x{11143}\x{11150}-\x{11172}\x{11174}-\x{11176}\x{11182}-\x{111b5}\x{111bf}-\x{111c9}\x{111cd}\x{111d0}-\x{111df}\x{111e1}-\x{111f4}\x{11200}-\x{11211}\x{11213}-\x{1122e}\x{11232}\x{11233}\x{11235}\x{11238}-\x{1123d}\x{11280}-\x{11286}\x{11288}\x{1128a}-\x{1128d}\x{1128f}-\x{1129d}\x{1129f}-\x{112a9}\x{112b0}-\x{112de}\x{112e0}-\x{112e2}\x{112f0}-\x{112f9}\x{11302}\x{11303}\x{11305}-\x{1130c}\x{1130f}\x{11310}\x{11313}-\x{11328}\x{1132a}-\x{11330}\x{11332}\x{11333}\x{11335}-\x{11339}\x{1133d}-\x{1133f}\x{11341}-\x{11344}\x{11347}\x{11348}\x{1134b}-\x{1134d}\x{11350}\x{11357}\x{1135d}-\x{11363}\x{11480}-\x{114b2}\x{114b9}\x{114bb}-\x{114be}\x{114c1}\x{114c4}-\x{114c7}\x{114d0}-\x{114d9}\x{11580}-\x{115b1}\x{115b8}-\x{115bb}\x{115be}\x{115c1}-\x{115db}\x{11600}-\x{11632}\x{1163b}\x{1163c}\x{1163e}\x{11641}-\x{11644}\x{11650}-\x{11659}\x{11680}-\x{116aa}\x{116ac}\x{116ae}\x{116af}\x{116b6}\x{116c0}-\x{116c9}\x{11700}-\x{11719}\x{11720}\x{11721}\x{11726}\x{11730}-\x{1173f}\x{118a0}-\x{118f2}\x{118ff}\x{11ac0}-\x{11af8}\x{12000}-\x{12399}\x{12400}-\x{1246e}\x{12470}-\x{12474}\x{12480}-\x{12543}\x{13000}-\x{1342e}\x{14400}-\x{14646}\x{16800}-\x{16a38}\x{16a40}-\x{16a5e}\x{16a60}-\x{16a69}\x{16a6e}\x{16a6f}\x{16ad0}-\x{16aed}\x{16af5}\x{16b00}-\x{16b2f}\x{16b37}-\x{16b45}\x{16b50}-\x{16b59}\x{16b5b}-\x{16b61}\x{16b63}-\x{16b77}\x{16b7d}-\x{16b8f}\x{16f00}-\x{16f44}\x{16f50}-\x{16f7e}\x{16f93}-\x{16f9f}\x{1b000}\x{1b001}\x{1bc00}-\x{1bc6a}\x{1bc70}-\x{1bc7c}\x{1bc80}-\x{1bc88}\x{1bc90}-\x{1bc99}\x{1bc9c}\x{1bc9f}\x{1d000}-\x{1d0f5}\x{1d100}-\x{1d126}\x{1d129}-\x{1d166}\x{1d16a}-\x{1d172}\x{1d183}\x{1d184}\x{1d18c}-\x{1d1a9}\x{1d1ae}-\x{1d1e8}\x{1d360}-\x{1d371}\x{1d400}-\x{1d454}\x{1d456}-\x{1d49c}\x{1d49e}\x{1d49f}\x{1d4a2}\x{1d4a5}\x{1d4a6}\x{1d4a9}-\x{1d4ac}\x{1d4ae}-\x{1d4b9}\x{1d4bb}\x{1d4bd}-\x{1d4c3}\x{1d4c5}-\x{1d505}\x{1d507}-\x{1d50a}\x{1d50d}-\x{1d514}\x{1d516}-\x{1d51c}\x{1d51e}-\x{1d539}\x{1d53b}-\x{1d53e}\x{1d540}-\x{1d544}\x{1d546}\x{1d54a}-\x{1d550}\x{1d552}-\x{1d6a5}\x{1d6a8}-\x{1d6da}\x{1d6dc}-\x{1d714}\x{1d716}-\x{1d74e}\x{1d750}-\x{1d788}\x{1d78a}-\x{1d7c2}\x{1d7c4}-\x{1d7cb}\x{1d800}-\x{1d9ff}\x{1da37}-\x{1da3a}\x{1da6d}-\x{1da74}\x{1da76}-\x{1da83}\x{1da85}-\x{1da8b}\x{1f110}-\x{1f12e}\x{1f130}-\x{1f169}\x{1f170}-\x{1f19a}\x{1f1e6}-\x{1f202}\x{1f210}-\x{1f23a}\x{1f240}-\x{1f248}\x{1f250}\x{1f251}\x{20000}-\x{2a6d6}\x{2a700}-\x{2b734}\x{2b740}-\x{2b81d}\x{2b820}-\x{2cea1}\x{2f800}-\x{2fa1d}\x{f0000}-\x{ffffd}\x{100000}-\x{10fffd}])|([\x{590}\x{5be}\x{5c0}\x{5c3}\x{5c6}\x{5c8}-\x{5ff}\x{7c0}-\x{7ea}\x{7f4}\x{7f5}\x{7fa}-\x{815}\x{81a}\x{824}\x{828}\x{82e}-\x{858}\x{85c}-\x{89f}\x{200f}\x{fb1d}\x{fb1f}-\x{fb28}\x{fb2a}-\x{fb4f}\x{10800}-\x{1091e}\x{10920}-\x{10a00}\x{10a04}\x{10a07}-\x{10a0b}\x{10a10}-\x{10a37}\x{10a3b}-\x{10a3e}\x{10a40}-\x{10ae4}\x{10ae7}-\x{10b38}\x{10b40}-\x{10e5f}\x{10e7f}-\x{10fff}\x{1e800}-\x{1e8cf}\x{1e8d7}-\x{1edff}\x{1ef00}-\x{1efff}\x{608}\x{60b}\x{60d}\x{61b}-\x{64a}\x{66d}-\x{66f}\x{671}-\x{6d5}\x{6e5}\x{6e6}\x{6ee}\x{6ef}\x{6fa}-\x{710}\x{712}-\x{72f}\x{74b}-\x{7a5}\x{7b1}-\x{7bf}\x{8a0}-\x{8e2}\x{fb50}-\x{fd3d}\x{fd40}-\x{fdcf}\x{fdf0}-\x{fdfc}\x{fdfe}\x{fdff}\x{fe70}-\x{fefe}\x{1ee00}-\x{1eeef}\x{1eef2}-\x{1eeff}]))/u'
staticprivate

Directionality test regex for embedBidi().

Matches the first strong directionality codepoint:

  • in group 1 if it is LTR
  • in group 2 if it is RTL Does not match if there is no strong directionality codepoint.

The form is '/(?:([strong ltr codepoint])|([strong rtl codepoint]))/u' .

Generated by UnicodeJS (see tools/strongDir) from the UCD; see https://git.wikimedia.org/summary/unicodejs.git .

Definition at line 170 of file Language.php.

Language::$transformData = []

ReplacementArray object caches.

Definition at line 57 of file Language.php.


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