Merge "Create a Special:Redirect page."
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 30 Apr 2013 18:34:11 +0000 (18:34 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 30 Apr 2013 18:34:11 +0000 (18:34 +0000)
1  2 
includes/AutoLoader.php
includes/SpecialPageFactory.php
languages/messages/MessagesEn.php
languages/messages/MessagesQqq.php
maintenance/language/messages.inc

diff --combined includes/AutoLoader.php
@@@ -819,7 -819,6 +819,7 @@@ $wgAutoloadLocalClasses = array
        'ProfilerSimpleTrace' => 'includes/profiler/ProfilerSimpleTrace.php',
        'ProfilerSimpleUDP' => 'includes/profiler/ProfilerSimpleUDP.php',
        'ProfilerStub' => 'includes/profiler/ProfilerStub.php',
 +      'ProfileSection' => 'includes/profiler/Profiler.php',
  
        # includes/resourceloader
        'ResourceLoader' => 'includes/resourceloader/ResourceLoader.php',
        'SpecialRandomredirect' => 'includes/specials/SpecialRandomredirect.php',
        'SpecialRecentChanges' => 'includes/specials/SpecialRecentchanges.php',
        'SpecialRecentchangeslinked' => 'includes/specials/SpecialRecentchangeslinked.php',
+       'SpecialRedirect' => 'includes/specials/SpecialRedirect.php',
        'SpecialRevisionDelete' => 'includes/specials/SpecialRevisiondelete.php',
        'SpecialSearch' => 'includes/specials/SpecialSearch.php',
        'SpecialSpecialpages' => 'includes/specials/SpecialSpecialpages.php',
@@@ -161,6 -161,7 +161,7 @@@ class SpecialPageFactory 
                'Mytalk'                    => 'SpecialMytalk',
                'Myuploads'                 => 'SpecialMyuploads',
                'PermanentLink'             => 'SpecialPermanentLink',
+               'Redirect'                  => 'SpecialRedirect',
                'Revisiondelete'            => 'SpecialRevisionDelete',
                'Specialpages'              => 'SpecialSpecialpages',
                'Userlogout'                => 'SpecialUserlogout',
                        if ( $name != $page->getLocalName() && !$context->getRequest()->wasPosted() ) {
                                $query = $context->getRequest()->getQueryValues();
                                unset( $query['title'] );
 -                              $query = wfArrayToCgi( $query );
                                $title = $page->getTitle( $par );
                                $url = $title->getFullURL( $query );
                                $context->getOutput()->redirect( $url );
@@@ -447,6 -447,7 +447,7 @@@ $specialPageAliases = array
        'Randomredirect'            => array( 'RandomRedirect' ),
        'Recentchanges'             => array( 'RecentChanges' ),
        'Recentchangeslinked'       => array( 'RecentChangesLinked', 'RelatedChanges' ),
+       'Redirect'                  => array( 'Redirect' ),
        'Revisiondelete'            => array( 'RevisionDelete' ),
        'Search'                    => array( 'Search' ),
        'Shortpages'                => array( 'ShortPages' ),
@@@ -1137,7 -1138,7 +1138,7 @@@ Do not forget to change your [[Special:
  'createacct-benefit-body2'        => 'pages',
  'createacct-benefit-icon3'        => 'icon-contributors',
  'createacct-benefit-head3'        => '{{NUMBEROFACTIVEUSERS}}',
 -'createacct-benefit-body3'        => 'contributors this month',
 +'createacct-benefit-body3'        => 'recent contributors',
  'badretype'                    => 'The passwords you entered do not match.',
  'userexists'                   => 'Username entered already in use.
  Please choose a different name.',
@@@ -4794,6 -4795,19 +4795,19 @@@ You should have received [{{SERVER}}{{S
  'filepath-summary' => 'This special page returns the complete path for a file.
  Images are shown in full resolution, other file types are started with their associated program directly.',
  
+ # Special:Redirect
+ 'redirect'         => 'Redirect by file, user, or revision ID',
+ 'redirect-legend'  => 'Redirect to a file or page',
+ 'redirect-text'    => '',
+ 'redirect-summary' => 'This special page redirects to a file (given the file name), a page (given a revision ID), or a user page (given a numeric user ID).',
+ 'redirect-submit'  => 'Go',
+ 'redirect-lookup'  => 'Lookup:',
+ 'redirect-value'   => 'Value:',
+ 'redirect-user'     => 'User ID',
+ 'redirect-revision' => 'Page revision',
+ 'redirect-file'     => 'File name',
+ 'redirect-not-exists' => 'Value not found',
  # Special:FileDuplicateSearch
  'fileduplicatesearch'           => 'Search for duplicate files',
  'fileduplicatesearch-summary'   => 'Search for duplicate files based on hash values.',
@@@ -4888,7 -4902,6 +4902,7 @@@ This site is experiencing technical dif
  'htmlform-selectorother-other' => 'Other',
  'htmlform-no'                  => 'No',
  'htmlform-yes'                 => 'Yes',
 +'htmlform-chosen-placeholder'  => 'Select an option',
  
  # SQLite database support
  'sqlite-has-fts' => '$1 with full-text search support',
@@@ -309,6 -309,16 +309,6 @@@ This option means "underline links as i
  'nov' => 'Abbreviation of November, the eleventh month of the Gregorian calendar',
  'dec' => 'Abbreviation of December, the twelfth month of the Gregorian calendar',
  
 -'monday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Monday. $1 is the time.',
 -'tuesday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Tuesday. $1 is the time.',
 -'wednesday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Wednesday. $1 is the time.',
 -'thursday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Thursday. $1 is the time.',
 -'friday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Friday. $1 is the time.',
 -'saturday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Saturday. $1 is the time.',
 -'sunday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Sunday. $1 is the time.',
 -'today-at' => 'Phrase for indicating that something occurred at a particular time today. $1 is the time.',
 -'yesterday-at' => 'Phrase for indicating that something occurred at a particular time yesterday. $1 is the time.',
 -
  # Categories related messages
  'pagecategories' => 'Used in the categories section of pages. Is followed by a colon and a list of categories.',
  'category_header' => 'In category description page',
@@@ -1045,33 -1055,18 +1045,33 @@@ In user preferences
  'userlogin-yourname' => 'In new vertical user login & create account forms, label for username field.
  {{Identical|Username}}',
  'userlogin-yourname-ph' => 'Placeholder text in new userlogin/create account form field.',
 -'createacct-helpusername-url' => 'The URL of a page providing username guidance for the wiki.',
 -'createacct-helpusername-link' => 'Message in new create account form providing guidance for username.',
 +'createacct-helpusername-url' => 'The URL of a page providing username guidance for the wiki.
 +
 +Used as a link in {{msg-mw|Createacct-helpusername-link}}.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]',
 +'createacct-helpusername-link' => 'Message in new create account form providing guidance for username.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]',
  'yourpassword' => 'In user preferences
  
  {{Identical|Password}}',
  'userlogin-yourpassword' => 'In new vertical user login & create account forms, label for password field.
  {{Identical|Password}}',
 -'userlogin-yourpassword-ph' => 'Placeholder text in new userlogin form for password field.',
 -'createacct-yourpassword-ph' => 'Placeholder text in new create account form for password field.',
 +'userlogin-yourpassword-ph' => 'Placeholder text in new userlogin form for password field.
 +{{Identical|Enter password}}',
 +'createacct-yourpassword-ph' => 'Placeholder text in new create account form for password field.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]
 +{{Identical|Enter password}}',
  'yourpasswordagain' => 'In user preferences',
 -'createacct-yourpasswordagain' => 'In new create account form, label for field to re-enter password',
 -'createacct-yourpasswordagain-ph' => 'Placeholder text in new create account form for re-enter password field.',
 +'createacct-yourpasswordagain' => 'In new create account form, label for field to re-enter password
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]
 +{{Identical|Confirm password}}',
 +'createacct-yourpasswordagain-ph' => 'Placeholder text in new create account form for re-enter password field.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]',
  'remembermypassword' => 'A check box in [[Special:UserLogin]]
  
  {{Identical|Remember my login on this computer}}',
@@@ -1139,63 -1134,33 +1139,63 @@@ Wikitext linking to login help
  
  See also:
  * {{msg-mw|Helplogin-url}}',
 -'createacct-join' => 'Subheading of vertical-layout create account form encouraging user to join the wiki.',
 -'createacct-emailrequired' => 'Label in vertical-layout create account form for email field when it is required.',
 -'createacct-emailoptional' => 'Label in vertical-layout create account form for email field when it is optional.',
 -'createacct-email-ph' => 'Placeholder in vertical-layout create account form for email field.',
 -'createaccountmail' => 'Button text for creating a new account and sending the new password to the specified e-mail address directly, as used on [[Special:UserLogin/signup]] if creating accounts by e-mail is allowed.',
 +'createacct-join' => 'Subheading of vertical-layout create account form encouraging user to join the wiki.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]',
 +'createacct-emailrequired' => 'Label in vertical-layout create account form for email field when it is required.
 +
 +See also:
 +* {{msg-mw|Createacct-emailoptional}}
 +{{Identical|E-mail address}}',
 +'createacct-emailoptional' => 'Label in vertical-layout create account form for email field when it is optional.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]
 +
 +See also:
 +* {{msg-mw|Createacct-emailrequired}}',
 +'createacct-email-ph' => 'Placeholder in vertical-layout create account form for email field.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]',
 +'createaccountmail' => 'Used as label for the checkbox for creating a new account and sending the new password to the specified e-mail address directly, as used on [[Special:UserLogin/signup]] if creating accounts by e-mail is allowed.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]',
  'createacct-realname' => 'In vertical-layout create account form, label for field to enter optional real name.',
  'createaccountreason' => '{{Identical|Reason}}',
 -'createacct-reason' => 'In vertical-layout create account form, label for field to enter reason to create an account when already logged-in.',
 +'createacct-reason' => 'In vertical-layout create account form, label for field to enter reason to create an account when already logged-in.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]
 +{{Identical|Reason}}',
  'createacct-captcha' => 'Label in vertical-layout create account form for CAPTCHA input field when repositioned by JavaScript.',
 -'createacct-captcha-help-url' => 'The URL of a page providing CAPTCHA assistance for the wiki.',
 +'createacct-captcha-help-url' => 'The URL of a page providing CAPTCHA assistance for the wiki.
 +
 +Used as a link in {{msg-mw|Createacct-imgcaptcha-help}}.',
  'createacct-imgcaptcha-help' => 'Help text in vertical-layout create account form for image CAPTCHA input field when repositioned by JavaScript.',
  'createacct-imgcaptcha-ph' => 'Placehodler text in vertical-layout create account form for image CAPTCHA input field when repositioned by JavaScript.',
 -'createacct-benefit-heading' => 'In vertical-layout create account form, the heading for the section describing the benefits of creating an account.',
 -'createacct-benefit-icon1' => 'In vertical-layout create account form, the CSS style for the div next to the first benefit. If you replace this you will need probably need to adjust CSS.',
 -'createacct-benefit-head1' => 'In vertical-layout create account form, the text in the heading for the first benefit. Do not edit the magic word; if you replace it you will probably need to adjust CSS.',
 -'createacct-benefit-body1' => 'In vertical-layout create account form, the text for the first benefit.',
 -'createacct-benefit-icon2' => 'In vertical-layout create account form, the CSS style for the div next to the second benefit. If you replace this you will need probably need to adjust CSS.',
 -'createacct-benefit-head2' => 'In vertical-layout create account form, the text in the heading for the second benefit. Do not edit the magic word; if you replace it you will probably need to adjust CSS.',
 -'createacct-benefit-body2' => 'In vertical-layout create account form, the text for the second benefit.',
 -'createacct-benefit-icon3' => 'In vertical-layout create account form, the CSS style for the div next to the third benefit. If you replace this you will need probably need to adjust CSS.',
 -'createacct-benefit-head3' => 'In vertical-layout create account form, the text in the heading for the third benefit. Do not edit the magic word; if you replace it you will probably need to adjust CSS.',
 -'createacct-benefit-body3' => 'In vertical-layout create account form, the text for the third benefit.',
 +'createacct-benefit-heading' => 'In vertical-layout create account form, the heading for the section describing the benefits of creating an account.
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]',
 +'createacct-benefit-body1' => 'In vertical-layout create account form, the text for the first benefit.
 +
 +Preceded by the message {{msg-mw|Createacct-benefit-head1}} (number of edits).
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]
 +{{Identical|Edit}}',
 +'createacct-benefit-body2' => 'In vertical-layout create account form, the text for the second benefit.
 +
 +Preceded by the message {{msg-mw|Createacct-benefit-head2}} (number of pages).
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]
 +{{Identical|Page}}',
 +'createacct-benefit-body3' => 'In vertical-layout create account form, the text for the third benefit.
 +
 +Preceded by the message {{msg-mw|Createacct-benefit-head3}} (number of contributors).
 +
 +See example: [{{canonicalurl:Special:UserLogin|type=signup&useNew=1}} Special:UserLogin?type=signup&useNew=1]',
  'badretype' => 'Used as error message when the new password and its retype do not match.',
  'userexists' => 'Used as error message in creating a user account.',
  'loginerror' => 'Used as title of error message.
  {{Identical|Login error}}',
 -'createacct-error' => 'Title of error message in new vertical create account form.',
 +'createacct-error' => 'Used as heading for the error message.',
  'createaccounterror' => 'Parameters:
  * $1 is an error message',
  'nocookiesnew' => "This message is displayed when a new account was successfully created, but the browser doesn't accept cookies.",
@@@ -2538,8 -2503,7 +2538,8 @@@ This option lets your time zone settin
  'timezoneregion-atlantic' => 'Used in "Time zone" listbox in [[Special:Preferences#mw-prefsection-datetime|preferences]], "date and time" tab.
  {{Related|Timezoneregion}}',
  'timezoneregion-australia' => 'Used in "Time zone" listbox in [[Special:Preferences#mw-prefsection-datetime|preferences]], "date and time" tab.
 -{{Related|Timezoneregion}}',
 +{{Related|Timezoneregion}}
 +{{Identical|Australia}}',
  'timezoneregion-europe' => 'Used in "Time zone" listbox in [[Special:Preferences#mw-prefsection-datetime|preferences]], "date and time" tab.
  {{Related|Timezoneregion}}',
  'timezoneregion-indian' => 'Used in "Time zone" listbox in [[Special:Preferences#mw-prefsection-datetime|preferences]], "date and time" tab.
@@@ -3977,7 -3941,7 +3977,7 @@@ Possible alternatives to the word 'cont
  
  {{Identical|Content page}}",
  'statistics-pages' => 'Used in [[Special:Statistics]]
 -{{Identical|Pages}}',
 +{{Identical|Page}}',
  'statistics-pages-desc' => "Tooltip shown over ''Pages'' (or as a note below it) in [[Special:Statistics]]",
  'statistics-files' => 'Used in [[Special:Statistics]]',
  'statistics-edits' => 'Used in [[Special:Statistics]]',
@@@ -7095,11 -7059,6 +7095,11 @@@ See also {{msg-mw|Days-abbrev}
  
  Part of variable $1 in {{msg-mw|Ago}}
  {{Identical|Day}}',
 +'weeks' => 'Full word for "weeks". $1 is the number of weeks.
 +
 +See also {{msg-mw|Weeks-abbrev}}
 +
 +Part of variable $1 in {{msg-mw|Ago}}',
  'months' => 'Full word for "months". $1 is the number of months.
  
  Part of variable $1 in {{msg-mw|Ago}}',
@@@ -7115,19 -7074,6 +7115,19 @@@ Part of variable $1 in {{msg-mw|Ago}}'
  *{{msg-mw|Years}}',
  'just-now' => 'Phrase for indicating something happened just now.',
  
 +# Human-readable timestamps
 +'hours-ago' => 'Phrase for indicating that something occurred a certain number of hours ago',
 +'minutes-ago' => 'Phrase for indicating that something occurred a certain number of minutes ago',
 +'seconds-ago' => 'Phrase for indicating that something occurred a certain number of seconds ago',
 +'monday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Monday. $1 is the time.',
 +'tuesday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Tuesday. $1 is the time.',
 +'wednesday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Wednesday. $1 is the time.',
 +'thursday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Thursday. $1 is the time.',
 +'friday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Friday. $1 is the time.',
 +'saturday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Saturday. $1 is the time.',
 +'sunday-at' => 'Phrase for indicating that something occurred at a particular time on the most recent Sunday. $1 is the time.',
 +'yesterday-at' => 'Phrase for indicating that something occurred at a particular time yesterday. $1 is the time.',
 +
  # Bad image list
  'bad_image_list' => 'This message only appears to guide administrators to add links with the right format. This will not appear anywhere else in MediaWiki.',
  
@@@ -8568,6 -8514,20 +8568,20 @@@ A short description of the script path 
  {{Identical|Go}}',
  'filepath-summary' => 'Shown in [[Special:FilePath]]',
  
+ # Special:Redirect
+ 'redirect'         => 'Main heading of [[Special:Redirect]] page',
+ 'redirect-legend'  => 'Legend of fieldset around input box in [[Special:Redirect]]',
+ 'redirect-text'    => 'Inside fieldset for [[Special:Redirect]]',
+ 'redirect-summary' => 'Shown at top of [[Special:Redirect]]',
+ 'redirect-submit'  => 'Button label in [[Special:Redirect]].
+ {{Identical|Go}}',
+ 'redirect-lookup'  => 'First field label in [[Special:Redirect]]',
+ 'redirect-value'   => 'Second field label in [[Special:Redirect]]',
+ 'redirect-user'     => 'Description of lookup type for [[Special:Redirect]]',
+ 'redirect-revision' => 'Description of lookup type for [[Special:Redirect]]',
+ 'redirect-file'     => 'Description of lookup type for [[Special:Redirect]]',
+ 'redirect-not-exists' => 'Used as error message in [[Special:Redirect]]',
  # Special:FileDuplicateSearch
  'fileduplicatesearch' => 'Name of special page [[Special:FileDuplicateSearch]].',
  'fileduplicatesearch-summary' => 'Summary of [[Special:FileDuplicateSearch]]',
@@@ -8753,7 -8713,6 +8767,7 @@@ See also
  {{Identical|No}}',
  'htmlform-yes' => 'Used in form, such as with radio buttons, for generic yes / no questions.
  {{Identical|Yes}}',
 +'htmlform-chosen-placeholder' => 'Used as initial placeholder text in select multiple "chosen" input boxes',
  
  # SQLite database support
  'sqlite-has-fts' => 'Shown on [[Special:Version]].
@@@ -8972,4 -8931,8 +8986,4 @@@ $4 is the gender of the target user.'
  # Image rotation
  'rotate-comment' => 'Edit summary for the act of rotating an image.',
  
 -# Unknown messages
 -'hours-ago' => 'Phrase for indicating that something occurred a certain number of hours ago',
 -'minutes-ago' => 'Phrase for indicating that something occurred a certain number of minutes ago',
 -'seconds-ago' => 'Phrase for indicating that something occurred a certain number of seconds ago',
  );
@@@ -3643,6 -3643,19 +3643,19 @@@ $wgMessageStructure = array
                'filepath-submit',
                'filepath-summary',
        ),
+       'redirect' => array(
+               'redirect',
+               'redirect-legend',
+               'redirect-text',
+               'redirect-summary',
+               'redirect-submit',
+               'redirect-lookup',
+               'redirect-value',
+               'redirect-user',
+               'redirect-revision',
+               'redirect-file',
+               'redirect-not-exists',
+       ),
        'fileduplicatesearch' => array(
                'fileduplicatesearch',
                'fileduplicatesearch-summary',
                'htmlform-selectorother-other',
                'htmlform-no',
                'htmlform-yes',
 +              'htmlform-chosen-placeholder',
        ),
        'sqlite' => array(
                'sqlite-has-fts',