incubator-bloodhound-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From g..@apache.org
Subject svn commit: r1398858 [4/33] - in /incubator/bloodhound/vendor/trac/current: ./ contrib/ doc/ doc/api/ doc/utils/ sample-plugins/ sample-plugins/permissions/ sample-plugins/workflow/ trac/ trac/admin/ trac/admin/templates/ trac/admin/tests/ trac/db/ tra...
Date Tue, 16 Oct 2012 15:55:11 GMT
Modified: incubator/bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/messages.po
URL: http://svn.apache.org/viewvc/incubator/bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/messages.po?rev=1398858&r1=1398857&r2=1398858&view=diff
==============================================================================
--- incubator/bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/messages.po (original)
+++ incubator/bloodhound/vendor/trac/current/trac/locale/de/LC_MESSAGES/messages.po Tue Oct 16 15:55:00 2012
@@ -9,17 +9,17 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Trac 0.12\n"
 "Report-Msgid-Bugs-To: trac-dev@googlegroups.com\n"
-"POT-Creation-Date: 2010-05-23 17:45+0200\n"
-"PO-Revision-Date: 2011-03-01 13:26+0100\n"
+"POT-Creation-Date: 2012-08-06 17:09+0200\n"
+"PO-Revision-Date: 2012-09-02 23:54+0200\n"
 "Last-Translator: Felix Schwarz <felix.schwarz@oss.schwarz.eu>\n"
 "Language-Team: de_DE <trac-dev@googlegroups.com>\n"
 "Plural-Forms: nplurals=2; plural=(n != 1)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Generated-By: Babel 0.9.5\n"
+"Generated-By: Babel 1.0dev-r658\n"
 
-#: tracopt/mimeview/php.py:95
+#: tracopt/mimeview/php.py:96
 msgid ""
 "You appear to be using the PHP CGI binary. Trac requires the CLI version "
 "for syntax highlighting."
@@ -27,6 +27,30 @@ msgstr ""
 "Es scheint, dass Sie die ausführbare PHP-CGI-Datei verwenden. Trac "
 "benötigt die CLI-Version für Syntaxhervorhebung."
 
+#: tracopt/ticket/clone.py:49
+#, python-format
+msgid "%(summary)s (cloned)"
+msgstr "%(summary)s (geklont)"
+
+#: tracopt/ticket/clone.py:53
+#, python-format
+msgid ""
+"Cloned from #%(id)s:\n"
+"----\n"
+"%(description)s"
+msgstr ""
+"Geklont von #%(id)s:\n"
+"----\n"
+"%(description)s"
+
+#: tracopt/ticket/clone.py:60
+msgid "Clone"
+msgstr "Klon"
+
+#: tracopt/ticket/clone.py:61
+msgid "Create a copy of this ticket"
+msgstr "Kopie dieses Tickets erstellen"
+
 #: tracopt/ticket/commit_updater.py:261
 msgid ""
 "Insert a changeset message into the output.\n"
@@ -42,31 +66,31 @@ msgid ""
 " - `revision`: the revision of the desired changeset"
 msgstr ""
 
-#: tracopt/ticket/deleter.py:69 tracopt/ticket/deleter.py:82
-#: trac/ticket/templates/report_list.html:81
+#: tracopt/ticket/deleter.py:73 tracopt/ticket/deleter.py:90
+#: trac/ticket/templates/report_list.html:82
 msgid "Delete"
 msgstr "Löschen"
 
-#: tracopt/ticket/deleter.py:70 tracopt/ticket/templates/ticket_delete.html:43
+#: tracopt/ticket/deleter.py:74 tracopt/ticket/templates/ticket_delete.html:42
 msgid "Delete ticket"
 msgstr "Ticket löschen"
 
-#: tracopt/ticket/deleter.py:83
+#: tracopt/ticket/deleter.py:91
 #, python-format
 msgid "Delete comment %(num)s"
 msgstr "Lösche Kommentar %(num)s"
 
-#: tracopt/ticket/deleter.py:130
+#: tracopt/ticket/deleter.py:140
 #, python-format
 msgid "The ticket #%(id)s has been deleted."
 msgstr "Das Ticket #%(id)s wurde gelöscht."
 
-#: tracopt/ticket/deleter.py:137
+#: tracopt/ticket/deleter.py:147
 #, python-format
 msgid "The ticket comment %(num)s on ticket #%(id)s has been deleted."
 msgstr "Der Kommentar %(num)s zum Ticket #%(id)s wurde gelöscht."
 
-#: tracopt/ticket/deleter.py:156
+#: tracopt/ticket/deleter.py:167
 #, python-format
 msgid "Comment %(num)s not found"
 msgstr "Kommentar %(num)s nicht gefunden"
@@ -77,7 +101,7 @@ msgid "Delete Ticket #%(id)s"
 msgstr "Lösche Ticket #%(id)s"
 
 #: tracopt/ticket/templates/ticket_delete.html:12
-#: tracopt/ticket/templates/ticket_delete.html:49
+#: tracopt/ticket/templates/ticket_delete.html:48
 #, python-format
 msgid "Delete comment %(num)s on Ticket #%(id)s"
 msgstr "Kommentar %(num)s für Ticket #%(id)s löschen"
@@ -87,11 +111,11 @@ msgstr "Kommentar %(num)s für Ticket 
 msgid "Delete [1:Ticket #%(id)s]"
 msgstr "Lösche [1:Ticket #%(id)s]"
 
-#: tracopt/ticket/templates/ticket_delete.html:33
+#: tracopt/ticket/templates/ticket_delete.html:32
 msgid "Are you sure you want to delete this ticket?"
 msgstr "Sind Sie sicher, dass Sie dieses Ticket löschen möchten?"
 
-#: tracopt/ticket/templates/ticket_delete.html:34
+#: tracopt/ticket/templates/ticket_delete.html:33
 #, python-format
 msgid ""
 "(comments: %(comments)s,\n"
@@ -100,67 +124,176 @@ msgstr ""
 "(Kommentare: %(comments)s,\n"
 "                 Anhänge: %(attachments)s)"
 
-#: tracopt/ticket/templates/ticket_delete.html:37
-#: tracopt/ticket/templates/ticket_delete.html:68
+#: tracopt/ticket/templates/ticket_delete.html:36
+#: tracopt/ticket/templates/ticket_delete.html:61
 #: trac/templates/attachment.html:70 trac/wiki/templates/wiki_delete.html:95
 msgid "This is an irreversible operation."
 msgstr "Dieser Vorgang kann nicht rückgängig gemacht werden."
 
-#: tracopt/ticket/templates/ticket_delete.html:42
-#: tracopt/ticket/templates/ticket_delete.html:72
+#: tracopt/ticket/templates/ticket_delete.html:41
+#: tracopt/ticket/templates/ticket_delete.html:65
 #: trac/admin/templates/admin_components.html:55
 #: trac/admin/templates/admin_enums.html:24
-#: trac/admin/templates/admin_milestones.html:68
-#: trac/admin/templates/admin_versions.html:45
+#: trac/admin/templates/admin_milestones.html:74
+#: trac/admin/templates/admin_versions.html:50
 #: trac/templates/attachment.html:63 trac/templates/attachment.html:76
 #: trac/ticket/templates/milestone_delete.html:40
-#: trac/ticket/templates/milestone_edit.html:106
+#: trac/ticket/templates/milestone_edit.html:108
 #: trac/ticket/templates/report_delete.html:21
 #: trac/ticket/templates/report_edit.html:44
-#: trac/ticket/templates/ticket_change.html:49
+#: trac/ticket/templates/ticket_change.html:118
 #: trac/versioncontrol/templates/admin_repositories.html:84
 #: trac/wiki/templates/wiki_delete.html:98
-#: trac/wiki/templates/wiki_edit_form.html:78
+#: trac/wiki/templates/wiki_edit_form.html:73
 #: trac/wiki/templates/wiki_rename.html:32
 msgid "Cancel"
 msgstr "Abbrechen"
 
-#: tracopt/ticket/templates/ticket_delete.html:56
-msgid "comment:"
-msgstr "Kommentar:"
-
-#: tracopt/ticket/templates/ticket_delete.html:58
-#: trac/ticket/templates/ticket.html:151
-#, python-format
-msgid "Changed %(date)s ago by %(author)s"
-msgstr "Vor %(date)s geändert durch %(author)s"
-
-#: tracopt/ticket/templates/ticket_delete.html:68
+#: tracopt/ticket/templates/ticket_delete.html:61
 msgid "Are you sure you want to delete this ticket comment?"
 msgstr "Sind Sie sicher, dass Sie diesen Kommentar löschen möchten?"
 
-#: tracopt/ticket/templates/ticket_delete.html:73
+#: tracopt/ticket/templates/ticket_delete.html:66
 msgid "Delete comment"
 msgstr "Kommentar löschen"
 
+#: tracopt/versioncontrol/svn/svn_fs.py:283
+#, python-format
+msgid "Subversion >= 1.0 required, found %(version)s"
+msgstr "Subversion >= 1.0 benötigt, aber %(version)s vorhanden"
+
+#: tracopt/versioncontrol/svn/svn_fs.py:337
+#, python-format
+msgid "%(path)s does not appear to be a Subversion repository."
+msgstr "Es scheint, dass %(path)s kein Subversion-Repository ist."
+
+#: tracopt/versioncontrol/svn/svn_fs.py:344
+#, python-format
+msgid "Couldn't open Subversion repository %(path)s: %(svn_error)s"
+msgstr "Kann Subversion-Repository %(path)s nicht öffnen: %(svn_error)s"
+
+#: tracopt/versioncontrol/svn/svn_fs.py:656
+#, python-format
+msgid ""
+"Diff mismatch: Base is a %(oldnode)s (%(oldpath)s in revision %(oldrev)s)"
+" and Target is a %(newnode)s (%(newpath)s in revision %(newrev)s)."
+msgstr ""
+"Fehlanwendung des Diff: Basisversion ist ein %(oldnode)s (%(oldpath)s in "
+"Revision %(oldrev)s) und Zielversion ist ein %(newnode)s (%(newpath)s in "
+"Revision %(newrev)s)."
+
+#: tracopt/versioncontrol/svn/svn_fs.py:814
+#, python-format
+msgid "svn blame failed on %(path)s: %(error)s"
+msgstr "svn blame auf %(path)s fehlgeschlagen: %(error)s"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:150
+msgid "No svn:externals configured in trac.ini"
+msgstr "Keine svn:externals in trac.ini konfiguriert"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:187
+msgid "blocked"
+msgstr "blockiert"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:187
+msgid "merged"
+msgstr "zusammengeführt"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:221
+msgid "non-inheritable"
+msgstr "nicht vererbbar"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:223
+msgid "merged on the directory itself but not below"
+msgstr "zusammengeführt im Verzeichnis selbst, jedoch nicht unterhalb"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:239
+msgid "eligible"
+msgstr "passend"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:253
+msgid "(toggle deleted branches)"
+msgstr "(gelöschte Branches an/aus)"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:291
+msgid "View merge source"
+msgstr "Quelle für Zusammenführung zeigen"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:302
+msgid "No revisions"
+msgstr "Keine Revisionen"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:309
+#, python-format
+msgid "%(title)s: %(revs)s"
+msgstr "%(title)s: %(revs)s"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:345
+msgid "merged: "
+msgstr "zusammengeführt:"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:345
+msgid "blocked: "
+msgstr "blockiert: "
+
+#: tracopt/versioncontrol/svn/svn_prop.py:346
+msgid "reverse-merged: "
+msgstr "zurückgeführt: "
+
+#: tracopt/versioncontrol/svn/svn_prop.py:346
+msgid "un-blocked: "
+msgstr "freigegeben: "
+
+#: tracopt/versioncontrol/svn/svn_prop.py:347
+msgid "marked as non-inheritable: "
+msgstr "als nicht-vererbbar gekennzeichnet: "
+
+#: tracopt/versioncontrol/svn/svn_prop.py:348
+msgid "unmarked as non-inheritable: "
+msgstr "Kennzeichnung als nicht-vererbbar aufgehoben: "
+
+#: tracopt/versioncontrol/svn/svn_prop.py:360
+msgid " (added)"
+msgstr " (hinzugefügt)"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:397
+msgid "removed"
+msgstr "entfernt"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:400
+msgid " (with no actual effect on merging)"
+msgstr "(ohne Einfluss auf Zusammenführung)"
+
+#: tracopt/versioncontrol/svn/svn_prop.py:401
+#, python-format
+msgid "Property %(prop)s changed"
+msgstr "Eigenschaft %(prop)s geändert"
+
 #: trac/about.py:47 trac/templates/about.html:10 trac/templates/about.html:29
 msgid "About Trac"
 msgstr "Über Trac"
 
-#: trac/attachment.py:163
+#: trac/attachment.py:164
 #, python-format
 msgid "Attachment '%(title)s' does not exist."
 msgstr "Der Anhang '%(title)s' existiert nicht."
 
-#: trac/attachment.py:165
+#: trac/attachment.py:166
 msgid "Invalid Attachment"
 msgstr "Ungültiger Anhang"
 
-#: trac/attachment.py:204
+#: trac/attachment.py:233
 msgid "Could not delete attachment"
 msgstr "Anhang konnte nicht gelöscht werden"
 
-#: trac/attachment.py:216
+#: trac/attachment.py:252
+#, python-format
+msgid "Cannot reparent attachment \"%(att)s\" as %(realm)s:%(id)s is invalid"
+msgstr ""
+"Anhang \"%(att)s\" konnte nicht neu zugeordnet werden, weil "
+"%(realm)s:%(id)s ungültig ist"
+
+#: trac/attachment.py:257
 #, python-format
 msgid ""
 "Cannot reparent attachment \"%(att)s\" as it already exists in "
@@ -169,81 +302,92 @@ msgstr ""
 "Anhang \"%(att)s\" konnte nicht neu zugeordnet werden, weil er schon zu "
 "%(realm)s:%(id)s gehört"
 
-#: trac/attachment.py:234
+#: trac/attachment.py:276
 #, python-format
 msgid "Could not reparent attachment %(name)s"
 msgstr "Anhang %(name)s konnte nicht neu zugeordnet werden"
 
