} # Languages $wgLanguages = new languages(); # Header $wgOut->heading(); $wgOut->blockstart(); $wgOut->element('Language', true); $wgOut->element('Code', true); $wgOut->element('Translated', true); $wgOut->element('%', true); $wgOut->element('Obsolete', true); $wgOut->element('%', true); $wgOut->element('Problematic', true); $wgOut->element('%', true); $wgOut->blockend(); $wgGeneralMessages = $wgLanguages->getGeneralMessages(); $wgRequiredMessagesNumber = count($wgGeneralMessages['required']); foreach ($wgLanguages->getLanguages() as $code) { # Don't check English or RTL English if ($code == 'en' || $code == 'enRTL') { continue; } # Calculate the numbers $language = $wgContLang->getLanguageName($code); $messages = $wgLanguages->getMessages($code); $messagesNumber = count($messages['translated']); $requiredMessagesNumber = count($messages['required']); $requiredMessagesPercent = $wgOut->formatPercent($requiredMessagesNumber, $wgRequiredMessagesNumber); $obsoleteMessagesNumber = count($messages['obsolete']); $obsoleteMessagesPercent = $wgOut->formatPercent($obsoleteMessagesNumber, $messagesNumber, true); $messagesWithoutVariables = $wgLanguages->getMessagesWithoutVariables($code);