* Regular expression matching the "link trail", e.g. "ed" in [[Toast]]ed, as
* the first group, and the remainder of the string as the second group.
*/
-$linkTrail = '/^([a-z]+)(.*)$/sD';
+$linkTrail = '/^(\p{L&}+)(.*)$/usD';
#-------------------------------------------------------------------
# Default messages
'tog-enotifrevealaddr' => 'Reveal my e-mail address in notification e-mails',
'tog-shownumberswatching' => 'Show the number of watching users',
'tog-fancysig' => 'Raw signatures (without automatic link)',
-'tog-externaleditor' => 'Use external editor by default',
-'tog-externaldiff' => 'Use external diff by default',
+'tog-externaleditor' => 'Use external editor by default (for experts only, needs special settings on your computer)',
+'tog-externaldiff' => 'Use external diff by default (for experts only, needs special settings on your computer)',
'tog-showjumplinks' => 'Enable "jump to" accessibility links',
'tog-uselivepreview' => 'Use live preview (JavaScript) (Experimental)',
'tog-forceeditsummary' => 'Prompt me when entering a blank edit summary',
'wrongpassword' => 'Incorrect password entered. Please try again.',
'wrongpasswordempty' => 'Password entered was blank. Please try again.',
'passwordtooshort' => 'Your password is invalid or too short.
-It must have at least $1 characters and be different from your username.',
+It must have at least {{PLURAL:$1|1 character|$1 characters}} and be different from your username.',
'mailmypassword' => 'E-mail password',
'passwordremindertitle' => 'New temporary password for {{SITENAME}}',
'passwordremindertext' => 'Someone (probably you, from IP address $1)
'blocked-mailpassword' => 'Your IP address is blocked from editing, and so is not allowed to use the password recovery function to prevent abuse.',
'eauthentsent' => 'A confirmation e-mail has been sent to the nominated e-mail address.
Before any other e-mail is sent to the account, you will have to follow the instructions in the e-mail, to confirm that the account is actually yours.',
-'throttled-mailpassword' => 'A password reminder has already been sent, within the last $1 hours.
-To prevent abuse, only one password reminder will be sent per $1 hours.',
+'throttled-mailpassword' => 'A password reminder has already been sent, within the last {{PLURAL:$1|hour|$1 hours}}.
+To prevent abuse, only one password reminder will be sent per {{PLURAL:$1|hour|$1 hours}}.',
'loginstart' => '', # do not translate or duplicate this message to other languages
'loginend' => '', # do not translate or duplicate this message to other languages
'signupend' => '{{int:loginend}}', # do not translate or duplicate this message to other languages
'contextchars' => 'Context per line:',
'stub-threshold' => 'Threshold for <a href="#" class="stub">stub link</a> formatting (bytes):',
'recentchangesdays' => 'Days to show in recent changes:',
-'recentchangescount' => 'Number of edits to show in recent changes:',
+'recentchangescount' => 'Number of edits to show in recent change, history and log pages:',
'savedprefs' => 'Your preferences have been saved.',
'timezonelegend' => 'Time zone',
'timezonetext' => '¹The number of hours your local time differs from server time (UTC).',
'reuploaddesc' => 'Cancel upload and return to the upload form',
'uploadnologin' => 'Not logged in',
'uploadnologintext' => 'You must be [[Special:Userlogin|logged in]] to upload files.',
+'upload_directory_missing' => 'The upload directory ($1) is missing and could not be created by the webserver.',
'upload_directory_read_only' => 'The upload directory ($1) is not writable by the webserver.',
'uploaderror' => 'Upload error',
'upload-summary' => '', # only translate this message to other languages if you have to change it
'filehist-filesize' => 'File size',
'filehist-comment' => 'Comment',
'imagelinks' => 'Links',
-'linkstoimage' => 'The following pages link to this file:',
+'linkstoimage' => 'The following {{PLURAL:$1|page links|$1 pages link}} to this file:',
'nolinkstoimage' => 'There are no pages that link to this file.',
'morelinkstoimage' => 'View [[Special:Whatlinkshere/$1|more links]] to this file.',
-'redirectstofile' => 'The following files redirect to this file:',
-'duplicatesoffile' => 'The following files are duplicates of this file:',
+'redirectstofile' => 'The following {{PLURAL:$1|file redirects|$1 files redirect}} to this file:',
+'duplicatesoffile' => 'The following {{PLURAL:$1|file is a duplicate|$1 files are duplicates}} of this file:',
'sharedupload' => 'This file is a shared upload and may be used by other projects.',
'shareduploadwiki' => 'Please see the $1 for further information.',
'shareduploadwiki-desc' => 'The description on its $1 on the shared repository is shown below.',
Last edit was by [[User:$3|$3]] ([[User talk:$3|Talk]]).',
'editcomment' => 'The edit comment was: "<i>$1</i>".', # only shown if there is an edit comment
-'revertpage' => 'Reverted edits by [[Special:Contributions/$2|$2]] ([[User talk:$2|Talk]]);
-changed back to last version by [[User:$1|$1]]', # Additional available: $3: revid of the revision reverted to, $4: timestamp of the revision reverted to, $5: revid of the revision reverted from, $6: timestamp of the revision reverted from
+'revertpage' => 'Reverted edits by [[Special:Contributions/$2|$2]] ([[User talk:$2|Talk]]) to last version by [[User:$1|$1]]', # Additional available: $3: revid of the revision reverted to, $4: timestamp of the revision reverted to, $5: revid of the revision reverted from, $6: timestamp of the revision reverted from
'rollback-success' => 'Reverted edits by $1;
changed back to last version by $2.',
'sessionfailure' => 'There seems to be a problem with your login session;
'ipb_expiry_invalid' => 'Expiry time invalid.',
'ipb_expiry_temp' => 'Hidden username blocks should be permanent.',
'ipb_already_blocked' => '"$1" is already blocked',
-'ipb_modifying_block' => 'Modifying existing block:',
-'ipb_tweak_block' => 'Caution: This user ($1) is already blocked.
-You can use this form to change the block settings.',
'ipb_cant_unblock' => 'Error: Block ID $1 not found. It may have been unblocked already.',
'ipb_blocked_as_range' => 'Error: The IP $1 is not blocked directly and cannot be unblocked.
It is, however, blocked as part of the range $2, which can be unblocked.',
'tooltip-diff' => 'Show which changes you made to the text.',
'tooltip-compareselectedversions' => 'See the differences between the two selected versions of this page.',
'tooltip-watch' => 'Add this page to your watchlist',
-'tooltip-recreate' => 'Recreate the page despite it has been deleted',
+'tooltip-recreate' => 'Recreate the page despite it having been deleted',
'tooltip-upload' => 'Start upload',
# Stylesheets
-'common.css' => '/* CSS placed here will be applied to all skins */', # only translate this message to other languages if you have to change it
-'monobook.css' => '/* CSS placed here will affect users of the Monobook skin */', # only translate this message to other languages if you have to change it
+'common.css' => '/* CSS placed here will be applied to all skins */', # only translate this message to other languages if you have to change it
+'standard.css' => '/* CSS placed here will affect users of the Standard skin */', # only translate this message to other languages if you have to change it
+'nostalgia.css' => '/* CSS placed here will affect users of the Nostalgia skin */', # only translate this message to other languages if you have to change it
+'cologneblue.css' => '/* CSS placed here will affect users of the Cologne Blue skin */', # only translate this message to other languages if you have to change it
+'monobook.css' => '/* CSS placed here will affect users of the Monobook skin */', # only translate this message to other languages if you have to change it
+'myskin.css' => '/* CSS placed here will affect users of the Myskin skin */', # only translate this message to other languages if you have to change it
+'chick.css' => '/* CSS placed here will affect users of the Chick skin */', # only translate this message to other languages if you have to change it
+'simple.css' => '/* CSS placed here will affect users of the Simple skin */', # only translate this message to other languages if you have to change it
+'modern.css' => '/* CSS placed here will affect users of the Modern skin */', # only translate this message to other languages if you have to change it
# Scripts
-'common.js' => '/* Any JavaScript here will be loaded for all users on every page load. */', # only translate this message to other languages if you have to change it
-'monobook.js' => '/* JavaScript here will be loaded for users using the MonoBook skin only. */', # only translate this message to other languages if you have to change it
+'common.js' => '/* Any JavaScript here will be loaded for all users on every page load. */', # only translate this message to other languages if you have to change it
+'standard.js' => '/* Any JavaScript here will be loaded for users using the Standard skin */', # only translate this message to other languages if you have to change it
+'nostalgia.js' => '/* Any JavaScript here will be loaded for users using the Nostalgia skin */', # only translate this message to other languages if you have to change it
+'cologneblue.js' => '/* Any JavaScript here will be loaded for users using the Cologne Blue skin */', # only translate this message to other languages if you have to change it
+'monobook.js' => '/* Any JavaScript here will be loaded for users using the MonoBook skin */', # only translate this message to other languages if you have to change it
+'myskin.js' => '/* Any JavaScript here will be loaded for users using the Myskin skin */', # only translate this message to other languages if you have to change it
+'chick.js' => '/* Any JavaScript here will be loaded for users using the Chick skin */', # only translate this message to other languages if you have to change it
+'simple.js' => '/* Any JavaScript here will be loaded for users using the Simple skin */', # only translate this message to other languages if you have to change it
+'modern.js' => '/* Any JavaScript here will be loaded for users using the Modern skin */', # only translate this message to other languages if you have to change it
# Metadata
'nodublincore' => 'Dublin Core RDF metadata disabled for this server.',
'variantname-zh-cn' => 'cn', # only translate this message to other languages if you have to change it
'variantname-zh-tw' => 'tw', # only translate this message to other languages if you have to change it
'variantname-zh-hk' => 'hk', # only translate this message to other languages if you have to change it
+'variantname-zh-mo' => 'mo', # only translate this message to other languages if you have to change it
'variantname-zh-sg' => 'sg', # only translate this message to other languages if you have to change it
+'variantname-zh-my' => 'my', # only translate this message to other languages if you have to change it
'variantname-zh' => 'zh', # only translate this message to other languages if you have to change it
# Variants for Serbian language
'iranian-calendar-m11' => 'Bahman', # only translate this message to other languages if you have to change it
'iranian-calendar-m12' => 'Esfand', # only translate this message to other languages if you have to change it
+# Hijri month names
+'hijri-calendar-m1' => 'Muharram', # only translate this message to other languages if you have to change it
+'hijri-calendar-m2' => 'Safar', # only translate this message to other languages if you have to change it
+'hijri-calendar-m3' => "Rabi' al-awwal", # only translate this message to other languages if you have to change it
+'hijri-calendar-m4' => "Rabi' al-thani", # only translate this message to other languages if you have to change it
+'hijri-calendar-m5' => 'Jumada al-awwal', # only translate this message to other languages if you have to change it
+'hijri-calendar-m6' => 'Jumada al-thani', # only translate this message to other languages if you have to change it
+'hijri-calendar-m7' => 'Rajab', # only translate this message to other languages if you have to change it
+'hijri-calendar-m8' => "Sha'aban", # only translate this message to other languages if you have to change it
+'hijri-calendar-m9' => 'Ramadan', # only translate this message to other languages if you have to change it
+'hijri-calendar-m10' => 'Shawwal', # only translate this message to other languages if you have to change it
+'hijri-calendar-m11' => "Dhu al-Qi'dah", # only translate this message to other languages if you have to change it
+'hijri-calendar-m12' => 'Dhu al-Hijjah', # only translate this message to other languages if you have to change it
+
# Hebrew month names
'hebrew-calendar-m1' => 'Tishrei', # only translate this message to other languages if you have to change it
'hebrew-calendar-m2' => 'Cheshvan', # only translate this message to other languages if you have to change it
# Signatures
'signature' => '[[{{ns:user}}:$1|$2]]', # do not translate or duplicate this message to other languages
'signature-anon' => '[[{{#special:Contributions}}/$1|$2]]', # do not translate or duplicate this message to other languages
+'timezone-utc' => 'UTC', # only translate this message to other languages if you have to change it
# Core parser functions
'unknown_extension_tag' => 'Unknown extension tag "$1"',