summaryrefslogtreecommitdiff
path: root/maintenance/language/unusedMessages.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/language/unusedMessages.php')
-rw-r--r--maintenance/language/unusedMessages.php42
1 files changed, 42 insertions, 0 deletions
diff --git a/maintenance/language/unusedMessages.php b/maintenance/language/unusedMessages.php
new file mode 100644
index 00000000..8b117eca
--- /dev/null
+++ b/maintenance/language/unusedMessages.php
@@ -0,0 +1,42 @@
+<?php
+/**
+ * Prints out messages in localisation files that are no longer used.
+ *
+ * @package MediaWiki
+ * @subpackage Maintenance
+ */
+
+require_once(dirname(__FILE__).'/../commandLine.inc');
+
+if ( isset( $args[0] ) ) {
+ $code = $args[0];
+} else {
+ $code = $wgLang->getCode();
+}
+
+if ( $code == 'en' ) {
+ print "Current selected language is English. Cannot check translations.\n";
+ exit();
+}
+
+$filename = Language::getMessagesFileName( $code );
+if ( file_exists( $filename ) ) {
+ require( $filename );
+} else {
+ $messages = array();
+}
+
+$count = $total = 0;
+$wgEnglishMessages = Language::getMessagesFor( 'en' );
+$wgLocalMessages = $messages;
+
+foreach ( $wgLocalMessages as $key => $msg ) {
+ ++$total;
+ if ( !isset( $wgEnglishMessages[$key] ) ) {
+ print "* $key\n";
+ ++$count;
+ }
+}
+
+print "{$count} messages of {$total} are unused in the language {$code}\n";
+?>