# German translations for gst-plugins-good 1.3.2
# Copyright (C) 2007 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-good package.
#
# PCM = PCM
# Line-in = Line-Eingang
# Line-out = Line-Ausgang
# Pipeline = Weiterleitung
# Stream = Strom
# mixer  = Mischer
# Christian Kirbach <christian.kirbach@gmail.com>, 2010, 2011, 2012, 2013.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-good 1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-06-28 11:04+0200\n"
"PO-Revision-Date: 2014-05-22 17:31+0100\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.5.4\n"

msgid "Jack server not found"
msgstr "Jack-Server nicht gefunden"

msgid "Failed to decode JPEG image"
msgstr "Dekodieren des JPEG-Bildes schlug fehl"

#. TRANSLATORS: 'song title' by 'artist name'
#, c-format
msgid "'%s' by '%s'"
msgstr "»%s« durch »%s«"

msgid "Could not connect to server"
msgstr "Verbindung zum Server konnte nicht hergestellt werden"

msgid "No URL set."
msgstr "Keine Adresse festgelegt."

msgid "Server does not support seeking."
msgstr "Suchlauf wird nicht vom Server unterstützt."

msgid "Could not resolve server name."
msgstr "Servername konnte nicht aufgelöst werden."

msgid "Could not establish connection to server."
msgstr "Es konnte keine Verbindung zum Server hergestellt werden."

msgid "Secure connection setup failed."
msgstr "Aufbau einer sichern Verbindung ist gescheitert."

msgid ""
"A network error occured, or the server closed the connection unexpectedly."
msgstr ""
"Ein Netzwerkfehler ist aufgetreten, oder der Server schloss die Verbindung "
"unerwartet."

msgid "Server sent bad data."
msgstr "Server gab unerwartete Daten zurück."

msgid "Internal data stream error."
msgstr "Interner Datenstromfehler."

msgid "No or invalid input audio, AVI stream will be corrupt."
msgstr "Kein oder ungültiger Eingabeton, der AVI-Strom wird fehlerhaft sein."

msgid "This file contains no playable streams."
msgstr "Diese Datei enthält keine abspielbaren Ströme."

msgid "This file is invalid and cannot be played."
msgstr "Diese Datei ist ungültig und kann nicht wiedergegeben werden."

msgid "Cannot play stream because it is encrypted with PlayReady DRM."
msgstr ""
"Der Strom kann nicht wiedergegeben werden, weil er mit PlayReady DRM "
"verschlüsselt ist."

msgid "This file is corrupt and cannot be played."
msgstr "Diese Datei ist beschädigt und kann nicht wiedergegeben werden."

msgid "Invalid atom size."
msgstr "Ungültige Atom-Größe."

msgid "This file is incomplete and cannot be played."
msgstr "Diese Datei ist unvollständig und kann nicht wiedergegeben werden."

msgid "The video in this file might not play correctly."
msgstr "Das Video in dieser Datei wird vielleicht nicht korrekt wiedergegeben."

#, c-format
msgid "This file contains too many streams. Only playing first %d"
msgstr ""
"Diese Datei enthält zu viele Ströme. Es werden nur die ersten %d "
"wiedergegeben"

msgid ""
"No supported stream was found. You might need to install a GStreamer RTSP "
"extension plugin for Real media streams."
msgstr ""
"Es wurde kein unterstützter Strom gefunden. Sie müssen vielleicht ein Plugin "
"zur RTSP-Erweiterung von GStreamer für »Real«-Medienströme installieren."

msgid ""
"No supported stream was found. You might need to allow more transport "
"protocols or may otherwise be missing the right GStreamer RTSP extension "
"plugin."
msgstr ""
"Es wurde kein unterstützter Strom gefunden. Sie müssen eventuell zusätzliche "
"Transport-Protokolle erlauben oder es fehlt vielleicht das richtige Plugin "
"zur RTSP-Erweiterung."

msgid "Internal data flow error."
msgstr "Interner Datenstromfehler."

msgid ""
"Could not open audio device for playback. Device is being used by another "
"application."
msgstr ""
"Das Audio-Gerät konnte nicht zur Wiedergabe geöffnet werden. Das Gerät wird "
"von einer anderen Anwendung verwendet."

