Git commit 1141b650032f830fec9d8586d56865493f5dd320 by Harald Sitter. Committed on 13/08/2014 at 10:34. Pushed by sitter into branch 'rewrite'.
add basic l10nstat building reycled from kde4 version doesn't do much except generate a hash of translation information per language. also, this is not used in any of the production scripts A +57 -0 lib/l10nstatistics.rb M +30 -0 lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarok.po M +30 -0 lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarokcollectionscanner_qt.po A +1 -0 lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/docs/extragear-multimedia/amarok/index.docbook A +30 -0 lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/messages/extragear-multimedia/amarok.po A +30 -0 lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/messages/extragear-multimedia/amarokcollectionscanner_qt.po M +1 -0 lib/tests/data/l10nrepo/trunk/l10n-kf5/subdirs M +21 -0 lib/tests/ts_l10n.rb http://commits.kde.org/releaseme/1141b650032f830fec9d8586d56865493f5dd320 diff --git a/lib/l10nstatistics.rb b/lib/l10nstatistics.rb new file mode 100644 index 0000000..924b4b3 --- /dev/null +++ b/lib/l10nstatistics.rb @@ -0,0 +1,57 @@ +class L10nStatistics + attr_reader :stats + + def initialize()#project) +# @project = project + @stats = {} + end + + def gather!(sourceDirectory) + poDir = "#{sourceDirectory}/po/" + Dir.chdir(poDir) do + languages = Dir.glob("*") + languages.each do |language| + next unless File.directory?(language) + Dir.chdir(language) do + values = nil + + translated = 0 + fuzzy = 0 + untranslated = 0 + + for file in Dir.glob("*.po") + data = %x[LC_ALL=C LANG=C msgfmt --statistics #{file} > /dev/stdout 2>&1] + + # tear the data apart and create some variables + data.split(",").each do |x| + if x.include? "untranslated" + untranslated += x.scan(/[\d]+/)[0].to_i + elsif x.include? "fuzzy" + fuzzy += x.scan(/[\d]+/)[0].to_i + elsif x.include? "translated" + translated += x.scan(/[\d]+/)[0].to_i + end + end + end + + all = translated + fuzzy + untranslated + notshown = fuzzy + untranslated + shown = all - notshown + percentage= ((100.0 * shown.to_f) / all.to_f) + + @stats[language] = { + :all => all, + :shown => shown, + :notshown => notshown, + :percentage => percentage + } + p @stats + end + end + end + end + + def write(html_file_path) + + end +end \ No newline at end of file diff --git a/lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarok.po b/lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarok.po index e69de29..2f1deb9 100644 --- a/lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarok.po +++ b/lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarok.po @@ -0,0 +1,30 @@ +# Thomas Diehl <thd at kde.org>, 2002, 2003, 2004. +# Stephan Johach <hunsum at gmx.de>, 2004, 2005, 2006. +# Thomas Reitelbach <tr at erdfunkstelle.de>, 2005, 2006, 2007, 2008, 2009. +# Burkhard L?ck <lueck at hube-lueck.de>, 2009, 2012, 2014. +# Johannes Obermayr <johannesobermayr at gmx.de>, 2009. +# Panagiotis Papadopoulos <pano_90 at gmx.net>, 2010. +# Frederik Schwarzer <schwarzer at kde.org>, 2010, 2011. +# Hendrik Knackstedt <kn.hendrik at gmail.com>, 2011. +msgid "" +msgstr "" +"Project-Id-Version: ksysguard\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2014-04-27 20:56+0000\n" +"PO-Revision-Date: 2014-01-16 07:13+0100\n" +"Last-Translator: Burkhard L?ck <lueck at hube-lueck.de>\n" +"Language-Team: German <kde-i18n-de at kde.org>\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: HostConnector.cpp:44 +msgid "Connect Host" +msgstr "Mit Rechner verbinden" + +#: Workspace.cpp:263 +msgid "There are no tabs that could be deleted." +msgstr "Es existieren keine Arbeitsbl?tter, die gel?scht werden k?nnten." diff --git a/lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarokcollectionscanner_qt.po b/lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarokcollectionscanner_qt.po index e69de29..914d994 100644 --- a/lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarokcollectionscanner_qt.po +++ b/lib/tests/data/l10nrepo/trunk/l10n-kf5/de/messages/extragear-multimedia/amarokcollectionscanner_qt.po @@ -0,0 +1,30 @@ +# Thomas Diehl <thd at kde.org>, 2002, 2003, 2004. +# Stephan Johach <hunsum at gmx.de>, 2004, 2005, 2006. +# Thomas Reitelbach <tr at erdfunkstelle.de>, 2005, 2006, 2007, 2008, 2009. +# Burkhard L?ck <lueck at hube-lueck.de>, 2009, 2012, 2014. +# Johannes Obermayr <johannesobermayr at gmx.de>, 2009. +# Panagiotis Papadopoulos <pano_90 at gmx.net>, 2010. +# Frederik Schwarzer <schwarzer at kde.org>, 2010, 2011. +# Hendrik Knackstedt <kn.hendrik at gmail.com>, 2011. +msgid "" +msgstr "" +"Project-Id-Version: ksysguard\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2014-04-27 20:56+0000\n" +"PO-Revision-Date: 2014-01-16 07:13+0100\n" +"Last-Translator: Burkhard L?ck <lueck at hube-lueck.de>\n" +"Language-Team: German <kde-i18n-de at kde.org>\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: HostConnector.cpp:44 +msgid "Connect Host" +msgstr "Mit Rechner verbinden" + +#: Workspace.cpp:263 +msgid "There are no tabs that could be deleted." +msgstr "" diff --git a/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/docs/extragear-multimedia/amarok/index.docbook b/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/docs/extragear-multimedia/amarok/index.docbook new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/docs/extragear-multimedia/amarok/index.docbook @@ -0,0 +1 @@ + diff --git a/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/messages/extragear-multimedia/amarok.po b/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/messages/extragear-multimedia/amarok.po new file mode 100644 index 0000000..2f1deb9 --- /dev/null +++ b/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/messages/extragear-multimedia/amarok.po @@ -0,0 +1,30 @@ +# Thomas Diehl <thd at kde.org>, 2002, 2003, 2004. +# Stephan Johach <hunsum at gmx.de>, 2004, 2005, 2006. +# Thomas Reitelbach <tr at erdfunkstelle.de>, 2005, 2006, 2007, 2008, 2009. +# Burkhard L?ck <lueck at hube-lueck.de>, 2009, 2012, 2014. +# Johannes Obermayr <johannesobermayr at gmx.de>, 2009. +# Panagiotis Papadopoulos <pano_90 at gmx.net>, 2010. +# Frederik Schwarzer <schwarzer at kde.org>, 2010, 2011. +# Hendrik Knackstedt <kn.hendrik at gmail.com>, 2011. +msgid "" +msgstr "" +"Project-Id-Version: ksysguard\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2014-04-27 20:56+0000\n" +"PO-Revision-Date: 2014-01-16 07:13+0100\n" +"Last-Translator: Burkhard L?ck <lueck at hube-lueck.de>\n" +"Language-Team: German <kde-i18n-de at kde.org>\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: HostConnector.cpp:44 +msgid "Connect Host" +msgstr "Mit Rechner verbinden" + +#: Workspace.cpp:263 +msgid "There are no tabs that could be deleted." +msgstr "Es existieren keine Arbeitsbl?tter, die gel?scht werden k?nnten." diff --git a/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/messages/extragear-multimedia/amarokcollectionscanner_qt.po b/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/messages/extragear-multimedia/amarokcollectionscanner_qt.po new file mode 100644 index 0000000..2f1deb9 --- /dev/null +++ b/lib/tests/data/l10nrepo/trunk/l10n-kf5/fr/messages/extragear-multimedia/amarokcollectionscanner_qt.po @@ -0,0 +1,30 @@ +# Thomas Diehl <thd at kde.org>, 2002, 2003, 2004. +# Stephan Johach <hunsum at gmx.de>, 2004, 2005, 2006. +# Thomas Reitelbach <tr at erdfunkstelle.de>, 2005, 2006, 2007, 2008, 2009. +# Burkhard L?ck <lueck at hube-lueck.de>, 2009, 2012, 2014. +# Johannes Obermayr <johannesobermayr at gmx.de>, 2009. +# Panagiotis Papadopoulos <pano_90 at gmx.net>, 2010. +# Frederik Schwarzer <schwarzer at kde.org>, 2010, 2011. +# Hendrik Knackstedt <kn.hendrik at gmail.com>, 2011. +msgid "" +msgstr "" +"Project-Id-Version: ksysguard\n" +"Report-Msgid-Bugs-To: http://bugs.kde.org\n" +"POT-Creation-Date: 2014-04-27 20:56+0000\n" +"PO-Revision-Date: 2014-01-16 07:13+0100\n" +"Last-Translator: Burkhard L?ck <lueck at hube-lueck.de>\n" +"Language-Team: German <kde-i18n-de at kde.org>\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Lokalize 1.5\n" + +#: HostConnector.cpp:44 +msgid "Connect Host" +msgstr "Mit Rechner verbinden" + +#: Workspace.cpp:263 +msgid "There are no tabs that could be deleted." +msgstr "Es existieren keine Arbeitsbl?tter, die gel?scht werden k?nnten." diff --git a/lib/tests/data/l10nrepo/trunk/l10n-kf5/subdirs b/lib/tests/data/l10nrepo/trunk/l10n-kf5/subdirs index 5e2c53c..13b4dd6 100644 --- a/lib/tests/data/l10nrepo/trunk/l10n-kf5/subdirs +++ b/lib/tests/data/l10nrepo/trunk/l10n-kf5/subdirs @@ -1,2 +1,3 @@ de +fr x-test diff --git a/lib/tests/ts_l10n.rb b/lib/tests/ts_l10n.rb index 98adf65..582baa6 100644 --- a/lib/tests/ts_l10n.rb +++ b/lib/tests/ts_l10n.rb @@ -2,6 +2,7 @@ require "fileutils" require "test/unit" require_relative "../kdel10n.rb" +require_relative "../l10nstatistics.rb" require_relative "../documentation.rb" class TestL10n < Test::Unit::TestCase @@ -100,6 +101,26 @@ class TestL10n < Test::Unit::TestCase assert(File::exists?("#{@dir}/po/de/amarokcollectionscanner_qt.po")) end + def test_statistics + l = create_l10n() + l.initRepoUrl("file://#{Dir.pwd}/#{@svnTemplateDir}") + + FileUtils.rm_rf(@dir) + FileUtils.cp_r("data/multi-pot", @dir) + l.get(@dir) + + statistics = L10nStatistics.new + statistics.gather!(@dir) + assert(statistics.stats == {"de"=>{:all=>4, + :shown=>3, + :notshown=>1, + :percentage=>75.0}, + "fr"=>{:all=>4, + :shown=>4, + :notshown=>0, + :percentage=>100.0}}) + end + def create_doc l = DocumentationL10n.new(DocumentationL10n::TRUNK, "amarok", @module, @section) return l