-#: trac/attachment.py:353
+#: trac/attachment.py:312
+#, python-format
+msgid "Cannot create attachment \"%(att)s\" as %(realm)s:%(id)s is invalid"
+msgstr ""
+"Anhang \"%(att)s\" konnte nicht erstellt werden, weil %(realm)s:%(id)s "
+"ungültig ist"
+
+#: trac/attachment.py:395
 #, python-format
 msgid "Attachment '%(filename)s' not found"
 msgstr "Anhang '%(filename)s' nicht gefunden"
 
-#: trac/attachment.py:432
+#: trac/attachment.py:479
 msgid "Bad request"
 msgstr "Ungültige Anfrage"
 
-#: trac/attachment.py:449
+#: trac/attachment.py:496
 #, python-format
 msgid "Back to %(parent)s"
 msgstr "Zurück zu %(parent)s"
 
-#: trac/attachment.py:555
+#: trac/attachment.py:602
 #, python-format
 msgid "%(attachment)s attached to %(resource)s"
 msgstr "%(attachment)s angehängt an %(resource)s"
 
-#: trac/attachment.py:610
+#: trac/attachment.py:657
 #, python-format
 msgid "Unparented attachment %(id)s"
 msgstr "Verwaister Anhang: %(id)s"
 
-#: trac/attachment.py:618
+#: trac/attachment.py:665
 #, python-format
 msgid "Attachment '%(id)s' in %(parent)s"
 msgstr "Anhang '%(id)s' in %(parent)s"
 
-#: trac/attachment.py:621
+#: trac/attachment.py:668
 #, python-format
 msgid "Attachments of %(parent)s"
 msgstr "Anhänge von %(parent)s"
 
-#: trac/attachment.py:638
+#: trac/attachment.py:685
 #, python-format
 msgid "%(parent)s doesn't exist, can't create attachment"
 msgstr ""
 "Die Seite %(parent)s ist nicht vorhanden. Sie können keinen Anhang "
 "erstellen."
 
-#: trac/attachment.py:645 trac/attachment.py:668 trac/admin/web_ui.py:461
-#: trac/admin/web_ui.py:464 trac/admin/web_ui.py:468
+#: trac/attachment.py:692 trac/attachment.py:715 trac/admin/web_ui.py:467
+#: trac/admin/web_ui.py:470 trac/admin/web_ui.py:474
 msgid "No file uploaded"
 msgstr "Keine Datei hochgeladen"
 
-#: trac/attachment.py:653
+#: trac/attachment.py:700
 msgid "Can't upload empty file"
 msgstr "Leere Datei kann nicht hochgeladen werden"
 
-#: trac/attachment.py:658
+#: trac/attachment.py:705
 #, python-format
 msgid "Maximum attachment size: %(num)s bytes"
 msgstr "Maximale Größe für Anhänge: %(num)s Bytes"
 
-#: trac/attachment.py:659
+#: trac/attachment.py:706
 msgid "Upload failed"
 msgstr "Upload fehlgeschlagen"
 
-#: trac/attachment.py:681
+#: trac/attachment.py:730
 #, python-format
 msgid "Attachment field %(field)s is invalid: %(message)s"
 msgstr "Feld %(field)s des Anhangs ist ungültig: %(message)s"
 
-#: trac/attachment.py:685
+#: trac/attachment.py:734
 #, python-format
 msgid "Invalid attachment: %(message)s"
 msgstr "Ungültiger Anhang: %(message)s"
 
-#: trac/attachment.py:695
+#: trac/attachment.py:738
+msgid "Note: File must be selected again."
+msgstr "Hinweis: Die Datei muss erneut ausgewählt werden."
+
+#: trac/attachment.py:751
 #, python-format
 msgid ""
 "You don't have permission to replace the attachment %(name)s. You can "
@@ -253,73 +397,73 @@ msgstr ""
 "Sie dürfen nur Ihre eigenen Anhänge ersetzen. Um den Anhang %(name)s zu "
 "ersetzen, benötigen Sie die Berechtigung ATTACHMENT_DELETE."
 
-#: trac/attachment.py:727
+#: trac/attachment.py:782
 #, python-format
 msgid "%(attachment)s (delete)"
 msgstr "%(attachment)s (löschen)"
 
-#: trac/attachment.py:741
+#: trac/attachment.py:796
 #, python-format
 msgid "Maximum total attachment size: %(num)s bytes"
 msgstr "Maximale Größe für Anhänge: %(num)s Bytes"
 
-#: trac/attachment.py:742
+#: trac/attachment.py:797
 msgid "Download failed"
 msgstr "Upload fehlgeschlagen"
 
-#: trac/attachment.py:829 trac/versioncontrol/web_ui/browser.py:661
-#: trac/wiki/web_ui.py:72
+#: trac/attachment.py:885 trac/versioncontrol/web_ui/browser.py:665
+#: trac/wiki/web_ui.py:73
 msgid "Plain Text"
 msgstr "Reiner Text"
 
-#: trac/attachment.py:835 trac/versioncontrol/web_ui/browser.py:667
+#: trac/attachment.py:891 trac/versioncontrol/web_ui/browser.py:671
 msgid "Original Format"
 msgstr "Ursprüngliches Format"
 
-#: trac/attachment.py:877 trac/templates/list_of_attachments.html:20
-#: trac/ticket/templates/ticket_change.html:21
+#: trac/attachment.py:933 trac/templates/list_of_attachments.html:20
+#: trac/ticket/templates/ticket_change.html:83
 #: trac/versioncontrol/templates/dir_entries.html:18
-#: trac/versioncontrol/web_ui/browser.py:815
+#: trac/versioncontrol/web_ui/browser.py:818
 msgid "Download"
 msgstr "Download"
 
-#: trac/attachment.py:971
+#: trac/attachment.py:1027
 #, python-format
 msgid "Invalid resource identifier '%(id)s'"
 msgstr "Ungültige Dokumenten-ID '%(id)s'"
 
-#: trac/attachment.py:1007 trac/admin/templates/admin_components.html:80
+#: trac/attachment.py:1063 trac/admin/templates/admin_components.html:80
 #: trac/admin/templates/admin_enums.html:48
-#: trac/admin/templates/admin_milestones.html:101
-#: trac/admin/templates/admin_versions.html:78 trac/templates/about.html:84
-#: trac/templates/error.html:160 trac/ticket/admin.py:206
-#: trac/ticket/admin.py:389 trac/ticket/admin.py:542
-#: trac/versioncontrol/admin.py:112
+#: trac/admin/templates/admin_milestones.html:107
+#: trac/admin/templates/admin_versions.html:83 trac/templates/about.html:69
+#: trac/templates/about.html:90 trac/templates/error.html:160
+#: trac/ticket/admin.py:210 trac/ticket/admin.py:399 trac/ticket/admin.py:559
+#: trac/versioncontrol/admin.py:113
 #: trac/versioncontrol/templates/admin_repositories.html:125
-#: trac/web/session.py:386
+#: trac/web/session.py:417
 msgid "Name"
 msgstr "Name"
 
-#: trac/attachment.py:1007
+#: trac/attachment.py:1063
 msgid "Size"
 msgstr "Größe"
 
-#: trac/attachment.py:1007 trac/templates/history_view.html:30
-#: trac/ticket/templates/ticket.html:370
-#: trac/versioncontrol/templates/revisionlog.html:117
+#: trac/attachment.py:1063 trac/templates/history_view.html:30
+#: trac/ticket/templates/ticket.html:346
+#: trac/versioncontrol/templates/revisionlog.html:112
 msgid "Author"
 msgstr "Autor"
 
-#: trac/attachment.py:1007 trac/templates/history_view.html:29
+#: trac/attachment.py:1063 trac/templates/history_view.html:29
 msgid "Date"
 msgstr "Datum"
 
-#: trac/attachment.py:1008 trac/templates/attachment.html:93
-#: trac/ticket/api.py:297 trac/ticket/templates/ticket_box.html:60
+#: trac/attachment.py:1064 trac/templates/attachment.html:93
+#: trac/ticket/api.py:299 trac/ticket/templates/ticket_box.html:86
 msgid "Description"
 msgstr "Beschreibung"
 
-#: trac/attachment.py:1030 trac/wiki/admin.py:107
+#: trac/attachment.py:1087 trac/wiki/admin.py:108
 #, python-format
 msgid "File '%(name)s' exists"
 msgstr "Es gibt bereits eine Datei '%(name)s'"
@@ -328,24 +472,31 @@ msgstr "Es gibt bereits eine Datei '%(na
 msgid "Configuration Error"
 msgstr "Konfigurationsfehler"
 
-#: trac/config.py:418
+#: trac/config.py:265
+#, python-format
+msgid "Error reading '%(file)s', make sure it is readable."
+msgstr ""
+"Fehler beim Lesen von '%(file)s', bitte stellen Sie sicher, dass die "
+"Datei lesbar ist."
+
+#: trac/config.py:420
 #, python-format
 msgid "[%(section)s] %(entry)s: expected integer, got %(value)s"
 msgstr "[%(section)s] %(entry)s: Ganzzahl erwartet, %(value)s erhalten"
 
-#: trac/config.py:436
+#: trac/config.py:438
 #, python-format
 msgid "[%(section)s] %(entry)s: expected float, got %(value)s"
 msgstr "[%(section)s] %(entry)s: Gleitkomma-Zahl erwartet, %(value)s erhalten"
 
-#: trac/config.py:664
+#: trac/config.py:666
 #, python-format
 msgid "[%(section)s] %(entry)s: expected one of (%(choices)s), got %(value)s"
 msgstr ""
 "[%(section)s] %(entry)s: von (%(choices)s) eines erwartet, %(value)s "
 "erhalten"
 
-#: trac/config.py:755 trac/config.py:768
+#: trac/config.py:761 trac/config.py:774
 #, python-format
 msgid "Option '%(option)s' doesn't exist in section '%(section)s'"
 msgstr "Die Option '%(option)s' existiert nicht in der Sektion '%(section)s'"
@@ -354,7 +505,7 @@ msgstr "Die Option '%(option)s' existier
 msgid "Trac Error"
 msgstr "Trac-Fehler"
 
-#: trac/env.py:199
+#: trac/env.py:215
 msgid ""
 "Visit the Trac open source project at<br /><a "
 "href=\"http://trac.edgewall.org/\">http://trac.edgewall.org/</a>"
@@ -362,16 +513,16 @@ msgstr ""
 "Bitte besuchen Sie das Trac-Opensource-Projekt: <br /><a "
 "href=\"http://trac.edgewall.org/\">http://trac.edgewall.org/</a>"
 
-#: trac/env.py:702
+#: trac/env.py:744
 msgid "Database newer than Trac version"
 msgstr "Die Datenbank ist neuer als die Version von Trac"
 
-#: trac/env.py:719
+#: trac/env.py:761
 #, python-format
 msgid "No upgrade module for version %(num)i (%(version)s.py)"
 msgstr "Kein Upgrade-Modul für Version %(num)i (%(version)s.py)"
 
-#: trac/env.py:766
+#: trac/env.py:808
 msgid ""
 "Missing environment variable \"TRAC_ENV\". Trac requires this variable to"
 " point to a valid Trac environment."
@@ -379,7 +530,7 @@ msgstr ""
 "Umgebungsvariable \"TRAC_ENV\" nicht vorhanden. Diese Variable muss auf "
 "eine gültige Trac-Umgebung verweisen."
 
-#: trac/env.py:795
+#: trac/env.py:837 trac/admin/console.py:280
 #, python-format
 msgid ""
 "The Trac Environment needs to be upgraded.\n"
@@ -390,60 +541,65 @@ msgstr ""
 "\n"
 "Führen Sie \"trac-admin %(path)s upgrade\" aus"
 
-#: trac/env.py:834
+#: trac/env.py:876
 msgid "Copying resources from:"
 msgstr "Ressourcen werden kopiert von:"
 
-#: trac/env.py:852
+#: trac/env.py:894
 msgid "Creating scripts."
 msgstr "Scripts werden erstellt."
 
-#: trac/env.py:864
+#: trac/env.py:906
 #, python-format
 msgid "Invalid argument '%(arg)s'"
 msgstr "Ungültiges Argument '%(arg)s'"
 
-#: trac/env.py:868
+#: trac/env.py:911
 #, python-format
 msgid "hotcopy can't overwrite existing '%(dest)s'"
 msgstr "Hotcopy kann bereits existierendes '%(dest)s' nicht überschreiben"
 
-#: trac/env.py:876
+#: trac/env.py:920
 #, python-format
 msgid "Hotcopying %(src)s to %(dst)s ..."
 msgstr "Hotcopy von %(src)s nach %(dst)s ..."
 
-#: trac/env.py:894
+#: trac/env.py:937
 msgid "The following errors happened while copying the environment:"
 msgstr "Beim Kopieren der Projektumgebung traten die folgenden Fehler auf:"
 
-#: trac/env.py:905
+#: trac/env.py:948
 msgid "Backing up database ..."
 msgstr "Sichere Datenbank ..."
 
-#: trac/env.py:910
+#: trac/env.py:953
 msgid "Hotcopy done."
 msgstr "Hotcopy fertiggestellt."
 
-#: trac/env.py:915 trac/admin/api.py:130
+#: trac/env.py:958 trac/admin/api.py:131
 msgid "Invalid arguments"
 msgstr "Ungültige Argumente"
 
-#: trac/env.py:918
+#: trac/env.py:961
 msgid "Database is up to date, no upgrade necessary."
 msgstr "Datenbank ist aktuell, keine Aktualisierung notwendig."
 
-#: trac/env.py:926
-#, python-format
+#: trac/env.py:967
 msgid ""
-"Backup failed: %(msg)s.\n"
-"Use '--no-backup' to upgrade without doing a backup."
+"The pre-upgrade backup failed.\n"
+"Use '--no-backup' to upgrade without doing a backup.\n"
 msgstr ""
-"Sicherung fehlgeschlagen: %(msg)s.\n"
-"Verwenden Sie '--no-backup', um zu aktualisieren, ohne eine Sicherung "
-"durchzuführen."
+"Die Datensicherung ist fehlgeschlagen.\n"
+"Verwenden Sie '--no-backup', um die Aktualisierung ohne Sicherung "
+"durchzuführen.\n"
 
