From f3c3aeb28d4cc757149d9a44cbf30a2eade67643 Mon Sep 17 00:00:00 2001 From: Chad Horohoe Date: Sat, 8 Aug 2009 22:33:17 +0000 Subject: [PATCH] Move a few more of these to subclass Maintenance. --- maintenance/language/countMessages.php | 87 +++++++++++++-------- maintenance/language/date-formats.php | 102 ++++++++++++++++--------- maintenance/language/dumpMessages.php | 48 +++++++++--- 3 files changed, 157 insertions(+), 80 deletions(-) diff --git a/maintenance/language/countMessages.php b/maintenance/language/countMessages.php index 7d16915a7d..826c43cb70 100644 --- a/maintenance/language/countMessages.php +++ b/maintenance/language/countMessages.php @@ -1,40 +1,65 @@ mDescription = "Count how many messages we have defined for each language"; } - $code = str_replace( '_', '-', strtolower( $m[1] ) ); - $numMessages = wfGetNumMessages( $file ); - //print "$code: $numMessages\n"; - $total += $numMessages; - if ( $numMessages > 0 ) { - $nonZero ++; + + public function execute() { + global $IP; + $dir = $this->getArg( 0, "$IP/languages/messages" ); + $total = 0; + $nonZero = 0; + foreach ( glob( "$dir/*.php" ) as $file ) { + $baseName = basename( $file ); + if( !preg_match( '/Messages([A-Z][a-z_]+)\.php$/', $baseName, $m ) ) { + continue; + } + $code = str_replace( '_', '-', strtolower( $m[1] ) ); + $numMessages = $this->getNumMessages( $file ); + //print "$code: $numMessages\n"; + $total += $numMessages; + if ( $numMessages > 0 ) { + $nonZero ++; + } + } + $this->output( "\nTotal: $total\n" ); + $this->output( "Languages: $nonZero\n" ); } -} -print "\nTotal: $total\n"; -print "Languages: $nonZero\n"; -function wfGetNumMessages( $file ) { - // Separate function to limit scope - require( $file ); - if ( isset( $messages ) ) { - return count( $messages ); - } else { - return 0; + private function getNumMessages( $file ) { + // Separate function to limit scope + require( $file ); + if ( isset( $messages ) ) { + return count( $messages ); + } else { + return 0; + } } } +$maintClass = "CountMessages"; +require_once( DO_MAINTENANCE ); diff --git a/maintenance/language/date-formats.php b/maintenance/language/date-formats.php index 7adccf795d..54a6a26d85 100644 --- a/maintenance/language/date-formats.php +++ b/maintenance/language/date-formats.php @@ -1,50 +1,76 @@ getDatePreferences(); - if ( !$prefs ) { - $prefs = array( 'default' ); - } - print "date: "; - foreach ( $prefs as $index => $pref ) { - if ( $index > 0 ) { - print ' | '; - } - print $lang->date( $ts, false, $pref ); - } - print "\n$code time: "; - foreach ( $prefs as $index => $pref ) { - if ( $index > 0 ) { - print ' | '; - } - print $lang->time( $ts, false, $pref ); + private $ts = '20010115123456'; + + public function __construct() { + parent::__construct(); + $this->mDescription = "Test various language time and date functions"; } - print "\n$code both: "; - foreach ( $prefs as $index => $pref ) { - if ( $index > 0 ) { - print ' | '; + + public function execute() { + global $IP; + foreach ( glob( "$IP/languages/messages/Messages*.php" ) as $filename ) { + $base = basename( $filename ); + $m = array(); + if ( !preg_match( '/Messages(.*)\.php$/', $base, $m ) ) { + continue; + } + $code = str_replace( '_', '-', strtolower( $m[1] ) ); + $this->output( "$code " ); + $lang = Language::factory( $code ); + $prefs = $lang->getDatePreferences(); + if ( !$prefs ) { + $prefs = array( 'default' ); + } + $this->output( "date: " ); + foreach ( $prefs as $index => $pref ) { + if ( $index > 0 ) { + $this->output( ' | ' ); + } + $this->output( $lang->date( $this->ts, false, $pref ) ); + } + $this->output( "\n$code time: " ); + foreach ( $prefs as $index => $pref ) { + if ( $index > 0 ) { + $this->output( ' | ' ); + } + $this->output( $lang->time( $this->ts, false, $pref ) ); + } + $this->output( "\n$code both: " ); + foreach ( $prefs as $index => $pref ) { + if ( $index > 0 ) { + $this->output( ' | ' ); + } + $this->output( $lang->timeanddate( $this->ts, false, $pref ) ); + } + $this->output( "\n\n" ); } - print $lang->timeanddate( $ts, false, $pref ); } - print "\n\n"; } - +$maintClass = "DateFormats"; +require_once( DO_MAINTENANCE ); diff --git a/maintenance/language/dumpMessages.php b/maintenance/language/dumpMessages.php index 35aeeb75fa..a0f0a9abb4 100644 --- a/maintenance/language/dumpMessages.php +++ b/maintenance/language/dumpMessages.php @@ -1,18 +1,44 @@ mDescription = "Dump an entire language, using the keys from English"; + } + + public function execute() { + $messages = array(); + foreach ( array_keys( Language::getMessagesFor( 'en' ) ) as $key ) { + $messages[$key] = wfMsg( $key ); + } + $this->output( "MediaWiki $wgVersion language file\n" ); + $this->output( serialize( $messages ) ); + } +} +$maintClass = "DumpMessages"; +require_once( DO_MAINTENANCE ); -- 2.20.1