namespace Langchecker; use Transvision\Json; $export_data = []; $current_locale = $locale; foreach ($sites as $website) { if (Project::isSupportedLocale($website, $current_locale)) { $website_data_source = Project::getWebsiteDataType($website); foreach (Project::getWebsiteFiles($website) as $filename) { if (!Project::isSupportedLocale($website, $current_locale, $filename, $langfiles_subsets)) { // File is not managed for this website+locale, ignore it continue; } $reference_locale = Project::getReferenceLocale($website); $website_name = Project::getWebsiteName($website); $displayed_filename = $website_data_source == 'lang' ? $filename : basename($filename); $file_flags = Project::getFileFlags($website, $filename, $current_locale); if ($website_data_source == 'lang') { $locale_filename = Project::getLocalFilePath($website, $current_locale, $filename); if (!is_file($locale_filename) || Project::isObsoleteFile($website, $filename, $current_locale)) { // File is missing or marked as obsolete continue; } // Load reference strings $reference_data = LangManager::loadSource($website, $reference_locale, $filename); $locale_analysis = LangManager::analyzeLangFile($website, $current_locale, $filename, $reference_data); $export_data[$website_name][$displayed_filename]['identical'] = count($locale_analysis['Identical']); $export_data[$website_name][$displayed_filename]['missing'] = count($locale_analysis['Missing']); $export_data[$website_name][$displayed_filename]['obsolete'] = count($locale_analysis['Obsolete']); $export_data[$website_name][$displayed_filename]['translated'] = count($locale_analysis['Translated']);
/** * @dataProvider getWebsiteNameDP */ public function testGetWebsiteName($a, $b) { $obj = new _Project(); $this->string($obj->getWebsiteName($a))->isEqualTo($b); }
if ($current_locale == $reference_locale) { // Ignore reference language continue; } if (!file_exists(Project::getLocalFilePath($current_website, $current_locale, $current_filename))) { // If the raw file does not exist, just skip the locale for this file continue; } $file_analysis = RawManager::compareRawFiles($current_website, $current_locale, $current_filename); $cmp_result = $file_analysis['cmp_result']; if ($cmp_result == 'ok') { $complete_locales_count++; $complete_locales_list[] = $current_locale; } $json_data[$current_filename][$current_locale]['status'] = $cmp_result; $website_name = Project::getWebsiteName($current_website); $locale_link = "<a href='./?locale={$current_locale}#{$website_name}'>{$current_locale}</a>"; echo "\n <tr>\n <td class='maincolumn'>{$locale_link}</td>\n <td><span class='rawstatus {$cmp_result}'>" . str_replace('_', ' ', $cmp_result) . "</span></td>\n </tr>\n"; } $coverage = Project::getUserBaseCoverage($complete_locales_list, $adu) . '%'; echo ' </tbody> <tfoot> <tr> <td colspan= "2">' . $complete_locales_count . ' translated locales (' . round($complete_locales_count / count($supported_locales) * 100) . '%)<br>' . $coverage . ' of our l10n user base' . '</td> </tr> </tfoot> </table> '; } $htmlresult = ob_get_contents();