i18n/de.po
changeset 9558 a95e2833dda5
parent 9232 7ee61afc655f
child 9559 9432b78d895c
--- a/i18n/de.po	Tue Sep 08 19:46:20 2009 -0300
+++ b/i18n/de.po	Mon Sep 14 09:14:36 2009 +0300
@@ -10,21 +10,22 @@
 # changeset	Änderungssatz
 # check out	auschecken
 # commit	Version
-# commit (v)	übertragen
+# commit (v)	übernehmen
 # deprecated	veraltet
 # hook		Aktion
 # merge		zusammenführen
 # notation	Schreibweise
-# repository	Projektarchiv
+# repository	(Projekt)archiv
+# manage/track  versionieren
 #
-# Die Koordination der Übersetzung erfolgt auf http://bitbucket.org/tobidope/mercurial-german-translation
+# Die Koordination der Übersetzung erfolgt auf https://bitbucket.org/FabianKreutz/hg-i18n-de/
 msgid ""
 msgstr ""
 "Project-Id-Version: Mercurial\n"
 "Report-Msgid-Bugs-To: <mercurial-devel@selenic.com>\n"
-"POT-Creation-Date: 2009-06-08 07:35+0200\n"
+"POT-Creation-Date: 2009-09-14 08:57+0300\n"
 "PO-Revision-Date: 2009-04-22 08:04+0200\n"
-"Last-Translator: Tobias Bell <tobias.bell@gmail.com>\n"
+"Last-Translator: Fabian Kreutz <fabian.kreutz@starnet.fi>\n"
 "Language-Team: German (Tobias Bell, Fabian Kreutz, Lutz Horn)\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
@@ -41,8 +42,12 @@
 msgid "COMMANDS"
 msgstr "BEFEHLE"
 
-msgid "    options:\n"
-msgstr "    Optionen:\n"
+msgid ""
+"    options:\n"
+"\n"
+msgstr ""
+"    Optionen:\n"
+"\n"
 
 #, python-format
 msgid ""
@@ -52,6 +57,54 @@
 "    Aliase: %s\n"
 "\n"
 
+msgid ""
+"hooks for controlling repository access\n"
+"\n"
+"This hook makes it possible to allow or deny write access to portions\n"
+"of a repository when receiving incoming changesets.\n"
+"\n"
+"The authorization is matched based on the local user name on the\n"
+"system where the hook runs, and not the committer of the original\n"
+"changeset (since the latter is merely informative).\n"
+"\n"
+"The acl hook is best used along with a restricted shell like hgsh,\n"
+"preventing authenticating users from doing anything other than\n"
+"pushing or pulling. The hook is not safe to use if users have\n"
+"interactive shell access, as they can then disable the hook.\n"
+"Nor is it safe if remote users share an account, because then there\n"
+"is no way to distinguish them.\n"
+"\n"
+"To use this hook, configure the acl extension in your hgrc like this::\n"
+"\n"
+"  [extensions]\n"
+"  hgext.acl =\n"
+"\n"
+"  [hooks]\n"
+"  pretxnchangegroup.acl = python:hgext.acl.hook\n"
+"\n"
+"  [acl]\n"
+"  # Check whether the source of incoming changes is in this list\n"
+"  # (\"serve\" == ssh or http, \"push\", \"pull\", \"bundle\")\n"
+"  sources = serve\n"
+"\n"
+"The allow and deny sections take a subtree pattern as key (with a glob\n"
+"syntax by default), and a comma separated list of users as the\n"
+"corresponding value. The deny list is checked before the allow list\n"
+"is. ::\n"
+"\n"
+"  [acl.allow]\n"
+"  # If acl.allow is not present, all users are allowed by default.\n"
+"  # An empty acl.allow section means no users allowed.\n"
+"  docs/** = doc_writer\n"
+"  .hgtags = release_engineer\n"
+"\n"
+"  [acl.deny]\n"
+"  # If acl.deny is not present, no users are refused by default.\n"
+"  # An empty acl.deny section means all users allowed.\n"
+"  glob pattern = user4, user5\n"
+"   ** = user6\n"
+msgstr ""
+
 #, python-format
 msgid "acl: %s not enabled\n"
 msgstr "acl: %s nicht aktiviert\n"
@@ -87,54 +140,36 @@
 msgstr "acl: Gestatte Version %s\n"
 
 msgid ""
-"mercurial bookmarks\n"
-"\n"
-"Mercurial bookmarks are local moveable pointers to changesets. Every\n"
-"bookmark points to a changeset identified by its hash. If you commit a\n"
+"track a line of development with movable markers\n"
+"\n"
+"Bookmarks are local movable markers to changesets. Every bookmark\n"
+"points to a changeset identified by its hash. If you commit a\n"
 "changeset that is based on a changeset that has a bookmark on it, the\n"
-"bookmark is forwarded to the new changeset.\n"
+"bookmark shifts to the new changeset.\n"
 "\n"
 "It is possible to use bookmark names in every revision lookup (e.g. hg\n"
 "merge, hg update).\n"
 "\n"
-"The bookmark extension offers the possiblity to have a more git-like\n"
-"experience by adding the following configuration option to your .hgrc:\n"
-"\n"
-"[bookmarks]\n"
-"track.current = True\n"
-"\n"
-"This will cause bookmarks to track the bookmark that you are currently\n"
-"on, and just updates it. This is similar to git's approach of\n"
+"By default, when several bookmarks point to the same changeset, they\n"
+"will all move forward together. It is possible to obtain a more\n"
+"git-like experience by adding the following configuration option to\n"
+"your .hgrc::\n"
+"\n"
+"  [bookmarks]\n"
+"  track.current = True\n"
+"\n"
+"This will cause Mercurial to track the bookmark that you are currently\n"
+"using, and only update it. This is similar to git's approach to\n"
 "branching.\n"
 msgstr ""
-"Mercurial-Lesezeichen\n"
-"\n"
-"Mercurial-Lesezeichen sind lokale, bewegliche Zeiger auf Änderungssätze.\n"
-"Jedes Lesezeichen bezeichnet einen Änderungssatz identifiziert durch seine\n"
-"Prüfsumme. Wenn ein Änderungssatz, der auf einem anderen Änderungssatz mit\n"
-"einem Lesezeichen basiert, übernommen wird, so wird das Lesezeichen auf den\n"
-"neuen Satz verschoben.\n"
-"\n"
-"Ein Lesezeichenname kann für jede Form von Revisionssuche (z.B. hg merge,\n"
-"hg update) verwendet werden.\n"
-"\n"
-"Durch diese Erweiterung ist eine eher git-ähnliche Arbeitsform möglich,\n"
-"indem die folgende Konfigurationsoption in die .hgrc eingefügt wird:\n"
-"\n"
-"[bookmarks]\n"
-"track.current = True\n"
-"\n"
-"Dadurch wird das Lesezeichen bei Aktualisierungen automatisch verschoben.\n"
-"Dies entspricht gits Form von Verzweigungen (branching).\n"
-
-#, fuzzy
-msgid ""
-"mercurial bookmarks\n"
+
+msgid ""
+"track a line of development with movable markers\n"
 "\n"
 "    Bookmarks are pointers to certain commits that move when\n"
-"    commiting. Bookmarks are local. They can be renamed, copied and\n"
+"    committing. Bookmarks are local. They can be renamed, copied and\n"
 "    deleted. It is possible to use bookmark names in 'hg merge' and\n"
-"    'hg update' to update to a given bookmark.\n"
+"    'hg update' to merge and update respectively to a given bookmark.\n"
 "\n"
 "    You can use 'hg bookmark NAME' to set a bookmark on the working\n"
 "    directory's parent revision with the given name. If you specify\n"
@@ -142,7 +177,7 @@
 "    the bookmark is assigned to that revision.\n"
 "    "
 msgstr ""
-"Mercurial Lesezeichen\n"
+"Folgt einem Entwicklungsstrang anhand einer beweglichen Markierung\n"
 "\n"
 "    Lesezeichen sind Zeiger auf bestimmte Versionen, die mitwandern,\n"
 "    wenn eine neuen Version erzeugt wird. Lesezeichen sind nur lokal.\n"
@@ -150,7 +185,7 @@
 "    Lesezeichen bei 'hg merge' und 'hg update' zu nutzen, um auf das\n"
 "    angegebene Lesezeichen zu aktualisieren.\n"
 "\n"
-"    Du kannst 'hg bookmark NAME' aufrufen, um ein Lesezeichen mit dem\n"
+"    Man kann 'hg bookmark NAME' aufrufen, um ein Lesezeichen mit dem\n"
 "    angegeben Namen auf der aktuellen Spitze (tip) zu setzen. Bei Angabe "
 "einer\n"
 "    Revision mit -r REV (REV kann ein vorhandenes Lesezeichen sein) wird "
@@ -193,7 +228,7 @@
 msgstr ""
 
 msgid ""
-"Bugzilla integration\n"
+"hooks for integrating with the Bugzilla bug tracker\n"
 "\n"
 "This hook extension adds comments on bugs in Bugzilla when changesets\n"
 "that refer to bugs by Bugzilla ID are seen. The hook does not change\n"
@@ -209,65 +244,86 @@
 "be run by Mercurial as the user pushing the change; you will need to\n"
 "ensure the Bugzilla install file permissions are set appropriately.\n"
 "\n"
-"Configuring the extension:\n"
-"\n"
-"    [bugzilla]\n"
-"\n"
-"    host       Hostname of the MySQL server holding the Bugzilla\n"
-"               database.\n"
-"    db         Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
-"    user       Username to use to access MySQL server. Default 'bugs'.\n"
-"    password   Password to use to access MySQL server.\n"
-"    timeout    Database connection timeout (seconds). Default 5.\n"
-"    version    Bugzilla version. Specify '3.0' for Bugzilla versions\n"
-"               3.0 and later, '2.18' for Bugzilla versions from 2.18\n"
-"               and '2.16' for versions prior to 2.18.\n"
-"    bzuser     Fallback Bugzilla user name to record comments with, if\n"
-"               changeset committer cannot be found as a Bugzilla user.\n"
-"    bzdir      Bugzilla install directory. Used by default notify.\n"
-"               Default '/var/www/html/bugzilla'.\n"
-"    notify     The command to run to get Bugzilla to send bug change\n"
-"               notification emails. Substitutes from a map with 3\n"
-"               keys, 'bzdir', 'id' (bug id) and 'user' (committer\n"
-"               bugzilla email). Default depends on version; from 2.18\n"
-"               it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
-"               %(id)s %(user)s\".\n"
-"    regexp     Regular expression to match bug IDs in changeset commit\n"
-"               message. Must contain one \"()\" group. The default\n"
-"               expression matches 'Bug 1234', 'Bug no. 1234', 'Bug\n"
-"               number 1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' and\n"
-"               variations thereof. Matching is case insensitive.\n"
-"    style      The style file to use when formatting comments.\n"
-"    template   Template to use when formatting comments. Overrides\n"
-"               style if specified. In addition to the usual Mercurial\n"
-"               keywords, the extension specifies:\n"
-"                   {bug}       The Bugzilla bug ID.\n"
-"                   {root}      The full pathname of the Mercurial\n"
-"                               repository.\n"
-"                   {webroot}   Stripped pathname of the Mercurial\n"
-"                               repository.\n"
-"                   {hgweb}     Base URL for browsing Mercurial\n"
-"                               repositories.\n"
-"               Default 'changeset {node|short} in repo {root} refers '\n"
-"                       'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
-"    strip      The number of slashes to strip from the front of {root}\n"
-"               to produce {webroot}. Default 0.\n"
-"    usermap    Path of file containing Mercurial committer ID to\n"
-"               Bugzilla user ID mappings. If specified, the file\n"
-"               should contain one mapping per line,\n"
-"               \"committer\"=\"Bugzilla user\". See also the [usermap]\n"
-"               section.\n"
-"\n"
-"    [usermap]\n"
-"    Any entries in this section specify mappings of Mercurial\n"
-"    committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
-"    \"committer\"=\"Bugzilla user\"\n"
-"\n"
-"    [web]\n"
-"    baseurl    Base URL for browsing Mercurial repositories. Reference\n"
-"               from templates as {hgweb}.\n"
-"\n"
-"Activating the extension:\n"
+"The extension is configured through three different configuration\n"
+"sections. These keys are recognized in the [bugzilla] section:\n"
+"\n"
+"host\n"
+"  Hostname of the MySQL server holding the Bugzilla database.\n"
+"\n"
+"db\n"
+"  Name of the Bugzilla database in MySQL. Default 'bugs'.\n"
+"\n"
+"user\n"
+"  Username to use to access MySQL server. Default 'bugs'.\n"
+"\n"
+"password\n"
+"  Password to use to access MySQL server.\n"
+"\n"
+"timeout\n"
+"  Database connection timeout (seconds). Default 5.\n"
+"\n"
+"version\n"
+"  Bugzilla version. Specify '3.0' for Bugzilla versions 3.0 and later,\n"
+"  '2.18' for Bugzilla versions from 2.18 and '2.16' for versions prior\n"
+"  to 2.18.\n"
+"\n"
+"bzuser\n"
+"  Fallback Bugzilla user name to record comments with, if changeset\n"
+"  committer cannot be found as a Bugzilla user.\n"
+"\n"
+"bzdir\n"
+"   Bugzilla install directory. Used by default notify. Default\n"
+"   '/var/www/html/bugzilla'.\n"
+"\n"
+"notify\n"
+"  The command to run to get Bugzilla to send bug change notification\n"
+"  emails. Substitutes from a map with 3 keys, 'bzdir', 'id' (bug id)\n"
+"  and 'user' (committer bugzilla email). Default depends on version;\n"
+"  from 2.18 it is \"cd %(bzdir)s && perl -T contrib/sendbugmail.pl\n"
+"  %(id)s %(user)s\".\n"
+"\n"
+"regexp\n"
+"  Regular expression to match bug IDs in changeset commit message.\n"
+"  Must contain one \"()\" group. The default expression matches 'Bug\n"
+"  1234', 'Bug no. 1234', 'Bug number 1234', 'Bugs 1234,5678', 'Bug\n"
+"  1234 and 5678' and variations thereof. Matching is case insensitive.\n"
+"\n"
+"style\n"
+"  The style file to use when formatting comments.\n"
+"\n"
+"template\n"
+"  Template to use when formatting comments. Overrides style if\n"
+"  specified. In addition to the usual Mercurial keywords, the\n"
+"  extension specifies::\n"
+"\n"
+"    {bug}       The Bugzilla bug ID.\n"
+"    {root}      The full pathname of the Mercurial repository.\n"
+"    {webroot}   Stripped pathname of the Mercurial repository.\n"
+"    {hgweb}     Base URL for browsing Mercurial repositories.\n"
+"\n"
+"  Default 'changeset {node|short} in repo {root} refers '\n"
+"          'to bug {bug}.\\ndetails:\\n\\t{desc|tabindent}'\n"
+"\n"
+"strip\n"
+"  The number of slashes to strip from the front of {root} to produce\n"
+"  {webroot}. Default 0.\n"
+"\n"
+"usermap\n"
+"  Path of file containing Mercurial committer ID to Bugzilla user ID\n"
+"  mappings. If specified, the file should contain one mapping per\n"
+"  line, \"committer\"=\"Bugzilla user\". See also the [usermap] section.\n"
+"\n"
+"The [usermap] section is used to specify mappings of Mercurial\n"
+"committer ID to Bugzilla user ID. See also [bugzilla].usermap.\n"
+"\"committer\"=\"Bugzilla user\"\n"
+"\n"
+"Finally, the [web] section supports one entry:\n"
+"\n"
+"baseurl\n"
+"  Base URL for browsing Mercurial repositories. Reference from\n"
+"  templates as {hgweb}.\n"
+"\n"
+"Activating the extension::\n"
 "\n"
 "    [extensions]\n"
 "    hgext.bugzilla =\n"
@@ -280,7 +336,7 @@
 "\n"
 "This example configuration is for a collection of Mercurial\n"
 "repositories in /var/local/hg/repos/ used with a local Bugzilla 3.2\n"
-"installation in /opt/bugzilla-3.2.\n"
+"installation in /opt/bugzilla-3.2. ::\n"
 "\n"
 "    [bugzilla]\n"
 "    host=localhost\n"
@@ -288,8 +344,9 @@
 "    version=3.0\n"
 "    bzuser=unknown@domain.com\n"
 "    bzdir=/opt/bugzilla-3.2\n"
-"    template=Changeset {node|short} in {root|basename}.\\n{hgweb}/{webroot}/"
-"rev/{node|short}\\n\\n{desc}\\n\n"
+"    template=Changeset {node|short} in {root|basename}.\n"
+"             {hgweb}/{webroot}/rev/{node|short}\\n\n"
+"             {desc}\\n\n"
 "    strip=5\n"
 "\n"
 "    [web]\n"
@@ -298,13 +355,127 @@
 "    [usermap]\n"
 "    user@emaildomain.com=user.name@bugzilladomain.com\n"
 "\n"
-"Commits add a comment to the Bugzilla bug record of the form:\n"
+"Commits add a comment to the Bugzilla bug record of the form::\n"
 "\n"
 "    Changeset 3b16791d6642 in repository-name.\n"
 "    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
 "\n"
 "    Changeset commit comment. Bug 1234.\n"
 msgstr ""
+"Bugzilla integration\n"
+"\n"
+"Diese Erweiterung (falls als Einhänge-Aktion aktiviert) überträgt Versions-\n"
+"meldungen als Kommentare in Bugzilla, wenn sie eine Bugzilla ID enthalten.\n"
+"Der Status des Bugs wird nicht verändert.\n"
+"\n"
+"Die Bugzilla-Datenbank wird direkt verändert, daher werden nur Instanzen "
+"mit\n"
+"MySQL als Datenspeicher unterstützt.\n"
+"\n"
+"Intern wird ein Bugzilla-Skript zum Senden von Hinweis-Emails verwendet.\n"
+"Dies ist 'processmail' in Versionen vor 2.18 und 'config/sendbugmail.pl'\n"
+"danach. Mercurial führt dies unter der User-ID des Überträgers aus, daher\n"
+"müssen die Dateirechte dieses Skripts entsprechend gesetzt sein.\n"
+"\n"
+"Konfiguration der Erweiterung:\n"
+"\n"
+"    [bugzilla]\n"
+"\n"
+"    host       Hostname des Servers auf dem die Bugzilla MySQL-DB läuft.\n"
+"    db         Name der Bugzilla Datebank in MySQL. Standard: 'bugs'.\n"
+"    user       Benutzername zum Zugriff auf den MySQL-Server. Standard: "
+"'bugs'.\n"
+"    password   Password zum Zugriff auf den MySQL-Server.\n"
+"    timeout    Datenbank Verbindungs-Zeitgrenze (in Sekunden). Standard: 5.\n"
+"    version    Bugzilla Version. '3.0' für Bugzilla Versionen nach und\n"
+"               inklusive 3.0, '2.18' für Versionen seit 2.18 und '2.16'\n"
+"               für Versionen davor.\n"
+"    bzuser     Ausweich-Benutzername zum Setzen von Kommentaren, falls der\n"
+"               Überträger der Änderungen kein Benutzer in Bugzilla ist.\n"
+"    bzdir      Bugzilla Installationsverzeichnis. Notwendig für die "
+"Standard\n"
+"               'notify'-Aktion; Standard: '/var/www/html/bugzilla'.\n"
+"    notify     Das Kommando um Hinweisemails zu versenden. Die drei "
+"Schlüssel\n"
+"               'bzdir', 'id' (Bug ID) und 'user' (Überträger) werden "
+"ersetzt.\n"
+"               Der Standard hängt von der Version ab. Ab 2.18 ist es\n"
+"               'cd %(bzdir)s && perl -T contrib/sendbugmail.pl %(id)s %(user)"
+"s'\n"
+"    regexp     Der Reguläre Ausdruck, mit dem Bug IDs in der "
+"Versionsmeldung\n"
+"               erkannt werden. Er muss mindestens eine '()' Gruppe "
+"enthalten.\n"
+"               Der Standardwert erkennt: 'Bug 1234', 'Bug no. 1234', 'Bug\n"
+"               number 1234', 'Bugs 1234,5678', 'Bug 1234 and 5678' und\n"
+"               Variationen. Groß- und Kleinschreibung wird ignoriert.\n"
+"    style      Stil-Datei für das Formatieren der Kommentare.\n"
+"    template   Vorlagetext für die Bugzilla Kommentare (anstelle der Stil-\n"
+"               Datei). Zusätzlich zu den Mercurial-Schlüsselworten gibt es::\n"
+"                   {bug}       Die Bugzilla Bug ID.\n"
+"                   {root}      Der volle Pfad des Mercurial Archivs.\n"
+"                   {webroot}   Angepasster Pfad des Mercurial Archivs.\n"
+"                   {hgweb}     Basis-URL für alle Mercurial Archive.\n"
+"               Standard:\n"
+"               'Änderung {node|short} in Archiv {root} erwähnt Bug {bug}."
+"\\n'\n"
+"               'Details:\\n\\t{desc|tabindent}'\n"
+"    strip      Anzahl der Schrägstriche, die vom Beginn von {root}\n"
+"               entfernt werden, um {webroot} zu erhalten. Standard: 0.\n"
+"    usermap    Pfad zu einer Datei, die Mercurial Benutzern eine Bugzilla-\n"
+"               BenutzerID zuweist. Falls angegeben, sollte jede Zeile der "
+"Form\n"
+"               'Mercurial Benutzer'='Bugzilla Benutzer' entsprechen.\n"
+"               Siehe auch die [usermap] Sektion.\n"
+"\n"
+"    [usermap]\n"
+"    Einträge in dieser Sektion weisen Mercurial Benutzern eine Bugzilla-\n"
+"    BenutzerID zu. Siehe auch Option [bugzilla].usermap.\n"
+"    'Mercurial Benutzer'='Bugzilla Benutzer'\n"
+"\n"
+"    [web]\n"
+"    baseurl    Basis-URL für alle Mercurial Archive. Kann in Kommentar-"
+"Vorlagen\n"
+"               als {hgweb} verwendet werden.\n"
+"\n"
+"Um diese Erweiterung zu aktivieren::\n"
+"\n"
+"    [extensions]\n"
+"    hgext.bugzilla =\n"
+"\n"
+"    [hooks]\n"
+"    # führt Einhängeaktion für jede Änderung aus, die hierher geholt oder\n"
+"    # geschoben wird\n"
+"    incoming.bugzilla = python:hgext.bugzilla.hook\n"
+"\n"
+"Beispielkonfiguration:\n"
+"\n"
+"Dieses Beispiel geht von einer lokalen Bugzilla 3.2 Installation im "
+"Verzeichnis\n"
+"/opt/bugzilla-3.2 und Mercurial Archiven in /var/local/hg/repos/ aus.\n"
+"\n"
+"    [bugzilla]\n"
+"    host=localhost\n"
+"    password=XYZZY\n"
+"    version=3.0\n"
+"    bzuser=unknown@domain.com\n"
+"    bzdir=/opt/bugzilla-3.2\n"
+"    template=Änderung {node|short} in Archiv {root|basename}.\\n\n"
+"{hgweb}/{webroot}/rev/{node|short}\\n\\n{desc}\\n\n"
+"    strip=5\n"
+"\n"
+"    [web]\n"
+"    baseurl=http://dev.domain.com/hg\n"
+"\n"
+"    [usermap]\n"
+"    user@emaildomain.com=user.name@bugzilladomain.com\n"
+"\n"
+"Eine neue Änderung führt dann zu einem solchen Bugzilla-Kommentar::\n"
+"\n"
+"    Änderung 3b16791d6642 in Archiv MyProject.\n"
+"    http://dev.domain.com/hg/repository-name/rev/3b16791d6642\n"
+"\n"
+"    Setze Zähler am Schleifenende zurück. Bug 1234.\n"
 
 #, python-format
 msgid "connecting to %s:%s as %s, password %s\n"
@@ -312,72 +483,77 @@
 
 #, python-format
 msgid "query: %s %s\n"
-msgstr ""
+msgstr "Anfrage: %s %s\n"
 
 #, python-format
 msgid "failed query: %s %s\n"
-msgstr ""
+msgstr "Fehlgeschlagene Anfrage: %s %s\n"
 
 msgid "unknown database schema"
-msgstr ""
+msgstr "Unbekanntes Datenbankschema"
 
 #, python-format
 msgid "bug %d already knows about changeset %s\n"
-msgstr ""
+msgstr "Fehler %d hat bereits einen Kommentar über Änderung %s\n"
 
 msgid "telling bugzilla to send mail:\n"
-msgstr ""
+msgstr "Sende Email durch Bugzilla:\n"
 
 #, python-format
 msgid "  bug %s\n"
-msgstr ""
+msgstr "  Fehler %s\n"
 
 #, python-format
 msgid "running notify command %s\n"
-msgstr ""
+msgstr "'notify' Kommando: %s\n"
 
 #, python-format
 msgid "bugzilla notify command %s"
-msgstr ""
+msgstr "Fehler beim 'notify' Kommando: %s"
 
 msgid "done\n"
 msgstr "erledigt\n"
 
 #, python-format
 msgid "looking up user %s\n"
-msgstr ""
+msgstr "Suche BenutzerID-Zuweisung für %s\n"
 
 #, python-format
 msgid "cannot find bugzilla user id for %s"
-msgstr ""
+msgstr "Kann keine Bugzilla BenutzerID für %s finden"
 
 #, python-format
 msgid "cannot find bugzilla user id for %s or %s"
-msgstr ""
+msgstr "Kann keine Bugzilla BenutzerID für %s oder %s finden"
 
 #, python-format
 msgid "bugzilla version %s not supported"
-msgstr ""
+msgstr "Bugzilla Version %s wird nicht unterstützt"
 
 msgid ""
 "changeset {node|short} in repo {root} refers to bug {bug}.\n"
 "details:\n"
 "\t{desc|tabindent}"
 msgstr ""
