Revision: 46217
Author:   nikerabbit
Date:     2009-01-25 19:16:53 +0000 (Sun, 25 Jan 2009)

Log Message:
-----------
* Fix message key conflicts

Modified Paths:
--------------
    trunk/extensions/Translate/Translate.php
    trunk/extensions/Translate/groups/MediaWikiExtensions.php
    trunk/extensions/Translate/groups/mediawiki-defines.txt

Modified: trunk/extensions/Translate/Translate.php
===================================================================
--- trunk/extensions/Translate/Translate.php    2009-01-25 19:14:48 UTC (rev 
46216)
+++ trunk/extensions/Translate/Translate.php    2009-01-25 19:16:53 UTC (rev 
46217)
@@ -6,12 +6,12 @@
  * @addtogroup Extensions
  *
  * @author Niklas Laxström
- * @copyright Copyright © 2006-2008, Niklas Laxström
+ * @copyright Copyright © 2006-2009, Niklas Laxström
  * @copyright Copyright © 2007-2008, Siebrand Mazeland
  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 
2.0 or later
  */
 
-define( 'TRANSLATE_VERSION', '9 (2009-01-11)' );
+define( 'TRANSLATE_VERSION', '2009-01-25' );
 
 $wgExtensionCredits['specialpage'][] = array(
        'name'           => 'Translate',
@@ -195,6 +195,8 @@
        '$PAGE/translations/$KEY-$SNIPPET'
 );
 
+#$wgContentTranslation = true;
+
 if ( $wgDebugComments ) {
        require_once( "$dir/utils/MemProfile.php" );
 } else {

Modified: trunk/extensions/Translate/groups/MediaWikiExtensions.php
===================================================================
--- trunk/extensions/Translate/groups/MediaWikiExtensions.php   2009-01-25 
19:14:48 UTC (rev 46216)
+++ trunk/extensions/Translate/groups/MediaWikiExtensions.php   2009-01-25 
19:16:53 UTC (rev 46217)
@@ -46,6 +46,18 @@
                                                }
                                                $newgroup[$key] = array_merge( 
$newgroup[$key], $values );
                                                break;
+                                       case 'prefix':
+                                               list( $prefix, $messages ) = 
array_map( 'trim', explode( '|', $value, 2 ) );
+                                               if ( isset( $newgroup['prefix'] 
) && $newgroup['prefix'] !== $prefix ) {
+                                                       throw new MWException( 
"Only one prefix supported: {$newgroup['prefix']} !== $prefix" );
+                                               }
+                                               $newgroup['prefix'] = $prefix;
+
+                                               if ( !isset( 
$newgroup['mangle'] ) ) $newgroup['mangle'] = array();
+
+                                               $messages = array_map( 'trim', 
explode( ',', $messages ) );
+                                               $newgroup['mangle'] = 
array_merge( $newgroup['mangle'], $messages );
+                                               break;
                                        default:
                                                throw new MWException( "Unknown 
key:" . $key );
                                        }
@@ -92,7 +104,7 @@
                                'descmsg' => $descmsg,
                        );
 
-                       $copyvars = array( 'ignored', 'optional', 'var', 'desc' 
);
+                       $copyvars = array( 'ignored', 'optional', 'var', 
'desc', 'prefix', 'mangle' );
                        foreach ( $copyvars as $var ) {
                                if ( isset( $g[$var] ) ) {
                                        $newgroup[$var] = $g[$var];
@@ -139,6 +151,15 @@
                $info = $this->groups[$id];
                $group = ExtensionMessageGroup::factory( $info['name'], $id );
                $group->setMessageFile( $info['file'] );
+
+               if ( isset( $info['prefix'] ) ) {
+                       $mangler = new StringMatcher( $info['prefix'], 
$info['mangle'] );
+                       $group->setMangler( $mangler );
+                       $info['ignored'] = $mangler->mangle( $info['ignored'] );
+                       $info['optional'] = $mangler->mangle( $info['optional'] 
);
+               }
+
+
                if ( !empty( $info['var'] ) ) $group->setVariableName( 
$info['var'] );
                if ( !empty( $info['optional'] ) ) $group->setOptional( 
$info['optional'] );
                if ( !empty( $info['ignored'] ) ) $group->setIgnored( 
$info['ignored'] );
@@ -147,6 +168,8 @@
                } else {
                        $group->setDescriptionMsg( $info['descmsg'] );
                }
+                       
+
                $group->setType( 'mediawiki' );
                return $group;
        }

Modified: trunk/extensions/Translate/groups/mediawiki-defines.txt
===================================================================
--- trunk/extensions/Translate/groups/mediawiki-defines.txt     2009-01-25 
19:14:48 UTC (rev 46216)
+++ trunk/extensions/Translate/groups/mediawiki-defines.txt     2009-01-25 
19:16:53 UTC (rev 46217)
@@ -889,6 +889,7 @@
 optional = grouppage-steward, grouppage-sysadmin, grouppage-Global_bot
 optional = grouppage-Global_rollback, grouppage-Ombudsmen, grouppage-coder
 optional = grouppage-Staff
+prefix = wmf- | sidebar, grouppage-Staff, group-Staff, group-Staff-member
 
 Wiki Text Logged In Out
 



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

Reply via email to