From 19359090b7cfacacb8d1b803211057e16c53becb Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Mon, 1 Feb 2010 15:13:41 +0100 Subject: Added weekly stats, --reversed, --html to the abrt-bz-stats script. --- scripts/abrt-bz-stats | 168 +++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 132 insertions(+), 36 deletions(-) diff --git a/scripts/abrt-bz-stats b/scripts/abrt-bz-stats index 48ac838..5e25391 100755 --- a/scripts/abrt-bz-stats +++ b/scripts/abrt-bz-stats @@ -10,7 +10,7 @@ from optparse import OptionParser import sys import os.path import subprocess -import datetime +from datetime import datetime import pickle # @@ -23,6 +23,15 @@ parser.add_option("-p", "--password", dest="password", help="Bugzilla password (REQUIRED)", metavar="PASSWORD") parser.add_option("-b", "--bugzilla", dest="bugzilla", help="Bugzilla URL (defaults to Red Hat Bugzilla)", metavar="URL") +# Weekly stats shows the impact of changes in ABRT early. +parser.add_option("-w", "--weekly", help="Generate weekly report instead of monthly", + action="store_true", default=False, dest="weekly") +# HTML output for blogs etc. +parser.add_option("-t", "--html", help="Generate HTML output", + action="store_true", default=False, dest="html") +# Newest stats first +parser.add_option("-r", "--reversed", help="Display the newest stats first", + action="store_true", default=False, dest="reversed") (options, args) = parser.parse_args() if not options.user or len(options.user) == 0: parser.error("User name is required.\nTry {0} --help".format(sys.argv[0])) @@ -72,10 +81,10 @@ for buginfo in buginfos: if buginfos_loaded.has_key(buginfo.bug_id): continue - # creation date, format YEAR-MONTH - created = buginfo.creation_ts[0:7].replace(".", "-") - # last change to bug, format YEAR-MONTH - lastchange = buginfo.delta_ts[0:7].replace(".", "-") + # creation date, format YEAR-MONTH-DAY + created = buginfo.creation_ts[0:10].replace(".", "-") + # last change to bug, format YEAR-MONTH-DAY + lastchange = buginfo.delta_ts[0:10].replace(".", "-") status = buginfo.bug_status # status during the last change if buginfo.resolution != "": status += "_" + buginfo.resolution @@ -91,12 +100,15 @@ save_to_cache() # # Interpret data from Bugzilla # -# Bugs reported this month by ABRT -# Bugs closed as useful this month by ABRT -# Bugs closed as waste this month by ABRT -# Top crashers this month. +# Bugs reported this month/week by ABRT +# Bugs closed as useful this month/week by ABRT +# Bugs closed as waste this month/week by ABRT +# Top crashers this month/week. # -class Month: +class TimeSpan: + """ + It's either a week or month. + """ def __init__(self): # Number of bugs reported to certain component this month. self.components = {} @@ -147,48 +159,132 @@ class Month: elif resolution in ["CLOSED_DUPLICATE", "CLOSED_CANTFIX", "CLOSED_INSUFFICIENT_DATA"]: self.closed_as_waste += 1 + def __str__(self): + def bug(count): + if count == 1: + return "%d bug" % count + else: + return "%d bugs" % count -stats = {} # key == YEAR-MONTH, value == Month() + def crash(count): + if count == 1: + return "%d crash" % count + else: + return "%d crashes" % count + + start = "" + bugs_reported = " - %s reported\n" + bugs_closed = " - %s closed\n" + bugs_cl_useful = " - %s (%d%%) as fixed, so ABRT was useful\n" + bugs_cl_notuseful = " - %s (%d%%) as duplicate, can't fix, insuf. data, so ABRT was not useful\n" + bugs_cl_other = " - %s (%d%%) as notabug, wontfix, worksforme\n" + bugs_closed_end = "" + top_crashers = " - top crashers:\n" + top_crasher_item = " # %s: %s\n" + top_crashers_end = "" + end = "" + if options.html: + start = "\n" + + str = start + str += bugs_reported % bug(self.bugs_reported()) + if self.closed() > 0: + str += bugs_closed % bug(self.closed()) + if self.closed_as_useful > 0: + str += bugs_cl_useful % (bug(self.closed_as_useful), self.closed_as_useful_percentage()) + if self.closed_as_waste > 0: + str += bugs_cl_notuseful % (bug(self.closed_as_waste), self.closed_as_waste_percentage()) + if self.closed_as_other > 0: + str += bugs_cl_other % (bug(self.closed_as_other), self.closed_as_other_percentage()) + str += bugs_closed_end + if len(self.top_crashers()) > 0: + str += top_crashers + for (component, num_crashes) in self.top_crashers(): + str += top_crasher_item % (component, crash(num_crashes)) + str += top_crashers_end + str += end + return str + +monthly_stats = {} # key == YEAR-MONTH, value == Month() +weekly_stats = {} # key == YEAR-WEEK, value == Month() def get_month(month): - global stats - if month in stats: - return stats[month] + global monthly_stats + if month in monthly_stats: + return monthly_stats[month] + else: + monthly_stats[month] = TimeSpan() + return monthly_stats[month] + +def get_week(week): + global weekly_stats + if week in weekly_stats: + return weekly_stats[week] else: - stats[month] = Month() - return stats[month] + weekly_stats[week] = TimeSpan() + return weekly_stats[week] for buginfo in buginfos_loaded.values(): # Bugs reported this month by ABRT # Top crashers this month - month = get_month(buginfo['created']) + month_key = buginfo['created'][0:7] + month = get_month(month_key) month.add_component_crash(buginfo['component']) + # Bugs reported this week by ABRT + # Top crashers this week + week_key = datetime.strptime(buginfo['created'], "%Y-%m-%d").strftime("%Y-%W") + week = get_week(week_key) + week.add_component_crash(buginfo['component']) + # Bugs closed as useful this month by ABRT # Bugs closed as waste this month by ABRT - month = get_month(buginfo['lastchange']) + month_key = buginfo['lastchange'][0:7] + month = get_month(month_key) month.add_resolution(buginfo['status']) + # Bugs closed as useful this week by ABRT + # Bugs closed as waste this week by ABRT + week_key = datetime.strptime(buginfo['lastchange'], "%Y-%m-%d").strftime("%Y-%W") + week = get_week(week_key) + week.add_resolution(buginfo['status']) + # # Print interpreted data # print "STATS" print "==========================================================================" -months = stats.keys() -months.sort() -for month in months: - m = stats[month] - print "MONTH ", month - print " -", m.bugs_reported(), "bugs reported" - if m.closed() > 0: - print " -", m.closed(), "bugs closed" - if m.closed_as_useful > 0: - print " -", m.closed_as_useful, "bugs (" + str(m.closed_as_useful_percentage()) + "%) as fixed, so ABRT was useful" - if m.closed_as_waste > 0: - print " -", m.closed_as_waste, "bugs (" + str(m.closed_as_waste_percentage())+ "%) as duplicate, can't fix, insuf. data, so ABRT was not useful" - if m.closed_as_other > 0: - print " -", m.closed_as_other, "bugs (" + str(m.closed_as_other_percentage()) + "%) as notabug, wontfix, worksforme" - if len(m.top_crashers()) > 0: - print " - top crashers:" - for (component, num_crashes) in m.top_crashers(): - print " # ", component + ":", num_crashes, "crashes" +if not options.weekly: + months = monthly_stats.keys() + months.sort() + if options.reversed: + months.reverse() + for month in months: + m = monthly_stats[month] + if options.html: + print "

Month %s

" % month + else: + print "MONTH %s" % month + print m +else: + weeks = weekly_stats.keys() + weeks.sort() + if options.reversed: + weeks.reverse() + for week in weeks: + w = weekly_stats[week] + if options.html: + print "

Week %s