+"Änderung {node|short} in Archiv {root} erwähnt Bug {bug}.\n"
+"Details:\n"
+"\t{desc|tabindent}"
 
 #, python-format
 msgid "python mysql support not available: %s"
-msgstr ""
+msgstr "Python MySQL Unterstützung nicht verfügbar: %s"
 
 #, python-format
 msgid "hook type %s does not pass a changeset id"
-msgstr ""
+msgstr "Typ %s für Einhängeaktionen übergibt keine Änderungs-ID"
 
 #, python-format
 msgid "database error: %s"
-msgstr ""
-
-#, fuzzy
+msgstr "Datenbankfehler: %s"
+
+msgid "command to display child changesets"
+msgstr "Zum Anzeigen von Kindrevisionen"
+
 msgid ""
 "show the children of the given or working directory revision\n"
 "\n"
@@ -391,7 +567,8 @@
 "Zeigt die Kinder der übergebenen Revision oder des Arbeitsverzeichnisses an\n"
 "\n"
 "    Zeigt die Kinder der Revision des Arbeitsverzeichnisses an.\n"
-"    Wenn eine Revision durch --rev angegeben wird, werden die Kinder dieser\n"
+"    Wenn eine Revision durch -r/--rev angegeben wird, werden die Kinder "
+"dieser\n"
 "    Revision angezeigt. Wenn eine Datei als Argument angegeben wird, zeige "
 "die\n"
 "    Revision an, in der die Datei zuletzt geändert wurde (nachfolgend der\n"
@@ -405,7 +582,7 @@
 msgid "hg children [-r REV] [FILE]"
 msgstr "hg children [-r REV] [DATEI]"
 
-msgid "command to show certain statistics about revision history"
+msgid "command to display statistics about repository history"
 msgstr ""
 
 #, python-format
@@ -417,15 +594,19 @@
 msgstr ""
 
 msgid ""
-"graph count of revisions grouped by template\n"
-"\n"
-"    Will graph count of changed lines or revisions grouped by template\n"
-"    or alternatively by date, if dateformat is used. In this case it\n"
-"    will override template.\n"
-"\n"
-"    By default statistics are counted for number of changed lines.\n"
-"\n"
-"    Examples:\n"
+"histogram of changes to the repository\n"
+"\n"
+"    This command will display a histogram representing the number\n"
+"    of changed lines or revisions, grouped according to the given\n"
+"    template. The default template will group changes by author.\n"
+"    The --dateformat option may be used to group the results by\n"
+"    date instead.\n"
+"\n"
+"    Statistics are based on the number of changed lines, or\n"
+"    alternatively the number of matching revisions if the\n"
+"    --changesets option is specified.\n"
+"\n"
+"    Examples::\n"
 "\n"
 "      # display count of changed lines for every committer\n"
 "      hg churn -t '{author|email}'\n"
@@ -439,48 +620,84 @@
 "      # display count of lines changed in every year\n"
 "      hg churn -f '%Y' -s\n"
 "\n"
-"    The map file format used to specify aliases is fairly simple:\n"
-"\n"
-"    <alias email> <actual email>\n"
-"\n"
-"    By default .hgchurn in the working directory root will be used, if\n"
-"    it exists. Use the --aliases option to override this.\n"
-"    "
-msgstr ""
+"    It is possible to map alternate email addresses to a main address\n"
+"    by providing a file using the following format::\n"
+"\n"
+"      <alias email> <actual email>\n"
+"\n"
+"    Such a file may be specified with the --aliases option, otherwise\n"
+"    a .hgchurn file will be looked for in the working directory root.\n"
+"    "
+msgstr ""
+"Zeigt gruppierte Statistiken über Anzahl der Revisionen/Änderungen an\n"
+"\n"
+"    Zählt Revisionen oder veränderte Zeilen anhand einer gegebenen "
+"Gruppierung\n"
+"    und zeigt sie als Graph an. Gruppiert wird anhand von Vorlagen (siehe\n"
+"    'hg help templating') oder Datum, falls ein Datumsformat angegeben ist.\n"
+"\n"
+"    Standardmäßig werden die veränderten Zeilen gezählt.\n"
+"\n"
+"    Beispiele::\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen pro Entwickler\n"
+"      hg churn -t '{author|email}'\n"
+"\n"
+"      # Zeigt Aktivität im Tagesverlauf (Gruppiert nach Stunde)\n"
+"      hg churn -f '%H' -s -c\n"
+"\n"
+"      # Zeigt Aktivität pro Monat\n"
+"      hg churn -f '%Y-%m' -s -c\n"
+"\n"
+"      # Zeigt Anzahl der veränderten Zeilen über die Jahre\n"
+"      hg churn -f '%Y' -s\n"
+"\n"
+"    Als Zuweisungsdatei für Alias-Emails zu echten Emails wird "
+"standardmäßig\n"
+"    die .hgchurn Datei in der Archivwurzel verwendet. Die Option --aliases\n"
+"    verändert diese Vorgabe. Das Format ist recht einfach::\n"
+"\n"
+"    <alias Email> <echte Email>\n"
+"\n"
+"    Diese Erweiterung muss in der Datei .hgrc aktiviert werden:\n"
+"\n"
+"      [extensions]\n"
+"      hgext.churn =\n"
+"    "
 
 #, python-format
 msgid "assuming %i character terminal\n"
-msgstr ""
+msgstr "Gehe von Terminalbreite %i aus\n"
 
 msgid "count rate for the specified revision or range"
-msgstr ""
+msgstr "Zählt nur in gegebener Revision oder Intervall"
 
 msgid "count rate for revisions matching date spec"
 msgstr "Zeigt Revisionen passend zur Datums-Spezifikation"
 
 msgid "template to group changesets"
-msgstr ""
+msgstr "Gruppierungsschlüssel (hg help templating)"
 
 msgid "strftime-compatible format for grouping by date"
-msgstr ""
+msgstr "Gruppierung nach Datum in strftime-kompatiblem Format"
 
 msgid "count rate by number of changesets"
-msgstr ""
+msgstr "Zählt Anzahl der Änderungssätze"
 
 msgid "sort by key (default: sort by count)"
-msgstr ""
+msgstr "Sortiere nach Gruppierungsschlüssel (Standard: nach Anzahl)"
 
 msgid "file with email aliases"
-msgstr ""
+msgstr "Datei mit Alias-Emails"
 
 msgid "show progress"
-msgstr ""
+msgstr "Zeigt Fortschritt an"
 
 msgid "hg churn [-d DATE] [-r REV] [--aliases FILE] [--progress] [FILE]"
-msgstr ""
-
-msgid ""
-"add color output to status, qseries, and diff-related commands\n"
+msgstr "hg churn [-d DATUM] [-r REV] [--aliases DATEI] [--progress] [DATEI]"
+
+msgid ""
+"colorize output from some commands\n"
 "\n"
 "This extension modifies the status command to add color to its output\n"
 "to reflect file status, the qseries command to add color to reflect\n"
@@ -493,38 +710,80 @@
 "function (aka ANSI escape codes). This module also provides the\n"
 "render_text function, which can be used to add effects to any text.\n"
 "\n"
-"To enable this extension, add this to your .hgrc file:\n"
-"[extensions]\n"
-"color =\n"
-"\n"
-"Default effects may be overridden from the .hgrc file:\n"
-"\n"
-"[color]\n"
-"status.modified = blue bold underline red_background\n"
-"status.added = green bold\n"
-"status.removed = red bold blue_background\n"
-"status.deleted = cyan bold underline\n"
-"status.unknown = magenta bold underline\n"
-"status.ignored = black bold\n"
-"\n"
-"# 'none' turns off all effects\n"
-"status.clean = none\n"
-"status.copied = none\n"
-"\n"
-"qseries.applied = blue bold underline\n"
-"qseries.unapplied = black bold\n"
-"qseries.missing = red bold\n"
-"\n"
-"diff.diffline = bold\n"
-"diff.extended = cyan bold\n"
-"diff.file_a = red bold\n"
-"diff.file_b = green bold\n"
-"diff.hunk = magenta\n"
-"diff.deleted = red\n"
-"diff.inserted = green\n"
-"diff.changed = white\n"
-"diff.trailingwhitespace = bold red_background\n"
-msgstr ""
+"Default effects may be overridden from the .hgrc file::\n"
+"\n"
+"  [color]\n"
+"  status.modified = blue bold underline red_background\n"
+"  status.added = green bold\n"
+"  status.removed = red bold blue_background\n"
+"  status.deleted = cyan bold underline\n"
+"  status.unknown = magenta bold underline\n"
+"  status.ignored = black bold\n"
+"\n"
+"  # 'none' turns off all effects\n"
+"  status.clean = none\n"
+"  status.copied = none\n"
+"\n"
+"  qseries.applied = blue bold underline\n"
+"  qseries.unapplied = black bold\n"
+"  qseries.missing = red bold\n"
+"\n"
+"  diff.diffline = bold\n"
+"  diff.extended = cyan bold\n"
+"  diff.file_a = red bold\n"
+"  diff.file_b = green bold\n"
+"  diff.hunk = magenta\n"
+"  diff.deleted = red\n"
+"  diff.inserted = green\n"
+"  diff.changed = white\n"
+"  diff.trailingwhitespace = bold red_background\n"
+msgstr ""
+"Färbt die Ausgabe von status, qseries und diff-ähnlichen Kommandos\n"
+"\n"
+"    Diese Erweiterung färbt die Ausgabe des Kommandos 'status' anhand des\n"
+"    Dateistatus, die Ausgabe von 'qseries' anhand des Patchstatus\n"
+"    (angewendet, nicht angewendet, fehlend) und die Ausgabe von\n"
+"    diff-ähnlichen Kommandos anhand der Änderung (hinzugefügte oder\n"
+"    entfernte Zeilen, Dateistatus und abschliessende Leerstellen) ein.\n"
+"\n"
+"    Neben Farbänderungen sind auch andere Effekte wie Fettschreibung oder\n"
+"    Unterstreichung möglich. Die Effekte werden durch die ECMA-48 SGR\n"
+"    Funktionen (ANSI Escape Codes) realisiert. Die in diesem Module zu\n"
+"    findende Funktion 'render_text' kann auch von anderen Modulen verwendet\n"
+"    werden, um Texteffekte zu erzeugen.\n"
+"\n"
+"    Diese Erweiterung muss in der Datei .hgrc aktiviert werden:\n"
+"\n"
+"      [extensions]\n"
+"      color =\n"
+"\n"
+"    Standardeffekte können durch die .hgrc Datei verändert werden::\n"
+"\n"
+"      [color]\n"
+"      status.modified = blue bold underline red_background\n"
+"      status.added = green bold\n"
+"      status.removed = red bold blue_background\n"
+"      status.deleted = cyan bold underline\n"
+"      status.unknown = magenta bold underline\n"
+"      status.ignored = black bold\n"
+"\n"
+"      # 'none' deaktiviert alle Effekte\n"
+"      status.clean = none\n"
+"      status.copied = none\n"
+"\n"
+"      qseries.applied = blue bold underline\n"
+"      qseries.unapplied = black bold\n"
+"      qseries.missing = red bold\n"
+"      \n"
+"      diff.diffline = bold\n"
+"      diff.extended = cyan bold\n"
+"      diff.file_a = red bold\n"
+"      diff.file_b = green bold\n"
+"      diff.hunk = magenta\n"
+"      diff.deleted = red\n"
+"      diff.inserted = green\n"
+"      diff.changed = white\n"
+"      diff.trailingwhitespace = bold red_background\n"
 
 msgid "when to colorize (always, auto, or never)"
 msgstr "Wann soll eingefärbt werden (always, auto oder never)"
@@ -532,13 +791,18 @@
 msgid "don't colorize output"
 msgstr "Keine Färbung der Ausgabe"
 
-msgid "converting foreign VCS repositories to Mercurial"
+#, python-format
+msgid "ignoring unknown color/effect %r (configured in color.%s)\n"
+msgstr ""
+
+msgid "import revisions from foreign VCS repositories into Mercurial"
 msgstr ""
 
 msgid ""
 "convert a foreign SCM repository to a Mercurial one.\n"
 "\n"
 "    Accepted source formats [identifiers]:\n"
+"\n"
 "    - Mercurial [hg]\n"
 "    - CVS [cvs]\n"
 "    - Darcs [darcs]\n"
@@ -550,6 +814,7 @@
 "    - Perforce [p4]\n"
 "\n"
 "    Accepted destination formats [identifiers]:\n"
+"\n"
 "    - Mercurial [hg]\n"
 "    - Subversion [svn] (history on branches is not preserved)\n"
 "\n"
@@ -561,23 +826,28 @@
 "    basename of the source with '-hg' appended. If the destination\n"
 "    repository doesn't exist, it will be created.\n"
 "\n"
-"    By default, all sources except Mercurial will use\n"
-"    --branchsort. Mercurial uses --sourcesort to preserve original\n"
-"    revision numbers order. Sort modes have the following effects:\n"
-"      --branchsort: convert from parent to child revision when\n"
-"        possible, which means branches are usually converted one after\n"
-"        the other. It generates more compact repositories.\n"
-"      --datesort: sort revisions by date. Converted repositories have\n"
-"        good-looking changelogs but are often an order of magnitude\n"
-"        larger than the same ones generated by --branchsort.\n"
-"      --sourcesort: try to preserve source revisions order, only\n"
-"        supported by Mercurial sources.\n"
+"    By default, all sources except Mercurial will use --branchsort.\n"
+"    Mercurial uses --sourcesort to preserve original revision numbers\n"
+"    order. Sort modes have the following effects:\n"
+"\n"
+"    --branchsort  convert from parent to child revision when possible,\n"
+"                  which means branches are usually converted one after\n"
+"                  the other. It generates more compact repositories.\n"
+"\n"
+"    --datesort    sort revisions by date. Converted repositories have\n"
+"                  good-looking changelogs but are often an order of\n"
+"                  magnitude larger than the same ones generated by\n"
+"                  --branchsort.\n"
+"\n"
+"    --sourcesort  try to preserve source revisions order, only\n"
+"                  supported by Mercurial sources.\n"
 "\n"
 "    If <REVMAP> isn't given, it will be put in a default location\n"
 "    (<dest>/.hg/shamap by default). The <REVMAP> is a simple text file\n"
 "    that maps each source commit ID to the destination ID for that\n"
-"    revision, like so:\n"
-"    <source ID> <destination ID>\n"
+"    revision, like so::\n"
+"\n"
+"      <source ID> <destination ID>\n"
 "\n"
 "    If the file doesn't exist, it's automatically created. It's\n"
 "    updated on each commit copied, so convert-repo can be interrupted\n"
@@ -591,7 +861,7 @@
 "\n"
 "    The filemap is a file that allows filtering and remapping of files\n"
 "    and directories. Comment lines start with '#'. Each line can\n"
-"    contain one of the following directives:\n"
+"    contain one of the following directives::\n"
 "\n"
 "      include path/to/file\n"
 "\n"
@@ -601,11 +871,11 @@
 "\n"
 "    The 'include' directive causes a file, or all files under a\n"
 "    directory, to be included in the destination repository, and the\n"
-"    exclusion of all other files and directories not explicitly included.\n"
-"    The 'exclude' directive causes files or directories to be omitted.\n"
-"    The 'rename' directive renames a file or directory. To rename from\n"
-"    a subdirectory into the root of the repository, use '.' as the\n"
-"    path to rename to.\n"
+"    exclusion of all other files and directories not explicitly\n"
+"    included. The 'exclude' directive causes files or directories to\n"
+"    be omitted. The 'rename' directive renames a file or directory. To\n"
+"    rename from a subdirectory into the root of the repository, use\n"
+"    '.' as the path to rename to.\n"
 "\n"
 "    The splicemap is a file that allows insertion of synthetic\n"
 "    history, letting you specify the parents of a revision. This is\n"
@@ -630,7 +900,7 @@
 "    in one repository from \"default\" to a named branch.\n"
 "\n"
 "    Mercurial Source\n"
-"    -----------------\n"
+"    ----------------\n"
 "\n"
 "    --config convert.hg.ignoreerrors=False    (boolean)\n"
 "        ignore integrity errors when reading. Use it to fix Mercurial\n"
@@ -658,36 +928,38 @@
 "    Because CVS does not have changesets, it is necessary to collect\n"
 "    individual commits to CVS and merge them into changesets. CVS\n"
 "    source uses its internal changeset merging code by default but can\n"
-"    be configured to call the external 'cvsps' program by setting:\n"
-"        --config convert.cvsps='cvsps -A -u --cvs-direct -q'\n"
+"    be configured to call the external 'cvsps' program by setting::\n"
+"\n"
+"      --config convert.cvsps='cvsps -A -u --cvs-direct -q'\n"
+"\n"
 "    This option is deprecated and will be removed in Mercurial 1.4.\n"
 "\n"
 "    The options shown are the defaults.\n"
 "\n"
-"    Internal cvsps is selected by setting\n"
-"        --config convert.cvsps=builtin\n"
+"    Internal cvsps is selected by setting ::\n"
+"\n"
+"      --config convert.cvsps=builtin\n"
+"\n"
 "    and has a few more configurable options:\n"
-"        --config convert.cvsps.cache=True     (boolean)\n"
-"            Set to False to disable remote log caching, for testing and\n"
-"            debugging purposes.\n"
-"        --config convert.cvsps.fuzz=60        (integer)\n"
-"            Specify the maximum time (in seconds) that is allowed\n"
-"            between commits with identical user and log message in a\n"
-"            single changeset. When very large files were checked in as\n"
-"            part of a changeset then the default may not be long\n"
-"            enough.\n"
-"        --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
-"            Specify a regular expression to which commit log messages\n"
-"            are matched. If a match occurs, then the conversion\n"
-"            process will insert a dummy revision merging the branch on\n"
-"            which this log message occurs to the branch indicated in\n"
-"            the regex.\n"
-"        --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
-"            Specify a regular expression to which commit log messages\n"
-"            are matched. If a match occurs, then the conversion\n"
-"            process will add the most recent revision on the branch\n"
-"            indicated in the regex as the second parent of the\n"
-"            changeset.\n"
+"\n"
+"    --config convert.cvsps.cache=True         (boolean)\n"
+"        Set to False to disable remote log caching, for testing and\n"
+"        debugging purposes.\n"
+"    --config convert.cvsps.fuzz=60            (integer)\n"
+"        Specify the maximum time (in seconds) that is allowed between\n"
+"        commits with identical user and log message in a single\n"
+"        changeset. When very large files were checked in as part of a\n"
+"        changeset then the default may not be long enough.\n"
+"    --config convert.cvsps.mergeto='{{mergetobranch ([-\\w]+)}}'\n"
+"        Specify a regular expression to which commit log messages are\n"
+"        matched. If a match occurs, then the conversion process will\n"
+"        insert a dummy revision merging the branch on which this log\n"
+"        message occurs to the branch indicated in the regex.\n"
+"    --config convert.cvsps.mergefrom='{{mergefrombranch ([-\\w]+)}}'\n"
+"        Specify a regular expression to which commit log messages are\n"
+"        matched. If a match occurs, then the conversion process will\n"
+"        add the most recent revision on the branch indicated in the\n"
+"        regex as the second parent of the changeset.\n"
 "\n"
 "    The hgext/convert/cvsps wrapper script allows the builtin\n"
 "    changeset merging code to be run without doing a conversion. Its\n"
@@ -737,7 +1009,6 @@
 "    --config convert.p4.startrev=0            (perforce changelist number)\n"
 "        specify initial Perforce revision.\n"
 "\n"
-"\n"
 "    Mercurial Destination\n"
 "    ---------------------\n"
 "\n"
@@ -863,10 +1134,6 @@
 msgstr ""
 
 #, python-format
-msgid "%s %s"
-msgstr ""
-
-#, python-format
 msgid "syntax error in %s(%d): key/value pair expected"
 msgstr ""
 
@@ -959,7 +1226,9 @@
 msgid "CVS pserver authentication failed"
 msgstr ""
 
-msgid "server sucks"
+#, python-format
+msgid ""
+"unexpected response from CVS server (expected \"Valid-requests\", but got %r)"
 msgstr ""
 
 #, python-format
@@ -1011,7 +1280,7 @@
 
 #, python-format
 msgid "found synthetic revision in %s: %r\n"
-msgstr "Synthetische Revision gefundein in %s: %r\n"
+msgstr "Synthetische Revision gefunden in %s: %r\n"
 
 #, python-format
 msgid "writing cvs log cache %s\n"
@@ -1037,6 +1306,10 @@
 msgid "%d changeset entries\n"
 msgstr ""
 
+#, python-format
+msgid "darcs version 2.1 or newer needed (found %r)"
+msgstr ""
+
 msgid "Python ElementTree module is not available"
 msgstr ""
 
@@ -1220,22 +1493,11 @@
 
 #, python-format
 msgid "gone from %s\n"
-msgstr ""
-
-#, python-format
-msgid "found parent directory %s\n"
-msgstr ""
-
-#, python-format
-msgid "base, entry %s %s\n"
-msgstr ""
-
-msgid "munge-o-matic\n"
-msgstr ""
-
-#, python-format
-msgid "info: %s %s %s %s\n"
-msgstr ""
+msgstr "entfernt aus %s\n"
+
+#, python-format
+msgid "entry %s\n"
+msgstr "Eintrag %s\n"
 
 #, python-format
 msgid "unknown path in revision %d: %s\n"
@@ -1261,10 +1523,6 @@
 msgstr ""
 
 #, python-format
-msgid "skipping blacklisted revision %d\n"
-msgstr ""
-
-#, python-format
 msgid "revision %d has no entries\n"
 msgstr ""
 
@@ -1294,20 +1552,16 @@
 msgstr ""
 
 msgid ""
-"\n"
-"The `extdiff' Mercurial extension allows you to use external programs\n"
-"to compare revisions, or revision with working directory. The external diff\n"
-"programs are called with a configurable set of options and two\n"
+"command to allow external programs to compare revisions\n"
+"\n"
+"The extdiff Mercurial extension allows you to use external programs\n"
+"to compare revisions, or revision with working directory. The external\n"
+"diff programs are called with a configurable set of options and two\n"
 "non-option arguments: paths to directories containing snapshots of\n"
 "files to compare.\n"
 "\n"
-"To enable this extension:\n"
-"\n"
-"  [extensions]\n"
-"  hgext.extdiff =\n"
-"\n"
-"The `extdiff' extension also allows to configure new diff commands, so\n"
-"you do not need to type \"hg extdiff -p kdiff3\" always.\n"
+"The extdiff extension also allows to configure new diff commands, so\n"
+"you do not need to type \"hg extdiff -p kdiff3\" always. ::\n"
 "\n"
 "  [extdiff]\n"
 "  # add new command that runs GNU diff(1) in 'context diff' mode\n"
@@ -1323,14 +1577,13 @@
 "  meld =\n"
 "\n"
 "  # add new command called vimdiff, runs gvimdiff with DirDiff plugin\n"
-"  # (see http://www.vim.org/scripts/script.php?script_id=102)\n"
-"  # Non English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" "
-"in\n"
+"  # (see http://www.vim.org/scripts/script.php?script_id=102) Non\n"
+"  # English user, be sure to put \"let g:DirDiffDynamicDiffText = 1\" in\n"
 "  # your .vimrc\n"
 "  vimdiff = gvim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)'\n"
 "\n"
 "You can use -I/-X and list of file or directory names like normal \"hg\n"
-"diff\" command. The `extdiff' extension makes snapshots of only needed\n"
+"diff\" command. The extdiff extension makes snapshots of only needed\n"
 "files, so running the external diff program will actually be pretty\n"
 "fast (at least faster than having to compare the entire tree).\n"
 msgstr ""
@@ -1389,10 +1642,25 @@
 msgstr ""
 
 #, python-format
+msgid ""
+"use %(path)s to diff repository (or selected files)\n"
+"\n"
+"    Show differences between revisions for the specified files, using the\n"
+"    %(path)s program.\n"
+"\n"
+"    When two revision arguments are given, then changes are shown between\n"
+"    those revisions. If only one revision is specified then that revision "
+"is\n"
+"    compared to the working directory, and, when no revisions are "
+"specified,\n"
+"    the working directory files are compared to its parent."
+msgstr ""
+
+#, python-format
 msgid "hg %s [OPTION]... [FILE]..."
 msgstr ""
 
-msgid "pulling, updating and merging in one command"
+msgid "pull, update and merge in one command"
 msgstr "Hole, aktualisiere und führe zusammen in einem Befehl"
 
 msgid ""
@@ -1486,10 +1754,6 @@
 msgstr "Führe zusammen mit %d:%s\n"
 
 #, python-format
-msgid "Automated merge with %s"
-msgstr "Automatisierte Zusammenführung mit %s"
-
-#, python-format
 msgid "new changeset %d:%s merges remote changes with local\n"
 msgstr ""
 "Neuer Änderungssatz %d:%s führt entfernte Änderungen mit lokalen zusammen\n"
@@ -1509,6 +1773,9 @@
 msgid "hg fetch [SOURCE]"
 msgstr "hg fetch [QUELLE]"
 
+msgid "commands to sign and verify changesets"
+msgstr "Nutzt eine Programm um den Fehlerstatus zu bestimmen"
+
 msgid "error while verifying signature"
 msgstr ""
 
@@ -1559,10 +1826,6 @@
 "force)"
 msgstr ""
 
-#, python-format
-msgid "Added signature for changeset %s"
-msgstr ""
-
 msgid "unknown signature version"
 msgstr ""
 
@@ -1591,7 +1854,7 @@
 msgstr ""
 
 msgid ""
-"show revision graphs in terminal windows\n"
+"command to view revision graphs from a shell\n"
 "\n"
 "This extension adds a --graph option to the incoming, outgoing and log\n"
 "commands. When this options is given, an ASCII representation of the\n"
