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