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

Revision: 73888
Author:   nikerabbit
Date:     2010-09-28 14:10:38 +0000 (Tue, 28 Sep 2010)

Log Message:
-----------
Reduce code duplication

Modified Paths:
--------------
    trunk/extensions/Translate/groups/FreeCol/Checker.php
    trunk/extensions/Translate/groups/MediaWiki/Checker.php
    trunk/extensions/Translate/groups/Shapado/Checker.php

Modified: trunk/extensions/Translate/groups/FreeCol/Checker.php
===================================================================
--- trunk/extensions/Translate/groups/FreeCol/Checker.php       2010-09-28 
13:46:23 UTC (rev 73887)
+++ trunk/extensions/Translate/groups/FreeCol/Checker.php       2010-09-28 
14:10:38 UTC (rev 73888)
@@ -4,7 +4,7 @@
  *
  * @file
  * @author Niklas Laxström
- * @copyright Copyright © 2009, Niklas Laxström
+ * @copyright Copyright © 2009-2010, Niklas Laxström
  * @license http://www.gnu.org/copyleft/gpl.html GNU General Public License 
2.0 or later
  */
 
@@ -22,39 +22,7 @@
         * @param $warnings \array Array where warnings are appended to.
         */
        protected function FreeColVariablesCheck( $messages, $code, &$warnings 
) {
-               foreach ( $messages as $message ) {
-                       $key = $message->key();
-                       $definition = $message->definition();
-                       $translation = $message->translation();
-
-                       $varPattern = '%[a-zA-Z_]+%';
-                       preg_match_all( "/$varPattern/U", $definition, $defVars 
);
-                       preg_match_all( "/$varPattern/U", $translation, 
$transVars );
-
-                       # Check for missing variables in the translation
-                       $subcheck = 'missing';
-                       $params = self::compareArrays( $defVars[0], 
$transVars[0] );
-                       if ( count( $params ) ) {
-                               $warnings[$key][] = array(
-                                       array( 'variable', $subcheck, $key, 
$code ),
-                                       'translate-checks-parameters',
-                                       array( 'PARAMS', $params ),
-                                       array( 'COUNT', count( $params ) ),
-                               );
-                       }
-
-                       # Check for unknown variables in the translation
-                       $subcheck = 'unknown';
-                       $params = self::compareArrays( $transVars[0], 
$defVars[0] );
-                       if ( count( $params ) ) {
-                               $warnings[$key][] = array(
-                                       array( 'variable', $subcheck, $key, 
$code ),
-                                       'translate-checks-parameters-unknown',
-                                       array( 'PARAMS', $params ),
-                                       array( 'COUNT', count( $params ) ),
-                               );
-                       }
-               }
+               return parent::parameterCheck( $messages, $code, $warnings, 
'/%[a-zA-Z_]+%/' );
        }
 
        /**

Modified: trunk/extensions/Translate/groups/MediaWiki/Checker.php
===================================================================
--- trunk/extensions/Translate/groups/MediaWiki/Checker.php     2010-09-28 
13:46:23 UTC (rev 73887)
+++ trunk/extensions/Translate/groups/MediaWiki/Checker.php     2010-09-28 
14:10:38 UTC (rev 73888)
@@ -23,42 +23,7 @@
         * @param $warnings \array Array where warnings are appended to.
         */
        protected function wikiParameterCheck( $messages, $code, &$warnings ) {
-               // @todo Gives false positive on (some?) languages for which a
-               //        parameter is completely left out. Example:
-               //        
http://translatewiki.net/w/i.php?title=MediaWiki:Configure-ext-ext-dependencies/zh-hant&action=edit
-               foreach ( $messages as $message ) {
-                       $key = $message->key();
-                       $definition = $message->definition();
-                       $translation = $message->translation();
-
-                       $varPattern = '\$[1-9]';
-                       preg_match_all( "/$varPattern/U", $definition, $defVars 
);
-                       preg_match_all( "/$varPattern/U", $translation, 
$transVars );
-
-                       # Check for missing variables in the translation
-                       $subcheck = 'missing';
-                       $params = self::compareArrays( $defVars[0], 
$transVars[0] );
-                       if ( count( $params ) ) {
-                               $warnings[$key][] = array(
-                                       array( 'variable', $subcheck, $key, 
$code ),
-                                       'translate-checks-parameters',
-                                       array( 'PARAMS', $params ),
-                                       array( 'COUNT', count( $params ) ),
-                               );
-                       }
-
-                       # Check for unknown variables in the translation
-                       $subcheck = 'unknown';
-                       $params = self::compareArrays( $transVars[0], 
$defVars[0] );
-                       if ( count( $params ) ) {
-                               $warnings[$key][] = array(
-                                       array( 'variable', $subcheck, $key, 
$code ),
-                                       'translate-checks-parameters-unknown',
-                                       array( 'PARAMS', $params ),
-                                       array( 'COUNT', count( $params ) ),
-                               );
-                       }
-               }
+               return parent::parameterCheck( $messages, $code, $warnings, 
'/\$[1-9]/' );
        }
 
        /**

Modified: trunk/extensions/Translate/groups/Shapado/Checker.php
===================================================================
--- trunk/extensions/Translate/groups/Shapado/Checker.php       2010-09-28 
13:46:23 UTC (rev 73887)
+++ trunk/extensions/Translate/groups/Shapado/Checker.php       2010-09-28 
14:10:38 UTC (rev 73888)
@@ -22,38 +22,6 @@
         * @param $warnings \array Array where warnings are appended to.
         */
        protected function ShapadoVariablesCheck( $messages, $code, &$warnings 
) {
-               foreach ( $messages as $message ) {
-                       $key = $message->key();
-                       $definition = $message->definition();
-                       $translation = $message->translation();
-
-                       $varPattern = '%{[a-zA-Z_]+}';
-                       preg_match_all( "/$varPattern/U", $definition, $defVars 
);
-                       preg_match_all( "/$varPattern/U", $translation, 
$transVars );
-
-                       # Check for missing variables in the translation
-                       $subcheck = 'missing';
-                       $params = self::compareArrays( $defVars[0], 
$transVars[0] );
-                       if ( count( $params ) ) {
-                               $warnings[$key][] = array(
-                                       array( 'variable', $subcheck, $key, 
$code ),
-                                       'translate-checks-parameters',
-                                       array( 'PARAMS', $params ),
-                                       array( 'COUNT', count( $params ) ),
-                               );
-                       }
-
-                       # Check for unknown variables in the translation
-                       $subcheck = 'unknown';
-                       $params = self::compareArrays( $transVars[0], 
$defVars[0] );
-                       if ( count( $params ) ) {
-                               $warnings[$key][] = array(
-                                       array( 'variable', $subcheck, $key, 
$code ),
-                                       'translate-checks-parameters-unknown',
-                                       array( 'PARAMS', $params ),
-                                       array( 'COUNT', count( $params ) ),
-                               );
-                       }
-               }
+               return parent::parameterCheck( $messages, $code, $warnings, 
'/%{[a-zA-Z_]+}/' );
        }
 }



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

Reply via email to