@@ -1636,40 +1899,40 @@
 msgstr ""
 
 msgid ""
-"CIA notification\n"
-"\n"
-"This is meant to be run as a changegroup or incoming hook.\n"
-"To configure it, set the following options in your hgrc:\n"
-"\n"
-"[cia]\n"
-"# your registered CIA user name\n"
-"user = foo\n"
-"# the name of the project in CIA\n"
-"project = foo\n"
-"# the module (subproject) (optional)\n"
-"#module = foo\n"
-"# Append a diffstat to the log message (optional)\n"
-"#diffstat = False\n"
-"# Template to use for log messages (optional)\n"
-"#template = {desc}\\n{baseurl}/rev/{node}-- {diffstat}\n"
-"# Style to use (optional)\n"
-"#style = foo\n"
-"# The URL of the CIA notification service (optional)\n"
-"# You can use mailto: URLs to send by email, eg\n"
-"# mailto:cia@cia.vc\n"
-"# Make sure to set email.from if you do this.\n"
-"#url = http://cia.vc/\n"
-"# print message instead of sending it (optional)\n"
-"#test = False\n"
-"\n"
-"[hooks]\n"
-"# one of these:\n"
-"changegroup.cia = python:hgcia.hook\n"
-"#incoming.cia = python:hgcia.hook\n"
-"\n"
-"[web]\n"
-"# If you want hyperlinks (optional)\n"
-"baseurl = http://server/path/to/repo\n"
+"hooks for integrating with the CIA.vc notification service\n"
+"\n"
+"This is meant to be run as a changegroup or incoming hook. To\n"
+"configure it, set the following options in your hgrc::\n"
+"\n"
+"  [cia]\n"
+"  # your registered CIA user name\n"
+"  user = foo\n"
+"  # the name of the project in CIA\n"
+"  project = foo\n"
+"  # the module (subproject) (optional)\n"
+"  #module = foo\n"
+"  # Append a diffstat to the log message (optional)\n"
+"  #diffstat = False\n"
+"  # Template to use for log messages (optional)\n"
+"  #template = {desc}\\n{baseurl}/rev/{node}-- {diffstat}\n"
+"  # Style to use (optional)\n"
+"  #style = foo\n"
+"  # The URL of the CIA notification service (optional)\n"
+"  # You can use mailto: URLs to send by email, eg\n"
+"  # mailto:cia@cia.vc\n"
+"  # Make sure to set email.from if you do this.\n"
+"  #url = http://cia.vc/\n"
+"  # print message instead of sending it (optional)\n"
+"  #test = False\n"
+"\n"
+"  [hooks]\n"
+"  # one of these:\n"
+"  changegroup.cia = python:hgcia.hook\n"
+"  #incoming.cia = python:hgcia.hook\n"
+"\n"
+"  [web]\n"
+"  # If you want hyperlinks (optional)\n"
+"  baseurl = http://server/path/to/repo\n"
 msgstr ""
 
 #, python-format
@@ -1686,45 +1949,33 @@
 msgstr ""
 
 msgid ""
-"browsing the repository in a graphical way\n"
+"browse the repository in a graphical way\n"
 "\n"
 "The hgk extension allows browsing the history of a repository in a\n"
 "graphical way. It requires Tcl/Tk version 8.4 or later. (Tcl/Tk is not\n"
 "distributed with Mercurial.)\n"
 "\n"
 "hgk consists of two parts: a Tcl script that does the displaying and\n"
-"querying of information, and an extension to mercurial named hgk.py,\n"
+"querying of information, and an extension to Mercurial named hgk.py,\n"
 "which provides hooks for hgk to get information. hgk can be found in\n"
-"the contrib directory, and hgk.py can be found in the hgext directory.\n"
-"\n"
-"To load the hgext.py extension, add it to your .hgrc file (you have to\n"
-"use your global $HOME/.hgrc file, not one in a repository). You can\n"
-"specify an absolute path:\n"
-"\n"
-"  [extensions]\n"
-"  hgk=/usr/local/lib/hgk.py\n"
-"\n"
-"Mercurial can also scan the default python library path for a file\n"
-"named 'hgk.py' if you set hgk empty:\n"
-"\n"
-"  [extensions]\n"
-"  hgk=\n"
+"the contrib directory, and the extension is shipped in the hgext\n"
+"repository, and needs to be enabled.\n"
 "\n"
 "The hg view command will launch the hgk Tcl script. For this command\n"
 "to work, hgk must be in your search path. Alternately, you can specify\n"
-"the path to hgk in your .hgrc file:\n"
+"the path to hgk in your .hgrc file::\n"
 "\n"
 "  [hgk]\n"
 "  path=/location/of/hgk\n"
 "\n"
 "hgk can make use of the extdiff extension to visualize revisions.\n"
-"Assuming you had already configured extdiff vdiff command, just add:\n"
+"Assuming you had already configured extdiff vdiff command, just add::\n"
 "\n"
 "  [hgk]\n"
 "  vdiff=vdiff\n"
 "\n"
 "Revisions context menu will now display additional entries to fire\n"
-"vdiff on hovered and selected revisions."
+"vdiff on hovered and selected revisions.\n"
 msgstr ""
 
 msgid "diff trees from two commits"
@@ -1784,7 +2035,7 @@
 msgid "hg debug-config"
 msgstr ""
 
-msgid "hg debug-merge-base node node"
+msgid "hg debug-merge-base REV REV"
 msgstr ""
 
 msgid "ignored"
@@ -1805,31 +2056,24 @@
 msgid "max-count"
 msgstr ""
 
-msgid "hg debug-rev-list [options] revs"
-msgstr ""
-
-msgid ""
-"syntax highlighting in hgweb, based on Pygments\n"
+msgid "hg debug-rev-list [OPTION]... REV..."
+msgstr ""
+
+msgid ""
+"syntax highlighting for hgweb (requires Pygments)\n"
 "\n"
 "It depends on the Pygments syntax highlighting library:\n"
 "http://pygments.org/\n"
 "\n"
-"To enable the extension add this to hgrc:\n"
-"\n"
-"[extensions]\n"
-"hgext.highlight =\n"
-"\n"
-"There is a single configuration option:\n"
-"\n"
-"[web]\n"
-"pygments_style = <style>\n"
+"There is a single configuration option::\n"
+"\n"
+"  [web]\n"
+"  pygments_style = <style>\n"
 "\n"
 "The default is 'colorful'.\n"
-"\n"
-"-- Adam Hupp <adam@hupp.org>\n"
-msgstr ""
-
-msgid "inotify-based status acceleration for Linux systems\n"
+msgstr ""
+
+msgid "accelerate status report using Linux's inotify service"
 msgstr ""
 
 msgid "start an inotify server for this repository"
@@ -1857,7 +2101,7 @@
 msgid "name of file to write process ID to"
 msgstr "Dateiname für Prozess-ID"
 
-msgid "hg inserve [OPT]..."
+msgid "hg inserve [OPTION]..."
 msgstr ""
 
 msgid "(found dead inotify server socket; removing it)\n"
@@ -1881,6 +2125,9 @@
 msgid "failed to contact inotify server: %s\n"
 msgstr ""
 
+msgid "received empty answer from inotify server"
+msgstr ""
+
 #, python-format
 msgid "(inotify: received response from incompatible server version %d)\n"
 msgstr ""
@@ -1931,10 +2178,6 @@
 msgstr ""
 
 #, python-format
-msgid "status: %r dir(%d) -> %s\n"
-msgstr ""
-
-#, python-format
 msgid "status: %r %s -> %s\n"
 msgstr ""
 
@@ -2000,11 +2243,21 @@
 msgid "finished setup\n"
 msgstr ""
 
-msgid "polling: no timeout\n"
-msgstr ""
-
-#, python-format
-msgid "polling: %sms timeout\n"
+msgid ""
+"expand expressions into changelog and summaries\n"
+"\n"
+"This extension allows the use of a special syntax in summaries, which\n"
+"will be automatically expanded into links or any other arbitrary\n"
+"expression, much like InterWiki does.\n"
+"\n"
+"A few example patterns (link to bug tracking, etc.) that may be used\n"
+"in your hgrc::\n"
+"\n"
+"  [interhg]\n"
+"  issues = s!issue(\\d+)!<a href=\"http://bts/issue\\1\">issue\\1</a>!\n"
+"  bugzilla = s!((?:bug|b=|(?=#?\\d{4,}))(?:\\s*#?)(\\d+))!<a..=\\2\">\\1</a>!"
+"i\n"
+"  boldify = s!(^|\\s)#(\\d+)\\b! <b>#\\2</b>!\n"
 msgstr ""
 
 #, python-format
@@ -2016,7 +2269,7 @@
 msgstr ""
 
 msgid ""
-"keyword expansion in local repositories\n"
+"expand keywords in tracked files\n"
 "\n"
 "This extension expands RCS/CVS-like or self-customized $Keywords$ in\n"
 "tracked text files selected by your configuration.\n"
@@ -2028,20 +2281,22 @@
 "Configuration is done in the [keyword] and [keywordmaps] sections of\n"
 "hgrc files.\n"
 "\n"
-"Example:\n"
+"Example::\n"
 "\n"
 "    [keyword]\n"
 "    # expand keywords in every python file except those matching \"x*\"\n"
 "    **.py =\n"
 "    x*    = ignore\n"
 "\n"
-"Note: the more specific you are in your filename patterns\n"
-"      the less you lose speed in huge repositories.\n"
+"NOTE: the more specific you are in your filename patterns the less you\n"
+"lose speed in huge repositories.\n"
 "\n"
 "For [keywordmaps] template mapping and expansion demonstration and\n"
-"control run \"hg kwdemo\".\n"
-"\n"
-"An additional date template filter {date|utcdate} is provided.\n"
+"control run \"hg kwdemo\". See \"hg help templates\" for a list of\n"
+"available templates and filters.\n"
+"\n"
+"An additional date template filter {date|utcdate} is provided. It\n"
+"returns a date like \"2006/09/18 15:13:13\".\n"
 "\n"
 "The default template mappings (view with \"hg kwdemo -d\") can be\n"
 "replaced with customized keywords and templates. Again, run \"hg\n"
@@ -2060,8 +2315,8 @@
 "have been checked in.\n"
 "\n"
 "Expansions spanning more than one line and incremental expansions,\n"
-"like CVS' $Log$, are not supported. A keyword template map\n"
-"\"Log = {desc}\" expands to the first line of the changeset description.\n"
+"like CVS' $Log$, are not supported. A keyword template map \"Log =\n"
+"{desc}\" expands to the first line of the changeset description.\n"
 msgstr ""
 
 #, python-format
@@ -2082,34 +2337,59 @@
 "print [keywordmaps] configuration and an expansion example\n"
 "\n"
 "    Show current, custom, or default keyword template maps and their\n"
-"    expansion.\n"
-"\n"
-"    Extend current configuration by specifying maps as arguments and\n"
-"    optionally by reading from an additional hgrc file.\n"
-"\n"
-"    Override current keyword template maps with \"default\" option.\n"
-"    "
-msgstr ""
-
-#, python-format
-msgid ""
-"\n"
-"\t%s\n"
+"    expansions.\n"
+"\n"
+"    Extend the current configuration by specifying maps as arguments\n"
+"    and using -f/--rcfile to source an external hgrc file.\n"
+"\n"
+"    Use -d/--default to disable current configuration.\n"
+"\n"
+"    See \"hg help templates\" for information on templates and filters.\n"
+"    "
 msgstr ""
 
 #, python-format
 msgid "creating temporary repository at %s\n"
 msgstr ""
 
-#, python-format
-msgid ""
-"\n"
-"%s keywords written to %s:\n"
+msgid ""
+"\n"
+"\tconfiguration using custom keyword template maps\n"
+msgstr ""
+
+msgid "\textending current template maps\n"
+msgstr ""
+
+msgid "\toverriding default template maps\n"
+msgstr ""
+
+msgid ""
+"\n"
+"\tconfiguration using default keyword template maps\n"
+msgstr ""
+
+msgid "\tdisabling current template maps\n"
+msgstr ""
+
+msgid ""
+"\n"
+"\tconfiguration using current keyword template maps\n"
+msgstr ""
+
+#, python-format
+msgid ""
+"\n"
+"keywords written to %s:\n"
 msgstr ""
 
 msgid "unhooked all commit hooks\n"
 msgstr ""
 
+msgid ""
+"\n"
+"\tkeywords expanded\n"
+msgstr ""
+
 #, python-format
 msgid ""
 "\n"
@@ -2117,7 +2397,7 @@
 msgstr ""
 
 msgid ""
-"expand keywords in working directory\n"
+"expand keywords in the working directory\n"
 "\n"
 "    Run after (re)enabling keyword expansion.\n"
 "\n"
@@ -2126,16 +2406,32 @@
 msgstr ""
 
 msgid ""
-"print files currently configured for keyword expansion\n"
-"\n"
-"    Crosscheck which files in working directory are potential targets\n"
-"    for keyword expansion. That is, files matched by [keyword] config\n"
-"    patterns but not symlinks.\n"
-"    "
-msgstr ""
-
-msgid ""
-"revert expanded keywords in working directory\n"
+"show files configured for keyword expansion\n"
+"\n"
+"    List which files in the working directory are matched by the\n"
+"    [keyword] configuration patterns.\n"
+"\n"
+"    Useful to prevent inadvertent keyword expansion and to speed up\n"
+"    execution by including only files that are actual candidates for\n"
+"    expansion.\n"
+"\n"
+"    See \"hg help keyword\" on how to construct patterns both for\n"
+"    inclusion and exclusion of files.\n"
+"\n"
+"    Use -u/--untracked to list untracked files as well.\n"
+"\n"
+"    With -a/--all and -v/--verbose the codes used to show the status\n"
+"    of files are::\n"
+"\n"
+"      K = keyword expansion candidate\n"
+"      k = keyword expansion candidate (untracked)\n"
+"      I = ignored\n"
+"      i = ignored (untracked)\n"
+"    "
+msgstr ""
+
+msgid ""
+"revert expanded keywords in the working directory\n"
 "\n"
 "    Run before changing/disabling active keywords or if you experience\n"
 "    problems with \"hg import\" or \"hg merge\".\n"
@@ -2172,7 +2468,7 @@
 msgstr ""
 
 msgid ""
-"patch management and development\n"
+"manage a stack of patches\n"
 "\n"
 "This extension lets you work with a stack of patches in a Mercurial\n"
 "repository. It manages two stacks of patches - all known patches, and\n"
@@ -2181,186 +2477,215 @@
 "Known patches are represented as patch files in the .hg/patches\n"
 "directory. Applied patches are both patch files and changesets.\n"
 "\n"
-"Common tasks (use \"hg help command\" for more details):\n"
-"\n"
-"prepare repository to work with patches   qinit\n"
-"create new patch                          qnew\n"
-"import existing patch                     qimport\n"
-"\n"
-"print patch series                        qseries\n"
-"print applied patches                     qapplied\n"
-"print name of top applied patch           qtop\n"
-"\n"
-"add known patch to applied stack          qpush\n"
-"remove patch from applied stack           qpop\n"
-"refresh contents of top applied patch     qrefresh\n"
-msgstr ""
+"Common tasks (use \"hg help command\" for more details)::\n"
+"\n"
+"  prepare repository to work with patches   qinit\n"
+"  create new patch                          qnew\n"
+"  import existing patch                     qimport\n"
+"\n"
+"  print patch series                        qseries\n"
+"  print applied patches                     qapplied\n"
+"  print name of top applied patch           qtop\n"
+"\n"
+"  add known patch to applied stack          qpush\n"
+"  remove patch from applied stack           qpop\n"
+"  refresh contents of top applied patch     qrefresh\n"
+msgstr ""
+"Patchverwaltung und -entwicklung\n"
+"\n"
+"Diese Erweiterung verwaltet Änderungen des Archivs in Patch-Dateien und\n"
+"führt dazu zwei Stapel (stacks) ein: Alle bekannten und alle lokal\n"
+"angewendeten Patches (eine Untermenge der bekannten).\n"
+"\n"
+"Die Patch Dateien sowie die Stapeldateien werden im Verzeichnis .hg/patches\n"
+"angelegt. Angewendete patches sind weiterhin auch als Änderungssätze in der\n"
+"üblichen Versionshistorie zu finden.\n"
+"\n"
+"Übliche Anwendungen (mehr Details mit \"hg help KOMMANDO\")::\n"
+"\n"
+"Bereite Archiv auf Arbeit mit mq vor            qinit\n"
+"Erstelle einen neuen Patch                      qnew\n"
+"Integriere lokale Änderungen in letzten Patch   qrefresh\n"
+"\n"
+"Wende bekannten Patch an                        qpush\n"
+"Nimm angewendeten Patch wieder zurück           qpop\n"
+"Übernimm externen Patch als bekannt             qimport\n"
+"\n"
+"Zeige Patch Serien an                           qseries\n"
+"Zeige angewendete Patches                       qapplied\n"
+"Zeige den Namen des zuletzt angewendeten Patches   qtop\n"
 
 #, python-format
 msgid "%s appears more than once in %s"
-msgstr ""
+msgstr "%s mehrfach in %s gefunden"
 
 msgid "guard cannot be an empty string"
-msgstr ""
+msgstr "Wächter darf keine leere Zeichenkette sein"
 
 #, python-format
 msgid "guard %r starts with invalid character: %r"
-msgstr ""
+msgstr "Wächter %r beginnt mit ungültigem Zeichen: %r"
 
 #, python-format
 msgid "invalid character in guard %r: %r"
-msgstr ""
+msgstr "Ungültiges Zeichen in Wächter %r: %r"
 
 #, python-format
 msgid "active guards: %s\n"
-msgstr ""
+msgstr "Aktive Wächter: %s\n"
 
 #, python-format
 msgid "guard %r too short"
-msgstr ""
+msgstr "Wächter %r zu kurz"
 
 #, python-format
 msgid "guard %r starts with invalid char"
-msgstr ""
+msgstr "Wächter %r beginnt mit ungültigem Zeichen"
 
 #, python-format
 msgid "allowing %s - no guards in effect\n"
-msgstr ""
+msgstr "Erlaube %s - kein Wächter trifft zu\n"
 
 #, python-format
 msgid "allowing %s - no matching negative guards\n"
-msgstr ""
+msgstr "Erlaube %s - von keinem Wächter abgelehnt\n"
 
 #, python-format
 msgid "allowing %s - guarded by %r\n"
-msgstr ""
+msgstr "Erlaube %s - bewacht durch %r\n"
 
 #, python-format
 msgid "skipping %s - guarded by %r\n"
-msgstr ""
+msgstr "Überspringe %s - bewacht durch %r\n"
 
 #, python-format
 msgid "skipping %s - no matching guards\n"
-msgstr ""
+msgstr "Überspringe %s - kein Wächter trifft zu\n"
 
 #, python-format
 msgid "error removing undo: %s\n"
-msgstr ""
+msgstr "Fehler bei Entfernung von undo: %s\n"
 
 #, python-format
 msgid "apply failed for patch %s"
-msgstr ""
+msgstr "Anwendung von Patch %s schlug fehl"
 
 #, python-format
 msgid "patch didn't work out, merging %s\n"
-msgstr ""
+msgstr "Patch hat nicht gewirkt, führe %s zusammen\n"
 
 #, python-format
 msgid "update returned %d"
-msgstr ""
+msgstr "Aktualisierung gab Fehlercode %d zurück"
 
 msgid "repo commit failed"
-msgstr ""
+msgstr "Übernahme der Änderungen schlug fehl"
 
 #, python-format
 msgid "unable to read %s"
-msgstr ""
+msgstr "Fehler beim Lesen von %s"
 
 #, python-format
 msgid "patch %s does not exist\n"
-msgstr ""
+msgstr "Patch %s existiert nicht\n"
 
 #, python-format
 msgid "patch %s is not applied\n"
-msgstr ""
+msgstr "Patch %s ist nicht angewendet\n"
 
 msgid "patch failed, unable to continue (try -v)\n"
-msgstr ""
+msgstr "Patch schlug fehl und Fortsetzung unmöglich (versuche -v)\n"
 
 #, python-format
 msgid "applying %s\n"
 msgstr "Wende %s an\n"
 
 #, python-format
-msgid "Unable to read %s\n"
-msgstr ""
+msgid "unable to read %s\n"
+msgstr "nicht lesbar: %s\n"
 
 #, python-format
 msgid "imported patch %s\n"
-msgstr ""
+msgstr "Importierter Patch %s\n"
 
 #, python-format
 msgid ""
 "\n"
 "imported patch %s"
 msgstr ""
+"\n"
+"Importierter Patch %s"
 
 #, python-format
 msgid "patch %s is empty\n"
-msgstr ""
+msgstr "Patch %s ist leer\n"
 
 msgid "patch failed, rejects left in working dir\n"
-msgstr ""
+msgstr "Patch schlug fehl, Fehlerabschnitte noch im Arbeitsverzeichnis\n"
 
 msgid "fuzz found when applying patch, stopping\n"
-msgstr ""
+msgstr "fuzz bei Anwendung des patches gefunden - breche ab\n"
 
 #, python-format
 msgid "revision %d is not managed"
-msgstr ""
+msgstr "Revision %d steht nicht unter Versionskontrolle"
 
 #, python-format
 msgid "cannot delete revision %d above applied patches"
-msgstr ""
+msgstr "Kann Revision %d nicht hinter angewendeten Patches löschen"
+
+#, python-format
+msgid "patch %s finalized without changeset message\n"
+msgstr "Patch %s ohne Versionsmeldung finalisiert\n"
 
 msgid "qdelete requires at least one revision or patch name"
-msgstr ""
+msgstr "qdelete benötigt mindestens eine Revision oder einen Patchnamen"
 
 #, python-format
 msgid "cannot delete applied patch %s"
-msgstr ""
+msgstr "kann bereits angewendeten Patch %s nicht löschen"
 
 #, python-format
 msgid "patch %s not in series file"
-msgstr ""
+msgstr "Patch %s ist nicht in der \"series\" Datei"
 
 msgid "no patches applied"
-msgstr ""
+msgstr "Keine Patches angewendet"
 
 msgid "working directory revision is not qtip"
-msgstr ""
+msgstr "Revision des Arbeitsverzeichnisses ist nicht qtip"
 
 msgid "local changes found, refresh first"
-msgstr ""
+msgstr "Lokale Änderungen gefunden. Führe zunächst \"qrefresh\" aus!"
 
 msgid "local changes found"
-msgstr ""
+msgstr "Lokale Änderungen gefunden"
 
 #, python-format
 msgid "\"%s\" cannot be used as the name of a patch"
-msgstr ""
+msgstr "\"%s\" kann nicht als Patchname verwendet werden"
 
 #, python-format
 msgid "patch \"%s\" already exists"
-msgstr ""
+msgstr "Patch \"%s\" existiert bereits"
 
 #, python-format
 msgid "error unlinking %s\n"
-msgstr ""
+msgstr "Fehler beim Löschen von %s\n"
 
 #, python-format
 msgid "patch name \"%s\" is ambiguous:\n"
-msgstr ""
+msgstr "Patchname \"%s\" ist mehrdeutig:\n"
 
 #, python-format
 msgid "patch %s not in series"
-msgstr ""
+msgstr "Patch %s nicht in Serie"
 
 msgid "(working directory not at a head)\n"
 msgstr "(Arbeitsverzeichnis ist keine Kopfversion)\n"
 
 msgid "no patches in series\n"
-msgstr ""
+msgstr "Keine Patches in Serie\n"
 
 #, python-format
 msgid "cannot push to a previous patch: %s"
@@ -2422,11 +2747,15 @@
 msgid "deletions found between repo revs"
 msgstr ""
 
+#, python-format
+msgid "popping %s\n"
+msgstr "Entferne (obersten) %s\n"
+
 msgid "patch queue now empty\n"
-msgstr ""
+msgstr "Patchschlange ist jetzt leer\n"
 
 msgid "cannot refresh a revision with children"
-msgstr ""
+msgstr "Kann keine Revision mit Kindern aktualisieren"
 
 msgid ""
 "refresh interrupted while patch was popped! (revert --all, qpush to "
@@ -2527,16 +2856,12 @@
 msgid ""
 "remove patches from queue\n"
 "\n"
-"    The patches must not be applied, unless they are arguments to the\n"
-"    -r/--rev parameter. At least one patch or revision is required.\n"
-"\n"
-"    With --rev, mq will stop managing the named revisions (converting\n"
-"    them to regular mercurial changesets). The qfinish command should\n"
-"    be used as an alternative for qdelete -r, as the latter option is\n"
-"    deprecated.\n"
-"\n"
-"    With -k/--keep, the patch files are preserved in the patch\n"
-"    directory."
+"    The patches must not be applied, and at least one patch is required. "
+"With\n"
+"    -k/--keep, the patch files are preserved in the patch directory.\n"
+"\n"
+"    To stop managing a patch and move it into permanent history,\n"
+"    use the qfinish command."
 msgstr ""
 
 msgid "print the patches already applied"
@@ -2596,7 +2921,7 @@
 "    Source patch repository is looked for in <src>/.hg/patches by\n"
 "    default. Use -p <url> to change.\n"
 "\n"
-"    The patch directory must be a nested mercurial repository, as\n"
+"    The patch directory must be a nested Mercurial repository, as\n"
 "    would be created by qinit -c.\n"
 "    "
 msgstr ""
@@ -2965,7 +3290,7 @@
 msgid "keep patch file"
 msgstr ""
 
-msgid "stop managing a revision"
+msgid "stop managing a revision (DEPRECATED)"
 msgstr ""
 
 msgid "hg qdelete [-k] [-r REV]... [PATCH]..."
@@ -3001,7 +3326,7 @@
 msgid "import file in patch directory"
 msgstr ""
 
