$output->element('%', true); $output->element('Obsolete', true); $output->element('%', true); $output->element('Problematic', true); $output->element('%', true); $output->blockend(); $wgGeneralMessages = $wgLanguages->getGeneralMessages(); $wgRequiredMessagesNumber = count($wgGeneralMessages['required']); foreach ($wgLanguages->getLanguages() as $code) { # Don't check English, RTL English or dummy language codes if ($code == 'en' || $code == 'enRTL' || is_array($wgDummyLanguageCodes) && isset($wgDummyLanguageCodes[$code])) { continue; } # Calculate the numbers $language = Language::fetchLanguageName($code); $fallback = $wgLanguages->getFallback($code); $messages = $wgLanguages->getMessages($code); $messagesNumber = count($messages['translated']); $requiredMessagesNumber = count($messages['required']); $requiredMessagesPercent = $output->formatPercent($requiredMessagesNumber, $wgRequiredMessagesNumber); $obsoleteMessagesNumber = count($messages['obsolete']); $obsoleteMessagesPercent = $output->formatPercent($obsoleteMessagesNumber, $messagesNumber, true); $messagesWithMismatchVariables = $wgLanguages->getMessagesWithMismatchVariables($code); $emptyMessages = $wgLanguages->getEmptyMessages($code); $messagesWithWhitespace = $wgLanguages->getMessagesWithWhitespace($code); $nonXHTMLMessages = $wgLanguages->getNonXHTMLMessages($code); $messagesWithWrongChars = $wgLanguages->getMessagesWithWrongChars($code); $problematicMessagesNumber = count(array_unique(array_merge($messagesWithMismatchVariables, $emptyMessages, $messagesWithWhitespace, $nonXHTMLMessages, $messagesWithWrongChars))); $problematicMessagesPercent = $output->formatPercent($problematicMessagesNumber, $messagesNumber, true); # Output them $output->blockstart();
$output->element('%', true); $output->element('Obsolete', true); $output->element('%', true); $output->element('Problematic', true); $output->element('%', true); $output->blockend(); $wgGeneralMessages = $languages->getGeneralMessages(); $wgRequiredMessagesNumber = count($wgGeneralMessages['required']); foreach ($languages->getLanguages() as $code) { # Don't check English, RTL English or dummy language codes if ($code == 'en' || $code == 'enRTL' || is_array($wgDummyLanguageCodes) && isset($wgDummyLanguageCodes[$code])) { continue; } # Calculate the numbers $language = Language::fetchLanguageName($code); $fallback = $languages->getFallback($code); $messages = $languages->getMessages($code); $messagesNumber = count($messages['translated']); $requiredMessagesNumber = count($messages['required']); $requiredMessagesPercent = $output->formatPercent($requiredMessagesNumber, $wgRequiredMessagesNumber); $obsoleteMessagesNumber = count($messages['obsolete']); $obsoleteMessagesPercent = $output->formatPercent($obsoleteMessagesNumber, $messagesNumber, true); $messagesWithMismatchVariables = $languages->getMessagesWithMismatchVariables($code); $emptyMessages = $languages->getEmptyMessages($code); $messagesWithWhitespace = $languages->getMessagesWithWhitespace($code); $nonXHTMLMessages = $languages->getNonXHTMLMessages($code); $messagesWithWrongChars = $languages->getMessagesWithWrongChars($code); $problematicMessagesNumber = count(array_unique(array_merge($messagesWithMismatchVariables, $emptyMessages, $messagesWithWhitespace, $nonXHTMLMessages, $messagesWithWrongChars))); $problematicMessagesPercent = $output->formatPercent($problematicMessagesNumber, $messagesNumber, true); # Output them $output->blockstart();