" % week + else: + print "WEEK %s" % week + print w -- cgit From 432df42f6036da0e2425a1369ad19e5527e7d5b5 Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Wed, 3 Feb 2010 21:43:15 +0100 Subject: Fix to successfully parse a backtrace from rhbz#550642 --- src/Backtrace/parser.y | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Backtrace/parser.y b/src/Backtrace/parser.y index 76dd7de..36a8e34 100644 --- a/src/Backtrace/parser.y +++ b/src/Backtrace/parser.y @@ -300,6 +300,7 @@ function_args : '(' wsa ')' function_args_sequence : function_args_char | function_args_sequence wsa '(' wsa ')' + | function_args_sequence wsa '(' wsa function_args_string wsa ')' | function_args_sequence wsa '(' wsa function_args_sequence wsa ')' | function_args_sequence wsa function_args_char | function_args_sequence wsa function_args_string -- cgit From fca632faa0c0ce211a74787d688be7cd6627cd30 Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Wed, 3 Feb 2010 22:06:07 +0100 Subject: GUI: fixed windows icons and titles rhbz#537240, rhbz#560964 --- lib/Plugins/Bugzilla.GTKBuilder | 1 + lib/Plugins/Catcut.GTKBuilder | 1 + lib/Plugins/KerneloopsReporter.GTKBuilder | 5 +++-- lib/Plugins/Logger.GTKBuilder | 5 +++-- lib/Plugins/Mailx.GTKBuilder | 1 + lib/Plugins/TicketUploader.GTKBuilder | 5 +++-- src/Gui/ccgui.glade | 2 ++ src/Gui/settings.glade | 11 +++++++---- 8 files changed, 21 insertions(+), 10 deletions(-) diff --git a/lib/Plugins/Bugzilla.GTKBuilder b/lib/Plugins/Bugzilla.GTKBuilder index 27af868..7c25e92 100644 --- a/lib/Plugins/Bugzilla.GTKBuilder +++ b/lib/Plugins/Bugzilla.GTKBuilder @@ -7,6 +7,7 @@ False True center-on-parent + /usr/share/pixmaps/abrt.png normal False diff --git a/lib/Plugins/Catcut.GTKBuilder b/lib/Plugins/Catcut.GTKBuilder index 9f314f0..2926146 100644 --- a/lib/Plugins/Catcut.GTKBuilder +++ b/lib/Plugins/Catcut.GTKBuilder @@ -7,6 +7,7 @@ False True center-on-parent + /usr/share/pixmaps/abrt.png normal False diff --git a/lib/Plugins/KerneloopsReporter.GTKBuilder b/lib/Plugins/KerneloopsReporter.GTKBuilder index 65f993f..24128c2 100644 --- a/lib/Plugins/KerneloopsReporter.GTKBuilder +++ b/lib/Plugins/KerneloopsReporter.GTKBuilder @@ -6,6 +6,7 @@ 12 False True + /usr/share/pixmaps/abrt.png normal False @@ -74,7 +75,7 @@ end - gtk-apply + gtk-apply True True True @@ -88,7 +89,7 @@ - gtk-cancel + gtk-cancel True True True diff --git a/lib/Plugins/Logger.GTKBuilder b/lib/Plugins/Logger.GTKBuilder index 26ac10f..afb24eb 100644 --- a/lib/Plugins/Logger.GTKBuilder +++ b/lib/Plugins/Logger.GTKBuilder @@ -7,6 +7,7 @@ False True center-on-parent + /usr/share/pixmaps/abrt.png normal False @@ -91,7 +92,7 @@ end - gtk-apply + gtk-apply True True True @@ -105,7 +106,7 @@ - gtk-cancel + gtk-cancel True True True diff --git a/lib/Plugins/Mailx.GTKBuilder b/lib/Plugins/Mailx.GTKBuilder index 55647e1..b8c822e 100644 --- a/lib/Plugins/Mailx.GTKBuilder +++ b/lib/Plugins/Mailx.GTKBuilder @@ -7,6 +7,7 @@ False True center-on-parent + /usr/share/pixmaps/abrt.png normal False diff --git a/lib/Plugins/TicketUploader.GTKBuilder b/lib/Plugins/TicketUploader.GTKBuilder index 4695a31..594d9de 100644 --- a/lib/Plugins/TicketUploader.GTKBuilder +++ b/lib/Plugins/TicketUploader.GTKBuilder @@ -7,6 +7,7 @@ False True center-on-parent + /usr/share/pixmaps/abrt.png normal False @@ -204,7 +205,7 @@ end - gtk-apply + gtk-apply True True True @@ -218,7 +219,7 @@ - gtk-cancel + gtk-cancel True True True diff --git a/src/Gui/ccgui.glade b/src/Gui/ccgui.glade index 65ad9fe..237f23a 100644 --- a/src/Gui/ccgui.glade +++ b/src/Gui/ccgui.glade @@ -9,6 +9,7 @@ True center-on-parent 470 + /usr/share/pixmaps/abrt.png main_window3 @@ -76,6 +77,7 @@ About ABRT False center-on-parent + /usr/share/pixmaps/abrt.png dialog False ABRT diff --git a/src/Gui/settings.glade b/src/Gui/settings.glade index 655c15b..a9a14f4 100644 --- a/src/Gui/settings.glade +++ b/src/Gui/settings.glade @@ -3,11 +3,12 @@ - Settings + Plugins True center-on-parent 450 400 + /usr/share/pixmaps/abrt.png True @@ -254,11 +255,12 @@ - Global Settings + Preferences True center-on-parent 450 400 + /usr/share/pixmaps/abrt.png True @@ -706,7 +708,7 @@ end - gtk-cancel + gtk-cancel True True True @@ -720,7 +722,7 @@ - gtk-ok + gtk-ok True False True @@ -753,6 +755,7 @@ center-on-parent 400 400 + /usr/share/pixmaps/abrt.png wGlobalSettings -- cgit From ed5af9fd9e11b64a8586fdab564fe90375be1c82 Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Wed, 3 Feb 2010 22:16:27 +0100 Subject: fixed button order in plugins windows rhbz#560961 --- lib/Plugins/Bugzilla.GTKBuilder | 10 +++++----- lib/Plugins/Catcut.GTKBuilder | 10 +++++----- lib/Plugins/KerneloopsReporter.GTKBuilder | 10 +++++----- lib/Plugins/Logger.GTKBuilder | 10 +++++----- lib/Plugins/Mailx.GTKBuilder | 10 +++++----- lib/Plugins/TicketUploader.GTKBuilder | 10 +++++----- 6 files changed, 30 insertions(+), 30 deletions(-) diff --git a/lib/Plugins/Bugzilla.GTKBuilder b/lib/Plugins/Bugzilla.GTKBuilder index 7c25e92..8c662c3 100644 --- a/lib/Plugins/Bugzilla.GTKBuilder +++ b/lib/Plugins/Bugzilla.GTKBuilder @@ -200,8 +200,8 @@ True end - - gtk-apply + + gtk-cancel True True True @@ -214,8 +214,8 @@ - - gtk-cancel + + gtk-apply True True True @@ -237,8 +237,8 @@ - bApply button2 + bApply diff --git a/lib/Plugins/Catcut.GTKBuilder b/lib/Plugins/Catcut.GTKBuilder index 2926146..1207478 100644 --- a/lib/Plugins/Catcut.GTKBuilder +++ b/lib/Plugins/Catcut.GTKBuilder @@ -166,8 +166,8 @@ True end - - gtk-apply + + gtk-cancel True True True @@ -180,8 +180,8 @@ - - gtk-cancel + + gtk-apply True True True @@ -203,8 +203,8 @@ - bApply button2 + bApply diff --git a/lib/Plugins/KerneloopsReporter.GTKBuilder b/lib/Plugins/KerneloopsReporter.GTKBuilder index 24128c2..dbe6c96 100644 --- a/lib/Plugins/KerneloopsReporter.GTKBuilder +++ b/lib/Plugins/KerneloopsReporter.GTKBuilder @@ -74,8 +74,8 @@ True end - - gtk-apply + + gtk-cancel True True True @@ -88,8 +88,8 @@ - - gtk-cancel + + gtk-apply True True True @@ -111,8 +111,8 @@ - button1 button2 + button1 diff --git a/lib/Plugins/Logger.GTKBuilder b/lib/Plugins/Logger.GTKBuilder index afb24eb..8863360 100644 --- a/lib/Plugins/Logger.GTKBuilder +++ b/lib/Plugins/Logger.GTKBuilder @@ -91,8 +91,8 @@ True end - - gtk-apply + + gtk-cancel True True True @@ -105,8 +105,8 @@ - - gtk-cancel + + gtk-apply True True True @@ -128,8 +128,8 @@ - button1 button2 + button1 diff --git a/lib/Plugins/Mailx.GTKBuilder b/lib/Plugins/Mailx.GTKBuilder index b8c822e..079e27c 100644 --- a/lib/Plugins/Mailx.GTKBuilder +++ b/lib/Plugins/Mailx.GTKBuilder @@ -140,8 +140,8 @@ True end - - gtk-apply + + gtk-cancel True True True @@ -154,8 +154,8 @@ - - gtk-cancel + + gtk-apply True True True @@ -177,8 +177,8 @@ - button1 button2 + button1 diff --git a/lib/Plugins/TicketUploader.GTKBuilder b/lib/Plugins/TicketUploader.GTKBuilder index 594d9de..36b1dd9 100644 --- a/lib/Plugins/TicketUploader.GTKBuilder +++ b/lib/Plugins/TicketUploader.GTKBuilder @@ -204,8 +204,8 @@ True end - - gtk-apply + + gtk-cancel True True True @@ -218,8 +218,8 @@ - - gtk-cancel + + gtk-apply True True True @@ -241,8 +241,8 @@ - bApply button2 + bApply -- cgit From ac9988a068b184689228dfaf18759cc2f67464ae Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Wed, 3 Feb 2010 23:01:20 +0100 Subject: GUI: fixed scrolling in reporter dialog rhbz#559687 --- src/Gui/report.glade | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/src/Gui/report.glade b/src/Gui/report.glade index 13e4c14..e7f37ec 100644 --- a/src/Gui/report.glade +++ b/src/Gui/report.glade @@ -374,16 +374,10 @@ automatic automatic - + True - queue - - - True - True - word-char - - + True + word-char @@ -417,16 +411,10 @@ automatic automatic - + True - queue - - - True - True - word-char - - + True + word-char -- cgit From 80f3d6ddc8ed631e463c80c5d7c98d03c7b74f57 Mon Sep 17 00:00:00 2001 From: Jiri Moskovcak Date: Wed, 3 Feb 2010 23:05:11 +0100 Subject: swapped lines, iterator is not defined after erase() is called - and this makes valgrind unhappy --- src/Daemon/PluginManager.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Daemon/PluginManager.cpp b/src/Daemon/PluginManager.cpp index 273cceb..15e9bee 100644 --- a/src/Daemon/PluginManager.cpp +++ b/src/Daemon/PluginManager.cpp @@ -261,8 +261,8 @@ void CPluginManager::UnLoadPlugin(const char *pName) m_mapPlugins.erase(it_plugin); } log("UnRegistered %s plugin %s", plugin_type_str[it_module->second->GetType()], pName); - m_mapLoadedModules.erase(it_module); delete it_module->second; + m_mapLoadedModules.erase(it_module); } } -- cgit From b1f6cd945f9faaae9160a57b10a29cc4851b22b6 Mon Sep 17 00:00:00 2001 From: raven Date: Wed, 3 Feb 2010 22:17:20 +0000 Subject: Sending translation for Polish --- po/pl.po | 474 +++++++++++++++++++++++++++++++-------------------------------- 1 file changed, 233 insertions(+), 241 deletions(-) diff --git a/po/pl.po b/po/pl.po index 78f675d..2506547 100644 --- a/po/pl.po +++ b/po/pl.po @@ -6,53 +6,53 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2010-02-02 15:17+0100\n" -"PO-Revision-Date: 2010-01-30 18:32+0100\n" +"POT-Creation-Date: 2010-02-03 22:13+0000\n" +"PO-Revision-Date: 2010-02-03 23:16+0100\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: src/Gui/ABRTExceptions.py:6 +#: ../src/Gui/ABRTExceptions.py:6 msgid "Another client is already running, trying to wake it." msgstr "Inny klient jest już uruchomiony, próba przebudzenia go." -#: src/Gui/ABRTExceptions.py:13 +#: ../src/Gui/ABRTExceptions.py:13 msgid "Got unexpected data from daemon (is the database properly updated?)." msgstr "" "Otrzymano nieoczekiwane dane od demona (czy baza danych została właściwie " "zaktualizowana?)." -#: src/Gui/ABRTPlugin.py:62 +#: ../src/Gui/ABRTPlugin.py:62 msgid "Not loaded plugins" msgstr "Nie wczytano wtyczek" -#: src/Gui/ABRTPlugin.py:63 +#: ../src/Gui/ABRTPlugin.py:63 msgid "Analyzer plugins" msgstr "Wtyczki analizy" -#: src/Gui/ABRTPlugin.py:64 +#: ../src/Gui/ABRTPlugin.py:64 msgid "Action plugins" msgstr "Wtyczki czynności" -#: src/Gui/ABRTPlugin.py:65 +#: ../src/Gui/ABRTPlugin.py:65 msgid "Reporter plugins" msgstr "Wtyczki zgłaszania" -#: src/Gui/ABRTPlugin.py:66 +#: ../src/Gui/ABRTPlugin.py:66 msgid "Database plugins" msgstr "Wtyczki baz danych" -#: src/Gui/CCDBusBackend.py:74 src/Gui/CCDBusBackend.py:97 +#: ../src/Gui/CCDBusBackend.py:74 ../src/Gui/CCDBusBackend.py:97 msgid "Can't connect to system dbus" msgstr "Nie można połączyć się z systemową magistralą D-Bus" -#: src/Gui/CCDBusBackend.py:120 src/Gui/CCDBusBackend.py:123 +#: ../src/Gui/CCDBusBackend.py:120 ../src/Gui/CCDBusBackend.py:123 msgid "Please check if abrt daemon is running" msgstr "Proszę sprawdzić, czy demon abrt jest uruchomiony" -#: src/Gui/CCDBusBackend.py:175 +#: ../src/Gui/CCDBusBackend.py:175 msgid "" "Daemon didn't return valid report info\n" "Debuginfo is missing?" @@ -60,23 +60,44 @@ msgstr "" "Demon nie zwrócił prawidłowych informacji o raporcie\n" "Brak pakietów debuginfo?" -#: src/Gui/ccgui.glade:8 -msgid "Please wait.." -msgstr "Proszę czekać..." +#: ../src/Gui/ccgui.glade.h:1 +msgid "(C) 2009 Red Hat, Inc." +msgstr "(C) 2009 Red Hat, Inc." + +#: ../src/Gui/ccgui.glade.h:2 +msgid "About ABRT" +msgstr "O programie ABRT" + +#: ../src/Gui/ccgui.glade.h:3 ../src/Gui/CCMainWindow.py:8 +#: ../src/Gui/report.glade.h:15 ../src/Gui/abrt.desktop.in.h:1 +msgid "Automatic Bug Reporting Tool" +msgstr "Narzędzie do automatycznego zgłaszania błędów" + +#: ../src/Gui/ccgui.glade.h:4 +msgid "Delete" +msgstr "Usuń" -#: src/Gui/ccgui.glade:60 +#: ../src/Gui/ccgui.glade.h:5 msgid "Details" msgstr "Szczegóły" -#: src/Gui/ccgui.glade:76 -msgid "About ABRT" -msgstr "O programie ABRT" +#: ../src/Gui/ccgui.glade.h:6 +msgid "Not Reported" +msgstr "Nie zgłoszono" -#: src/Gui/ccgui.glade:82 -msgid "(C) 2009 Red Hat, Inc." -msgstr "(C) 2009 Red Hat, Inc." +#: ../src/Gui/ccgui.glade.h:7 +msgid "Please wait.." +msgstr "Proszę czekać..." + +#: ../src/Gui/ccgui.glade.h:8 ../src/Gui/settings.glade.h:19 +msgid "Plugins" +msgstr "Wtyczki" -#: src/Gui/ccgui.glade:83 +#: ../src/Gui/ccgui.glade.h:9 +msgid "Report" +msgstr "Zgłoś" + +#: ../src/Gui/ccgui.glade.h:10 msgid "" "This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " @@ -106,63 +127,44 @@ msgstr "" "Powszechnej Licencji Publicznej GNU (GNU General Public License); jeśli nie " "- proszę odwiedzić stronę internetową ." -#: src/Gui/ccgui.glade:121 src/Gui/CCMainWindow.py:8 src/Gui/report.glade:7 -msgid "Automatic Bug Reporting Tool" -msgstr "Narzędzie do automatycznego zgłaszania błędów" - -#: src/Gui/ccgui.glade:134 -msgid "_File" -msgstr "_Plik" - -#: src/Gui/ccgui.glade:155 +#: ../src/Gui/ccgui.glade.h:15 msgid "_Edit" msgstr "_Edycja" -#: src/Gui/ccgui.glade:163 -msgid "Plugins" -msgstr "Wtyczki" +#: ../src/Gui/ccgui.glade.h:16 +msgid "_File" +msgstr "_Plik" -#: src/Gui/ccgui.glade:182 +#: ../src/Gui/ccgui.glade.h:17 msgid "_Help" msgstr "Pomo_c" -#: src/Gui/ccgui.glade:214 src/Gui/ccgui.glade:215 -msgid "Delete" -msgstr "Usuń" - -#: src/Gui/ccgui.glade:227 src/Gui/ccgui.glade:228 src/Gui/ccgui.glade:342 -msgid "Report" -msgstr "Zgłoś" - -#: src/Gui/ccgui.glade:298 -msgid "Not Reported" -msgstr "Nie zgłoszono" - -#: src/Gui/CCMainWindow.py:74 +#. add pixbuff separatelly +#: ../src/Gui/CCMainWindow.py:74 msgid "Icon" msgstr "Ikona" -#: src/Gui/CCMainWindow.py:82 +#: ../src/Gui/CCMainWindow.py:82 msgid "Package" msgstr "Pakiet" -#: src/Gui/CCMainWindow.py:83 +#: ../src/Gui/CCMainWindow.py:83 msgid "Application" msgstr "Aplikacja" -#: src/Gui/CCMainWindow.py:84 +#: ../src/Gui/CCMainWindow.py:84 msgid "Date" msgstr "Data" -#: src/Gui/CCMainWindow.py:85 +#: ../src/Gui/CCMainWindow.py:85 msgid "Crash count" msgstr "Liczba awarii" -#: src/Gui/CCMainWindow.py:86 +#: ../src/Gui/CCMainWindow.py:86 msgid "User" msgstr "Użytkownik" -#: src/Gui/CCMainWindow.py:154 +#: ../src/Gui/CCMainWindow.py:154 #, python-format msgid "" "Can't show the settings dialog\n" @@ -171,7 +173,7 @@ msgstr "" "Nie można wyświetlić okna dialogowego ustawień\n" "%s" -#: src/Gui/CCMainWindow.py:165 +#: ../src/Gui/CCMainWindow.py:165 #, python-format msgid "" "Unable to finish current task!\n" @@ -180,7 +182,8 @@ msgstr "" "Nie można ukończyć bieżącego zadania.\n" "%s" -#: src/Gui/CCMainWindow.py:192 +#. there is something wrong with the daemon if we cant get the dumplist +#: ../src/Gui/CCMainWindow.py:192 #, python-format msgid "" "Error while loading the dumplist.\n" @@ -189,19 +192,19 @@ msgstr "" "Błąd podczas wczytywania listy zrzutów.\n" "%s" -#: src/Gui/CCMainWindow.py:230 +#: ../src/Gui/CCMainWindow.py:230 msgid "This crash has been reported:\n" msgstr "Ta awaria została zgłoszona:\n" -#: src/Gui/CCMainWindow.py:231 +#: ../src/Gui/CCMainWindow.py:231 msgid "This crash has been reported:\n" msgstr "Ta awaria została zgłoszona:\n" -#: src/Gui/CCMainWindow.py:250 +#: ../src/Gui/CCMainWindow.py:250 msgid "Not reported!" msgstr "Nie zgłoszono." -#: src/Gui/CCMainWindow.py:298 +#: ../src/Gui/CCMainWindow.py:298 msgid "" "Unable to get report!\n" "Debuginfo is missing?" @@ -209,7 +212,7 @@ msgstr "" "Nie można uzyskać raportu.\n" "Brak pakietów debuginfo?" -#: src/Gui/CCMainWindow.py:318 +#: ../src/Gui/CCMainWindow.py:318 #, python-format msgid "" "Reporting failed!\n" @@ -218,22 +221,23 @@ msgstr "" "Zgłoszenie nie powiodło się.\n" "%s" -#: src/Gui/CCMainWindow.py:337 src/Gui/CCMainWindow.py:364 +#: ../src/Gui/CCMainWindow.py:337 ../src/Gui/CCMainWindow.py:364 #, python-format msgid "Error getting the report: %s" msgstr "Błąd podczas uzyskiwania raportu: %s" -#: src/Gui/CCReporterDialog.py:24 +#. default texts +#: ../src/Gui/CCReporterDialog.py:24 msgid "Brief description how to reproduce this or what you did..." msgstr "" "Krótki opis, jak ponownie wywołać tę awarię lub co robił użytkownik (w " "języku angielskim)..." -#: src/Gui/CCReporterDialog.py:99 +#: ../src/Gui/CCReporterDialog.py:99 msgid "You must check backtrace for sensitive data" msgstr "Należy sprawdzić, czy wyjątek zawiera prywatne dane" -#: src/Gui/CCReporterDialog.py:110 +#: ../src/Gui/CCReporterDialog.py:110 #, python-format msgid "" "Reporting disabled because the backtrace is unusable.\n" @@ -246,11 +250,11 @@ msgstr "" "debuginfo-install %s, \n" "a następnie nacisnąć przycisk Odśwież, aby ponownie utworzyć wyjątek." -#: src/Gui/CCReporterDialog.py:112 +#: ../src/Gui/CCReporterDialog.py:112 msgid "The backtrace is unusable, you can't report this!" msgstr "Nie można użyć tego wyjątku, więc nie można tego zgłosić." -#: src/Gui/CCReporterDialog.py:116 +#: ../src/Gui/CCReporterDialog.py:116 msgid "" "The backtrace is incomplete, please make sure you provide good steps to " "reproduce." @@ -258,7 +262,7 @@ msgstr "" "Wyjątek jest niepełny. Proszę upewnić się, że podano właściwe kroki " "ponownego wywołania awarii." -#: src/Gui/CCReporterDialog.py:158 +#: ../src/Gui/CCReporterDialog.py:158 #, python-format msgid "" "Can't save plugin settings:\n" @@ -267,234 +271,225 @@ msgstr "" "Nie można zapisać ustawień wtyczki:\n" " %s" -#: src/Gui/dialogs.glade:7 -msgid "Report done" -msgstr "Raport ukończony" - -#: src/Gui/dialogs.glade:78 +#: ../src/Gui/dialogs.glade.h:1 msgid "Log" msgstr "Dziennik" -#: src/Gui/PluginSettingsUI.py:18 +#: ../src/Gui/dialogs.glade.h:2 +msgid "Report done" +msgstr "Raport ukończony" + +#: ../src/Gui/PluginSettingsUI.py:18 msgid "Can't find PluginDialog widget in UI description!" msgstr "" "Nie można odnaleźć widgetu PluginDialog w opisie interfejsu użytkownika." -#: src/Gui/PluginSettingsUI.py:24 +#. we shouldn't get here, but just to be safe +#: ../src/Gui/PluginSettingsUI.py:24 #, python-format msgid "No UI for plugin %s" msgstr "Brak interfejsu użytkownika dla wtyczki %s" -#: src/Gui/PluginSettingsUI.py:55 src/Gui/PluginSettingsUI.py:81 +#: ../src/Gui/PluginSettingsUI.py:55 ../src/Gui/PluginSettingsUI.py:81 msgid "combo box is not implemented" msgstr "pole kombinowane nie jest zaimplementowane" -#: src/Gui/PluginSettingsUI.py:64 +#: ../src/Gui/PluginSettingsUI.py:64 msgid "Nothing to hydrate!" msgstr "Brak danych do wyświetlenia." -#: src/Gui/report.glade:41 -msgid "Package:" -msgstr "Pakiet:" +#: ../src/Gui/report.glade.h:1 +msgid " " +msgstr " " -#: src/Gui/report.glade:52 -msgid "Component:" -msgstr "Składnik:" +#: ../src/Gui/report.glade.h:2 +msgid "Attachments" +msgstr "Załączniki" -#: src/Gui/report.glade:63 -msgid "Executable:" -msgstr "Plik wykonywalny:" +#: ../src/Gui/report.glade.h:3 +msgid "Backtrace" +msgstr "Wyjątek" -#: src/Gui/report.glade:74 -msgid "Cmdline:" -msgstr "Wiersz poleceń:" +#: ../src/Gui/report.glade.h:4 +msgid "Comment" +msgstr "Komentarz" -#: src/Gui/report.glade:98 src/Gui/report.glade:111 src/Gui/report.glade:124 -#: src/Gui/report.glade:137 src/Gui/report.glade:215 src/Gui/report.glade:228 -#: src/Gui/report.glade:241 src/Gui/report.glade:254 -msgid "N/A" -msgstr "Nie dotyczy" +#: ../src/Gui/report.glade.h:5 +msgid "How to reproduce (in a few simple steps)" +msgstr "" +"Jak ponownie wywołać tę awarię (w kilku prostych krokach, w języku " +"angielskim)" + +#: ../src/Gui/report.glade.h:6 +msgid "Please fix the following problems" +msgstr "Proszę naprawić następujące problemy" -#: src/Gui/report.glade:159 +#: ../src/Gui/report.glade.h:7 msgid "Architecture:" msgstr "Architektura:" -#: src/Gui/report.glade:170 +#: ../src/Gui/report.glade.h:8 +msgid "Cmdline:" +msgstr "Wiersz poleceń:" + +#: ../src/Gui/report.glade.h:9 +msgid "Component:" +msgstr "Składnik:" + +#: ../src/Gui/report.glade.h:10 +msgid "Executable:" +msgstr "Plik wykonywalny:" + +#: ../src/Gui/report.glade.h:11 msgid "Kernel:" msgstr "Jądro:" -#: src/Gui/report.glade:181 -msgid "Release:" -msgstr "Wydanie:" +#: ../src/Gui/report.glade.h:12 +msgid "Package:" +msgstr "Pakiet:" -#: src/Gui/report.glade:192 +#: ../src/Gui/report.glade.h:13 msgid "Reason:" msgstr "Przyczyna:" -#: src/Gui/report.glade:315 +#: ../src/Gui/report.glade.h:14 +msgid "Release:" +msgstr "Wydanie:" + +#: ../src/Gui/report.glade.h:16 msgid "I checked backtrace and removed sensitive data (passwords, etc)" msgstr "Sprawdzono wyjątek i usunięto prywatne dane (hasła itp.)" -#: src/Gui/report.glade:334 -msgid "Backtrace" -msgstr "Wyjątek" - -#: src/Gui/report.glade:396 -msgid "How to reproduce (in a few simple steps)" -msgstr "" -"Jak ponownie wywołać tę awarię (w kilku prostych krokach, w języku " -"angielskim)" - -#: src/Gui/report.glade:439 -msgid "Comment" -msgstr "Komentarz" - -#: src/Gui/report.glade:487 -msgid "Attachments" -msgstr "Załączniki" - -#: src/Gui/report.glade:536 -msgid "Please fix the following problems" -msgstr "Proszę naprawić następujące problemy" +#: ../src/Gui/report.glade.h:17 +msgid "N/A" +msgstr "Nie dotyczy" -#: src/Gui/report.glade:546 -msgid " " -msgstr " " +#: ../src/Gui/report.glade.h:18 +msgid "Send report" +msgstr "Wyślij raport" -#: src/Gui/report.glade:593 +#: ../src/Gui/report.glade.h:19 msgid "Show log" msgstr "Wyświetl dziennik" -#: src/Gui/report.glade:635 -msgid "Send report" -msgstr "Wyślij raport" - -#: src/Gui/SettingsDialog.py:33 src/Gui/SettingsDialog.py:50 +#: ../src/Gui/SettingsDialog.py:33 ../src/Gui/SettingsDialog.py:50 msgid "Select plugin" msgstr "Wybór wtyczki" -#: src/Gui/SettingsDialog.py:36 +#: ../src/Gui/SettingsDialog.py:36 msgid "Select database backend" msgstr "Wybór zaplecza bazy danych" -#: src/Gui/SettingsDialog.py:169 +#: ../src/Gui/SettingsDialog.py:169 msgid "Remove this job" msgstr "Usuń te zadanie" -#: src/Gui/SettingsDialog.py:213 +#: ../src/Gui/SettingsDialog.py:213 msgid "Remove this action" msgstr "Usuń tę czynność" -#: src/Gui/settings.glade:6 -msgid "Settings" -msgstr "Ustawienia" - -#: src/Gui/settings.glade:63 -msgid "Web Site:" -msgstr "Strona WWW:" - -#: src/Gui/settings.glade:75 -msgid "Author:" -msgstr "Autor:" - -#: src/Gui/settings.glade:87 -msgid "Version:" -msgstr "Wersja:" - -#: src/Gui/settings.glade:141 -msgid "Description:" -msgstr "Opis:" +#: ../src/Gui/settings.glade.h:1 +msgid "Analyzer plugin" +msgstr "Wtyczka analizy" -#: src/Gui/settings.glade:153 -msgid "Name:" -msgstr "Nazwa:" +#: ../src/Gui/settings.glade.h:2 +msgid "Associated action" +msgstr "Powiązana czynność" -#: src/Gui/settings.glade:197 +#: ../src/Gui/settings.glade.h:3 msgid "Plugin details" msgstr "Szczegóły wtyczki" -#: src/Gui/settings.glade:220 -msgid "C_onfigure plugin" -msgstr "Sk_onfiguruj wtyczkę" +#: ../src/Gui/settings.glade.h:4 +msgid "Plugin" +msgstr "Wtyczka" -#: src/Gui/settings.glade:257 -msgid "Global Settings" -msgstr "Ustawienia globalne" +#: ../src/Gui/settings.glade.h:5 +msgid "Time (or period)" +msgstr "Czas (lub okres czasu)" -#: src/Gui/settings.glade:283 -msgid "Check package GPG signature" -msgstr "Sprawdzanie podpisu GPG pakietu" +#: ../src/Gui/settings.glade.h:6 +msgid "Analyzers, Actions, Reporters" +msgstr "Analizy, czynności, zgłaszający" -#: src/Gui/settings.glade:299 -msgid "Database backend: " -msgstr "Zaplecze bazy danych: " +#: ../src/Gui/settings.glade.h:7 +msgid "Author:" +msgstr "Autor:" -#: src/Gui/settings.glade:325 +#: ../src/Gui/settings.glade.h:8 msgid "Blacklisted packages: " msgstr "Wykluczone pakiety: " -#: src/Gui/settings.glade:339 -msgid "Max coredump storage size(MB):" -msgstr "Ograniczenie miejsca na zrzuty pamięci (MB):" +#: ../src/Gui/settings.glade.h:9 +msgid "C_onfigure plugin" +msgstr "Sk_onfiguruj wtyczkę" -#: src/Gui/settings.glade:353 -msgid "GPG keys: " -msgstr "Klucze GPG: " +#: ../src/Gui/settings.glade.h:10 +msgid "Check package GPG signature" +msgstr "Sprawdzanie podpisów GPG pakietów" -#: src/Gui/settings.glade:456 +#: ../src/Gui/settings.glade.h:11 msgid "Common" msgstr "Wspólne" -#: src/Gui/settings.glade:489 -msgid "Plugin" -msgstr "Wtyczka" - -#: src/Gui/settings.glade:499 -msgid "Time (or period)" -msgstr "Czas (lub okres czasu)" - -#: src/Gui/settings.glade:567 +#: ../src/Gui/settings.glade.h:12 msgid "Cron" msgstr "Cron" -#: src/Gui/settings.glade:601 -msgid "Analyzer plugin" -msgstr "Wtyczka analizy" +#: ../src/Gui/settings.glade.h:13 +msgid "Database backend: " +msgstr "Zaplecze bazy danych: " -#: src/Gui/settings.glade:611 -msgid "Associated action" -msgstr "Powiązana czynność" +#: ../src/Gui/settings.glade.h:14 +msgid "Description:" +msgstr "Opis:" -#: src/Gui/settings.glade:690 -msgid "Analyzers, Actions, Reporters" -msgstr "Analizy, czynności, zgłaszający" +#: ../src/Gui/settings.glade.h:15 +msgid "GPG Keys" +msgstr "Klucze GPG" -#: src/Gui/settings.glade:709 -msgid "gtk-cancel" -msgstr "gtk-cancel" +#: ../src/Gui/settings.glade.h:16 +msgid "GPG keys: " +msgstr "Klucze GPG: " -#: src/Gui/settings.glade:723 -msgid "gtk-ok" -msgstr "gtk-ok" +#: ../src/Gui/settings.glade.h:17 +msgid "Max coredump storage size(MB):" +msgstr "Ograniczenie miejsca na zrzuty pamięci (MB):" -#: src/Gui/settings.glade:751 -msgid "GPG Keys" -msgstr "Klucze GPG" +#: ../src/Gui/settings.glade.h:18 +msgid "Name:" +msgstr "Nazwa:" + +#: ../src/Gui/settings.glade.h:20 +msgid "Preferences" +msgstr "Preferencje" + +#: ../src/Gui/settings.glade.h:21 +msgid "Version:" +msgstr "Wersja:" -#: src/Applet/Applet.cpp:78 +#: ../src/Gui/settings.glade.h:22 +msgid "Web Site:" +msgstr "Strona WWW:" + +#: ../src/Gui/abrt.desktop.in.h:2 +msgid "View and report application crashes" +msgstr "Wyświetlanie i zgłaszanie awarii aplikacji" + +#: ../src/Applet/Applet.cpp:78 #, c-format msgid "A crash in package %s has been detected" msgstr "Wykryto awarię pakietu %s" -#: src/Applet/Applet.cpp:253 +#: ../src/Applet/Applet.cpp:253 msgid "ABRT service is not running" msgstr "Usługa ABRT nie jest uruchomiona" -#: src/Applet/CCApplet.cpp:200 +#: ../src/Applet/CCApplet.cpp:200 msgid "Warning" msgstr "Ostrzeżenie" -#: src/Daemon/Daemon.cpp:473 +#: ../src/Daemon/Daemon.cpp:473 msgid "" "Report size exceeded the quota. Please check system's MaxCrashReportsSize " "value in abrt.conf." @@ -502,128 +497,125 @@ msgstr "" "Wielkość raportu przekroczyła dozwolone ograniczenie. Proszę sprawdzić " "wartość zmiennej MaxCrashReportsSize w pliku abrt.conf." -#: lib/Plugins/Bugzilla.cpp:124 +#: ../lib/Plugins/Bugzilla.cpp:124 msgid "Missing member 'reporter'" msgstr "Brak elementu \"reporter\"" -#: lib/Plugins/Bugzilla.cpp:176 +#: ../lib/Plugins/Bugzilla.cpp:176 msgid "Missing member 'cc'" msgstr "Brak elementu \"cc\"" -#: lib/Plugins/Bugzilla.cpp:262 +#: ../lib/Plugins/Bugzilla.cpp:262 #, c-format msgid "Bug is already reported: %i" msgstr "Błąd został już wcześniej zgłoszony: %i" -#: lib/Plugins/Bugzilla.cpp:274 +#: ../lib/Plugins/Bugzilla.cpp:274 msgid "Missing member 'bug_id'" msgstr "Brak elementu \"bug_id\"" -#: lib/Plugins/Bugzilla.cpp:283 +#: ../lib/Plugins/Bugzilla.cpp:283 msgid "Missing member 'bugs'" msgstr "Brak elementu \"bugs\"" -#: lib/Plugins/Bugzilla.cpp:346 +#: ../lib/Plugins/Bugzilla.cpp:346 #, c-format msgid "New bug id: %i" msgstr "Identyfikator nowego błędu: %i" -#: lib/Plugins/Bugzilla.cpp:440 +#: ../lib/Plugins/Bugzilla.cpp:440 msgid "Checking for duplicates..." msgstr "Sprawdzanie duplikatów..." -#: lib/Plugins/Bugzilla.cpp:446 +#: ../lib/Plugins/Bugzilla.cpp:446 msgid "Empty login and password. Please check Bugzilla.conf" msgstr "Pola login i hasło są puste. Proszę sprawdzić plik Bugzilla.conf" -#: lib/Plugins/Bugzilla.cpp:449 +#: ../lib/Plugins/Bugzilla.cpp:449 msgid "Logging into bugzilla..." msgstr "Logowanie do Bugzilli..." -#: lib/Plugins/Bugzilla.cpp:454 +#: ../lib/Plugins/Bugzilla.cpp:454 msgid "Checking CC..." msgstr "Sprawdzanie listy CC..." -#: lib/Plugins/Bugzilla.cpp:465 +#: ../lib/Plugins/Bugzilla.cpp:465 msgid "Creating new bug..." msgstr "Dodawanie nowego błędu..." -#: lib/Plugins/Bugzilla.cpp:469 +#: ../lib/Plugins/Bugzilla.cpp:469 msgid "Logging out..." msgstr "Wylogowywanie..." -#: lib/Plugins/Kerneloops.cpp:35 +#: ../lib/Plugins/Kerneloops.cpp:35 msgid "Getting local universal unique identification" msgstr "Uzyskiwanie lokalnego UUID" -#: lib/Plugins/CCpp.cpp:253 +#: ../lib/Plugins/CCpp.cpp:253 msgid "Generating backtrace" msgstr "Tworzenie wyjątku" -#: lib/Plugins/CCpp.cpp:388 +#: ../lib/Plugins/CCpp.cpp:415 msgid "Starting debuginfo installation" msgstr "Uruchamianie instalacji pakietów debuginfo" -#: lib/Plugins/CCpp.cpp:537 +#: ../lib/Plugins/CCpp.cpp:564 msgid "Getting local universal unique identification..." msgstr "Uzyskiwanie lokalnego UUID..." -#: lib/Plugins/CCpp.cpp:556 +#: ../lib/Plugins/CCpp.cpp:613 msgid "Getting global universal unique identification..." msgstr "Uzyskiwanie globalnego UUID..." -#: lib/Plugins/CCpp.cpp:734 +#: ../lib/Plugins/CCpp.cpp:791 msgid "Skipping debuginfo installation" msgstr "Pomijanie instalacji pakietu debuginfo" -#: lib/Plugins/KerneloopsReporter.cpp:100 +#: ../lib/Plugins/KerneloopsReporter.cpp:100 msgid "Creating and submitting a report..." msgstr "Tworzenie i wysyłanie raportu..." -#: lib/Plugins/Logger.cpp:76 +#: ../lib/Plugins/Logger.cpp:76 #, c-format msgid "Writing report to '%s'" msgstr "Zapisywanie raportu do \"%s\"" -#: lib/Plugins/FileTransfer.cpp:54 +#: ../lib/Plugins/FileTransfer.cpp:54 msgid "FileTransfer: URL not specified" msgstr "Wtyczka przesyłania plików: nie podano adresu URL" -#: lib/Plugins/FileTransfer.cpp:58 +#: ../lib/Plugins/FileTransfer.cpp:58 #, c-format msgid "Sending archive %s to %s" msgstr "Wysyłanie archiwum %s do %s" -#: lib/Plugins/FileTransfer.cpp:289 +#: ../lib/Plugins/FileTransfer.cpp:289 msgid "File Transfer: Creating a report..." msgstr "Wtyczka przesyłania plików: tworzenie raportu..." -#: lib/Plugins/FileTransfer.cpp:323 +#: ../lib/Plugins/FileTransfer.cpp:323 #, c-format msgid "Can't create and send an archive: %s" msgstr "Nie można utworzyć i wysłać archiwum: %s" -#: lib/Plugins/FileTransfer.cpp:352 +#: ../lib/Plugins/FileTransfer.cpp:352 #, c-format msgid "Can't create and send an archive %s" msgstr "Nie można utworzyć i wysłać archiwum %s" -#: lib/Plugins/KerneloopsScanner.cpp:79 +#: ../lib/Plugins/KerneloopsScanner.cpp:79 msgid "Creating kernel oops crash reports..." msgstr "Tworzenie raportów awarii jądra typu \"oops\"..." -#: lib/Plugins/Mailx.cpp:137 +#: ../lib/Plugins/Mailx.cpp:137 msgid "Sending an email..." msgstr "Wysłanie wiadomości e-mail..." -#: lib/Plugins/SOSreport.cpp:103 +#: ../lib/Plugins/SOSreport.cpp:103 #, c-format msgid "Running sosreport: %s" msgstr "Wykonywanie sosreport: %s" -#: lib/Plugins/SOSreport.cpp:109 +#: ../lib/Plugins/SOSreport.cpp:109 msgid "Done running sosreport" msgstr "Ukończono wykonywanie sosreport" - -#~ msgid "View and report application crashes" -#~ msgstr "Wyświetlanie i zgłaszanie awarii aplikacji" -- cgit From eb7483e262e29fdebb676c18453447247f3c0545 Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Wed, 3 Feb 2010 23:50:50 +0100 Subject: Fixed parsing backtrace from rhbz#549293 --- src/Backtrace/parser.y | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/Backtrace/parser.y b/src/Backtrace/parser.y index 36a8e34..1903282 100644 --- a/src/Backtrace/parser.y +++ b/src/Backtrace/parser.y @@ -267,12 +267,12 @@ variables_line : variables_char_no_framestart variables_char : '#' | variables_char_no_framestart ; -/* Manually synchronized with function_args_char, except the first line. */ -variables_char_no_framestart : digit | nondigit | '"' | '(' | ')' +/* Manually synchronized with function_args_char_base, except the first line. */ +variables_char_no_framestart : digit | nondigit | '"' | '(' | ')' | '\\' | '+' | '-' | '<' | '>' | '/' | '.' | '[' | ']' | '?' | '\'' | '`' | ',' | '=' | '{' | '}' | '^' | '&' | '$' - | ':' | ';' | '\\' | '!' | '@' | '*' + | ':' | ';' | '!' | '@' | '*' | '%' | '|' | '~' ; @@ -313,13 +313,21 @@ function_args_string : '"' wsa function_args_string_sequence wsa '"' /* Manually synchronized with variables_char_no_framestart, * except the first line. */ -function_args_char : digit | nondigit | '#' +function_args_char_base : digit | nondigit | '#' | '+' | '-' | '<' | '>' | '/' | '.' | '[' | ']' | '?' | '\'' | '`' | ',' | '=' | '{' | '}' | '^' | '&' | '$' - | ':' | ';' | '\\' | '!' | '@' | '*' + | ':' | ';' | '!' | '@' | '*' | '%' | '|' | '~' ; +function_args_escaped_char : '\\' function_args_char_base + | '\\' '\\' + | '\\' '"' +; +function_args_char : function_args_char_base + | function_args_escaped_char +; + function_args_string_sequence : function_args_string_char | function_args_string_sequence function_args_string_char @@ -329,7 +337,6 @@ function_args_string_sequence : function_args_string_char function_args_string_char : function_args_char | '(' | ')' ; - file_name : file_name_char { $$ = strbuf_new(); strbuf_append_char($$, $1); } | file_name file_name_char { $$ = strbuf_append_char($1, $2); } ; @@ -408,6 +415,11 @@ identifier_braces_inside : identifier_braces_inside_char %dprec 1 strbuf_free($3); $$ = strbuf_append_char($1, $4); } + | identifier_braces_inside '(' ')' %dprec 1 + { + $$ = strbuf_append_char($1, $2); + $$ = strbuf_append_char($1, $3); + } | identifier_braces_inside identifier_template %dprec 2 { $$ = strbuf_append_str($1, $2->buf); -- cgit From abf9af670cd605ec2fb631219e9493f619773db3 Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Thu, 4 Feb 2010 10:11:40 +0100 Subject: Skip bugs without backtrace; +some notes; run ./abrt-backtrace instead of system one --- src/Backtrace/abrt-bz-dupchecker | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/Backtrace/abrt-bz-dupchecker b/src/Backtrace/abrt-bz-dupchecker index 01cafa0..4484d39 100755 --- a/src/Backtrace/abrt-bz-dupchecker +++ b/src/Backtrace/abrt-bz-dupchecker @@ -10,6 +10,14 @@ # # Please do not run this script unless it's neccessary to do so. # It forces Bugzilla to send data related to thousands of bug reports. +# +# +# Useful text to be pasted to Bugzilla: +""" +This bug appears to have been filled using a buggy version of ABRT, because +it contains unusable backtrace. Sorry for the inconvenience. +Closing as INSUFFICIENT_DATA. +""" from bugzilla import RHBugzilla from optparse import OptionParser @@ -62,16 +70,24 @@ for buginfo in buginfos: else: # Get backtrace from bug and store it as a file. bug = bz.getbug(buginfo.bug_id) + downloaded = False for attachment in bug.attachments: if attachment['filename'] == 'backtrace': data = bz.openattachment(attachment['id']) f = open(filename, 'w') f.write(data.read()) f.close() + downloaded = True if options.verbose: print "Attachment {0} downloaded.".format(filename) + + # Silently skip bugs without backtrace. + # Those are usually duplicates of bugs; the duplication copies + # abrt_hash, but it does not copy the attachment. + if not downloaded: + continue - command = ["/usr/bin/abrt-backtrace"] + command = ["./abrt-backtrace"] command.append(filename) command.append("--single-thread") command.append("--frame-depth=5") -- cgit From 823b800110c01df95085a7d19e815ed441611dd1 Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Thu, 4 Feb 2010 10:12:44 +0100 Subject: Show abrt-btrc stderr; show stats at the end --- src/Backtrace/check-bt-parsability | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/Backtrace/check-bt-parsability b/src/Backtrace/check-bt-parsability index 39913fe..a5018bf 100755 --- a/src/Backtrace/check-bt-parsability +++ b/src/Backtrace/check-bt-parsability @@ -6,7 +6,7 @@ FAIL=0 for file in *.bt do #echo "$file" - ./abrt-backtrace $file &> /dev/null + ./abrt-backtrace $file 1> /dev/null if [ "$?" -eq "0" ] then echo -n "." @@ -17,3 +17,4 @@ do fi done echo "" +echo "Passed $PASS and failed $FAIL." -- cgit From 148e19105577984a7fa3b6da97ec9ba565a9cfa7 Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Thu, 4 Feb 2010 10:13:31 +0100 Subject: comments --- src/Daemon/Daemon.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Daemon/Daemon.cpp b/src/Daemon/Daemon.cpp index 5bcbe23..185ff7f 100644 --- a/src/Daemon/Daemon.cpp +++ b/src/Daemon/Daemon.cpp @@ -294,7 +294,7 @@ static void FindNewDumps(const char* pPath) struct stat stats; DIR *dp; vector_string_t dirs; - // get potential unsaved debugdumps + /* Get all debugdump directories in the pPath directory. */ dp = opendir(pPath); if (dp == NULL) { @@ -305,7 +305,7 @@ static void FindNewDumps(const char* pPath) while ((ep = readdir(dp))) { if (dot_or_dotdot(ep->d_name)) - continue; + continue; /* skip "." and ".." */ std::string dname = ssprintf("%s/%s", pPath, ep->d_name); if (lstat(dname.c_str(), &stats) == 0) { @@ -317,6 +317,7 @@ static void FindNewDumps(const char* pPath) } closedir(dp); + // get potential unsaved debugdumps vector_string_t::iterator itt = dirs.begin(); for (; itt != dirs.end(); ++itt) { -- cgit From 766273aebc09766eb40be905180242db94aabdda Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Thu, 4 Feb 2010 10:14:29 +0100 Subject: TODO mark --- src/Backtrace/main.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Backtrace/main.c b/src/Backtrace/main.c index 5e69338..f2fe1ba 100644 --- a/src/Backtrace/main.c +++ b/src/Backtrace/main.c @@ -249,7 +249,9 @@ int main(int argc, char **argv) * #2 0x0000000000423e6b in refresh_folder (stub=0x1b77f10 [MailStubExchange], * ... */ - char *empty_line = btnoheader; + char *empty_line = btnoheader; +/* TODO SPACES ON LINES AS WELL, rhbz#555251 !!!!!!!! +/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ while ((empty_line = strstr(empty_line, "\n\n")) != NULL) { if (0 != strncmp(empty_line, "\n\nThread", strlen("\n\nThread"))) -- cgit From 90309ac61239686f05fbb41c82e0b7484896ff8b Mon Sep 17 00:00:00 2001 From: kenda Date: Thu, 4 Feb 2010 10:47:38 +0000 Subject: Sending translation for German --- po/de.po | 560 ++++++++++++++++++++++++++++++--------------------------------- 1 file changed, 265 insertions(+), 295 deletions(-) diff --git a/po/de.po b/po/de.po index b7cd02e..b991769 100644 --- a/po/de.po +++ b/po/de.po @@ -6,16 +6,16 @@ # # Fabian Affolter , 2009. # Hedda Peters , 2009. -# Marcus Nitzschke , 2009. +# Marcus Nitzschke , 2009-2010. # Dominik Sandjaja , 2009. # Jens Maucher , 2010. msgid "" msgstr "" "Project-Id-Version: abrt.master.de\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2010-02-02 15:17+0100\n" -"PO-Revision-Date: 2010-01-31 16:58+0100\n" -"Last-Translator: Fabian Affolter \n" +"POT-Creation-Date: 2010-02-04 10:01+0000\n" +"PO-Revision-Date: 2010-02-04 11:45+0100\n" +"Last-Translator: Marcus Nitzschke \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -23,45 +23,45 @@ msgstr "" "X-Poedit-Language: German\n" "X-Generator: KBabel 1.11.4\n" -#: src/Gui/ABRTExceptions.py:6 +#: ../src/Gui/ABRTExceptions.py:6 msgid "Another client is already running, trying to wake it." msgstr "Ein anderer Client läuft bereits, versuche ihn zu wecken." -#: src/Gui/ABRTExceptions.py:13 +#: ../src/Gui/ABRTExceptions.py:13 msgid "Got unexpected data from daemon (is the database properly updated?)." -msgstr "" -"Unerwartete Daten vom Daemon erhalten (ist die Datenbank korrekt " -"aktualisisert?)" +msgstr "Unerwartete Daten vom Daemon erhalten (ist die Datenbank korrekt aktualisisert?)" -#: src/Gui/ABRTPlugin.py:62 +#: ../src/Gui/ABRTPlugin.py:62 msgid "Not loaded plugins" msgstr "Nicht geladene Plugins" -#: src/Gui/ABRTPlugin.py:63 +#: ../src/Gui/ABRTPlugin.py:63 msgid "Analyzer plugins" msgstr "Analyse-Plugins" -#: src/Gui/ABRTPlugin.py:64 +#: ../src/Gui/ABRTPlugin.py:64 msgid "Action plugins" msgstr "Aktion-Plugins" -#: src/Gui/ABRTPlugin.py:65 +#: ../src/Gui/ABRTPlugin.py:65 msgid "Reporter plugins" msgstr "Bericht-Plugins" -#: src/Gui/ABRTPlugin.py:66 +#: ../src/Gui/ABRTPlugin.py:66 msgid "Database plugins" msgstr "Datenbank-Plugins" -#: src/Gui/CCDBusBackend.py:74 src/Gui/CCDBusBackend.py:97 +#: ../src/Gui/CCDBusBackend.py:74 +#: ../src/Gui/CCDBusBackend.py:97 msgid "Can't connect to system dbus" msgstr "Kann nicht mit System-Dbus verbinden" -#: src/Gui/CCDBusBackend.py:120 src/Gui/CCDBusBackend.py:123 +#: ../src/Gui/CCDBusBackend.py:120 +#: ../src/Gui/CCDBusBackend.py:123 msgid "Please check if abrt daemon is running" msgstr "Bitte überprüfen Sie, ob der abrt-Daemon läuft" -#: src/Gui/CCDBusBackend.py:175 +#: ../src/Gui/CCDBusBackend.py:175 msgid "" "Daemon didn't return valid report info\n" "Debuginfo is missing?" @@ -69,114 +69,105 @@ msgstr "" "Daemon lieferte keine gültige Berichtsinfo\n" "Fehlt Debuginfo?" -#: src/Gui/ccgui.glade:8 -msgid "Please wait.." -msgstr "Bitte warten ..." +#: ../src/Gui/ccgui.glade.h:1 +msgid "(C) 2009 Red Hat, Inc." +msgstr "(C) 2009 Red Hat, Inc." + +#: ../src/Gui/ccgui.glade.h:2 +msgid "About ABRT" +msgstr "Über ABRT" + +#: ../src/Gui/ccgui.glade.h:3 +#: ../src/Gui/CCMainWindow.py:8 +#: ../src/Gui/report.glade.h:15 +#: ../src/Gui/abrt.desktop.in.h:1 +msgid "Automatic Bug Reporting Tool" +msgstr "Automatic Bug Reporting Tool" + +#: ../src/Gui/ccgui.glade.h:4 +msgid "Delete" +msgstr "Löschen" -#: src/Gui/ccgui.glade:60 +#: ../src/Gui/ccgui.glade.h:5 msgid "Details" msgstr "Details" -#: src/Gui/ccgui.glade:76 -msgid "About ABRT" -msgstr "Über ABRT" +#: ../src/Gui/ccgui.glade.h:6 +msgid "Not Reported" +msgstr "Nicht berichtet" -#: src/Gui/ccgui.glade:82 -msgid "(C) 2009 Red Hat, Inc." -msgstr "(C) 2009 Red Hat, Inc." +#: ../src/Gui/ccgui.glade.h:7 +msgid "Please wait.." +msgstr "Bitte warten ..." + +#: ../src/Gui/ccgui.glade.h:8 +#: ../src/Gui/settings.glade.h:19 +msgid "Plugins" +msgstr "Plugins" -#: src/Gui/ccgui.glade:83 +#: ../src/Gui/ccgui.glade.h:9 +msgid "Report" +msgstr "Bericht" + +#: ../src/Gui/ccgui.glade.h:10 msgid "" -"This program is free software; you can redistribute it and/or modify it " -"under the terms of the GNU General Public License as published by the Free " -"Software Foundation; either version 2 of the License, or (at your option) " -"any later version.\n" +"This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\n" "\n" -"This program is distributed in the hope that it will be useful, but WITHOUT " -"ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or " -"FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for " -"more details.\n" +"This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n" "\n" -"You should have received a copy of the GNU General Public License along with " -"this program. If not, see ." +"You should have received a copy of the GNU General Public License along with this program. If not, see ." msgstr "" -"Dieses Programm ist freie Software. Sie können es unter den Bedingungen der " -"GNU General Public License, wie von der Free Software Foundation " -"veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 " -"der Lizenz oder (nach Ihrer Option) jeder späteren Version.\n" +"Dieses Programm ist freie Software. Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 2 der Lizenz oder (nach Ihrer Option) jeder späteren Version.\n" "\n" -"Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen " -"von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die " -"implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN " -"BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.\n" +"Die Veröffentlichung dieses Programms erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, aber OHNE IRGENDEINE GARANTIE, sogar ohne die implizite Garantie der MARKTREIFE oder der VERWENDBARKEIT FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License.\n" "\n" -"Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem " -"Programm erhalten haben. Falls nicht, siehe ." +"Sie sollten ein Exemplar der GNU General Public License zusammen mit diesem Programm erhalten haben. Falls nicht, siehe ." -#: src/Gui/ccgui.glade:121 src/Gui/CCMainWindow.py:8 src/Gui/report.glade:7 -msgid "Automatic Bug Reporting Tool" -msgstr "Automatic Bug Reporting Tool" - -#: src/Gui/ccgui.glade:134 -msgid "_File" -msgstr "_Datei" - -#: src/Gui/ccgui.glade:155 +#: ../src/Gui/ccgui.glade.h:15 msgid "_Edit" msgstr "_Bearbeiten" -#: src/Gui/ccgui.glade:163 -msgid "Plugins" -msgstr "Plugins" +#: ../src/Gui/ccgui.glade.h:16 +msgid "_File" +msgstr "_Datei" -#: src/Gui/ccgui.glade:182 +#: ../src/Gui/ccgui.glade.h:17 msgid "_Help" msgstr "_Hilfe" -#: src/Gui/ccgui.glade:214 src/Gui/ccgui.glade:215 -msgid "Delete" -msgstr "Löschen" - -#: src/Gui/ccgui.glade:227 src/Gui/ccgui.glade:228 src/Gui/ccgui.glade:342 -msgid "Report" -msgstr "Bericht" - -#: src/Gui/ccgui.glade:298 -msgid "Not Reported" -msgstr "Nicht berichtet" - -#: src/Gui/CCMainWindow.py:74 +#. add pixbuff separatelly +#: ../src/Gui/CCMainWindow.py:74 msgid "Icon" msgstr "Symbol" -#: src/Gui/CCMainWindow.py:82 +#: ../src/Gui/CCMainWindow.py:82 msgid "Package" msgstr "Paket" -#: src/Gui/CCMainWindow.py:83 +#: ../src/Gui/CCMainWindow.py:83 msgid "Application" msgstr "Anwendung" -#: src/Gui/CCMainWindow.py:84 +#: ../src/Gui/CCMainWindow.py:84 msgid "Date" msgstr "Datum" -#: src/Gui/CCMainWindow.py:85 +#: ../src/Gui/CCMainWindow.py:85 msgid "Crash count" msgstr "Absturz-Anzahl" -#: src/Gui/CCMainWindow.py:86 +#: ../src/Gui/CCMainWindow.py:86 msgid "User" msgstr "Benutzer" -#: src/Gui/CCMainWindow.py:154 +#: ../src/Gui/CCMainWindow.py:154 #, python-format msgid "" "Can't show the settings dialog\n" "%s" msgstr "Der Einstellungsdialog %s kann nicht angezeigt werden" -#: src/Gui/CCMainWindow.py:165 +#: ../src/Gui/CCMainWindow.py:165 #, python-format msgid "" "Unable to finish current task!\n" @@ -185,7 +176,8 @@ msgstr "" "Konnte aktuelle Aufgabe nicht abschließen!\n" "%s" -#: src/Gui/CCMainWindow.py:192 +#. there is something wrong with the daemon if we cant get the dumplist +#: ../src/Gui/CCMainWindow.py:192 #, python-format msgid "" "Error while loading the dumplist.\n" @@ -194,19 +186,19 @@ msgstr "" "Fehler beim Laden der Dump-Liste.\n" " %s" -#: src/Gui/CCMainWindow.py:230 +#: ../src/Gui/CCMainWindow.py:230 msgid "This crash has been reported:\n" msgstr "Dieser Absturz wurde gemeldet:\n" -#: src/Gui/CCMainWindow.py:231 +#: ../src/Gui/CCMainWindow.py:231 msgid "This crash has been reported:\n" msgstr "Dieser Absturz wurde gemeldet:\n" -#: src/Gui/CCMainWindow.py:250 +#: ../src/Gui/CCMainWindow.py:250 msgid "Not reported!" msgstr "Nicht berichtet!" -#: src/Gui/CCMainWindow.py:298 +#: ../src/Gui/CCMainWindow.py:298 msgid "" "Unable to get report!\n" "Debuginfo is missing?" @@ -214,7 +206,7 @@ msgstr "" "Konnte Bericht nicht abrufen!\n" "Fehlt Debuginfo?" -#: src/Gui/CCMainWindow.py:318 +#: ../src/Gui/CCMainWindow.py:318 #, python-format msgid "" "Reporting failed!\n" @@ -223,47 +215,41 @@ msgstr "" "Berichterstellung fehlgeschlagen!\n" "%s" -#: src/Gui/CCMainWindow.py:337 src/Gui/CCMainWindow.py:364 +#: ../src/Gui/CCMainWindow.py:337 +#: ../src/Gui/CCMainWindow.py:364 #, python-format msgid "Error getting the report: %s" msgstr "Fehler beim Abrufen des Berichts: %s" -#: src/Gui/CCReporterDialog.py:24 +#. default texts +#: ../src/Gui/CCReporterDialog.py:24 msgid "Brief description how to reproduce this or what you did..." -msgstr "" -"Kurze Beschreibung, wie dies reproduziert werden kann bzw. was Sie taten ..." +msgstr "Kurze Beschreibung, wie dies reproduziert werden kann bzw. was Sie taten ..." -#: src/Gui/CCReporterDialog.py:99 +#: ../src/Gui/CCReporterDialog.py:99 msgid "You must check backtrace for sensitive data" msgstr "Überprüfen Sie den Backtrace auf sensible Daten" -#: src/Gui/CCReporterDialog.py:110 +#: ../src/Gui/CCReporterDialog.py:110 #, python-format msgid "" "Reporting disabled because the backtrace is unusable.\n" -"Please try to install debuginfo manually using command: debuginfo-install " -"%s \n" +"Please try to install debuginfo manually using command: debuginfo-install %s \n" "then use Refresh button to regenerate the backtrace." msgstr "" "Berichterstellung deaktiviert, da der Backtrace unbrauchbar ist.\n" -"Bitte versuchen Sie, Debuginfo mittels folgendem Befehl manuell zu " -"installieren:debuginfo-install %s \n" -"nutzen Sie dann die Aktualisieren-Schaltfläche, um den Backtrace erneut zu " -"generieren." +"Bitte versuchen Sie, Debuginfo mittels folgendem Befehl manuell zu installieren:debuginfo-install %s \n" +"nutzen Sie dann die Aktualisieren-Schaltfläche, um den Backtrace erneut zu generieren." -#: src/Gui/CCReporterDialog.py:112 +#: ../src/Gui/CCReporterDialog.py:112 msgid "The backtrace is unusable, you can't report this!" msgstr "Der Backtrace ist unbrauchbar, Sie können dies nicht berichten!" -#: src/Gui/CCReporterDialog.py:116 -msgid "" -"The backtrace is incomplete, please make sure you provide good steps to " -"reproduce." -msgstr "" -"Der Backtrace ist unvollständig, bitte stellen Sie sicher, dass alle " -"Schritte zum Reproduzieren vorhanden sind." +#: ../src/Gui/CCReporterDialog.py:116 +msgid "The backtrace is incomplete, please make sure you provide good steps to reproduce." +msgstr "Der Backtrace ist unvollständig, bitte stellen Sie sicher, dass alle Schritte zum Reproduzieren vorhanden sind." -#: src/Gui/CCReporterDialog.py:158 +#: ../src/Gui/CCReporterDialog.py:158 #, python-format msgid "" "Can't save plugin settings:\n" @@ -272,371 +258,361 @@ msgstr "" "Plugin-Einstellungen konnten nicht gesichert werden:\n" "%s" -#: src/Gui/dialogs.glade:7 -msgid "Report done" -msgstr "Bericht fertiggestellt" - -#: src/Gui/dialogs.glade:78 +#: ../src/Gui/dialogs.glade.h:1 msgid "Log" msgstr "Log" -#: src/Gui/PluginSettingsUI.py:18 +#: ../src/Gui/dialogs.glade.h:2 +msgid "Report done" +msgstr "Bericht fertiggestellt" + +#: ../src/Gui/PluginSettingsUI.py:18 msgid "Can't find PluginDialog widget in UI description!" msgstr "Kann PluginDialog-Widget nicht in UI-Beschreibung finden!" -#: src/Gui/PluginSettingsUI.py:24 +#. we shouldn't get here, but just to be safe +#: ../src/Gui/PluginSettingsUI.py:24 #, python-format msgid "No UI for plugin %s" msgstr "Kein UI für Plugin %s" -#: src/Gui/PluginSettingsUI.py:55 src/Gui/PluginSettingsUI.py:81 +#: ../src/Gui/PluginSettingsUI.py:55 +#: ../src/Gui/PluginSettingsUI.py:81 msgid "combo box is not implemented" msgstr "Combo-Box ist nicht implementiert" -#: src/Gui/PluginSettingsUI.py:64 +#: ../src/Gui/PluginSettingsUI.py:64 msgid "Nothing to hydrate!" msgstr "Nichts zum Hydrieren!" -#: src/Gui/report.glade:41 -msgid "Package:" -msgstr "Paket:" +#: ../src/Gui/report.glade.h:1 +msgid " " +msgstr " " -#: src/Gui/report.glade:52 -msgid "Component:" -msgstr "Komponente:" +#: ../src/Gui/report.glade.h:2 +msgid "Attachments" +msgstr "Anlagen" -#: src/Gui/report.glade:63 -msgid "Executable:" -msgstr "Ausführbar:" +#: ../src/Gui/report.glade.h:3 +msgid "Backtrace" +msgstr "Backtrace" -#: src/Gui/report.glade:74 -msgid "Cmdline:" -msgstr "Kommandozeile:" +#: ../src/Gui/report.glade.h:4 +msgid "Comment" +msgstr "Kommentar" -#: src/Gui/report.glade:98 src/Gui/report.glade:111 src/Gui/report.glade:124 -#: src/Gui/report.glade:137 src/Gui/report.glade:215 src/Gui/report.glade:228 -#: src/Gui/report.glade:241 src/Gui/report.glade:254 -msgid "N/A" -msgstr "N/A" +#: ../src/Gui/report.glade.h:5 +msgid "How to reproduce (in a few simple steps)" +msgstr "Wie kann der Fehler wieder erzeugt werden (in einfachen Schritten)" -#: src/Gui/report.glade:159 +#: ../src/Gui/report.glade.h:6 +msgid "Please fix the following problems" +msgstr "Bitte beheben Sie folgende Probleme" + +#: ../src/Gui/report.glade.h:7 msgid "Architecture:" msgstr "Architektur:" -#: src/Gui/report.glade:170 +#: ../src/Gui/report.glade.h:8 +msgid "Cmdline:" +msgstr "Kommandozeile:" + +#: ../src/Gui/report.glade.h:9 +msgid "Component:" +msgstr "Komponente:" + +#: ../src/Gui/report.glade.h:10 +msgid "Executable:" +msgstr "Ausführbar:" + +#: ../src/Gui/report.glade.h:11 msgid "Kernel:" msgstr "Kernel:" -#: src/Gui/report.glade:181 -msgid "Release:" -msgstr "Version:" +#: ../src/Gui/report.glade.h:12 +msgid "Package:" +msgstr "Paket:" -#: src/Gui/report.glade:192 +#: ../src/Gui/report.glade.h:13 msgid "Reason:" msgstr "Grund:" -#: src/Gui/report.glade:315 -msgid "I checked backtrace and removed sensitive data (passwords, etc)" -msgstr "" -"Ich habe den Backtrace geprüft und alle sensitiven Daten (Passwörter, usw.) " -"entfernt" - -#: src/Gui/report.glade:334 -msgid "Backtrace" -msgstr "Backtrace" - -#: src/Gui/report.glade:396 -msgid "How to reproduce (in a few simple steps)" -msgstr "" -"Wie kann der Fehler wieder erzeugt werden (in einfachen Schritten)" - -#: src/Gui/report.glade:439 -msgid "Comment" -msgstr "Kommentar" +#: ../src/Gui/report.glade.h:14 +msgid "Release:" +msgstr "Version:" -#: src/Gui/report.glade:487 -msgid "Attachments" -msgstr "Anlagen" +#: ../src/Gui/report.glade.h:16 +msgid "I checked backtrace and removed sensitive data (passwords, etc)" +msgstr "Ich habe den Backtrace geprüft und alle sensitiven Daten (Passwörter, usw.) entfernt" -#: src/Gui/report.glade:536 -msgid "Please fix the following problems" -msgstr "Bitte beheben Sie folgende Probleme" +#: ../src/Gui/report.glade.h:17 +msgid "N/A" +msgstr "N/A" -#: src/Gui/report.glade:546 -msgid " " -msgstr " " +#: ../src/Gui/report.glade.h:18 +msgid "Send report" +msgstr "Bericht abschicken" -#: src/Gui/report.glade:593 +#: ../src/Gui/report.glade.h:19 msgid "Show log" msgstr "Log anzeigen" -#: src/Gui/report.glade:635 -msgid "Send report" -msgstr "Bericht abschicken" - -#: src/Gui/SettingsDialog.py:33 src/Gui/SettingsDialog.py:50 +#: ../src/Gui/SettingsDialog.py:33 +#: ../src/Gui/SettingsDialog.py:50 msgid "Select plugin" msgstr "Plugin wählen" -#: src/Gui/SettingsDialog.py:36 +#: ../src/Gui/SettingsDialog.py:36 msgid "Select database backend" msgstr "Datenbank-Backend wählen" -#: src/Gui/SettingsDialog.py:169 +#: ../src/Gui/SettingsDialog.py:169 msgid "Remove this job" msgstr "Diesen Job löschen" -#: src/Gui/SettingsDialog.py:213 +#: ../src/Gui/SettingsDialog.py:213 msgid "Remove this action" msgstr "Diese Aktion löschen" -#: src/Gui/settings.glade:6 -msgid "Settings" -msgstr "Einstellungen" +#: ../src/Gui/settings.glade.h:1 +msgid "Analyzer plugin" +msgstr "Analyse-Plugin" -#: src/Gui/settings.glade:63 -msgid "Web Site:" -msgstr "Webseite:" +#: ../src/Gui/settings.glade.h:2 +msgid "Associated action" +msgstr "zugehörige Aktionen" -#: src/Gui/settings.glade:75 -msgid "Author:" -msgstr "Autor:" +#: ../src/Gui/settings.glade.h:3 +msgid "Plugin details" +msgstr "Plugin-Details" -#: src/Gui/settings.glade:87 -msgid "Version:" -msgstr "Version" +#: ../src/Gui/settings.glade.h:4 +msgid "Plugin" +msgstr "Plugin" -#: src/Gui/settings.glade:141 -msgid "Description:" -msgstr "Beschreibung:" +#: ../src/Gui/settings.glade.h:5 +msgid "Time (or period)" +msgstr "Zeit (oder Zeitraum)" -#: src/Gui/settings.glade:153 -msgid "Name:" -msgstr "Name:" +#: ../src/Gui/settings.glade.h:6 +msgid "Analyzers, Actions, Reporters" +msgstr "Analysierer, Aktionen, Berichterstatter" -#: src/Gui/settings.glade:197 -msgid "Plugin details" -msgstr "Plugin-Details" +#: ../src/Gui/settings.glade.h:7 +msgid "Author:" +msgstr "Autor:" + +#: ../src/Gui/settings.glade.h:8 +msgid "Blacklisted packages: " +msgstr "Pakete auf der schwarzen Liste:" -#: src/Gui/settings.glade:220 +#: ../src/Gui/settings.glade.h:9 msgid "C_onfigure plugin" msgstr "Plugin _konfigurieren" -#: src/Gui/settings.glade:257 -msgid "Global Settings" -msgstr "Globale Einstellungen" - -#: src/Gui/settings.glade:283 +#: ../src/Gui/settings.glade.h:10 msgid "Check package GPG signature" msgstr "Überprüfe GPG-Signatur des Pakets" -#: src/Gui/settings.glade:299 +#: ../src/Gui/settings.glade.h:11 +msgid "Common" +msgstr "Allgemein" + +#: ../src/Gui/settings.glade.h:12 +msgid "Cron" +msgstr "Cron" + +#: ../src/Gui/settings.glade.h:13 msgid "Database backend: " msgstr "Datenbank-Backend" -#: src/Gui/settings.glade:325 -msgid "Blacklisted packages: " -msgstr "Pakete auf der schwarzen Liste:" +#: ../src/Gui/settings.glade.h:14 +msgid "Description:" +msgstr "Beschreibung:" -#: src/Gui/settings.glade:339 -msgid "Max coredump storage size(MB):" -msgstr "Max. Speicherplatz für Coredumps (in MB):" +#: ../src/Gui/settings.glade.h:15 +msgid "GPG Keys" +msgstr "GPG-Schlüssel" -#: src/Gui/settings.glade:353 +#: ../src/Gui/settings.glade.h:16 msgid "GPG keys: " msgstr "GPG-Schlüssel:" -#: src/Gui/settings.glade:456 -msgid "Common" -msgstr "Allgemein" - -#: src/Gui/settings.glade:489 -msgid "Plugin" -msgstr "Plugin" - -#: src/Gui/settings.glade:499 -msgid "Time (or period)" -msgstr "Zeit (oder Zeitraum)" - -#: src/Gui/settings.glade:567 -msgid "Cron" -msgstr "Cron" - -#: src/Gui/settings.glade:601 -msgid "Analyzer plugin" -msgstr "Analyse-Plugin" +#: ../src/Gui/settings.glade.h:17 +msgid "Max coredump storage size(MB):" +msgstr "Max. Speicherplatz für Coredumps (in MB):" -#: src/Gui/settings.glade:611 -msgid "Associated action" -msgstr "zugehörige Aktionen" +#: ../src/Gui/settings.glade.h:18 +msgid "Name:" +msgstr "Name:" -#: src/Gui/settings.glade:690 -msgid "Analyzers, Actions, Reporters" -msgstr "Analysierer, Aktionen, Berichterstatter" +#: ../src/Gui/settings.glade.h:20 +msgid "Preferences" +msgstr "Einstellungen" -#: src/Gui/settings.glade:709 -msgid "gtk-cancel" -msgstr "gtk-cancel" +#: ../src/Gui/settings.glade.h:21 +msgid "Version:" +msgstr "Version" -#: src/Gui/settings.glade:723 -msgid "gtk-ok" -msgstr "gtk-ok" +#: ../src/Gui/settings.glade.h:22 +msgid "Web Site:" +msgstr "Webseite:" -#: src/Gui/settings.glade:751 -msgid "GPG Keys" -msgstr "GPG-Schlüssel" +#: ../src/Gui/abrt.desktop.in.h:2 +msgid "View and report application crashes" +msgstr "Anwendungsabstürze einsehen und berichten" -#: src/Applet/Applet.cpp:78 +#: ../src/Applet/Applet.cpp:78 #, c-format msgid "A crash in package %s has been detected" msgstr "In Paket %s wurde ein Absturz entdeckt!" -#: src/Applet/Applet.cpp:253 +#: ../src/Applet/Applet.cpp:253 msgid "ABRT service is not running" msgstr "ABRT-Dienst wird nicht ausgeführt." -#: src/Applet/CCApplet.cpp:200 +#: ../src/Applet/CCApplet.cpp:200 msgid "Warning" msgstr "Warnung" -#: src/Daemon/Daemon.cpp:473 -msgid "" -"Report size exceeded the quota. Please check system's MaxCrashReportsSize " -"value in abrt.conf." -msgstr "" -"Berichtgröße überschreitet die maximale Größe. Bitte überprüfen Sie Ihren " -"MaxCrashReportsSize-Wert in abrt.conf." +#: ../src/Daemon/Daemon.cpp:474 +msgid "Report size exceeded the quota. Please check system's MaxCrashReportsSize value in abrt.conf." +msgstr "Berichtgröße überschreitet die maximale Größe. Bitte überprüfen Sie Ihren MaxCrashReportsSize-Wert in abrt.conf." -#: lib/Plugins/Bugzilla.cpp:124 +#: ../lib/Plugins/Bugzilla.cpp:124 msgid "Missing member 'reporter'" msgstr "Fehlender Teil 'reporter'" -#: lib/Plugins/Bugzilla.cpp:176 +#: ../lib/Plugins/Bugzilla.cpp:176 msgid "Missing member 'cc'" msgstr "Fehlender Teil 'cc'" -#: lib/Plugins/Bugzilla.cpp:262 +#: ../lib/Plugins/Bugzilla.cpp:262 #, c-format msgid "Bug is already reported: %i" msgstr "Fehler wurde bereits gemeldet: %i" -#: lib/Plugins/Bugzilla.cpp:274 +#: ../lib/Plugins/Bugzilla.cpp:274 msgid "Missing member 'bug_id'" msgstr "Fehlender Teil 'bug_id'" -#: lib/Plugins/Bugzilla.cpp:283 +#: ../lib/Plugins/Bugzilla.cpp:283 msgid "Missing member 'bugs'" msgstr "Fehlender Teil 'bugs'" -#: lib/Plugins/Bugzilla.cpp:346 +#: ../lib/Plugins/Bugzilla.cpp:346 #, c-format msgid "New bug id: %i" msgstr "Neue Fehler-ID: %i" -#: lib/Plugins/Bugzilla.cpp:440 +#: ../lib/Plugins/Bugzilla.cpp:440 msgid "Checking for duplicates..." msgstr "Auf Duplikate überprüfen ..." -#: lib/Plugins/Bugzilla.cpp:446 +#: ../lib/Plugins/Bugzilla.cpp:446 msgid "Empty login and password. Please check Bugzilla.conf" msgstr "Leerer Benutzername und Passwort. Bitte überprüfen Sie Bugzilla.conf." -#: lib/Plugins/Bugzilla.cpp:449 +#: ../lib/Plugins/Bugzilla.cpp:449 msgid "Logging into bugzilla..." msgstr "Bei Bugzilla anmelden ..." -#: lib/Plugins/Bugzilla.cpp:454 +#: ../lib/Plugins/Bugzilla.cpp:454 msgid "Checking CC..." msgstr "CC überprüfen ..." -#: lib/Plugins/Bugzilla.cpp:465 +#: ../lib/Plugins/Bugzilla.cpp:465 msgid "Creating new bug..." msgstr "Neuen Fehlerbericht erstellen ..." -#: lib/Plugins/Bugzilla.cpp:469 +#: ../lib/Plugins/Bugzilla.cpp:469 msgid "Logging out..." msgstr "Abmelden ..." -#: lib/Plugins/Kerneloops.cpp:35 +#: ../lib/Plugins/Kerneloops.cpp:35 msgid "Getting local universal unique identification" msgstr "Rufe lokale, universelle, eindeutige Identifikation ab" -#: lib/Plugins/CCpp.cpp:253 +#: ../lib/Plugins/CCpp.cpp:253 msgid "Generating backtrace" msgstr "Backtrace wird generiert" -#: lib/Plugins/CCpp.cpp:388 +#: ../lib/Plugins/CCpp.cpp:415 msgid "Starting debuginfo installation" msgstr "debuginfo-Installation wird gestartet" -#: lib/Plugins/CCpp.cpp:537 +#: ../lib/Plugins/CCpp.cpp:564 msgid "Getting local universal unique identification..." msgstr "Lokale, universelle, eindeutige Identifikation abrufen ..." -#: lib/Plugins/CCpp.cpp:556 +#: ../lib/Plugins/CCpp.cpp:613 msgid "Getting global universal unique identification..." msgstr "Globale, universelle, eindeutige Identifikation abrufen ..." -#: lib/Plugins/CCpp.cpp:734 +#: ../lib/Plugins/CCpp.cpp:791 msgid "Skipping debuginfo installation" msgstr "debuginfo-Installation wird übersprungen" -#: lib/Plugins/KerneloopsReporter.cpp:100 +#: ../lib/Plugins/KerneloopsReporter.cpp:100 msgid "Creating and submitting a report..." msgstr "Einen Bericht erstellen und einreichen ..." -#: lib/Plugins/Logger.cpp:76 +#: ../lib/Plugins/Logger.cpp:76 #, c-format msgid "Writing report to '%s'" msgstr "Bericht wird nach '%s' geschrieben" -#: lib/Plugins/FileTransfer.cpp:54 +#: ../lib/Plugins/FileTransfer.cpp:54 msgid "FileTransfer: URL not specified" msgstr "Dateiübertragung: URL nicht angegeben" -#: lib/Plugins/FileTransfer.cpp:58 +#: ../lib/Plugins/FileTransfer.cpp:58 #, c-format msgid "Sending archive %s to %s" msgstr "Archiv %s via %s senden" -#: lib/Plugins/FileTransfer.cpp:289 +#: ../lib/Plugins/FileTransfer.cpp:289 msgid "File Transfer: Creating a report..." msgstr "Dateiübertragung: Einen Bericht erstellen ..." -#: lib/Plugins/FileTransfer.cpp:323 +#: ../lib/Plugins/FileTransfer.cpp:323 #, c-format msgid "Can't create and send an archive: %s" msgstr "Kann kein Archiv erzeugen und senden: %s" -#: lib/Plugins/FileTransfer.cpp:352 +#: ../lib/Plugins/FileTransfer.cpp:352 #, c-format msgid "Can't create and send an archive %s" msgstr "Kann kein Archiv erzeugen und senden %s" -#: lib/Plugins/KerneloopsScanner.cpp:79 +#: ../lib/Plugins/KerneloopsScanner.cpp:79 msgid "Creating kernel oops crash reports..." msgstr "Kernel-Oops-Crash-Berichte erzeugen ..." -#: lib/Plugins/Mailx.cpp:137 +#: ../lib/Plugins/Mailx.cpp:137 msgid "Sending an email..." msgstr "Eine E-Mail senden ..." -#: lib/Plugins/SOSreport.cpp:103 +#: ../lib/Plugins/SOSreport.cpp:103 #, c-format msgid "Running sosreport: %s" msgstr "sosreport ausführen: %s" -#: lib/Plugins/SOSreport.cpp:109 +#: ../lib/Plugins/SOSreport.cpp:109 msgid "Done running sosreport" msgstr "Ausführung von sosreport abgeschlossen" -#~ msgid "View and report application crashes" -#~ msgstr "Anwendungsabstürze einsehen und berichten" - +#~ msgid "Settings" +#~ msgstr "Einstellungen" +#~ msgid "Global Settings" +#~ msgstr "Globale Einstellungen" +#~ msgid "gtk-cancel" +#~ msgstr "gtk-cancel" +#~ msgid "gtk-ok" +#~ msgstr "gtk-ok" #~ msgid "Plugin name is not set, can't load its settings" #~ msgstr "" #~ "Plugin-Name nicht gesetzt, Einstellungen können nicht geladen werden." - #~ msgid "" #~ "WARNING, you're about to send data which might contain sensitive " #~ "information.\n" @@ -645,24 +621,18 @@ msgstr "Ausführung von sosreport abgeschlossen" #~ "WARNUNG, Sie sind im Begriff, möglicherweise sensible Daten zu " #~ "senden.\n" #~ "Möchten Sie wirklich senden%s?\n" - #~ msgid "Following items will be sent" #~ msgstr "Folgendes wird gesendet werden " - #~ msgid "Send" #~ msgstr "Senden" - #~ msgid "Executing SOSreport plugin..." #~ msgstr "SOSreport-Plugin ausführen ..." - #~ msgid "Searching for debug-info packages..." #~ msgstr "debug-info-Pakete suchen ..." - #~ msgid "Downloading and installing debug-info packages..." #~ msgstr "debug-info-Pakete herunterladen und installieren ..." - #~ msgid "Starting report creation..." #~ msgstr "Berichterstellung beginnen ..." - #~ msgid "Creating a report..." #~ msgstr "Einen Bericht erstellen ..." + -- cgit From 7c7be9f40f84a685975536f3b8e8bbe620dde398 Mon Sep 17 00:00:00 2001 From: Karel Klic Date: Thu, 4 Feb 2010 11:53:47 +0100 Subject: Remove lines containing only spaces from backtrace. --- src/Backtrace/main.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/Backtrace/main.c b/src/Backtrace/main.c index f2fe1ba..6683aa9 100644 --- a/src/Backtrace/main.c +++ b/src/Backtrace/main.c @@ -232,7 +232,7 @@ int main(int argc, char **argv) ++thread_fixer; } - /* Bug fixing hack for GDB. + /* Bug fixing hack for GDB - remove wrongly placed newlines from the backtrace. * Sometimes there is a newline in the local variable section. * This is caused by some GDB hooks. * Example: rhbz#538440 @@ -248,10 +248,26 @@ int main(int argc, char **argv) * __PRETTY_FUNCTION__ = "sync_deletions" * #2 0x0000000000423e6b in refresh_folder (stub=0x1b77f10 [MailStubExchange], * ... + * + * The code removes every empty line (also those containing only spaces), + * which is not followed by a new Thread section. + * + * rhbz#555251 contains empty lines with spaces */ char *empty_line = btnoheader; -/* TODO SPACES ON LINES AS WELL, rhbz#555251 !!!!!!!! -/* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */ + char *c = btnoheader; + while (*c) + { + if (*c == '\n') + { + char *cend = c + 1; + while (*cend == ' ' || *cend == '\t') + ++cend; + if (*cend == '\n' && 0 != strncmp(cend, "\nThread", strlen("\nThread"))) + memmove(c, cend, strlen(cend) + 1); + } + ++c; + } while ((empty_line = strstr(empty_line, "\n\n")) != NULL) { if (0 != strncmp(empty_line, "\n\nThread", strlen("\n\nThread"))) -- cgit From 3b406fe42feb0e8bbc7afa9c62ddd9c9fcbc592f Mon Sep 17 00:00:00 2001 From: sandeeps Date: Thu, 4 Feb 2010 11:06:54 +0000 Subject: Sending translation for Marathi --- po/mr.po | 542 +++++++++++++++++++++++++++++---------------------------------- 1 file changed, 250 insertions(+), 292 deletions(-) diff --git a/po/mr.po b/po/mr.po index 634492e..f2ec8a3 100644 --- a/po/mr.po +++ b/po/mr.po @@ -1,14 +1,14 @@ -# translation of abrt.master.po to Marathi +# translation of abrt-mr.po to Marathi # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # -# Sandeep Shedmake , 2009. +# Sandeep Shedmake , 2009, 2010. msgid "" msgstr "" -"Project-Id-Version: abrt.master\n" +"Project-Id-Version: abrt-mr\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2010-02-02 15:17+0100\n" -"PO-Revision-Date: 2009-12-11 11:11+0530\n" +"POT-Creation-Date: 2010-02-04 10:01+0000\n" +"PO-Revision-Date: 2010-02-04 16:34+0530\n" "Last-Translator: Sandeep Shedmake \n" "Language-Team: Marathi \n" "MIME-Version: 1.0\n" @@ -17,44 +17,43 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n" -#: src/Gui/ABRTExceptions.py:6 +#: ../src/Gui/ABRTExceptions.py:6 msgid "Another client is already running, trying to wake it." msgstr "इतर क्लाएंट आधिपासूनच कार्यरत आहे, सक्रीय करण्याचा प्रयत्न करत आहे." -#: src/Gui/ABRTExceptions.py:13 +#: ../src/Gui/ABRTExceptions.py:13 msgid "Got unexpected data from daemon (is the database properly updated?)." msgstr "डिमनपासून अनपेक्षीत डाटा प्राप्त झाले (माहितीकोष योग्यरित्या सुधारीत केले?)." -#: src/Gui/ABRTPlugin.py:62 -#, fuzzy +#: ../src/Gui/ABRTPlugin.py:62 msgid "Not loaded plugins" -msgstr "प्लगइन %s करीता UI आढळले नाही" +msgstr "प्लगइन्स् लोड केले नाही" -#: src/Gui/ABRTPlugin.py:63 +#: ../src/Gui/ABRTPlugin.py:63 msgid "Analyzer plugins" msgstr "अनलाइजर प्लगइन्स्" -#: src/Gui/ABRTPlugin.py:64 +#: ../src/Gui/ABRTPlugin.py:64 msgid "Action plugins" msgstr "कृती प्लगइन्स्" -#: src/Gui/ABRTPlugin.py:65 +#: ../src/Gui/ABRTPlugin.py:65 msgid "Reporter plugins" msgstr "रिपोर्टर प्लगइन्स्" -#: src/Gui/ABRTPlugin.py:66 +#: ../src/Gui/ABRTPlugin.py:66 msgid "Database plugins" msgstr "डाटाबेस प्लगइन्स्" -#: src/Gui/CCDBusBackend.py:74 src/Gui/CCDBusBackend.py:97 +#: ../src/Gui/CCDBusBackend.py:74 ../src/Gui/CCDBusBackend.py:97 msgid "Can't connect to system dbus" msgstr "प्रणाली dbus शी जुळवणी करण्यास अशक्य" -#: src/Gui/CCDBusBackend.py:120 src/Gui/CCDBusBackend.py:123 +#: ../src/Gui/CCDBusBackend.py:120 ../src/Gui/CCDBusBackend.py:123 msgid "Please check if abrt daemon is running" msgstr "abrt डीमन कार्यरत आहे कृपया याची तपासणी करा" -#: src/Gui/CCDBusBackend.py:175 +#: ../src/Gui/CCDBusBackend.py:175 msgid "" "Daemon didn't return valid report info\n" "Debuginfo is missing?" @@ -62,23 +61,44 @@ msgstr "" "डीमनने वैध अहवाल माहिती पुरवले नाही\n" "Debuginfo आढळले नाही?" -#: src/Gui/ccgui.glade:8 -msgid "Please wait.." -msgstr "कृपया थांबा.." +#: ../src/Gui/ccgui.glade.h:1 +msgid "(C) 2009 Red Hat, Inc." +msgstr "(C) 2009 Red Hat, Inc." -#: src/Gui/ccgui.glade:60 +#: ../src/Gui/ccgui.glade.h:2 +msgid "About ABRT" +msgstr "ABRT विषयी" + +#: ../src/Gui/ccgui.glade.h:3 ../src/Gui/CCMainWindow.py:8 +#: ../src/Gui/report.glade.h:15 ../src/Gui/abrt.desktop.in.h:1 +msgid "Automatic Bug Reporting Tool" +msgstr "स्वयं बग रिपोर्टींग उपकरन" + +#: ../src/Gui/ccgui.glade.h:4 +msgid "Delete" +msgstr "नष्ट करा" + +#: ../src/Gui/ccgui.glade.h:5 msgid "Details" msgstr "तपशील" -#: src/Gui/ccgui.glade:76 -msgid "About ABRT" -msgstr "ABRT विषयी" +#: ../src/Gui/ccgui.glade.h:6 +msgid "Not Reported" +msgstr "कळवले नाही" -#: src/Gui/ccgui.glade:82 -msgid "(C) 2009 Red Hat, Inc." -msgstr "(C) 2009 Red Hat, Inc." +#: ../src/Gui/ccgui.glade.h:7 +msgid "Please wait.." +msgstr "कृपया थांबा.." + +#: ../src/Gui/ccgui.glade.h:8 ../src/Gui/settings.glade.h:19 +msgid "Plugins" +msgstr "प्लगइन्स्" -#: src/Gui/ccgui.glade:83 +#: ../src/Gui/ccgui.glade.h:9 +msgid "Report" +msgstr "रिपोर्ट" + +#: ../src/Gui/ccgui.glade.h:10 msgid "" "This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " @@ -106,63 +126,44 @@ msgstr "" "You should have received a copy of the GNU General Public License along with " "this program. If not, see ." -#: src/Gui/ccgui.glade:121 src/Gui/CCMainWindow.py:8 src/Gui/report.glade:7 -msgid "Automatic Bug Reporting Tool" -msgstr "स्वयं बग रिपोर्टींग उपकरन" - -#: src/Gui/ccgui.glade:134 -msgid "_File" -msgstr "फाइल (_F)" - -#: src/Gui/ccgui.glade:155 +#: ../src/Gui/ccgui.glade.h:15 msgid "_Edit" msgstr "संपादीत करा (_E)" -#: src/Gui/ccgui.glade:163 -msgid "Plugins" -msgstr "प्लगइन्स्" +#: ../src/Gui/ccgui.glade.h:16 +msgid "_File" +msgstr "फाइल (_F)" -#: src/Gui/ccgui.glade:182 +#: ../src/Gui/ccgui.glade.h:17 msgid "_Help" msgstr "मदत (_H)" -#: src/Gui/ccgui.glade:214 src/Gui/ccgui.glade:215 -msgid "Delete" -msgstr "नष्ट करा" - -#: src/Gui/ccgui.glade:227 src/Gui/ccgui.glade:228 src/Gui/ccgui.glade:342 -msgid "Report" -msgstr "रिपोर्ट" - -#: src/Gui/ccgui.glade:298 -msgid "Not Reported" -msgstr "कळवले नाही" - -#: src/Gui/CCMainWindow.py:74 +#. add pixbuff separatelly +#: ../src/Gui/CCMainWindow.py:74 msgid "Icon" msgstr "चिन्ह" -#: src/Gui/CCMainWindow.py:82 +#: ../src/Gui/CCMainWindow.py:82 msgid "Package" msgstr "संकुल" -#: src/Gui/CCMainWindow.py:83 +#: ../src/Gui/CCMainWindow.py:83 msgid "Application" msgstr "ऍप्लिकेशन" -#: src/Gui/CCMainWindow.py:84 +#: ../src/Gui/CCMainWindow.py:84 msgid "Date" msgstr "दिनांक" -#: src/Gui/CCMainWindow.py:85 +#: ../src/Gui/CCMainWindow.py:85 msgid "Crash count" msgstr "क्रॅश दर" -#: src/Gui/CCMainWindow.py:86 +#: ../src/Gui/CCMainWindow.py:86 msgid "User" msgstr "वापरकर्ता" -#: src/Gui/CCMainWindow.py:154 +#: ../src/Gui/CCMainWindow.py:154 #, python-format msgid "" "Can't show the settings dialog\n" @@ -171,7 +172,7 @@ msgstr "" "संरचना संवाद दाखवणे अशक्य\n" "%s" -#: src/Gui/CCMainWindow.py:165 +#: ../src/Gui/CCMainWindow.py:165 #, python-format msgid "" "Unable to finish current task!\n" @@ -180,7 +181,8 @@ msgstr "" "सध्याचे कार्य पूर्ण करण्यास अशक्य!\n" "%s" -#: src/Gui/CCMainWindow.py:192 +#. there is something wrong with the daemon if we cant get the dumplist +#: ../src/Gui/CCMainWindow.py:192 #, python-format msgid "" "Error while loading the dumplist.\n" @@ -189,20 +191,19 @@ msgstr "" "डंपसूची लोड करतेवेळी त्रुटी आढळली.\n" "%s" -#: src/Gui/CCMainWindow.py:230 -#, fuzzy +#: ../src/Gui/CCMainWindow.py:230 msgid "This crash has been reported:\n" -msgstr "क्रॅश कळवला गेला आहे:\n" +msgstr "क्रॅश कळवले गेले आहे:\n" -#: src/Gui/CCMainWindow.py:231 +#: ../src/Gui/CCMainWindow.py:231 msgid "This crash has been reported:\n" msgstr "क्रॅश कळवला गेला आहे:\n" -#: src/Gui/CCMainWindow.py:250 +#: ../src/Gui/CCMainWindow.py:250 msgid "Not reported!" msgstr "कळवले नाही!" -#: src/Gui/CCMainWindow.py:298 +#: ../src/Gui/CCMainWindow.py:298 msgid "" "Unable to get report!\n" "Debuginfo is missing?" @@ -210,7 +211,7 @@ msgstr "" "रिपोर्ट प्राप्त करण्यास अशक्य!\n" "Debuginfo आढळले नाही?" -#: src/Gui/CCMainWindow.py:318 +#: ../src/Gui/CCMainWindow.py:318 #, python-format msgid "" "Reporting failed!\n" @@ -219,20 +220,21 @@ msgstr "" "रिपोर्टींग अपयशी!\n" "%s" -#: src/Gui/CCMainWindow.py:337 src/Gui/CCMainWindow.py:364 +#: ../src/Gui/CCMainWindow.py:337 ../src/Gui/CCMainWindow.py:364 #, python-format msgid "Error getting the report: %s" msgstr "अहवाल प्राप्त करतेवेळी त्रुटी: %s" -#: src/Gui/CCReporterDialog.py:24 +#. default texts +#: ../src/Gui/CCReporterDialog.py:24 msgid "Brief description how to reproduce this or what you did..." msgstr "हे कसे निर्माण होते किंवा तुम्ही काय केले याचे थोडक्यात वर्णन..." -#: src/Gui/CCReporterDialog.py:99 +#: ../src/Gui/CCReporterDialog.py:99 msgid "You must check backtrace for sensitive data" -msgstr "" +msgstr "संवेदनशील डाटाकरीता बॅकट्रेस तपासा" -#: src/Gui/CCReporterDialog.py:110 +#: ../src/Gui/CCReporterDialog.py:110 #, python-format msgid "" "Reporting disabled because the backtrace is unusable.\n" @@ -245,17 +247,17 @@ msgstr "" "प्रतिष्ठापीत करण्याचा प्रयत्न करा\n" "व त्यानंतर बॅकट्रेस पुनःनिर्माण करण्यासाठी ताजे करा बटणाचा वापर करा." -#: src/Gui/CCReporterDialog.py:112 +#: ../src/Gui/CCReporterDialog.py:112 msgid "The backtrace is unusable, you can't report this!" msgstr "बॅकट्रेस् अवापरण्याजोगी आहे, तुम्ही हे कळवू शकत नाही!" -#: src/Gui/CCReporterDialog.py:116 +#: ../src/Gui/CCReporterDialog.py:116 msgid "" "The backtrace is incomplete, please make sure you provide good steps to " "reproduce." msgstr "बॅकट्रेस् अपूर्ण आहे, कृपया पुनःनिर्माण करण्यासाठी योग्य पद्धत पुरवा." -#: src/Gui/CCReporterDialog.py:158 +#: ../src/Gui/CCReporterDialog.py:158 #, python-format msgid "" "Can't save plugin settings:\n" @@ -264,232 +266,222 @@ msgstr "" "प्लगइन संरचना साठवणे अशक्य:\n" " %s" -#: src/Gui/dialogs.glade:7 -msgid "Report done" -msgstr "तपशील पूर्ण झाले" - -#: src/Gui/dialogs.glade:78 +#: ../src/Gui/dialogs.glade.h:1 msgid "Log" msgstr "लॉग" -#: src/Gui/PluginSettingsUI.py:18 +#: ../src/Gui/dialogs.glade.h:2 +msgid "Report done" +msgstr "तपशील पूर्ण झाले" + +#: ../src/Gui/PluginSettingsUI.py:18 msgid "Can't find PluginDialog widget in UI description!" msgstr "UI वर्णनमध्ये PluginDialog विजेट आढळले नाही!" -#: src/Gui/PluginSettingsUI.py:24 +#. we shouldn't get here, but just to be safe +#: ../src/Gui/PluginSettingsUI.py:24 #, python-format msgid "No UI for plugin %s" msgstr "प्लगइन %s करीता UI आढळले नाही" -#: src/Gui/PluginSettingsUI.py:55 src/Gui/PluginSettingsUI.py:81 +#: ../src/Gui/PluginSettingsUI.py:55 ../src/Gui/PluginSettingsUI.py:81 msgid "combo box is not implemented" msgstr "कॉम्बो बॉक्स लागू केले नाही" -#: src/Gui/PluginSettingsUI.py:64 +#: ../src/Gui/PluginSettingsUI.py:64 msgid "Nothing to hydrate!" msgstr "hydrate करीता काहिच आढळले नाही!" -#: src/Gui/report.glade:41 -msgid "Package:" -msgstr "" +#: ../src/Gui/report.glade.h:1 +msgid " " +msgstr " " -#: src/Gui/report.glade:52 -msgid "Component:" -msgstr "" +#: ../src/Gui/report.glade.h:2 +msgid "Attachments" +msgstr "जोडणी" -#: src/Gui/report.glade:63 -msgid "Executable:" -msgstr "" +#: ../src/Gui/report.glade.h:3 +msgid "Backtrace" +msgstr "बॅकट्रेस" -#: src/Gui/report.glade:74 -msgid "Cmdline:" -msgstr "" +#: ../src/Gui/report.glade.h:4 +msgid "Comment" +msgstr "टिपण्णी" -#: src/Gui/report.glade:98 src/Gui/report.glade:111 src/Gui/report.glade:124 -#: src/Gui/report.glade:137 src/Gui/report.glade:215 src/Gui/report.glade:228 -#: src/Gui/report.glade:241 src/Gui/report.glade:254 -msgid "N/A" -msgstr "" +#: ../src/Gui/report.glade.h:5 +msgid "How to reproduce (in a few simple steps)" +msgstr "कसे निर्माण करायचे (सोप्या पद्धतीत)" + +#: ../src/Gui/report.glade.h:6 +msgid "Please fix the following problems" +msgstr "कृपया खालील अडचणींचे निवारण करा" -#: src/Gui/report.glade:159 +#: ../src/Gui/report.glade.h:7 msgid "Architecture:" -msgstr "" +msgstr "आर्किटेक्चर:" -#: src/Gui/report.glade:170 -msgid "Kernel:" -msgstr "" +#: ../src/Gui/report.glade.h:8 +msgid "Cmdline:" +msgstr "आदेशओळ:" -#: src/Gui/report.glade:181 -msgid "Release:" -msgstr "" +#: ../src/Gui/report.glade.h:9 +msgid "Component:" +msgstr "घटक:" -#: src/Gui/report.glade:192 -msgid "Reason:" -msgstr "" +#: ../src/Gui/report.glade.h:10 +msgid "Executable:" +msgstr "एक्जीक्यूटेबल:" -#: src/Gui/report.glade:315 -msgid "I checked backtrace and removed sensitive data (passwords, etc)" -msgstr "" +#: ../src/Gui/report.glade.h:11 +msgid "Kernel:" +msgstr "कर्नल:" -#: src/Gui/report.glade:334 -msgid "Backtrace" -msgstr "" +#: ../src/Gui/report.glade.h:12 +msgid "Package:" +msgstr "संकुल:" -#: src/Gui/report.glade:396 -msgid "How to reproduce (in a few simple steps)" -msgstr "कसे निर्माण करायचे (सोप्या पद्धतीत)" +#: ../src/Gui/report.glade.h:13 +msgid "Reason:" +msgstr "कारण:" -#: src/Gui/report.glade:439 -msgid "Comment" -msgstr "टिपण्णी" +#: ../src/Gui/report.glade.h:14 +msgid "Release:" +msgstr "प्रकाशन:" -#: src/Gui/report.glade:487 -#, fuzzy -msgid "Attachments" -msgstr "टिपण्णी" +#: ../src/Gui/report.glade.h:16 +msgid "I checked backtrace and removed sensitive data (passwords, etc)" +msgstr "बॅकट्रेस तपासले व संवेदनशील डाटा काढून टाकले (पासवर्डस्, इत्यादी)" -#: src/Gui/report.glade:536 -msgid "Please fix the following problems" -msgstr "" +#: ../src/Gui/report.glade.h:17 +msgid "N/A" +msgstr "N/A" -#: src/Gui/report.glade:546 -msgid " " -msgstr " " +#: ../src/Gui/report.glade.h:18 +msgid "Send report" +msgstr "अहवाल पाठवा" -#: src/Gui/report.glade:593 +#: ../src/Gui/report.glade.h:19 msgid "Show log" -msgstr "" - -#: src/Gui/report.glade:635 -msgid "Send report" -msgstr "" +msgstr "लॉग दाखवा" -#: src/Gui/SettingsDialog.py:33 src/Gui/SettingsDialog.py:50 +#: ../src/Gui/SettingsDialog.py:33 ../src/Gui/SettingsDialog.py:50 msgid "Select plugin" msgstr "प्लगइन नीवडा" -#: src/Gui/SettingsDialog.py:36 +#: ../src/Gui/SettingsDialog.py:36 msgid "Select database backend" msgstr "महितीकोष बॅकएंड" -#: src/Gui/SettingsDialog.py:169 +#: ../src/Gui/SettingsDialog.py:169 msgid "Remove this job" msgstr "हे कार्य काढून टाका" -#: src/Gui/SettingsDialog.py:213 +#: ../src/Gui/SettingsDialog.py:213 msgid "Remove this action" msgstr "ही कृती काढून टाका" -#: src/Gui/settings.glade:6 -msgid "Settings" -msgstr "सेटिंग्स्" +#: ../src/Gui/settings.glade.h:1 +msgid "Analyzer plugin" +msgstr "अनलाइजर प्लगइन" -#: src/Gui/settings.glade:63 -msgid "Web Site:" -msgstr "संकेत स्थळ:" +#: ../src/Gui/settings.glade.h:2 +msgid "Associated action" +msgstr "संबंधीत कृती" -#: src/Gui/settings.glade:75 -msgid "Author:" -msgstr "लेखक:" +#: ../src/Gui/settings.glade.h:3 +msgid "Plugin details" +msgstr "प्लगइन तपशील" -#: src/Gui/settings.glade:87 -msgid "Version:" -msgstr "आवृत्ती:" +#: ../src/Gui/settings.glade.h:4 +msgid "Plugin" +msgstr "प्लगइन" -#: src/Gui/settings.glade:141 -msgid "Description:" -msgstr "वर्णन:" +#: ../src/Gui/settings.glade.h:5 +msgid "Time (or period)" +msgstr "वेळ (किंवा कार्यकाळ)" -#: src/Gui/settings.glade:153 -msgid "Name:" -msgstr "नाव:" +#: ../src/Gui/settings.glade.h:6 +msgid "Analyzers, Actions, Reporters" +msgstr "अनलाइजर्स्, कृती, रिपोर्टर्स्" -#: src/Gui/settings.glade:197 -msgid "Plugin details" -msgstr "प्लगइन तपशील" +#: ../src/Gui/settings.glade.h:7 +msgid "Author:" +msgstr "लेखक:" -#: src/Gui/settings.glade:220 +#: ../src/Gui/settings.glade.h:8 +msgid "Blacklisted packages: " +msgstr "ब्लॅकलिस्टेड संकुल: " + +#: ../src/Gui/settings.glade.h:9 msgid "C_onfigure plugin" msgstr "प्लगइन संरचीत करा (_o)" -#: src/Gui/settings.glade:257 -msgid "Global Settings" -msgstr "जागतिक संरचना" - -#: src/Gui/settings.glade:283 +#: ../src/Gui/settings.glade.h:10 msgid "Check package GPG signature" msgstr "संकुलची GPG स्वाक्षरी तपासा" -#: src/Gui/settings.glade:299 +#: ../src/Gui/settings.glade.h:11 +msgid "Common" +msgstr "सामान्य" + +#: ../src/Gui/settings.glade.h:12 +msgid "Cron" +msgstr "क्रॉन" + +#: ../src/Gui/settings.glade.h:13 msgid "Database backend: " msgstr "डाटाबेसचे बॅकएंड: " -#: src/Gui/settings.glade:325 -msgid "Blacklisted packages: " -msgstr "ब्लॅकलिस्टेड संकुल: " +#: ../src/Gui/settings.glade.h:14 +msgid "Description:" +msgstr "वर्णन:" -#: src/Gui/settings.glade:339 -msgid "Max coredump storage size(MB):" -msgstr "कोरडंप स्टोरेजचे कमाल आकार (MB):" +#: ../src/Gui/settings.glade.h:15 +msgid "GPG Keys" +msgstr "GPG किज्" -#: src/Gui/settings.glade:353 +#: ../src/Gui/settings.glade.h:16 msgid "GPG keys: " msgstr "GPG किज्: " -#: src/Gui/settings.glade:456 -msgid "Common" -msgstr "सामान्य" - -#: src/Gui/settings.glade:489 -msgid "Plugin" -msgstr "प्लगइन" - -#: src/Gui/settings.glade:499 -msgid "Time (or period)" -msgstr "वेळ (किंवा कार्यकाळ)" - -#: src/Gui/settings.glade:567 -msgid "Cron" -msgstr "क्रॉन" +#: ../src/Gui/settings.glade.h:17 +msgid "Max coredump storage size(MB):" +msgstr "कोरडंप स्टोरेजचे कमाल आकार (MB):" -#: src/Gui/settings.glade:601 -msgid "Analyzer plugin" -msgstr "अनलाइजर प्लगइन" +#: ../src/Gui/settings.glade.h:18 +msgid "Name:" +msgstr "नाव:" -#: src/Gui/settings.glade:611 -msgid "Associated action" -msgstr "संबंधीत कृती" +#: ../src/Gui/settings.glade.h:20 +msgid "Preferences" +msgstr "पसंती" -#: src/Gui/settings.glade:690 -msgid "Analyzers, Actions, Reporters" -msgstr "अनलाइजर्स्, कृती, रिपोर्टर्स्" - -#: src/Gui/settings.glade:709 -msgid "gtk-cancel" -msgstr "gtk-cancel" +#: ../src/Gui/settings.glade.h:21 +msgid "Version:" +msgstr "आवृत्ती:" -#: src/Gui/settings.glade:723 -msgid "gtk-ok" -msgstr "gtk-ok" +#: ../src/Gui/settings.glade.h:22 +msgid "Web Site:" +msgstr "संकेत स्थळ:" -#: src/Gui/settings.glade:751 -msgid "GPG Keys" -msgstr "GPG किज्" +#: ../src/Gui/abrt.desktop.in.h:2 +msgid "View and report application crashes" +msgstr "ऍप्लिकेशन क्रॅशचे दृष्य व अहवाल" -#: src/Applet/Applet.cpp:78 +#: ../src/Applet/Applet.cpp:78 #, c-format msgid "A crash in package %s has been detected" msgstr "संकुल %s मधील क्रॅश ओळखले गेले आहे" -#: src/Applet/Applet.cpp:253 +#: ../src/Applet/Applet.cpp:253 msgid "ABRT service is not running" msgstr "ABRT सेवा कार्यरत नाही" -#: src/Applet/CCApplet.cpp:200 +#: ../src/Applet/CCApplet.cpp:200 msgid "Warning" msgstr "सावधानता" -#: src/Daemon/Daemon.cpp:473 +#: ../src/Daemon/Daemon.cpp:474 msgid "" "Report size exceeded the quota. Please check system's MaxCrashReportsSize " "value in abrt.conf." @@ -497,160 +489,126 @@ msgstr "" "रिपोर्टचा आकार कोटापेक्षा जास्त आहे. कृपया प्रणालीची MaxCrashReportsSize मूल्य abrt." "conf अंतर्गत तपासा." -#: lib/Plugins/Bugzilla.cpp:124 +#: ../lib/Plugins/Bugzilla.cpp:124 msgid "Missing member 'reporter'" -msgstr "" +msgstr "सदस्य 'reporter' आढळले नाही" -#: lib/Plugins/Bugzilla.cpp:176 +#: ../lib/Plugins/Bugzilla.cpp:176 msgid "Missing member 'cc'" -msgstr "" +msgstr "सदस्य 'cc' आढळले नाही" -#: lib/Plugins/Bugzilla.cpp:262 +#: ../lib/Plugins/Bugzilla.cpp:262 #, c-format msgid "Bug is already reported: %i" msgstr "बग आधिपासूनच कळवले: %i" -#: lib/Plugins/Bugzilla.cpp:274 +#: ../lib/Plugins/Bugzilla.cpp:274 msgid "Missing member 'bug_id'" -msgstr "" +msgstr "सदस्य 'bug_id' आढळले नाही" -#: lib/Plugins/Bugzilla.cpp:283 +#: ../lib/Plugins/Bugzilla.cpp:283 msgid "Missing member 'bugs'" -msgstr "" +msgstr "सदस्य 'bugs' आढळले नाही" -#: lib/Plugins/Bugzilla.cpp:346 +#: ../lib/Plugins/Bugzilla.cpp:346 #, c-format msgid "New bug id: %i" msgstr "नवीन बग id: %i" -#: lib/Plugins/Bugzilla.cpp:440 +#: ../lib/Plugins/Bugzilla.cpp:440 msgid "Checking for duplicates..." msgstr "हुबेहुब करीता तपासत आहे..." -#: lib/Plugins/Bugzilla.cpp:446 +#: ../lib/Plugins/Bugzilla.cpp:446 msgid "Empty login and password. Please check Bugzilla.conf" msgstr "रिकामे प्रवेश व पासवर्ड. कृपया Bugzilla.conf तपासा" -#: lib/Plugins/Bugzilla.cpp:449 +#: ../lib/Plugins/Bugzilla.cpp:449 msgid "Logging into bugzilla..." msgstr "बगझीलामध्ये प्रवेश करत आहे..." -#: lib/Plugins/Bugzilla.cpp:454 +#: ../lib/Plugins/Bugzilla.cpp:454 msgid "Checking CC..." msgstr "CC तपासत आहे..." -#: lib/Plugins/Bugzilla.cpp:465 +#: ../lib/Plugins/Bugzilla.cpp:465 msgid "Creating new bug..." msgstr "नवीन बग निर्माण करत आहे..." -#: lib/Plugins/Bugzilla.cpp:469 +#: ../lib/Plugins/Bugzilla.cpp:469 msgid "Logging out..." msgstr "बाहेर पडत आहे..." -#: lib/Plugins/Kerneloops.cpp:35 +#: ../lib/Plugins/Kerneloops.cpp:35 msgid "Getting local universal unique identification" msgstr "स्थानीय यूनीवर्सल् ओळख प्राप्त करत आहे" -#: lib/Plugins/CCpp.cpp:253 -#, fuzzy +#: ../lib/Plugins/CCpp.cpp:253 msgid "Generating backtrace" -msgstr "backtrace प्राप्त करत आहे..." +msgstr "backtrace निर्माण करत आहे" -#: lib/Plugins/CCpp.cpp:388 -#, fuzzy +#: ../lib/Plugins/CCpp.cpp:415 msgid "Starting debuginfo installation" -msgstr "debuginfo प्रतिष्ठापन वगळत आहे" +msgstr "debuginfo प्रतिष्ठापन सुरू करत आहे" -#: lib/Plugins/CCpp.cpp:537 +#: ../lib/Plugins/CCpp.cpp:564 msgid "Getting local universal unique identification..." msgstr "लोकल लोकल एकमेव ओळख प्राप्त करत आहे..." -#: lib/Plugins/CCpp.cpp:556 +#: ../lib/Plugins/CCpp.cpp:613 msgid "Getting global universal unique identification..." msgstr "लोकल ग्लोबल एकमेव ओळख प्राप्त करत आहे..." -#: lib/Plugins/CCpp.cpp:734 +#: ../lib/Plugins/CCpp.cpp:791 msgid "Skipping debuginfo installation" msgstr "debuginfo प्रतिष्ठापन वगळत आहे" -#: lib/Plugins/KerneloopsReporter.cpp:100 +#: ../lib/Plugins/KerneloopsReporter.cpp:100 msgid "Creating and submitting a report..." msgstr "अहवाल निर्माण व सादर करत आहे..." -#: lib/Plugins/Logger.cpp:76 -#, fuzzy, c-format +#: ../lib/Plugins/Logger.cpp:76 +#, c-format msgid "Writing report to '%s'" -msgstr "sosreport चालवत आहे: %s" +msgstr "'%s' करीता अहवाल लिहत आहे" -#: lib/Plugins/FileTransfer.cpp:54 +#: ../lib/Plugins/FileTransfer.cpp:54 msgid "FileTransfer: URL not specified" msgstr "FileTransfer: URL दिले नाही" -#: lib/Plugins/FileTransfer.cpp:58 +#: ../lib/Plugins/FileTransfer.cpp:58 #, c-format msgid "Sending archive %s to %s" msgstr "आर्काइव्ह %s, याला %s करीता पाठवत आहे" -#: lib/Plugins/FileTransfer.cpp:289 +#: ../lib/Plugins/FileTransfer.cpp:289 msgid "File Transfer: Creating a report..." msgstr "फाइल स्थानांतरन: अहवाल निर्माण करत आहे..." -#: lib/Plugins/FileTransfer.cpp:323 +#: ../lib/Plugins/FileTransfer.cpp:323 #, c-format msgid "Can't create and send an archive: %s" msgstr "आर्काइव्हचे निर्माण व त्यांस पाठवणे अशक्य: %s" -#: lib/Plugins/FileTransfer.cpp:352 +#: ../lib/Plugins/FileTransfer.cpp:352 #, c-format msgid "Can't create and send an archive %s" msgstr "आर्काइव्ह %s निर्माण व त्यांस पाठवणे अशक्य" -#: lib/Plugins/KerneloopsScanner.cpp:79 +#: ../lib/Plugins/KerneloopsScanner.cpp:79 msgid "Creating kernel oops crash reports..." msgstr "kernel oops क्रॅश अहवाल निर्माण करत आहे..." -#: lib/Plugins/Mailx.cpp:137 +#: ../lib/Plugins/Mailx.cpp:137 msgid "Sending an email..." msgstr "ईमेल पाठवत आहे..." -#: lib/Plugins/SOSreport.cpp:103 -#, fuzzy, c-format +#: ../lib/Plugins/SOSreport.cpp:103 +#, c-format msgid "Running sosreport: %s" msgstr "sosreport चालवत आहे: %s" -#: lib/Plugins/SOSreport.cpp:109 -#, fuzzy +#: ../lib/Plugins/SOSreport.cpp:109 msgid "Done running sosreport" -msgstr "sosreport चालवणे यशस्वी" - -#~ msgid "Plugin name is not set, can't load its settings" -#~ msgstr "प्लगइनचे नाव सेट नाही, संरचना लोड करणे अशक्य" - -#~ msgid "" -#~ "WARNING, you're about to send data which might contain sensitive " -#~ "information.\n" -#~ "Do you really want to send %s?\n" -#~ msgstr "" -#~ "सावधान, तुम्ही संवेदनशील माहिती असलेला डाटा पाठवणार आहात.\n" -#~ "तुम्हाला नक्की %s पाठवायचे?\n" - -#~ msgid "Following items will be sent" -#~ msgstr "खालील घटके पाठवले जातील" - -#~ msgid "Send" -#~ msgstr "पाठवा" - -#~ msgid "View and report application crashes" -#~ msgstr "ऍप्लिकेशन क्रॅशचे दृष्य व अहवाल" - -#~ msgid "Searching for debug-info packages..." -#~ msgstr "debug-info संकुलांकरीता शोधत आहे..." - -#~ msgid "Downloading and installing debug-info packages..." -#~ msgstr "debug-info संकुल डाऊनलोड व प्रतिष्ठापीत करत आहे..." - -#~ msgid "Creating a report..." -#~ msgstr "अहवाल निर्माण करत आहे..." +msgstr "sosreport चालवणे पूर्ण झाले" -#~ msgid "Executing SOSreport plugin..." -#~ msgstr "SOSreport प्लगइन चालवत आहे..." -- cgit From 5e23198d04d635c8e03d9270c3ba1af125e6d55d Mon Sep 17 00:00:00 2001 From: elsupergomez Date: Thu, 4 Feb 2010 13:20:14 +0000 Subject: Sending translation for Spanish --- po/es.po | 80 ++++++++++++---------------------------------------------------- 1 file changed, 15 insertions(+), 65 deletions(-) diff --git a/po/es.po b/po/es.po index eecec65..07092ea 100644 --- a/po/es.po +++ b/po/es.po @@ -9,9 +9,9 @@ msgid "" msgstr "" "Project-Id-Version: abrt.master.es\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2010-02-03 10:01+0000\n" -"PO-Revision-Date: 2010-02-03 10:10-0300\n" -"Last-Translator: Héctor Daniel Cabrera \n" +"POT-Creation-Date: 2010-02-04 10:01+0000\n" +"PO-Revision-Date: 2010-02-04 10:19-0300\n" +"Last-Translator: Claudio Rodrigo Pereyra Diaz \n" "Language-Team: Fedora Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -98,6 +98,7 @@ msgid "Please wait.." msgstr "Por favor espere..." #: ../src/Gui/ccgui.glade.h:8 +#: ../src/Gui/settings.glade.h:19 msgid "Plugins" msgstr "Complementos" @@ -441,19 +442,15 @@ msgid "GPG keys: " msgstr "LLaves GPG:" #: ../src/Gui/settings.glade.h:17 -msgid "Global Settings" -msgstr "Preferencias globales" - -#: ../src/Gui/settings.glade.h:18 msgid "Max coredump storage size(MB):" msgstr "Capacidad máxima de almacenamiento del volcado del núcleo (MB):" -#: ../src/Gui/settings.glade.h:19 +#: ../src/Gui/settings.glade.h:18 msgid "Name:" msgstr "Nombre:" #: ../src/Gui/settings.glade.h:20 -msgid "Settings" +msgid "Preferences" msgstr "Preferencias" #: ../src/Gui/settings.glade.h:21 @@ -464,16 +461,6 @@ msgstr "Versión:" msgid "Web Site:" msgstr "Página Web:" -# NO TRADUCIR, hacen referencia al boton gkt -#: ../src/Gui/settings.glade.h:23 -msgid "gtk-cancel" -msgstr "gtk-cancel" - -# NO TRADUCIR, hacen referencia al boton gkt -#: ../src/Gui/settings.glade.h:24 -msgid "gtk-ok" -msgstr "gtk-ok" - #: ../src/Gui/abrt.desktop.in.h:2 msgid "View and report application crashes" msgstr "Ver y reportar las caídas de las aplicaciones" @@ -491,7 +478,7 @@ msgstr "El servicio ABRT no se está ejecutando" msgid "Warning" msgstr "Aviso" -#: ../src/Daemon/Daemon.cpp:473 +#: ../src/Daemon/Daemon.cpp:474 msgid "Report size exceeded the quota. Please check system's MaxCrashReportsSize value in abrt.conf." msgstr "El tamaño del informe excede la cuota. Por favor, verifique el valor de MaxCrashReportsSize del sistema en abrt.conf." @@ -553,19 +540,19 @@ msgstr "Obteniendo la identificación única universal local" msgid "Generating backtrace" msgstr "Generando seguimiento..." -#: ../lib/Plugins/CCpp.cpp:388 +#: ../lib/Plugins/CCpp.cpp:415 msgid "Starting debuginfo installation" msgstr "Iniciando la instalación de la información de depuración" -#: ../lib/Plugins/CCpp.cpp:537 +#: ../lib/Plugins/CCpp.cpp:564 msgid "Getting local universal unique identification..." msgstr "Obteniendo la identificación única universal local..." -#: ../lib/Plugins/CCpp.cpp:556 +#: ../lib/Plugins/CCpp.cpp:613 msgid "Getting global universal unique identification..." msgstr "Obteniendo la identificación única universal global..." -#: ../lib/Plugins/CCpp.cpp:734 +#: ../lib/Plugins/CCpp.cpp:791 msgid "Skipping debuginfo installation" msgstr "Omita la instalación de la información de depuración" @@ -618,45 +605,8 @@ msgstr "Corriendo sosreport: %s" msgid "Done running sosreport" msgstr "Sosreport ya esta corriendo" -#~ msgid "You must agree with submitting the backtrace." -#~ msgstr "Usted debe estar de acuerdo con rendir informe del trazado" -#~ msgid "I agree to submit this backtrace, which could contain sensitive data" -#~ msgstr "" -#~ "Estoy de acuerdo en rendir el siguiente trazado, el cual podría contene " -#~ "datos sensibles" -#~ msgid "Send" -#~ msgstr "Enviar" -#~ msgid "Executing SOSreport plugin..." -#~ msgstr "Ejecutando complemento SOSreport..." -#~ msgid "" -#~ "WARNING, you're about to send data which might contain sensitive " -#~ "information.\n" -#~ "Do you really want to send %s?\n" -#~ msgstr "" -#~ "ADVERTENCIA, ¡está por enviar datos que pueden contener " -#~ "información sensible!\n" -#~ "¿Realmente quiere enviar %s?\n" -#~ msgid "Following items will be sent" -#~ msgstr "Serán enviados los siguientes elementos" -#~ msgid "Plugin name is not set, can't load its settings" -#~ msgstr "" -#~ "No se puso el nombre del complemento, no se puede cargar su configuración" -#~ msgid "Searching for debug-info packages..." -#~ msgstr "Buscando paquetes de información del depurador..." -#~ msgid "Downloading and installing debug-info packages..." -#~ msgstr "Descargando e instalando paquetes de información del depurador..." -#~ msgid "Creating a report..." -#~ msgstr "Creando un informe..." -#~ msgid "Starting report creation..." -#~ msgstr "Iniciando la creación del informe..." -#~ msgid "Working..." -#~ msgstr "Trabajando..." -#~ msgid "Can't get username for uid %s" -#~ msgstr "No se pudo obtener nombre de usuario para el uid %s" -#~ msgid "Edit blacklisted packages" -#~ msgstr "Edite los paquetes de la Blacklist" -#~ msgid "Nothing selected" -#~ msgstr "Nada seleccionado" -#~ msgid "This function is not implemented yet!" -#~ msgstr "¡Esta función no está implementada todavía! :-(" +#~ msgid "Global Settings" +#~ msgstr "Preferencias globales" +#~ msgid "Settings" +#~ msgstr "Preferencias" -- cgit From 79addff9cdee1c91d42ce656124bd5159e118159 Mon Sep 17 00:00:00 2001 From: elad Date: Thu, 4 Feb 2010 15:23:48 +0000 Subject: Sending translation for Hebrew --- po/he.po | 63 ++++++++++++++++++++++++++++++++++++++++----------------------- 1 file changed, 40 insertions(+), 23 deletions(-) diff --git a/po/he.po b/po/he.po index dec0ef1..bbaadc8 100644 --- a/po/he.po +++ b/po/he.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: ABRT\n" "Report-Msgid-Bugs-To: jmoskovc@redhat.com\n" -"POT-Creation-Date: 2010-01-31 03:57+0000\n" +"POT-Creation-Date: 2010-02-04 10:01+0000\n" "PO-Revision-Date: \n" "Last-Translator: Elad \n" "Language-Team: Hebrew \n" @@ -91,12 +91,13 @@ msgid "Please wait.." msgstr "אנא המתן..." #: ../src/Gui/ccgui.glade.h:8 +#: ../src/Gui/settings.glade.h:19 msgid "Plugins" msgstr "תוספים" #: ../src/Gui/ccgui.glade.h:9 msgid "Report" -msgstr "לדווח" +msgstr "דווח" #: ../src/Gui/ccgui.glade.h:10 msgid "" @@ -432,20 +433,16 @@ msgid "GPG keys: " msgstr "מפתחות GPG:" #: ../src/Gui/settings.glade.h:17 -msgid "Global Settings" -msgstr "הגדרות כלליות" - -#: ../src/Gui/settings.glade.h:18 msgid "Max coredump storage size(MB):" msgstr "גודל אחסון coredump מירבי" -#: ../src/Gui/settings.glade.h:19 +#: ../src/Gui/settings.glade.h:18 msgid "Name:" msgstr "שם:" #: ../src/Gui/settings.glade.h:20 -msgid "Settings" -msgstr "הגדרות" +msgid "Preferences" +msgstr "העדפות" #: ../src/Gui/settings.glade.h:21 msgid "Version:" @@ -455,14 +452,6 @@ msgstr "גרסה:" msgid "Web Site:" msgstr "אתר אינטרנט:" -#: ../src/Gui/settings.glade.h:23 -msgid "gtk-cancel" -msgstr "ביטול" - -#: ../src/Gui/settings.glade.h:24 -msgid "gtk-ok" -msgstr "אישור" - #: ../src/Gui/abrt.desktop.in.h:2 msgid "View and report application crashes" msgstr "צפה ברשימת היישומים שקרסו ודווח על הקריסות" @@ -480,7 +469,7 @@ msgstr "שירות ABRT לא פועל" msgid "Warning" msgstr "אזהרה" -#: ../src/Daemon/Daemon.cpp:473 +#: ../src/Daemon/Daemon.cpp:474 msgid "Report size exceeded the quota. Please check system's MaxCrashReportsSize value in abrt.conf." msgstr "גודל הדיווח חרג מהמכסה. אנא בדוק את ערך ההגדרה MaxCrashReportsSize בקובץ abrt.conf" @@ -542,19 +531,19 @@ msgstr "מקבל זהות מקומית ייחודית" msgid "Generating backtrace" msgstr "יוצר מידע קריסה" -#: ../lib/Plugins/CCpp.cpp:375 +#: ../lib/Plugins/CCpp.cpp:415 msgid "Starting debuginfo installation" msgstr "מתחיל התקנת מידע ניפוי שגיאות" -#: ../lib/Plugins/CCpp.cpp:524 +#: ../lib/Plugins/CCpp.cpp:564 msgid "Getting local universal unique identification..." msgstr "מקבל זהות מקומית ייחודית..." -#: ../lib/Plugins/CCpp.cpp:543 +#: ../lib/Plugins/CCpp.cpp:613 msgid "Getting global universal unique identification..." msgstr "מקבל זהות גלובלית ייחודית..." -#: ../lib/Plugins/CCpp.cpp:721 +#: ../lib/Plugins/CCpp.cpp:791 msgid "Skipping debuginfo installation" msgstr "מדלג על התקנת מידע ניפוי שגיאות" @@ -607,14 +596,30 @@ msgstr "מריץ sosreport: %s" msgid "Done running sosreport" msgstr "הרצת sosreport הסתיימה" +#~ msgid "Global Settings" +#~ msgstr "הגדרות כלליות" + +#~ msgid "Settings" +#~ msgstr "הגדרות" + +#~ msgid "gtk-cancel" +#~ msgstr "ביטול" + +#~ msgid "gtk-ok" +#~ msgstr "אישור" + #~ msgid "You must agree with submitting the backtrace." #~ msgstr "אני מסכים לשלוח את מידע הקריסה." + #~ msgid "I agree to submit this backtrace, which could contain sensitive data" #~ msgstr "אני מסכים לשלוח את מידע הקריסה, שעלול להכיל מידע רגיש" + #~ msgid "Send" #~ msgstr "שלח" + #~ msgid "Executing SOSreport plugin..." #~ msgstr "מריץ את תוסף SOSreport..." + #~ msgid "" #~ "WARNING, you're about to send data which might contain sensitive " #~ "information.\n" @@ -622,30 +627,42 @@ msgstr "הרצת sosreport הסתיימה" #~ msgstr "" #~ "אזהרה, אתה עומד לשלוח מידע שעלול להכיל מידע רגיש.\n" #~ "אתה באמת רוצה לשלוח את %s?\n" + #~ msgid "Following items will be sent" #~ msgstr "הפריטים הבאים יישלחו" + #~ msgid "Plugin name is not set, can't load its settings" #~ msgstr "שם התוסף לא הוגדר, לא ניתן לטעון את ההגדרות שלו" + #~ msgid "Searching for debug-info packages..." #~ msgstr "מחפש חבילות debug-info..." + #~ msgid "Downloading and installing debug-info packages..." #~ msgstr "מוריד ומתקין חבילות מידע ניפוי באגים..." + #~ msgid "Creating a report..." #~ msgstr "יוצר דיווח" + #~ msgid "Starting report creation..." #~ msgstr "מתחיל בהכנת הדיווח..." + #~ msgid "Working..." #~ msgstr "עובד..." + #~ msgid "Edit blacklisted packages" #~ msgstr "ערוך את הרשימה השחורה של החבילות (קריסות בחבילות אלו לא יתועדו): " + #~ msgid "Nothing selected" #~ msgstr "לא נבחר דבר" + #~ msgid "This function is not implemented yet!" #~ msgstr "הפונקציה הזאת עדיין לא מיושמת!" + #~ msgid "gtk-add" #~ msgstr "הוסף" + #~ msgid "gtk-close" #~ msgstr "סגור" + #~ msgid "gtk-remove" #~ msgstr "מחק" - -- cgit From f42baa45204bfb1df7219242d7ebcc102ad494be Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Thu, 4 Feb 2010 16:34:38 +0100 Subject: abrtd: fix rhbz#560642 - don't die on bad plugin names Signed-off-by: Denys Vlasenko --- src/Daemon/ABRTPlugin.cpp | 46 ------------- src/Daemon/ABRTPlugin.h | 161 ------------------------------------------- src/Daemon/Makefile.am | 1 - src/Daemon/PluginManager.cpp | 63 +++++++++++++++-- src/Daemon/PluginManager.h | 3 +- 5 files changed, 58 insertions(+), 216 deletions(-) delete mode 100644 src/Daemon/ABRTPlugin.cpp delete mode 100644 src/Daemon/ABRTPlugin.h diff --git a/src/Daemon/ABRTPlugin.cpp b/src/Daemon/ABRTPlugin.cpp deleted file mode 100644 index eb0b50d..0000000 --- a/src/Daemon/ABRTPlugin.cpp +++ /dev/null @@ -1,46 +0,0 @@ -/* - ABRTPlugin.cpp - - Copyright (C) 2009 Zdenek Prikryl (zprikryl@redhat.com) - Copyright (C) 2009 RedHat inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include "abrtlib.h" -#include "ABRTPlugin.h" -#include - -CLoadedModule::CLoadedModule(const char* pLibPath) -{ - /* All errors are fatal */ - m_pHandle = dlopen(pLibPath, RTLD_NOW); - if (!m_pHandle) - error_msg_and_die("can't load '%s': %s", pLibPath, dlerror()); - -#define LOADSYM(fp, handle, name) do { \ - fp = (typeof(fp)) (dlsym(handle, name)); \ - if (!fp) \ - error_msg_and_die("'%s' has no %s entry", pLibPath, name); \ -} while (0) - - LOADSYM(m_pPluginInfo, m_pHandle, "plugin_info"); - LOADSYM(m_pFnPluginNew, m_pHandle, "plugin_new"); -} - -CLoadedModule::~CLoadedModule() -{ - dlclose(m_pHandle); -} diff --git a/src/Daemon/ABRTPlugin.h b/src/Daemon/ABRTPlugin.h deleted file mode 100644 index 57d87f0..0000000 --- a/src/Daemon/ABRTPlugin.h +++ /dev/null @@ -1,161 +0,0 @@ -/* - ABRTPlugin.h - header file for abrt plugin. - - Copyright (C) 2009 Zdenek Prikryl (zprikryl@redhat.com) - Copyright (C) 2009 RedHat inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - - -#ifndef ABRTPLUGIN_H_ -#define ABRTPLUGIN_H_ - -#include -#include "Plugin.h" - -/** - * CLoadedModule class. A class which contains a loaded plugin. - */ -class CLoadedModule -{ - private: - /** - * dlopen'ed library - */ - void* m_pHandle; - /** - * A pointer to struc containing information about plugin. - */ - const plugin_info_t* m_pPluginInfo; - /** - * A pointer to function, which creates new instances of plugin. - */ - CPlugin* (*m_pFnPluginNew)(); - - public: - /** - * A constructor. - * The constructor loads a plugin - * @param pLibPath a path to a plugin - */ - CLoadedModule(const char* pLibPath); - /** - * A destructor. - */ - ~CLoadedModule(); - /** - * It is used for getting loaded plugin's version. - * @return plugin version - */ - const char* GetVersion(); - /** - * It is used for getting loaded plugin's magic number. - * @return magic number - */ - int GetMagicNumber(); - /** - * It is used for getting loaded plugin's name. - * @return magic number - */ - const char* GetName(); - /** - * It is used for getting loaded plugin's description. - * @return magic number - */ - const char* GetDescription(); - /** - * It is used for getting an author email of loaded plugin. - * @return description - */ - const char* GetEmail(); - /** - * It is used for getting a home page of loaded plugin. - * @return home page - */ - const char* GetWWW(); - /** - * It is used for getting a path to gui description. - * @return home page - */ - const char* GetGTKBuilder(); - /** - * It is used for getting loaded plugin's type. - * @return type - */ - plugin_type_t GetType(); - /** - * It is used fot getting of a new instance of loaded plugin - * @return pointer to new allocated instance of plugin. A caller - * has to delete it. - */ - CPlugin* PluginNew(); -}; - -inline -const char* CLoadedModule::GetVersion() -{ - return m_pPluginInfo->m_sVersion; -} - -inline -int CLoadedModule::GetMagicNumber() -{ - return m_pPluginInfo->m_nMagicNumber; -} - -inline -const char* CLoadedModule::GetName() -{ - return m_pPluginInfo->m_sName; -} - -inline -const char* CLoadedModule::GetDescription() -{ - return m_pPluginInfo->m_sDescription; -} - -inline -const char* CLoadedModule::GetEmail() -{ - return m_pPluginInfo->m_sEmail; -} - -inline -const char* CLoadedModule::GetWWW() -{ - return m_pPluginInfo->m_sWWW; -} - -inline -const char* CLoadedModule::GetGTKBuilder() -{ - return m_pPluginInfo->m_sGTKBuilder; -} - -inline -plugin_type_t CLoadedModule::GetType() -{ - return m_pPluginInfo->m_Type; -} - -inline -CPlugin* CLoadedModule::PluginNew() -{ - return m_pFnPluginNew(); -} - -#endif /*ABRTPLUGIN_H_*/ diff --git a/src/Daemon/Makefile.am b/src/Daemon/Makefile.am index 235b01b..cb44027 100644 --- a/src/Daemon/Makefile.am +++ b/src/Daemon/Makefile.am @@ -4,7 +4,6 @@ sbin_PROGRAMS = abrtd # disabled: CommLayerServerSocket.h CommLayerServerSocket.cpp abrtd_SOURCES = \ - ABRTPlugin.h ABRTPlugin.cpp \ PluginManager.h PluginManager.cpp \ RPM.h RPM.cpp \ MiddleWare.h MiddleWare.cpp \ diff --git a/src/Daemon/PluginManager.cpp b/src/Daemon/PluginManager.cpp index 15e9bee..5166c6a 100644 --- a/src/Daemon/PluginManager.cpp +++ b/src/Daemon/PluginManager.cpp @@ -21,6 +21,7 @@ #include #include +#include #include "abrtlib.h" #include "ABRTException.h" #include "CommLayerInner.h" @@ -29,6 +30,48 @@ using namespace std; + +/** + * CLoadedModule class. A class which contains a loaded plugin. + */ +class CLoadedModule +{ + private: + /* dlopen'ed library */ + void *m_pHandle; + const plugin_info_t *m_pPluginInfo; + CPlugin* (*m_pFnPluginNew)(); + + public: + CLoadedModule(void *handle, const char *mod_name); + ~CLoadedModule() { dlclose(m_pHandle); } + int GetMagicNumber() { return m_pPluginInfo->m_nMagicNumber; } + const char *GetVersion() { return m_pPluginInfo->m_sVersion; } + const char *GetName() { return m_pPluginInfo->m_sName; } + const char *GetDescription() { return m_pPluginInfo->m_sDescription; } + const char *GetEmail() { return m_pPluginInfo->m_sEmail; } + const char *GetWWW() { return m_pPluginInfo->m_sWWW; } + const char *GetGTKBuilder() { return m_pPluginInfo->m_sGTKBuilder; } + plugin_type_t GetType() { return m_pPluginInfo->m_Type; } + CPlugin *PluginNew() { return m_pFnPluginNew(); } +}; +CLoadedModule::CLoadedModule(void *handle, const char *mod_name) +{ + m_pHandle = handle; + /* All errors are fatal */ +#define LOADSYM(fp, handle, name) \ + do { \ + fp = (typeof(fp)) (dlsym(handle, name)); \ + if (!fp) \ + error_msg_and_die("'%s' has no %s entry", mod_name, name); \ + } while (0) + + LOADSYM(m_pPluginInfo, handle, "plugin_info"); + LOADSYM(m_pFnPluginNew, handle, "plugin_new"); +#undef LOADSYM +} + + /** * Text representation of plugin types. */ @@ -200,7 +243,13 @@ CPlugin* CPluginManager::LoadPlugin(const char *pName, bool enabled_only) } string libPath = ssprintf(PLUGINS_LIB_DIR"/"PLUGINS_LIB_PREFIX"%s."PLUGINS_LIB_EXTENSION, pName); - CLoadedModule* module = new CLoadedModule(libPath.c_str()); + void *handle = dlopen(libPath.c_str(), RTLD_NOW); + if (!handle) + { + error_msg("Can't load '%s': %s", libPath.c_str(), dlerror()); + return NULL; /* error */ + } + CLoadedModule *module = new CLoadedModule(handle, pName); if (module->GetMagicNumber() != PLUGINS_MAGIC_NUMBER || module->GetType() < 0 || module->GetType() > MAX_PLUGIN_TYPE @@ -214,7 +263,7 @@ CPlugin* CPluginManager::LoadPlugin(const char *pName, bool enabled_only) } VERB3 log("Loaded plugin %s v.%s", pName, module->GetVersion()); - CPlugin* plugin = NULL; + CPlugin *plugin = NULL; try { plugin = module->PluginNew(); @@ -297,7 +346,7 @@ void CPluginManager::UnRegisterPluginDBUS(const char *pName, const char *pDBUSSe CAnalyzer* CPluginManager::GetAnalyzer(const char *pName) { - CPlugin* plugin = LoadPlugin(pName); + CPlugin *plugin = LoadPlugin(pName); if (!plugin) { error_msg("Plugin '%s' is not registered", pName); @@ -313,7 +362,7 @@ CAnalyzer* CPluginManager::GetAnalyzer(const char *pName) CReporter* CPluginManager::GetReporter(const char *pName) { - CPlugin* plugin = LoadPlugin(pName); + CPlugin *plugin = LoadPlugin(pName); if (!plugin) { error_msg("Plugin '%s' is not registered", pName); @@ -329,7 +378,7 @@ CReporter* CPluginManager::GetReporter(const char *pName) CAction* CPluginManager::GetAction(const char *pName, bool silent) { - CPlugin* plugin = LoadPlugin(pName); + CPlugin *plugin = LoadPlugin(pName); if (!plugin) { error_msg("Plugin '%s' is not registered", pName); @@ -346,7 +395,7 @@ CAction* CPluginManager::GetAction(const char *pName, bool silent) CDatabase* CPluginManager::GetDatabase(const char *pName) { - CPlugin* plugin = LoadPlugin(pName); + CPlugin *plugin = LoadPlugin(pName); if (!plugin) { throw CABRTException(EXCEP_PLUGIN, "Plugin '%s' is not registered", pName); @@ -360,7 +409,7 @@ CDatabase* CPluginManager::GetDatabase(const char *pName) plugin_type_t CPluginManager::GetPluginType(const char *pName) { - CPlugin* plugin = LoadPlugin(pName); + CPlugin *plugin = LoadPlugin(pName); if (!plugin) { throw CABRTException(EXCEP_PLUGIN, "Plugin '%s' is not registered", pName); diff --git a/src/Daemon/PluginManager.h b/src/Daemon/PluginManager.h index 22cc387..8eebe7d 100644 --- a/src/Daemon/PluginManager.h +++ b/src/Daemon/PluginManager.h @@ -24,13 +24,14 @@ #define PLUGINMANAGER_H_ #include "abrt_types.h" -#include "ABRTPlugin.h" #include "Plugin.h" #include "Analyzer.h" #include "Reporter.h" #include "Database.h" #include "Action.h" +class CLoadedModule; /* opaque */ + /** * A class. It takes care of loading, registering and manipulating with * plugins. When a plugin is loaded, its library is opened, but no plugin -- cgit