-#: trac/env.py:936
+#: trac/env.py:971
+msgid "The upgrade failed. Please fix the issue and try again.\n"
+msgstr ""
+"Die Aktualisierung ist fehlgeschlagen. \n"
+"Bitte beheben Sie das Problem und versuchen es erneut.\n"
+
+#: trac/env.py:983
 msgid ""
 "Warning: the wiki-macros directory in the environment is non-empty, but "
 "Trac\n"
@@ -453,7 +609,7 @@ msgstr ""
 " leer,\n"
 "aber Trac lädt von dort keine Plugins mehr. Bitte entfernen Sie es selbst."
 
-#: trac/env.py:947
+#: trac/env.py:994
 #, python-format
 msgid ""
 "Error while removing wiki-macros: %(err)s\n"
@@ -464,7 +620,7 @@ msgstr ""
 "Trac lädt von wiki-macros keine Plugins mehr. Bitte entfernen Sie es "
 "selbst."
 
-#: trac/env.py:949
+#: trac/env.py:999
 #, python-format
 msgid ""
 "Upgrade done.\n"
@@ -481,33 +637,33 @@ msgstr ""
 "\n"
 "ausführen."
 
-#: trac/notification.py:159
+#: trac/notification.py:158
 msgid "TLS enabled but server does not support TLS"
 msgstr "TLS ist aktiviert, aber dieser Server unterstützt kein TLS"
 
-#: trac/notification.py:309
+#: trac/notification.py:311
 #, python-format
 msgid "Invalid email encoding setting: %(pref)s"
 msgstr "Ungültige Einstellung der E-Mail-Kodierung: %(pref)s"
 
-#: trac/notification.py:334
+#: trac/notification.py:336
 msgid "Unable to send email due to identity crisis."
 msgstr "E-Mail konnte wegen Identitätskrise nicht versandt werden."
 
-#: trac/notification.py:338
+#: trac/notification.py:340
 #, python-format
 msgid "Neither %(from_)s nor %(reply_to)s are specified in the configuration."
 msgstr "Weder %(from_)s noch %(reply_to)s sind konfiguriert."
 
-#: trac/notification.py:339
+#: trac/notification.py:341
 msgid "SMTP Notification Error"
 msgstr "SMTP-Benachrichtigungsfehler"
 
-#: trac/notification.py:348
+#: trac/notification.py:350
 msgid "Header length is too short"
 msgstr "Länge des Headers ist zu gering"
 
-#: trac/perm.py:49
+#: trac/perm.py:56
 #, python-format
 msgid ""
 "%(perm)s privileges are required to perform this operation on "
@@ -516,7 +672,7 @@ msgstr ""
 "Zum Ausführen dieser Operation auf %(resource)s wird die Berechtigung "
 "%(perm)s benötigt. Sie besitzen nicht die nötigen Berechtigungen."
 
-#: trac/perm.py:51
+#: trac/perm.py:58
 #, python-format
 msgid ""
 "%(perm)s privileges are required to perform this operation. You don't "
@@ -525,101 +681,151 @@ msgstr ""
 "Zum Ausführen dieser Operation wird die Berechtigung %(perm)s benötigt. "
 "Sie besitzen nicht die nötigen Berechtigungen."
 
-#: trac/perm.py:57
+#: trac/perm.py:64
 msgid "Insufficient privileges to perform this operation."
 msgstr "Unzureichende Berechtigungen zum Ausführen dieser Operation."
 
-#: trac/perm.py:325
+#: trac/perm.py:343
 #, python-format
 msgid "%(name)s is not a valid action."
 msgstr "%(name)s ist keine gültige Aktion."
 
-#: trac/perm.py:629
+#: trac/perm.py:656
 msgid "User"
 msgstr "Benutzer"
 
-#: trac/perm.py:629 trac/admin/templates/admin_perms.html:70
-#: trac/ticket/templates/ticket.html:348
+#: trac/perm.py:656 trac/admin/templates/admin_perms.html:63
+#: trac/ticket/templates/batch_modify.html:37
+#: trac/ticket/templates/ticket.html:317
 msgid "Action"
 msgstr "Aktion"
 
-#: trac/perm.py:631
+#: trac/perm.py:658
 msgid "Available actions:"
 msgstr "Verfügbare Aktionen:"
 
-#: trac/perm.py:642 trac/admin/web_ui.py:369
+#: trac/perm.py:669 trac/admin/web_ui.py:370
 msgid "All upper-cased tokens are reserved for permission names"
 msgstr ""
 "Alle vollständig großgeschriebenen Namen sind für die Namen von "
 "Berechtigungen reserviert"
 
+#: trac/perm.py:675
+#, python-format
+msgid "The user %(user)s already has permission %(action)s."
+msgstr "Der Benutzer %(user)s besitzt bereits die Berechtigung %(action)s."
+
+#: trac/perm.py:689
+#, python-format
+msgid "Cannot remove permission %(action)s for user %(user)s."
+msgstr "Konnte Berechtigung %(action)s für Benutzer %(user)s nicht entfernen."
+
+#: trac/perm.py:706
+#, python-format
+msgid "Cannot export to %(filename)s: %(error)s"
+msgstr "Export in %(filename)s fehlgeschlagen: %(error)s"
+
+#: trac/perm.py:719
+#, python-format
+msgid "Invalid row %(line)d. Expected <user>, <action>, [action], [...]"
+msgstr ""
+
+#: trac/perm.py:727
+#, python-format
+msgid ""
+"Invalid user %(user)s on line %(line)d: All upper-cased tokens are "
+"reserved for permission names."
+msgstr ""
+"Ungültiger Benutzer %(user)s in Zeile %(line)d: Alle vollständig "
+"großgeschriebenen Namen sind für die Namen von Berechtigungen reserviert"
+
+#: trac/perm.py:736
+#, python-format
+msgid "Cannot import from %(filename)s line %(line)d: %(error)s "
+msgstr "Konnte Zeile %(line)d nicht aus %(filename)s importieren: %(error)s "
+
+#: trac/perm.py:741
+#, python-format
+msgid "Cannot import from %(filename)s: %(error)s"
+msgstr "Konnte nicht aus %(filename)s importieren: %(error)s"
+
 #: trac/resource.py:336
 #, python-format
 msgid "%(name)s at version %(version)s"
 msgstr "%(name)s in Version %(version)s"
 
-#: trac/admin/api.py:134 trac/admin/console.py:263
+#: trac/admin/api.py:135
 msgid "Command not found"
 msgstr "Kommando nicht gefunden"
 
-#: trac/admin/console.py:111
+#: trac/admin/console.py:112
 #, python-format
 msgid "Error: %(msg)s"
 msgstr "Fehler: %(msg)s"
 
-#: trac/admin/console.py:130
+#: trac/admin/console.py:131
 #, python-format
 msgid ""
 "Welcome to trac-admin %(version)s\n"
 "Interactive Trac administration console.\n"
-"Copyright (C) 2003-2011 Edgewall Software\n"
+"Copyright (C) 2003-2012 Edgewall Software\n"
 "\n"
 "Type:  '?' or 'help' for help on commands.\n"
 "        "
 msgstr ""
 "Willkommen bei trac-admin %(version)s\n"
 "Interaktive Administrations-Konsole von Trac\n"
-"Copyright (c) 2003-2011 Edgewall Software\n"
+"Copyright (c) 2003-2012 Edgewall Software\n"
 "\n"
 "Geben Sie '?' oder 'help' für Hilfe zu den Kommandos ein.\n"
 "        "
 
-#: trac/admin/console.py:164
+#: trac/admin/console.py:165
 #, python-format
 msgid "Failed to open environment: %(err)s"
 msgstr "Fehler beim Öffnen der Projektumgebung: %(err)s"
 
-#: trac/admin/console.py:243
+#: trac/admin/console.py:248
 #, python-format
 msgid "Completion error: %(err)s"
 msgstr "Vervollständigungs-Fehler: %(err)s"
 
-#: trac/admin/console.py:296
+#: trac/admin/console.py:315
 #, python-format
-msgid "No documentation found for '%(cmd)s'"
-msgstr "Keine Dokumentation für '%(cmd)s' gefunden"
+msgid ""
+"No documentation found for '%(cmd)s'. Use 'help' to see the list of "
+"commands."
+msgstr ""
+"Keine Dokumentation für '%(cmd)s' gefunden. Verwenden Sie 'help', um eine"
+" Liste der Kommandos anzuzeigen."
+
+#: trac/admin/console.py:321
+msgid "Did you mean this?"
+msgid_plural "Did you mean one of these?"
+msgstr[0] "Meinten Sie dieses Kommando?"
+msgstr[1] "Meinten Sie eines dieser Kommandos?"
 
-#: trac/admin/console.py:298
+#: trac/admin/console.py:325
 #, python-format
 msgid "trac-admin - The Trac Administration Console %(version)s"
 msgstr "trac-admin - Die Administrations-Konsole von Trac %(version)s"
 
-#: trac/admin/console.py:302
+#: trac/admin/console.py:329
 msgid "Usage: trac-admin </path/to/projenv> [command [subcommand] [option ...]]\n"
 msgstr ""
 "Aufruf: trac-admin </pfad/zur/projektumgebung> [Kommando [Subkommando] "
 "[Option ...]]\n"
 
-#: trac/admin/console.py:305
+#: trac/admin/console.py:332
 msgid "Invoking trac-admin without command starts interactive mode.\n"
 msgstr "Der Aufruf von trac-admin ohne Kommando startet den interaktiven Modus.\n"
 
-#: trac/admin/console.py:345
+#: trac/admin/console.py:372
 #, python-format
 msgid "Creating a new Trac environment at %(envname)s"
 msgstr "Es wird eine neue Trac-Projektumgebung in %(envname)s angelegt"
 
-#: trac/admin/console.py:347
+#: trac/admin/console.py:374
 msgid ""
 "\n"
 "Trac will first ask a few questions about your environment \n"
@@ -635,12 +841,12 @@ msgstr ""
 " Bitte geben Sie den Namen Ihres Projekts ein.\n"
 " Dieser Name wird in Beschreibungen und Titeln von Seiten verwendet.\n"
 
-#: trac/admin/console.py:355
+#: trac/admin/console.py:382
 #, python-format
 msgid "Project Name [%(default)s]> "
 msgstr "Name des Projekts [%(default)s]> "
 
-#: trac/admin/console.py:357
+#: trac/admin/console.py:384
 msgid ""
 " \n"
 " Please specify the connection string for the database to use.\n"
@@ -657,41 +863,50 @@ msgstr ""
 " (Schlagen Sie für die genaue Syntax des Verbindungsstrings\n"
 " in der Dokumentation zu Trac nach).\n"
 
-#: trac/admin/console.py:365
+#: trac/admin/console.py:392
 #, python-format
 msgid "Database connection string [%(default)s]> "
 msgstr "Datenbankverbindungsstring [%(default)s]> "
 
-#: trac/admin/console.py:372
+#: trac/admin/console.py:399
 #, python-format
 msgid "Initenv for '%(env)s' failed."
 msgstr "Initenv für '%(env)s' fehlgeschlagen."
 
-#: trac/admin/console.py:375
+#: trac/admin/console.py:402
 msgid "Does an environment already exist?"
 msgstr "Existiert schon eine Projektumgebung?"
 
-#: trac/admin/console.py:379
+#: trac/admin/console.py:406
 msgid "Directory exists and is not empty."
 msgstr "Das Verzeichnis existiert bereits und ist nicht leer."
 
-#: trac/admin/console.py:407
+#: trac/admin/console.py:412
+#, python-format
+msgid ""
+"Base directory '%(env)s' does not exist. Please create it manually and "
+"retry."
+msgstr ""
+"Basisverzeichnis '%(env)s' existiert nicht. Bitte erzeugen Sie es manuell"
+" und versuchen Sie es erneut."
+
+#: trac/admin/console.py:440
 msgid "Creating and Initializing Project"
 msgstr "Das Projekt wird angelegt und initialisiert"
 
-#: trac/admin/console.py:424
+#: trac/admin/console.py:457
 msgid "Failed to create environment."
 msgstr "Fehler beim Öffnen der Projektumgebung."
 
-#: trac/admin/console.py:430
+#: trac/admin/console.py:463
 msgid " Installing default wiki pages"
 msgstr " Die Standard-Wiki-Seiten werden installiert"
 
-#: trac/admin/console.py:439
+#: trac/admin/console.py:472
 msgid " Indexing default repository"
 msgstr " Das Standard-Repository wird indiziert"
 
-#: trac/admin/console.py:442
+#: trac/admin/console.py:475
 msgid ""
 "\n"
 "---------------------------------------------------------------------\n"
@@ -719,7 +934,7 @@ msgstr ""
 "\n"
 "und die Einstellungen [trac] repository_type und repository_path prüfen.\n"
 
-#: trac/admin/console.py:485
+#: trac/admin/console.py:518
 #, python-format
 msgid ""
 "\n"
@@ -775,7 +990,7 @@ msgstr ""
 "\n"
 "Gratulation!\n"
 
-#: trac/admin/console.py:494
+#: trac/admin/console.py:527
 msgid ""
 "Display help for trac-admin commands.\n"
 "\n"
@@ -788,39 +1003,39 @@ msgid ""
 "}}}"
 msgstr ""
 
-#: trac/admin/console.py:545
+#: trac/admin/console.py:579
 #, python-format
 msgid "Non-ascii environment path '%(path)s' not supported."
 msgstr "Nicht-ASCII-Pfad '%(path)s' für Projektumgebung wird nicht unterstützt."
 
-#: trac/admin/web_ui.py:73
+#: trac/admin/web_ui.py:74
 msgid "Admin"
 msgstr "Admin"
 
-#: trac/admin/web_ui.py:74 trac/admin/templates/admin.html:16
+#: trac/admin/web_ui.py:75 trac/admin/templates/admin.html:16
 msgid "Administration"
 msgstr "Administration"
 
-#: trac/admin/web_ui.py:90
+#: trac/admin/web_ui.py:91
 msgid "No administration panels available"
 msgstr "Keine Administrations-Seiten verfügbar"
 
-#: trac/admin/web_ui.py:116 trac/admin/web_ui.py:120
+#: trac/admin/web_ui.py:117 trac/admin/web_ui.py:121
 msgid "Unknown administration panel"
 msgstr "Unbekannte Administrations-Seite"
 
