summaryrefslogtreecommitdiff
path: root/maintenance/language/countMessages.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/language/countMessages.php')
-rw-r--r--maintenance/language/countMessages.php40
1 files changed, 40 insertions, 0 deletions
diff --git a/maintenance/language/countMessages.php b/maintenance/language/countMessages.php
new file mode 100644
index 00000000..7d16915a
--- /dev/null
+++ b/maintenance/language/countMessages.php
@@ -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;
+ }
+}
+