Merge "Add PLURAL support to benefits"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 8 May 2013 20:51:51 +0000 (20:51 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 8 May 2013 20:51:51 +0000 (20:51 +0000)
includes/specials/SpecialUserlogin.php
includes/templates/UsercreateVForm.php
languages/messages/MessagesEn.php

index bb57e6c..b147b83 100644 (file)
@@ -1105,6 +1105,8 @@ class LoginForm extends SpecialPage {
                                $out->addJsConfigVars( 'wgCreateacctImgcaptchaHelp',
                                        $this->msg( 'createacct-imgcaptcha-help' )->parse() );
                                $out->addModules( 'mediawiki.special.createaccount.vform.js' );
+                               // Must match number of benefits defined in messages
+                               $template->set( 'benefitCount', 3 );
                        } else {
                                $template = new UsercreateTemplate();
                        }
index b8ce27e..626f880 100644 (file)
@@ -265,27 +265,21 @@ class UsercreateTemplateVForm extends BaseTemplate {
 <div class="mw-createacct-benefits-container">
        <h2><?php $this->msg( 'createacct-benefit-heading' ); ?></h2>
        <div class="mw-createacct-benefits-list">
+       <?php
+       for ( $benefitIdx = 1; $benefitIdx <= $this->data['benefitCount']; $benefitIdx++ ) {
+               // Pass each benefit's head text (by default a number) as a parameter to the body's message for PLURAL handling.
+               $headUnescaped = $this->getMsg( "createacct-benefit-head$benefitIdx" )->text();
+       ?>
                <div>
-                       <div class="mw-benefits-icon <?php $this->msg( 'createacct-benefit-icon1' ); ?>"></div>
-                       <div class="mw-number-text">
-                               <h3><?php $this->msg( 'createacct-benefit-head1' ); ?></h3>
-                               <p><?php $this->msg( 'createacct-benefit-body1' ); ?></p>
-                       </div>
-               </div>
-               <div>
-                       <div class="mw-benefits-icon <?php $this->msg( 'createacct-benefit-icon2' ); ?>"></div>
-                       <div class="mw-number-text">
-                               <h3><?php $this->msg( 'createacct-benefit-head2' ); ?></h3>
-                               <p><?php $this->msg( 'createacct-benefit-body2' ); ?></p>
-                       </div>
-               </div>
-               <div>
-                       <div class="mw-benefits-icon <?php $this->msg( 'createacct-benefit-icon3' ); ?>"></div>
+                       <div class="mw-benefits-icon <?php $this->msg( "createacct-benefit-icon$benefitIdx" ); ?>"></div>
                        <div class="mw-number-text">
-                               <h3><?php $this->msg( 'createacct-benefit-head3' ); ?></h3>
-                               <p><?php $this->msg( 'createacct-benefit-body3' ); ?></p>
+                               <h3><?php $this->msg( "createacct-benefit-head$benefitIdx" ); ?></h3>
+                               <p><?php echo $this->getMsg( "createacct-benefit-body$benefitIdx" )->params( $headUnescaped )->escaped(); ?></p>
                        </div>
                </div>
+       <?php
+       }
+       ?>
        </div>
 </div>
 </div>
index e6f7338..93e9746 100644 (file)
@@ -1135,13 +1135,13 @@ Do not forget to change your [[Special:Preferences|{{SITENAME}} preferences]].',
 'createacct-benefit-heading'      => '{{SITENAME}} is made by people like you.',
 'createacct-benefit-icon1'        => 'icon-edits',
 'createacct-benefit-head1'        => '{{NUMBEROFEDITS}}',
-'createacct-benefit-body1'        => 'edits',
+'createacct-benefit-body1'        => '{{PLURAL:$1|edit|edits}}',
 'createacct-benefit-icon2'        => 'icon-pages',
 'createacct-benefit-head2'        => '{{NUMBEROFARTICLES}}',
-'createacct-benefit-body2'        => 'pages',
+'createacct-benefit-body2'        => '{{PLURAL:$1|page|pages}}',
 'createacct-benefit-icon3'        => 'icon-contributors',
 'createacct-benefit-head3'        => '{{NUMBEROFACTIVEUSERS}}',
-'createacct-benefit-body3'        => 'recent contributors',
+'createacct-benefit-body3'        => 'recent {{PLURAL:$1|contributor|contributors}}',
 'badretype'                    => 'The passwords you entered do not match.',
 'userexists'                   => 'Username entered already in use.
 Please choose a different name.',