-msgid "patch file name"
+msgid "name of patch file"
 msgstr ""
 
 msgid "overwrite existing files"
@@ -3082,16 +3407,16 @@
 msgid "refresh only files already in the patch and specified files"
 msgstr ""
 
-msgid "add/update \"From: <current user>\" in patch"
-msgstr ""
-
-msgid "add/update \"From: <given user>\" in patch"
-msgstr ""
-
-msgid "update \"Date: <current date>\" in patch (if present)"
-msgstr ""
-
-msgid "update \"Date: <given date>\" in patch (if present)"
+msgid "add/update author field in patch with current user"
+msgstr ""
+
+msgid "add/update author field in patch with given user"
+msgstr ""
+
+msgid "add/update date field in patch with current date"
+msgstr ""
+
+msgid "add/update date field in patch with given date"
 msgstr ""
 
 msgid "hg qrefresh [-I] [-X] [-e] [-m TEXT] [-l FILE] [-s] [FILE]..."
@@ -3166,71 +3491,72 @@
 msgid "finish all applied changesets"
 msgstr ""
 
-msgid "hg qfinish [-a] [REV...]"
-msgstr ""
-
-msgid ""
-"hook extension to email notifications on commits/pushes\n"
-"\n"
-"Subscriptions can be managed through hgrc. Default mode is to print\n"
-"messages to stdout, for testing and configuring.\n"
-"\n"
-"To use, configure notify extension and enable in hgrc like this:\n"
-"\n"
-"   [extensions]\n"
-"   hgext.notify =\n"
-"\n"
-"   [hooks]\n"
-"   # one email for each incoming changeset\n"
-"   incoming.notify = python:hgext.notify.hook\n"
-"   # batch emails when many changesets incoming at one time\n"
-"   changegroup.notify = python:hgext.notify.hook\n"
-"\n"
-"   [notify]\n"
-"   # config items go in here\n"
-"\n"
-" config items:\n"
-"\n"
-" REQUIRED:\n"
-"   config = /path/to/file # file containing subscriptions\n"
-"\n"
-" OPTIONAL:\n"
-"   test = True            # print messages to stdout for testing\n"
-"   strip = 3              # number of slashes to strip for url paths\n"
-"   domain = example.com   # domain to use if committer missing domain\n"
-"   style = ...            # style file to use when formatting email\n"
-"   template = ...         # template to use when formatting email\n"
-"   incoming = ...         # template to use when run as incoming hook\n"
-"   changegroup = ...      # template when run as changegroup hook\n"
-"   maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
-"   maxsubject = 67        # truncate subject line longer than this\n"
-"   diffstat = True        # add a diffstat before the diff content\n"
-"   sources = serve        # notify if source of incoming changes in this "
+msgid "hg qfinish [-a] [REV]..."
+msgstr ""
+
+msgid ""
+"hooks for sending email notifications at commit/push time\n"
+"\n"
+"Subscriptions can be managed through a hgrc file. Default mode is to\n"
+"print messages to stdout, for testing and configuring.\n"
+"\n"
+"To use, configure the notify extension and enable it in hgrc like\n"
+"this::\n"
+"\n"
+"  [extensions]\n"
+"  hgext.notify =\n"
+"\n"
+"  [hooks]\n"
+"  # one email for each incoming changeset\n"
+"  incoming.notify = python:hgext.notify.hook\n"
+"  # batch emails when many changesets incoming at one time\n"
+"  changegroup.notify = python:hgext.notify.hook\n"
+"\n"
+"  [notify]\n"
+"  # config items go here\n"
+"\n"
+"Required configuration items::\n"
+"\n"
+"  config = /path/to/file # file containing subscriptions\n"
+"\n"
+"Optional configuration items::\n"
+"\n"
+"  test = True            # print messages to stdout for testing\n"
+"  strip = 3              # number of slashes to strip for url paths\n"
+"  domain = example.com   # domain to use if committer missing domain\n"
+"  style = ...            # style file to use when formatting email\n"
+"  template = ...         # template to use when formatting email\n"
+"  incoming = ...         # template to use when run as incoming hook\n"
+"  changegroup = ...      # template when run as changegroup hook\n"
+"  maxdiff = 300          # max lines of diffs to include (0=none, -1=all)\n"
+"  maxsubject = 67        # truncate subject line longer than this\n"
+"  diffstat = True        # add a diffstat before the diff content\n"
+"  sources = serve        # notify if source of incoming changes in this "
 "list\n"
-"                          # (serve == ssh or http, push, pull, bundle)\n"
-"   [email]\n"
-"   from = user@host.com   # email address to send as if none given\n"
-"   [web]\n"
-"   baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
-"\n"
-" notify config file has same format as regular hgrc. it has two\n"
-" sections so you can express subscriptions in whatever way is handier\n"
-" for you.\n"
-"\n"
-"   [usersubs]\n"
-"   # key is subscriber email, value is \",\"-separated list of glob "
-"patterns\n"
-"   user@host = pattern\n"
-"\n"
-"   [reposubs]\n"
-"   # key is glob pattern, value is \",\"-separated list of subscriber "
-"emails\n"
-"   pattern = user@host\n"
-"\n"
-" glob patterns are matched against path to repository root.\n"
-"\n"
-" if you like, you can put notify config file in repository that users\n"
-" can push changes to, they can manage their own subscriptions."
+"                         # (serve == ssh or http, push, pull, bundle)\n"
+"  [email]\n"
+"  from = user@host.com   # email address to send as if none given\n"
+"  [web]\n"
+"  baseurl = http://hgserver/... # root of hg web site for browsing commits\n"
+"\n"
+"The notify config file has same format as a regular hgrc file. It has\n"
+"two sections so you can express subscriptions in whatever way is\n"
+"handier for you.\n"
+"\n"
+"::\n"
+"\n"
+"  [usersubs]\n"
+"  # key is subscriber email, value is \",\"-separated list of glob patterns\n"
+"  user@host = pattern\n"
+"\n"
+"  [reposubs]\n"
+"  # key is glob pattern, value is \",\"-separated list of subscriber emails\n"
+"  pattern = user@host\n"
+"\n"
+"Glob patterns are matched against path to repository root.\n"
+"\n"
+"If you like, you can put notify config file in repository that users\n"
+"can push changes to, they can manage their own subscriptions.\n"
 msgstr ""
 
 #, python-format
@@ -3264,9 +3590,9 @@
 msgstr ""
 
 msgid ""
-"browse command output with external pager\n"
-"\n"
-"To set the pager that should be used, set the application variable:\n"
+"browse command output with an external pager\n"
+"\n"
+"To set the pager that should be used, set the application variable::\n"
 "\n"
 "  [pager]\n"
 "  pager = LESS='FSRX' less\n"
@@ -3275,19 +3601,19 @@
 "$PAGER. If neither pager.pager, nor $PAGER is set, no pager is used.\n"
 "\n"
 "If you notice \"BROKEN PIPE\" error messages, you can disable them by\n"
-"setting:\n"
+"setting::\n"
 "\n"
 "  [pager]\n"
 "  quiet = True\n"
 "\n"
 "You can disable the pager for certain commands by adding them to the\n"
-"pager.ignore list:\n"
+"pager.ignore list::\n"
 "\n"
 "  [pager]\n"
 "  ignore = version, help, update\n"
 "\n"
 "You can also enable the pager only for certain commands using\n"
-"pager.attend:\n"
+"pager.attend::\n"
 "\n"
 "  [pager]\n"
 "  attend = log\n"
@@ -3299,27 +3625,27 @@
 msgstr ""
 
 msgid ""
-"use suffixes to refer to ancestor revisions\n"
+"interpret suffixes to refer to ancestor revisions\n"
 "\n"
 "This extension allows you to use git-style suffixes to refer to the\n"
 "ancestors of a specific revision.\n"
 "\n"
-"For example, if you can refer to a revision as \"foo\", then:\n"
-"\n"
-"- foo^N = Nth parent of foo\n"
+"For example, if you can refer to a revision as \"foo\", then::\n"
+"\n"
+"  foo^N = Nth parent of foo\n"
 "  foo^0 = foo\n"
 "  foo^1 = first parent of foo\n"
 "  foo^2 = second parent of foo\n"
 "  foo^  = foo^1\n"
 "\n"
-"- foo~N = Nth first grandparent of foo\n"
+"  foo~N = Nth first grandparent of foo\n"
 "  foo~0 = foo\n"
 "  foo~1 = foo^1 = foo^ = first parent of foo\n"
 "  foo~2 = foo^1^1 = foo^^ = first parent of first parent of foo\n"
 msgstr ""
 
 msgid ""
-"sending Mercurial changesets as a series of patch emails\n"
+"command to send changesets as (a series of) patch emails\n"
 "\n"
 "The series is started off with a \"[PATCH 0 of N]\" introduction, which\n"
 "describes the series as a whole.\n"
@@ -3328,11 +3654,9 @@
 "first line of the changeset description as the subject text. The\n"
 "message contains two or three body parts:\n"
 "\n"
-"  The changeset description.\n"
-"\n"
-"  [Optional] The result of running diffstat on the patch.\n"
-"\n"
-"  The patch itself, as generated by \"hg export\".\n"
+"- The changeset description.\n"
+"- [Optional] The result of running diffstat on the patch.\n"
+"- The patch itself, as generated by \"hg export\".\n"
 "\n"
 "Each message refers to the first in the series using the In-Reply-To\n"
 "and References headers, so they will show up as a sequence in threaded\n"
@@ -3342,13 +3666,8 @@
 "with a diffstat summary and the changeset summary, so you can be sure\n"
 "you are sending the right changes.\n"
 "\n"
-"To enable this extension:\n"
-"\n"
-"  [extensions]\n"
-"  hgext.patchbomb =\n"
-"\n"
 "To configure other defaults, add a section like this to your hgrc\n"
-"file:\n"
+"file::\n"
 "\n"
 "  [email]\n"
 "  from = My Name <my@email>\n"
@@ -3371,13 +3690,13 @@
 "patchbomb message in a pager or sending the messages directly, it will\n"
 "create a UNIX mailbox file with the patch emails. This mailbox file\n"
 "can be previewed with any mail user agent which supports UNIX mbox\n"
-"files, e.g. with mutt:\n"
+"files, e.g. with mutt::\n"
 "\n"
 "  % mutt -R -f mbox\n"
 "\n"
-"When you are previewing the patchbomb messages, you can use `formail'\n"
+"When you are previewing the patchbomb messages, you can use ``formail``\n"
 "(a utility that is commonly installed as part of the procmail\n"
-"package), to send each message out:\n"
+"package), to send each message out::\n"
 "\n"
 "  % formail -s sendmail -bm -t < mbox\n"
 "\n"
@@ -3387,7 +3706,7 @@
 "to be a sendmail compatible mailer or fill out the [smtp] section so\n"
 "that the patchbomb extension can automatically send patchbombs\n"
 "directly from the commandline. See the [email] and [smtp] sections in\n"
-"hgrc(5) for details."
+"hgrc(5) for details.\n"
 msgstr ""
 
 msgid "Please enter a valid value.\n"
@@ -3427,23 +3746,24 @@
 "    single email containing a binary Mercurial bundle as an attachment\n"
 "    will be sent.\n"
 "\n"
-"    Examples:\n"
-"\n"
-"    hg email -r 3000          # send patch 3000 only\n"
-"    hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
-"    hg email -r 3000:3005     # send patches 3000 through 3005\n"
-"    hg email 3000             # send patch 3000 (deprecated)\n"
-"\n"
-"    hg email -o               # send all patches not in default\n"
-"    hg email -o DEST          # send all patches not in DEST\n"
-"    hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
-"    hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
-"\n"
-"    hg email -b               # send bundle of all patches not in default\n"
-"    hg email -b DEST          # send bundle of all patches not in DEST\n"
-"    hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
+"    Examples::\n"
+"\n"
+"      hg email -r 3000          # send patch 3000 only\n"
+"      hg email -r 3000 -r 3001  # send patches 3000 and 3001\n"
+"      hg email -r 3000:3005     # send patches 3000 through 3005\n"
+"      hg email 3000             # send patch 3000 (deprecated)\n"
+"\n"
+"      hg email -o               # send all patches not in default\n"
+"      hg email -o DEST          # send all patches not in DEST\n"
+"      hg email -o -r 3000       # send all ancestors of 3000 not in default\n"
+"      hg email -o -r 3000 DEST  # send all ancestors of 3000 not in DEST\n"
+"\n"
+"      hg email -b               # send bundle of all patches not in default\n"
+"      hg email -b DEST          # send bundle of all patches not in DEST\n"
+"      hg email -b -r 3000       # bundle of all ancestors of 3000 not in "
 "default\n"
-"    hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in DEST\n"
+"      hg email -b -r 3000 DEST  # bundle of all ancestors of 3000 not in "
+"DEST\n"
 "\n"
 "    Before using this command, you will need to enable email in your\n"
 "    hgrc. See the [email] section in hgrc(5) for details.\n"
@@ -3534,7 +3854,7 @@
 msgid "send changes not in target as a binary bundle"
 msgstr ""
 
-msgid "file name of the bundle attachment"
+msgid "name of the bundle attachment file"
 msgstr ""
 
 msgid "a revision to send"
@@ -3553,6 +3873,9 @@
 msgid "hg email [OPTION]... [DEST]..."
 msgstr ""
 
+msgid "command to delete untracked files from the working directory"
+msgstr "Löscht nicht versionierte Dateien aus dem Arbeitsverzeichnis"
+
 msgid ""
 "removes files not tracked by Mercurial\n"
 "\n"
@@ -3560,13 +3883,16 @@
 "    and uncommitted changes in an otherwise-clean source tree.\n"
 "\n"
 "    This means that purge will delete:\n"
-"     - Unknown files: files marked with \"?\" by \"hg status\"\n"
-"     - Empty directories: in fact Mercurial ignores directories unless\n"
-"       they contain files under source control management\n"
+"\n"
+"    - Unknown files: files marked with \"?\" by \"hg status\"\n"
+"    - Empty directories: in fact Mercurial ignores directories unless\n"
+"      they contain files under source control management\n"
+"\n"
 "    But it will leave untouched:\n"
-"     - Modified and unmodified tracked files\n"
-"     - Ignored files (unless --all is specified)\n"
-"     - New files added to the repository (with \"hg add\")\n"
+"\n"
+"    - Modified and unmodified tracked files\n"
+"    - Ignored files (unless --all is specified)\n"
+"    - New files added to the repository (with \"hg add\")\n"
 "\n"
 "    If directories are given on the command line, only files in these\n"
 "    directories are considered.\n"
@@ -3600,8 +3926,8 @@
 msgid "purge ignored files too"
 msgstr ""
 
-msgid "print the file names instead of deleting them"
-msgstr ""
+msgid "print filenames instead of deleting them"
+msgstr "Zeigt Dateinamen an, statt sie zu entfernen"
 
 msgid "end filenames with NUL, for use with xargs (implies -p/--print)"
 msgstr ""
@@ -3611,19 +3937,18 @@
 msgstr ""
 
 msgid ""
-"move sets of revisions to a different ancestor\n"
+"command to move sets of revisions to a different ancestor\n"
 "\n"
 "This extension lets you rebase changesets in an existing Mercurial\n"
 "repository.\n"
 "\n"
 "For more information:\n"
-"http://www.selenic.com/mercurial/wiki/index.cgi/RebaseProject\n"
+"http://mercurial.selenic.com/wiki/RebaseExtension\n"
 msgstr ""
 
 msgid "first revision, do not change ancestor\n"
 msgstr "Erste Revision, ändere den Vorgänger nicht\n"
 
-#, fuzzy
 msgid ""
 "move changeset (and descendants) to a different branch\n"
 "\n"
@@ -3643,8 +3968,8 @@
 "    lokale Änderungen abhängig von einem Hauptentwicklunszweig zu\n"
 "    linearisieren.\n"
 "\n"
-"    Sollte ein Rebase unterbrochen werden, um manuell eine Zusammenführung\n"
-"    auszuführen, kann er mit --continue wieder aufgenommen oder mit --abort\n"
+"    Sollte eine Verschiebung zwecks manueller Konfliktbehebung unterbrochen\n"
+"    werden, kann sie mit --continue wieder aufgenommen oder mit --abort\n"
 "    abgebrochen werden.\n"
 "    "
 
@@ -3804,8 +4129,7 @@
 "| [-c] | [-a]"
 msgstr ""
 
-# Nicht übersetzen
-msgid "interactive change selection during commit or qrefresh"
+msgid "commands to interactively select changes for commit/qrefresh"
 msgstr ""
 
 msgid "this modifies a binary file (all or nothing)\n"
@@ -3845,30 +4169,9 @@
 msgid "&?"
 msgstr ""
 
-msgid "y"
-msgstr ""
-
-msgid "?"
-msgstr ""
-
 msgid "y - record this change"
 msgstr "y - übernimmt diese Änderung"
 
-msgid "s"
-msgstr ""
-
-msgid "f"
-msgstr ""
-
-msgid "d"
-msgstr ""
-
-msgid "a"
-msgstr ""
-
-msgid "q"
-msgstr ""
-
 msgid "user quit"
 msgstr "Abbruch durch Benutzer"
 
@@ -3879,6 +4182,9 @@
 msgid " and "
 msgstr " und "
 
+msgid "y"
+msgstr ""
+
 #, python-format
 msgid "record this change to %r?"
 msgstr "Übernehme die Änderung an %r?"
@@ -3898,30 +4204,30 @@
 "    You will be prompted for whether to record changes to each\n"
 "    modified file, and for files with multiple changes, for each\n"
 "    change to use. For each query, the following responses are\n"
-"    possible:\n"
-"\n"
-"    y - record this change\n"
-"    n - skip this change\n"
-"\n"
-"    s - skip remaining changes to this file\n"
-"    f - record remaining changes to this file\n"
-"\n"
-"    d - done, skip remaining changes and files\n"
-"    a - record all changes to all remaining files\n"
-"    q - quit, recording no changes\n"
-"\n"
-"    ? - display help"
-msgstr ""
-"Interaktive Auswahl von Änderungen zur Übernahme ins Archiv\n"
-"\n"
-"    Falls keine Liste von Dateien übergeben wird, gelten alle von\n"
+"    possible::\n"
+"\n"
+"      y - record this change\n"
+"      n - skip this change\n"
+"\n"
+"      s - skip remaining changes to this file\n"
+"      f - record remaining changes to this file\n"
+"\n"
+"      d - done, skip remaining changes and files\n"
+"      a - record all changes to all remaining files\n"
+"      q - quit, recording no changes\n"
+"\n"
+"      ? - display help"
+msgstr ""
+"Interaktive Auswahl der Änderungen zur Übernahme ins Archiv\n"
+"\n"
+"    Falls keine Liste von Dateien angegeben wird, gelten alle von\n"
 "    \"hg status\" gemeldeten Änderungen als Kandidaten für 'record'.\n"
 "\n"
-"    Siehe 'hg help dates' für eine Liste aller gültigen Formate für -d/--\n"
+"    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
 "\n"
 "    Es erfolgt eine Abfrage für jede Datei, ob Änderungen übernommen\n"
-"    werden sollen, bei Dateien mit mehreren Änderungen für jede einzelne\n"
-"    Änderung. Folgenden Antworten sind bei jeder Anfrage möglich:\n"
+"    werden sollen. Bei Dateien mit mehreren Änderungen für jede einzelne\n"
+"    Änderung. Folgenden Antworten sind bei jeder Anfrage möglich::\n"
 "\n"
 "    y - übernimmt diese Änderung\n"
 "    n - überspringt diese Änderung\n"
@@ -3964,8 +4270,28 @@
 msgid "hg qrecord [OPTION]... PATCH [FILE]..."
 msgstr "hg qrecord [OPTION]... PATCH [DATEI]..."
 
-msgid ""
-"patch transplanting tool\n"
+msgid "share a common history between several working directories"
+msgstr ""
+
+msgid ""
+"create a new shared repository (experimental)\n"
+"\n"
+"    Initialize a new repository and working directory that shares its\n"
+"    history with another repository.\n"
+"\n"
+"    NOTE: actions that change history such as rollback or moving the\n"
+"    source may confuse sharers.\n"
+"    "
+msgstr ""
+
+msgid "do not create a working copy"
+msgstr "erstelle keine Arbeitskopie"
+
+msgid "[-U] SOURCE [DEST]"
+msgstr "[-U] QUELLE [ZIEL]"
+
+msgid ""
+"command to transplant changesets from another branch\n"
 "\n"
 "This extension allows you to transplant patches from another branch.\n"
 "\n"
@@ -4028,9 +4354,9 @@
 "\n"
 "    Selected changesets will be applied on top of the current working\n"
 "    directory with the log of the original changeset. If --log is\n"
-"    specified, log messages will have a comment appended of the form:\n"
-"\n"
-"    (transplanted from CHANGESETHASH)\n"
+"    specified, log messages will have a comment appended of the form::\n"
+"\n"
+"      (transplanted from CHANGESETHASH)\n"
 "\n"
 "    You can rewrite the changelog message with the --filter option.\n"
 "    Its argument will be invoked with the current changelog message as\n"
@@ -4111,7 +4437,7 @@
 msgstr ""
 
 msgid ""
-"allow to use MBCS path with problematic encoding.\n"
+"allow the use of MBCS paths with problematic encodings\n"
 "\n"
 "Some MBCS encodings are not good for some path operations (i.e.\n"
 "splitting path, case conversion, etc.) with its encoded bytes. We call\n"
@@ -4121,33 +4447,30 @@
 "operation.\n"
 "\n"
 "This extension is useful for:\n"
-" * Japanese Windows users using shift_jis encoding.\n"
-" * Chinese Windows users using big5 encoding.\n"
-" * All users who use a repository with one of problematic encodings on\n"
-"   case-insensitive file system.\n"
+"\n"
+"- Japanese Windows users using shift_jis encoding.\n"
+"- Chinese Windows users using big5 encoding.\n"
+"- All users who use a repository with one of problematic encodings on\n"
+"  case-insensitive file system.\n"
 "\n"
 "This extension is not needed for:\n"
-" * Any user who use only ASCII chars in path.\n"
-" * Any user who do not use any of problematic encodings.\n"
+"\n"
+"- Any user who use only ASCII chars in path.\n"
+"- Any user who do not use any of problematic encodings.\n"
 "\n"
 "Note that there are some limitations on using this extension:\n"
-" * You should use single encoding in one repository.\n"
-" * You should set same encoding for the repository by locale or\n"
-"   HGENCODING.\n"
-"\n"
-"To use this extension, enable the extension in .hg/hgrc or ~/.hgrc:\n"
-"\n"
-"  [extensions]\n"
-"  hgext.win32mbcs =\n"
+"\n"
+"- You should use single encoding in one repository.\n"
+"- You should set same encoding for the repository by locale or\n"
+"  HGENCODING.\n"
 "\n"
 "Path encoding conversion are done between Unicode and\n"
-"encoding.encoding which is decided by mercurial from current locale\n"
+"encoding.encoding which is decided by Mercurial from current locale\n"
 "setting or HGENCODING.\n"
-"\n"
-msgstr ""
-
-#, python-format
-msgid "[win32mbcs] filename conversion fail with %s encoding\n"
+msgstr ""
+
+#, python-format
+msgid "[win32mbcs] filename conversion failed with %s encoding\n"
 msgstr ""
 
 msgid "[win32mbcs] cannot activate on this platform.\n"
@@ -4157,6 +4480,36 @@
 msgid "[win32mbcs] activated with encoding: %s\n"
 msgstr ""
 
+msgid ""
+"perform automatic newline conversion\n"
+"\n"
+"To perform automatic newline conversion, use::\n"
+"\n"
+"  [extensions]\n"
+"  hgext.win32text =\n"
+"  [encode]\n"
+"  ** = cleverencode:\n"
+"  # or ** = macencode:\n"
+"\n"
+"  [decode]\n"
+"  ** = cleverdecode:\n"
+"  # or ** = macdecode:\n"
+"\n"
+"If not doing conversion, to make sure you do not commit CRLF/CR by "
+"accident::\n"
+"\n"
+"  [hooks]\n"
+"  pretxncommit.crlf = python:hgext.win32text.forbidcrlf\n"
+"  # or pretxncommit.cr = python:hgext.win32text.forbidcr\n"
+"\n"
+"To do the same check on a server to prevent CRLF/CR from being\n"
+"pushed or pulled::\n"
+"\n"
+"  [hooks]\n"
+"  pretxnchangegroup.crlf = python:hgext.win32text.forbidcrlf\n"
+"  # or pretxnchangegroup.cr = python:hgext.win32text.forbidcr\n"
+msgstr ""
+
 #, python-format
 msgid ""
 "WARNING: %s already has %s line endings\n"
@@ -4193,28 +4546,22 @@
 msgstr ""
 
 msgid ""
-"zeroconf support for mercurial repositories\n"
+"discover and advertise repositories on the local network\n"
 "\n"
 "Zeroconf enabled repositories will be announced in a network without\n"
 "the need to configure a server or a service. They can be discovered\n"
 "without knowing their actual IP address.\n"
 "\n"
-"To use the zeroconf extension add the following entry to your hgrc\n"
-"file:\n"
-"\n"
-"[extensions]\n"
-"hgext.zeroconf =\n"
-"\n"
 "To allow other people to discover your repository using run \"hg serve\"\n"
-"in your repository.\n"
-"\n"
-" $ cd test\n"
-" $ hg serve\n"
-"\n"
-"You can discover zeroconf enabled repositories by running \"hg paths\".\n"
-"\n"
-" $ hg paths\n"
-" zc-test = http://example.com:8000/test\n"
+"in your repository::\n"
+"\n"
+"  $ cd test\n"
+"  $ hg serve\n"
+"\n"
+"You can discover zeroconf enabled repositories by running \"hg paths\"::\n"
+"\n"
+"  $ hg paths\n"
+"  zc-test = http://example.com:8000/test\n"
 msgstr ""
 
 msgid "archive prefix contains illegal components"
