NOTE: THIS IS TRANSLATION OF NAVIGATION SO LOCATION FOR COMMIT IS DIFFERENT!'; $commit = 'web/www/trunk/_nav/langs/' . $file . ' and for now to the web/nav/langs/' . $file . ' too'; } else { $file = $target_file; $note = ''; $commit = 'web/www/trunk/langs/' . $file . ''; } $source_file_path = realpath($source_file); $target_file_path = realpath($target_file); if (false === strstr($source_file_path, '/langs/') || false === strstr($target_file_path, '/langs/')) { die('no sorry'); } if ($gettext) { $diff = _po_diff($target_lang, $resource); } else { $diff = _lang_diff($source_file_path, $target_file_path); } $issues = array( 'missing' => 'missing strings', 'fuzzy_or_missing' => 'fuzzy or missing strings', 'notrans' => 'untranslated strings', 'extra' => 'unused (old) strings', 'dup_str' => 'duplicate strings', ); $s = '« back to the report page for ' . $langs[$target_lang] . ''; $s .= sprintf('

Differences between %s source and %s target

', $source_file, $target_lang); if($constitution) { $s .= '

Please translate constitution fully into ' . $langs[$target_lang] . ' first

'; $s .= '

You can find it in svn. '; $constitution_results = aproximate_number_of_untranslated_constitution_lines(G_APP_ROOT, 'en'); $unique_lines_in_eng_constitution = $constitution_results['unique_lines_in_constitution']; $lang_constitution_results = aproximate_number_of_untranslated_constitution_lines(G_APP_ROOT, $target_lang, $unique_lines_in_eng_constitution); $constitution_readable = $lang_constitution_results['constitution_readable']; $diff['untranslated_lines_in_constitution'] = $lang_constitution_results['untranslated_lines_in_constitution']; // add untranslated license sentences $dest_constitution = sprintf('%s/%s_%s.md', 'href="//svnweb.mageia.org/web/www/trunk/en/about/constitution', 'mageia.org_statutes', ($constitution_readable ? $target_lang : 'en')); $issues['untranslated_lines_in_constitution'] = 'of all untranslated lines in constitution (in svn)'; } if($license) { require_once('../en/about/license/license.php'); $license_array = read_license_from_vcs($target_lang); $license_numbers = array_pop($license_array); $num_of_untranslated_strings = $license_numbers["untran"]; // number of all license sentences $diff['untranslated_sentences_in_license'] = $license_numbers['untranslated_sentences']; // add untranslated license sentences $s .= '

Please translate license fully into ' . $langs[$target_lang] . ' first

'; $s .= sprintf('

You can find it in git. ', $target_lang); // git doesn't work yet on https $issues['untranslated_sentences_in_license'] = 'untranslated msgid strings in ' . $num_of_untranslated_strings . ' sentences in separate license file (in git)'; } if($constitution || $license) { $s .= 'Please read page on wiki for more information about that.

'; } $s .= '

After translation:

'; foreach ($issues as $type => $name) { if (isset($diff[$type]) && count($diff[$type]) > 0) { $s .= sprintf('

%d %s:

', count($diff[$type]), $name); $s .= '
';
        if ($type == 'untranslated_lines_in_constitution') {
            $prefix = '';
        } else if ($type == 'untranslated_sentences_in_license') {
            $prefix = 'msgid: ';
        } else {
            $prefix = ';';
        }
        foreach ($diff[$type] as $l)
            $s .= sprintf("%s%s\n\n", $prefix, rtrim(htmlspecialchars($l)));
        $s .= '
'; } } header('Content-Type: text/html;charset=utf-8'); ?> Differences between %s source and %s target', $source_file, $target_lang); ?>