-#: trac/admin/web_ui.py:132
+#: trac/admin/web_ui.py:133
 msgid "Untitled"
-msgstr ""
+msgstr "Unbenannt"
 
-#: trac/admin/web_ui.py:191 trac/ticket/admin.py:66 trac/ticket/admin.py:91
-#: trac/ticket/admin.py:267 trac/ticket/admin.py:440 trac/ticket/admin.py:586
-#: trac/ticket/admin.py:669 trac/ticket/report.py:191
-#: trac/ticket/roadmap.py:739 trac/versioncontrol/admin.py:214
+#: trac/admin/web_ui.py:192 trac/ticket/admin.py:66 trac/ticket/admin.py:95
+#: trac/ticket/admin.py:275 trac/ticket/admin.py:455 trac/ticket/admin.py:607
+#: trac/ticket/admin.py:690 trac/ticket/report.py:248
+#: trac/ticket/roadmap.py:778 trac/versioncontrol/admin.py:215
 msgid "Your changes have been saved."
 msgstr "Ihre Änderungen wurden gespeichert."
 
-#: trac/admin/web_ui.py:196 trac/ticket/admin.py:69
+#: trac/admin/web_ui.py:197 trac/ticket/admin.py:69
 msgid ""
 "Error writing to trac.ini, make sure it is writable by the web server. "
 "Your changes have not been saved."
@@ -829,122 +1044,123 @@ msgstr ""
 "Webserver Schreibrechte für diese Datei hat. Ihre Änderungen wurden nicht"
 " gespeichert."
 
-#: trac/admin/web_ui.py:209 trac/admin/web_ui.py:267 trac/admin/web_ui.py:355
-#: trac/admin/web_ui.py:437 trac/prefs/web_ui.py:87
+#: trac/admin/web_ui.py:210 trac/admin/web_ui.py:268 trac/admin/web_ui.py:356
+#: trac/admin/web_ui.py:443 trac/prefs/web_ui.py:94
 #: trac/prefs/templates/prefs_general.html:9
 msgid "General"
 msgstr "Allgemein"
 
-#: trac/admin/web_ui.py:209 trac/admin/templates/admin_basics.html:13
+#: trac/admin/web_ui.py:210 trac/admin/templates/admin_basics.html:13
 msgid "Basic Settings"
 msgstr "Grundeinstellungen"
 
-#: trac/admin/web_ui.py:267 trac/admin/templates/admin_logging.html:10
+#: trac/admin/web_ui.py:268 trac/admin/templates/admin_logging.html:10
 #: trac/admin/templates/admin_logging.html:22
 msgid "Logging"
 msgstr "Protokollierung"
 
-#: trac/admin/web_ui.py:276 trac/ticket/templates/milestone_delete.html:31
-#: trac/ticket/templates/milestone_edit.html:85
+#: trac/admin/web_ui.py:277 trac/ticket/templates/milestone_delete.html:31
+#: trac/ticket/templates/milestone_edit.html:87
 msgid "None"
 msgstr "Keine"
 
-#: trac/admin/web_ui.py:277
+#: trac/admin/web_ui.py:278
 msgid "Console"
 msgstr "Konsole"
 
-#: trac/admin/web_ui.py:279 trac/templates/attachment.html:32
+#: trac/admin/web_ui.py:280 trac/templates/attachment.html:32
 msgid "File"
 msgstr "Datei"
 
-#: trac/admin/web_ui.py:281
+#: trac/admin/web_ui.py:282
 msgid "Syslog"
 msgstr "Syslog"
 
-#: trac/admin/web_ui.py:283
+#: trac/admin/web_ui.py:284
 msgid "Windows event log"
 msgstr "Windows-Ereignisprotokoll"
 
-#: trac/admin/web_ui.py:296
+#: trac/admin/web_ui.py:297
 #, python-format
 msgid "Unknown log type %(type)s"
 msgstr "Unbekannte Protokollierungs-Methode %(type)s"
 
-#: trac/admin/web_ui.py:297
+#: trac/admin/web_ui.py:298
 msgid "Invalid log type"
 msgstr "Ungültige Protokollierungs-Methode"
 
-#: trac/admin/web_ui.py:311
+#: trac/admin/web_ui.py:312
 #, python-format
 msgid "Unknown log level %(level)s"
 msgstr "Unbekanntes Protokollierungs-Level %(level)s"
 
-#: trac/admin/web_ui.py:312
+#: trac/admin/web_ui.py:313
 msgid "Invalid log level"
 msgstr "Ungültiges Protokollierungs-Level"
 
-#: trac/admin/web_ui.py:325
+#: trac/admin/web_ui.py:326
 msgid "You must specify a log file"
 msgstr "Sie müssen eine Protokoll-Datei angeben"
 
-#: trac/admin/web_ui.py:326
+#: trac/admin/web_ui.py:327
 msgid "Missing field"
 msgstr "Feld nicht vorhanden"
 
-#: trac/admin/web_ui.py:355 trac/admin/templates/admin_perms.html:10
+#: trac/admin/web_ui.py:356 trac/admin/templates/admin_perms.html:10
+#: trac/admin/templates/admin_perms.html:60
 msgid "Permissions"
 msgstr "Berechtigungen"
 
-#: trac/admin/web_ui.py:376
+#: trac/admin/web_ui.py:377
 msgid "Unknown action"
 msgstr "Unbekannte Aktion"
 
-#: trac/admin/web_ui.py:380
+#: trac/admin/web_ui.py:381
 #, python-format
 msgid "The subject %(subject)s has been granted the permission %(action)s."
 msgstr "%(subject)s hat die Berechtigung %(action)s erhalten."
 
-#: trac/admin/web_ui.py:385
+#: trac/admin/web_ui.py:386
 #, python-format
 msgid "The permission %(action)s was already granted to %(subject)s."
 msgstr "Berechtigung %(action)s wurde %(subject)s bereits verliehen."
 
-#: trac/admin/web_ui.py:401
+#: trac/admin/web_ui.py:402
 #, python-format
 msgid "The subject %(subject)s has been added to the group %(group)s."
 msgstr "%(subject)s wurde zur Gruppe %(group)s hinzugefügt."
 
-#: trac/admin/web_ui.py:406
+#: trac/admin/web_ui.py:407
 #, python-format
 msgid "The subject %(subject)s was already added to the group %(group)s."
 msgstr "%(subject)s wurde bereits zu Gruppe %(group)s hinzugefügt."
 
-#: trac/admin/web_ui.py:419
+#: trac/admin/web_ui.py:422
 msgid "The selected permissions have been revoked."
 msgstr "Die ausgewählten Berechtigungen wurden entzogen."
 
-#: trac/admin/web_ui.py:437 trac/admin/templates/admin_plugins.html:10
+#: trac/admin/web_ui.py:443 trac/admin/templates/admin_plugins.html:10
 msgid "Plugins"
 msgstr "Plugins"
 
-#: trac/admin/web_ui.py:471
+#: trac/admin/web_ui.py:477
 msgid "Uploaded file is not a Python source file or egg"
 msgstr ""
 "Die hochgeladene Datei ist weder eine Python-Quelldatei noch ein Egg-"
 "Archiv"
 
-#: trac/admin/web_ui.py:476
+#: trac/admin/web_ui.py:482
 #, python-format
 msgid "Plugin %(name)s already installed"
 msgstr "Das Plugin %(name)s ist bereits installiert"
 
-#: trac/admin/web_ui.py:545
+#: trac/admin/web_ui.py:551
 msgid "The following component has been disabled:"
 msgid_plural "The following components have been disabled:"
 msgstr[0] "Die folgende Komponente wurde deaktiviert:"
 msgstr[1] "Die folgenden Komponenten wurden deaktiviert:"
 
-#: trac/admin/web_ui.py:550
+#: trac/admin/web_ui.py:556
 msgid "The following component has been enabled:"
 msgid_plural "The following components have been enabled:"
 msgstr[0] "Die folgende Komponente wurde aktiviert:"
@@ -967,10 +1183,10 @@ msgstr "Projekt"
 #: trac/admin/templates/admin_components.html:66
 #: trac/admin/templates/admin_enums.html:21
 #: trac/admin/templates/admin_enums.html:35
-#: trac/admin/templates/admin_milestones.html:22
-#: trac/admin/templates/admin_milestones.html:79
-#: trac/admin/templates/admin_versions.html:21
-#: trac/admin/templates/admin_versions.html:56
+#: trac/admin/templates/admin_milestones.html:28
+#: trac/admin/templates/admin_milestones.html:85
+#: trac/admin/templates/admin_versions.html:26
+#: trac/admin/templates/admin_versions.html:61
 #: trac/versioncontrol/templates/admin_repositories.html:50
 #: trac/versioncontrol/templates/admin_repositories.html:95
 #: trac/versioncontrol/templates/admin_repositories.html:112
@@ -983,7 +1199,7 @@ msgid "URL:"
 msgstr "URL:"
 
 #: trac/admin/templates/admin_basics.html:29
-#: trac/ticket/templates/ticket.html:264
+#: trac/ticket/templates/ticket.html:233
 msgid "Description:"
 msgstr "Beschreibung:"
 
@@ -1009,7 +1225,7 @@ msgid "Default date format:"
 msgstr "Standard-Datumsformat:"
 
 #: trac/admin/templates/admin_basics.html:57
-#: trac/prefs/templates/prefs_datetime.html:63
+#: trac/prefs/templates/prefs_datetime.html:65
 msgid "ISO 8601 format"
 msgstr "ISO-8601-Format"
 
@@ -1017,9 +1233,9 @@ msgstr "ISO-8601-Format"
 #: trac/admin/templates/admin_components.html:99
 #: trac/admin/templates/admin_enums.html:70
 #: trac/admin/templates/admin_logging.html:54
-#: trac/admin/templates/admin_milestones.html:126
+#: trac/admin/templates/admin_milestones.html:132
 #: trac/admin/templates/admin_plugins.html:158
-#: trac/admin/templates/admin_versions.html:95
+#: trac/admin/templates/admin_versions.html:100
 msgid "Apply changes"
 msgstr "Änderungen übernehmen"
 
@@ -1048,8 +1264,8 @@ msgstr "Beschreibung (hier kann [1:Wiki-
 
 #: trac/admin/templates/admin_components.html:56
 #: trac/admin/templates/admin_enums.html:25
-#: trac/admin/templates/admin_milestones.html:69
-#: trac/admin/templates/admin_versions.html:46
+#: trac/admin/templates/admin_milestones.html:75
+#: trac/admin/templates/admin_versions.html:51
 #: trac/versioncontrol/templates/admin_repositories.html:85
 msgid "Save"
 msgstr "Speichern"
@@ -1060,40 +1276,40 @@ msgstr "Neue Komponente:"
 
 #: trac/admin/templates/admin_components.html:70
 #: trac/admin/templates/admin_enums.html:38
-#: trac/admin/templates/admin_milestones.html:90
-#: trac/admin/templates/admin_perms.html:39
-#: trac/admin/templates/admin_perms.html:61
-#: trac/admin/templates/admin_versions.html:68
+#: trac/admin/templates/admin_milestones.html:96
+#: trac/admin/templates/admin_perms.html:31
+#: trac/admin/templates/admin_perms.html:50
+#: trac/admin/templates/admin_versions.html:73
 #: trac/versioncontrol/templates/admin_repositories.html:102
 #: trac/versioncontrol/templates/admin_repositories.html:116
 msgid "Add"
 msgstr "Hinzufügen"
 
-#: trac/admin/templates/admin_components.html:80 trac/ticket/admin.py:206
-#: trac/ticket/api.py:291 trac/ticket/web_ui.py:1370
+#: trac/admin/templates/admin_components.html:80 trac/ticket/admin.py:210
+#: trac/ticket/api.py:293 trac/ticket/web_ui.py:1452
 msgid "Owner"
 msgstr "Verantwortlicher"
 
 #: trac/admin/templates/admin_components.html:80
 #: trac/admin/templates/admin_enums.html:48
-#: trac/admin/templates/admin_milestones.html:101
-#: trac/admin/templates/admin_versions.html:78
+#: trac/admin/templates/admin_milestones.html:107
+#: trac/admin/templates/admin_versions.html:83
 msgid "Default"
 msgstr "Standard"
 
 #: trac/admin/templates/admin_components.html:98
 #: trac/admin/templates/admin_enums.html:69
-#: trac/admin/templates/admin_milestones.html:125
-#: trac/admin/templates/admin_perms.html:88
-#: trac/admin/templates/admin_versions.html:94
+#: trac/admin/templates/admin_milestones.html:131
+#: trac/admin/templates/admin_perms.html:109
+#: trac/admin/templates/admin_versions.html:99
 #: trac/versioncontrol/templates/admin_repositories.html:145
 msgid "Remove selected items"
 msgstr "Ausgewählte Einträge entfernen"
 
 #: trac/admin/templates/admin_components.html:101
 #: trac/admin/templates/admin_enums.html:72
-#: trac/admin/templates/admin_milestones.html:128
-#: trac/admin/templates/admin_versions.html:97
+#: trac/admin/templates/admin_milestones.html:134
+#: trac/admin/templates/admin_versions.html:102
 msgid ""
 "You can remove all items from this list to completely hide this\n"
 "              field from the user interface."
@@ -1103,8 +1319,8 @@ msgstr ""
 
 #: trac/admin/templates/admin_components.html:107
 #: trac/admin/templates/admin_enums.html:82
-#: trac/admin/templates/admin_milestones.html:134
-#: trac/admin/templates/admin_versions.html:103
+#: trac/admin/templates/admin_milestones.html:140
+#: trac/admin/templates/admin_versions.html:108
 msgid ""
 "As long as you don't add any items to the list, this field\n"
 "            will remain completely hidden from the user interface."
@@ -1131,19 +1347,16 @@ msgstr "%(label_singular)s hinzufügen
 msgid "Order"
 msgstr "Reihenfolge"
 
-#: trac/admin/templates/admin_enums.html:77
-msgid "Note:"
-msgstr "Hinweis:"
-
-#: trac/admin/templates/admin_enums.html:77
+#: trac/admin/templates/admin_enums.html:76
 msgid ""