msgid ""
"Could not open audio device for playback. You don't have permission to open "
"the device."
msgstr ""
"Das Audio-Gerät konnte nicht zur Wiedergabe geöffnet werden. Sie haben nicht "
"die Berechtigungen zum Öffnen des Gerätes."

msgid "Could not open audio device for playback."
msgstr "Das Audio-Gerät konnte nicht zur Wiedergabe geöffnet werden. "

msgid ""
"Could not open audio device for playback. This version of the Open Sound "
"System is not supported by this element."
msgstr ""
"Das Audio-Gerät konnte nicht zur Wiedergabe geöffnet werden. Diese Version "
"des Open Sound System (OSS) wird nicht von diesem Element unterstützt."

msgid "Playback is not supported by this audio device."
msgstr "Wiedergabe wird von diesem Audio-Gerät nicht unterstützt."

msgid "Audio playback error."
msgstr "Fehler bei Audio-Wiedergabe."

msgid "Recording is not supported by this audio device."
msgstr "Aufnahme wird von diesem Audio-Gerät nicht unterstützt."

msgid "Error recording from audio device."
msgstr "Fehler beim Aufnehmen vom Audio-Gerät."

msgid ""
"Could not open audio device for recording. You don't have permission to open "
"the device."
msgstr ""
"Das Audio-Gerät konnte nicht zur Aufnahme geöffnet werden. Sie haben nicht "
"die Berechtigungen zum Öffnen des Gerätes."

msgid "Could not open audio device for recording."
msgstr "Das Audio-Gerät konnte nicht zur Aufnahme geöffnet werden. "

msgid "Record Source"
msgstr "Aufnahmequelle"

msgid "Microphone"
msgstr "Mikrofon"

msgid "Line In"
msgstr "Line-Eingang"

msgid "Internal CD"
msgstr "Interne CD"

msgid "SPDIF In"
msgstr "SPDIF-Eingang"

msgid "AUX 1 In"
msgstr "AUX-Eingang 1"

msgid "AUX 2 In"
msgstr "AUX-Eingang 2"

msgid "Codec Loopback"
msgstr "Codec-Rückschleife"

msgid "SunVTS Loopback"
msgstr "SunVTS-Rückschleife"

msgid "Volume"
msgstr "Lautstärke"

msgid "Gain"
msgstr "Pegel"

msgid "Monitor"
msgstr "Monitor"

msgid "Built-in Speaker"
msgstr "Eingebauter Lautsprecher"

msgid "Headphone"
msgstr "Kopfhörer"

# Hier ist mir noch nichts Besseres eingefallen.
msgid "Line Out"
msgstr "Ausgang"

msgid "SPDIF Out"
msgstr "SPDIF-Ausgang"

msgid "AUX 1 Out"
msgstr "AUX-Ausgang 1"

msgid "AUX 2 Out"
msgstr "AUX-Ausgang 2"

#, c-format
msgid "Error reading %d bytes from device '%s'."
msgstr "Fehler beim Lesen von %d Bytes von Gerät »%s«."

#, c-format
msgid "Failed to enumerate possible video formats device '%s' can work with"
msgstr ""
"Aufzählen möglicher Videoformate, mit denen Gerät »%s« arbeiten kann, schlug "
"fehl"

# »Geholt« ist auch noch nicht optimal, aber »abgebildet« geht auch nicht wirklich.
#, c-format
msgid "Could not map buffers from device '%s'"
msgstr "Die Puffer des Gerätes »%s« konnten nicht geholt werden."

#, c-format
msgid "The driver of device '%s' does not support the IO method %d"
msgstr "Der Treiber von Gerät »%s« unterstützt nicht die EA-Methode %d"

#, c-format
msgid "The driver of device '%s' does not support any known IO method."
msgstr "Der Treiber von Gerät »%s« unterstützt keine bekannte EA-Methode"

#, c-format
msgid "Device '%s' does not support video capture"
msgstr "Gerät »%s« unterstützt keine Videoaufnahme"

#, c-format
msgid "Device '%s' is busy"
msgstr "Gerät »%s« ist belegt"

#, c-format
msgid "Device '%s' cannot capture at %dx%d"
msgstr "Das Gerät »%s« kann nicht bei %dx%d aufnehmen"

#, c-format
msgid "Device '%s' cannot capture in the specified format"
msgstr "Das angegebene Format kann nicht vom Gerät »%s« ausgelesen werden"

