* 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',
'otherlanguages' => 'In other languages',
'redirectedfrom' => '(Redirected from $1)',
'redirectpagesub' => 'Redirect page',
-'lastmodifiedat' => 'This page was last modified $2, $1.', # $1 date, $2 time
+'lastmodifiedat' => 'This page was last modified on $1, at $2.', # $1 date, $2 time
'viewcount' => 'This page has been accessed {{PLURAL:$1|once|$1 times}}.',
'protectedpage' => 'Protected page',
'jumpto' => 'Jump to:',
'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).',
'right-createaccount' => 'Create new user accounts',
'right-minoredit' => 'Mark edits as minor',
'right-move' => 'Move pages',
+'right-move-subpages' => 'Move pages with their subpages',
'right-suppressredirect' => 'Not create a redirect from the old name when moving a page',
'right-upload' => 'Upload files',
'right-reupload' => 'Overwrite an existing file',
'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;
'block-log-flags-noemail' => 'e-mail blocked',
'range_block_disabled' => 'The sysop ability to create range blocks is disabled.',
'ipb_expiry_invalid' => 'Expiry time invalid.',
+'ipb_expiry_temp' => 'Hidden username blocks should be permanent.',
'ipb_already_blocked' => '"$1" is already blocked',
'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.
'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"',