summaryrefslogtreecommitdiff
path: root/maintenance/language/unusedMessages.php
blob: 8b117eca7cd808c713fa6027b265b556f66b1840 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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";
?>