#, c-format
msgid "Device '%s' does support non-contiguous planes"
msgstr "Gerät »%s« unterstützt getrennte Ebenen"

#, c-format
msgid "Could not get parameters on device '%s'"
msgstr "Parameter konnten nicht von Gerät »%s« ausgelesen werden"

msgid "Video device did not accept new frame rate setting."
msgstr ""
"Das Video-Eingabegerät akzeptierte nicht die neue Einstellung zur "
"Bildwiederholungsrate."

msgid "Video device did not provide output format."
msgstr "Das Video-Gerät gab kein Ausgabeformat an."

msgid "Video device returned invalid dimensions."
msgstr "Das Video-Gerät gab ungültige Abmessungen zurück."

msgid "Video devices uses an unsupported interlacing method."
msgstr ""
"Video-Geräte verwendet eine nicht unterstützt Methode der "
"Zeilenverschachtelung."

msgid "Video devices uses an unsupported pixel format."
msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."

msgid "Failed to configure internal buffer pool."
msgstr "Einrichten des internen Puffer-Pools ist fehlgeschlagen."

msgid "Video device did not suggest any buffer size."
msgstr "Das Videogerät gab keine Puffer-Größe an."

msgid "No downstream pool to import from."
msgstr "Es gibt keinen Downstream-Pool, aus dem importiert werden kann."

#, c-format
msgid "Failed to get settings of tuner %d on device '%s'."
msgstr ""
"Auslesen der Einstellungen von Empfänger »%d« auf Gerät »%s« schlug fehl."

#, c-format
msgid "Error getting capabilities for device '%s'."
msgstr "Fehler beim Ermitteln der Funktionsmerkmale von Gerät »%s«."

#, c-format
msgid "Device '%s' is not a tuner."
msgstr "»%s« ist kein Empfänger."

#, c-format
msgid "Failed to get radio input on device '%s'. "
msgstr "Empfangen eines Funksignals auf Gerät »%s« schlug fehl."

#, c-format
msgid "Failed to set input %d on device %s."
msgstr "Festlegen der Eingabe »%d« des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to change mute state for device '%s'."
msgstr "Ändern des Stummzustands von Gerät »%s« schlug fehl."

msgid "Failed to allocated required memory."
msgstr ""

#, fuzzy, c-format
msgid "Converter on device %s has no supported input format"
msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."

#, fuzzy, c-format
msgid "Converter on device %s has no supported output format"
msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."

#, fuzzy, c-format
msgid "Encoder on device %s has no supported input format"
msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."

#, fuzzy, c-format
msgid "Encoder on device %s has no supported output format"
msgstr "Das Video-Gerät verwendet ein nicht unterstütztes Pixelformat."

msgid "Failed to allocate required memory."
msgstr ""

#, fuzzy
msgid "Failed to start decoding thread."
msgstr "Dekodieren des JPEG-Bildes schlug fehl"

msgid "Failed to process frame."
msgstr ""

#, c-format
msgid ""
"Error getting capabilities for device '%s': It isn't a v4l2 driver. Check if "
"it is a v4l1 driver."
msgstr ""
"Fehler beim Bestimmen der Fähigkeiten des Geräts »%s«: Es ist kein »v4l2«-"
"Treiber. Überprüfen Sie, ob es ein »v4l1«-Treiber ist."

#, c-format
msgid "Failed to query attributes of input %d in device %s"
msgstr "Abfrage der Attribute der Eingabe »%d« im Gerät »%s« schlug fehl"

#, c-format
msgid "Failed to get setting of tuner %d on device '%s'."
msgstr ""
"Auslesen der Einstellungen der Senderwahl »%d« auf Gerät »%s« schlug fehl."

#, c-format
msgid "Failed to query norm on device '%s'."
msgstr "Abfragen der Norm auf Gerät »%s« schlug fehl."

#, c-format
msgid "Failed getting controls attributes on device '%s'."
msgstr "Abfrage der Kontrollattribute auf Gerät »%s« schlug fehl."

#, c-format
msgid "Cannot identify device '%s'."
msgstr "Gerät »%s« kann nicht identifiziert werden."

#, c-format
msgid "This isn't a device '%s'."
msgstr "»%s« ist kein Gerät."

#, c-format
msgid "Could not open device '%s' for reading and writing."
msgstr "Gerät »%s« konnte nicht zum Lesen oder Schreiben geöffnet werden."