-"The order of priorities determines the coloring of entries\n"
-"              in the ticket queries and reports."
+"[1:Note:] The order of priorities determines the\n"
+"              coloring of entries in the ticket queries and reports."
 msgstr ""
-"Die Reihenfolge der Prioritäten bestimmt die Einfärbung von Einträgen\n"
+"[1:Hinweis:] Die Reihenfolge der Prioritäten bestimmt die Einfärbung von "
+"Einträgen\n"
 "              in Ticket-Abfragen und -Berichten."
 
-#: trac/admin/templates/admin_logging.html:26 trac/templates/about.html:79
+#: trac/admin/templates/admin_logging.html:26 trac/templates/about.html:85
 msgid "Configuration"
 msgstr "Konfiguration"
 
@@ -1170,117 +1383,138 @@ msgstr ""
 "            Verzeichnis [1:log] der Projektumgebung ([2:%(dir)s]) "
 "gespeichert."
 
-#: trac/admin/templates/admin_milestones.html:10 trac/ticket/admin.py:231
-#: trac/ticket/roadmap.py:953
+#: trac/admin/templates/admin_milestones.html:10 trac/ticket/admin.py:235
+#: trac/ticket/roadmap.py:962
 msgid "Milestones"
 msgstr "Meilensteine"
 
-#: trac/admin/templates/admin_milestones.html:14
+#: trac/admin/templates/admin_milestones.html:20
 msgid "Manage Milestones"
 msgstr "Meilensteine verwalten"
 
-#: trac/admin/templates/admin_milestones.html:20
+#: trac/admin/templates/admin_milestones.html:26
 msgid "Modify Milestone:"
 msgstr "Meilenstein ändern:"
 
-#: trac/admin/templates/admin_milestones.html:25
-#: trac/admin/templates/admin_milestones.html:82
-#: trac/ticket/templates/milestone_edit.html:59
+#: trac/admin/templates/admin_milestones.html:31
+#: trac/admin/templates/admin_milestones.html:88
+#: trac/ticket/templates/milestone_edit.html:61
 msgid "Due:"
 msgstr "Fällig:"
 
-#: trac/admin/templates/admin_milestones.html:26
-#: trac/admin/templates/admin_milestones.html:29
-#: trac/admin/templates/admin_milestones.html:39
-#: trac/admin/templates/admin_milestones.html:43
-#: trac/admin/templates/admin_milestones.html:84
-#: trac/admin/templates/admin_versions.html:27
-#: trac/admin/templates/admin_versions.html:30
-#: trac/admin/templates/admin_versions.html:61
-#: trac/admin/templates/admin_versions.html:64
-#: trac/ticket/templates/milestone_edit.html:63
-#: trac/ticket/templates/milestone_edit.html:66
-#: trac/ticket/templates/milestone_edit.html:75
-#: trac/ticket/templates/milestone_edit.html:78
+#: trac/admin/templates/admin_milestones.html:32
+#: trac/admin/templates/admin_milestones.html:35
+#: trac/admin/templates/admin_milestones.html:45
+#: trac/admin/templates/admin_milestones.html:49
+#: trac/admin/templates/admin_milestones.html:90
+#: trac/admin/templates/admin_versions.html:32
+#: trac/admin/templates/admin_versions.html:35
+#: trac/admin/templates/admin_versions.html:66
+#: trac/admin/templates/admin_versions.html:69
+#: trac/ticket/templates/milestone_edit.html:65
+#: trac/ticket/templates/milestone_edit.html:68
+#: trac/ticket/templates/milestone_edit.html:77
+#: trac/ticket/templates/milestone_edit.html:80
 #, python-format
 msgid "Format: %(datehint)s"
 msgstr "Format: %(datehint)s"
 
-#: trac/admin/templates/admin_milestones.html:35
-#: trac/ticket/templates/milestone_edit.html:71
+#: trac/admin/templates/admin_milestones.html:41
+#: trac/ticket/templates/milestone_edit.html:73
 msgid "Completed:"
 msgstr "Erreicht:"
 
-#: trac/admin/templates/admin_milestones.html:57
-#: trac/admin/templates/admin_versions.html:35
-#: trac/ticket/templates/milestone_edit.html:97
+#: trac/admin/templates/admin_milestones.html:63
+#: trac/admin/templates/admin_versions.html:40
+#: trac/ticket/templates/milestone_edit.html:99
 #: trac/versioncontrol/templates/admin_repositories.html:73
 msgid "Description (you may use [1:WikiFormatting] here):"
 msgstr "Beschreibung (hier kann [1:Wiki-Formatierung] verwendet werden):"
 
-#: trac/admin/templates/admin_milestones.html:77
+#: trac/admin/templates/admin_milestones.html:83
 msgid "Add Milestone:"
 msgstr "Meilenstein hinzufügen:"
 
-#: trac/admin/templates/admin_milestones.html:86
+#: trac/admin/templates/admin_milestones.html:92
 #, python-format
 msgid "Format: %(datetimehint)s"
 msgstr "Format: %(datetimehint)s"
 
-#: trac/admin/templates/admin_milestones.html:101 trac/ticket/admin.py:389
+#: trac/admin/templates/admin_milestones.html:107 trac/ticket/admin.py:399
 msgid "Due"
 msgstr "Fällig"
 
-#: trac/admin/templates/admin_milestones.html:101 trac/ticket/admin.py:389
+#: trac/admin/templates/admin_milestones.html:107 trac/ticket/admin.py:399
 msgid "Completed"
 msgstr "Erreicht"
 
-#: trac/admin/templates/admin_milestones.html:101 trac/ticket/web_ui.py:186
+#: trac/admin/templates/admin_milestones.html:107 trac/ticket/web_ui.py:194
 msgid "Tickets"
 msgstr "Tickets"
 
 #: trac/admin/templates/admin_perms.html:14
-msgid "Manage Permissions"
-msgstr "Berechtigungen verwalten"
+msgid "Manage Permissions and Groups"
+msgstr "Berechtigungen und Gruppen verwalten"
 
 #: trac/admin/templates/admin_perms.html:19
 msgid "Grant Permission:"
 msgstr "Neue Berechtigung vergeben:"
 
-#: trac/admin/templates/admin_perms.html:22
-#: trac/admin/templates/admin_perms.html:49
+#: trac/admin/templates/admin_perms.html:21
+#: trac/admin/templates/admin_perms.html:44
 msgid "Subject:"
 msgstr "Subjekt:"
 
-#: trac/admin/templates/admin_perms.html:26
+#: trac/admin/templates/admin_perms.html:24
 msgid "Action:"
 msgstr "Aktion:"
 
-#: trac/admin/templates/admin_perms.html:34
+#: trac/admin/templates/admin_perms.html:33
 msgid ""
 "Grant permission for an action to a subject, which can be either a user\n"
-"          or a group."
+"            or a group."
 msgstr ""
 "Berechtigung für eine Aktion an ein Subjekt vergeben, das entweder ein\n"
 "          Benutzer oder eine Gruppe sein kann."
 
-#: trac/admin/templates/admin_perms.html:46
+#: trac/admin/templates/admin_perms.html:42
 msgid "Add Subject to Group:"
 msgstr "Subjekt zu Gruppe hinzufügen:"
 
-#: trac/admin/templates/admin_perms.html:53
+#: trac/admin/templates/admin_perms.html:47
 msgid "Group:"
 msgstr "Gruppe:"
 
-#: trac/admin/templates/admin_perms.html:57
+#: trac/admin/templates/admin_perms.html:52
 msgid "Add a user or group to an existing permission group."
 msgstr "Einen Benutzer oder eine Gruppe zu einer bestehenden Gruppe hinzufügen."
 
-#: trac/admin/templates/admin_perms.html:70
+#: trac/admin/templates/admin_perms.html:63
+#: trac/admin/templates/admin_perms.html:88
 msgid "Subject"
 msgstr "Subjekten"
 
-#: trac/admin/templates/admin_perms.html:92
+#: trac/admin/templates/admin_perms.html:76
+msgid "Action is no longer defined"
+msgstr ""
+
+#: trac/admin/templates/admin_perms.html:81
+msgid "No permissions"
+msgstr "Keine Berechtigungen"
+
+#: trac/admin/templates/admin_perms.html:85
+msgid "Group Membership"
+msgstr "Gruppen-Mitgliedschaft"
+
+#: trac/admin/templates/admin_perms.html:88
+msgid "Group"
+msgstr "Gruppe"
+
+#: trac/admin/templates/admin_perms.html:105
+msgid "No group memberships"
+msgstr ""
+
+#: trac/admin/templates/admin_perms.html:113
 msgid ""
 "Note that [1:Subject] or [2:Group] names can't be all upper-case,\n"
 "      as that is reserved for permission names."
@@ -1302,6 +1536,10 @@ msgid "File: [1:]"
 msgstr "Datei: [1:]"
 
 #: trac/admin/templates/admin_plugins.html:46
+msgid "Install"
+msgstr "Installieren"
+
+#: trac/admin/templates/admin_plugins.html:50
 msgid ""
 "The web server does not have sufficient permissions to store files in\n"
 "            the environment plugins directory."
@@ -1309,14 +1547,10 @@ msgstr ""
 "Der Web-Server hat keine ausreichenden Berechtigungen, um Dateien im\n"
 "Verzeichnis \"plugins\" der Projektumgebung zu speichern."
 
-#: trac/admin/templates/admin_plugins.html:50
+#: trac/admin/templates/admin_plugins.html:54
 msgid "Upload a plugin packaged as Python egg."
 msgstr "Ein Plugin als Egg-Archiv hochladen."
 
-#: trac/admin/templates/admin_plugins.html:55
-msgid "Install"
-msgstr "Installieren"
-
 #: trac/admin/templates/admin_plugins.html:78 trac/templates/diff_view.html:51
 #: trac/versioncontrol/templates/changeset.html:142
 msgid "Author:"
@@ -1331,7 +1565,7 @@ msgid "License:"
 msgstr "Lizenz:"
 
 #: trac/admin/templates/admin_plugins.html:102 trac/ticket/admin.py:77
-#: trac/ticket/api.py:304
+#: trac/ticket/api.py:306
 msgid "Component"
 msgstr "Komponente"
 
@@ -1347,40 +1581,40 @@ msgstr "Alle Beschreibungen verstecken"
 msgid "Enabled"
 msgstr "aktiviert"
 
-#: trac/admin/templates/admin_versions.html:10 trac/ticket/admin.py:421
+#: trac/admin/templates/admin_versions.html:10 trac/ticket/admin.py:431
 msgid "Versions"
 msgstr "Versionen"
 
-#: trac/admin/templates/admin_versions.html:14
+#: trac/admin/templates/admin_versions.html:19
 msgid "Manage Versions"
 msgstr "Versionen verwalten"
 
-#: trac/admin/templates/admin_versions.html:19
+#: trac/admin/templates/admin_versions.html:24
 msgid "Modify Version:"
 msgstr "Version ändern:"
 
-#: trac/admin/templates/admin_versions.html:26
+#: trac/admin/templates/admin_versions.html:31
 msgid "Date:"
 msgstr "Datum:"
 
-#: trac/admin/templates/admin_versions.html:54
+#: trac/admin/templates/admin_versions.html:59
 msgid "Add Version:"
 msgstr "Version hinzufügen:"
 
-#: trac/admin/templates/admin_versions.html:59
+#: trac/admin/templates/admin_versions.html:64
 msgid "Released:"
 msgstr "Veröffentlicht:"
 
-#: trac/admin/templates/admin_versions.html:78
+#: trac/admin/templates/admin_versions.html:83
 msgid "Released"
 msgstr "Veröffentlicht"
 
-#: trac/db/api.py:283
+#: trac/db/api.py:295
 #, python-format
 msgid "Unsupported database type \"%(scheme)s\""
 msgstr "Nicht unterstützter Datenbanktyp \"%(scheme)s\""
 
-#: trac/db/api.py:321
+#: trac/db/api.py:333
 #, python-format
 msgid ""
 "Unknown scheme \"%(scheme)s\"; database connection string must start with"
@@ -1393,22 +1627,23 @@ msgstr ""
 msgid "Cannot load Python bindings for MySQL"
 msgstr "Kann Pythonanbindung für MySQL nicht laden"
 
-#: trac/db/mysql_backend.py:225 trac/db/postgres_backend.py:183
+#: trac/db/mysql_backend.py:229 trac/db/postgres_backend.py:179
+#: trac/db/postgres_backend.py:198
 #, python-format
 msgid "Unable to run %(path)s: %(msg)s"
 msgstr "Kann %(path)s nicht ausführen: %(msg)s"
 
-#: trac/db/mysql_backend.py:229
+#: trac/db/mysql_backend.py:233
 #, python-format
 msgid "mysqldump failed: %(msg)s"
 msgstr "mysqldump ist fehlgeschlagen: %(msg)s"
 
-#: trac/db/mysql_backend.py:231 trac/db/postgres_backend.py:189
-#: trac/db/sqlite_backend.py:242
+#: trac/db/mysql_backend.py:235 trac/db/postgres_backend.py:204
+#: trac/db/sqlite_backend.py:245
 msgid "No destination file created"
 msgstr "Keine Zieldatei erstellt"
 
-#: trac/db/pool.py:124
+#: trac/db/pool.py:130
 #, python-format
 msgid "Unable to get database connection within %(time)d seconds."
 msgstr "Konnte nicht innerhalb von %(time)d Sekunden mit der Datenbank verbinden."
@@ -1417,7 +1652,7 @@ msgstr "Konnte nicht innerhalb von %(tim
 msgid "Cannot load Python bindings for PostgreSQL"
 msgstr "Kann Pythonanbindung für PostgreSQL nicht laden"
 
-#: trac/db/postgres_backend.py:187
+#: trac/db/postgres_backend.py:202
 #, python-format
 msgid "pg_dump failed: %(msg)s"
 msgstr "pg_dump ist fehlgeschlagen: %(msg)s"
@@ -1437,17 +1672,17 @@ msgstr ""
 "PySqlite 2.5.2 - 2.5.4 ist nicht kompatibel mit Trac, bitte benutzen Sie "
 "mindestens 2.5.5"
 
