# German translation of watchdog templates
# Michael Meskes <meskes@debian.org>, 2007
# Helge Kreutzmann <debian@helgefjell.de>, 2007
# This file is distributed under the same license as the watchdog package.
#
msgid ""
msgstr ""
"Project-Id-Version: watchdog 5.3.1-3\n"
"Report-Msgid-Bugs-To: meskes@debian.org\n"
"POT-Creation-Date: 2007-07-16 08:48+0200\n"
"PO-Revision-Date: 2007-07-14 12:58+0200\n"
"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"

#. Type: boolean
#. Description
#: ../templates:2001
msgid "Start watchdog at boot time?"
msgstr "Watchdog im Bootprozess starten?"

#. Type: boolean
#. Description
#: ../templates:2001
msgid ""
"Please specify whether watchdog should be started as part of the boot "
"process. This can be changed later by editing /etc/default/watchdog."
msgstr ""
"Bitte geben Sie an, ob Watchdog als Teil des Bootprozesses gestartet werden "
"soll. Dies kann später in der Datei /etc/default/watchdog geändert werden."

#. Type: boolean
#. Description
#: ../templates:3001
msgid "Restart watchdog on upgrades?"
msgstr "Watchdog nach einem Upgrade neu starten?"

#. Type: boolean
#. Description
#: ../templates:3001
msgid ""
"If the kernel is configured with the CONFIG_WATCHDOG_NOWAYOUT option (which "
"is not the default setting), restarting watchdog will cause a spurious "
"reboot (the kernel will assume that the watchdog daemon crashed)."
msgstr ""
"Falls der Kernel mit der Option CONFIG_WATCHDOG_NOWAYOUT konfiguriert wurde "
"(was nicht die Standardeinstellung ist), führt der Neustart von Watchdog zum "
"Neustart des Systems, weil der Kernel denkt, der Watchdog-Prozess wäre "
"abgestürzt."

#. Type: string
#. Description
#: ../templates:4001
msgid "Watchdog module to preload:"
msgstr "Watchdog-Modul, das vorgeladen werden soll:"

#. Type: string
#. Description
#: ../templates:4001
msgid ""
"Please choose which watchdog module should be preloaded before starting "
"watchdog. The 'softdog' module should be suited for all installations. Enter "
"'none' if you don't want the script to load a module."
msgstr ""
"Bitte wählen Sie aus, welches Modul vor dem Start des Servers geladen werden "
"soll. Das Modul »softdog« sollte für alle Installationen geeignet sein. "
"Falls kein Modul geladen werden soll, bitte »none« eingeben."

#~ msgid "Load watchdog module?"
#~ msgstr "Watchdog-Modul laden?"