#, c-format
msgid "Device '%s' is not a capture device."
msgstr "»%s« ist kein Aufnahmegerät."

#, c-format
msgid "Device '%s' is not a output device."
msgstr "»%s« ist kein Wiedergabegerät."

#, c-format
msgid "Device '%s' is not a M2M device."
msgstr "Gerät »%s« ist kein M2M-Gerät."

#, c-format
msgid "Could not dup device '%s' for reading and writing."
msgstr "Gerät »%s« konnte nicht zum Lesen oder Schreiben geöffnet werden."

#, c-format
msgid "Failed to set norm for device '%s'."
msgstr "Festlegen der Norm auf Gerät »%s« schlug fehl."

#, c-format
msgid "Failed to get current tuner frequency for device '%s'."
msgstr "Auslesen der aktuellen Sendefrequenz des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to set current tuner frequency for device '%s' to %lu Hz."
msgstr ""
"Festlegen der aktuellen Sendefrequenz des Geräts »%s« auf %lu Hz schlug fehl."

#, c-format
msgid "Failed to get signal strength for device '%s'."
msgstr "Auslesen der aktuellen Signalstärke des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to get value for control %d on device '%s'."
msgstr "Auslesen des Wertes der Einstellung »%d« des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to set value %d for control %d on device '%s'."
msgstr ""
"Festlegen des Wertes »%d« der Einstellung »%d« des Geräts »%s« schlug fehl."

#, c-format
msgid "Failed to get current input on device '%s'. May be it is a radio device"
msgstr ""
"Auslesen der aktuellen Eingabe auf dem Gerät »%s« schlug fehl. Vielleicht "
"ist es ein Funkgerät."

#, c-format
msgid ""
"Failed to get current output on device '%s'. May be it is a radio device"
msgstr ""
"Auslesen der aktuellen Ausgabe des Geräts »%s« schlug fehl. Vielleicht ist "
"es ein Funkgerät."

#, c-format
msgid "Failed to set output %d on device %s."
msgstr "Festlegen der Ausgabe »%d« des Geräts »%s« schlug fehl."

msgid "Changing resolution at runtime is not yet supported."
msgstr "Ein Wechsel der Auflösung zur Laufzeit wird noch nicht unterstützt."

# Taktgeber klingt gut.
msgid "Cannot operate without a clock"
msgstr "Es kann nicht ohne einen Taktgeber gearbeitet werden."

#~ msgid "Could not establish connection to sound server"
#~ msgstr "Es konnte keine Verbindung zum Audio-Server hergestellt werden"

#~ msgid "Failed to query sound server capabilities"
#~ msgstr "Abfrage der Fähigkeiten des Audio-Servers ist fehlgeschlagen"

#~ msgid "Bass"
#~ msgstr "Bass"

#~ msgid "Treble"
#~ msgstr "Höhen"

#~ msgid "Synth"
#~ msgstr "Synth"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Speaker"
#~ msgstr "Lautsprecher"

#~ msgid "Line-in"
#~ msgstr "Line-Eingang"

#~ msgid "CD"
#~ msgstr "CD"

#~ msgid "Mixer"
#~ msgstr "Mischer"

#~ msgid "PCM-2"
#~ msgstr "PCM 2"

#~ msgid "Record"
#~ msgstr "Aufnahme"

#~ msgid "In-gain"
#~ msgstr "Eingangspegel"

#~ msgid "Out-gain"
#~ msgstr "Ausgangspegel"

#~ msgid "Line-1"
#~ msgstr "Eingang-1"

#~ msgid "Line-2"
#~ msgstr "Eingang-2"

#~ msgid "Line-3"
#~ msgstr "Eingang-3"

#~ msgid "Digital-1"
#~ msgstr "Digital-1"

#~ msgid "Digital-2"
#~ msgstr "Digital-2"

#~ msgid "Digital-3"
#~ msgstr "Digital-3"

# Mikrofon? Zweifelhaft. Eher Kopfhörer oder Telefon.
#~ msgid "Phone-in"
#~ msgstr "Mikrofoneingang"

# Ist hier Kopfhörer oder Telefon gemeint?
#~ msgid "Phone-out"
#~ msgstr "Mikrofonausgang"

#~ msgid "Video"
#~ msgstr "Video"

