messageDust.php

Go to the documentation of this file.
00001 <?php
00008 require( dirname( __FILE__ ) . '/cli.inc' );
00009 
00010 $dbr = wfGetDB( DB_SLAVE );
00011 $rows = $dbr->select( array( 'page' ),
00012     array( 'page_title', 'page_namespace' ),
00013     array(
00014         'page_namespace' => $wgTranslateMessageNamespaces,
00015     ),
00016     __METHOD__
00017 );
00018 
00019 $owners = array();
00020 $keys = array();
00021 $codes = Language::getLanguageNames();
00022 $invalid = array();
00023 
00024 foreach ( $rows as $row ) {
00025     list( $key, $code ) = TranslateUtils::figureMessage( $row->page_title );
00026 
00027     if ( !$code ) {
00028         $code = 'en';
00029     }
00030 
00031     $mg = TranslateUtils::messageKeyToGroup( $row->page_namespace, $key );
00032     $ns = $wgContLang->getNsText( $row->page_namespace );
00033 
00034     if ( is_null( $mg ) ) {
00035         $keys["$ns:$key"][] = $code;
00036         $owner = 'xx-unknown';
00037     } else {
00038         $owner = $mg;
00039     }
00040 
00041     if ( !isset( $codes[$code] ) ) {
00042         $invalid[$code][] = "[[$ns:$key/$code]]";
00043     }
00044 
00045     if ( !isset( $owners[$owner] ) ) {
00046         $owners[$owner] = 0;
00047     }
00048 
00049     $owners[$owner]++;
00050 }
00051 
00052 $rows->free();
00053 
00054 ksort( $owners );
00055 
00056 if ( count( $invalid ) ) {
00057     echo "==Invalid language codes==\n" . implode( ', ', array_keys( $invalid ) ) . "\n";
00058 
00059     foreach ( $invalid as $key => $pages ) {
00060         echo "# $key: " . implode( ', ', $pages ) . "\n";
00061     }
00062 }
00063 
00064 if ( count( $owners ) ) {
00065     echo "\n==Messages claimed==\n";
00066 
00067     foreach ( $owners as $o => $count ) {
00068         echo "# $o: $count\n";
00069     }
00070 }
00071 
00072 if ( count( $keys ) ) {
00073     echo "\n==Unclaimed messages==\n";
00074 
00075     foreach ( $keys as $page => $langs ) {
00076         echo "* $page: " . implode( ', ', $langs ) . "\n";
00077     }
00078 }
Generated on Sun Dec 16 00:00:39 2012 for MediaWiki Translate Extension by  doxygen 1.6.3