@@ -4280,7 +4627,7 @@
 msgstr "Zu viele Revisionen angegeben"
 
 #, python-format
-msgid "invalid format spec '%%%s' in output file name"
+msgid "invalid format spec '%%%s' in output filename"
 msgstr "Ungültiges Format '%%%s' für den Namen der Ausgabedatei"
 
 #, python-format
@@ -4432,7 +4779,7 @@
 msgid "%s:%s copy source revision cannot be found!\n"
 msgstr "%s:%s Revision des Originals nicht gefunden!\n"
 
-msgid "can only follow copies/renames for explicit file names"
+msgid "can only follow copies/renames for explicit filenames"
 msgstr ""
 "Kopien/Umbenennungen können nur zu expliziten Dateinamen verfolgt werden"
 
@@ -4442,7 +4789,7 @@
 "entfernt."
 
 msgid "HG: Leave message empty to abort commit."
-msgstr ""
+msgstr "HG: Leere Versionsmeldung wird das Übernehmen abbrechen."
 
 #, python-format
 msgid "HG: user: %s"
@@ -4456,6 +4803,10 @@
 msgstr ""
 
 #, python-format
+msgid "HG: subrepo %s"
+msgstr "HG: Unterarchiv %s"
+
+#, python-format
 msgid "HG: added %s"
 msgstr ""
 
@@ -4480,7 +4831,7 @@
 "    repository.\n"
 "\n"
 "    The files will be added to the repository at the next commit. To\n"
-"    undo an add before that, see hg revert.\n"
+"    undo an add before that, see hg forget.\n"
 "\n"
 "    If no names are given, add all files to the repository.\n"
 "    "
@@ -4508,11 +4859,11 @@
 "    commit.\n"
 "\n"
 "    Use the -s/--similarity option to detect renamed files. With a\n"
-"    parameter > 0, this compares every removed file with every added\n"
-"    file and records those similar enough as renames. This option\n"
-"    takes a percentage between 0 (disabled) and 100 (files must be\n"
-"    identical) as its parameter. Detecting renamed files this way can\n"
-"    be expensive.\n"
+"    parameter greater than 0, this compares every removed file with\n"
+"    every added file and records those similar enough as renames. This\n"
+"    option takes a percentage between 0 (disabled) and 100 (files must\n"
+"    be identical) as its parameter. Detecting renamed files this way\n"
+"    can be expensive.\n"
 "    "
 msgstr ""
 "Fügt alle neuen Dateien hinzu, löscht alle fehlenden Dateien\n"
@@ -4525,7 +4876,7 @@
 "    Übernehmen (commit).\n"
 "\n"
 "    Nutze die Option -s um umbenannte Dateien zu entdecken. Mit einem\n"
-"    Parameter > 0 wird jede entfernte Datei mit jeder hinzugefügten "
+"    Parameter > 0 wird jede gelöschte Datei mit jeder hinzugefügten "
 "verglichen\n"
 "    und bei genügender Ähnlichkeit als Umbenennung markiert. Diese Option\n"
 "    erwartet eine Prozentangabe zwischen 0 (deaktiviert) und 100 (Dateien\n"
@@ -4540,20 +4891,21 @@
 msgstr "similarity muss zwischen 0 und 100 liegen"
 
 msgid ""
-"show changeset information per file line\n"
+"show changeset information by line for each file\n"
 "\n"
 "    List changes in files, showing the revision id responsible for\n"
 "    each line\n"
 "\n"
-"    This command is useful to discover who did a change or when a\n"
-"    change took place.\n"
+"    This command is useful for discovering when a change was made and\n"
+"    by whom.\n"
 "\n"
 "    Without the -a/--text option, annotate will avoid processing files\n"
-"    it detects as binary. With -a, annotate will generate an\n"
-"    annotation anyway, probably with undesirable results.\n"
-"    "
-msgstr ""
-"Zeigt Änderungssatz (changeset) Informationen pro Dateizeile an\n"
+"    it detects as binary. With -a, annotate will annotate the file\n"
+"    anyway, although the results will probably be neither useful\n"
+"    nor desirable.\n"
+"    "
+msgstr ""
+"Zeigt Informationen über Änderungssätze pro Dateizeile an\n"
 "\n"
 "    Listet Änderungen in Dateien mit der zugehörigen Revisions-Id für jede\n"
 "    Zeile auf\n"
@@ -4561,14 +4913,14 @@
 "    Dieser Befehl ist nützlich, um herauszufinden wer eine Änderung gemacht\n"
 "    hat oder wann eine Änderung stattgefunden hat.\n"
 "\n"
-"    Ohne die Option -a wird die Verarbeitung von Binärdateien vermieden.\n"
-"    Mit -a werden auch solche Dateien verarbeitet, wahrscheinlich mit "
-"unerwünschtem\n"
-"    Ergebnis.\n"
-"    "
-
-msgid "at least one file name or pattern required"
-msgstr "Zumindest ein Dateiname oder Muster benötigt"
+"    Ohne den Schalter -a/--text wird die Verarbeitung von Binärdateien\n"
+"    vermieden. Mit -a werden auch solche Dateien verarbeitet, "
+"wahrscheinlich\n"
+"    mit unerwünschtem Ergebnis.\n"
+"    "
+
+msgid "at least one filename or pattern is required"
+msgstr "Mindestens ein Dateiname oder Muster benötigt"
 
 msgid "at least one of -n/-c is required for -l"
 msgstr "Zumindest -n oder -c werden für -l benötigt"
@@ -4578,20 +4930,20 @@
 msgstr "%s: Binärdatei\n"
 
 msgid ""
-"create unversioned archive of a repository revision\n"
+"create an unversioned archive of a repository revision\n"
 "\n"
 "    By default, the revision used is the parent of the working\n"
 "    directory; use -r/--rev to specify a different revision.\n"
 "\n"
 "    To specify the type of archive to create, use -t/--type. Valid\n"
-"    types are:\n"
-"\n"
-"    \"files\" (default): a directory full of files\n"
-"    \"tar\": tar archive, uncompressed\n"
-"    \"tbz2\": tar archive, compressed using bzip2\n"
-"    \"tgz\": tar archive, compressed using gzip\n"
-"    \"uzip\": zip archive, uncompressed\n"
-"    \"zip\": zip archive, compressed using deflate\n"
+"    types are::\n"
+"\n"
+"      \"files\" (default): a directory full of files\n"
+"      \"tar\": tar archive, uncompressed\n"
+"      \"tbz2\": tar archive, compressed using bzip2\n"
+"      \"tgz\": tar archive, compressed using gzip\n"
+"      \"uzip\": zip archive, uncompressed\n"
+"      \"zip\": zip archive, compressed using deflate\n"
 "\n"
 "    The exact name of the destination archive or directory is given\n"
 "    using a format string; see 'hg help export' for details.\n"
@@ -4606,10 +4958,11 @@
 "\n"
 "    Standardmäßig wird die Vorgängerversion der im Arbeitsverzeichnis "
 "gefundenen\n"
-"    verwendet. Eine andere Reversion kann mit \"-r\" angegeben werden.\n"
-"\n"
-"    Um den Typ des Archivs anzugeben, nutze \"-t\". Gültige\n"
-"    Typen sind:\n"
+"    verwendet. Eine andere Reversion kann mit \"-r/--rev\" angegeben "
+"werden.\n"
+"\n"
+"    Um den Typ des Archivs anzugeben, nutze \"-t/--type\". Gültige\n"
+"    Typen sind::\n"
 "\n"
 "    \"files\" (Standard): ein Verzeichnis voller Dateien\n"
 "    \"tar\": tar Archiv, unkomprimiert\n"
@@ -4642,9 +4995,9 @@
 "    Commit the backed out changes as a new changeset. The new\n"
 "    changeset is a child of the backed out changeset.\n"
 "\n"
-"    If you back out a changeset other than the tip, a new head is\n"
+"    If you backout a changeset other than the tip, a new head is\n"
 "    created. This head will be the new tip and you should merge this\n"
-"    backout changeset with another head (current one by default).\n"
+"    backout changeset with another head.\n"
 "\n"
 "    The --merge option remembers the parent of the working directory\n"
 "    before starting the backout, then merges the new head with that\n"
@@ -4671,7 +5024,7 @@
 "sofort\n"
 "    übernommen, sondern existiert als lokale Änderung.\n"
 "\n"
-"    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
+"    Siehe \"hg help dates\" für eine Liste gültiger Formate für -d/--date.\n"
 "    "
 
 msgid "please specify just one revision"
@@ -4680,13 +5033,13 @@
 msgid "please specify a revision to backout"
 msgstr "Bitte eine Revision, die zurückgezogen werden soll, angeben"
 
-msgid "cannot back out change on a different branch"
+msgid "cannot backout change on a different branch"
 msgstr "Kann die Änderung auf einem abweichenden Zweig nicht rückgängig machen"
 
-msgid "cannot back out a change with no parents"
+msgid "cannot backout a change with no parents"
 msgstr "Kann eine Änderung ohne Vorgängerversion nicht rückgängig machen"
 
-msgid "cannot back out a merge changeset without --parent"
+msgid "cannot backout a merge changeset without --parent"
 msgstr "Kann eine Zusammenführung nicht ohne --parent rückgängig machen"
 
 #, python-format
@@ -4697,10 +5050,6 @@
 msgstr "Kann mit --parent nur Zusammenführung rückgängig machen"
 
 #, python-format
-msgid "Backed out changeset %s"
-msgstr "Änderungssatz %s wurde rückgängig gemacht"
-
-#, python-format
 msgid "changeset %s backs out changeset %s\n"
 msgstr "Änderungssatz %s macht Änderungssatz %s rückgängig\n"
 
@@ -4714,6 +5063,7 @@
 msgid "(use \"backout --merge\" if you want to auto-merge)\n"
 msgstr "(nutze \"backout --merge\" für eine automatische Zusammenführung)\n"
 
+#, fuzzy
 msgid ""
 "subdivision search of changesets\n"
 "\n"
@@ -4722,18 +5072,18 @@
 "    bad, then mark the latest changeset which is free from the problem\n"
 "    as good. Bisect will update your working directory to a revision\n"
 "    for testing (unless the -U/--noupdate option is specified). Once\n"
-"    you have performed tests, mark the working directory as bad or\n"
-"    good and bisect will either update to another candidate changeset\n"
+"    you have performed tests, mark the working directory as good or\n"
+"    bad, and bisect will either update to another candidate changeset\n"
 "    or announce that it has found the bad revision.\n"
 "\n"
 "    As a shortcut, you can also use the revision argument to mark a\n"
 "    revision as good or bad without checking it out first.\n"
 "\n"
-"    If you supply a command it will be used for automatic bisection.\n"
-"    Its exit status will be used as flag to mark revision as bad or\n"
-"    good. In case exit status is 0 the revision is marked as good, 125\n"
-"    - skipped, 127 (command not found) - bisection will be aborted;\n"
-"    any other status bigger than 0 will mark revision as bad.\n"
+"    If you supply a command, it will be used for automatic bisection.\n"
+"    Its exit status will be used to mark revisions as good or bad:\n"
+"    status 0 means good, 125 means to skip the revision, 127\n"
+"    (command not found) will abort the bisection, and any other\n"
+"    non-zero exit status means the revision is bad.\n"
 "    "
 msgstr ""
 "Binäre Suche von Änderungssätzen\n"
@@ -4791,6 +5141,10 @@
 msgstr "Inkompatible Argumente"
 
 #, python-format
+msgid "cannot find executable: %s"
+msgstr "Kann ausführbare Datei nicht finden: %s"
+
+#, python-format
 msgid "failed to execute %s"
 msgstr "Fehler bei der Ausführung von %s"
 
@@ -4799,29 +5153,31 @@
 msgstr "%s gestorben"
 
 #, python-format
-msgid "Changeset %s: %s\n"
-msgstr "Änderungssatz %s: %s\n"
-
-#, python-format
-msgid "Testing changeset %s:%s (%s changesets remaining, ~%s tests)\n"
-msgstr "Teste Änderungssatz %s:%s (%s Änderungssätze verbleiben, ~%s Tests)\n"
+msgid "Changeset %d:%s: %s\n"
+msgstr "Änderungssatz %d:%s: %s\n"
+
+#, python-format
+msgid "Testing changeset %d:%s (%d changesets remaining, ~%d tests)\n"
+msgstr "Teste Änderungssatz %d:%s (%d Änderungssätze verbleiben, ~%d Tests)\n"
 
 msgid ""
 "set or show the current branch name\n"
 "\n"
 "    With no argument, show the current branch name. With one argument,\n"
-"    set the working directory branch name (the branch does not exist\n"
-"    in the repository until the next commit). It is recommended to use\n"
-"    the 'default' branch as your primary development branch.\n"
+"    set the working directory branch name (the branch will not exist\n"
+"    in the repository until the next commit). Standard practice\n"
+"    recommends that primary development take place on the 'default'\n"
+"    branch.\n"
 "\n"
 "    Unless -f/--force is specified, branch will not let you set a\n"
-"    branch name that shadows an existing branch.\n"
+"    branch name that already exists, even if it's inactive.\n"
 "\n"
 "    Use -C/--clean to reset the working directory branch to that of\n"
 "    the parent of the working directory, negating a previous branch\n"
 "    change.\n"
 "\n"
-"    Use the command 'hg update' to switch to an existing branch.\n"
+"    Use the command 'hg update' to switch to an existing branch. Use\n"
+"    'hg commit --close-branch' to mark this branch as closed.\n"
 "    "
 msgstr ""
 "Setzt oder zeigt den Namen des aktuellen Zweigs\n"
@@ -4832,10 +5188,11 @@
 "    Es wird empfohlen den 'default'-Zweig als Hauptentwicklungszweig zu\n"
 "    nutzen.\n"
 "\n"
-"    Außer bei Angabe von --force lässt 'hg branch' nicht zu, einen Namen zu\n"
-"    vergeben, der einen existierenden Zweig überdeckt.\n"
-"\n"
-"    Nutze --clean um den neuen Namen rückgängig zu machen. Die Arbeitskopie\n"
+"    Außer bei Angabe von -f/--force lässt 'hg branch' nicht zu, einen Namen\n"
+"    zu vergeben, der einen existierenden Zweig überdeckt.\n"
+"\n"
+"    Nutze -C/--clean um den neuen Namen rückgängig zu machen. Die "
+"Arbeitskopie\n"
 "    hat dann wieder den selben Namen wie der Vorgänger im Projektarchiv.\n"
 "\n"
 "    Um auf einen anderen (existierenden) Zweig zu wechseln, siehe 'hg "
@@ -4853,13 +5210,16 @@
 msgid "marked working directory as branch %s\n"
 msgstr "Arbeitsverzeichnis wurde als Zweig %s markiert\n"
 
+#, fuzzy
 msgid ""
 "list repository named branches\n"
 "\n"
 "    List the repository's named branches, indicating which ones are\n"
-"    inactive. If active is specified, only show active branches.\n"
-"\n"
-"    A branch is considered active if it contains repository heads.\n"
+"    inactive. If -c/--closed is specified, also list branches which have\n"
+"    been marked closed (see hg commit --close-branch).\n"
+"\n"
+"    If -a/--active is specified, only show active branches. A branch\n"
+"    is considered active if it contains repository heads.\n"
 "\n"
 "    Use the command 'hg update' to switch to an existing branch.\n"
 "    "
@@ -4875,6 +5235,7 @@
 "update'.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "create a changegroup file\n"
 "\n"
@@ -4884,9 +5245,11 @@
 "    If no destination repository is specified the destination is\n"
 "    assumed to have all the nodes specified by one or more --base\n"
 "    parameters. To create a bundle containing all changesets, use\n"
-"    -a/--all (or --base null). To change the compression method\n"
-"    applied, use the -t/--type option (by default, bundles are\n"
-"    compressed using bz2).\n"
+"    -a/--all (or --base null).\n"
+"\n"
+"    You can change compression method with the -t/--type option.\n"
+"    The available compression methods are: none, bzip2, and\n"
+"    gzip (by default, bundles are compressed using bzip2).\n"
 "\n"
 "    The bundle file can then be transferred using conventional means\n"
 "    and applied to another repository with the unbundle or pull\n"
@@ -4926,6 +5289,7 @@
 msgid "unknown bundle type specified with --type"
 msgstr "Unbekannter Bündeltyp mit --type angegeben"
 
+#, fuzzy
 msgid ""
 "output the current or given revision of files\n"
 "\n"
@@ -4935,11 +5299,11 @@
 "\n"
 "    Output may be to a file, in which case the name of the file is\n"
 "    given using a format string. The formatting rules are the same as\n"
-"    for the export command, with the following additions:\n"
-"\n"
-"    %s   basename of file being printed\n"
-"    %d   dirname of file being printed, or '.' if in repository root\n"
-"    %p   root-relative path name of file being printed\n"
+"    for the export command, with the following additions::\n"
+"\n"
+"      %s   basename of file being printed\n"
+"      %d   dirname of file being printed, or '.' if in repository root\n"
+"      %p   root-relative path name of file being printed\n"
 "    "
 msgstr ""
 "Gibt den Inhalt von Dateien in der aktuellen oder angegebenen Revision aus\n"
@@ -4952,13 +5316,14 @@
 "    Die Ausgabe kann in eine Datei erfolgen. In diesem Fall wird der Name\n"
 "    der Datei mit einem Formatstring vorgegeben. Die Formatierungsregeln "
 "sind\n"
-"    analog des 'export'-Befehls mit folgenden Ergänzungen:\n"
+"    analog des 'export'-Befehls mit folgenden Ergänzungen::\n"
 "\n"
 "    %s   Dateiname der ausgegebenen Datei\n"
 "    %d   Verzeichnisname der Datei oder '.' in der Wurzel des Archivs\n"
 "    %p   Pfad und Dateiname relativ zur Archiv-Wurzel\n"
 "    "
 
+#, fuzzy
 msgid ""
 "make a copy of an existing repository\n"
 "\n"
@@ -4984,8 +5349,7 @@
 "\n"
 "    It is possible to specify an ssh:// URL as the destination, but no\n"
 "    .hg/hgrc and working directory will be created on the remote side.\n"
-"    Look at the help text for URLs for important details about ssh://\n"
-"    URLs.\n"
+"    Please see 'hg help urls' for important details about ssh:// URLs.\n"
 "\n"
 "    For efficiency, hardlinks are used for cloning whenever the source\n"
 "    and destination are on the same filesystem (note this applies only\n"
@@ -4995,7 +5359,7 @@
 "    avoid hardlinking.\n"
 "\n"
 "    In some cases, you can clone repositories and checked out files\n"
-"    using full hardlinks with\n"
+"    using full hardlinks with ::\n"
 "\n"
 "      $ cp -al REPO REPOCLONE\n"
 "\n"
@@ -5005,7 +5369,6 @@
 "    breaks hardlinks (Emacs and most Linux Kernel tools do so). Also,\n"
 "    this is not compatible with certain extensions that place their\n"
 "    metadata under the .hg directory, such as mq.\n"
-"\n"
 "    "
 msgstr ""
 "Erzeugt eine Kopie eines bestehenden Projektarchivs\n"
@@ -5058,18 +5421,19 @@
 "\n"
 "    "
 
+#, fuzzy
 msgid ""
 "commit the specified files or all outstanding changes\n"
 "\n"
 "    Commit changes to the given files into the repository. Unlike a\n"
 "    centralized RCS, this operation is a local operation. See hg push\n"
-"    for means to actively distribute your changes.\n"
+"    for a way to actively distribute your changes.\n"
 "\n"
 "    If a list of files is omitted, all changes reported by \"hg status\"\n"
 "    will be committed.\n"
 "\n"
 "    If you are committing the result of a merge, do not provide any\n"
-"    file names or -I/-X filters.\n"
+"    filenames or -I/-X filters.\n"
 "\n"
 "    If no commit message is specified, the configured editor is\n"
 "    started to prompt you for a message.\n"
@@ -5097,6 +5461,9 @@
 "date.\n"
 "    "
 
+msgid "nothing changed\n"
+msgstr "Keine Änderung\n"
+
 msgid "created new head\n"
 msgstr "neuer Kopf erzeugt\n"
 
@@ -5104,6 +5471,7 @@
 msgid "committed changeset %d:%s\n"
 msgstr "Änderungssatz %d erzeugt:%s\n"
 
+#, fuzzy
 msgid ""
 "mark files as copied for the next commit\n"
 "\n"
@@ -5112,7 +5480,7 @@
 "    the source must be a single file.\n"
 "\n"
 "    By default, this command copies the contents of files as they\n"
-"    stand in the working directory. If invoked with -A/--after, the\n"
+"    exist in the working directory. If invoked with -A/--after, the\n"
 "    operation is recorded, but no copying is performed.\n"
 "\n"
 "    This command takes effect with the next commit. To undo a copy\n"
@@ -5200,8 +5568,8 @@
 "    With multiple arguments, print names and values of all config\n"
 "    items with matching section names.\n"
 "\n"
-"    With the --debug flag, the source (filename and line number) is\n"
-"    printed for each config item.\n"
+"    With --debug, the source (filename and line number) is printed\n"
+"    for each config item.\n"
 "    "
 msgstr ""
 "Zeigt die kombinierten Konfigurationswerte aller hgrc-Dateien an\n"
@@ -5213,7 +5581,10 @@
 "    Konfigurationseintrages angezeigt.\n"
 "\n"
 "    Mit mehreren Argumenten werden die Namen und Werte aller passenden\n"
-"    Konfigurationseinträge angezeigt."
+"    Konfigurationseinträge angezeigt.\n"
+"    Mit dem --debug Schalter wird der Dateiname und die Zeilennummer der\n"
+"    Definitionsquelle mit jedem Eintrag ausgegeben.\n"
+"    "
 
 msgid "only one config item permitted"
 msgstr "Nur ein Konfigurationseintrag ist erlaubt"
@@ -5253,11 +5624,11 @@
 msgid "dump the contents of an index file"
 msgstr ""
 
-msgid "dump an index DAG as a .dot file"
+msgid "dump an index DAG as a graphviz dot file"
 msgstr ""
 
 msgid "test Mercurial installation"
-msgstr "Tested die Mercurial Installation"
+msgstr "Testet die Mercurial Installation"
 
 #, python-format
 msgid "Checking encoding (%s)...\n"
@@ -5301,8 +5672,8 @@
 "sein. Prüfe die .hgrc Datei!)\n"
 
 msgid ""
-" Internal patcher failure, please report this error to http://www.selenic."
-"com/mercurial/bts\n"
+" Internal patcher failure, please report this error to http://mercurial."
+"selenic.com/bts/\n"
 msgstr ""
 "Fehlschlag des internen patch Werkzeugs. Bitte melden Sie diesen Fehler bei "
 "http://www.selenic.com/mercurial/bts\n"
@@ -5398,6 +5769,7 @@
 "aufschlussreich.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "dump the header and diffs for one or more changesets\n"
 "\n"
@@ -5411,23 +5783,23 @@
 "    first parent only.\n"
 "\n"
 "    Output may be to a file, in which case the name of the file is\n"
-"    given using a format string. The formatting rules are as follows:\n"
-"\n"
-"    %%   literal \"%\" character\n"
-"    %H   changeset hash (40 bytes of hexadecimal)\n"
-"    %N   number of patches being generated\n"
-"    %R   changeset revision number\n"
-"    %b   basename of the exporting repository\n"
-"    %h   short-form changeset hash (12 bytes of hexadecimal)\n"
-"    %n   zero-padded sequence number, starting at 1\n"
-"    %r   zero-padded changeset revision number\n"
+"    given using a format string. The formatting rules are as follows::\n"
+"\n"
+"      %%   literal \"%\" character\n"
+"      %H   changeset hash (40 bytes of hexadecimal)\n"
+"      %N   number of patches being generated\n"
+"      %R   changeset revision number\n"
+"      %b   basename of the exporting repository\n"
+"      %h   short-form changeset hash (12 bytes of hexadecimal)\n"
+"      %n   zero-padded sequence number, starting at 1\n"
+"      %r   zero-padded changeset revision number\n"
 "\n"
 "    Without the -a/--text option, export will avoid generating diffs\n"
 "    of files it detects as binary. With -a, export will generate a\n"
 "    diff anyway, probably with undesirable results.\n"
 "\n"
 "    Use the -g/--git option to generate diffs in the git extended diff\n"
-"    format. Read the diffs help topic for more information.\n"
+"    format. See 'hg help diffs' for more information.\n"
 "\n"
 "    With the --switch-parent option, the diff will be against the\n"
 "    second parent. It can be useful to review a merge.\n"
@@ -5447,7 +5819,7 @@
 "    Die Ausgabe kann in eine Datei erfolgen (Option -o). In diesem Fall "
 "wird\n"
 "    der Name für jede ausgegebene Revision anhand einer Formatangabe "
-"erzeugt:\n"
+"erzeugt::\n"
 "\n"
 "    %%   literales \"%\" Zeichen\n"
 "    %H   Prüfsumme des Änderungssatzes (40 Byte hexadezimal)\n"
@@ -5478,6 +5850,27 @@
 msgstr "Exportiere Patch:\n"
 
 msgid ""
+"forget the specified files on the next commit\n"
+"\n"
+"    Mark the specified files so they will no longer be tracked\n"
+"    after the next commit.\n"
+"\n"
+"    This only removes files from the current branch, not from the\n"
+"    entire project history, and it does not delete them from the\n"
+"    working directory.\n"
+"\n"
+"    To undo a forget before the next commit, see hg add.\n"
+"    "
+msgstr ""
+
+msgid "no files specified"
+msgstr "Keine Dateien angegeben"
+
+#, python-format
+msgid "not removing %s: file is already untracked\n"
+msgstr "Entferne %s nicht: Datei ist nicht versioniert\n"
+
+msgid ""
 "search for a pattern in specified files and revisions\n"
 "\n"
 "    Search revisions of files for a regular expression.\n"