#~ msgid "Radio"
#~ msgstr "Radio"

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Das Audio-Gerät konnte nicht für das Mischpult geöffnet werden."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Das Audio-Gerät konnte nicht für das Mischpult geöffnet werden. Diese "
#~ "Version des Open Sound System (OSS) wird nicht unterstützt."

#~ msgid "Master"
#~ msgstr "Hauptregler"

#~ msgid "Front"
#~ msgstr "Front"

#~ msgid "Rear"
#~ msgstr "AufnahmeRückseite"

#~ msgid "Headphones"
#~ msgstr "Kopfhörer"

#~ msgid "Center"
#~ msgstr "Mitte"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Surround"

#~ msgid "Side"
#~ msgstr "Seite"

#~ msgid "AUX Out"
#~ msgstr "AUX-Ausgang"

#~ msgid "3D Depth"
#~ msgstr "3D-Tiefe"

#~ msgid "3D Center"
#~ msgstr "3D-Mitte"

#~ msgid "3D Enhance"
#~ msgstr "Erweitertes 3D"

#~ msgid "Telephone"
#~ msgstr "Telefon"

#~ msgid "Video In"
#~ msgstr "Video-Eingang"

#~ msgid "AUX In"
#~ msgstr "AUX-Eingang"

#~ msgid "Record Gain"
#~ msgstr "Aufnahmepegel"

#~ msgid "Output Gain"
#~ msgstr "Ausgangspegel"

#~ msgid "Microphone Boost"
#~ msgstr "Mikrofonverstärkung"

#~ msgid "Diagnostic"
#~ msgstr "Zur Diagnose"

#~ msgid "Bass Boost"
#~ msgstr "Bassverstärkung"

#~ msgid "Playback Ports"
#~ msgstr "Wiedergabe-Ports"

#~ msgid "Input"
#~ msgstr "Eingang"

#~ msgid "Monitor Source"
#~ msgstr "Überwachungsquelle"

#~ msgid "Keyboard Beep"
#~ msgstr "Tastatur-Piepsen"

#~ msgid "Simulate Stereo"
#~ msgstr "Stereo simulieren"

#~ msgid "Stereo"
#~ msgstr "Stereo"

#~ msgid "Surround Sound"
#~ msgstr "Surround-Audio"

#~ msgid "Microphone Gain"
#~ msgstr "Mikrofonpegel"

#~ msgid "Speaker Source"
#~ msgstr "Lautsprecherquelle"

#~ msgid "Microphone Source"
#~ msgstr "Mikrofonquelle"

#~ msgid "Jack"
#~ msgstr "Stecker"

#~ msgid "Center / LFE"
#~ msgstr "Mitte / LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Stereo-Mischpult"

#~ msgid "Mono Mix"
#~ msgstr "Mono-Mischpult"

#~ msgid "Input Mix"
#~ msgstr "Eingangs-Mischpult"

#~ msgid "Microphone 1"
#~ msgstr "Mikrofon 1"

#~ msgid "Microphone 2"
#~ msgstr "Mikrofon 2"

#~ msgid "Digital Out"
#~ msgstr "Digital-Ausgang"

#~ msgid "Digital In"
#~ msgstr "Digital-Eingang"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Modem"

#~ msgid "Handset"
#~ msgstr "Hörer"

#~ msgid "Other"
#~ msgstr "Anderes"

#~ msgid "None"
#~ msgstr "Kein"

#~ msgid "On"
#~ msgstr "Aktiviert"

#~ msgid "Off"
#~ msgstr "Deaktiviert"

#~ msgid "Mute"
#~ msgstr "Stumm"

#~ msgid "Fast"
#~ msgstr "Schnell"

#~ msgid "Very Low"
#~ msgstr "Sehr niedrig"

#~ msgid "Low"
#~ msgstr "Niedrig"

#~ msgid "Medium"
#~ msgstr "Medium"

#~ msgid "High"
#~ msgstr "Hoch"

#~ msgid "Very High"
#~ msgstr "Sehr hoch"

#~ msgid "Production"
#~ msgstr "Produktion"

#~ msgid "Front Panel Microphone"
#~ msgstr "Mikrofon am Vordereingang"

#~ msgid "Front Panel Line In"
#~ msgstr "Line-Eingang am Vordereingang"

#~ msgid "Front Panel Headphones"
#~ msgstr "Kopfhörer am Vordereingang"

