$language = $wgContLang->getLanguageName($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("{$language}"); $output->element("{$code}"); $output->element("{$fallback}"); $output->element("{$requiredMessagesNumber}/{$wgRequiredMessagesNumber}"); $output->element($requiredMessagesPercent); $output->element("{$obsoleteMessagesNumber}/{$messagesNumber}"); $output->element($obsoleteMessagesPercent); $output->element("{$problematicMessagesNumber}/{$messagesNumber}"); $output->element($problematicMessagesPercent); $output->blockend(); } # Footer $output->footer();
} # 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); $emptyMessages = $wgLanguages->getEmptyMessages($code); $messagesWithWhitespace = $wgLanguages->getMessagesWithWhitespace($code); $nonXHTMLMessages = $wgLanguages->getNonXHTMLMessages($code); $messagesWithWrongChars = $wgLanguages->getMessagesWithWrongChars($code); $problematicMessagesNumber = count(array_unique(array_merge($messagesWithoutVariables, $emptyMessages, $messagesWithWhitespace, $nonXHTMLMessages, $messagesWithWrongChars))); $problematicMessagesPercent = $wgOut->formatPercent($problematicMessagesNumber, $messagesNumber, true); # Output them $wgOut->blockstart(); $wgOut->element("{$language}"); $wgOut->element("{$code}"); $wgOut->element("{$requiredMessagesNumber}/{$wgRequiredMessagesNumber}"); $wgOut->element($requiredMessagesPercent); $wgOut->element("{$obsoleteMessagesNumber}/{$messagesNumber}"); $wgOut->element($obsoleteMessagesPercent); $wgOut->element("{$problematicMessagesNumber}/{$messagesNumber}"); $wgOut->element($problematicMessagesPercent); $wgOut->blockend(); } # Footer $wgOut->footer();
} } // Fill fields for groups if ( !$wmfscore ) { foreach ( $columns as $fields ) { list( $invert, $upper, $total ) = $fields; $c = $out->formatPercent( $upper, $total, $invert ); $out->element( $c ); } $out->blockend(); } } $out->footer(); if ( $reportScore && isset( $options['summary'] ) ) { if ( $reportScore && isset( $options['legendsummary'] ) ) { $out->addFreeText( "{{" . $options['legendsummary'] . "}}\n" ); } $out->summaryheading(); $out->blockstart(); $out->element( $l10n ? "{{int:translate-gs-continent}}" : 'Continent', true ); $out->element( $l10n ? "{{int:translate-gs-count}}" : 'Count', true ); $out->element( $l10n ? "{{int:translate-gs-avgscore}}" : 'Avg. score', true ); $out->blockend();