Пример #1
0
 public function execute()
 {
     if (!function_exists('memory_get_usage')) {
         $this->error("You must compile PHP with --enable-memory-limit", true);
     }
     $langtool = new Languages();
     $memlast = $memstart = memory_get_usage();
     $this->output("Base memory usage: {$memstart}\n");
     foreach ($langtool->getLanguages() as $langcode) {
         Language::factory($langcode);
         $memstep = memory_get_usage();
         $this->output(sprintf("%12s: %d\n", $langcode, $memstep - $memlast));
         $memlast = $memstep;
     }
     $memend = memory_get_usage();
     $this->output(' Total Usage: ' . ($memend - $memstart) . "\n");
 }
Пример #2
0
# Header
$output->heading();
$output->blockstart();
$output->element('Language', true);
$output->element('Code', true);
$output->element('Fallback', true);
$output->element('Translated', true);
$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);
Пример #3
0
TEXT;
    exit(1);
}
# Get the language code
if (isset($options['lang'])) {
    $wgCode = $options['lang'];
} else {
    $wgCode = $wgContLang->getCode();
}
# Get the duplicate message source
if (isset($options['remove-duplicates']) && strcmp($options['remove-duplicates'], '')) {
    $wgDupeMessageSource = $options['remove-duplicates'];
} else {
    $wgDupeMessageSource = '';
}
# Get the options
$wgWriteToFile = !isset($options['dry-run']);
$wgListUnknownMessages = !isset($options['no-unknown']);
$wgRemoveUnknownMessages = isset($options['remove-unknown']);
$wgRemoveDuplicateMessages = isset($options['remove-duplicates']);
$messagesFolder = isset($options['messages-folder']) ? $options['messages-folder'] : false;
# Get language objects
$languages = new Languages();
# Write all the language
if ($wgCode == 'all') {
    foreach ($languages->getLanguages() as $languageCode) {
        rebuildLanguage($languages, $languageCode, $wgWriteToFile, $wgListUnknownMessages, $wgRemoveUnknownMessages, $wgRemoveDuplicateMessages, $wgDupeMessageSource, $messagesFolder);
    }
} else {
    rebuildLanguage($languages, $wgCode, $wgWriteToFile, $wgListUnknownMessages, $wgRemoveUnknownMessages, $wgRemoveDuplicateMessages, $wgDupeMessageSource, $messagesFolder);
}