#~ msgid "Front Panel Line Out"
#~ msgstr "Line-Ausgang am Vordereingang"

#~ msgid "Green Connector"
#~ msgstr "Grüner Stecker"

#~ msgid "Pink Connector"
#~ msgstr "Rosa Stecker"

#~ msgid "Blue Connector"
#~ msgstr "Blauer Stecker"

#~ msgid "White Connector"
#~ msgstr "Weißer Stecker"

#~ msgid "Black Connector"
#~ msgstr "Schwarzer Stecker"

#~ msgid "Gray Connector"
#~ msgstr "Grauer Stecker"

#~ msgid "Orange Connector"
#~ msgstr "Oranger Stecker"

#~ msgid "Red Connector"
#~ msgstr "Roter Stecker"

#~ msgid "Yellow Connector"
#~ msgstr "Gelber Stecker"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Grüner Stecker am Vordereingang"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Rosa Stecker am Vordereingang"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Blauer Stecker am Vordereingang"

#~ msgid "White Front Panel Connector"
#~ msgstr "Weißer Stecker am Vordereingang"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Schwarzer Stecker am Vordereingang"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Grauer Stecker am Vordereingang"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Oranger Stecker am Vordereingang"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Roter Stecker am Vordereingang"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Gelber Stecker am Vordereingang"

#~ msgid "Spread Output"
#~ msgstr "Ausgabe verstreuen"

#~ msgid "Downmix"
#~ msgstr "Heruntermischen"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Eingang des virtuellen Mischpults"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Ausgang des virtuellen Mischpults"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Kanäle des virtuellen Mischpults"

#~ msgid "%s %d Function"
#~ msgstr "%s %d Function"

#~ msgid "%s Function"
#~ msgstr "%s-Funktion"

# »Frame« sollten wir im Zusammenhang mit Videos vielleicht besser so belassen. Habe ich in gnome-subtitles auch so gemacht.
#~ msgid "Got unexpected frame size of %u instead of %u."
#~ msgstr "Unerwartete Frame-Größe von %u anstatt %u wurde erhalten."

#~ msgid "Error reading %d bytes on device '%s'."
#~ msgstr "Fehler beim Lesen von %d Bytes auf Gerät »%s«."

#~ msgid "Could not enqueue buffers in device '%s'."
#~ msgstr "Auf Gerät »%s« konnten keine Puffer eingereiht werden."

#~ msgid "Failed trying to get video frames from device '%s'."
#~ msgstr "Der Versuch Videobilder von Gerät »%s« auszulesen schlug fehl."

#~ msgid "Failed after %d tries. device %s. system error: %s"
#~ msgstr "%d Versuche sind fehlgeschlagen. Gerät »%s«. Systemfehler: %s"

#~ msgid ""
#~ "The buffer type is not supported, or the index is out of bounds, or no "
#~ "buffers have been allocated yet, or the userptr or length are invalid. "
#~ "device %s"
#~ msgstr ""
#~ "Der Puffertyp wird nicht unterstützt, der Index ist außerhalb seiner "
#~ "Grenzwerte, es sind bisher noch keine Puffer angefordert worden oder "
#~ "»userptr« oder die Länge sind ungültig. Gerät »%s«"

#~ msgid ""
#~ "Failed trying to get video frames from device '%s'. Not enough memory."
#~ msgstr ""
#~ "Der Versuch Videobilder von Gerät »%s« auszulesen schlug fehl. Nicht "
#~ "genug Arbeitsspeicher."

# Was ist ein Zeigerpuffer?
#, fuzzy
#~ msgid "insufficient memory to enqueue a user pointer buffer. device %s."
#~ msgstr ""
#~ "Ungenügend Arbeitsspeicher, um einen Zeigerpuffer eines Benutzers "
#~ "einzureihen. Gerät »%s«."

#~ msgid "No free buffers found in the pool at index %d."
#~ msgstr "Es wurden keine freien Puffer im Vorrat bei Index %d gefunden."

#~ msgid "Could not get buffers from device '%s'."
#~ msgstr "Die Puffer konnten nicht von Gerät »%s« ausgelesen werden."

#~ msgid "Could not get enough buffers from device '%s'."
#~ msgstr "Es konnten nicht genug Puffer von Gerät »%s« ausgelesen werden."
