MediaWiki REL1_36
|
Internationalisation code See https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation for more information. More...
Public Member Functions | |
__construct ( $code=null, LocalisationCache $localisationCache=null, LanguageNameUtils $langNameUtils=null, LanguageFallback $langFallback=null, LanguageConverterFactory $converterFactory=null, HookContainer $hookContainer=null) | |
__destruct () | |
Reduce memory usage. | |
__get (string $name) | |
Use PHP's magic __get handler to handle lazy accessing to deprecated mConverter. | |
alignEnd () | |
Return 'right' or 'left' as appropriate alignment for line-end for this language's text direction. | |
alignStart () | |
Return 'left' or 'right' as appropriate alignment for line-start for this language's text direction. | |
autoConvert ( $text, $variant=false) | |
convert text to a variant | |
autoConvertToAllVariants ( $text) | |
convert text to all supported variants | |
capitalizeAllNouns () | |
caseFold ( $s) | |
Return a case-folded representation of $s. | |
checkTitleEncoding ( $s) | |
TODO: $s is not always a string per T218883. | |
commafy ( $number) | |
Adds commas to a given number. | |
commaList (array $list) | |
Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message. | |
convert ( $text) | |
convert text to different variants of a language. | |
convertCategoryKey ( $key) | |
convertForSearchResult ( $termsArray) | |
convertGrammar ( $word, $case) | |
Grammatical transformations, needed for inflected languages Invoked by putting {{grammar:case|word}} in a message. | |
convertHtml ( $text) | |
Perform output conversion on a string, and encode for safe HTML output. | |
convertNamespace ( $ns, $variant=null) | |
Convert a namespace index to a string in the preferred variant. | |
convertPlural ( $count, $forms) | |
Plural form transformations, needed for some languages. | |
convertTitle ( $title) | |
Convert a Title object to a string in the preferred variant. | |
date ( $ts, $adj=false, $format=true, $timecorrection=false) | |
dateFormat ( $usePrefs=true) | |
This is meant to be used by time(), date(), and timeanddate() to get the date preference they're supposed to use, it should be used in all children. | |
digitGroupingPattern () | |
digitTransformTable () | |
embedBidi ( $text='') | |
Wraps argument with unicode control characters for directionality safety. | |
emphasize ( $text) | |
Italic is unsuitable for some languages. | |
equals (Language $lang) | |
Compare with an other language object. | |
fallback8bitEncoding () | |
findVariantLink (&$link, &$nt, $ignoreOtherCond=false) | |
If a language supports multiple variants, it is possible that non-existing link in one variant actually exists in another variant. | |
firstChar ( $s) | |
Get the first character of a string. | |
formatBitrate ( $bps) | |
Format a bitrate for output, using an appropriate unit (bps, kbps, Mbps, Gbps, Tbps, Pbps, Ebps, Zbps or Ybps) according to the magnitude in question. | |
formatComputingNumbers ( $size, $boundary, $messageKey) | |
formatDuration ( $seconds, array $chosenIntervals=[]) | |
Takes a number of seconds and turns it into a text using values such as hours and minutes. | |
formatExpiry ( $expiry, $format=true, $infinity='infinity', $user=null) | |
Decode an expiry (block, protection, etc) which has come from the DB. | |
formatNum ( $number, $noSeparators=null) | |
Normally we output all numbers in plain en_US style, that is 293,291.235 for two hundred ninety-three thousand two hundred ninety-one point two hundred thirty-five. | |
formatNumNoSeparators ( $number) | |
Front-end for non-commafied formatNum. | |
formatSize ( $size) | |
Format a size in bytes for output, using an appropriate unit (B, KB, MB, GB, TB, PB, EB, ZB or YB) according to the magnitude in question. | |
formatTimePeriod ( $seconds, $format=[]) | |
Formats a time given in seconds into a string representation of that time. | |
gender ( $gender, $forms) | |
Provides an alternative text depending on specified gender. | |
getAllMessages () | |
getArrow ( $direction='forwards') | |
An arrow, depending on the language direction. | |
getBookstoreList () | |
Exports $wgBookstoreListEn. | |
getCode () | |
Get the internal language code for this language object. | |
getCompiledPluralRules () | |
Get the compiled plural rules for the language. | |
getConverter () | |
Return the LanguageConverter used in the Language. | |
getConvRuleTitle () | |
Get the conversion rule title, if any. | |
getDateFormats () | |
getDateFormatString ( $type, $pref) | |
Get a format string for a given type and preference. | |
getDatePreferenceMigrationMap () | |
getDatePreferences () | |
getDefaultDateFormat () | |
getDefaultVariant () | |
getDir () | |
Return the correct HTML 'dir' attribute value for this language. | |
getDirMark ( $opposite=false) | |
A hidden direction mark (LRM or RLM), depending on the language direction. | |
getDirMarkEntity ( $opposite=false) | |
A hidden direction mark (LRM or RLM), depending on the language direction. | |
getDurationIntervals ( $seconds, array $chosenIntervals=[]) | |
Takes a number of seconds and returns an array with a set of corresponding intervals. | |
getExtraHashOptions () | |
returns language specific options used by User::getPageRenderHash() for example, the preferred language variant | |
getFallbackLanguages () | |
getFormattedNamespaces () | |
A convenience function that returns getNamespaces() with spaces instead of underscores in values. | |
getFormattedNsText ( $index) | |
A convenience function that returns the same thing as getNsText() except with '_' changed to ' ', useful for producing output. | |
getGenderNsText ( $index, $gender) | |
Returns gender-dependent namespace alias if available. | |
getGrammarForms () | |
Get the grammar forms for the content language. | |
getGrammarTransformations () | |
Get the grammar transformations data for the language. | |
getHtmlCode () | |
Get the code in BCP 47 format which we can use inside of html lang="" tags. | |
getHumanTimestamp (MWTimestamp $time, MWTimestamp $relativeTo=null, UserIdentity $user=null) | |
Get the timestamp in a human-friendly relative format, e.g., "3 days ago". | |
getLocalNsIndex ( $text) | |
Get a namespace key by value, case insensitive. | |
getMagic ( $mw) | |
Fill a MagicWord object with data from here. | |
getMagicWords () | |
Get all magic words from cache. | |
getMessage ( $key) | |
getMessageFromDB ( $msg) | |
Get a message from the MediaWiki namespace. | |
getMonthAbbreviation ( $key) | |
getMonthAbbreviationsArray () | |
getMonthName ( $key) | |
getMonthNameGen ( $key) | |
getMonthNamesArray () | |
getNamespaceAliases () | |
getNamespaceIds () | |
getNamespaces () | |
Returns an array of localised namespaces indexed by their numbers. | |
getNsIndex ( $text) | |
Get a namespace key by value, case insensitive. | |
getNsText ( $index) | |
Get a namespace value by key. | |
getParentLanguage () | |
Get the "parent" language which has a converter to convert a "compatible" language (in another variant) to this language (eg. | |
getPluralRuleIndexNumber ( $number) | |
Find the index number of the plural rule appropriate for the given number. | |
getPluralRules () | |
Get the plural rules for the 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'. | |
getPluralRuleTypes () | |
Get the plural rule types for the language. | |
getPreferredVariant () | |
getSpecialPageAliases () | |
Get special page names, as an associative array canonical name => array of valid names, including aliases. | |
getURLVariant () | |
getVariantname ( $code, $usemsg=true) | |
short names for language variants used for language conversion links. | |
getVariants () | |
Get the list of variants supported by this language see sample implementation in LanguageZh.php. | |
getWeekdayAbbreviation ( $key) | |
getWeekdayName ( $key) | |
hasVariant ( $variant) | |
Strict check if the language has the specific variant. | |
hasVariants () | |
Check if this is a language with variants. | |
hasWordBreaks () | |
Most writing systems use whitespace to break up words. | |
iconv ( $in, $out, $string) | |
isRTL () | |
For right-to-left language support. | |
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]]. | |
linkPrefixExtension () | |
To allow "foo[[bar]]" to extend the link over the whole word "foobar". | |
linkTrail () | |
A regular expression to match legal word-trailing characters which should be merged onto a link of the form [[foo]]bar. | |
listToText (array $list) | |
Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message. | |
minimumGroupingDigits () | |
needsGenderDistinction () | |
Whether this language uses gender-dependent namespace aliases. | |
normalize ( $s) | |
Convert a UTF-8 string to normal form C. | |
normalizeForSearch ( $string) | |
Some languages have special punctuation need to be normalized. | |
parseFormattedNumber ( $number) | |
pipeList (array $list) | |
Same as commaList, but separate it with the pipe instead. | |
resetNamespaces () | |
Resets all of the namespace caches. | |
segmentByWord ( $string) | |
Some languages such as Chinese require word segmentation, Specify such segmentation when overridden in derived class. | |
segmentForDiff ( $text) | |
languages like Chinese need to be segmented in order for the diff to be of any use | |
semicolonList (array $list) | |
Take a list of strings and build a locale-friendly semicolon-separated list, using the local semicolon-separator message. | |
separatorTransformTable () | |
setNamespaces (array $namespaces) | |
Arbitrarily set all of the namespace names at once. | |
specialList ( $page, $details, $oppositedm=true) | |
Make a list item, used by various special pages. | |
sprintfDate ( $format, $ts, DateTimeZone $zone=null, &$ttl='unused') | |
This is a workalike of PHP's date() function, but with better internationalisation, a reduced set of format characters, and a better escaping format. | |
time ( $ts, $adj=false, $format=true, $timecorrection=false) | |
timeanddate ( $ts, $adj=false, $format=true, $timecorrection=false) | |
translateBlockExpiry ( $str, UserIdentity $user=null, $now=0) | |
truncateForDatabase ( $string, $length, $ellipsis='...', $adjustLength=true) | |
Truncate a string to a specified length in bytes, appending an optional string (e.g. | |
truncateForVisual ( $string, $length, $ellipsis='...', $adjustLength=true) | |
Truncate a string to a specified number of characters, appending an optional string (e.g. | |
truncateHtml ( $text, $length, $ellipsis='...') | |
Truncate a string of valid HTML to a specified length in bytes, appending an optional string (e.g. | |
uc ( $str, $first=false) | |
ucfirst ( $str) | |
ucwordbreaks ( $str) | |
capitalize words at word breaks | |
ucwords ( $str) | |
unsegmentForDiff ( $text) | |
and unsegment to show the result | |
updateConversionTable (LinkTarget $linkTarget) | |
Refresh the cache of conversion tables when MediaWiki:Conversiontable* is updated. | |
userAdjust ( $ts, $tz=false) | |
Used by date() and time() to adjust the time output. | |
userDate ( $ts, UserIdentity $user, array $options=[]) | |
Get the formatted date for the given timestamp and formatted for the given user. | |
userTime ( $ts, UserIdentity $user, array $options=[]) | |
Get the formatted time for the given timestamp and formatted for the given user. | |
userTimeAndDate ( $ts, UserIdentity $user, array $options=[]) | |
Get the formatted date and time for the given timestamp and formatted for the given user. | |
Static Public Member Functions | |
static | classFromCode ( $code, $fallback=true) |
static | clearCaches () |
Intended for tests that may change configuration in a way that invalidates caches. | |
static | factory ( $code) |
Get a cached or new language object for a given language code. | |
static | fetchLanguageName ( $code, $inLanguage=LanguageNameUtils::AUTONYMS, $include=LanguageNameUtils::ALL) |
static | fetchLanguageNames ( $inLanguage=LanguageNameUtils::AUTONYMS, $include='mw') |
Get an array of language names, indexed by code. | |
static | getCodeFromFileName ( $filename, $prefix='Language', $suffix='.php') |
Get the language code from a file name. | |
static | getFallbackFor ( $code) |
Get the first fallback for a given language. | |
static | getFallbacksFor ( $code, $mode=LanguageFallback::MESSAGES) |
Get the ordered list of fallback languages. | |
static | getFallbacksIncludingSiteLanguage ( $code) |
Get the ordered list of fallback languages, ending with the fallback language chain for the site language. | |
static | getFileName ( $prefix, $code, $suffix='.php') |
Get the name of a file for a certain language code. | |
static | getJsonMessagesFileName ( $code) |
static | getLocalisationCache () |
static | getMessageFor ( $key, $code) |
Get a message for a given language. | |
static | getMessageKeysFor ( $code) |
Get all message keys for a given language. | |
static | getMessagesFileName ( $code) |
static | getMessagesFor ( $code) |
Get all messages for a given language WARNING: this may take a long time. | |
static | hebrewNumeral ( $num) |
Hebrew Gematria number formatting up to 9999. | |
static | isKnownLanguageTag ( $tag) |
Returns true if a language code is an IETF tag known to MediaWiki. | |
static | isSupportedLanguage ( $code) |
Checks whether any localisation is available for that language tag in MediaWiki (MessagesXx.php exists). | |
static | isValidBuiltInCode ( $code) |
Returns true if a language code is of a valid form for the purposes of internal customisation of MediaWiki, via Messages*.php or *.json. | |
static | isValidCode ( $code) |
Returns true if a language code string is of a valid form, whether or not it exists. | |
static | isWellFormedLanguageTag ( $code, $lenient=false) |
Returns true if a language code string is a well-formed language tag according to RFC 5646. | |
static | romanNumeral ( $num) |
Roman number formatting up to 10000. | |
Public Attributes | |
$dateFormatStrings = [] | |
memoize | |
$mCode | |
array[] | $mExtendedSpecialPageAliases |
memoize | |
$mMagicExtensions = [] | |
$transformData = [] | |
ReplacementArray object memoize. | |
const | ALL = LanguageNameUtils::ALL |
Return all known languages in fetchLanguageName(s). | |
const | AS_AUTONYMS = LanguageNameUtils::AUTONYMS |
Return autonyms in fetchLanguageName(s). | |
const | HEBREW_CALENDAR_MONTH_GENITIVE_MESSAGES |
const | HEBREW_CALENDAR_MONTHS_MESSAGES |
const | HIJRI_CALENDAR_MONTH_MESSAGES |
const | IRANIAN_CALENDAR_MONTHS_MESSAGES |
const | MESSAGES_FALLBACKS = LanguageFallback::MESSAGES |
Return a fallback chain for messages in getFallbacksFor. | |
const | MONTH_ABBREVIATED_MESSAGES |
const | MONTH_GENITIVE_MESSAGES |
const | MONTH_MESSAGES |
const | STRICT_FALLBACKS = LanguageFallback::STRICT |
Return a strict fallback chain in getFallbacksFor. | |
const | SUPPORTED = LanguageNameUtils::SUPPORTED |
Return in fetchLanguageName(s) only the languages for which we have at least some localisation. | |
const | WEEKDAY_ABBREVIATED_MESSAGES |
const | WEEKDAY_MESSAGES |
Static Public Attributes | |
static array | $durationIntervals = self::DURATION_INTERVALS |
static | $mHebrewCalendarMonthGenMsgs = self::HEBREW_CALENDAR_MONTH_GENITIVE_MESSAGES |
static | $mHebrewCalendarMonthMsgs = self::HEBREW_CALENDAR_MONTHS_MESSAGES |
static | $mHijriCalendarMonthMsgs = self::HIJRI_CALENDAR_MONTH_MESSAGES |
static | $mIranianCalendarMonthMsgs = self::IRANIAN_CALENDAR_MONTHS_MESSAGES |
static array | $mLangObjCache = [] |
static | $mMonthAbbrevMsgs = self::MONTH_ABBREVIATED_MESSAGES |
static | $mMonthGenMsgs = self::MONTH_GENITIVE_MESSAGES |
static | $mMonthMsgs = self::MONTH_MESSAGES |
static | $mWeekdayAbbrevMsgs = self::WEEKDAY_ABBREVIATED_MESSAGES |
static | $mWeekdayMsgs = self::WEEKDAY_MESSAGES |
Protected Member Functions | |
getHookContainer () | |
Get a HookContainer, for hook metadata and running extension hooks. | |
getHookRunner () | |
Get a HookRunner, for running core hooks. | |
handleExplicitPluralForms ( $count, array $forms) | |
Handles explicit plural forms for Language::convertPlural() | |
mbUpperChar ( $char) | |
Convert character to uppercase, allowing overrides of the default mb_upper behaviour, which is buggy in many ways. | |
msg ( $msg) | |
Get message object in this language. | |
preConvertPlural ($forms, $count) | |
Checks that convertPlural was given an array and pads it to requested amount of forms by copying the last one. | |
removeBadCharFirst ( $string) | |
Remove bytes that represent an incomplete Unicode character at the start of string (e.g. | |
removeBadCharLast ( $string) | |
Remove bytes that represent an incomplete Unicode character at the end of string (e.g. | |
transformUsingPairFile ( $file, $string, $basePath=null) | |
Transform a string using serialized data stored in the given file (which must be in the serialized subdirectory of $IP). | |
Static Protected Member Functions | |
static | convertDoubleWidth ( $string) |
convert double-width roman characters to single-width. | |
static | insertSpace ( $string, $pattern) |
Protected Attributes | |
$mNamespaceIds | |
$namespaceAliases | |
array null | $namespaceNames |
const | DURATION_INTERVALS |
Private Member Functions | |
fixVariableInNamespace ( $talk) | |
formatNumInternal (string $number, bool $noTranslate, bool $noSeparators) | |
Internal implementation function, shared between commafy, formatNum, and formatNumNoSeparators. | |
getHebrewCalendarMonthName ( $key) | |
getHebrewCalendarMonthNameGen ( $key) | |
getHijriCalendarMonthName ( $key) | |
getHumanTimestampInternal (MWTimestamp $ts, MWTimestamp $relativeTo, UserIdentity $user) | |
Convert an MWTimestamp into a pretty human-readable timestamp using the given user preferences and relative base time. | |
getIranianCalendarMonthName ( $key) | |
internalUserTimeAndDate ( $type, $ts, UserIdentity $user, array $options) | |
Internal helper function for userDate(), userTime() and userTimeAndDate() | |
isMultibyte ( $str) | |
truncate_endBracket (&$tag, $tagType, $lastCh, &$openTags) | |
truncateHtml() helper function (a) push or pop $tag from $openTags as needed (b) clear $tag value | |
truncate_skip (&$ret, $text, $search, $start, $len=null) | |
truncateHtml() helper function like strcspn() but adds the skipped chars to $ret | |
truncateInternal ( $string, $length, $ellipsis, $adjustLength, callable $measureLength, callable $getSubstring) | |
Internal method used for truncation. | |
Static Private Member Functions | |
static | dateTimeObjFormat (&$dateTimeObj, $ts, $zone, $code) |
Pass through result from $dateTimeObj->format() | |
static | hebrewYearStart ( $year) |
This calculates the Hebrew year start, as days since 1 September. | |
static | strongDirFromContent ( $text='') |
Gets directionality of the first strongly directional codepoint, for embedBidi() | |
static | tsToHebrew ( $ts) |
Converting Gregorian dates to Hebrew dates. | |
static | tsToHijri ( $ts) |
Converting Gregorian dates to Hijri dates. | |
static | tsToIranian ( $ts) |
Algorithm by Roozbeh Pournader and Mohammad Toossi to convert Gregorian dates to Iranian dates. | |
static | tsToYear ( $ts, $cName) |
Algorithm to convert Gregorian dates to Thai solar dates, Minguo dates or Minguo dates. | |
Private Attributes | |
LanguageConverterFactory | $converterFactory |
array[] null | $grammarTransformCache |
HookContainer | $hookContainer |
HookRunner | $hookRunner |
LanguageFallback | $langFallback |
LanguageNameUtils | $langNameUtils |
LocalisationCache | $localisationCache |
$mHtmlCode = null | |
const | LRE = "\u{202A}" |
Unicode directional formatting characters, for embedBidi() | |
const | PDF = "\u{202C}" |
const | RLE = "\u{202B}" |
Static Private Attributes | |
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 | $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(). | |
Internationalisation code See https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation for more information.
Definition at line 43 of file Language.php.
Language::__construct | ( | $code = null , |
|
LocalisationCache | $localisationCache = null , |
||
LanguageNameUtils | $langNameUtils = null , |
||
LanguageFallback | $langFallback = null , |
||
LanguageConverterFactory | $converterFactory = null , |
||
HookContainer | $hookContainer = null |
||
) |
string | null | $code | Which code to use. Passing null is deprecated in 1.35. |
LocalisationCache | null | $localisationCache | |
LanguageNameUtils | null | $langNameUtils | |
LanguageFallback | null | $langFallback | |
LanguageConverterFactory | null | $converterFactory | |
HookContainer | null | $hookContainer |
Definition at line 504 of file Language.php.
Language::__destruct | ( | ) |
Reduce memory usage.
Definition at line 556 of file Language.php.
Language::__get | ( | string | $name | ) |
Use PHP's magic __get handler to handle lazy accessing to deprecated mConverter.
string | $name | Field name |
Definition at line 73 of file Language.php.
References getConverter(), and wfDeprecatedMsg().
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....
Definition at line 3114 of file Language.php.
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....
Definition at line 3102 of file Language.php.
Language::autoConvert | ( | $text, | |
$variant = false |
|||
) |
convert text to a variant
string | $text | text to convert |
string | bool | $variant | variant to convert to, or false to use the user's preferred variant (if logged in), or the project default variant |
Definition at line 4237 of file Language.php.
Referenced by ApiQueryInfo\getAllVariants().
Language::autoConvertToAllVariants | ( | $text | ) |
convert text to all supported variants
string | $text |
Definition at line 4249 of file Language.php.
Referenced by LanguageZh\convertForSearchResult().
Language::capitalizeAllNouns | ( | ) |
Definition at line 3158 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.
string | $s |
Definition at line 2851 of file Language.php.
References $s.
Language::checkTitleEncoding | ( | $s | ) |
TODO: $s is not always a string per T218883.
string | $s |
Definition at line 2860 of file Language.php.
References $s, and StringUtils\isUtf8().
|
static |
string | $code | |
bool | $fallback | Whether we're going through language fallback chain |
Definition at line 4526 of file Language.php.
References $fallback, and wfDeprecated().
|
static |
Intended for tests that may change configuration in a way that invalidates caches.
Definition at line 352 of file Language.php.
References wfDeprecated().
Language::commafy | ( | $number | ) |
Adds commas to a given number.
NumberFormatting class is used when available for correct implementation as per tr35 specification of unicode.
string | null | $number | Expected to be a numeric string without (thousand) group separators. Decimal seperator, if present, must be a dot. Any non-string will be cast to string. |
Definition at line 3487 of file Language.php.
References wfDeprecated().
Language::commaList | ( | array | $list | ) |
Take a list of strings and build a locale-friendly comma-separated list, using the local comma-separator message.
string[] | $list | Array of strings to put in a comma list |
Definition at line 3556 of file Language.php.
References wfMessage().
Referenced by MediaWiki\Block\BlockErrorFormatter\getBlockErrorMessageParams().
Language::convert | ( | $text | ) |
convert text to different variants of a language.
string | $text | Content that has been already escaped for use in HTML |
Definition at line 4267 of file Language.php.
Language::convertCategoryKey | ( | $key | ) |
string | $key |
Definition at line 4344 of file Language.php.
|
staticprotected |
convert double-width roman characters to single-width.
range: ff00-ff5f ~= 0020-007f
string | $string |
Definition at line 2920 of file Language.php.
Referenced by LanguageZh\convertForSearchResult(), and LanguageYue\normalizeForSearch().
Language::convertForSearchResult | ( | $termsArray | ) |
string[] | $termsArray |
Reimplemented in LanguageZh.
Definition at line 2950 of file Language.php.
Language::convertGrammar | ( | $word, | |
$case | |||
) |
Grammatical transformations, needed for inflected languages Invoked by putting {{grammar:case|word}} in a message.
string | $word | |
string | $case |
Reimplemented in LanguageBs, LanguageCu, LanguageDsb, LanguageFi, LanguageGa, LanguageHsb, LanguageHu, LanguageHy, LanguageKaa, LanguageKk, LanguageKsh, LanguageLa, LanguageOs, LanguageSl, and LanguageTyv.
Definition at line 3922 of file Language.php.
References $wgGrammarForms, and wfLogWarning().
Language::convertHtml | ( | $text | ) |
Perform output conversion on a string, and encode for safe HTML output.
string | $text | Text to be converted |
Definition at line 4334 of file Language.php.
Language::convertNamespace | ( | $ns, | |
$variant = null |
|||
) |
Convert a namespace index to a string in the preferred variant.
int | $ns | namespace index (https://www.mediawiki.org/wiki/Manual:Namespace) |
string | null | $variant | variant to convert to, or null to use the user's preferred variant (if logged in), or the project default variant |
Definition at line 4294 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}}
int | $count | Non-localized number |
array | $forms | Different plural forms |
Reimplemented in LanguageKsh.
Definition at line 4059 of file Language.php.
Language::convertTitle | ( | $title | ) |
Convert a Title object to a string in the preferred variant.
Title | $title |
Definition at line 4279 of file Language.php.
References $title, and wfDeprecated().
Language::date | ( | $ts, | |
$adj = false , |
|||
$format = true , |
|||
$timecorrection = false |
|||
) |
string | $ts | The time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts) |
bool | $adj | Whether to adjust the time output according to the user configured offset ($timecorrection) |
mixed | $format | True to use user's date format preference |
string | bool | $timecorrection | The time offset as returned by validateTimeZone() in Special:Preferences |
Reimplemented in LanguageWa.
Definition at line 2299 of file Language.php.
References wfTimestamp().
Referenced by LanguageFi\translateBlockExpiry().
Language::dateFormat | ( | $usePrefs = true | ) |
This is meant to be used by time(), date(), and timeanddate() to get the date preference they're supposed to use, it should be used in all children.
function timeanddate([...], $format = true) { $datePreference = $this->dateFormat($format); [...] }
int | string | bool | $usePrefs | If true, the user's preference is used if false, the site/language default is used if int/string, assumed to be a format. |
Definition at line 2231 of file Language.php.
Referenced by LanguageWa\date(), and LanguageWa\timeanddate().
|
staticprivate |
Pass through result from $dateTimeObj->format()
DateTime | bool | null | &$dateTimeObj | |
string | $ts | |
DateTimeZone | bool | null | $zone | |
string | $code |
Definition at line 1054 of file Language.php.
Language::digitGroupingPattern | ( | ) |
Definition at line 3499 of file Language.php.
Language::digitTransformTable | ( | ) |
Definition at line 3506 of file Language.php.
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.
string | $text | Text to wrap |
Definition at line 4130 of file Language.php.
Referenced by MediaWiki\Block\BlockErrorFormatter\formatBlockerLink(), and MediaWiki\Block\BlockErrorFormatter\getFormattedBlockErrorInfo().
Language::emphasize | ( | $text | ) |
Italic is unsuitable for some languages.
string | $text | The text to be emphasized. |
Reimplemented in LanguageJa.
Definition at line 3242 of file Language.php.
Language::equals | ( | Language | $lang | ) |
Compare with an other language object.
Language | $lang |
Definition at line 4468 of file Language.php.
References $lang.
|
static |
Get a cached or new language object for a given language code.
string | $code |
MWException | if the language code is invalid |
Definition at line 342 of file Language.php.
Language::fallback8bitEncoding | ( | ) |
Definition at line 2874 of file Language.php.
|
static |
string | $code | The code of the language for which to get the name |
null | string | $inLanguage | Code of language in which to return the name (LanguageNameUtils::AUTONYMS for autonyms) |
string | $include | See fetchLanguageNames() |
Definition at line 923 of file Language.php.
|
static |
Get an array of language names, indexed by code.
null | string | $inLanguage | Code of language in which to return the names Use LanguageNameUtils::AUTONYMS for autonyms (native names) |
string | $include | One of: LanguageNameUtils::AUTONYMS all available languages 'mw' only if the language is defined in MediaWiki or wgExtraLanguageNames (default) LanguageNameUtils::SUPPORTED only if the language is in 'mw' and has a message file |
Definition at line 906 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
string | &$link | The name of the link |
Title | &$nt | The title object of the link |
bool | $ignoreOtherCond | To disable other conditions when we need to transclude a template or update a category's link |
Definition at line 4398 of file Language.php.
References wfDeprecated().
Language::firstChar | ( | $s | ) |
Get the first character of a string.
string | $s |
Definition at line 2962 of file Language.php.
References $s.
|
private |
string | $talk |
Definition at line 4664 of file Language.php.
References $wgMetaNamespace.
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().
int | $bps |
Definition at line 4839 of file Language.php.
Language::formatComputingNumbers | ( | $size, | |
$boundary, | |||
$messageKey | |||
) |
int | $size | Size of the unit |
int | $boundary | Size boundary (1000, or 1024 in most cases) |
string | $messageKey | Message key to be used |
Definition at line 4849 of file Language.php.
Language::formatDuration | ( | $seconds, | |
array | $chosenIntervals = [] |
||
) |
Takes a number of seconds and turns it into a text using values such as hours and minutes.
int | $seconds | The amount of seconds. |
array | $chosenIntervals | The intervals to enable. |
Reimplemented in LanguageZh_hans.
Definition at line 2357 of file Language.php.
References wfMessage().
Language::formatExpiry | ( | $expiry, | |
$format = true , |
|||
$infinity = 'infinity' , |
|||
$user = null |
|||
) |
Decode an expiry (block, protection, etc) which has come from the DB.
string | $expiry | Database expiry String |
bool | int | $format | True to process using language functions, or TS_ constant to return the expiry in a given timestamp |
string | $infinity | If $format is not true, use this string for infinite expiry |
UserIdentity | null | $user | If $format is true, use this user for date format |
Definition at line 4698 of file Language.php.
References DB_REPLICA, wfGetDB(), and wfTimestamp().
Referenced by MediaWiki\Block\BlockErrorFormatter\getFormattedBlockErrorInfo().
Language::formatNum | ( | $number, | |
$noSeparators = null |
|||
) |
Normally we output all numbers in plain en_US style, that is 293,291.235 for two hundred ninety-three thousand two hundred ninety-one point two hundred thirty-five.
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.
string | int | float | $number | Expected to be a pre-formatted (e.g. leading zeros, number of decimal places) numeric string. Any non-string will be cast to string. |
bool | null | $noSeparators | Set to true for special numbers like dates (deprecated: use ::formatNumNoSeparators instead of this param) |
Reimplemented in LanguageKm, and LanguageMy.
Definition at line 3268 of file Language.php.
References wfDeprecated().
|
private |
Internal implementation function, shared between commafy, formatNum, and formatNumNoSeparators.
string | $number | The stringification of a valid PHP number |
bool | $noTranslate | Whether to translate digits and separators |
bool | $noSeparators | Whether to add separators |
Definition at line 3287 of file Language.php.
Language::formatNumNoSeparators | ( | $number | ) |
Front-end for non-commafied formatNum.
string | int | float | $number | The string to be formatted, should be an integer or a floating point number. |
Definition at line 3436 of file Language.php.
Referenced by LanguageKm\formatNum(), and LanguageMy\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()
int | $size | Size to format |
Definition at line 4887 of file Language.php.
Language::formatTimePeriod | ( | $seconds, | |
$format = [] |
|||
) |
Formats a time given in seconds into a string representation of that time.
int | float | $seconds | |
array | $format | An optional argument that formats the returned string in different ways: If $format['avoid'] === 'avoidhours': don't show hours, just show days If $format['avoid'] === 'avoidseconds': don't show seconds if $seconds >= 1 hour, If $format['avoid'] === 'avoidminutes': don't show seconds/minutes if $seconds > 48 hours, If $format['noabbrevs'] is true: use 'seconds' and friends instead of 'seconds-abbrev' and friends. |
Definition at line 4732 of file Language.php.
References $s, 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.
string | $gender | |
array | $forms |
Definition at line 4030 of file Language.php.
Language::getAllMessages | ( | ) |
Definition at line 2658 of file Language.php.
Language::getArrow | ( | $direction = 'forwards' | ) |
An arrow, depending on the language direction.
string | $direction | The direction of the arrow: forwards (default), backwards, left, right, up, down. |
Definition at line 3169 of file Language.php.
Language::getBookstoreList | ( | ) |
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
Definition at line 4480 of file Language.php.
Referenced by LanguageHu\convertGrammar(), and Message\inLanguage().
|
static |
Get the language code from a file name.
Inverse of getFileName()
string | $filename | $prefix . $languageCode . $suffix |
string | $prefix | Prefix before the language code |
string | $suffix | Suffix after the language code |
Definition at line 4508 of file Language.php.
Language::getCompiledPluralRules | ( | ) |
Get the compiled plural rules for the language.
Definition at line 4928 of file Language.php.
Language::getConverter | ( | ) |
Return the LanguageConverter used in the Language.
Definition at line 4223 of file Language.php.
Referenced by __get(), LanguageZh\convertForSearchResult(), getNamespaceAliases(), and LanguageZh\normalizeForSearch().
Language::getConvRuleTitle | ( | ) |
Get the conversion rule title, if any.
Definition at line 4919 of file Language.php.
Language::getDateFormats | ( | ) |
Definition at line 867 of file Language.php.
Language::getDateFormatString | ( | $type, | |
$pref | |||
) |
Get a format string for a given type and preference.
string | $type | May be 'date', 'time', 'both', or 'pretty'. |
string | $pref | The format name as it appears in Messages*.php under $datePreferences. |
Definition at line 2263 of file Language.php.
References $type.
Language::getDatePreferenceMigrationMap | ( | ) |
Definition at line 887 of file Language.php.
Language::getDatePreferences | ( | ) |
Definition at line 860 of file Language.php.
Language::getDefaultDateFormat | ( | ) |
Definition at line 874 of file Language.php.
Language::getDefaultVariant | ( | ) |
Definition at line 4372 of file Language.php.
Language::getDir | ( | ) |
Return the correct HTML 'dir' attribute value for this language.
Definition at line 3090 of file Language.php.
Language::getDirMark | ( | $opposite = false | ) |
A hidden direction mark (LRM or RLM), depending on the language direction.
This function produces them as invisible Unicode characters and the output may be hard to read and debug, so it should only be used when the output is plain text or can be escaped. When the output is HTML, use getDirMarkEntity() instead.
bool | $opposite | Get the direction mark opposite to your language |
Definition at line 3146 of file Language.php.
Language::getDirMarkEntity | ( | $opposite = false | ) |
A hidden direction mark (LRM or RLM), depending on the language direction.
Unlike getDirMark(), this function returns the character as an HTML entity. This function should be used when the output is guaranteed to be HTML, because it makes the output HTML source code more readable. When the output is plain text or can be escaped, getDirMark() should be used.
bool | $opposite | Get the direction mark opposite to your language |
Definition at line 3129 of file Language.php.
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 [ minutes => 1, seconds => 5 ].
int | $seconds | The amount of seconds. |
array | $chosenIntervals | The intervals to enable. |
Definition at line 2383 of file Language.php.
Referenced by LanguageZh_hans\formatDuration().
Language::getExtraHashOptions | ( | ) |
returns language specific options used by User::getPageRenderHash() for example, the preferred language variant
Definition at line 4411 of file Language.php.
|
static |
Get the first fallback for a given language.
string | $code |
Definition at line 4581 of file Language.php.
Language::getFallbackLanguages | ( | ) |
|
static |
Get the ordered list of fallback languages.
string | $code | Language code |
int | $mode | Fallback mode, either MESSAGES_FALLBACKS (which always falls back to 'en'), or STRICT_FALLBACKS (which only falls back to 'en' when explicitly defined) |
InvalidArgumentException |
Definition at line 4598 of file Language.php.
|
static |
Get the ordered list of fallback languages, ending with the fallback language chain for the site language.
string | $code | Language code |
Definition at line 4612 of file Language.php.
|
static |
Get the name of a file for a certain language code.
string | $prefix | Prepend this to the filename |
string | $code | Language code |
string | $suffix | Append this to the filename |
MWException |
Definition at line 4546 of file Language.php.
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.
Definition at line 645 of file Language.php.
References getNamespaces().
Language::getFormattedNsText | ( | $index | ) |
A convenience function that returns the same thing as getNsText() except with '_' changed to ' ', useful for producing output.
$mw_ns = $lang->getFormattedNsText( NS_MEDIAWIKI_TALK ); echo $mw_ns; // prints 'MediaWiki talk'
int | $index | The array key of the namespace to return |
Definition at line 682 of file Language.php.
References getNsText().
Referenced by LanguageConverter\convertNamespace().
Language::getGenderNsText | ( | $index, | |
$gender | |||
) |
Returns gender-dependent namespace alias if available.
See https://www.mediawiki.org/wiki/Manual:$wgExtraGenderNamespaces
int | $index | Namespace index |
string | $gender | Gender key (male, female... ) |
Definition at line 695 of file Language.php.
References $wgExtraGenderNamespaces, and getNsText().
Language::getGrammarForms | ( | ) |
Get the grammar forms for the content language.
Definition at line 3973 of file Language.php.
References $wgGrammarForms.
Language::getGrammarTransformations | ( | ) |
Get the grammar transformations data for the language.
Used like grammar forms, with {{GRAMMAR}} and cases, but uses pairs of regexes and replacements instead of code.
MWException |
Definition at line 3993 of file Language.php.
|
private |
|
private |
|
private |
|
protected |
Get a HookContainer, for hook metadata and running extension hooks.
Definition at line 5017 of file Language.php.
|
protected |
Get a HookRunner, for running core hooks.
Definition at line 5029 of file Language.php.
Referenced by getNamespaces().
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.
Definition at line 4494 of file Language.php.
Language::getHumanTimestamp | ( | MWTimestamp | $time, |
MWTimestamp | $relativeTo = null , |
||
UserIdentity | $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.
MWTimestamp | $time | |
MWTimestamp | null | $relativeTo | The base timestamp to compare to (defaults to now) |
UserIdentity | null | $user | User the timestamp is being generated for (or null to use main context's user) |
Definition at line 2540 of file Language.php.
References User\newFromIdentity(), and MWTimestamp\offsetForUser().
|
private |
Convert an MWTimestamp into a pretty human-readable timestamp using the given user preferences and relative base time.
MWTimestamp | $ts | Timestamp to prettify |
MWTimestamp | $relativeTo | Base timestamp |
UserIdentity | $user | User preferences to use |
Definition at line 2580 of file Language.php.
References User\newFromIdentity(), and wfMessage().
|
private |
|
static |
string | $code |
MWException |
Definition at line 4568 of file Language.php.
|
static |
Definition at line 490 of file Language.php.
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.
string | $text |
Definition at line 734 of file Language.php.
References getNamespaceIds(), and lc().
Language::getMagic | ( | $mw | ) |
Fill a MagicWord object with data from here.
MagicWord | $mw |
Definition at line 3208 of file Language.php.
References wfWarn().
Language::getMagicWords | ( | ) |
Language::getMessage | ( | $key | ) |
string | $key |
Reimplemented in LanguageQqx.
Definition at line 2651 of file Language.php.
|
static |
Get a message for a given language.
string | $key | |
string | $code |
Definition at line 4642 of file Language.php.
Language::getMessageFromDB | ( | $msg | ) |
Get a message from the MediaWiki namespace.
string | $msg | Message name |
Definition at line 938 of file Language.php.
Referenced by getVariantname().
|
static |
Get all message keys for a given language.
This is a faster alternative to array_keys( Language::getMessagesFor( $code ) )
string | $code | Language code |
Definition at line 4656 of file Language.php.
|
static |
string | $code |
Definition at line 4556 of file Language.php.
|
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().
string | $code |
Definition at line 4628 of file Language.php.
Language::getMonthAbbreviation | ( | $key | ) |
Language::getMonthAbbreviationsArray | ( | ) |
Definition at line 990 of file Language.php.
Language::getMonthName | ( | $key | ) |
int | $key |
Definition at line 956 of file Language.php.
Referenced by LanguageWa\date().
Language::getMonthNameGen | ( | $key | ) |
Language::getMonthNamesArray | ( | ) |
Definition at line 963 of file Language.php.
Language::getNamespaceAliases | ( | ) |
Definition at line 744 of file Language.php.
References $namespaceAliases, $wgExtraGenderNamespaces, $wgNamespaceAliases, fixVariableInNamespace(), getConverter(), getNamespaces(), getVariants(), and NS_PROJECT_TALK.
Referenced by getNamespaceIds().
Language::getNamespaceIds | ( | ) |
Definition at line 801 of file Language.php.
References getNamespaceAliases(), getNamespaces(), 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.
Definition at line 584 of file Language.php.
References $namespaceNames, $wgExtraNamespaces, $wgMetaNamespace, $wgMetaNamespaceTalk, fixVariableInNamespace(), getHookRunner(), NS_PROJECT, and NS_PROJECT_TALK.
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.
string | $text |
Definition at line 825 of file Language.php.
References getNamespaceIds(), and lc().
Language::getNsText | ( | $index | ) |
Get a namespace value by key.
$mw_ns = $lang->getNsText( NS_MEDIAWIKI ); echo $mw_ns; // prints 'MediaWiki'
int | $index | The array key of the namespace to return |
Definition at line 664 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).
Definition at line 4456 of file Language.php.
Language::getPluralRuleIndexNumber | ( | $number | ) |
Find the index number of the plural rule appropriate for the given number.
int | $number |
Definition at line 4991 of file Language.php.
Language::getPluralRules | ( | ) |
Get the plural rules for the language.
Definition at line 4949 of file Language.php.
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'.
int | $number |
Definition at line 5005 of file Language.php.
Language::getPluralRuleTypes | ( | ) |
Get the plural rule types for the language.
Definition at line 4970 of file Language.php.
Language::getPreferredVariant | ( | ) |
Definition at line 4364 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.
Definition at line 3225 of file Language.php.
Language::getURLVariant | ( | ) |
Definition at line 4380 of file Language.php.
Language::getVariantname | ( | $code, | |
$usemsg = true |
|||
) |
short names for language variants used for language conversion links.
string | $code | |
bool | $usemsg | Use the "variantname-xyz" message if it exists |
Definition at line 843 of file Language.php.
References getMessageFromDB(), and wfMessage().
Language::getVariants | ( | ) |
Get the list of variants supported by this language see sample implementation in LanguageZh.php.
Definition at line 4356 of file Language.php.
Referenced by getNamespaceAliases().
Language::getWeekdayAbbreviation | ( | $key | ) |
Language::getWeekdayName | ( | $key | ) |
|
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().
int | $count | Non-localized number |
array | $forms | Different plural forms |
Definition at line 4089 of file Language.php.
Referenced by LanguageKsh\convertPlural().
Language::hasVariant | ( | $variant | ) |
Strict check if the language has the specific variant.
Compare to LanguageConverter::validateVariant() which does a more lenient check and attempts to coerce the given code to a valid one.
string | $variant |
Definition at line 4321 of file Language.php.
Language::hasVariants | ( | ) |
Check if this is a language with variants.
Definition at line 4305 of file Language.php.
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.
Reimplemented in LanguageYue, and LanguageZh_hans.
Definition at line 2886 of file Language.php.
|
static |
Hebrew Gematria number formatting up to 9999.
int | $num |
Definition at line 2061 of file Language.php.
|
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.
int | $year |
Definition at line 1869 of file Language.php.
Language::iconv | ( | $in, | |
$out, | |||
$string | |||
) |
string | $in | |
string | $out | |
string | $string |
Definition at line 2668 of file Language.php.
|
staticprotected |
string | $string | |
string | $pattern |
Definition at line 2940 of file Language.php.
Referenced by LanguageJa\segmentByWord(), LanguageYue\segmentByWord(), and LanguageZh_hans\segmentByWord().
|
private |
Internal helper function for userDate(), userTime() and userTimeAndDate()
string | $type | Can be 'date', 'time' or 'both' |
string | $ts | The time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts) |
UserIdentity | $user | User used to get preferences for timezone and format |
array | $options | Array, can contain the following keys:
|
Definition at line 2434 of file Language.php.
References $type, User\newFromIdentity(), true, and wfTimestamp().
|
static |
Returns true if a language code is an IETF tag known to MediaWiki.
string | $tag |
Definition at line 481 of file Language.php.
|
private |
Language::isRTL | ( | ) |
|
static |
Checks whether any localisation is available for that language tag in MediaWiki (MessagesXx.php exists).
string | $code | Language tag (in lower case) |
Definition at line 374 of file Language.php.
|
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.
string | $code |
Definition at line 466 of file Language.php.
|
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.
string | $code |
Definition at line 451 of file Language.php.
|
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: https://www.unicode.org/repos/cldr/trunk/tools/java/org/unicode/cldr/util/data/langtagRegex.txt
string | $code | |
bool | $lenient | Whether to allow '_' as separator. The default is only '-'. |
Definition at line 394 of file Language.php.
References $s.
Language::lc | ( | $str, | |
$first = false |
|||
) |
string | $str | |
bool | $first | Whether to lowercase only the first character |
Definition at line 2761 of file Language.php.
Referenced by getLocalNsIndex(), getNamespaceIds(), getNsIndex(), LanguageTr\lcfirst(), and LanguageTr\ucfirst().
Language::lcfirst | ( | $str | ) |
string | $str |
Reimplemented in LanguageKaa, LanguageKk, and LanguageTr.
Definition at line 2738 of file Language.php.
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]].
Definition at line 4444 of file Language.php.
Language::linkPrefixExtension | ( | ) |
To allow "foo[[bar]]" to extend the link over the whole word "foobar".
Definition at line 3191 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.
Definition at line 4434 of file Language.php.
Language::listToText | ( | array | $list | ) |
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".
string[] | $list |
Definition at line 3532 of file Language.php.
|
protected |
Convert character to uppercase, allowing overrides of the default mb_upper behaviour, which is buggy in many ways.
Having a conversion table can be useful during transitions between PHP versions where unicode changes happen. This can make some resources unreachable on-wiki, see discussion at T219279. Providing such a conversion table can allow to manage the transition period.
string | $char |
Definition at line 2728 of file Language.php.
References $wgOverrideUcfirstCharacters.
Language::minimumGroupingDigits | ( | ) |
Definition at line 3520 of file Language.php.
|
protected |
Get message object in this language.
Only for use inside this class.
string | $msg | Message name |
Definition at line 948 of file Language.php.
Language::needsGenderDistinction | ( | ) |
Whether this language uses gender-dependent namespace aliases.
See https://www.mediawiki.org/wiki/Manual:$wgExtraGenderNamespaces
Definition at line 710 of file Language.php.
References $wgExtraGenderNamespaces, $wgExtraNamespaces, NS_USER, and NS_USER_TALK.
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.
string | $s |
Reimplemented in LanguageAr, and LanguageMl.
Definition at line 3019 of file Language.php.
References $IP, $s, and $wgAllUnicodeFixes.
Language::normalizeForSearch | ( | $string | ) |
Some languages have special punctuation need to be normalized.
Make such changes here.
string | $string |
Reimplemented in LanguageZh_hans, LanguageBe_tarask, and LanguageYue.
Definition at line 2908 of file Language.php.
Language::parseFormattedNumber | ( | $number | ) |
Language::pipeList | ( | array | $list | ) |
Same as commaList, but separate it with the pipe instead.
string[] | $list | Array of strings to put in a pipe list |
Definition at line 3581 of file Language.php.
References wfMessage().
|
protected |
Checks that convertPlural was given an array and pads it to requested amount of forms by copying the last one.
array | $forms | |
int | $count | How many forms should there be at least |
Definition at line 4110 of file Language.php.
Referenced by LanguageKsh\convertPlural().
|
protected |
Remove bytes that represent an incomplete Unicode character at the start of string (e.g.
bytes of the char are missing)
string | $string |
Definition at line 3732 of file Language.php.
|
protected |
Remove bytes that represent an incomplete Unicode character at the end of string (e.g.
bytes of the char are missing)
string | $string |
Definition at line 3706 of file Language.php.
Language::resetNamespaces | ( | ) |
Resets all of the namespace caches.
Mainly used for testing
Definition at line 633 of file Language.php.
|
static |
Roman number formatting up to 10000.
int | $num |
Definition at line 2030 of file Language.php.
References $s.
Language::segmentByWord | ( | $string | ) |
Some languages such as Chinese require word segmentation, Specify such segmentation when overridden in derived class.
string | $string |
Reimplemented in LanguageJa, LanguageYue, and LanguageZh_hans.
Definition at line 2897 of file Language.php.
Language::segmentForDiff | ( | $text | ) |
languages like Chinese need to be segmented in order for the diff to be of any use
string | $text |
Reimplemented in LanguageZh.
Definition at line 4200 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.
string[] | $list | Array of strings to put in a semicolon list |
Definition at line 3569 of file Language.php.
References wfMessage().
Language::separatorTransformTable | ( | ) |
Definition at line 3513 of file Language.php.
Language::setNamespaces | ( | array | $namespaces | ) |
Arbitrarily set all of the namespace names at once.
Mainly used for testing
array | $namespaces | Array of namespaces (id => name) |
Definition at line 625 of file Language.php.
Language::specialList | ( | $page, | |
$details, | |||
$oppositedm = true |
|||
) |
Make a list item, used by various special pages.
string | $page | Page link |
string | $details | HTML safe text between brackets |
bool | $oppositedm | Add the direction mark opposite to your language, to display text properly |
Definition at line 4900 of file Language.php.
Language::sprintfDate | ( | $format, | |
$ts, | |||
DateTimeZone | $zone = null , |
||
& | $ttl = 'unused' |
||
) |
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 xit t (days in month) in Iranian calendar xiz z (day of the 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.
string | $format | |
string | $ts | 14-character timestamp YYYYMMDDHHMMSS 01234567890123 |
DateTimeZone | null | $zone | Timezone of $ts |
int | null | &$ttl | The amount of time (in seconds) the output may be cached for. Only makes sense if $ts is the current time. |
MWException |
Definition at line 1133 of file Language.php.
|
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 ( https://www.unicode.org/reports/tr9/#The_Paragraph_Level ) and FSI isolates ( https://www.unicode.org/reports/tr9/#Explicit_Directional_Isolates ).
TODO: Does not handle BIDI control characters inside the text. TODO: Does not handle unallocated characters.
string | $text | Text to test |
Definition at line 2013 of file Language.php.
References $matches.
Language::time | ( | $ts, | |
$adj = false , |
|||
$format = true , |
|||
$timecorrection = false |
|||
) |
string | $ts | The time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts) |
bool | $adj | Whether to adjust the time output according to the user configured offset ($timecorrection) |
mixed | $format | True to use user's date format preference |
string | bool | $timecorrection | The time offset as returned by validateTimeZone() in Special:Preferences |
Definition at line 2318 of file Language.php.
References wfTimestamp().
Referenced by LanguageWa\timeanddate().
Language::timeanddate | ( | $ts, | |
$adj = false , |
|||
$format = true , |
|||
$timecorrection = false |
|||
) |
string | $ts | The time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts) |
bool | $adj | Whether to adjust the time output according to the user configured offset ($timecorrection) |
mixed | $format | What format to return, if it's false output the default one (default true) |
string | bool | $timecorrection | The time offset as returned by validateTimeZone() in Special:Preferences |
Reimplemented in LanguageWa.
Definition at line 2338 of file Language.php.
References wfTimestamp().
|
protected |
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.
string | $file | |
string | $string | |
string | null | $basePath |
MWException |
Definition at line 3046 of file Language.php.
References $file, $IP, and wfDeprecated().
Referenced by LanguageAr\normalize(), and LanguageMl\normalize().
Language::translateBlockExpiry | ( | $str, | |
UserIdentity | $user = null , |
||
$now = 0 |
|||
) |
string | $str | The validated block duration in English |
UserIdentity | null | $user | User to use timezone from or null for the context user |
int | $now | Current timestamp, for formatting relative block durations |
Reimplemented in LanguageFi.
Definition at line 4157 of file Language.php.
References wfIsInfinity().
|
private |
truncateHtml() helper function (a) push or pop $tag from $openTags as needed (b) clear $tag value
string | &$tag | Current HTML tag name we are looking at |
int | $tagType | (0-open tag, 1-close tag) |
string | $lastCh | Character before the '>' that ended this tag |
array | &$openTags | Open tag stack (not accounting for $tag) |
Definition at line 3900 of file Language.php.
|
private |
truncateHtml() helper function like strcspn() but adds the skipped chars to $ret
string | &$ret | |
string | $text | |
string | $search | |
int | $start | |
null | int | $len |
Definition at line 3877 of file Language.php.
Language::truncateForDatabase | ( | $string, | |
$length, | |||
$ellipsis = '...' , |
|||
$adjustLength = true |
|||
) |
Truncate a string to a specified length in bytes, appending an optional string (e.g.
for ellipsis)
If $length is negative, the string will be truncated from the beginning
string | $string | String to truncate |
int | $length | Maximum length in bytes |
string | $ellipsis | String to append to the end of truncated text |
bool | $adjustLength | Subtract length of ellipsis from $length |
Definition at line 3603 of file Language.php.
Language::truncateForVisual | ( | $string, | |
$length, | |||
$ellipsis = '...' , |
|||
$adjustLength = true |
|||
) |
Truncate a string to a specified number of characters, appending an optional string (e.g.
for ellipsis).
This provides multibyte version of truncateForDatabase() method of this class, suitable for truncation based on number of characters, instead of number of bytes.
If $length is negative, the string will be truncated from the beginning.
string | $string | String to truncate |
int | $length | Maximum number of characters |
string | $ellipsis | String to append to the end of truncated text |
bool | $adjustLength | Subtract length of ellipsis from $length |
Definition at line 3627 of file Language.php.
Referenced by TraditionalImageGallery\getCaptionHtml().
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.
string | $text | HTML string to truncate |
int | $length | (zero/positive) Maximum length (including ellipses) |
string | $ellipsis | String to append to the truncated text |
Definition at line 3758 of file Language.php.
References wfMessage().
|
private |
Internal method used for truncation.
This method abstracts text truncation into one common method, allowing users to provide length measurement function and function for finding substring.
For usages, see truncateForDatabase and truncateForVisual.
string | $string | String to truncate |
int | $length | Maximum length of final text |
string | $ellipsis | String to append to the end of truncated text |
bool | $adjustLength | Subtract length of ellipsis from $length |
callable | $measureLength | Callable function used for determining the length of text |
callable | $getSubstring | Callable function used for getting the substrings |
Definition at line 3653 of file Language.php.
References wfMessage().
|
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.
string | $ts |
Definition at line 1731 of file Language.php.
|
staticprivate |
Converting Gregorian dates to Hijri dates.
Based on a PHP-Nuke block by Sharjeel which is released under GNU/GPL license
string | $ts |
Definition at line 1679 of file Language.php.
|
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
string | $ts |
Definition at line 1619 of file Language.php.
|
staticprivate |
Algorithm to convert Gregorian dates to Thai solar dates, Minguo dates or Minguo dates.
Link: https://en.wikipedia.org/wiki/Thai_solar_calendar https://en.wikipedia.org/wiki/Minguo_calendar https://en.wikipedia.org/wiki/Japanese_era_name
string | $ts | 14-character timestamp |
string | $cName | Calender name |
Definition at line 1907 of file Language.php.
Language::uc | ( | $str, | |
$first = false |
|||
) |
string | $str | |
bool | $first | Whether to uppercase only the first character |
Definition at line 2707 of file Language.php.
Referenced by LanguageTr\lcfirst(), and LanguageTr\ucfirst().
Language::ucfirst | ( | $str | ) |
string | $str |
Reimplemented in LanguageAz, LanguageKaa, LanguageKk, and LanguageTr.
Definition at line 2683 of file Language.php.
Language::ucwordbreaks | ( | $str | ) |
capitalize words at word breaks
string | $str |
Definition at line 2807 of file Language.php.
References $matches.
Language::ucwords | ( | $str | ) |
string | $str |
Definition at line 2781 of file Language.php.
References $matches.
Language::unsegmentForDiff | ( | $text | ) |
and unsegment to show the result
string | $text |
Reimplemented in LanguageZh.
Definition at line 4210 of file Language.php.
Language::updateConversionTable | ( | LinkTarget | $linkTarget | ) |
Refresh the cache of conversion tables when MediaWiki:Conversiontable* is updated.
LinkTarget | $linkTarget | The LinkTarget of the page being updated |
Definition at line 4423 of file Language.php.
References wfDeprecated().
Language::userAdjust | ( | $ts, | |
$tz = false |
|||
) |
Used by date() and time() to adjust the time output.
string | $ts | The time in date('YmdHis') format |
mixed | $tz | Adjust the time by this amount (default false, mean we get user timecorrection setting) |
Definition at line 2148 of file Language.php.
References $t, and $wgLocalTZoffset.
Referenced by LanguageWa\date(), and LanguageWa\timeanddate().
Language::userDate | ( | $ts, | |
UserIdentity | $user, | ||
array | $options = [] |
||
) |
Get the formatted date for the given timestamp and formatted for the given user.
mixed | $ts | Mixed: the time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts) |
UserIdentity | $user | User used to get preferences for timezone and format |
array | $options | Array, can contain the following keys:
|
Definition at line 2475 of file Language.php.
Language::userTime | ( | $ts, | |
UserIdentity | $user, | ||
array | $options = [] |
||
) |
Get the formatted time for the given timestamp and formatted for the given user.
mixed | $ts | The time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts) |
UserIdentity | $user | User used to get preferences for timezone and format |
array | $options | Array, can contain the following keys:
|
Definition at line 2498 of file Language.php.
Language::userTimeAndDate | ( | $ts, | |
UserIdentity | $user, | ||
array | $options = [] |
||
) |
Get the formatted date and time for the given timestamp and formatted for the given user.
mixed | $ts | The time format which needs to be turned into a date('YmdHis') format with wfTimestamp(TS_MW,$ts) |
UserIdentity | $user | User used to get preferences for timezone and format |
array | $options | Array, can contain the following keys:
|
Definition at line 2521 of file Language.php.
Referenced by MediaWiki\Block\BlockErrorFormatter\getFormattedBlockErrorInfo().
|
private |
Definition at line 130 of file Language.php.
Language::$dateFormatStrings = [] |
|
static |
Definition at line 310 of file Language.php.
|
private |
Definition at line 125 of file Language.php.
|
staticprivate |
Definition at line 1604 of file Language.php.
|
private |
Definition at line 135 of file Language.php.
|
private |
Definition at line 140 of file Language.php.
|
staticprivate |
Definition at line 1605 of file Language.php.
|
private |
Definition at line 122 of file Language.php.
|
private |
Definition at line 119 of file Language.php.
|
private |
Definition at line 116 of file Language.php.
Language::$mCode |
Definition at line 83 of file Language.php.
array [] Language::$mExtendedSpecialPageAliases |
|
static |
Definition at line 273 of file Language.php.
|
static |
Definition at line 257 of file Language.php.
|
static |
Definition at line 288 of file Language.php.
|
private |
Definition at line 90 of file Language.php.
|
static |
Definition at line 241 of file Language.php.
|
static |
Definition at line 146 of file Language.php.
Language::$mMagicExtensions = [] |
Definition at line 88 of file Language.php.
|
static |
Definition at line 226 of file Language.php.
|
static |
Definition at line 213 of file Language.php.
|
static |
Definition at line 199 of file Language.php.
|
protected |
Definition at line 107 of file Language.php.
|
static |
Definition at line 185 of file Language.php.
|
static |
Definition at line 173 of file Language.php.
|
protected |
Definition at line 107 of file Language.php.
|
protected |
Definition at line 106 of file Language.php.
|
staticprivate |
Directionality test regex for embedBidi().
Matches the first strong directionality codepoint:
The form is '/(?:([strong ltr codepoint])|([strong rtl codepoint]))/u' .
Generated by UnicodeJS (see tools/strongDir) from the UCD; see https://phabricator.wikimedia.org/diffusion/GUJS/ .
Definition at line 332 of file Language.php.
Language::$transformData = [] |
ReplacementArray object memoize.
Definition at line 113 of file Language.php.
const Language::ALL = LanguageNameUtils::ALL |
Return all known languages in fetchLanguageName(s).
Definition at line 56 of file Language.php.
const Language::AS_AUTONYMS = LanguageNameUtils::AUTONYMS |
Return autonyms in fetchLanguageName(s).
Definition at line 49 of file Language.php.
|
protected |
Definition at line 293 of file Language.php.
const Language::HEBREW_CALENDAR_MONTH_GENITIVE_MESSAGES |
Definition at line 262 of file Language.php.
const Language::HEBREW_CALENDAR_MONTHS_MESSAGES |
Definition at line 246 of file Language.php.
const Language::HIJRI_CALENDAR_MONTH_MESSAGES |
Definition at line 278 of file Language.php.
const Language::IRANIAN_CALENDAR_MONTHS_MESSAGES |
Definition at line 231 of file Language.php.
|
private |
Unicode directional formatting characters, for embedBidi()
Definition at line 315 of file Language.php.
const Language::MESSAGES_FALLBACKS = LanguageFallback::MESSAGES |
Return a fallback chain for messages in getFallbacksFor.
Definition at line 153 of file Language.php.
const Language::MONTH_ABBREVIATED_MESSAGES |
Definition at line 218 of file Language.php.
const Language::MONTH_GENITIVE_MESSAGES |
Definition at line 204 of file Language.php.
const Language::MONTH_MESSAGES |
Definition at line 190 of file Language.php.
|
private |
Definition at line 317 of file Language.php.
|
private |
Definition at line 316 of file Language.php.
const Language::STRICT_FALLBACKS = LanguageFallback::STRICT |
Return a strict fallback chain in getFallbacksFor.
Definition at line 160 of file Language.php.
const Language::SUPPORTED = LanguageNameUtils::SUPPORTED |
Return in fetchLanguageName(s) only the languages for which we have at least some localisation.
Definition at line 64 of file Language.php.
const Language::WEEKDAY_ABBREVIATED_MESSAGES |
Definition at line 178 of file Language.php.
const Language::WEEKDAY_MESSAGES |
Definition at line 165 of file Language.php.