Example #1
0
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']);
Example #2
0
 /**
  * @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();