Script to generate the numbers used in the release announcement
authorTim Starling <tstarling@users.mediawiki.org>
Thu, 14 Aug 2008 15:50:59 +0000 (15:50 +0000)
committerTim Starling <tstarling@users.mediawiki.org>
Thu, 14 Aug 2008 15:50:59 +0000 (15:50 +0000)
maintenance/language/countMessages.php [new file with mode: 0644]

diff --git a/maintenance/language/countMessages.php b/maintenance/language/countMessages.php
new file mode 100644 (file)
index 0000000..7d16915
--- /dev/null
@@ -0,0 +1,40 @@
+<?php
+
+require_once( dirname(__FILE__).'/../commandLine.inc' );
+
+global $IP;
+
+if ( !isset( $args[0] ) ) {
+       $dir = "$IP/languages/messages";
+} else {
+       $dir = $args[0];
+}
+
+$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 = wfGetNumMessages( $file );
+       //print "$code: $numMessages\n";
+       $total += $numMessages;
+       if ( $numMessages > 0 ) {
+               $nonZero ++;
+       }
+}
+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;
+       }
+}
+