http://www.mediawiki.org/wiki/Special:Code/MediaWiki/72409

Revision: 72409
Author:   nikerabbit
Date:     2010-09-05 10:27:11 +0000 (Sun, 05 Sep 2010)

Log Message:
-----------
Tidy up Special:Translate front page.

Modified Paths:
--------------
    trunk/extensions/Translate/Translate.css
    trunk/extensions/Translate/Translate.i18n.php
    trunk/extensions/Translate/TranslatePage.php

Modified: trunk/extensions/Translate/Translate.css
===================================================================
--- trunk/extensions/Translate/Translate.css    2010-09-05 10:19:10 UTC (rev 
72408)
+++ trunk/extensions/Translate/Translate.css    2010-09-05 10:27:11 UTC (rev 
72409)
@@ -128,36 +128,34 @@
 /* End edit page */
 
 
-.mw-sp-translate-group {
-       border: 0;
-       margin: 0 2em 2em 2em;
-}
+/* Group listing at Special:Translate */
 
-.mw-sp-translate-group .description {
-       position: relative;
-       padding: 0.5em 0.5em 0.5em 0.5em;
-       border: 1px dotted black;
-       background-color: #C8D8FF;
-       margin-bottom: 1em;
+table.mw-sp-translate-grouplist td {
+       min-width: 13em;
 }
 
-.mw-sp-translate-target {
+table.mw-sp-translate-subgroup {
        border: 0;
-       margin: 0 0 0 2em;
- }
+       margin: 0;
+       border-collapse: collapse;
+       width: 100%;
+}
 
-.mw-sp-translate-target h3 {
-       font-size: 100%;
-       border: 0;
-       margin-bottom: 0;
+.depth-2 { background-color: #EEE; }
+.depth-3 { background-color: #DDD; }
+.depth-4 { background-color: #CCC; }
+
+a.mw-sp-showmore {
+       display: block;
+       margin: 0.5em;
+       margin-left: 2em;
+       font-style: oblique;
+       cursor: pointer;
 }
 
-.mw-sp-translate-target .description {
-       border: 1px dotted black;
-       background-color: #F3F3FF;
-       font-size: 85%;
- }
+/**/
 
+
 .mw-translate-other {
        background-color: #DFF;
 }

Modified: trunk/extensions/Translate/Translate.i18n.php
===================================================================
--- trunk/extensions/Translate/Translate.i18n.php       2010-09-05 10:19:10 UTC 
(rev 72408)
+++ trunk/extensions/Translate/Translate.i18n.php       2010-09-05 10:27:11 UTC 
(rev 72409)
@@ -18,7 +18,11 @@
        'translate-edit'    => 'edit',
        'translate-talk'    => 'talk',
        'translate-history' => 'history',
+       'translate-showsub' => 'Show {{PLURAL:$1|subgroup|$1 subgroups}}.',
 
+       'translate-grouplisting' => 'This is the list of all translatable 
groups.
+Click the group name to view list of untranslated messages.',
+
        'translate-task-view'                 => 'View all messages from',
        'translate-task-untranslated'         => 'View all untranslated 
messages from',
        'translate-task-optional'             => 'View optional messages from',

Modified: trunk/extensions/Translate/TranslatePage.php
===================================================================
--- trunk/extensions/Translate/TranslatePage.php        2010-09-05 10:19:10 UTC 
(rev 72408)
+++ trunk/extensions/Translate/TranslatePage.php        2010-09-05 10:27:11 UTC 
(rev 72409)
@@ -13,7 +13,7 @@
  * Implements the core of Translate extension - a special page which shows
  * a list of messages in a format defined by Tasks.
  *
- * @ingroup SpecialPage
+ * @ingroup SpecialPage TranslateSpecialPage
  */
 class SpecialTranslate extends SpecialPage {
        const MSG = 'translate-page-';
@@ -454,11 +454,12 @@
                        $out .= $this->formatGroupInformation( $blocks );
                }
 
-               return $out;
+               $header = wfMsgExt( 'translate-grouplisting', 'parse' );
+               return $header . "\n" . Html::rawElement( 'table', array( 
'class' => 'mw-sp-translate-grouplist wikitable' ), $out );
        }
 
        public function formatGroupInformation( $blocks, $level = 2 ) {
-               global $wgUser;
+               global $wgUser, $wgLang;
 
                if ( is_array( $blocks ) ) {
                        $block = array_shift( $blocks );
@@ -476,38 +477,38 @@
                        'language' => $code
                );
 
-               $edit = $wgUser->getSkin()->link(
+               $label = $wgUser->getSkin()->link(
                        $title,
-                       wfMsgHtml( self::MSG . 'edit' ),
+                       htmlspecialchars( $block->getLabel() ),
                        array(),
                        $queryParams
                );
 
-               $label =  htmlspecialchars( $block->getLabel() ) . " ($edit)";
                $desc = $this->getGroupDescription( $block );
                $hasSubblocks = is_array( $blocks ) && count( $blocks );
 
-               if ( $hasSubblocks || $level === 2 ) {
-                       $class = 'mw-sp-translate-group';
-               } else {
-                       $class = 'mw-sp-translate-target';
-               }
+               $subid = "mw-subgroup-$id";
 
-               $out = "\n<div class=\"$class mw-sp-translate-$id\">\n";
-               $out .= Xml::tags( "h$level", null, $label );
-
-               if ( $desc !== null ) {
-                       $out .= Xml::wrapClass( $desc, 'description', 'div' );
+               if ( $hasSubblocks ) {
+                       $msg = wfMsgExt( 'translate-showsub', 'parsemag', 
$wgLang->formatNum( count( $blocks ) ) );
+                       $desc .= Html::element( 'a', array( 'onclick' => 
"$('#$subid').toggle()", 'class' => 'mw-sp-showmore' ), $msg );
                }
 
+               $out = "\n<tr><td>$label</td>\n<td>$desc</td></tr>\n";
                if ( $hasSubblocks ) {
+                       $out .= "<tr><td></td><td>\n";
+                       $tableParams = array(
+                               'id' => "mw-subgroup-$id",
+                               'style' => 'display:none;',
+                               'class' => "mw-sp-translate-subgroup 
depth-$level",
+                       );
+                       $out .= Html::openElement( 'table', $tableParams );
                        foreach ( $blocks as $subBlock ) {
                                $out .= $this->formatGroupInformation( 
$subBlock, $level + 1 );
                        }
+                       $out .= '</table></td></tr>';
                }
 
-               $out .= "\n</div>\n";
-
                return $out;
        }
 }



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to