@@ -5521,36 +5914,55 @@
 "\n"
 "    With no arguments, show all repository head changesets.\n"
 "\n"
-"    If branch or revisions names are given this will show the heads of\n"
-"    the specified branches or the branches those revisions are tagged\n"
-"    with.\n"
-"\n"
 "    Repository \"heads\" are changesets that don't have child\n"
 "    changesets. They are where development generally takes place and\n"
 "    are the usual targets for update and merge operations.\n"
 "\n"
-"    Branch heads are changesets that have a given branch tag, but have\n"
-"    no child changesets with that tag. They are usually where\n"
-"    development on the given branch takes place.\n"
+"    If one or more REV is given, the \"branch heads\" will be shown for\n"
+"    the named branch associated with that revision. The name of the\n"
+"    branch is called the revision's branch tag.\n"
+"\n"
+"    Branch heads are revisions on a given named branch that do not have\n"
+"    any descendants on the same branch. A branch head could be a true head\n"
+"    or it could be the last changeset on a branch before a new branch\n"
+"    was created. If none of the branch heads are true heads, the branch\n"
+"    is considered inactive. If -c/--closed is specified, also show branch\n"
+"    heads marked closed (see hg commit --close-branch).\n"
+"\n"
+"    If STARTREV is specified only those heads (or branch heads) that\n"
+"    are descendants of STARTREV will be displayed.\n"
 "    "
 msgstr ""
 "Zeigt die Köpfe des Archivs oder von Entwicklungszweigen\n"
 "\n"
-"    Ohne Argumente werden alle Kopfversionen angezeigt\n"
-"\n"
-"    Wenn Zweig- oder Revisionsnamen angegeben werden, werden die Köpfe\n"
-"    dieser Zweige oder der Zweige, mit denen die Revisionen markiert\n"
-"    wurden, angezeigt.\n"
-"\n"
-"    Die \"Köpfe\" eines Archivs sind Änderungssätze, die keine\n"
-"    Folgeversion haben. Hier findet typischerweise die Entwicklung statt\n"
-"    und diese Versionen sind normalerweise Ziel von Aktualisierungen oder\n"
-"    Zusammenführungen.\n"
-"\n"
-"    Köpfe von Zweigen sind Versionen mit einem Zweignamen, die aber\n"
-"    keine Folgeversionen dieses Namens haben. Hier findet typischerweise\n"
-"    die Entwicklung dieses Zweiges statt.\n"
-"    "
+"    Ohne Argumente werden alle Köpfe des Archivs angezeigt.\n"
+"\n"
+"    Archivköpfe sind Revisionen, die keine Kinder haben. Typischerweise "
+"geht\n"
+"    die Entwicklung hier weiter und die Köpfe sind häufig Ziel von\n"
+"    Aktualisierungen und Zusammenführungen.\n"
+"\n"
+"    Wenn eine oder mehrere REV Argumente gegeben sind, werden die Köpfe von\n"
+"    den benannten Zweigen dieser Revisionen angezeigt. Der Name des Zweigs\n"
+"    wird auch das Zweigetikett der Revision genannt.\n"
+"\n"
+"    Zweigköpfe sind Revisionen eines bestimmten Zweigs, die keine Kinder\n"
+"    im selben Zweig besitzen. Dies kann ein \"echter\" Kopf sein, oder die\n"
+"    letzte Revision bevor ein neuer Zweig erstellt wurde. Falls kein Kopf\n"
+"    eines Zweigs ein echter Kopf ist, gilt der Zweig als inaktiv. Zweige\n"
+"    die mit dem Übernahmeoption \"--close-branch\" geschlossen wurden,\n"
+"    werden nur mit dem -c/--closed Schalter angezeigt.\n"
+"\n"
+"    Bei Angabe einer STARTREV werden nur solche Köpfe (oder Zweigköpfe)\n"
+"    angezeigt, die Nachfahren der gegebenen Revision sind.\n"
+"    "
+
+msgid "you must specify a branch to use --closed"
+msgstr "für --closed muss ein Zweig angegeben sein"
+
+#, python-format
+msgid "no open branch heads on branch %s\n"
+msgstr "Keine offenen Zweigköpfe auf Zweig %s\n"
 
 #, python-format
 msgid "no changes on branch %s containing %s are reachable from %s\n"
@@ -5561,10 +5973,11 @@
 msgid "no changes on branch %s are reachable from %s\n"
 msgstr "Keine Änderungen auf dem Zweig %s sind von %s erreichbar\n"
 
+#, fuzzy
 msgid ""
 "show help for a given topic or a help overview\n"
 "\n"
-"    With no arguments, print a list of commands and short help.\n"
+"    With no arguments, print a list of commands with short help messages.\n"
 "\n"
 "    Given a topic, extension, or command name, print help for that\n"
 "    topic."
@@ -5618,25 +6031,19 @@
 msgid "no commands defined\n"
 msgstr "keine Befehle definiert\n"
 
-msgid ""
-"\n"
-"enabled extensions:\n"
-"\n"
-msgstr ""
-"\n"
-"Aktive Erweiterungen:\n"
-"\n"
-
-#, python-format
-msgid " %s   %s\n"
-msgstr ""
+msgid "enabled extensions:"
+msgstr "Aktive Erweiterungen:"
 
 msgid "no help text available"
 msgstr "keine Hilfe verfügbar"
 
 #, python-format
-msgid "%s extension - %s\n"
-msgstr "%s Erweiterung - %s\n"
+msgid ""
+"%s extension - %s\n"
+"\n"
+msgstr ""
+"%s Erweiterung - %s\n"
+"\n"
 
 msgid "Mercurial Distributed SCM\n"
 msgstr ""
@@ -5657,13 +6064,15 @@
 "Zusätzliche Hilfethemen:\n"
 "\n"
 
+#, fuzzy
 msgid ""
 "identify the working copy or specified revision\n"
 "\n"
 "    With no revision, print a summary of the current state of the\n"
 "    repository.\n"
 "\n"
-"    With a path, do a lookup in another repository.\n"
+"    Specifying a path to a repository root or Mercurial bundle will\n"
+"    cause lookup to operate on that repository/bundle.\n"
 "\n"
 "    This summary identifies the repository state using one or two\n"
 "    parent hash identifiers, followed by a \"+\" if there are\n"
@@ -5676,7 +6085,8 @@
 "    Ohne Revision wird eine Zusammenfassung des aktuellen Status des\n"
 "    Projektarchivs angezeigt.\n"
 "\n"
-"    Mit einem Pfad wird eine Abfrage auf ein anderes Archiv ausgeführt.\n"
+"    Mit einem Pfad auf ein Projektverzeichnis oder ein Bündel wird eine\n"
+"    Abfrage auf dies andere Archiv/Bündel ausgeführt.\n"
 "\n"
 "    Die Zusammenfassung beschreibt den Zustand des Projektarchivs unter\n"
 "    Nutzung von ein oder zwei Prüfsummenbezeichnern, gefolgt von einem \"+"
@@ -5686,6 +6096,7 @@
 "    falls nicht der 'default'-Zweig vorliegt.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "import an ordered set of patches\n"
 "\n"
@@ -5695,8 +6106,8 @@
 "    will abort unless given the -f/--force flag.\n"
 "\n"
 "    You can import a patch straight from a mail message. Even patches\n"
-"    as attachments work (body part must be type text/plain or\n"
-"    text/x-patch to be used). From and Subject headers of email\n"
+"    as attachments work (to use the body part, it must have type\n"
+"    text/plain or text/x-patch). From and Subject headers of email\n"
 "    message are used as default committer and commit message. All\n"
 "    text/plain body parts before first diff are added to commit\n"
 "    message.\n"
@@ -5715,8 +6126,9 @@
 "    With -s/--similarity, hg will attempt to discover renames and\n"
 "    copies in the patch in the same way as 'addremove'.\n"
 "\n"
-"    To read a patch from standard input, use patch name \"-\". See 'hg\n"
-"    help dates' for a list of formats valid for -d/--date.\n"
+"    To read a patch from standard input, use \"-\" as the patch name. If\n"
+"    a URL is specified, the patch will be downloaded from it.\n"
+"    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "    "
 msgstr ""
 "Importiert eine Liste von Patches\n"
@@ -5770,18 +6182,19 @@
 "Meldung:\n"
 "%s\n"
 
-msgid "not a mercurial patch"
+msgid "not a Mercurial patch"
 msgstr "Kein Mercurial Patch"
 
 msgid "patch is damaged or loses information"
 msgstr "Prüfsumme stimmt nicht überein: Patch korrumpiert"
 
+#, fuzzy
 msgid ""
 "show new changesets found in source\n"
 "\n"
 "    Show new changesets found in the specified path/URL or the default\n"
-"    pull location. These are the changesets that would be pulled if a\n"
-"    pull was requested.\n"
+"    pull location. These are the changesets that would have been pulled\n"
+"    if a pull at the time you issued this command.\n"
 "\n"
 "    For remote repository, using --bundle avoids downloading the\n"
 "    changesets twice if the incoming is followed by a pull.\n"
@@ -5791,12 +6204,8 @@
 msgstr ""
 "Zeigt neue Revisionen in einer externen Quelle an\n"
 "\n"
-"    Zeigt alle neuen Änderungen an, die durch ein \"hg pull\" vom "
-"angegebenen\n"
-"    Pfad/URL oder dem 'default'-Pfad geholt werden würden. Diese "
-"Änderungssätze\n"
-"    würden geholt, wenn 'hg pull' ausgeführt würde.\n"
-"\n"
+"    Zeigt alle neuen Änderungen an, die durch ein \"hg pull\" vom \n"
+"    angegebenen Pfad/URL oder dem 'default'-Pfad geholt werden würden.\n"
 "    Für entfernte Archive sorgt die Option --bundle dafür, dass die "
 "Änderungen\n"
 "    bei einem folgenden \"hg pull\" nicht ein zweites Mal geholt werden.\n"
@@ -5804,11 +6213,12 @@
 "    Siehe \"hg help pull\" für gültige Angaben für die Quelle.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "create a new repository in the given directory\n"
 "\n"
 "    Initialize a new repository in the given directory. If the given\n"
-"    directory does not exist, it is created.\n"
+"    directory does not exist, it will be created.\n"
 "\n"
 "    If no directory is given, the current directory is used.\n"
 "\n"
@@ -5827,23 +6237,24 @@
 "    Siehe 'hg help urls' für mehr Informationen.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "locate files matching specific patterns\n"
 "\n"
-"    Print all files under Mercurial control whose names match the\n"
-"    given patterns.\n"
-"\n"
-"    This command searches the entire repository by default. To search\n"
-"    just the current directory and its subdirectories, use\n"
-"    \"--include .\".\n"
-"\n"
-"    If no patterns are given to match, this command prints all file\n"
-"    names.\n"
+"    Print files under Mercurial control in the working directory whose\n"
+"    names match the given patterns.\n"
+"\n"
+"    By default, this command searches all directories in the working\n"
+"    directory. To search just the current directory and its\n"
+"    subdirectories, use \"--include .\".\n"
+"\n"
+"    If no patterns are given to match, this command prints the names\n"
+"    of all files under Mercurial control in the working directory.\n"
 "\n"
 "    If you want to feed the output of this command into the \"xargs\"\n"
 "    command, use the -0 option to both this command and \"xargs\". This\n"
 "    will avoid the problem of \"xargs\" treating single filenames that\n"
-"    contain white space as multiple filenames.\n"
+"    contain whitespace as multiple filenames.\n"
 "    "
 msgstr ""
 "Suche Dateien mit bestimmtem Namen\n"
@@ -5864,6 +6275,7 @@
 "    mit Leerzeichen in Dateinamen vermeidet.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "show revision history of entire repository or files\n"
 "\n"
@@ -5871,8 +6283,8 @@
 "    project.\n"
 "\n"
 "    File history is shown without following rename or copy history of\n"
-"    files. Use -f/--follow with a file name to follow history across\n"
-"    renames and copies. --follow without a file name will only show\n"
+"    files. Use -f/--follow with a filename to follow history across\n"
+"    renames and copies. --follow without a filename will only show\n"
 "    ancestors or descendants of the starting revision. --follow-first\n"
 "    only follows the first parent of merge revisions.\n"
 "\n"
@@ -5882,16 +6294,15 @@
 "\n"
 "    See 'hg help dates' for a list of formats valid for -d/--date.\n"
 "\n"
-"    By default this command outputs: changeset id and hash, tags,\n"
-"    non-trivial parents, user, date and time, and a summary for each\n"
-"    commit. When the -v/--verbose switch is used, the list of changed\n"
-"    files and full commit message is shown.\n"
+"    By default this command prints revision number and changeset id,\n"
+"    tags, non-trivial parents, user, date and time, and a summary for\n"
+"    each commit. When the -v/--verbose switch is used, the list of\n"
+"    changed files and full commit message are shown.\n"
 "\n"
 "    NOTE: log -p/--patch may generate unexpected diff output for merge\n"
 "    changesets, as it will only compare the merge changeset against\n"
-"    its first parent. Also, the files: list will only reflect files\n"
-"    that are different from BOTH parents.\n"
-"\n"
+"    its first parent. Also, only files different from BOTH parents\n"
+"    will appear in files:.\n"
 "    "
 msgstr ""
 "Zeigt die Revisionshistorie des Archivs oder von Dateien an\n"
@@ -5934,10 +6345,10 @@
 "\n"
 "    Print a list of version controlled files for the given revision.\n"
 "    If no revision is given, the first parent of the working directory\n"
-"    is used, or the null revision if none is checked out.\n"
-"\n"
-"    With -v flag, print file permissions, symlink and executable bits.\n"
-"    With --debug flag, print file revision hashes.\n"
+"    is used, or the null revision if no revision is checked out.\n"
+"\n"
+"    With -v, print file permissions, symlink and executable bits.\n"
+"    With --debug, print file revision hashes.\n"
 "    "
 msgstr ""
 "Gibt das Manifest der angegebenen oder aktuellen Revision aus.\n"
@@ -5950,25 +6361,26 @@
 "\n"
 "    Mit dem Schalter -v werden zusätzlich zum Dateinamen auch die Rechte "
 "und\n"
-"    der Dateityp (Verknüpfung/ausführbar) ausgegeben. Mit --debug auch noch\n"
+"    der Dateityp (Verknüpfung/ausführbar) ausgegeben; mit --debug auch noch\n"
 "    die Prüfsumme.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "merge working directory with another revision\n"
 "\n"
-"    The contents of the current working directory is updated with all\n"
-"    changes made in the requested revision since the last common\n"
-"    predecessor revision.\n"
+"    The current working directory is updated with all changes made in\n"
+"    the requested revision since the last common predecessor revision.\n"
 "\n"
 "    Files that changed between either parent are marked as changed for\n"
 "    the next commit and a commit must be performed before any further\n"
-"    updates are allowed. The next commit has two parents.\n"
+"    updates to the repository are allowed. The next commit will have\n"
+"    two parents.\n"
 "\n"
 "    If no revision is specified, the working directory's parent is a\n"
 "    head revision, and the current branch contains exactly one other\n"
 "    head, the other head is merged with by default. Otherwise, an\n"
-"    explicit revision to merge with must be provided.\n"
+"    explicit revision with which to merge with must be provided.\n"
 "    "
 msgstr ""
 "Führt das Arbeitsverzeichnis mit einer anderen Revision zusammen\n"
@@ -6031,14 +6443,15 @@
 "    Siehe Hilfe zu 'pull' für das Format der Zieladresse.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "show the parents of the working directory or revision\n"
 "\n"
 "    Print the working directory's parent revisions. If a revision is\n"
 "    given via -r/--rev, the parent of that revision will be printed.\n"
-"    If a file argument is given, revision in which the file was last\n"
-"    changed (before the working directory revision or the argument to\n"
-"    --rev if given) is printed.\n"
+"    If a file argument is given, the revision in which the file was\n"
+"    last changed (before the working directory revision or the\n"
+"    argument to --rev if given) is printed.\n"
 "    "
 msgstr ""
 "Zeigt die Vorgänger des Arbeitsverzeichnisses oder einer Revision\n"
@@ -6051,18 +6464,19 @@
 "    angegeben).\n"
 "    "
 
-msgid "can only specify an explicit file name"
+msgid "can only specify an explicit filename"
 msgstr "Ein expliziter Dateiname muss angegeben werden"
 
 #, python-format
 msgid "'%s' not found in manifest!"
 msgstr "'%s' nicht im Manifest gefunden!"
 
+#, fuzzy
 msgid ""
 "show aliases for remote repositories\n"
 "\n"
 "    Show definition of symbolic path name NAME. If no name is given,\n"
-"    show definition of available names.\n"
+"    show definition of all available names.\n"
 "\n"
 "    Path names are defined in the [paths] section of /etc/mercurial/hgrc\n"
 "    and $HOME/.hgrc. If run inside a repository, .hg/hgrc is used, too.\n"
@@ -6087,7 +6501,7 @@
 msgstr "nicht gefunden!\n"
 
 msgid "not updating, since new heads added\n"
-msgstr "Aktualisierung nicht durchgeführt, da neue Köpfe hingefügt wurden\n"
+msgstr "Aktualisierung nicht durchgeführt, da neue Köpfe hinzugefügt wurden\n"
 
 msgid "(run 'hg heads' to see heads, 'hg merge' to merge)\n"
 msgstr ""
@@ -6096,17 +6510,21 @@
 msgid "(run 'hg update' to get a working copy)\n"
 msgstr "(führe \"hg update\" aus, um ein Arbeitsverzeichnis zu erstellen)\n"
 
+#, fuzzy
 msgid ""
 "pull changes from the specified source\n"
 "\n"
-"    Pull changes from a remote repository to the local one.\n"
+"    Pull changes from a remote repository to a local one.\n"
 "\n"
 "    This finds all changes from the repository at the specified path\n"
-"    or URL and adds them to the local repository. By default, this\n"
-"    does not update the copy of the project in the working directory.\n"
-"\n"
-"    Use hg incoming if you want to see what will be added by the next\n"
-"    pull without actually adding the changes to the repository.\n"
+"    or URL and adds them to a local repository (the current one unless\n"
+"    -R is specified). By default, this does not update the copy of the\n"
+"    project in the working directory.\n"
+"\n"
+"    Use hg incoming if you want to see what would have been added by a\n"
+"    pull at the time you issued this command. If you then decide to\n"
+"    added those changes to the repository, you should use pull -r X\n"
+"    where X is the last changeset listed by hg incoming.\n"
 "\n"
 "    If SOURCE is omitted, the 'default' path will be used.\n"
 "    See 'hg help urls' for more information.\n"
@@ -6129,6 +6547,7 @@
 "    Formate für die Quellangabe.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "push changes to the specified destination\n"
 "\n"
@@ -6141,14 +6560,13 @@
 "\n"
 "    By default, push will refuse to run if it detects the result would\n"
 "    increase the number of remote heads. This generally indicates the\n"
-"    the client has forgotten to pull and merge before pushing.\n"
+"    user forgot to pull and merge before pushing.\n"
 "\n"
 "    If -r/--rev is used, the named revision and all its ancestors will\n"
 "    be pushed to the remote repository.\n"
 "\n"
-"    Look at the help text for URLs for important details about ssh://\n"
+"    Please see 'hg help urls' for important details about ssh://\n"
 "    URLs. If DESTINATION is omitted, a default path will be used.\n"
-"    See 'hg help urls' for more information.\n"
 "    "
 msgstr ""
 "Überträgt lokale Änderungen in das angegebene Ziel\n"
@@ -6197,6 +6615,7 @@
 "    nur dann nötig sein, wenn eine Meldung von Mercurial es vorschlägt.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "remove the specified files on the next commit\n"
 "\n"
@@ -6206,19 +6625,19 @@
 "    entire project history. -A/--after can be used to remove only\n"
 "    files that have already been deleted, -f/--force can be used to\n"
 "    force deletion, and -Af can be used to remove files from the next\n"
-"    revision without deleting them.\n"
+"    revision without deleting them from the working directory.\n"
 "\n"
 "    The following table details the behavior of remove for different\n"
 "    file states (columns) and option combinations (rows). The file\n"
-"    states are Added, Clean, Modified and Missing (as reported by hg\n"
-"    status). The actions are Warn, Remove (from branch) and Delete\n"
-"    (from disk).\n"
-"\n"
-"           A  C  M  !\n"
-"    none   W  RD W  R\n"
-"    -f     R  RD RD R\n"
-"    -A     W  W  W  R\n"
-"    -Af    R  R  R  R\n"
+"    states are Added [A], Clean [C], Modified [M] and Missing [!] (as\n"
+"    reported by hg status). The actions are Warn, Remove (from branch)\n"
+"    and Delete (from disk)::\n"
+"\n"
+"             A  C  M  !\n"
+"      none   W  RD W  R\n"
+"      -f     R  RD RD R\n"
+"      -A     W  W  W  R\n"
+"      -Af    R  R  R  R\n"
 "\n"
 "    This command schedules the files to be removed at the next commit.\n"
 "    To undo a remove before that, see hg revert.\n"
@@ -6240,7 +6659,7 @@
 "    (Reihen). Die Dateizustände sind Hinzugefügt (A), Unverändert (C),\n"
 "    Verändert (M) und Fehlend (!) (wie von 'hg status' angezeigt). Die\n"
 "    Aktionen sind Warnen, Entfernen (aus dem Zweig) und Löschen\n"
-"    (von der Festplatte).\n"
+"    (von der Festplatte)::\n"
 "\n"
 "           A  C  M  !\n"
 "    keine  W  EL W  E\n"
@@ -6253,9 +6672,6 @@
 "revert'.\n"
 "    "
 
-msgid "no files specified"
-msgstr "Keine Dateien angegeben"
-
 #, python-format
 msgid "not removing %s: file is untracked\n"
 msgstr "Entferne %s nicht: Datei ist nicht versioniert\n"
@@ -6265,7 +6681,7 @@
 msgstr "Entferne nicht %s: Datei %s (Nutze -f um Entfernung zu erzwingen)\n"
 
 msgid "still exists"
-msgstr "Existiert immernoch"
+msgstr "Existiert immer noch"
 
 msgid "is modified"
 msgstr "Ist modifiziert"
@@ -6307,6 +6723,7 @@
 "    \"hg revert\" rückgängig gemacht werden.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "retry file merges from a merge or update\n"
 "\n"
@@ -6318,13 +6735,14 @@
 "    will be overwritten if the merge is retried with resolve. The\n"
 "    -m/--mark switch should be used to mark the file as resolved.\n"
 "\n"
-"    This command will also allow listing resolved files and manually\n"
-"    marking and unmarking files as resolved. All files must be marked\n"
-"    as resolved before the new commits are permitted.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    U = unresolved\n"
-"    R = resolved\n"
+"    This command also allows listing resolved files and manually\n"
+"    indicating whether or not files are resolved. All files must be\n"
+"    marked as resolved before a commit is permitted.\n"
+"\n"
+"    The codes used to show the status of files are::\n"
+"\n"
+"      U = unresolved\n"
+"      R = resolved\n"
 "    "
 msgstr ""
 "Wiederholt eine Dateizusammenführung oder Aktualisierung\n"
@@ -6342,13 +6760,13 @@
 "    -m/--mark als aufgelöst markiert werden.\n"
 "\n"
 "    Der aktuelle Status wird mit -l/--list angezeigt. Die dabei verwendeten\n"
-"    Zeichen bedeuten:\n"
+"    Zeichen bedeuten::\n"
 "      U = noch konfliktbehaftet (unresolved)\n"
 "      R = konfliktfrei (resolved)\n"
 "    "
 
 msgid "too many options specified"
-msgstr "Zuviele Optionen angegeben"
+msgstr "Zu viele Optionen angegeben"
 
 msgid "can't specify --all and patterns"
 msgstr "Verwende nicht --all gleichzeitig mit einem Dateimuster"
@@ -6455,18 +6873,20 @@
 msgid "no changes needed to %s\n"
 msgstr "keine Änderungen notwendig für %s\n"
 
+#, fuzzy
 msgid ""
 "roll back the last transaction\n"
 "\n"
 "    This command should be used with care. There is only one level of\n"
 "    rollback, and there is no way to undo a rollback. It will also\n"
 "    restore the dirstate at the time of the last transaction, losing\n"
-"    any dirstate changes since that time.\n"
+"    any dirstate changes since that time. This command does not alter\n"
+"    the working directory.\n"
 "\n"
 "    Transactions are used to encapsulate the effects of all commands\n"
 "    that create new changesets or propagate existing changesets into a\n"
 "    repository. For example, the following commands are transactional,\n"
-"    and their effects can be rolled back:\n"
+"    and their effects can be rolled back::\n"
 "\n"
 "      commit\n"
 "      import\n"
@@ -6494,7 +6914,7 @@
 "    Transaktionen werden verwendet um den Effekt aller Befehle, die "
 "Änderungs-\n"
 "    sätze erstellen oder verteilen, zu kapseln. Die folgenden Befehle\n"
-"    werden durch Transaktionen geschützt:\n"
+"    werden durch Transaktionen geschützt::\n"
 "\n"
 "      commit\n"
 "      import\n"
@@ -6548,15 +6968,16 @@
 msgid "listening at http://%s%s/%s (bound to %s:%d)\n"
 msgstr "Höre auf http://%s%s/%s (gebunden an %s:%d)\n"
 
+#, fuzzy
 msgid ""
 "show changed files in the working directory\n"
 "\n"
 "    Show status of files in the repository. If names are given, only\n"
 "    files that match are shown. Files that are clean or ignored or\n"
