diff options
Diffstat (limited to '')
-rw-r--r-- | doc/Changelog | 2 | ||||
-rw-r--r-- | doc/TODO | 2 | ||||
-rw-r--r-- | i18n/de.po | 413 | ||||
-rw-r--r-- | i18n/messages.pot | 360 | ||||
-rw-r--r-- | portato/config_parser.py | 14 | ||||
-rw-r--r-- | portato/gui/gtk/dialogs.py | 3 | ||||
-rw-r--r-- | portato/gui/gtk/windows.py | 65 | ||||
-rw-r--r-- | portato/plugin.py | 8 | ||||
-rw-r--r-- | portato/session.py | 4 |
9 files changed, 477 insertions, 394 deletions
diff --git a/doc/Changelog b/doc/Changelog index cfcd1e5..7e54e6d 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -4,6 +4,8 @@ next: - added log, ebuild and changelog as tabs - saved preferences (aka sessions) - added scrollbars to the update window +- handle new "use defaults" correctly +- allowed the permanent change of a plugin status 0.8.6.2: - changed the pipe version and use shm instead (fixes issues with kdesu) @@ -8,10 +8,8 @@ Backend: - add pkgcore support |-> not necessairy if catapult is used - add equo support / -- bugs in update world - fix for flag handling, when reverting flags (Necoro, 04/20/07: what did i mean by this?) ==> rewrite flags handling in an object oriented manner - - new USEflag format (with the "+") - do not alert a block, if a package blocks a version of one package which is updated to a new one not being blocked anymore @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: Portato\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2007-11-13 23:37+0100\n" +"PO-Revision-Date: 2008-01-14 17:13+0100\n" "Last-Translator: René 'Necoro' Neumann <necoro@necoro.net>\n" "Language-Team: \n" "MIME-Version: 1.0\n" @@ -25,7 +25,7 @@ msgid "Re_load Portage" msgstr "Aktua_lisiere Portage-Cache" #: portato/gui/templates/portato.glade:68 -#: portato/gui/templates/portato.glade:1749 +#: portato/gui/templates/portato.glade:1750 msgid "gtk-quit" msgstr "" @@ -34,17 +34,17 @@ msgid "_Emerge" msgstr "_Emerge" #: portato/gui/templates/portato.glade:89 -#: portato/gui/templates/portato.glade:858 +#: portato/gui/templates/portato.glade:857 msgid "E_merge" msgstr "E_merge" #: portato/gui/templates/portato.glade:104 -#: portato/gui/templates/portato.glade:892 +#: portato/gui/templates/portato.glade:891 msgid "_Unmerge" msgstr "_Unmerge" #: portato/gui/templates/portato.glade:118 -#: portato/gui/templates/portato.glade:911 +#: portato/gui/templates/portato.glade:910 msgid "Update _World" msgstr "Update _World" @@ -66,18 +66,18 @@ msgstr "Speichere _Flags" #: portato/gui/templates/portato.glade:187 #: portato/gui/templates/portato.glade:279 -#: portato/gui/templates/portato.glade:1724 +#: portato/gui/templates/portato.glade:1725 msgid "Emerge _Paused" msgstr "Emerge _angehalten" #: portato/gui/templates/portato.glade:195 #: portato/gui/templates/portato.glade:261 -#: portato/gui/templates/portato.glade:1731 +#: portato/gui/templates/portato.glade:1732 msgid "_Kill Emerge" msgstr "_Kill Emerge" #: portato/gui/templates/portato.glade:218 -#: portato/gui/gtk/windows.py:1026 +#: portato/gui/gtk/windows.py:967 msgid "Queue" msgstr "Queue" @@ -86,7 +86,7 @@ msgid "Oneshot" msgstr "Oneshot" #: portato/gui/templates/portato.glade:237 -#: portato/gui/gtk/windows.py:1132 +#: portato/gui/gtk/windows.py:1129 msgid "Console" msgstr "Konsole" @@ -114,165 +114,177 @@ msgstr "_Plugins" msgid "gtk-find" msgstr "" -#: portato/gui/templates/portato.glade:463 -#: portato/gui/gtk/windows.py:545 -msgid "Installed" -msgstr "Installiert" - -#: portato/gui/templates/portato.glade:476 -#: portato/gui/gtk/windows.py:676 -#: portato/gui/gtk/windows.py:679 -#: portato/gui/gtk/windows.py:682 -#: portato/gui/gtk/windows.py:774 -#: portato/gui/gtk/windows.py:777 -#: portato/gui/gtk/windows.py:784 -#: portato/gui/gtk/windows.py:788 -msgid "Masked" -msgstr "Masked" +#: portato/gui/templates/portato.glade:473 +msgid "<b>Installed, but not in portage anymore</b>" +msgstr "<b>Installiert, aber nicht mehr im Portage-Tree vorhanden</b>" -#: portato/gui/templates/portato.glade:490 -#: portato/gui/gtk/windows.py:689 -#: portato/gui/gtk/windows.py:692 -#: portato/gui/gtk/windows.py:746 -#: portato/gui/gtk/windows.py:751 -msgid "Testing" -msgstr "Testing" +#: portato/gui/templates/portato.glade:552 +msgid "<span foreground='red'><b>MISSING KEYWORD</b></span>" +msgstr "<span foreground='red'><b>FEHLENDES KEYWORD</b></span>" -#: portato/gui/templates/portato.glade:516 +#: portato/gui/templates/portato.glade:570 msgid "Mark package for installation" msgstr "Merke das Paket zur Installation vor" -#: portato/gui/templates/portato.glade:535 +#: portato/gui/templates/portato.glade:589 msgid "Add to E_merge Queue" msgstr "Füge zur E_merge Queue hinzu" -#: portato/gui/templates/portato.glade:550 +#: portato/gui/templates/portato.glade:604 msgid "Mark package for deinstallation" msgstr "Merke das Paket zur Deinstallation vor" -#: portato/gui/templates/portato.glade:569 +#: portato/gui/templates/portato.glade:623 msgid "Add to _Unmerge Queue" msgstr "Füge zur _Unmerge Queue hinzu" -#: portato/gui/templates/portato.glade:605 +#: portato/gui/templates/portato.glade:659 msgid "Re_vert" msgstr "_Wiederherstellen" -#: portato/gui/templates/portato.glade:631 -msgid "<span foreground='red'><b>MISSING KEYWORD</b></span>" -msgstr "<span foreground='red'><b>FEHLENDES KEYWORD</b></span>" +#: portato/gui/templates/portato.glade:690 +#: portato/gui/gtk/windows.py:533 +msgid "Installed" +msgstr "Installiert" -#: portato/gui/templates/portato.glade:710 -msgid "<b>Installed, but not in portage anymore</b>" -msgstr "<b>Installiert, aber nicht mehr im Portage-Tree vorhanden</b>" +#: portato/gui/templates/portato.glade:703 +#: portato/gui/gtk/windows.py:664 +#: portato/gui/gtk/windows.py:667 +#: portato/gui/gtk/windows.py:670 +#: portato/gui/gtk/windows.py:762 +#: portato/gui/gtk/windows.py:765 +#: portato/gui/gtk/windows.py:772 +#: portato/gui/gtk/windows.py:776 +msgid "Masked" +msgstr "Masked" -#: portato/gui/templates/portato.glade:744 +#: portato/gui/templates/portato.glade:717 +#: portato/gui/gtk/windows.py:677 +#: portato/gui/gtk/windows.py:680 +#: portato/gui/gtk/windows.py:734 +#: portato/gui/gtk/windows.py:739 +msgid "Testing" +msgstr "Testing" + +#: portato/gui/templates/portato.glade:743 msgid "_Package" msgstr "_Paket" -#: portato/gui/templates/portato.glade:771 +#: portato/gui/templates/portato.glade:770 msgid "E_build" msgstr "E_build" -#: portato/gui/templates/portato.glade:799 +#: portato/gui/templates/portato.glade:798 msgid "C_hangelog" -msgstr "" +msgstr "C_hangelog" -#: portato/gui/templates/portato.glade:839 +#: portato/gui/templates/portato.glade:838 msgid "Install all packages in the \"Emerge Queue\"" msgstr "Installiere alle Pakete aus der \"Emerge Queue\"" -#: portato/gui/templates/portato.glade:873 +#: portato/gui/templates/portato.glade:872 msgid "Deinstall all packages in the \"Unmerge Queue\"" msgstr "Deinstalliere alle Pakete aus der \"Unmerge Queue\"" -#: portato/gui/templates/portato.glade:910 +#: portato/gui/templates/portato.glade:909 msgid "Calculate the packages which will be installed during an \"update world\"" msgstr "Berechnet die Pakete, welche während eines \"update world\" installiert werden würden" -#: portato/gui/templates/portato.glade:923 +#: portato/gui/templates/portato.glade:922 msgid "Remove the selected package from the queue" msgstr "Löscht das gewählte Paket aus der Queue" -#: portato/gui/templates/portato.glade:924 +#: portato/gui/templates/portato.glade:923 msgid "_Remove" msgstr "_Löschen" -#: portato/gui/templates/portato.glade:948 +#: portato/gui/templates/portato.glade:947 msgid "_Queue" msgstr "_Queue" -#: portato/gui/templates/portato.glade:975 +#: portato/gui/templates/portato.glade:974 msgid "_Console" msgstr "_Konsole" -#: portato/gui/templates/portato.glade:1009 +#: portato/gui/templates/portato.glade:1010 msgid "_Log" msgstr "_Log" -#: portato/gui/templates/portato.glade:1038 +#: portato/gui/templates/portato.glade:1039 msgid "Portato - A Portage GUI" msgstr "Portato - A Portage GUI" -#: portato/gui/templates/portato.glade:1055 +#: portato/gui/templates/portato.glade:1056 msgid "Search Results" msgstr "Ergebnisse" -#: portato/gui/templates/portato.glade:1095 -#: portato/gui/templates/portato.glade:1690 -#: portato/gui/templates/portato.glade:1877 +#: portato/gui/templates/portato.glade:1096 +#: portato/gui/templates/portato.glade:1691 +#: portato/gui/templates/portato.glade:1799 msgid "gtk-cancel" msgstr "" -#: portato/gui/templates/portato.glade:1107 +#: portato/gui/templates/portato.glade:1108 msgid "gtk-jump-to" msgstr "" -#: portato/gui/templates/portato.glade:1122 +#: portato/gui/templates/portato.glade:1123 msgid "gtk-ok" msgstr "" -#: portato/gui/templates/portato.glade:1143 +#: portato/gui/templates/portato.glade:1144 msgid "Preferences" msgstr "Einstellungen" -#: portato/gui/templates/portato.glade:1178 +#: portato/gui/templates/portato.glade:1179 msgid "Debug" msgstr "Debug" -#: portato/gui/templates/portato.glade:1191 +#: portato/gui/templates/portato.glade:1192 msgid "Browser command: " msgstr "Browser-Befehl: " -#: portato/gui/templates/portato.glade:1217 +#: portato/gui/templates/portato.glade:1218 msgid "<b>General Options</b>" msgstr "<b>Allgemeine Optionen</b>" -#: portato/gui/templates/portato.glade:1267 +#: portato/gui/templates/portato.glade:1268 msgid "<b>Update World Options</b>" msgstr "<b>Optionen für \"update world\"</b>" -#: portato/gui/templates/portato.glade:1295 +#: portato/gui/templates/portato.glade:1296 msgid "Sync command: " msgstr "Sync-Befehl: " -#: portato/gui/templates/portato.glade:1316 +#: portato/gui/templates/portato.glade:1317 msgid "<b>Sync Options</b>" msgstr "<b>Sync Optionen</b>" -#: portato/gui/templates/portato.glade:1357 -msgid "<u><i>Masking Keywords</i></u>" -msgstr "<u><i>Masking Keywords</i></u>" +#: portato/gui/templates/portato.glade:1368 +msgid "File name to use, if package.use is a directory: " +msgstr "Zu benutzender Dateiname, wenn package.use ein Verzeichnis ist:" -#: portato/gui/templates/portato.glade:1372 -msgid "<u><i>Testing Keywords</i></u>" -msgstr "<u><i>Testing Keywords</i></u>" +#: portato/gui/templates/portato.glade:1379 +msgid "Add only exact version to package.use" +msgstr "Füge nur die exakte Paketversion zu package.keywords hinzu" -#: portato/gui/templates/portato.glade:1387 -msgid "<u><i>Use-Flags</i></u>" -msgstr "<u><i>Use-Flags</i></u>" +#: portato/gui/templates/portato.glade:1392 +msgid "Add only exact version to package.keywords" +msgstr "Füge nur die exakte Paketversion zu package.keywords hinzu" -#: portato/gui/templates/portato.glade:1409 +#: portato/gui/templates/portato.glade:1406 +msgid "File name to use, if package.keywords is a directory: " +msgstr "Zu benutzender Dateiname, wenn package.keywords ein Verzeichnis ist:" + +#: portato/gui/templates/portato.glade:1440 +msgid "File name to use, if package.mask/package.unmask is a directory: " +msgstr "Zu benutzender Dateiname, wenn package.mask/package.unmask ein Verzeichnis ist:" + +#: portato/gui/templates/portato.glade:1451 +msgid "Add only exact version to package.mask/package.unmask" +msgstr "Füge nur die exakte Paketversion zu package.mask/package.unmask hinzu" + +#: portato/gui/templates/portato.glade:1473 msgid "" "<u>You may use the following placeholders:</u>\n" "\n" @@ -286,92 +298,64 @@ msgstr "" "<i>$(pkg)</i>: Paketname\n" "<i>$(cat-1)/$(cat-2)</i>: erster/zweiter Teil der Kategorie" -#: portato/gui/templates/portato.glade:1433 -msgid "Add only exact version to package.mask/package.unmask" -msgstr "Füge nur die exakte Paketversion zu package.mask/package.unmask hinzu" - -#: portato/gui/templates/portato.glade:1447 -msgid "File name to use, if package.mask/package.unmask is a directory: " -msgstr "Zu benutzender Dateiname, wenn package.mask/package.unmask ein Verzeichnis ist:" - -#: portato/gui/templates/portato.glade:1481 -msgid "File name to use, if package.keywords is a directory: " -msgstr "Zu benutzender Dateiname, wenn package.keywords ein Verzeichnis ist:" - -#: portato/gui/templates/portato.glade:1492 -msgid "Add only exact version to package.keywords" -msgstr "Füge nur die exakte Paketversion zu package.keywords hinzu" +#: portato/gui/templates/portato.glade:1499 +msgid "<u><i>Use-Flags</i></u>" +msgstr "<u><i>Use-Flags</i></u>" -#: portato/gui/templates/portato.glade:1505 -msgid "Add only exact version to package.use" -msgstr "Füge nur die exakte Paketversion zu package.keywords hinzu" +#: portato/gui/templates/portato.glade:1514 +msgid "<u><i>Testing Keywords</i></u>" +msgstr "<u><i>Testing Keywords</i></u>" -#: portato/gui/templates/portato.glade:1519 -msgid "File name to use, if package.use is a directory: " -msgstr "Zu benutzender Dateiname, wenn package.use ein Verzeichnis ist:" +#: portato/gui/templates/portato.glade:1529 +msgid "<u><i>Masking Keywords</i></u>" +msgstr "<u><i>Masking Keywords</i></u>" -#: portato/gui/templates/portato.glade:1545 +#: portato/gui/templates/portato.glade:1546 msgid "<b>Use Flag and Keyword Options</b>" msgstr "<b>Use-Flag- und Keyword-Optionen</b>" -#: portato/gui/templates/portato.glade:1563 +#: portato/gui/templates/portato.glade:1564 msgid "General" msgstr "Allgemein" -#: portato/gui/templates/portato.glade:1586 +#: portato/gui/templates/portato.glade:1587 msgid "Show emerge progress in title - similar to the console tab" msgstr "Zeige den Emerge Prozess im Fenstertitel (wie im Konsolen-Tab)" -#: portato/gui/templates/portato.glade:1602 +#: portato/gui/templates/portato.glade:1603 msgid "Enable systray" msgstr "Aktiviere Systray" -#: portato/gui/templates/portato.glade:1616 +#: portato/gui/templates/portato.glade:1617 msgid "Hide on minimization (only if systray is enabled)" msgstr "Minimiere zu Systray" -#: portato/gui/templates/portato.glade:1635 +#: portato/gui/templates/portato.glade:1636 msgid "Console Font" msgstr "Schriftart in Konsole" -#: portato/gui/templates/portato.glade:1645 +#: portato/gui/templates/portato.glade:1646 msgid "Chose a console font" msgstr "Wähle eine Schriftart" -#: portato/gui/templates/portato.glade:1672 +#: portato/gui/templates/portato.glade:1673 msgid "Visual" msgstr "Oberfläche" -#: portato/gui/templates/portato.glade:1699 -#: portato/gui/templates/portato.glade:1889 +#: portato/gui/templates/portato.glade:1700 +#: portato/gui/templates/portato.glade:1811 msgid "gtk-apply" msgstr "" -#: portato/gui/templates/portato.glade:1758 -msgid "Updateble Packages" -msgstr "Pakete mit Updates" - -#: portato/gui/templates/portato.glade:1790 -msgid "_Close" -msgstr "_Schließen" - -#: portato/gui/templates/portato.glade:1802 -msgid "Select _All" -msgstr "_Alles auswählen" - -#: portato/gui/templates/portato.glade:1817 -msgid "_Install Selected" -msgstr "_Installiere ausgewählte" - -#: portato/gui/templates/portato.glade:1838 +#: portato/gui/templates/portato.glade:1760 msgid "Plugins" msgstr "Plugins" -#: portato/gui/templates/portato.glade:1910 +#: portato/gui/templates/portato.glade:1832 msgid "About Portato" msgstr "Portato" -#: portato/gui/templates/portato.glade:1919 +#: portato/gui/templates/portato.glade:1841 msgid "" "This software is licensed under the terms of the GPLv2.\n" "Copyright (C) 2006-2007 René 'Necoro' Neumann <necoro@necoro.net>" @@ -379,10 +363,26 @@ msgstr "" "This software is licensed under the terms of the GPLv2.\n" "Copyright (C) 2006-2007 René 'Necoro' Neumann <necoro@necoro.net>" -#: portato/gui/templates/portato.glade:1921 +#: portato/gui/templates/portato.glade:1843 msgid "A Portage GUI" msgstr "A Portage GUI" +#: portato/gui/templates/portato.glade:1933 +msgid "Updateble Packages" +msgstr "Pakete mit Updates" + +#: portato/gui/templates/portato.glade:1975 +msgid "_Close" +msgstr "_Schließen" + +#: portato/gui/templates/portato.glade:1987 +msgid "Select _All" +msgstr "_Alles auswählen" + +#: portato/gui/templates/portato.glade:2002 +msgid "_Install Selected" +msgstr "_Installiere ausgewählte" + #: portato.py:47 msgid "runs pychecker (should only be used by developers)" msgstr "Startet \"pychecker\". (Nur Entwickler sollten dies brauchen)." @@ -444,12 +444,7 @@ msgstr "Fehler-Code: %d" msgid "Resume-loop called while process is still running!" msgstr "\"Resume-Loop\" aufgerufen, während Emerge noch lief. Bug!" -#: portato/plugins/etc_proposals.py:65 -#: portato/plugins/etc_proposals.py:77 -msgid "Cannot start etc-proposals. No graphical frontend installed!" -msgstr "Kann etc-proposals nicht starten. Kein grafisches Frontend installiert." - -#: portato/plugins/etc_proposals.py:79 +#: portato/plugins/etc_proposals.py:30 msgid "Cannot start etc-proposals. Not root!" msgstr "Kann etc-proposals nicht starten. Nur root kann das!" @@ -458,106 +453,111 @@ msgstr "Kann etc-proposals nicht starten. Nur root kann das!" msgid "... is starting up: %s" msgstr "... startet: %s" -#: portato/gui/gtk/windows.py:77 +#: portato/gui/gtk/windows.py:61 +msgid "Disabled" +msgstr "Deaktiviert" + +#: portato/gui/gtk/windows.py:61 +msgid "Temporarily enabled" +msgstr "Aktiviert (temporär)" + +#: portato/gui/gtk/windows.py:61 +#: portato/gui/gtk/windows.py:149 +#: portato/gui/gtk/windows.py:532 +msgid "Enabled" +msgstr "Aktiviert" + +#: portato/gui/gtk/windows.py:61 +msgid "Temporarily disabled" +msgstr "Deaktiviert (temporär)" + +#: portato/gui/gtk/windows.py:80 msgid "Plugin" msgstr "Plugin" -#: portato/gui/gtk/windows.py:80 +#: portato/gui/gtk/windows.py:83 msgid "Authors" msgstr "Entwickler" -#: portato/gui/gtk/windows.py:85 -#: portato/gui/gtk/windows.py:131 -#: portato/gui/gtk/windows.py:544 -msgid "Enabled" -msgstr "Aktiviert" +#: portato/gui/gtk/windows.py:92 +msgid "Status" +msgstr "Status" -#: portato/gui/gtk/windows.py:132 +#: portato/gui/gtk/windows.py:150 msgid "Package" msgstr "Paket" -#: portato/gui/gtk/windows.py:227 +#: portato/gui/gtk/windows.py:260 msgid "Results" msgstr "Ergebnisse" -#: portato/gui/gtk/windows.py:366 -#, python-format -msgid "No %(old)s language file installed. Falling back to %(new)s." -msgstr "Keine \"%(old)s\" Syntaxdatei gefunden. Benutze \"%(new)s\"-Syntax." - -#: portato/gui/gtk/windows.py:371 -#, python-format -msgid "No %(old)s language file installed. Disable highlighting." -msgstr "Keine \"%(old)s\" Syntaxdatei gefunden. Deaktiviere Hervorhebung." - -#: portato/gui/gtk/windows.py:395 -#, python-format -msgid "Error: %s" -msgstr "Fehler: %s" - -#: portato/gui/gtk/windows.py:490 +#: portato/gui/gtk/windows.py:478 msgid "<no description>" msgstr "<keine Beschreibung>" -#: portato/gui/gtk/windows.py:522 +#: portato/gui/gtk/windows.py:510 msgid "This is an expanded use flag and cannot be selected" msgstr "Dies ist ein \"Expanded Use Flag\" und kann daher nicht ausgewählt werden." -#: portato/gui/gtk/windows.py:546 +#: portato/gui/gtk/windows.py:534 msgid "Flag" msgstr "Flag" -#: portato/gui/gtk/windows.py:547 +#: portato/gui/gtk/windows.py:535 msgid "Description" msgstr "Beschreibung" -#: portato/gui/gtk/windows.py:626 +#: portato/gui/gtk/windows.py:614 #, python-format msgid "Package could not be found: %s" msgstr "Paket konnte nicht gefunden werden: %s" -#: portato/gui/gtk/windows.py:886 +#: portato/gui/gtk/windows.py:840 msgid "Loading Config" msgstr "Lade Konfiguration" -#: portato/gui/gtk/windows.py:898 -msgid "Loading Preferences" -msgstr "Lade Einstellungen" - -#: portato/gui/gtk/windows.py:918 +#: portato/gui/gtk/windows.py:852 msgid "Creating Database" msgstr "Erstelle Datenbank" -#: portato/gui/gtk/windows.py:923 +#: portato/gui/gtk/windows.py:857 msgid "Loading Plugins" msgstr "Lade Plugins" -#: portato/gui/gtk/windows.py:936 +#: portato/gui/gtk/windows.py:870 +msgid "Building frontend" +msgstr "Erstelle Oberfläche" + +#: portato/gui/gtk/windows.py:920 +msgid "Restoring Session" +msgstr "Laden der Sitzung" + +#: portato/gui/gtk/windows.py:923 msgid "Finishing startup" msgstr "Erledige letzte Handgriffe :)" -#: portato/gui/gtk/windows.py:1029 +#: portato/gui/gtk/windows.py:970 msgid "Options" msgstr "Optionen" -#: portato/gui/gtk/windows.py:1039 +#: portato/gui/gtk/windows.py:980 msgid "Categories" msgstr "Kategorien" -#: portato/gui/gtk/windows.py:1069 +#: portato/gui/gtk/windows.py:1010 msgid "Packages" msgstr "Pakete" -#: portato/gui/gtk/windows.py:1134 +#: portato/gui/gtk/windows.py:1131 #, python-format msgid "Console (%(title)s)" msgstr "Konsole (%(title)s)" -#: portato/gui/gtk/windows.py:1250 +#: portato/gui/gtk/windows.py:1247 msgid "use flags" msgstr "Use Flags" -#: portato/gui/gtk/windows.py:1257 +#: portato/gui/gtk/windows.py:1254 msgid "masking keywords" msgstr "Masking Keywords" @@ -599,7 +599,7 @@ msgstr "" "Es sind noch Pakete in der Emerge-Queue und/oder emerge läuft noch.\n" "Wirklich beenden?" -#: portato/gui/gtk/dialogs.py:33 +#: portato/gui/gtk/dialogs.py:35 #, python-format msgid "" "%(blocked)s is blocked by %(blocks)s.\n" @@ -608,11 +608,11 @@ msgstr "" "%(blocks)s blockiert %(blocked)s.\n" "Bitte deinstalliere das blockierende Paket." -#: portato/gui/gtk/dialogs.py:39 +#: portato/gui/gtk/dialogs.py:41 msgid "You are not root." msgstr "Du bist nicht root." -#: portato/gui/gtk/dialogs.py:45 +#: portato/gui/gtk/dialogs.py:47 #, python-format msgid "" "%s seems to be masked.\n" @@ -621,20 +621,20 @@ msgstr "" "%s scheint maskiert zu sein.\n" "Soll das Paket und seine Abhängigkeiten demaskiert werden?" -#: portato/gui/gtk/dialogs.py:51 +#: portato/gui/gtk/dialogs.py:53 msgid "Package not found!" msgstr "Paket nicht gefunden!" -#: portato/gui/gtk/dialogs.py:58 +#: portato/gui/gtk/dialogs.py:60 #, python-format msgid "You have changed %s. Portato will write these changes into the appropriate files. Please backup them if you think it is necessairy." msgstr "Du hast die %s geändert. Portato wird diese Änderungen speichern. Bitte sichere die entsprechenden Dateien, wenn du es als notwendig erachtest." -#: portato/gui/gtk/dialogs.py:64 +#: portato/gui/gtk/dialogs.py:66 msgid "You cannot remove dependencies. :)" msgstr "Du kannst keine Abhängigkeiten löschen ;)." -#: portato/gui/gtk/dialogs.py:70 +#: portato/gui/gtk/dialogs.py:72 msgid "Do you really want to clear the whole queue?" msgstr "Wirklich die gesamte Queue löschen?" @@ -677,59 +677,74 @@ msgstr "" "Exception:\n" "%s" -#: portato/gui/gui_helper.py:178 +#: portato/gui/gtk/views.py:30 +#, python-format +msgid "No %(old)s language file installed. Falling back to %(new)s." +msgstr "Keine \"%(old)s\" Syntaxdatei gefunden. Benutze \"%(new)s\"-Syntax." + +#: portato/gui/gtk/views.py:35 +#, python-format +msgid "No %(old)s language file installed. Disable highlighting." +msgstr "Keine \"%(old)s\" Syntaxdatei gefunden. Deaktiviere Hervorhebung." + +#: portato/gui/gtk/views.py:59 +#, python-format +msgid "Error: %s" +msgstr "Fehler: %s" + +#: portato/gui/gui_helper.py:180 #, python-format msgid "Catched KeyError => %s seems not to be an available category. Have you played with rsync-excludes?" msgstr "Catched KeyError => %s scheint keine valide Kategorie zu sein. Hast du mit rsync-excludes gespielt?" -#: portato/plugin.py:292 #: portato/plugin.py:298 -#: portato/plugin.py:303 +#: portato/plugin.py:304 +#: portato/plugin.py:309 #, python-format msgid "%s cannot be imported." msgstr "%s kann nicht importiert werden." -#: portato/plugin.py:330 +#: portato/plugin.py:336 #, python-format msgid "Accessing hook '%(hook)s' of plugin '%(plugin)s' (before)." msgstr "Aufruf des Hooks '%(hook)s' vom Plugin '%(plugin)s'. (before)" -#: portato/plugin.py:334 +#: portato/plugin.py:340 #, python-format msgid "Overriding hook '%(hook)s' with plugin '%(plugin)s'." msgstr "Überschreibe den Hook '%(hook)s' mit Plugin '%(plugin)s'." -#: portato/plugin.py:341 +#: portato/plugin.py:347 #, python-format msgid "Accessing hook '%(hook)s' of plugin '%(plugin)s' (after)." msgstr "Aufruf des Hooks '%(hook)s' vom Plugin '%(plugin)s'. (after)" -#: portato/plugin.py:361 +#: portato/plugin.py:367 #, python-format msgid "Loading plugin '%s' failed. Invalid XML syntax." msgstr "Laden des Plugins '%s\" fehlgeschlagen: XML-Syntax-Fehler." -#: portato/plugin.py:364 +#: portato/plugin.py:370 #, python-format msgid "Loading plugin '%s' failed. Plugin does not comply with schema." msgstr "Laden des Plugins '%s\" fehlgeschlagen. Plugin erfüllt nicht das XML-Schema." -#: portato/plugin.py:392 +#: portato/plugin.py:398 #, python-format msgid "Plugin '%s' loaded." msgstr "Plugin '%s' geladen." -#: portato/plugin.py:395 +#: portato/plugin.py:401 #, python-format msgid "Loading plugin '%(plugin)s' failed: Could not import %(import)s" msgstr "Laden des Plugins '%(plugin)s\" fehlgeschlagen. Import von '%(import)s' nicht möglich." -#: portato/plugin.py:460 +#: portato/plugin.py:466 #, python-format msgid "For hook '%(hook)s' an override is already defined by plugin '%(plugin)s'!" msgstr "Das Plugin '%(plugin)s' definiert bereits einen \"Override\" fürr den Hook '%(hook)s'!" -#: portato/backend/portage/package.py:99 +#: portato/backend/portage/package.py:115 #: portato/backend/catapult/package.py:76 #, python-format msgid "BUG in flags.new_masking_status. It returns '%s'" @@ -745,12 +760,12 @@ msgstr "Es konnte kein bester Treffer für das Paket %s gefunden werden. Es sche msgid "Found a not installed dependency: %s." msgstr "Nicht installierte Abhängigkeit gefunden: %s" -#: portato/backend/portage/system.py:435 +#: portato/backend/portage/system.py:439 #, python-format msgid "Bug? No best match could be found for '%(package)s'. Needed by: '%(cpv)s'." msgstr "Es konnte kein bester Treffer für das Paket '%(package)s' ermittelt werden (gebraucht von '%(cpv)s'). Bug?" -#: portato/backend/flags.py:484 +#: portato/backend/flags.py:505 #, python-format msgid "Conflicting values for masking status: %s" msgstr "Konflikt beim Masking-Status: %s" diff --git a/i18n/messages.pot b/i18n/messages.pot index 6fa7f76..38f4cbc 100644 --- a/i18n/messages.pot +++ b/i18n/messages.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-11-13 23:34+0100\n" +"POT-Creation-Date: 2008-01-14 17:10+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -29,7 +29,7 @@ msgid "Re_load Portage" msgstr "" #: portato/gui/templates/portato.glade:68 -#: portato/gui/templates/portato.glade:1749 +#: portato/gui/templates/portato.glade:1750 msgid "gtk-quit" msgstr "" @@ -38,17 +38,17 @@ msgid "_Emerge" msgstr "" #: portato/gui/templates/portato.glade:89 -#: portato/gui/templates/portato.glade:858 +#: portato/gui/templates/portato.glade:857 msgid "E_merge" msgstr "" #: portato/gui/templates/portato.glade:104 -#: portato/gui/templates/portato.glade:892 +#: portato/gui/templates/portato.glade:891 msgid "_Unmerge" msgstr "" #: portato/gui/templates/portato.glade:118 -#: portato/gui/templates/portato.glade:911 +#: portato/gui/templates/portato.glade:910 msgid "Update _World" msgstr "" @@ -70,17 +70,17 @@ msgstr "" #: portato/gui/templates/portato.glade:187 #: portato/gui/templates/portato.glade:279 -#: portato/gui/templates/portato.glade:1724 +#: portato/gui/templates/portato.glade:1725 msgid "Emerge _Paused" msgstr "" #: portato/gui/templates/portato.glade:195 #: portato/gui/templates/portato.glade:261 -#: portato/gui/templates/portato.glade:1731 +#: portato/gui/templates/portato.glade:1732 msgid "_Kill Emerge" msgstr "" -#: portato/gui/templates/portato.glade:218 portato/gui/gtk/windows.py:1026 +#: portato/gui/templates/portato.glade:218 portato/gui/gtk/windows.py:967 msgid "Queue" msgstr "" @@ -88,7 +88,7 @@ msgstr "" msgid "Oneshot" msgstr "" -#: portato/gui/templates/portato.glade:237 portato/gui/gtk/windows.py:1132 +#: portato/gui/templates/portato.glade:237 portato/gui/gtk/windows.py:1129 msgid "Console" msgstr "" @@ -116,260 +116,260 @@ msgstr "" msgid "gtk-find" msgstr "" -#: portato/gui/templates/portato.glade:463 portato/gui/gtk/windows.py:545 -msgid "Installed" -msgstr "" - -#: portato/gui/templates/portato.glade:476 portato/gui/gtk/windows.py:676 -#: portato/gui/gtk/windows.py:679 portato/gui/gtk/windows.py:682 -#: portato/gui/gtk/windows.py:774 portato/gui/gtk/windows.py:777 -#: portato/gui/gtk/windows.py:784 portato/gui/gtk/windows.py:788 -msgid "Masked" +#: portato/gui/templates/portato.glade:473 +msgid "<b>Installed, but not in portage anymore</b>" msgstr "" -#: portato/gui/templates/portato.glade:490 portato/gui/gtk/windows.py:689 -#: portato/gui/gtk/windows.py:692 portato/gui/gtk/windows.py:746 -#: portato/gui/gtk/windows.py:751 -msgid "Testing" +#: portato/gui/templates/portato.glade:552 +msgid "<span foreground='red'><b>MISSING KEYWORD</b></span>" msgstr "" -#: portato/gui/templates/portato.glade:516 +#: portato/gui/templates/portato.glade:570 msgid "Mark package for installation" msgstr "" -#: portato/gui/templates/portato.glade:535 +#: portato/gui/templates/portato.glade:589 msgid "Add to E_merge Queue" msgstr "" -#: portato/gui/templates/portato.glade:550 +#: portato/gui/templates/portato.glade:604 msgid "Mark package for deinstallation" msgstr "" -#: portato/gui/templates/portato.glade:569 +#: portato/gui/templates/portato.glade:623 msgid "Add to _Unmerge Queue" msgstr "" -#: portato/gui/templates/portato.glade:605 +#: portato/gui/templates/portato.glade:659 msgid "Re_vert" msgstr "" -#: portato/gui/templates/portato.glade:631 -msgid "<span foreground='red'><b>MISSING KEYWORD</b></span>" +#: portato/gui/templates/portato.glade:690 portato/gui/gtk/windows.py:533 +msgid "Installed" msgstr "" -#: portato/gui/templates/portato.glade:710 -msgid "<b>Installed, but not in portage anymore</b>" +#: portato/gui/templates/portato.glade:703 portato/gui/gtk/windows.py:664 +#: portato/gui/gtk/windows.py:667 portato/gui/gtk/windows.py:670 +#: portato/gui/gtk/windows.py:762 portato/gui/gtk/windows.py:765 +#: portato/gui/gtk/windows.py:772 portato/gui/gtk/windows.py:776 +msgid "Masked" msgstr "" -#: portato/gui/templates/portato.glade:744 +#: portato/gui/templates/portato.glade:717 portato/gui/gtk/windows.py:677 +#: portato/gui/gtk/windows.py:680 portato/gui/gtk/windows.py:734 +#: portato/gui/gtk/windows.py:739 +msgid "Testing" +msgstr "" + +#: portato/gui/templates/portato.glade:743 msgid "_Package" msgstr "" -#: portato/gui/templates/portato.glade:771 +#: portato/gui/templates/portato.glade:770 msgid "E_build" msgstr "" -#: portato/gui/templates/portato.glade:799 +#: portato/gui/templates/portato.glade:798 msgid "C_hangelog" msgstr "" -#: portato/gui/templates/portato.glade:839 +#: portato/gui/templates/portato.glade:838 msgid "Install all packages in the \"Emerge Queue\"" msgstr "" -#: portato/gui/templates/portato.glade:873 +#: portato/gui/templates/portato.glade:872 msgid "Deinstall all packages in the \"Unmerge Queue\"" msgstr "" -#: portato/gui/templates/portato.glade:910 +#: portato/gui/templates/portato.glade:909 msgid "" "Calculate the packages which will be installed during an \"update world\"" msgstr "" -#: portato/gui/templates/portato.glade:923 +#: portato/gui/templates/portato.glade:922 msgid "Remove the selected package from the queue" msgstr "" -#: portato/gui/templates/portato.glade:924 +#: portato/gui/templates/portato.glade:923 msgid "_Remove" msgstr "" -#: portato/gui/templates/portato.glade:948 +#: portato/gui/templates/portato.glade:947 msgid "_Queue" msgstr "" -#: portato/gui/templates/portato.glade:975 +#: portato/gui/templates/portato.glade:974 msgid "_Console" msgstr "" -#: portato/gui/templates/portato.glade:1009 +#: portato/gui/templates/portato.glade:1010 msgid "_Log" msgstr "" -#: portato/gui/templates/portato.glade:1038 +#: portato/gui/templates/portato.glade:1039 msgid "Portato - A Portage GUI" msgstr "" -#: portato/gui/templates/portato.glade:1055 +#: portato/gui/templates/portato.glade:1056 msgid "Search Results" msgstr "" -#: portato/gui/templates/portato.glade:1095 -#: portato/gui/templates/portato.glade:1690 -#: portato/gui/templates/portato.glade:1877 +#: portato/gui/templates/portato.glade:1096 +#: portato/gui/templates/portato.glade:1691 +#: portato/gui/templates/portato.glade:1799 msgid "gtk-cancel" msgstr "" -#: portato/gui/templates/portato.glade:1107 +#: portato/gui/templates/portato.glade:1108 msgid "gtk-jump-to" msgstr "" -#: portato/gui/templates/portato.glade:1122 +#: portato/gui/templates/portato.glade:1123 msgid "gtk-ok" msgstr "" -#: portato/gui/templates/portato.glade:1143 +#: portato/gui/templates/portato.glade:1144 msgid "Preferences" msgstr "" -#: portato/gui/templates/portato.glade:1178 +#: portato/gui/templates/portato.glade:1179 msgid "Debug" msgstr "" -#: portato/gui/templates/portato.glade:1191 +#: portato/gui/templates/portato.glade:1192 msgid "Browser command: " msgstr "" -#: portato/gui/templates/portato.glade:1217 +#: portato/gui/templates/portato.glade:1218 msgid "<b>General Options</b>" msgstr "" -#: portato/gui/templates/portato.glade:1267 +#: portato/gui/templates/portato.glade:1268 msgid "<b>Update World Options</b>" msgstr "" -#: portato/gui/templates/portato.glade:1295 +#: portato/gui/templates/portato.glade:1296 msgid "Sync command: " msgstr "" -#: portato/gui/templates/portato.glade:1316 +#: portato/gui/templates/portato.glade:1317 msgid "<b>Sync Options</b>" msgstr "" -#: portato/gui/templates/portato.glade:1357 -msgid "<u><i>Masking Keywords</i></u>" +#: portato/gui/templates/portato.glade:1368 +msgid "File name to use, if package.use is a directory: " msgstr "" -#: portato/gui/templates/portato.glade:1372 -msgid "<u><i>Testing Keywords</i></u>" +#: portato/gui/templates/portato.glade:1379 +msgid "Add only exact version to package.use" msgstr "" -#: portato/gui/templates/portato.glade:1387 -msgid "<u><i>Use-Flags</i></u>" +#: portato/gui/templates/portato.glade:1392 +msgid "Add only exact version to package.keywords" msgstr "" -#: portato/gui/templates/portato.glade:1409 -msgid "" -"<u>You may use the following placeholders:</u>\n" -"\n" -"<i>$(cat)</i>: category\n" -"<i>$(pkg)</i>: package name\n" -"<i>$(cat-1)/$(cat-2)</i>: first/second part of the category" +#: portato/gui/templates/portato.glade:1406 +msgid "File name to use, if package.keywords is a directory: " msgstr "" -#: portato/gui/templates/portato.glade:1433 -msgid "Add only exact version to package.mask/package.unmask" +#: portato/gui/templates/portato.glade:1440 +msgid "File name to use, if package.mask/package.unmask is a directory: " msgstr "" -#: portato/gui/templates/portato.glade:1447 -msgid "File name to use, if package.mask/package.unmask is a directory: " +#: portato/gui/templates/portato.glade:1451 +msgid "Add only exact version to package.mask/package.unmask" msgstr "" -#: portato/gui/templates/portato.glade:1481 -msgid "File name to use, if package.keywords is a directory: " +#: portato/gui/templates/portato.glade:1473 +msgid "" +"<u>You may use the following placeholders:</u>\n" +"\n" +"<i>$(cat)</i>: category\n" +"<i>$(pkg)</i>: package name\n" +"<i>$(cat-1)/$(cat-2)</i>: first/second part of the category" msgstr "" -#: portato/gui/templates/portato.glade:1492 -msgid "Add only exact version to package.keywords" +#: portato/gui/templates/portato.glade:1499 +msgid "<u><i>Use-Flags</i></u>" msgstr "" -#: portato/gui/templates/portato.glade:1505 -msgid "Add only exact version to package.use" +#: portato/gui/templates/portato.glade:1514 +msgid "<u><i>Testing Keywords</i></u>" msgstr "" -#: portato/gui/templates/portato.glade:1519 -msgid "File name to use, if package.use is a directory: " +#: portato/gui/templates/portato.glade:1529 +msgid "<u><i>Masking Keywords</i></u>" msgstr "" -#: portato/gui/templates/portato.glade:1545 +#: portato/gui/templates/portato.glade:1546 msgid "<b>Use Flag and Keyword Options</b>" msgstr "" -#: portato/gui/templates/portato.glade:1563 +#: portato/gui/templates/portato.glade:1564 msgid "General" msgstr "" -#: portato/gui/templates/portato.glade:1586 +#: portato/gui/templates/portato.glade:1587 msgid "Show emerge progress in title - similar to the console tab" msgstr "" -#: portato/gui/templates/portato.glade:1602 +#: portato/gui/templates/portato.glade:1603 msgid "Enable systray" msgstr "" -#: portato/gui/templates/portato.glade:1616 +#: portato/gui/templates/portato.glade:1617 msgid "Hide on minimization (only if systray is enabled)" msgstr "" -#: portato/gui/templates/portato.glade:1635 +#: portato/gui/templates/portato.glade:1636 msgid "Console Font" msgstr "" -#: portato/gui/templates/portato.glade:1645 +#: portato/gui/templates/portato.glade:1646 msgid "Chose a console font" msgstr "" -#: portato/gui/templates/portato.glade:1672 +#: portato/gui/templates/portato.glade:1673 msgid "Visual" msgstr "" -#: portato/gui/templates/portato.glade:1699 -#: portato/gui/templates/portato.glade:1889 +#: portato/gui/templates/portato.glade:1700 +#: portato/gui/templates/portato.glade:1811 msgid "gtk-apply" msgstr "" -#: portato/gui/templates/portato.glade:1758 -msgid "Updateble Packages" +#: portato/gui/templates/portato.glade:1760 +msgid "Plugins" msgstr "" -#: portato/gui/templates/portato.glade:1790 -msgid "_Close" +#: portato/gui/templates/portato.glade:1832 +msgid "About Portato" msgstr "" -#: portato/gui/templates/portato.glade:1802 -msgid "Select _All" +#: portato/gui/templates/portato.glade:1841 +msgid "" +"This software is licensed under the terms of the GPLv2.\n" +"Copyright (C) 2006-2007 René 'Necoro' Neumann <necoro@necoro.net>" msgstr "" -#: portato/gui/templates/portato.glade:1817 -msgid "_Install Selected" +#: portato/gui/templates/portato.glade:1843 +msgid "A Portage GUI" msgstr "" -#: portato/gui/templates/portato.glade:1838 -msgid "Plugins" +#: portato/gui/templates/portato.glade:1933 +msgid "Updateble Packages" msgstr "" -#: portato/gui/templates/portato.glade:1910 -msgid "About Portato" +#: portato/gui/templates/portato.glade:1975 +msgid "_Close" msgstr "" -#: portato/gui/templates/portato.glade:1919 -msgid "" -"This software is licensed under the terms of the GPLv2.\n" -"Copyright (C) 2006-2007 René 'Necoro' Neumann <necoro@necoro.net>" +#: portato/gui/templates/portato.glade:1987 +msgid "Select _All" msgstr "" -#: portato/gui/templates/portato.glade:1921 -msgid "A Portage GUI" +#: portato/gui/templates/portato.glade:2002 +msgid "_Install Selected" msgstr "" #: portato.py:47 @@ -435,11 +435,7 @@ msgstr "" msgid "Resume-loop called while process is still running!" msgstr "" -#: portato/plugins/etc_proposals.py:65 portato/plugins/etc_proposals.py:77 -msgid "Cannot start etc-proposals. No graphical frontend installed!" -msgstr "" - -#: portato/plugins/etc_proposals.py:79 +#: portato/plugins/etc_proposals.py:30 msgid "Cannot start etc-proposals. Not root!" msgstr "" @@ -448,105 +444,110 @@ msgstr "" msgid "... is starting up: %s" msgstr "" -#: portato/gui/gtk/windows.py:77 -msgid "Plugin" +#: portato/gui/gtk/windows.py:61 +msgid "Disabled" msgstr "" -#: portato/gui/gtk/windows.py:80 -msgid "Authors" +#: portato/gui/gtk/windows.py:61 +msgid "Temporarily enabled" msgstr "" -#: portato/gui/gtk/windows.py:85 portato/gui/gtk/windows.py:131 -#: portato/gui/gtk/windows.py:544 +#: portato/gui/gtk/windows.py:61 portato/gui/gtk/windows.py:149 +#: portato/gui/gtk/windows.py:532 msgid "Enabled" msgstr "" -#: portato/gui/gtk/windows.py:132 -msgid "Package" +#: portato/gui/gtk/windows.py:61 +msgid "Temporarily disabled" msgstr "" -#: portato/gui/gtk/windows.py:227 -msgid "Results" +#: portato/gui/gtk/windows.py:80 +msgid "Plugin" msgstr "" -#: portato/gui/gtk/windows.py:366 -#, python-format -msgid "No %(old)s language file installed. Falling back to %(new)s." +#: portato/gui/gtk/windows.py:83 +msgid "Authors" msgstr "" -#: portato/gui/gtk/windows.py:371 -#, python-format -msgid "No %(old)s language file installed. Disable highlighting." +#: portato/gui/gtk/windows.py:92 +msgid "Status" msgstr "" -#: portato/gui/gtk/windows.py:395 -#, python-format -msgid "Error: %s" +#: portato/gui/gtk/windows.py:150 +msgid "Package" +msgstr "" + +#: portato/gui/gtk/windows.py:260 +msgid "Results" msgstr "" -#: portato/gui/gtk/windows.py:490 +#: portato/gui/gtk/windows.py:478 msgid "<no description>" msgstr "" -#: portato/gui/gtk/windows.py:522 +#: portato/gui/gtk/windows.py:510 msgid "This is an expanded use flag and cannot be selected" msgstr "" -#: portato/gui/gtk/windows.py:546 +#: portato/gui/gtk/windows.py:534 msgid "Flag" msgstr "" -#: portato/gui/gtk/windows.py:547 +#: portato/gui/gtk/windows.py:535 msgid "Description" msgstr "" -#: portato/gui/gtk/windows.py:626 +#: portato/gui/gtk/windows.py:614 #, python-format msgid "Package could not be found: %s" msgstr "" -#: portato/gui/gtk/windows.py:886 +#: portato/gui/gtk/windows.py:840 msgid "Loading Config" msgstr "" -#: portato/gui/gtk/windows.py:898 -msgid "Loading Preferences" -msgstr "" - -#: portato/gui/gtk/windows.py:918 +#: portato/gui/gtk/windows.py:852 msgid "Creating Database" msgstr "" -#: portato/gui/gtk/windows.py:923 +#: portato/gui/gtk/windows.py:857 msgid "Loading Plugins" msgstr "" -#: portato/gui/gtk/windows.py:936 +#: portato/gui/gtk/windows.py:870 +msgid "Building frontend" +msgstr "" + +#: portato/gui/gtk/windows.py:920 +msgid "Restoring Session" +msgstr "" + +#: portato/gui/gtk/windows.py:923 msgid "Finishing startup" msgstr "" -#: portato/gui/gtk/windows.py:1029 +#: portato/gui/gtk/windows.py:970 msgid "Options" msgstr "" -#: portato/gui/gtk/windows.py:1039 +#: portato/gui/gtk/windows.py:980 msgid "Categories" msgstr "" -#: portato/gui/gtk/windows.py:1069 +#: portato/gui/gtk/windows.py:1010 msgid "Packages" msgstr "" -#: portato/gui/gtk/windows.py:1134 +#: portato/gui/gtk/windows.py:1131 #, python-format msgid "Console (%(title)s)" msgstr "" -#: portato/gui/gtk/windows.py:1250 +#: portato/gui/gtk/windows.py:1247 msgid "use flags" msgstr "" -#: portato/gui/gtk/windows.py:1257 +#: portato/gui/gtk/windows.py:1254 msgid "masking keywords" msgstr "" @@ -587,40 +588,40 @@ msgid "" "Do you really want to quit?" msgstr "" -#: portato/gui/gtk/dialogs.py:33 +#: portato/gui/gtk/dialogs.py:35 #, python-format msgid "" "%(blocked)s is blocked by %(blocks)s.\n" "Please unmerge the blocking package." msgstr "" -#: portato/gui/gtk/dialogs.py:39 +#: portato/gui/gtk/dialogs.py:41 msgid "You are not root." msgstr "" -#: portato/gui/gtk/dialogs.py:45 +#: portato/gui/gtk/dialogs.py:47 #, python-format msgid "" "%s seems to be masked.\n" "Do you want to unmask it and its dependencies?" msgstr "" -#: portato/gui/gtk/dialogs.py:51 +#: portato/gui/gtk/dialogs.py:53 msgid "Package not found!" msgstr "" -#: portato/gui/gtk/dialogs.py:58 +#: portato/gui/gtk/dialogs.py:60 #, python-format msgid "" "You have changed %s. Portato will write these changes into the appropriate " "files. Please backup them if you think it is necessairy." msgstr "" -#: portato/gui/gtk/dialogs.py:64 +#: portato/gui/gtk/dialogs.py:66 msgid "You cannot remove dependencies. :)" msgstr "" -#: portato/gui/gtk/dialogs.py:70 +#: portato/gui/gtk/dialogs.py:72 msgid "Do you really want to clear the whole queue?" msgstr "" @@ -662,60 +663,75 @@ msgid "" "%s" msgstr "" -#: portato/gui/gui_helper.py:178 +#: portato/gui/gtk/views.py:30 +#, python-format +msgid "No %(old)s language file installed. Falling back to %(new)s." +msgstr "" + +#: portato/gui/gtk/views.py:35 +#, python-format +msgid "No %(old)s language file installed. Disable highlighting." +msgstr "" + +#: portato/gui/gtk/views.py:59 +#, python-format +msgid "Error: %s" +msgstr "" + +#: portato/gui/gui_helper.py:180 #, python-format msgid "" "Catched KeyError => %s seems not to be an available category. Have you " "played with rsync-excludes?" msgstr "" -#: portato/plugin.py:292 portato/plugin.py:298 portato/plugin.py:303 +#: portato/plugin.py:298 portato/plugin.py:304 portato/plugin.py:309 #, python-format msgid "%s cannot be imported." msgstr "" -#: portato/plugin.py:330 +#: portato/plugin.py:336 #, python-format msgid "Accessing hook '%(hook)s' of plugin '%(plugin)s' (before)." msgstr "" -#: portato/plugin.py:334 +#: portato/plugin.py:340 #, python-format msgid "Overriding hook '%(hook)s' with plugin '%(plugin)s'." msgstr "" -#: portato/plugin.py:341 +#: portato/plugin.py:347 #, python-format msgid "Accessing hook '%(hook)s' of plugin '%(plugin)s' (after)." msgstr "" -#: portato/plugin.py:361 +#: portato/plugin.py:367 #, python-format msgid "Loading plugin '%s' failed. Invalid XML syntax." msgstr "" -#: portato/plugin.py:364 +#: portato/plugin.py:370 #, python-format msgid "Loading plugin '%s' failed. Plugin does not comply with schema." msgstr "" -#: portato/plugin.py:392 +#: portato/plugin.py:398 #, python-format msgid "Plugin '%s' loaded." msgstr "" -#: portato/plugin.py:395 +#: portato/plugin.py:401 #, python-format msgid "Loading plugin '%(plugin)s' failed: Could not import %(import)s" msgstr "" -#: portato/plugin.py:460 +#: portato/plugin.py:466 #, python-format msgid "" "For hook '%(hook)s' an override is already defined by plugin '%(plugin)s'!" msgstr "" -#: portato/backend/portage/package.py:99 +#: portato/backend/portage/package.py:115 #: portato/backend/catapult/package.py:76 #, python-format msgid "BUG in flags.new_masking_status. It returns '%s'" @@ -731,13 +747,13 @@ msgstr "" msgid "Found a not installed dependency: %s." msgstr "" -#: portato/backend/portage/system.py:435 +#: portato/backend/portage/system.py:439 #, python-format msgid "" "Bug? No best match could be found for '%(package)s'. Needed by: '%(cpv)s'." msgstr "" -#: portato/backend/flags.py:484 +#: portato/backend/flags.py:505 #, python-format msgid "Conflicting values for masking status: %s" msgstr "" diff --git a/portato/config_parser.py b/portato/config_parser.py index b2b47a6..30d5d28 100644 --- a/portato/config_parser.py +++ b/portato/config_parser.py @@ -43,8 +43,8 @@ COMMENT = [";","#"] # precompiled expressions TRUE = re.compile("((true)|(1)|(on)|(wahr)|(ja)|(yes))", re.I) FALSE = re.compile("((false)|(0)|(off)|(falsch)|(nein)|(no))", re.I) -SECTION = re.compile("\s*\[(\w+)\]\s*") -EXPRESSION = re.compile(r"\s*(\w+)\s*[:=]\s*(.*)\s*") +SECTION = re.compile("\s*\[(?P<name>\w(\w|[-_])*)\]\s*") +EXPRESSION = re.compile(r"\s*(?P<key>\w(\w|[-_])*)\s*[:=]\s*(?P<value>.*)\s*") class Value (object): """Class defining a value of a key. @@ -187,7 +187,7 @@ class ConfigParser: # look for a section match = SECTION.search(line) if match: - sec = match.group(1).upper() + sec = match.group("name").upper() self.sections[sec] = count if sec != section: self.vars[sec] = {} @@ -197,7 +197,7 @@ class ConfigParser: # look for an expression match = EXPRESSION.search(line) if match: - val = match.group(2) + val = match.group("value") # find the boolean value bool = None @@ -207,9 +207,9 @@ class ConfigParser: bool = False # insert - key = match.group(1).lower() + key = match.group("key").lower() self.vars[section][key] = Value(val, count, bool = bool) - self.pos[count] = match.span(2) + self.pos[count] = match.span("value") else: # neither comment nor empty nor expression nor section => error error(_("Unrecognized line in configuration: %s"), line) @@ -252,7 +252,7 @@ class ConfigParser: if val.is_bool(): return val.boolean - raise ValueError, "\"%s\" is not a boolean." % key + raise ValueError, "\"%s\" is not a boolean. (%s)" % (key, val.value) def set (self, key, value = "", section = "MAIN"): """Sets a new value of a given key in a section. diff --git a/portato/gui/gtk/dialogs.py b/portato/gui/gtk/dialogs.py index a176a17..7bea2b8 100644 --- a/portato/gui/gtk/dialogs.py +++ b/portato/gui/gtk/dialogs.py @@ -15,7 +15,8 @@ from gettext import lgettext as _ def queue_not_empty_dialog(): dialog = gtk.MessageDialog(None, gtk.DIALOG_MODAL, gtk.MESSAGE_QUESTION, gtk.BUTTONS_NONE, _("There are some packages in the emerge queue and/or an emerge process is running.\nDo you really want to quit?")) - dialog.add_buttons(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_SAVE, gtk.RESPONSE_YES, gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE) + #dialog.add_buttons(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_SAVE, gtk.RESPONSE_YES, gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE) + dialog.add_buttons(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL, gtk.STOCK_CLOSE, gtk.RESPONSE_CLOSE) ret = dialog.run() dialog.destroy() return ret diff --git a/portato/gui/gtk/windows.py b/portato/gui/gtk/windows.py index 485f123..7ec6157 100644 --- a/portato/gui/gtk/windows.py +++ b/portato/gui/gtk/windows.py @@ -23,7 +23,7 @@ from gettext import lgettext as _ # our backend stuff from ... import get_listener, plugin -from ...helper import debug, warning, error, unique_array +from ...helper import debug, warning, error, unique_array, N_ from ...session import Session from ...constants import CONFIG_LOCATION, VERSION, APP_ICON from ...backend import flags, system @@ -56,6 +56,11 @@ class AboutWindow (AbstractDialog): class PluginWindow (AbstractDialog): + statsStore = gtk.ListStore(str) + + for s in (_("Disabled"), _("Temporarily enabled"), _("Enabled"), _("Temporarily disabled")): + statsStore.append([s]) + def __init__ (self, parent, plugins): """Constructor. @@ -67,7 +72,7 @@ class PluginWindow (AbstractDialog): self.changedPlugins = {} view = self.tree.get_widget("pluginList") - self.store = gtk.ListStore(str,str,bool) + self.store = gtk.ListStore(str,str,str) view.set_model(self.store) @@ -78,25 +83,40 @@ class PluginWindow (AbstractDialog): col = gtk.TreeViewColumn(_("Authors"), cell, text = 1) view.append_column(col) - bcell = gtk.CellRendererToggle() - bcell.connect("toggled", self.cb_plugin_toggled) - col = gtk.TreeViewColumn(_("Enabled"), bcell, active = 2) + ccell = gtk.CellRendererCombo() + ccell.set_property("model", self.statsStore) + ccell.set_property("text-column", 0) + ccell.set_property("has-entry", False) + ccell.set_property("editable", True) + ccell.connect("edited", self.cb_status_changed) + col = gtk.TreeViewColumn(_("Status"), ccell, markup = 2) view.append_column(col) - for p in (("<b>"+p.name+"</b>", p.author, p.is_enabled()) for p in plugins): + for p in (("<b>"+p.name+"</b>", p.author, _(self.statsStore[p.status][0])) for p in plugins): self.store.append(p) self.window.show_all() - def cb_plugin_toggled (self, cell, path): + def cb_status_changed (self, cell, path, new_text): path = int(path) - self.store[path][2] = not self.store[path][2] + + self.store[path][2] = "<b>%s</b>" % new_text + + # convert string to constant + const = None + for num, val in enumerate(self.statsStore): + if val[0] == new_text: + const = num + break - self.changedPlugins.update({self.plugins[path] : self.store[path][2]}) + assert (const is not None) + + self.changedPlugins.update({self.plugins[path] : const}) + debug("new changed plugins: %s => %d", self.plugins[path].name, const) def cb_ok_clicked (self, btn): for plugin, val in self.changedPlugins.iteritems(): - plugin.set_option("disabled", not val) + plugin.status = val self.close() return True @@ -1053,6 +1073,31 @@ class MainWindow (Window): ([("merge", "queue"), ("unmerge", "queue"), ("oneshot", "queue")], load_queue, save_queue) ]) + def save_plugin (p): + def _save (): + stat_on = p.status >= p.STAT_ENABLED + hard_on = not p.get_option("disabled") + + if stat_on != hard_on: + return int(stat_on) + else: + return "" + return _save + + def load_plugin (p): + def _load(val): + if val: + p.status = int(val)*2 + + return _load + + queue = plugin.get_plugin_queue().get_plugins() + if queue is None: + queue = [] + + for p in queue: + self.session.add_handler(([(p.name.replace(" ","_"), "plugins")], load_plugin(p), save_plugin(p))) + self.session.load() def jump_to (self, cp, version = None): diff --git a/portato/plugin.py b/portato/plugin.py index 09f2dea..b081ecd 100644 --- a/portato/plugin.py +++ b/portato/plugin.py @@ -155,6 +155,8 @@ class Hook: class Plugin: """A complete plugin.""" + (STAT_DISABLED, STAT_TEMP_ENABLED, STAT_ENABLED, STAT_TEMP_DISABLED) = range(4) + def __init__ (self, file, name, author): """Constructor. @@ -173,6 +175,8 @@ class Plugin: self.menus = [] self.options = Options() + self.status = self.STAT_ENABLED + def parse_hooks (self, hooks): """Gets an <hooks>-elements and parses it. @@ -199,6 +203,8 @@ class Plugin: if options: for o in options: self.options.parse(o.getElementsByTagName("option")) + + self.status = self.STAT_DISABLED if self.options.get("disabled") else self.STAT_ENABLED def set_import (self, imports): """This gets a list of imports and parses them - setting the import needed to call the plugin. @@ -234,7 +240,7 @@ class Plugin: return self.options.set(name, value) def is_enabled (self): - return not self.get_option("disabled") + return (self.status in (self.STAT_ENABLED, self.STAT_TEMP_ENABLED)) class PluginQueue: """Class managing and loading the plugins.""" diff --git a/portato/session.py b/portato/session.py index 2a049d1..0a61181 100644 --- a/portato/session.py +++ b/portato/session.py @@ -77,9 +77,9 @@ class Session (object): for options, lfn, sfn in self._handlers: vals = sfn() - # map into tuple if necessairy + # map into list if necessairy if not hasattr(vals, "__iter__"): - vals = (vals,) + vals = [vals] debug("Saving %s with values %s", options, vals) for value, (option, section) in zip(vals, options): |