-#: trac/db/sqlite_backend.py:192
+#: trac/db/sqlite_backend.py:195
 #, python-format
 msgid "Database already exists at %(path)s"
 msgstr "Datenbank existiert bereits unter \"%(path)s\""
 
-#: trac/db/sqlite_backend.py:259
+#: trac/db/sqlite_backend.py:262
 #, python-format
 msgid "Database \"%(path)s\" not found."
 msgstr "Datenbank \"%(path)s\" nicht gefunden."
 
-#: trac/db/sqlite_backend.py:268
+#: trac/db/sqlite_backend.py:271
 #, python-format
 msgid ""
 "The user %(user)s requires read _and_ write permissions to the database "
@@ -1457,26 +1692,26 @@ msgstr ""
 "Datenbankdatei %(path)s und auf das Verzeichnis, in dem sich diese "
 "befindet."
 
-#: trac/mimeview/api.py:640 trac/mimeview/api.py:651
+#: trac/mimeview/api.py:654 trac/mimeview/api.py:664
 #, python-format
 msgid "No available MIME conversions from %(old)s to %(new)s"
 msgstr "Keine MIME-Konvertierung von %(old)s auf %(new)s verfügbar"
 
-#: trac/mimeview/api.py:764
+#: trac/mimeview/api.py:777
 #, python-format
 msgid "HTML preview using %(renderer)s failed (%(err)s)"
 msgstr "HTML-Vorschau mit %(renderer)s fehlgeschlagen (%(err)s)"
 
-#: trac/mimeview/api.py:794
+#: trac/mimeview/api.py:808
 #, python-format
 msgid "Can't use %(annotator)s annotator: %(error)s"
 msgstr "Kann Markierer %(annotator)s nicht benutzen: %(error)s"
 
-#: trac/mimeview/api.py:1043 trac/templates/error.html:148
+#: trac/mimeview/api.py:1058 trac/templates/error.html:148
 msgid "Line"
 msgstr "Zeile"
 
-#: trac/mimeview/api.py:1043
+#: trac/mimeview/api.py:1058
 msgid "Line numbers"
 msgstr "Zeilennummern"
 
@@ -1498,40 +1733,44 @@ msgstr "dieses Fragment war kürzer al
 msgid "Syntax Highlighting"
 msgstr "Syntax-Hervorhebung"
 
-#: trac/mimeview/pygments.py:135 trac/prefs/web_ui.py:145
+#: trac/mimeview/pygments.py:135 trac/prefs/web_ui.py:160
 msgid "Your preferences have been saved."
 msgstr "Ihre Einstellungen wurden gespeichert."
 
-#: trac/mimeview/rst.py:124 trac/mimeview/rst.py:147
+#: trac/mimeview/rst.py:125 trac/mimeview/rst.py:148
 #, python-format
 msgid "%(link)s is not a valid TracLink"
 msgstr "%(link)s ist kein gültiger TracLink"
 
-#: trac/prefs/web_ui.py:53 trac/prefs/templates/prefs.html:16
+#: trac/prefs/web_ui.py:56 trac/prefs/templates/prefs.html:16
 msgid "Preferences"
 msgstr "Einstellungen"
 
-#: trac/prefs/web_ui.py:76
+#: trac/prefs/web_ui.py:83
 msgid "Unknown preference panel"
 msgstr "Unbekannte Einstellungs-Seite"
 
-#: trac/prefs/web_ui.py:88 trac/prefs/templates/prefs_datetime.html:10
+#: trac/prefs/web_ui.py:95 trac/prefs/templates/prefs_datetime.html:10
 msgid "Date & Time"
 msgstr "Datum und Zeit"
 
-#: trac/prefs/web_ui.py:89 trac/prefs/templates/prefs_keybindings.html:10
+#: trac/prefs/web_ui.py:96 trac/prefs/templates/prefs_keybindings.html:10
 msgid "Keyboard Shortcuts"
 msgstr "Tastenkürzel"
 
-#: trac/prefs/web_ui.py:91 trac/prefs/templates/prefs_language.html:10
+#: trac/prefs/web_ui.py:97 trac/prefs/templates/prefs_userinterface.html:10
+msgid "User Interface"
+msgstr ""
+
+#: trac/prefs/web_ui.py:99 trac/prefs/templates/prefs_language.html:10
 msgid "Language"
 msgstr "Sprache"
 
-#: trac/prefs/web_ui.py:93 trac/prefs/templates/prefs_advanced.html:9
+#: trac/prefs/web_ui.py:101 trac/prefs/templates/prefs_advanced.html:9
 msgid "Advanced"
 msgstr "Erweitert"
 
-#: trac/prefs/web_ui.py:152
+#: trac/prefs/web_ui.py:167
 msgid "The session has been loaded."
 msgstr "Die Sitzung wurde geladen."
 
@@ -1625,24 +1864,24 @@ msgstr ""
 "      dass jedes Datum und jede Zeit, die von diesem System angezeigt\n"
 "      werden, Ihre Zeitzone anstatt der des Servers verwenden."
 
-#: trac/prefs/templates/prefs_datetime.html:32
+#: trac/prefs/templates/prefs_datetime.html:34
 #, python-format
 msgid "Example: The current time is [1:%(time)s] (UTC)."
 msgstr "Beispiel: Die aktuelle Zeit ist [1:%(time)s] (UTC)."
 
-#: trac/prefs/templates/prefs_datetime.html:37
+#: trac/prefs/templates/prefs_datetime.html:39
 #, python-format
 msgid ""
 "In your time zone %(tz)s, this would be displayed as\n"
 "            [1:%(formatted)s]."
 msgstr "Darstellung in Ihrer Zeitzone %(tz)s: [1:%(formatted)s]."
 
-#: trac/prefs/templates/prefs_datetime.html:43
+#: trac/prefs/templates/prefs_datetime.html:45
 #, python-format
 msgid "In the default time zone, this would be displayed as [1:%(formatted)s]."
 msgstr "Darstellung in der Standard-Zeitzone: [1:%(formatted)s]."
 
-#: trac/prefs/templates/prefs_datetime.html:49
+#: trac/prefs/templates/prefs_datetime.html:51
 msgid ""
 "Note: Universal Co-ordinated Time (UTC) is also known as Greenwich Mean "
 "Time (GMT).[1:]\n"
@@ -1654,29 +1893,57 @@ msgstr ""
 "Ein positives Offset wird verwendet, um eine Zeitzone östlich von "
 "Greenwich, also der UTC zeitlich voraus, anzugeben."
 
-#: trac/prefs/templates/prefs_datetime.html:57
+#: trac/prefs/templates/prefs_datetime.html:59
 msgid "Date format:"
 msgstr "Datumsformat:"
 
-#: trac/prefs/templates/prefs_datetime.html:59
+#: trac/prefs/templates/prefs_datetime.html:61
 msgid "Default date format"
 msgstr "Standard-Datumsformat"
 
-#: trac/prefs/templates/prefs_datetime.html:61
+#: trac/prefs/templates/prefs_datetime.html:63
 msgid "Your language setting"
 msgstr "Ihre Spracheinstellung"
 
-#: trac/prefs/templates/prefs_datetime.html:67
-#, fuzzy
+#: trac/prefs/templates/prefs_datetime.html:69
 msgid ""
 "Configuring your date format will result in formatting\n"
 "      and parsing datetime displayed on this site to use your date format"
 "\n"
 "      instead of that of the server."
 msgstr ""
-"Das Konfigurieren Ihrer Zeitzone wird zur Folge haben,\n"
-"      dass jedes Datum und jede Zeit, die von diesem System angezeigt\n"
-"      werden, Ihre Zeitzone anstatt der des Servers verwenden."
+"Durch das Konfigurieren Ihres Datumsformats wird für die Eingabe und "
+"Darstellung von Daten und Zeiten auf dieser Seite das von Ihnen "
+"gewünschte Format anstatt des Server-Formats verwendet."
+
+#: trac/prefs/templates/prefs_datetime.html:75
+msgid "Date relative/absolute format:"
+msgstr "Relatives/Absolutes Datumsformat:"
+
+#: trac/prefs/templates/prefs_datetime.html:77
+msgid "Default format"
+msgstr "Standard-Format"
+
+#: trac/prefs/templates/prefs_datetime.html:79
+msgid "Relative format"
+msgstr "Relatives Format"
+
+#: trac/prefs/templates/prefs_datetime.html:81
+msgid "Absolute format"
+msgstr "Absolutes Format"
+
+#: trac/prefs/templates/prefs_datetime.html:85
+msgid ""
+"Configuring your relative/absolute format will result in\n"
+"      formatting datetime displayed on this site to use your format "
+"instead of\n"
+"      that of the server."
+msgstr ""
+"Das Konfigurieren Ihres relativen/absoluten Formats wird zur Folge haben,"
+"\n"
+"      dass Ihr Format anstatt das des Servers bei der Anzeige jedes "
+"Datums \n"
+"      und jeder Zeit verwendet werden."
 
 #: trac/prefs/templates/prefs_general.html:15
 msgid "Full name:"
@@ -1771,55 +2038,83 @@ msgstr "Stil:"
 msgid "Preview:"
 msgstr "Vorschau:"
 
-#: trac/search/web_ui.py:70 trac/search/templates/search.html:10
-#: trac/search/templates/search.html:23 trac/search/templates/search.html:28
+#: trac/prefs/templates/prefs_userinterface.html:18
+msgid "Use only symbols for buttons."
+msgstr "Nur Symbole für Buttons verwenden"
+
+#: trac/prefs/templates/prefs_userinterface.html:21
+msgid ""
+"Display only the icon or symbol for\n"
+"      short inline buttons, and hide the text caption."
+msgstr ""
+"Nur Icon oder Symbol für kurze eingebettete Buttons anzeigen und die "
+"Beschriftung verbergen."
+
+#: trac/prefs/templates/prefs_userinterface.html:29
+msgid "Hide help links."
+msgstr "Links zu Hilfe-Texten verbergen"
+
+#: trac/prefs/templates/prefs_userinterface.html:32
+msgid ""
+"Don't show the various help links.\n"
+"      This reduces the verbosity of the pages."
+msgstr ""
+"Links zu Hilfe-Texten nicht anzeigen.\n"
+"      Dies reduziert den Seitenumfang."
+
+#: trac/search/web_ui.py:72 trac/search/templates/search.html:12
+#: trac/search/templates/search.html:26 trac/search/templates/search.html:31
 #: trac/templates/theme.html:29
 msgid "Search"
 msgstr "Suche"
 
-#: trac/search/web_ui.py:160
+#: trac/search/web_ui.py:166
 #, python-format
 msgid "Browse repository path %(path)s"
 msgstr "Repository-Pfad %(path)s durchsehen"
 
-#: trac/search/web_ui.py:199
+#: trac/search/web_ui.py:206
 #, python-format
 msgid "Search query too short. Query must be at least %(num)s characters long."
 msgstr ""
 "Der Suchtext ist zu kurz. Es müssen mindestens %(num)s Zeichen angegeben "
 "werden."
 
-#: trac/search/web_ui.py:238 trac/ticket/query.py:777 trac/ticket/report.py:395
+#: trac/search/web_ui.py:245 trac/ticket/query.py:782 trac/ticket/report.py:459
 msgid "Next Page"
 msgstr "Nächste Seite"
 
-#: trac/search/web_ui.py:244 trac/ticket/query.py:782 trac/ticket/report.py:398
+#: trac/search/web_ui.py:251 trac/ticket/query.py:787 trac/ticket/report.py:462
 msgid "Previous Page"
 msgstr "Vorige Seite"
 
-#: trac/search/templates/search.html:10 trac/search/templates/search.html:40
+#: trac/search/templates/search.html:11
+msgid "Search Results"
+msgstr "Suchergebnisse"
+
+#: trac/search/templates/search.html:43
 #: trac/ticket/templates/query_results.html:20
-#: trac/ticket/templates/report_view.html:79
+#: trac/ticket/templates/report_view.html:78
 msgid "Results"
 msgstr "Ergebnisse"
 
-#: trac/search/templates/search.html:48
+#: trac/search/templates/search.html:51
 #, python-format
 msgid "Quickjump to %(name)s"
 msgstr "Schnellsprung zu %(name)s"
 
-#: trac/search/templates/search.html:56
+#: trac/search/templates/search.html:59
 #, python-format
 msgid "By %(author)s"
 msgstr "von %(author)s"
 
-#: trac/search/templates/search.html:65
-#: trac/ticket/templates/report_view.html:99
+#: trac/search/templates/search.html:68
+#: trac/ticket/templates/report_view.html:97
 #: trac/ticket/templates/report_view.html:208
 msgid "No matches found."
 msgstr "Nichts passendes gefunden."
 
-#: trac/search/templates/search.html:69
+#: trac/search/templates/search.html:72
 msgid ""
 "[1:Note:] See [2:TracSearch]\n"
 "        for help on searching."
@@ -1872,30 +2167,44 @@ msgstr ""
 
 #: trac/templates/about.html:46
 msgid ""
-"Copyright © 2003-2011\n"
+"Copyright © 2003-2012\n"
 "        [1:Edgewall Software]"
 msgstr ""
-"Copyright © 2003–2011\n"
+"Copyright © 2003–2012\n"
 "        [1:Edgewall Software]"
 
 #: trac/templates/about.html:54
 msgid "System Information"
 msgstr "Systeminformationen"
 
-#: trac/templates/about.html:64
+#: trac/templates/about.html:56
+msgid "Package"
+msgstr "Paket"
+
+#: trac/templates/about.html:56 trac/templates/about.html:69
+#: trac/templates/history_view.html:28 trac/ticket/admin.py:431
+#: trac/ticket/api.py:307
+msgid "Version"
+msgstr "Version"
+
+#: trac/templates/about.html:67
 msgid "Installed Plugins"
 msgstr "Installierte Plugins"
 
-#: trac/templates/about.html:72 trac/templates/error.html:192
-#: trac/web/main.py:564
+#: trac/templates/about.html:69
+msgid "Location"
+msgstr "Ort"
+
+#: trac/templates/about.html:77 trac/templates/error.html:192
+#: trac/web/main.py:582
 msgid "N/A"
 msgstr "n. v."
 
-#: trac/templates/about.html:83
+#: trac/templates/about.html:89
 msgid "Section"
 msgstr "Abschnitt"
 