-"    source of a copy/move operation, are not listed unless -c/--clean,\n"
-"    -i/--ignored, -C/--copies or -A/--all is given. Unless options\n"
-"    described with \"show only ...\" are given, the options -mardu are\n"
-"    used.\n"
+"    the source of a copy/move operation, are not listed unless\n"
+"    -c/--clean, -i/--ignored, -C/--copies or -A/--all are given.\n"
+"    Unless options described with \"show only ...\" are given, the\n"
+"    options -mardu are used.\n"
 "\n"
 "    Option -q/--quiet hides untracked (unknown and ignored) files\n"
 "    unless explicitly requested with -u/--unknown or -i/--ignored.\n"
@@ -6567,17 +6988,19 @@
 "    to one merge parent.\n"
 "\n"
 "    If one revision is given, it is used as the base revision.\n"
-"    If two revisions are given, the difference between them is shown.\n"
-"\n"
-"    The codes used to show the status of files are:\n"
-"    M = modified\n"
-"    A = added\n"
-"    R = removed\n"
-"    C = clean\n"
-"    ! = missing (deleted by non-hg command, but still tracked)\n"
-"    ? = not tracked\n"
-"    I = ignored\n"
-"      = the previous added file was copied from here\n"
+"    If two revisions are given, the differences between them are\n"
+"    shown.\n"
+"\n"
+"    The codes used to show the status of files are::\n"
+"\n"
+"      M = modified\n"
+"      A = added\n"
+"      R = removed\n"
+"      C = clean\n"
+"      ! = missing (deleted by non-hg command, but still tracked)\n"
+"      ? = not tracked\n"
+"      I = ignored\n"
+"        = origin of the previous file listed as A (added)\n"
 "    "
 msgstr ""
 "Zeigt geänderte Dateien im Arbeitsverzeichnis\n"
@@ -6607,7 +7030,7 @@
 "    Bei Angabe zweier Revisionen werden die Unterschiede zwischen diesen\n"
 "    beiden gezeigt.\n"
 "\n"
-"    Die Kürzel zur Angabe des Status einer Datei sind:\n"
+"    Die Kürzel zur Angabe des Status einer Datei sind::\n"
 "    M = modifiziert\n"
 "    A = hinzugefügt (added)\n"
 "    R = entfernt (removed)\n"
@@ -6687,16 +7110,8 @@
 msgstr "Etikett '%s' ist nicht lokal"
 
 #, python-format
-msgid "Removed tag %s"
-msgstr "Etikett %s entfernt"
-
-#, python-format
 msgid "tag '%s' already exists (use -f to force)"
-msgstr "Etikett '%s' exitiert bereitsi; erzwinge mit -f/--force"
-
-#, python-format
-msgid "Added tag %s for changeset %s"
-msgstr "Etikett %s für Änderungssatz %s hinzugefügt"
+msgstr "Etikett '%s' existiert bereits; erzwinge mit -f/--force"
 
 msgid ""
 "list repository tags\n"
@@ -6712,12 +7127,13 @@
 "    --verbose werden lokale in einer dritten Spalte als solche markiert.\n"
 "    "
 
+#, fuzzy
 msgid ""
 "show the tip revision\n"
 "\n"
-"    The tip revision (usually just called the tip) is the most\n"
-"    recently added changeset in the repository, the most recently\n"
-"    changed head.\n"
+"    The tip revision (usually just called the tip) is the changeset\n"
+"    most recently added to the repository (and therefore the most\n"
+"    recently changed head).\n"
 "\n"
 "    If you have just made a commit, that commit will be the tip. If\n"
 "    you have just pulled changes from another repository, the tip of\n"
@@ -6767,7 +7183,8 @@
 "\n"
 "    When there are uncommitted changes, use option -C/--clean to\n"
 "    discard them, forcibly replacing the state of the working\n"
-"    directory with the requested revision.\n"
+"    directory with the requested revision. Alternately, use -c/--check\n"
+"    to abort.\n"
 "\n"
 "    When there are uncommitted changes and option -C/--clean is not\n"
 "    used, and the parent revision and requested revision are on the\n"
@@ -6814,6 +7231,9 @@
 "    Siehe 'hg help dates' für eine Liste gültiger Formate für -d/--date.\n"
 "    "
 
+msgid "uncommitted local changes"
+msgstr "Ausstehende nicht versionierte Änderungen"
+
 msgid ""
 "verify the integrity of the repository\n"
 "\n"
@@ -7006,7 +7426,7 @@
 msgstr "Wählt einen Vorgänger bei Rücknahme einer Zusammenführung"
 
 msgid "revision to backout"
-msgstr "Die Zurückzunehmende Revision"
+msgstr "Die zurückzunehmende Revision"
 
 msgid "[OPTION]... [-r] REV"
 msgstr ""
@@ -7033,7 +7453,7 @@
 msgstr "[-gbsr] [-c PROGRAMM] [REV]"
 
 msgid "set branch name even if it shadows an existing branch"
-msgstr "Setzt Zweignamen, selbst wenn es bestehenden Zweig verschattet"
+msgstr "Setzt Zweignamen, selbst wenn es einen bestehenden Zweig verdeckt"
 
 msgid "reset branch name to parent branch name"
 msgstr "Setzt Zweignamen zum Namen des Vorgängers zurück"
@@ -7044,6 +7464,9 @@
 msgid "show only branches that have unmerged heads"
 msgstr "Zeigt nur Zweige mit mehreren Köpfen"
 
+msgid "show normal and closed branches"
+msgstr "Zeigt normale und geschlossene Zweige"
+
 msgid "[-a]"
 msgstr ""
 
@@ -7149,6 +7572,9 @@
 msgid "[OPTION]..."
 msgstr ""
 
+msgid "revision to check"
+msgstr "Die zu prüfende Revision"
+
 msgid "[OPTION]... [-r REV1 [-r REV2]] [FILE]..."
 msgstr "[OPTION]... [-r REV1 [-r REV2]] [DATEI]..."
 
@@ -7187,13 +7613,13 @@
 msgid "show only heads which are descendants of REV"
 msgstr "Zeigt nur Köpfe, die Nachkommen dieser Revision sind"
 
-msgid "show only the active heads from open branches"
+msgid "show only the active branch heads from open branches"
 msgstr "Zeigt nur aktive Köpfe von offenen Zweigen"
 
-msgid "show normal and closed heads"
-msgstr "Zeigt normale und abgeschlossene Kopfversionen"
-
-msgid "[-r REV] [REV]..."
+msgid "show normal and closed branch heads"
+msgstr "Zeigt normale und geschlossene Kopfversionen"
+
+msgid "[-r STARTREV] [REV]..."
 msgstr ""
 
 msgid "[TOPIC]"
@@ -7234,7 +7660,7 @@
 msgstr "Kein Übernehmen, nur Aktualisierung des Arbeitsverzeichnisses"
 
 msgid "apply patch to the nodes from which it was generated"
-msgstr "Wendet patch auf die Knoten an, von denen er erstellt wurde"
+msgstr "Wendet Patch auf die Knoten an, von denen er erstellt wurde"
 
 msgid "use any branch information in patch (implied by --exact)"
 msgstr ""
@@ -7486,6 +7912,9 @@
 msgid "overwrite locally modified files (no backup)"
 msgstr "Überschreibt lokale Modifikationen von Dateien (keine Sicherung)"
 
+msgid "check for uncommitted changes"
+msgstr "prüft auf nicht versionierte Änderungen"
+
 msgid "[-C] [-d DATE] [[-r] REV]"
 msgstr "[-C] [-d DATUM] [[-r] REV]"
 
@@ -7661,7 +8090,7 @@
 msgid "** unknown exception encountered, details follow\n"
 msgstr "** Unbekannter Fehler, Details folgen\n"
 
-msgid "** report bug details to http://www.selenic.com/mercurial/bts\n"
+msgid "** report bug details to http://mercurial.selenic.com/bts/\n"
 msgstr "** Problemdetails bitte bei http://www.selenic.com/mercurial/bts\n"
 
 msgid "** or mercurial@selenic.com\n"
@@ -7706,7 +8135,7 @@
 msgstr "Option --cwd kann nicht abgekürzt werden!"
 
 msgid ""
-"Option -R has to be separated from other options (i.e. not -qR) and --"
+"Option -R has to be separated from other options (e.g. not -qR) and --"
 "repository may only be abbreviated as --repo!"
 msgstr ""
 "Option -R muss von anderen Optionen getrennt werden (also z.B. nicht -qR) "
@@ -7718,7 +8147,7 @@
 
 #, python-format
 msgid "repository '%s' is not local"
-msgstr "Projektarchiv '%s' is nicht lokal"
+msgstr "Projektarchiv '%s' ist nicht lokal"
 
 msgid "invalid arguments"
 msgstr "ungültige Parameter"
@@ -7772,9 +8201,6 @@
 msgid "&Other"
 msgstr ""
 
-msgid "l"
-msgstr ""
-
 #, python-format
 msgid "merging %s and %s to %s\n"
 msgstr ""
@@ -7802,9 +8228,6 @@
 msgid "&Yes"
 msgstr ""
 
-msgid "n"
-msgstr ""
-
 #, python-format
 msgid "merging %s failed!\n"
 msgstr ""
@@ -7817,54 +8240,97 @@
 msgid "unknown bisect kind %s"
 msgstr ""
 
+msgid ""
+"\n"
+"    Mercurial has the ability to add new features through the use of\n"
+"    extensions. Extensions may add new commands, add options to\n"
+"    existing commands, change the default behavior of commands, or\n"
+"    implement hooks.\n"
+"\n"
+"    Extensions are not loaded by default for a variety of reasons:\n"
+"    they can increase startup overhead; they may be meant for advanced\n"
+"    usage only; they may provide potentially dangerous abilities (such\n"
+"    as letting you destroy or modify history); they might not be ready\n"
+"    for prime time; or they may alter some usual behaviors of stock\n"
+"    Mercurial. It is thus up to the user to activate extensions as\n"
+"    needed.\n"
+"\n"
+"    To enable the \"foo\" extension, either shipped with Mercurial or in\n"
+"    the Python search path, create an entry for it in your hgrc, like\n"
+"    this::\n"
+"\n"
+"      [extensions]\n"
+"      foo =\n"
+"\n"
+"    You may also specify the full path to an extension::\n"
+"\n"
+"      [extensions]\n"
+"      myfeature = ~/.hgext/myfeature.py\n"
+"\n"
+"    To explicitly disable an extension enabled in an hgrc of broader\n"
+"    scope, prepend its path with !::\n"
+"\n"
+"      [extensions]\n"
+"      # disabling extension bar residing in /path/to/extension/bar.py\n"
+"      hgext.bar = !/path/to/extension/bar.py\n"
+"      # ditto, but no path was supplied for extension baz\n"
+"      hgext.baz = !\n"
+"    "
+msgstr ""
+
+msgid "disabled extensions:"
+msgstr "Inaktive Erweiterungen:"
+
 msgid "Date Formats"
 msgstr "Datumsformate"
 
+#, fuzzy
 msgid ""
 "\n"
 "    Some commands allow the user to specify a date, e.g.:\n"
-"    * backout, commit, import, tag: Specify the commit date.\n"
-"    * log, revert, update: Select revision(s) by date.\n"
-"\n"
-"    Many date formats are valid. Here are some examples:\n"
-"\n"
-"    \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
-"    \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
-"    \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
-"    \"Dec 6\" (midnight)\n"
-"    \"13:18\" (today assumed)\n"
-"    \"3:39\" (3:39AM assumed)\n"
-"    \"3:39pm\" (15:39)\n"
-"    \"2006-12-06 13:18:29\" (ISO 8601 format)\n"
-"    \"2006-12-6 13:18\"\n"
-"    \"2006-12-6\"\n"
-"    \"12-6\"\n"
-"    \"12/6\"\n"
-"    \"12/6/6\" (Dec 6 2006)\n"
-"\n"
-"    Lastly, there is Mercurial's internal format:\n"
-"\n"
-"    \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
+"\n"
+"    - backout, commit, import, tag: Specify the commit date.\n"
+"    - log, revert, update: Select revision(s) by date.\n"
+"\n"
+"    Many date formats are valid. Here are some examples::\n"
+"\n"
+"      \"Wed Dec 6 13:18:29 2006\" (local timezone assumed)\n"
+"      \"Dec 6 13:18 -0600\" (year assumed, time offset provided)\n"
+"      \"Dec 6 13:18 UTC\" (UTC and GMT are aliases for +0000)\n"
+"      \"Dec 6\" (midnight)\n"
+"      \"13:18\" (today assumed)\n"
+"      \"3:39\" (3:39AM assumed)\n"
+"      \"3:39pm\" (15:39)\n"
+"      \"2006-12-06 13:18:29\" (ISO 8601 format)\n"
+"      \"2006-12-6 13:18\"\n"
+"      \"2006-12-6\"\n"
+"      \"12-6\"\n"
+"      \"12/6\"\n"
+"      \"12/6/6\" (Dec 6 2006)\n"
+"\n"
+"    Lastly, there is Mercurial's internal format::\n"
+"\n"
+"      \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
 "\n"
 "    This is the internal representation format for dates. unixtime is\n"
 "    the number of seconds since the epoch (1970-01-01 00:00 UTC).\n"
 "    offset is the offset of the local timezone, in seconds west of UTC\n"
 "    (negative if the timezone is east of UTC).\n"
 "\n"
-"    The log command also accepts date ranges:\n"
-"\n"
-"    \"<{datetime}\" - at or before a given date/time\n"
-"    \">{datetime}\" - on or after a given date/time\n"
-"    \"{datetime} to {datetime}\" - a date range, inclusive\n"
-"    \"-{days}\" - within a given number of days of today\n"
-"    "
-msgstr ""
-"\n"
-"    Einige Befehle erlauben dem Benuter ein Datum anzugeben, z.B.:\n"
+"    The log command also accepts date ranges::\n"
+"\n"
+"      \"<{datetime}\" - at or before a given date/time\n"
+"      \">{datetime}\" - on or after a given date/time\n"
+"      \"{datetime} to {datetime}\" - a date range, inclusive\n"
+"      \"-{days}\" - within a given number of days of today\n"
+"    "
+msgstr ""
+"\n"
+"    Einige Befehle erlauben dem Benutzer ein Datum anzugeben, z.B.:\n"
 "    * backout, commit, import, tag: Angabe des Versionsdatums.\n"
 "    * log, revert, update: Selektion von Revisionen anhand ihres Datums.\n"
 "\n"
-"    Viele Datumsformate sind erlaubt. Hier einige Beispiele:\n"
+"    Viele Datumsformate sind erlaubt. Hier einige Beispiele::\n"
 "\n"
 "    \"Wed Dec 6 13:18:29 2006\" (Lokale Zeitzone angenommen)\n"
 "    \"Dec 6 13:18 -0600\" (Jahr angenommen, Zeitverschiebung angegeben)\n"
@@ -7880,7 +8346,7 @@
 "    \"12/6\"\n"
 "    \"12/6/6\" (Dec 6 2006)\n"
 "\n"
-"    Schließlich gibt es Mercurials internes Format:\n"
+"    Schließlich gibt es Mercurials internes Format::\n"
 "\n"
 "    \"1165432709 0\" (Wed Dec 6 13:18:29 2006 UTC)\n"
 "\n"
@@ -7892,7 +8358,7 @@
 "(negativ\n"
 "    wenn die Zeitzone östlich der UTC ist).\n"
 "\n"
-"    Der log-Befehl akkzeptiert auch Datumsbereiche:\n"
+"    Der log-Befehl akkzeptiert auch Datumsbereiche::\n"
 "\n"
 "    \"<{datetime}\" - an oder vor einem/r angegebenen Datum/Uhrzeit\n"
 "    \">{datetime}\" - zu oder nach einem/r angegebenen Datum/Uhrzeit\n"
@@ -7904,6 +8370,7 @@
 msgid "File Name Patterns"
 msgstr "Dateimuster"
 
+#, fuzzy
 msgid ""
 "\n"
 "    Mercurial accepts several notations for identifying one or more\n"
@@ -7919,34 +8386,34 @@
 "    the current repository root.\n"
 "\n"
 "    To use an extended glob, start a name with \"glob:\". Globs are\n"
-"    rooted at the current directory; a glob such as \"*.c\" will only\n"
-"    match files in the current directory ending with \".c\".\n"
-"\n"
-"    The supported glob syntax extensions are \"**\" to match any string\n"
-"    across path separators and \"{a,b}\" to mean \"a or b\".\n"
+"    rooted at the current directory; a glob such as \"``*.c``\" will\n"
+"    only match files in the current directory ending with \".c\".\n"
+"\n"
+"    The supported glob syntax extensions are \"``**``\" to match any\n"
+"    string across path separators and \"{a,b}\" to mean \"a or b\".\n"
 "\n"
 "    To use a Perl/Python regular expression, start a name with \"re:\".\n"
 "    Regexp pattern matching is anchored at the root of the repository.\n"
 "\n"
-"    Plain examples:\n"
-"\n"
-"    path:foo/bar   a name bar in a directory named foo in the root of\n"
-"                   the repository\n"
-"    path:path:name a file or directory named \"path:name\"\n"
-"\n"
-"    Glob examples:\n"
-"\n"
-"    glob:*.c       any name ending in \".c\" in the current directory\n"
-"    *.c            any name ending in \".c\" in the current directory\n"
-"    **.c           any name ending in \".c\" in any subdirectory of the\n"
-"                   current directory including itself.\n"
-"    foo/*.c        any name ending in \".c\" in the directory foo\n"
-"    foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
-"                   including itself.\n"
-"\n"
-"    Regexp examples:\n"
-"\n"
-"    re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
+"    Plain examples::\n"
+"\n"
+"      path:foo/bar   a name bar in a directory named foo in the root\n"
+"                     of the repository\n"
+"      path:path:name a file or directory named \"path:name\"\n"
+"\n"
+"    Glob examples::\n"
+"\n"
+"      glob:*.c       any name ending in \".c\" in the current directory\n"
+"      *.c            any name ending in \".c\" in the current directory\n"
+"      **.c           any name ending in \".c\" in any subdirectory of the\n"
+"                     current directory including itself.\n"
+"      foo/*.c        any name ending in \".c\" in the directory foo\n"
+"      foo/**.c       any name ending in \".c\" in any subdirectory of foo\n"
+"                     including itself.\n"
+"\n"
+"    Regexp examples::\n"
+"\n"
+"      re:.*\\.c$      any name ending in \".c\", anywhere in the repository\n"
 "\n"
 "    "
 msgstr ""
@@ -7981,14 +8448,14 @@
 "    Erkennung mit regulären Ausdrücken wird an der Wurzel des Projektarchivs "
 "verankert.\n"
 "\n"
-"    Pfad-Beispiele:\n"
+"    Pfad-Beispiele::\n"
 "\n"
 "    path:foo/bar   eine Datei bar in einem Verzeichnis foo an der Basis des\n"
 "                   des Projektarchivs\n"
 "    path:path:name eine Datei oder eine Verzeichnis mit dem Namen \"path:name"
 "\"\n"
 "\n"
-"    Glob-Beispiele:\n"
+"    Glob-Beispiele::\n"
 "\n"
 "    glob:*.c       jeder Name endend mit \".c\" im aktuellen Verzeichnis\n"
 "    *.c            jeder Name endend mit \".c\" im aktuellen Verzeichnis\n"
@@ -8000,7 +8467,7 @@
 "jedem\n"
 "                   Unterverzeichnis.\n"
 "\n"
-"    Reguläre Ausdrücke Beispiele::\n"
+"    Beispiel mit regulärem Ausdruck::\n"
 "\n"
 "    re:.*\\.c$      jeder Name endend mit \".c\" überall im Projektarchiv\n"
 "\n"
@@ -8011,25 +8478,25 @@
 
 msgid ""
 "\n"
-"HG::\n"
+"HG\n"
 "    Path to the 'hg' executable, automatically passed when running\n"
 "    hooks, extensions or external tools. If unset or empty, this is\n"
 "    the hg executable's name if it's frozen, or an executable named\n"
 "    'hg' (with %PATHEXT% [defaulting to COM/EXE/BAT/CMD] extensions on\n"
 "    Windows) is searched.\n"
 "\n"
-"HGEDITOR::\n"
+"HGEDITOR\n"
 "    This is the name of the editor to run when committing. See EDITOR.\n"
 "\n"
 "    (deprecated, use .hgrc)\n"
 "\n"
-"HGENCODING::\n"
+"HGENCODING\n"
 "    This overrides the default locale setting detected by Mercurial.\n"
 "    This setting is used to convert data including usernames,\n"
 "    changeset descriptions, tag names, and branches. This setting can\n"
 "    be overridden with the --encoding command-line option.\n"
 "\n"
-"HGENCODINGMODE::\n"
+"HGENCODINGMODE\n"
 "    This sets Mercurial's behavior for handling unknown characters\n"
 "    while transcoding user input. The default is \"strict\", which\n"
 "    causes Mercurial to abort if it can't map a character. Other\n"
@@ -8037,45 +8504,46 @@
 "    \"ignore\", which drops them. This setting can be overridden with\n"
 "    the --encodingmode command-line option.\n"
 "\n"
-"HGMERGE::\n"
+"HGMERGE\n"
 "    An executable to use for resolving merge conflicts. The program\n"
 "    will be executed with three arguments: local file, remote file,\n"
 "    ancestor file.\n"
 "\n"
 "    (deprecated, use .hgrc)\n"
 "\n"
-"HGRCPATH::\n"
+"HGRCPATH\n"
 "    A list of files or directories to search for hgrc files. Item\n"
 "    separator is \":\" on Unix, \";\" on Windows. If HGRCPATH is not set,\n"
 "    platform default search path is used. If empty, only the .hg/hgrc\n"
 "    from the current repository is read.\n"
 "\n"
 "    For each element in HGRCPATH:\n"
-"    * if it's a directory, all files ending with .rc are added\n"
-"    * otherwise, the file itself will be added\n"
-"\n"
-"HGUSER::\n"
+"\n"
+"    - if it's a directory, all files ending with .rc are added\n"
+"    - otherwise, the file itself will be added\n"
+"\n"
+"HGUSER\n"
 "    This is the string used as the author of a commit. If not set,\n"
 "    available values will be considered in this order:\n"
 "\n"
-"    * HGUSER (deprecated)\n"
-"    * hgrc files from the HGRCPATH\n"
-"    * EMAIL\n"
-"    * interactive prompt\n"
-"    * LOGNAME (with '@hostname' appended)\n"
+"    - HGUSER (deprecated)\n"
+"    - hgrc files from the HGRCPATH\n"
+"    - EMAIL\n"
+"    - interactive prompt\n"
+"    - LOGNAME (with '@hostname' appended)\n"
 "\n"
 "    (deprecated, use .hgrc)\n"
 "\n"
-"EMAIL::\n"
+"EMAIL\n"
 "    May be used as the author of a commit; see HGUSER.\n"
 "\n"
-"LOGNAME::\n"
+"LOGNAME\n"
 "    May be used as the author of a commit; see HGUSER.\n"
 "\n"
-"VISUAL::\n"
+"VISUAL\n"
 "    This is the name of the editor to use when committing. See EDITOR.\n"
 "\n"
-"EDITOR::\n"
+"EDITOR\n"
 "    Sometimes Mercurial needs to open a text file in an editor for a\n"
 "    user to modify, for example when writing commit messages. The\n"
 "    editor it uses is determined by looking at the environment\n"
@@ -8083,7 +8551,7 @@
 "    non-empty one is chosen. If all of them are empty, the editor\n"
 "    defaults to 'vi'.\n"
 "\n"
-"PYTHONPATH::\n"
+"PYTHONPATH\n"
 "    This is used by Python to find imported modules and may need to be\n"
 "    set appropriately if this Mercurial is not installed system-wide.\n"
 "    "
@@ -8097,22 +8565,21 @@
 "    Mercurial supports several ways to specify individual revisions.\n"
 "\n"
 "    A plain integer is treated as a revision number. Negative integers\n"
-"    are treated as topological offsets from the tip, with -1 denoting\n"
-"    the tip. As such, negative numbers are only useful if you've\n"
-"    memorized your local tree numbers and want to save typing a single\n"
-"    digit. This editor suggests copy and paste.\n"
+"    are treated as sequential offsets from the tip, with -1 denoting\n"
+"    the tip, -2 denoting the revision prior to the tip, and so forth.\n"
 "\n"
 "    A 40-digit hexadecimal string is treated as a unique revision\n"
 "    identifier.\n"
 "\n"
 "    A hexadecimal string less than 40 characters long is treated as a\n"
-"    unique revision identifier, and referred to as a short-form\n"
+"    unique revision identifier and is referred to as a short-form\n"
 "    identifier. A short-form identifier is only valid if it is the\n"
 "    prefix of exactly one full-length identifier.\n"
 "\n"
-"    Any other string is treated as a tag name, which is a symbolic\n"
-"    name associated with a revision identifier. Tag names may not\n"
-"    contain the \":\" character.\n"
+"    Any other string is treated as a tag or branch name. A tag name is\n"
+"    a symbolic name associated with a revision identifier. A branch\n"
+"    name denotes the tipmost revision of that branch. Tag and branch\n"
+"    names must not contain the \":\" character.\n"
 "\n"
 "    The reserved name \"tip\" is a special tag that always identifies\n"
 "    the most recent revision.\n"
@@ -8132,10 +8599,7 @@
 "    Eine einfache Ganzzahl wird als Revisionsnummer behandelt. Negative\n"
 "    Zahlen beschreiben den topologischen Abstand von der Spitze (tip), "
 "wobei\n"
-"    -1 die Spitze selbst ist. Daher sind negative Zahlen nur dann nützlich,\n"
-"    wenn man sich die lokalen Revisionsnummern einprägt und das Tippen "
-"einer\n"
-"    Zahl sparen möchte. Der Verfasser empfiehlt 'copy and paste'.\n"
+"    -1 die Spitze selbst ist.\n"
 "\n"
 "    Eine 40-stellige Hexadezimalzahl gilt als eindeutiger Identifikator\n"
 "    einer Revision.\n"
