Beispiel #1
0
        $stats[$locale]['complete'] = true;
        $stats[$locale]['percentage'] = 100;
    } else {
        $stats[$locale]['percentage'] = round($stats[$locale]['strings_done'] / $stats[$locale]['strings_total'] * 100, 2);
    }
}
$percent_locale_done = round(count($locale_done) / $total_locales * 100, 2);
// Compute user base coverage for each page then an average
$page_coverage = [];
$sum_percent_covered_users = $sum_locales_per_page = 0;
foreach ($locale_done_per_page as $page => $locales) {
    $page_coverage[$page] = Utils::getUserBaseCoverage($locales, LANG_CHECKER);
    $sum_percent_covered_users += $page_coverage[$page];
    $sum_locales_per_page += count($locales);
}
$perfect_locales_coverage = Utils::getUserBaseCoverage($locale_done, LANG_CHECKER);
$average_coverage = round($sum_percent_covered_users / $sum_pages, 2);
$average_nb_locales = round($sum_locales_per_page / $sum_pages, 2);
// Organize data in $stats to display a summary of all locales
$locales_summary = ['perfect' => ['title' => 'Perfect', 'description' => 'No missing strings', 'locales' => [], 'locamotion_locales' => []], 'good' => ['title' => 'Good', 'description' => 'Less than 10% missing', 'locales' => [], 'locamotion_locales' => []], 'average' => ['title' => 'Average', 'description' => 'Between 10% and 40% missing', 'locales' => [], 'locamotion_locales' => []], 'bad' => ['title' => 'Bad', 'description' => 'Between 40% and 70% missing', 'locales' => [], 'locamotion_locales' => []], 'verybad' => ['title' => 'Very Bad', 'description' => 'Over 70% missing', 'locales' => [], 'locamotion_locales' => []]];
foreach ($stats as $locale => $locale_stats) {
    $category = '';
    if ($locale_stats['percentage'] == 100) {
        $category = 'perfect';
    } elseif ($locale_stats['percentage'] >= 90) {
        $category = 'good';
    } elseif ($locale_stats['percentage'] >= 60) {
        $category = 'average';
    } elseif ($locale_stats['percentage'] >= 30) {
        $category = 'bad';
    } else {