-#: trac/templates/about.html:85 trac/templates/error.html:160
+#: trac/templates/about.html:91 trac/templates/error.html:160
 msgid "Value"
 msgstr "Wert"
 
@@ -1930,8 +2239,8 @@ msgstr "(Größenlimit %(value)s)"
 msgid "Attachment Info"
 msgstr "Informationen zum Anhang"
 
-#: trac/templates/attachment.html:40 trac/ticket/templates/ticket.html:375
-#: trac/wiki/templates/wiki_edit_form.html:47
+#: trac/templates/attachment.html:40 trac/ticket/templates/ticket.html:351
+#: trac/wiki/templates/wiki_edit_form.html:42
 msgid "Your email or username:"
 msgstr "Ihre E-Mail-Adresse oder Ihr Benutzername:"
 
@@ -1960,7 +2269,7 @@ msgid "Attach another file"
 msgstr "Weitere Datei anhängen"
 
 #: trac/templates/attachment.html:98 trac/templates/list_of_attachments.html:21
-#: trac/templates/macros.html:19 trac/util/text.py:469
+#: trac/templates/macros.html:19 trac/util/text.py:593
 #: trac/versioncontrol/templates/browser.html:189
 #: trac/versioncontrol/templates/dir_entries.html:17
 #, python-format
@@ -1972,11 +2281,11 @@ msgstr "%(size)s Byte"
 msgid ""
 "File %(file)s,\n"
 "                [1:%(size)s]\n"
-"                (added by %(author)s, %(date)s ago)"
+"                (added by %(author)s, %(date)s)"
 msgstr ""
 "Datei %(file)s,\n"
 "                [1:%(size)s]\n"
-"                (vor %(date)s hinzugefügt von %(author)s)"
+"                (hinzugefügt von %(author)s, %(date)s)"
 
 #: trac/templates/diff_div.html:72
 #, python-format
@@ -2047,11 +2356,11 @@ msgstr "Leerzeichen"
 
 #: trac/templates/diff_options.html:50
 #: trac/ticket/templates/milestone_view.html:57
-#: trac/ticket/templates/query.html:215
+#: trac/ticket/templates/query.html:220
 #: trac/ticket/templates/report_view.html:49
-#: trac/ticket/templates/roadmap.html:29
-#: trac/timeline/templates/timeline.html:31
-#: trac/versioncontrol/templates/revisionlog.html:85
+#: trac/ticket/templates/roadmap.html:28
+#: trac/timeline/templates/timeline.html:36
+#: trac/versioncontrol/templates/revisionlog.html:80
 msgid "Update"
 msgstr "Aktualisieren"
 
@@ -2107,14 +2416,15 @@ msgstr "%(date)s (vor %(duration)s)"
 msgid "(IP: %(ipnr)s)"
 msgstr "(IP: %(ipnr)s)"
 
-#: trac/templates/diff_view.html:57
+#: trac/templates/diff_view.html:57 trac/ticket/templates/batch_modify.html:12
+#: trac/ticket/templates/batch_ticket_notify_email.txt:9
 #: trac/ticket/templates/ticket_notify_email.txt:21
 msgid "Comment:"
 msgstr "Kommentar:"
 
 #: trac/templates/diff_view.html:65
 #: trac/versioncontrol/templates/changeset.html:198
-#: trac/versioncontrol/templates/revisionlog.html:91
+#: trac/versioncontrol/templates/revisionlog.html:86
 msgid "Legend:"
 msgstr "Legende:"
 
@@ -2125,24 +2435,24 @@ msgstr "Unverändert"
 
 #: trac/templates/diff_view.html:68
 #: trac/versioncontrol/templates/changeset.html:201
-#: trac/versioncontrol/templates/revisionlog.html:93
+#: trac/versioncontrol/templates/revisionlog.html:88
 msgid "Added"
 msgstr "Hinzugefügt"
 
 #: trac/templates/diff_view.html:69
 #: trac/versioncontrol/templates/changeset.html:202
-#: trac/versioncontrol/templates/revisionlog.html:95
+#: trac/versioncontrol/templates/revisionlog.html:90
 msgid "Removed"
 msgstr "Entfernt"
 
-#: trac/templates/diff_view.html:70 trac/ticket/api.py:333
+#: trac/templates/diff_view.html:70 trac/ticket/api.py:335
 #: trac/versioncontrol/templates/changeset.html:204
-#: trac/versioncontrol/templates/revisionlog.html:97 trac/wiki/admin.py:193
+#: trac/versioncontrol/templates/revisionlog.html:92 trac/wiki/admin.py:197
 msgid "Modified"
 msgstr "Geändert"
 
 #: trac/templates/error.html:10 trac/templates/index.html:18
-#: trac/web/main.py:492
+#: trac/web/main.py:509
 msgid "Error"
 msgstr "Fehler"
 
@@ -2308,8 +2618,8 @@ msgstr "Änderungshistorie für [1:%
 
 #: trac/templates/history_view.html:22 trac/templates/history_view.html:55
 #: trac/versioncontrol/templates/diff_form.html:58
-#: trac/versioncontrol/templates/revisionlog.html:106
-#: trac/versioncontrol/templates/revisionlog.html:209
+#: trac/versioncontrol/templates/revisionlog.html:101
+#: trac/versioncontrol/templates/revisionlog.html:204
 msgid "View changes"
 msgstr "Änderungen anzeigen"
 
@@ -2317,11 +2627,6 @@ msgstr "Änderungen anzeigen"
 msgid "Change history"
 msgstr "Änderungshistorie"
 
-#: trac/templates/history_view.html:28 trac/ticket/admin.py:421
-#: trac/ticket/api.py:305
-msgid "Version"
-msgstr "Version"
-
 #: trac/templates/history_view.html:31
 msgid "Comment"
 msgstr "Kommentar"
@@ -2339,12 +2644,12 @@ msgstr "IP-Addresse: %(ipnr)s"
 msgid "Available Projects"
 msgstr "Verfügbare Projekte"
 
-#: trac/templates/layout.html:21
+#: trac/templates/layout.html:28
 #, python-format
 msgid "Search %(project)s"
 msgstr "%(project)s durchsuchen"
 
-#: trac/templates/layout.html:48
+#: trac/templates/layout.html:69
 msgid "Download in other formats:"
 msgstr "In anderen Formaten herunterladen:"
 
@@ -2357,15 +2662,15 @@ msgstr "Anhang ansehen"
 msgid ""
 "[1:%(file)s][2:​]\n"
 "       ([3:%(size)s]) -\n"
-"      added by [4:%(author)s] %(date)s ago."
+"      added by [4:%(author)s] %(date)s."
 msgstr ""
 "[1:%(file)s][2:​]\n"
 "       ([3:%(size)s]) -\n"
-"      hinzugefügt von [4:%(author)s] vor %(date)s."
+"      hinzugefügt von [4:%(author)s] %(date)s."
 
 #: trac/templates/list_of_attachments.html:28
 #: trac/templates/list_of_attachments.html:44
-#: trac/ticket/templates/ticket.html:398
+#: trac/ticket/templates/ticket.html:374
 msgid "Attachments"
 msgstr "Anhänge"
 
@@ -2415,42 +2720,45 @@ msgstr "Versuchen Sie stattdessen, die D
 msgid "%(count)s/%(total)s %(title)s"
 msgstr "%(count)s/%(total)s %(title)s"
 
-#: trac/templates/progress_bar.html:36
+#: trac/templates/progress_bar.html:37
 #, python-format
-msgid "Number of %(unit)s:"
-msgstr "Anzahl %(unit)s:"
+msgid "Total number of %(unit)s: %(count)s"
+msgstr "Anzahl %(unit)s: %(count)s"
 
-#: trac/templates/progress_bar.html:40
+#: trac/templates/progress_bar.html:41
 #, python-format
-msgid ""
-"[1:[2:%(title)s:]]\n"
-"          [3:[4:%(count)s]]"
-msgstr ""
-"[1:[2:%(title)s:]]\n"
-"          [3:[4:%(count)s]]"
+msgid "%(title)s: %(count)s"
+msgstr "%(title)s: %(count)s"
 
-#: trac/templates/progress_bar.html:47
-#, python-format
-msgid ""
-"[1:[2:Total:]]\n"
-"      [3:[4:%(count)s]]"
-msgstr ""
-"[1:[2:Gesamt:]]\n"
-"      [3:[4:%(count)s]]"
+#: trac/templates/progress_bar_grouped.html:17
+msgid "(none)"
+msgstr "(keine)"
 
 #: trac/templates/theme.html:27
 msgid "Search:"
 msgstr "Suche:"
 
-#: trac/templates/theme.html:40
+#: trac/templates/theme.html:41
 msgid "Context Navigation"
 msgstr "Kontext-Navigation"
 
 #: trac/templates/theme.html:50
+msgid "Hide this warning"
+msgstr "Diese Warnung ausblenden"
+
+#: trac/templates/theme.html:50 trac/templates/theme.html:58
+msgid "close"
+msgstr "Schließen"
+
+#: trac/templates/theme.html:52
 msgid "Warning:"
 msgstr "Warnung:"
 
-#: trac/templates/theme.html:69
+#: trac/templates/theme.html:58
+msgid "Hide this notice"
+msgstr "Diesen Hinweis verbergen"
+
+#: trac/templates/theme.html:72
 #, python-format
 msgid ""
 "Powered by [1:[2:Trac %(version)s]][3:]\n"
@@ -2467,116 +2775,129 @@ msgstr "(Nicht definiert)"
 msgid "Ticket System"
 msgstr "Ticket-System"
 
-#: trac/ticket/admin.py:113
+#: trac/ticket/admin.py:93
+#, python-format
+msgid "The component \"%(name)s\" already exists."
+msgstr "Es gibt bereits eine Komponente \"%(name)s\"."
+
+#: trac/ticket/admin.py:117
 #, python-format
 msgid "The component \"%(name)s\" has been added."
 msgstr "Die Komponente \"%(name)s\" wurde hinzugefügt."
 
-#: trac/ticket/admin.py:118 trac/ticket/model.py:812 trac/ticket/model.py:831
+#: trac/ticket/admin.py:122 trac/ticket/model.py:859 trac/ticket/model.py:878
 msgid "Invalid component name."
 msgstr "Ungültiger Komponentenname"
 
-#: trac/ticket/admin.py:119
+#: trac/ticket/admin.py:123
 #, python-format
 msgid "Component %(name)s already exists."
 msgstr "Es gibt bereits eine Komponente %(name)s."
 
-#: trac/ticket/admin.py:126
+#: trac/ticket/admin.py:130
 msgid "No component selected"
 msgstr "Keine Komponente ausgewählt"
 
-#: trac/ticket/admin.py:132
+#: trac/ticket/admin.py:136
 msgid "The selected components have been removed."
 msgstr "Die ausgewählten Komponenten wurden entfernt."
 
-#: trac/ticket/admin.py:231 trac/ticket/api.py:303
-#: trac/ticket/templates/milestone_view.html:10
-#: trac/ticket/templates/milestone_view.html:23
+#: trac/ticket/admin.py:235 trac/ticket/api.py:305
 msgid "Milestone"
 msgstr "Meilenstein"
 
-#: trac/ticket/admin.py:262 trac/ticket/roadmap.py:717
+#: trac/ticket/admin.py:266 trac/ticket/roadmap.py:756
 msgid "Completion date may not be in the future"
 msgstr "Das Fertigstellungsdatum darf nicht in der Zukunft liegen."
 
-#: trac/ticket/admin.py:264
+#: trac/ticket/admin.py:268
 msgid "Invalid Completion Date"
 msgstr "Ungültiges Fertigstellungsdatum"
 
-#: trac/ticket/admin.py:292
+#: trac/ticket/admin.py:273
+#, python-format
+msgid "The milestone \"%(name)s\" already exists."
+msgstr "Es gibt bereits einen Meilenstein \"%(name)s\"."
+
+#: trac/ticket/admin.py:300
 #, python-format
 msgid "The milestone \"%(name)s\" has been added."
 msgstr "Der Meilenstein '%(name)s' wurde hinzugefügt."
 
-#: trac/ticket/admin.py:297 trac/ticket/model.py:939 trac/ticket/model.py:961
+#: trac/ticket/admin.py:305 trac/ticket/model.py:986 trac/ticket/model.py:1008
 msgid "Invalid milestone name."
 msgstr "Ungültiger Meilensteinname."
 
-#: trac/ticket/admin.py:298
+#: trac/ticket/admin.py:306
 #, python-format
 msgid "Milestone %(name)s already exists."
 msgstr "Es gibt bereits einen Meilenstein %(name)s."
 
-#: trac/ticket/admin.py:306
+#: trac/ticket/admin.py:314
 msgid "No milestone selected"
 msgstr "Kein Meilenstein ausgewählt"
 
-#: trac/ticket/admin.py:313
+#: trac/ticket/admin.py:321
 msgid "The selected milestones have been removed."
 msgstr "Der ausgewählte Meilenstein wurde entfernt."
 
-#: trac/ticket/admin.py:464
+#: trac/ticket/admin.py:452
+#, python-format
+msgid "The version \"%(name)s\" already exists."
+msgstr "Es gibt bereits eine Version \"%(name)s\"."
+
+#: trac/ticket/admin.py:479
 #, python-format
 msgid "The version \"%(name)s\" has been added."
 msgstr "Die Version \"%(name)s\" wurde hinzugefügt."
 
-#: trac/ticket/admin.py:469 trac/ticket/model.py:1070 trac/ticket/model.py:1088
+#: trac/ticket/admin.py:484 trac/ticket/model.py:1117 trac/ticket/model.py:1135
 msgid "Invalid version name."
 msgstr "Ungültiger Versionsname."
 
-#: trac/ticket/admin.py:470
+#: trac/ticket/admin.py:485
 #, python-format
 msgid "Version %(name)s already exists."
 msgstr "Es gibt bereits eine Version %(name)s."
 
-#: trac/ticket/admin.py:477
+#: trac/ticket/admin.py:492
 msgid "No version selected"
 msgstr "Keine Version ausgewählt"
 