@@ -8145,22 +8609,21 @@
 "    Die Kurzform ist nur dann gültig, wenn sie Präfix exakt einer Langform\n"
 "    eines Identifikators ist.\n"
 "\n"
-"    Jede andere Zeichenfolge wird als Name einer Marke (tag) behandelt.\n"
-"    Dieser symbolische Name verweist auf einen Revisionsidentifikator. "
-"Namen\n"
-"    von Marken dürfen das Zeichen \":\" nicht enthalten.\n"
-"\n"
-"    Der reservierte Name \"tip\" ist eine spezielle Marke die immer auf die\n"
-"    jüngste Revision verweist.\n"
+"    Jede andere Zeichenfolge wird als Name eines Etiketts behandelt.\n"
+"    Dieser symbolische Name verweist auf einen Revisionsidentifikator.\n"
+"    Etiketten dürfen das Zeichen \":\" nicht enthalten.\n"
+"\n"
+"    Der reservierte Name \"tip\" ist ein spezielles Etikett, welches immer\n"
+"    auf die jüngste Revision verweist.\n"
 "\n"
 "    Der reservierte Name \"null\" bezeichnet die null-Revision. Sie ist die\n"
 "    Revision eines leeren Projektarchivs und der Vorgänger der Version 0.\n"
 "\n"
 "    Der reservierte Name \".\" bezeichnete die Vorgängerversion des\n"
-"    Arbeitsverzeichnisses. Falls kein Check-Out des Arbeitsverzeichnisses\n"
-"    vorliegt ist er äquivalent zu null. Falls eine nicht versionierte\n"
-"    Zusammenführung in Bearbeitung ist, bezeichnet \".\" die Revision des\n"
-"    ersten Vorgängers.\n"
+"    Arbeitsverzeichnisses. Falls das Arbeitsverzeichnis leer ist, ist diese\n"
+"    äquivalent zu \"null\". Falls eine nicht versionierte Zusammenführung\n"
+"    in Bearbeitung ist, bezeichnet \".\" die Revision des ersten "
+"Vorgängers.\n"
 "    "
 
 msgid "Specifying Multiple Revisions"
@@ -8218,10 +8681,10 @@
 "    While this standard format is often enough, it does not encode the\n"
 "    following information:\n"
 "\n"
-"     - executable status and other permission bits\n"
-"     - copy or rename information\n"
-"     - changes in binary files\n"
-"     - creation or deletion of empty files\n"
+"    - executable status and other permission bits\n"
+"    - copy or rename information\n"
+"    - changes in binary files\n"
+"    - creation or deletion of empty files\n"
 "\n"
 "    Mercurial also supports the extended diff format from the git VCS\n"
 "    which addresses these limitations. The git diff format is not\n"
@@ -8259,12 +8722,12 @@
 "\n"
 "    Three styles are packaged with Mercurial: default (the style used\n"
 "    when no explicit preference is passed), compact and changelog.\n"
-"    Usage:\n"
+"    Usage::\n"
 "\n"
 "        $ hg log -r1 --style changelog\n"
 "\n"
 "    A template is a piece of text, with markup to invoke variable\n"
-"    expansion:\n"
+"    expansion::\n"
 "\n"
 "        $ hg log -r1 --template \"{node}\\n\"\n"
 "        b56ce7b07c52de7d5fd79fb89701ea538af65746\n"
@@ -8273,127 +8736,150 @@
 "    keywords depends on the exact context of the templater. These\n"
 "    keywords are usually available for templating a log-like command:\n"
 "\n"
-"    - author: String. The unmodified author of the changeset.\n"
-"    - branches: String. The name of the branch on which the changeset\n"
-"          was committed. Will be empty if the branch name was default.\n"
-"    - date: Date information. The date when the changeset was committed.\n"
-"    - desc: String. The text of the changeset description.\n"
-"    - diffstat: String. Statistics of changes with the following\n"
-"          format: \"modified files: +added/-removed lines\"\n"
-"    - files: List of strings. All files modified, added, or removed by\n"
-"          this changeset.\n"
-"    - file_adds: List of strings. Files added by this changeset.\n"
-"    - file_mods: List of strings. Files modified by this changeset.\n"
-"    - file_dels: List of strings. Files removed by this changeset.\n"
-"    - node: String. The changeset identification hash, as a\n"
-"          40-character hexadecimal string.\n"
-"    - parents: List of strings. The parents of the changeset.\n"
-"    - rev: Integer. The repository-local changeset revision number.\n"
-"    - tags: List of strings. Any tags associated with the changeset.\n"
+"    :author:    String. The unmodified author of the changeset.\n"
+"    :branches:  String. The name of the branch on which the changeset\n"
+"                was committed. Will be empty if the branch name was\n"
+"                default.\n"
+"    :date:      Date information. The date when the changeset was\n"
+"                committed.\n"
+"    :desc:      String. The text of the changeset description.\n"
+"    :diffstat:  String. Statistics of changes with the following\n"
+"                format: \"modified files: +added/-removed lines\"\n"
+"    :files:     List of strings. All files modified, added, or removed\n"
+"                by this changeset.\n"
+"    :file_adds: List of strings. Files added by this changeset.\n"
+"    :file_mods: List of strings. Files modified by this changeset.\n"
+"    :file_dels: List of strings. Files removed by this changeset.\n"
+"    :node:      String. The changeset identification hash, as a\n"
+"                40-character hexadecimal string.\n"
+"    :parents:   List of strings. The parents of the changeset.\n"
+"    :rev:       Integer. The repository-local changeset revision\n"
+"                number.\n"
+"    :tags:      List of strings. Any tags associated with the\n"
+"                changeset.\n"
 "\n"
 "    The \"date\" keyword does not produce human-readable output. If you\n"
 "    want to use a date in your output, you can use a filter to process\n"
 "    it. Filters are functions which return a string based on the input\n"
 "    variable. You can also use a chain of filters to get the desired\n"
-"    output:\n"
+"    output::\n"
 "\n"
 "       $ hg tip --template \"{date|isodate}\\n\"\n"
 "       2008-08-21 18:22 +0000\n"
 "\n"
 "    List of filters:\n"
 "\n"
-"    - addbreaks: Any text. Add an XHTML \"<br />\" tag before the end of\n"
-"          every line except the last.\n"
-"    - age: Date. Returns a human-readable date/time difference between\n"
-"          the given date/time and the current date/time.\n"
-"    - basename: Any text. Treats the text as a path, and returns the\n"
-"          last component of the path after splitting by the path\n"
-"          separator (ignoring trailing separators). For example,\n"
-"          \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\" becomes \"bar"
-"\".\n"
-"    - stripdir: Treat the text as path and strip a directory level, if\n"
-"          possible. For example, \"foo\" and \"foo/bar\" becomes \"foo\".\n"
-"    - date: Date. Returns a date in a Unix date format, including\n"
-"          the timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
-"    - domain: Any text. Finds the first string that looks like an\n"
-"          email address, and extracts just the domain component.\n"
-"          Example: 'User <user@example.com>' becomes 'example.com'.\n"
-"    - email: Any text. Extracts the first string that looks like an\n"
-"          email address. Example: 'User <user@example.com>' becomes\n"
-"          'user@example.com'.\n"
-"    - escape: Any text. Replaces the special XML/XHTML characters \"&\",\n"
-"          \"<\" and \">\" with XML entities.\n"
-"    - fill68: Any text. Wraps the text to fit in 68 columns.\n"
-"    - fill76: Any text. Wraps the text to fit in 76 columns.\n"
-"    - firstline: Any text. Returns the first line of text.\n"
-"    - nonempty: Any text. Returns '(none)' if the string is empty.\n"
-"    - hgdate: Date. Returns the date as a pair of numbers:\n"
-"          \"1157407993 25200\" (Unix timestamp, timezone offset).\n"
-"    - isodate: Date. Returns the date in ISO 8601 format.\n"
-"    - localdate: Date. Converts a date to local date.\n"
-"    - obfuscate: Any text. Returns the input text rendered as a\n"
-"          sequence of XML entities.\n"
-"    - person: Any text. Returns the text before an email address.\n"
-"    - rfc822date: Date. Returns a date using the same format used\n"
-"          in email headers.\n"
-"    - short: Changeset hash. Returns the short form of a changeset\n"
-"          hash, i.e. a 12-byte hexadecimal string.\n"
-"    - shortdate: Date. Returns a date like \"2006-09-18\".\n"
-"    - strip: Any text. Strips all leading and trailing whitespace.\n"
-"    - tabindent: Any text. Returns the text, with every line except\n"
-"          the first starting with a tab character.\n"
-"    - urlescape: Any text. Escapes all \"special\" characters. For\n"
-"          example, \"foo bar\" becomes \"foo%20bar\".\n"
-"    - user: Any text. Returns the user portion of an email address.\n"
+"    :addbreaks:  Any text. Add an XHTML \"<br />\" tag before the end of\n"
+"                 every line except the last.\n"
+"    :age:        Date. Returns a human-readable date/time difference\n"
+"                 between the given date/time and the current\n"
+"                 date/time.\n"
+"    :basename:   Any text. Treats the text as a path, and returns the\n"
+"                 last component of the path after splitting by the\n"
+"                 path separator (ignoring trailing separators). For\n"
+"                 example, \"foo/bar/baz\" becomes \"baz\" and \"foo/bar//\"\n"
+"                 becomes \"bar\".\n"
+"    :stripdir:   Treat the text as path and strip a directory level,\n"
+"                 if possible. For example, \"foo\" and \"foo/bar\" becomes\n"
+"                 \"foo\".\n"
+"    :date:       Date. Returns a date in a Unix date format, including\n"
+"                 the timezone: \"Mon Sep 04 15:13:13 2006 0700\".\n"
+"    :domain:     Any text. Finds the first string that looks like an\n"
+"                 email address, and extracts just the domain\n"
+"                 component. Example: 'User <user@example.com>' becomes\n"
+"                 'example.com'.\n"
+"    :email:      Any text. Extracts the first string that looks like\n"
+"                 an email address. Example: 'User <user@example.com>'\n"
+"                 becomes 'user@example.com'.\n"
+"    :escape:     Any text. Replaces the special XML/XHTML characters\n"
+"                 \"&\", \"<\" and \">\" with XML entities.\n"
+"    :fill68:     Any text. Wraps the text to fit in 68 columns.\n"
+"    :fill76:     Any text. Wraps the text to fit in 76 columns.\n"
+"    :firstline:  Any text. Returns the first line of text.\n"
+"    :nonempty:   Any text. Returns '(none)' if the string is empty.\n"
+"    :hgdate:     Date. Returns the date as a pair of numbers:\n"
+"                 \"1157407993 25200\" (Unix timestamp, timezone offset).\n"
+"    :isodate:    Date. Returns the date in ISO 8601 format:\n"
+"                 \"2009-08-18 13:00 +0200\".\n"
+"    :isodatesec: Date. Returns the date in ISO 8601 format, including\n"
+"                 seconds: \"2009-08-18 13:00:13 +0200\". See also the\n"
+"                 rfc3339date filter.\n"
+"    :localdate:  Date. Converts a date to local date.\n"
+"    :obfuscate:  Any text. Returns the input text rendered as a\n"
+"                 sequence of XML entities.\n"
+"    :person:     Any text. Returns the text before an email address.\n"
+"    :rfc822date: Date. Returns a date using the same format used in\n"
+"                 email headers: \"Tue, 18 Aug 2009 13:00:13 +0200\".\n"
+"    :rfc3339date: Date. Returns a date using the Internet date format\n"
+"                  specified in RFC 3339: \"2009-08-18T13:00:13+02:00\".\n"
+"    :short:      Changeset hash. Returns the short form of a changeset\n"
+"                 hash, i.e. a 12-byte hexadecimal string.\n"
+"    :shortdate:  Date. Returns a date like \"2006-09-18\".\n"
+"    :strip:      Any text. Strips all leading and trailing whitespace.\n"
+"    :tabindent:  Any text. Returns the text, with every line except\n"
+"                 the first starting with a tab character.\n"
+"    :urlescape:  Any text. Escapes all \"special\" characters. For\n"
+"                 example, \"foo bar\" becomes \"foo%20bar\".\n"
+"    :user:       Any text. Returns the user portion of an email\n"
+"                 address.\n"
 "    "
 msgstr ""
 
 msgid "URL Paths"
 msgstr "URL-Pfade"
 
-msgid ""
-"\n"
-"    Valid URLs are of the form:\n"
-"\n"
-"      local/filesystem/path (or file://local/filesystem/path)\n"
-"      http://[user[:pass]@]host[:port]/[path]\n"
-"      https://[user[:pass]@]host[:port]/[path]\n"
-"      ssh://[user[:pass]@]host[:port]/[path]\n"
+#, fuzzy
+msgid ""
+"\n"
+"    Valid URLs are of the form::\n"
+"\n"
+"      local/filesystem/path[#revision]\n"
+"      file://local/filesystem/path[#revision]\n"
+"      http://[user[:pass]@]host[:port]/[path][#revision]\n"
+"      https://[user[:pass]@]host[:port]/[path][#revision]\n"
+"      ssh://[user[:pass]@]host[:port]/[path][#revision]\n"
 "\n"
 "    Paths in the local filesystem can either point to Mercurial\n"
-"    repositories or to bundle files (as created by 'hg bundle' or\n"
-"    'hg incoming --bundle').\n"
+"    repositories or to bundle files (as created by 'hg bundle' or 'hg\n"
+"    incoming --bundle').\n"
 "\n"
 "    An optional identifier after # indicates a particular branch, tag,\n"
-"    or changeset to use from the remote repository.\n"
+"    or changeset to use from the remote repository. See also 'hg help\n"
+"    revisions'.\n"
 "\n"
 "    Some features, such as pushing to http:// and https:// URLs are\n"
 "    only possible if the feature is explicitly enabled on the remote\n"
 "    Mercurial server.\n"
 "\n"
 "    Some notes about using SSH with Mercurial:\n"
+"\n"
 "    - SSH requires an accessible shell account on the destination\n"
 "      machine and a copy of hg in the remote path or specified with as\n"
 "      remotecmd.\n"
 "    - path is relative to the remote user's home directory by default.\n"
-"      Use an extra slash at the start of a path to specify an absolute "
-"path:\n"
+"      Use an extra slash at the start of a path to specify an absolute\n"
+"      path::\n"
+"\n"
 "        ssh://example.com//tmp/repository\n"
+"\n"
 "    - Mercurial doesn't use its own compression via SSH; the right\n"
-"      thing to do is to configure it in your ~/.ssh/config, e.g.:\n"
+"      thing to do is to configure it in your ~/.ssh/config, e.g.::\n"
+"\n"
 "        Host *.mylocalnetwork.example.com\n"
 "          Compression no\n"
 "        Host *\n"
 "          Compression yes\n"
+"\n"
 "      Alternatively specify \"ssh -C\" as your ssh command in your hgrc\n"
 "      or with the --ssh command line option.\n"
 "\n"
 "    These URLs can all be stored in your hgrc with path aliases under\n"
-"    the [paths] section like so:\n"
-"    [paths]\n"
-"    alias1 = URL1\n"
-"    alias2 = URL2\n"
-"    ...\n"
+"    the [paths] section like so::\n"
+"\n"
+"      [paths]\n"
+"      alias1 = URL1\n"
+"      alias2 = URL2\n"
+"      ...\n"
 "\n"
 "    You can then use the alias for any command that uses a URL (for\n"
 "    example 'hg pull alias1' would pull from the 'alias1' path).\n"
@@ -8414,7 +8900,7 @@
 "    "
 msgstr ""
 "\n"
-"    Gültige URLs haben folgende Form:\n"
+"    Gültige URLs haben folgende Form::\n"
 "\n"
 "      lokales/dateisystem/pfad (oder file://lokales/dateisystem/pfad)\n"
 "      http://[nutzer[:pass]@]host[:port]/[pfad]\n"
@@ -8434,7 +8920,7 @@
 "    nur mögliche wenn diese Funktionen explizit auf dem entfernten\n"
 "    Mercurial-Server aktiviert sind.\n"
 "\n"
-"    Einige Hinweise zur Nutzung von SSH mit Mercurial:\n"
+"    Einige Hinweise zur Nutzung von SSH mit Mercurial::\n"
 "    - SSH benötigt einen nutzbaren Shell-Zugang auf der Zielmaschine und\n"
 "      eine Kopie von hg im Pfad der entfernten Maschine oder in der "
 "Konfiguration\n"
@@ -8445,7 +8931,7 @@
 "      anzugeben:\n"
 "        ssh://example.com//tmp/repository\n"
 "    - Mercurial nutzt nicht eigene Kompressionsmechanismen über SSH:\n"
-"      Hier sollte man die Kompression über ~/.ssh/config aktivieren, z.B.:\n"
+"      Hier sollte man die Kompression über ~/.ssh/config aktivieren, z.B.::\n"
 "        Host *.mylocalnetwork.example.com\n"
 "          Compression no\n"
 "        Host *\n"
@@ -8454,7 +8940,7 @@
 "      mit der --ssh Befehlszeilenoption angegeben werden.\n"
 "\n"
 "    Diese URLs können alle in deiner hgrc als Aliase unter der Sektion\n"
-"    [paths] abgelegt werden:\n"
+"    [paths] abgelegt werden::\n"
 "    [paths]\n"
 "    alias1 = URL1\n"
 "    alias2 = URL2\n"
@@ -8465,7 +8951,7 @@
 "herunterladen).\n"
 "\n"
 "    Es gibt zwei besondere Pfad-Aliase, die standardmäßig genutzt\n"
-"    werden wenn einem Befehl keine URL übergeben wurde:\n"
+"    werden wenn einem Befehl keine URL übergeben wurde::\n"
 "\n"
 "    default:\n"
 "      Bei Erstellung eines Projektarchivs mit hg clone, sichert der clone\n"
@@ -8479,6 +8965,18 @@
 "      diesen dem 'default'-Alias vor, wenn beide definiert sind.\n"
 "    "
 
+msgid "Using additional features"
+msgstr "Benutzung erweiterter Funktionen"
+
+msgid "can only share local repositories"
+msgstr ""
+
+msgid "destination already exists"
+msgstr "Ziel existiert bereits"
+
+msgid "updating working directory\n"
+msgstr "Aktualisiere Arbeitsverzeichnis\n"
+
 #, python-format
 msgid "destination directory: %s\n"
 msgstr "Zielverzeichnis: %s\n"
@@ -8501,9 +8999,6 @@
 msgid "clone from remote to remote not supported"
 msgstr "Klonen von entferntem Archiv zu entferntem Archiv nicht möglich"
 
-msgid "updating working directory\n"
-msgstr "Aktualisiere Arbeitsverzeichnis\n"
-
 msgid "updated"
 msgstr "aktualisiert"
 
@@ -8532,7 +9027,7 @@
 "'hg up --clean' um abzubrechen\n"
 
 msgid "(branch merge, don't forget to commit)\n"
-msgstr "(Zweig-Zusammenführung, vergesse nicht 'hg commit' auszuführen)\n"
+msgstr "(Zweig-Zusammenführung, vergiss nicht 'hg commit' auszuführen)\n"
 
 #, python-format
 msgid "error reading %s/.hg/hgrc: %s\n"
@@ -8675,12 +9170,12 @@
 msgstr "Kann neues HTTP-Projektarchiv nicht erzeugen"
 
 #, python-format
-msgid "%s: ignoring invalid syntax '%s'\n"
-msgstr "%s: Ignoriere ungültige Syntax '%s'\n"
+msgid "ignoring invalid syntax '%s'"
+msgstr "Ignoriere ungültige Syntax '%s'"
 
 #, python-format
 msgid "skipping unreadable ignore file '%s': %s\n"
-msgstr "Überspringe nicht lesbares  ignore file '%s': %s\n"
+msgstr "Überspringe nicht lesbare ignore Datei '%s': %s\n"
 
 #, python-format
 msgid "repository %s not found"
@@ -8695,29 +9190,18 @@
 msgstr "Anforderung '%s' nicht unterstützt"
 
 #, python-format
+msgid ".hg/sharedpath points to nonexistent directory %s"
+msgstr ""
+
+#, python-format
 msgid "%r cannot be used in a tag name"
-msgstr "%r kann nicht als Name für tag genutzt werden"
+msgstr "%r kann nicht in einem Namen für Etiketten genutzt werden"
 
 msgid "working copy of .hgtags is changed (please commit .hgtags manually)"
 msgstr ""
 "Arbeitskopie von .hgtags wurde geändert (Bitte .hgtags manuell versionieren)"
 
 #, python-format
-msgid "%s, line %s: %s\n"
-msgstr "%s, Zeile %s: %s\n"
-
-msgid "cannot parse entry"
-msgstr "Kann Eintrag nicht parsen"
-
-#, python-format
-msgid "node '%s' is not well formed"
-msgstr "Knoten '%s' ist fehlerhaft"
-
-#, python-format
-msgid "tag '%s' refers to unknown node"
-msgstr "Tag '%s' verweist auf unbekannten Knoten"
-
-#, python-format
 msgid "working directory has unknown parent '%s'!"
 msgstr "Arbeitsverzeichnis hat unbekannte Vaterversion '%s'!"
 
@@ -8783,13 +9267,14 @@
 msgid "file not tracked!"
 msgstr "Datei wird nicht nachverfolgt!"
 
-msgid "nothing changed\n"
-msgstr "Keine Änderung\n"
-
 msgid "unresolved merge conflicts (see hg resolve)"
 msgstr "Ungelöster Zusammenführungs-Konflikt (siehe hg resolve)"
 
 #, python-format
+msgid "committing subrepository %s\n"
+msgstr "Übernehme Unterarchiv %s\n"
+
+#, python-format
 msgid "trouble committing %s!\n"
 msgstr "Problem bei Erstellen der neuen Version von %s!\n"
 
@@ -9047,17 +9532,6 @@
 msgid "case-folding collision between %s and %s"
 msgstr ""
 
-msgid "resolving manifests\n"
-msgstr ""
-
-#, python-format
-msgid " overwrite %s partial %s\n"
-msgstr ""
-
-#, python-format
-msgid " ancestor %s local %s remote %s\n"
-msgstr ""
-
 #, python-format
 msgid ""
 " conflicting flags for %s\n"
@@ -9073,6 +9547,17 @@
 msgid "Sym&link"
 msgstr ""
 
+msgid "resolving manifests\n"
+msgstr ""
+
+#, python-format
+msgid " overwrite %s partial %s\n"
+msgstr ""
+
+#, python-format
+msgid " ancestor %s local %s remote %s\n"
+msgstr ""
+
 #, python-format
 msgid ""
 " local changed %s which remote deleted\n"
@@ -9085,9 +9570,6 @@
 msgid "&Delete"
 msgstr ""
 
-msgid "c"
-msgstr ""
-
 #, python-format
 msgid ""
 "remote changed %s which local deleted\n"
@@ -9223,10 +9705,18 @@
 msgstr ""
 
 #, python-format
+msgid "Unsupported line endings type: %s"
+msgstr "Nicht unterstützter Typ von Zeilenende: %s"
+
+#, python-format
 msgid "no valid hunks found; trying with %r instead\n"
 msgstr ""
 
 #, python-format
+msgid " %d files changed, %d insertions(+), %d deletions(-)\n"
+msgstr ""
+
+#, python-format
 msgid "exited with status %d"
 msgstr ""
 
@@ -9346,6 +9836,50 @@
 msgid "sending %s (%d bytes)\n"
 msgstr ""
 
+#, python-format
+msgid ""
+" subrepository sources for %s differ\n"
+"use (l)ocal source (%s) or (r)emote source (%s)?"
+msgstr ""
+
+msgid "&Remote"
+msgstr ""
+
+#, python-format
+msgid ""
+" local changed subrepository %s which remote removed\n"
+"use (c)hanged version or (d)elete?"
+msgstr ""
+
+#, python-format
+msgid ""
+" remote changed subrepository %s which local removed\n"
+"use (c)hanged version or (d)elete?"
+msgstr ""
+
+#, python-format
+msgid "removing subrepo %s\n"
+msgstr "Entferne Unterarchiv %s\n"
+
+#, python-format
+msgid "pulling subrepo %s\n"
+msgstr "Hole Unterarchiv %s\n"
+
+#, python-format
+msgid "pushing subrepo %s\n"
+msgstr "Übertrage Unterarchiv %s\n"
+
+#, python-format
+msgid "%s, line %s: %s\n"
+msgstr "%s, Zeile %s: %s\n"
+
+msgid "cannot parse entry"
+msgstr "Kann Eintrag nicht parsen"
+
+#, python-format
+msgid "node '%s' is not well formed"
+msgstr "Knoten '%s' ist fehlerhaft"
+
 msgid "unmatched quotes"
 msgstr ""
 
@@ -9411,12 +9945,12 @@
 msgid "username %s contains a newline\n"
 msgstr "Benutzername %s enthält einen Zeilenumbruch\n"
 
+msgid "response expected"
+msgstr "Antwort erwartet"
+
 msgid "unrecognized response\n"
 msgstr "Unbekannte Antwort\n"
 
-msgid "response expected"
-msgstr "Antwort erwartet"
-
 msgid "password: "
 msgstr "Passwort: "
 
@@ -9650,8 +10184,8 @@
 msgstr ""
 
 #, python-format
-msgid "warning: %s@%s: copy source revision is nullid %s:%s"
-msgstr ""
+msgid "warning: %s@%s: copy source revision is nullid %s:%s\n"
+msgstr "Warnung: %s@%s: Revision der Kopienquelle ist Null %s:%s\n"
 
 #, python-format
 msgid "checking rename of %s"