diff options
Diffstat (limited to 'maintenance/language/transstat.php')
-rw-r--r-- | maintenance/language/transstat.php | 71 |
1 files changed, 35 insertions, 36 deletions
diff --git a/maintenance/language/transstat.php b/maintenance/language/transstat.php index b433abb4..eeded34e 100644 --- a/maintenance/language/transstat.php +++ b/maintenance/language/transstat.php @@ -9,7 +9,7 @@ * @author Ashar Voultoiz <thoane@altern.org> * * Output is posted from time to time on: - * http://meta.wikimedia.org/wiki/Localization_statistics + * http://www.mediawiki.org/wiki/Localisation_statistics */ $optionsWithArgs = array( 'output' ); @@ -29,18 +29,17 @@ if ( !isset( $options['output'] ) ) { /** Print a usage message*/ function showUsage() { - print <<<END + print <<<TEXT Usage: php transstat.php [--help] [--output=csv|text|wiki] --help : this helpful message --output : select an output engine one of: * 'csv' : Comma Separated Values. * 'wiki' : MediaWiki syntax (default). - * 'metawiki' : MediaWiki syntax used for Meta-Wiki. * 'text' : Text with tabs. Example: php maintenance/transstat.php --output=text -END; - exit(); +TEXT; + exit(1); } @@ -48,16 +47,13 @@ END; # Select an output engine switch ( $options['output'] ) { case 'wiki': - $wgOut = new wikiStatsOutput(); - break; - case 'metawiki': - $wgOut = new metawikiStatsOutput(); + $output = new wikiStatsOutput(); break; case 'text': - $wgOut = new textStatsOutput(); + $output = new textStatsOutput(); break; case 'csv': - $wgOut = new csvStatsOutput(); + $output = new csvStatsOutput(); break; default: showUsage(); @@ -67,17 +63,18 @@ switch ( $options['output'] ) { $wgLanguages = new languages(); # Header -$wgOut->heading(); -$wgOut->blockstart(); -$wgOut->element( 'Language', true ); -$wgOut->element( 'Code', true ); -$wgOut->element( 'Translated', true ); -$wgOut->element( '%', true ); -$wgOut->element( 'Obsolete', true ); -$wgOut->element( '%', true ); -$wgOut->element( 'Problematic', true ); -$wgOut->element( '%', true ); -$wgOut->blockend(); +$output->heading(); +$output->blockstart(); +$output->element( 'Language', true ); +$output->element( 'Code', true ); +$output->element( 'Fallback', true ); +$output->element( 'Translated', true ); +$output->element( '%', true ); +$output->element( 'Obsolete', true ); +$output->element( '%', true ); +$output->element( 'Problematic', true ); +$output->element( '%', true ); +$output->blockend(); $wgGeneralMessages = $wgLanguages->getGeneralMessages(); $wgRequiredMessagesNumber = count( $wgGeneralMessages['required'] ); @@ -90,34 +87,36 @@ foreach ( $wgLanguages->getLanguages() as $code ) { # Calculate the numbers $language = $wgContLang->getLanguageName( $code ); + $fallback = $wgLanguages->getFallback( $code ); $messages = $wgLanguages->getMessages( $code ); $messagesNumber = count( $messages['translated'] ); $requiredMessagesNumber = count( $messages['required'] ); - $requiredMessagesPercent = $wgOut->formatPercent( $requiredMessagesNumber, $wgRequiredMessagesNumber ); + $requiredMessagesPercent = $output->formatPercent( $requiredMessagesNumber, $wgRequiredMessagesNumber ); $obsoleteMessagesNumber = count( $messages['obsolete'] ); - $obsoleteMessagesPercent = $wgOut->formatPercent( $obsoleteMessagesNumber, $messagesNumber, true ); + $obsoleteMessagesPercent = $output->formatPercent( $obsoleteMessagesNumber, $messagesNumber, true ); $messagesWithMismatchVariables = $wgLanguages->getMessagesWithMismatchVariables( $code ); $emptyMessages = $wgLanguages->getEmptyMessages( $code ); $messagesWithWhitespace = $wgLanguages->getMessagesWithWhitespace( $code ); $nonXHTMLMessages = $wgLanguages->getNonXHTMLMessages( $code ); $messagesWithWrongChars = $wgLanguages->getMessagesWithWrongChars( $code ); $problematicMessagesNumber = count( array_unique( array_merge( $messagesWithMismatchVariables, $emptyMessages, $messagesWithWhitespace, $nonXHTMLMessages, $messagesWithWrongChars ) ) ); - $problematicMessagesPercent = $wgOut->formatPercent( $problematicMessagesNumber, $messagesNumber, true ); + $problematicMessagesPercent = $output->formatPercent( $problematicMessagesNumber, $messagesNumber, true ); # Output them - $wgOut->blockstart(); - $wgOut->element( "$language" ); - $wgOut->element( "$code" ); - $wgOut->element( "$requiredMessagesNumber/$wgRequiredMessagesNumber" ); - $wgOut->element( $requiredMessagesPercent ); - $wgOut->element( "$obsoleteMessagesNumber/$messagesNumber" ); - $wgOut->element( $obsoleteMessagesPercent ); - $wgOut->element( "$problematicMessagesNumber/$messagesNumber" ); - $wgOut->element( $problematicMessagesPercent ); - $wgOut->blockend(); + $output->blockstart(); + $output->element( "$language" ); + $output->element( "$code" ); + $output->element( "$fallback" ); + $output->element( "$requiredMessagesNumber/$wgRequiredMessagesNumber" ); + $output->element( $requiredMessagesPercent ); + $output->element( "$obsoleteMessagesNumber/$messagesNumber" ); + $output->element( $obsoleteMessagesPercent ); + $output->element( "$problematicMessagesNumber/$messagesNumber" ); + $output->element( $problematicMessagesPercent ); + $output->blockend(); } # Footer -$wgOut->footer(); +$output->footer(); |