-#: trac/ticket/admin.py:484
+#: trac/ticket/admin.py:499
 msgid "The selected versions have been removed."
 msgstr "Die ausgewählte Version wurde entfernt."
 
-#: trac/ticket/admin.py:542
+#: trac/ticket/admin.py:559
 msgid "Time"
 msgstr "Zeit"
 
-#: trac/ticket/admin.py:604
+#: trac/ticket/admin.py:605 trac/ticket/admin.py:633
+#, python-format
+msgid "%(type)s value \"%(name)s\" already exists"
+msgstr "%(type)s \"%(name)s\" existiert bereits"
+
+#: trac/ticket/admin.py:625
 #, python-format
 msgid "The %(field)s value \"%(name)s\" has been added."
 msgstr "Der Wert \"%(name)s\" für %(field)s wurde hinzugefügt."
 
-#: trac/ticket/admin.py:610
+#: trac/ticket/admin.py:631
 #, python-format
 msgid "Invalid %(type)s value."
 msgstr "Ungültiger Wert für %(type)s."
 
-#: trac/ticket/admin.py:612
-#, python-format
-msgid "%(type)s value \"%(name)s\" already exists"
-msgstr "%(type)s \"%(name)s\" existiert bereits"
-
-#: trac/ticket/admin.py:619
+#: trac/ticket/admin.py:640
 #, python-format
 msgid "No %s selected"
 msgstr "Keinerlei %s ausgewählt"
 
-#: trac/ticket/admin.py:625
+#: trac/ticket/admin.py:646
 #, python-format
 msgid "The selected %(field)s values have been removed."
 msgstr "Die ausgewählten %(field)s-Werte wurden entfernt."
 
-#: trac/ticket/admin.py:647
+#: trac/ticket/admin.py:668
 msgid ""
 "Error writing to trac.ini, make sure it is writable by the web server. "
 "The default value has not been saved."
@@ -2585,142 +2906,171 @@ msgstr ""
 "Webserver Schreibrechte für diese Datei hat. Der Standardwert wurde nicht"
 " gespeichert."
 
-#: trac/ticket/admin.py:659
+#: trac/ticket/admin.py:680
 msgid "Order numbers must be unique"
 msgstr "Sortierungsnummern müssen eindeutig sein"
 
-#: trac/ticket/admin.py:720
+#: trac/ticket/admin.py:741
 msgid "Possible Values"
 msgstr "Mögliche Werte"
 
-#: trac/ticket/admin.py:737
+#: trac/ticket/admin.py:758
 #, python-format
 msgid "Invalid up/down value: %(value)s"
 msgstr "Ungültiger Wert für hoch/runter: %(value)s"
 
-#: trac/ticket/admin.py:756 trac/ticket/api.py:302
+#: trac/ticket/admin.py:777 trac/ticket/api.py:304
 msgid "Priority"
 msgstr "Priorität"
 
-#: trac/ticket/admin.py:756
+#: trac/ticket/admin.py:777
 msgid "Priorities"
 msgstr "Prioritäten"
 
-#: trac/ticket/admin.py:762 trac/ticket/api.py:307
+#: trac/ticket/admin.py:783 trac/ticket/api.py:309
 msgid "Resolution"
 msgstr "Lösung"
 
-#: trac/ticket/admin.py:762
+#: trac/ticket/admin.py:783
 msgid "Resolutions"
 msgstr "Lösungen"
 
-#: trac/ticket/admin.py:768 trac/ticket/api.py:306
+#: trac/ticket/admin.py:789 trac/ticket/api.py:308
 msgid "Severity"
 msgstr "Schweregrad"
 
-#: trac/ticket/admin.py:768
+#: trac/ticket/admin.py:789
 msgid "Severities"
 msgstr "Schweregrade"
 
-#: trac/ticket/admin.py:774
+#: trac/ticket/admin.py:795
 msgid "Ticket Type"
 msgstr "Ticket-Typ"
 
-#: trac/ticket/admin.py:774
+#: trac/ticket/admin.py:795
 msgid "Ticket Types"
 msgstr "Tickettypen"
 
-#: trac/ticket/admin.py:802
+#: trac/ticket/admin.py:823
 msgid "<number> must be a number"
 msgstr "<number> muss eine Zahl sein"
 
-#: trac/ticket/admin.py:805
+#: trac/ticket/admin.py:826
 #, python-format
 msgid "Ticket #%(num)s and all associated data removed."
 msgstr "Ticket #%(num)s und alle zugehörigen Daten wurden entfernt."
 
-#: trac/ticket/api.py:285
+#: trac/ticket/api.py:257
+msgid "Attachment"
+msgstr "Anhang"
+
+#: trac/ticket/api.py:287
 msgid "Summary"
-msgstr "Kurzbeschreibung"
+msgstr "Zusammenfassung"
 
-#: trac/ticket/api.py:287 trac/ticket/templates/ticket.html:371
+#: trac/ticket/api.py:289 trac/ticket/templates/ticket.html:347
 msgid "Reporter"
 msgstr "Ersteller"
 
-#: trac/ticket/api.py:300 trac/versioncontrol/admin.py:112
+#: trac/ticket/api.py:302 trac/versioncontrol/admin.py:113
 #: trac/versioncontrol/templates/admin_repositories.html:125
 msgid "Type"
 msgstr "Typ"
 
-#: trac/ticket/api.py:301
+#: trac/ticket/api.py:303
 msgid "Status"
 msgstr "Status"
 
-#: trac/ticket/api.py:326
+#: trac/ticket/api.py:328
 msgid "Keywords"
 msgstr "Stichworte"
 
-#: trac/ticket/api.py:327
+#: trac/ticket/api.py:329
 msgid "Cc"
-msgstr "Kopie"
+msgstr "Beobachter"
 
-#: trac/ticket/api.py:331
+#: trac/ticket/api.py:333
 msgid "Created"
 msgstr "Erstellt"
 
-#: trac/ticket/api.py:473
+#: trac/ticket/api.py:479
 #, python-format
 msgid "Tickets %(ranges)s"
 msgstr "Tickets %(ranges)s"
 
-#: trac/ticket/api.py:494
+#: trac/ticket/api.py:503
 #, python-format
 msgid "Comment %(cnum)s for Ticket #%(id)s"
 msgstr "Kommentar %(cnum)s für Ticket #%(id)s"
 
-#: trac/ticket/api.py:515
+#: trac/ticket/api.py:528
 #, python-format
 msgid "Ticket #%(shortname)s"
 msgstr "Ticket #%(shortname)s"
 
-#: trac/ticket/default_workflow.py:237
+#: trac/ticket/batch.py:96
+msgid "add"
+msgstr "hinzufügen"
+
+#: trac/ticket/batch.py:97
+msgid "remove"
+msgstr "entfernen"
+
+#: trac/ticket/batch.py:98
+msgid "add / remove"
+msgstr "hinzufügen/entfernen"
+
+#: trac/ticket/batch.py:99
+msgid "set to"
+msgstr "setzen"
+
+#: trac/ticket/batch.py:175
+#, python-format
+msgid ""
+"The changes have been saved, but an error occurred while sending "
+"notifications: %(message)s"
+msgstr ""
+"Die Änderungen wurden gespeichert, aber es trat ein Fehler beim Senden "
+"von Benachrichtigungen auf: %(message)s"
+
+#: trac/ticket/default_workflow.py:241
 msgid "Current state no longer exists"
 msgstr "Aktueller Zustand existiert nicht mehr"
 
-#: trac/ticket/default_workflow.py:239
+#: trac/ticket/default_workflow.py:243
 msgid "The ticket will be disowned"
 msgstr "Die Verantwortlichkeit für das Ticket wird wieder freigegeben"
 
-#: trac/ticket/default_workflow.py:257 trac/ticket/default_workflow.py:276
+#: trac/ticket/default_workflow.py:261 trac/ticket/default_workflow.py:280
 #, python-format
 msgid "to %(owner)s"
 msgstr "zu %(owner)s"
 
-#: trac/ticket/default_workflow.py:259 trac/ticket/default_workflow.py:279
+#: trac/ticket/default_workflow.py:263 trac/ticket/default_workflow.py:283
 #, python-format
 msgid "The owner will be changed from %(current_owner)s"
 msgstr "%(current_owner)s wird von der Verantwortlichkeit für das Ticket befreit"
 
-#: trac/ticket/default_workflow.py:267
+#: trac/ticket/default_workflow.py:271
 #, python-format
 msgid "to %(owner)s "
 msgstr "zu %(owner)s"
 
-#: trac/ticket/default_workflow.py:269
+#: trac/ticket/default_workflow.py:273
 #, python-format
 msgid "The owner will be changed from %(current_owner)s to %(selected_owner)s"
 msgstr ""
 "Die Verantwortung für das Ticket wird von %(current_owner)s an "
 "%(selected_owner)s übertragen"
 
-#: trac/ticket/default_workflow.py:284
+#: trac/ticket/default_workflow.py:288
 #, python-format
 msgid "The owner will be changed from %(current_owner)s to %(authname)s"
 msgstr ""
 "Die Verantwortlichkeit für das Ticket wird von %(current_owner)s an "
 "%(authname)s übertragen"
 
-#: trac/ticket/default_workflow.py:294
+#: trac/ticket/default_workflow.py:298
 msgid ""
 "Your workflow attempts to set a resolution but none is defined "
 "(configuration issue, please contact your Trac admin)."
@@ -2729,34 +3079,80 @@ msgstr ""
 "es ist keiner definiert (Konfigurationsproblem, bitte verständigen Sie "
 "Ihren Trac-Administrator)."
 
-#: trac/ticket/default_workflow.py:302 trac/ticket/default_workflow.py:312
+#: trac/ticket/default_workflow.py:306 trac/ticket/default_workflow.py:316
 #, python-format
 msgid "as %(resolution)s"
 msgstr "als %(resolution)s"
 
-#: trac/ticket/default_workflow.py:304
+#: trac/ticket/default_workflow.py:308
 #, python-format
 msgid "The resolution will be set to %(name)s"
 msgstr "Der Status der Lösung wird auf %(name)s gesetzt"
 
-#: trac/ticket/default_workflow.py:315
+#: trac/ticket/default_workflow.py:319
 msgid "The resolution will be set"
 msgstr "Der Status der Lösung wird gesetzt"
 
-#: trac/ticket/default_workflow.py:317
+#: trac/ticket/default_workflow.py:321
 msgid "The resolution will be deleted"
 msgstr "Der Status der Lösung wird gelöscht"
 
-#: trac/ticket/default_workflow.py:320
+#: trac/ticket/default_workflow.py:324
 #, python-format
 msgid "as %(status)s "
 msgstr "als %(status)s"
 
-#: trac/ticket/default_workflow.py:324
+#: trac/ticket/default_workflow.py:328
 #, python-format
 msgid "Next status will be '%(name)s'"
 msgstr "Der nächste Status wird '%(name)s' sein"
 
+#: trac/ticket/default_workflow.py:418
+msgid ""
+"Render a workflow graph.\n"
+"\n"
+"This macro accepts a TracWorkflow configuration and renders the states\n"
+"and transitions as a directed graph. If no parameters are given, the\n"
+"current ticket workflow is rendered. In WikiProcessors mode the `width`\n"
+"and `height` arguments can be specified.\n"
+"\n"
+"(Defaults: `width = 800` and `heigth = 600`)\n"
+"\n"
+"Examples:\n"
+"{{{\n"
+"    [[Workflow()]]\n"
+"    \n"
+"    [[Workflow(go = here -> there; return = there -> here)]]\n"
+"    \n"
+"    {{{\n"
+"    #!Workflow width=700 height=700\n"
+"    leave = * -> *\n"
+"    leave.operations = leave_status\n"
+"    leave.default = 1\n"
+"\n"
+"    accept = new,assigned,accepted,reopened -> accepted\n"
+"    accept.permissions = TICKET_MODIFY\n"
+"    accept.operations = set_owner_to_self\n"
+"\n"
+"    resolve = new,assigned,accepted,reopened -> closed\n"
+"    resolve.permissions = TICKET_MODIFY\n"
+"    resolve.operations = set_resolution\n"
+"\n"
+"    reassign = new,assigned,accepted,reopened -> assigned\n"
+"    reassign.permissions = TICKET_MODIFY\n"
+"    reassign.operations = set_owner\n"
+"\n"
+"    reopen = closed -> reopened\n"
+"    reopen.permissions = TICKET_CREATE\n"
+"    reopen.operations = del_resolution\n"
+"    }}}\n"
+"}}}"
+msgstr ""
+
+#: trac/ticket/default_workflow.py:493
+msgid "Enable JavaScript to display the workflow graph."
+msgstr ""
+
 #: trac/ticket/model.py:118
 #, python-format
 msgid "Ticket %(id)s does not exist."
@@ -2770,43 +3166,43 @@ msgstr "Ungültige Ticketnummer"
 msgid "Multi-values fields not supported yet"
 msgstr "Felder mit mehreren Werten werden noch nicht unterstützt"
 
-#: trac/ticket/model.py:638
+#: trac/ticket/model.py:685
 #, python-format
 msgid "%(type)s %(name)s does not exist."
 msgstr "Es gibt keinen %(type)s %(name)s."
 
-#: trac/ticket/model.py:680 trac/ticket/model.py:705
+#: trac/ticket/model.py:727 trac/ticket/model.py:752
 #, python-format
 msgid "Invalid %(type)s name."
 msgstr "Ungültiger %(type)s-Name."
 
-#: trac/ticket/model.py:784
+#: trac/ticket/model.py:831
 #, python-format
 msgid "Component %(name)s does not exist."
 msgstr "Es gibt keine Komponente %(name)s."
 
-#: trac/ticket/model.py:884
+#: trac/ticket/model.py:931
 #, python-format
 msgid "Milestone %(name)s does not exist."
 msgstr "Es gibt keinen Meilenstein %(name)s."
 
-#: trac/ticket/model.py:885
+#: trac/ticket/model.py:932
 msgid "Invalid milestone name"
 msgstr "Ungültiger Meilensteinname"
 
-#: trac/ticket/model.py:1021
+#: trac/ticket/model.py:1068
 msgid "Open (by due date)"
 msgstr "Offen (nach Datum)"
 
-#: trac/ticket/model.py:1022

[... 3717 lines stripped ...]


Mime
View raw message