From 095b3d81037f5a3b3de44444845651c9c4f5c411 Mon Sep 17 00:00:00 2001 From: Romain d'Alverny Date: Thu, 24 May 2012 13:45:06 +0000 Subject: reporting tools --- langs/report.php | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 langs/report.php (limited to 'langs/report.php') diff --git a/langs/report.php b/langs/report.php new file mode 100644 index 000000000..e85652aa2 --- /dev/null +++ b/langs/report.php @@ -0,0 +1,147 @@ + + + + + + www.mageia.org translation report + + + +

www.mageia.org translation report

+ +
+

Report

+ '; + + $s = ''; + foreach ($enFiles as $f) { + + if (is_dir($f)) continue; + + $stats['en']['files'] += 1; + + $s .= sprintf('%s', + $f, $f); + + foreach ($otherLangs as $l) { + + $langF = str_replace('.en.lang', '.' . $l . '.lang', $f); + $langF = $l . substr($langF, 2); + + if (file_exists($langF)) { + + $stats[$l]['files'] += 1; + + $test = _lang_diff($f, $langF); + + if (count($test['missing']) === 0 + && count($test['notrans']) === 0) { + + $extra = null; + if (count($test['extra']) > 0) { + $extra = '' . sprintf($diff_link, $f, $l) . '(+' . count($test['extra']) . ')'; + } + + $s .= sprintf('OK%s', + $langF, $extra); + } + else { + // special case, en + if ($l == 'en') { + $s .= '' . count($test['notrans']) . ' strings'; + $stats['en']['strings'] += $test['a']; + $enStringsCount[$f] += $test['a']; + + // regular case + } else { + + $s .= sprintf('' . $diff_link, + $f, $l); + + if (count($test['missing']) > 0) { + $s .= count($test['missing']) . ' missing'; + } + if (count($test['notrans']) > 0) { + $s .= count($test['notrans']) . ' untranslated'; + } + $s .= ''; + } + } + $stats[$l]['strings'] += $test['b']; + + } else { + $stats[$l]['files'] += 0; + $stats[$l]['strings'] += 0; + $s .= 'missing'; + } + } + $s .= ''; + } + + $th = ''; + array_shift($otherLangs); + foreach ($otherLangs as $l) { + $th .= '' . $langs[$l] . '
' . $l . ''; + } + + $ths = ''; + foreach ($stats as $l => $data) { + if ($l == 'en') continue; + $ths .= '' . $data['files'] . ' / ' . $data['strings'] . '
' . round($data['strings'] / $stats['en']['strings'] * 100). '%'; + } + + echo << + + + English + {$th} + How to add a new language + + + Reference + + + {$stats['en']['files']} files + {$stats['en']['strings']} strings + {$ths} + + + +{$s} + + + +
+S; +?> + + \ No newline at end of file -- cgit v1.2.1