summaryrefslogtreecommitdiff
path: root/maintenance/language/checktrans.php
blob: a5772d47ff9abedbd983fea01d545717cedcc554 (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
43
44
<?php
/**
 * @package MediaWiki
 * @subpackage Maintenance
 * Check to see if all messages have been translated into the selected language.
 * To run this script, you must have a working installation, and you can specify
 * a language, or the script will check the installation language.
 */

/** */
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 ( $wgEnglishMessages as $key => $msg ) {
	++$total;
	if ( !isset( $wgLocalMessages[$key] ) ) {
		print "'{$key}' => \"$msg\",\n";
		++$count;
	}
}

print "{$count} messages of {$total} are not translated in the language {$code}.\n";
?>