# translation of gst-plugins-bad-0.10.21.2.po to Español
# spanish translation for gst-plugins-bad
# This file is put in the public domain.
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2012-02-17 10:41+0100\n"
"PO-Revision-Date: 2011-10-02 15:47+0200\n"
"Last-Translator: Jorge González González <aloriel@gmail.com>\n"
"Language-Team: Spanish <es@li.org>\n"
"Language: es\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"

msgid "Could not read title information for DVD."
msgstr "No se pudo leer la información del título para el DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Falló abrir el dispositivo DVD «%s»."

msgid "Failed to set PGC based seeking."
msgstr "Falló al establecer la búsqueda basada en PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"No se pudo leer el DVD. Puede ser debido a que el DVD está cifrado y la "
"biblioteca de descifrado del DVD no está instalada."

msgid "Could not read DVD."
msgstr "No se pudo leer el DVD."

msgid "No file name specified for writing."
msgstr "No se especificó un nombre de archivo para su escritura."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "No se pudo abrir el archivo «%s» para escribir."

msgid "Internal data stream error."
msgstr "Error en el flujo de datos interno."

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "No se pudo escribir en el archivo «%s»."

msgid "Internal data flow error."
msgstr "Error en el flujo de datos interno."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "El dispositivo «%s» no existe."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "No se pudo abrir el dispositivo frontend «%s»."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "No se pudieron obtener los ajustes del dispositivo frontend «%s»."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "No se pudo abrir el archivo «%s» para leer."

#~ msgid "Internal clock error."
#~ msgstr "Error en el reloj interno."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo de sonido para manejar el control del "
#~ "mezclador."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo para manejar el control del mezclador. "
#~ "Este elemento no soporta esta versión del Open Sound System."

#~ msgid "Volume"
#~ msgstr "Volumen"

#~ msgid "Master"
#~ msgstr "Maestro"

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

#~ msgid "Rear"
#~ msgstr "Trasero"

#~ msgid "Headphones"
#~ msgstr "Auriculares"

#~ msgid "Center"
#~ msgstr "Centrado"

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

#~ msgid "Surround"
#~ msgstr "Sonido envolvente"

#~ msgid "Side"
#~ msgstr "Lateral"

#~ msgid "Built-in Speaker"
#~ msgstr "Altavoz integrado"

#~ msgid "AUX 1 Out"
#~ msgstr "Salida auxiliar 1"

#~ msgid "AUX 2 Out"
#~ msgstr "Salida auxiliar 2"

#~ msgid "AUX Out"
#~ msgstr "Salida auxiliar"

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

#~ msgid "Treble"
#~ msgstr "Agudos"

#~ msgid "3D Depth"
#~ msgstr "Profundidad 3D"

#~ msgid "3D Center"
#~ msgstr "Centro 3D"

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

#~ msgid "Telephone"
#~ msgstr "Teléfono"

#~ msgid "Microphone"
#~ msgstr "Micrófono"

#~ msgid "Line Out"
#~ msgstr "Línea de salida"

#~ msgid "Line In"
#~ msgstr "Línea de entrada"

#~ msgid "Internal CD"
#~ msgstr "CD interno"

#~ msgid "Video In"
#~ msgstr "Entrada de vídeo"

#~ msgid "AUX 1 In"
#~ msgstr "Entrada auxiliar 1"

#~ msgid "AUX 2 In"
#~ msgstr "Entrada auxiliar 2"

#~ msgid "AUX In"
#~ msgstr "Entrada auxiliar"

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

#~ msgid "Record Gain"
#~ msgstr "Ganancia de grabación"

#~ msgid "Output Gain"
#~ msgstr "Salida de grabación"

#~ msgid "Microphone Boost"
#~ msgstr "Aumento del micrófono"

#~ msgid "Loopback"
#~ msgstr "Bucle local"

#~ msgid "Diagnostic"
#~ msgstr "Diagnóstico"

#~ msgid "Bass Boost"
#~ msgstr "Aumento de bajos"

#~ msgid "Playback Ports"
#~ msgstr "Puertos de reproducción"

#~ msgid "Input"
#~ msgstr "Entrada"

#~ msgid "Record Source"
#~ msgstr "Origen de la grabación"

#~ msgid "Monitor Source"
#~ msgstr "Origen del monitor"

#~ msgid "Keyboard Beep"
#~ msgstr "Pitido del teclado"

#~ msgid "Monitor"
#~ msgstr "Monitor"

#~ msgid "Simulate Stereo"
#~ msgstr "Simular estéreo"

#~ msgid "Stereo"
#~ msgstr "Estéreo"

#~ msgid "Surround Sound"
#~ msgstr "Sonido envolvente"

#~ msgid "Microphone Gain"
#~ msgstr "Ganancia del micrófono"

#~ msgid "Speaker Source"
#~ msgstr "Origen de los altavoces"

#~ msgid "Microphone Source"
#~ msgstr "Origen del micrófono"

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

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

#~ msgid "Stereo Mix"
#~ msgstr "Mezclador estéreo"

#~ msgid "Mono Mix"
#~ msgstr "Mezclador mono"

#~ msgid "Input Mix"
#~ msgstr "Mezclador de entrada"

#~ msgid "SPDIF In"
#~ msgstr "Entrada S/PDIF"

#~ msgid "SPDIF Out"
#~ msgstr "Salida S/PDIF"

#~ msgid "Microphone 1"
#~ msgstr "Micrófono 1"

#~ msgid "Microphone 2"
#~ msgstr "Micrófono 2"

#~ msgid "Digital Out"
#~ msgstr "Salida digital"

#~ msgid "Digital In"
#~ msgstr "Entrada digital"

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

#~ msgid "Modem"
#~ msgstr "Módem"

#~ msgid "Handset"
#~ msgstr "Auriculares"

#~ msgid "Other"
#~ msgstr "Otro"

#~ msgid "None"
#~ msgstr "Ninguno"

#~ msgid "On"
#~ msgstr "Encendido"

#~ msgid "Off"
#~ msgstr "Apagado"

#~ msgid "Mute"
#~ msgstr "Silenciar"

#~ msgid "Fast"
#~ msgstr "Rápido"

#~ msgid "Very Low"
#~ msgstr "Muy bajo"

#~ msgid "Low"
#~ msgstr "Bajo"

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

#~ msgid "High"
#~ msgstr "Alto"

#~ msgid "Very High"
#~ msgstr "Muy alto"

#~ msgid "Production"
#~ msgstr "Producción"

#~ msgid "Front Panel Microphone"
#~ msgstr "Micrófono del panel frontal"

#~ msgid "Front Panel Line In"
#~ msgstr "Línea de entrada del panel frontal"

#~ msgid "Front Panel Headphones"
#~ msgstr "Auriculares del panel frontal"

#~ msgid "Front Panel Line Out"
#~ msgstr "Línea de salida del panel frontal"

#~ msgid "Green Connector"
#~ msgstr "Conector verde"

#~ msgid "Pink Connector"
#~ msgstr "Conector rosa"

#~ msgid "Blue Connector"
#~ msgstr "Conector azul"

#~ msgid "White Connector"
#~ msgstr "Conector blanco"

#~ msgid "Black Connector"
#~ msgstr "Conector negro"

#~ msgid "Gray Connector"
#~ msgstr "Conector gris"

#~ msgid "Orange Connector"
#~ msgstr "Conector naranja"

#~ msgid "Red Connector"
#~ msgstr "Conector rojo"

#~ msgid "Yellow Connector"
#~ msgstr "Conector amarillo"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Conector verde del panel frontal"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Conector rosa del panel frontal"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Conector azul del panel frontal"

#~ msgid "White Front Panel Connector"
#~ msgstr "Conector blanco del panel frontal"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Conector negro del panel frontal"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Conector gris del panel frontal"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Conector naranja del panel frontal"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Conector rojo del panel frontal"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Conector amarillo del panel frontal"

#~ msgid "Spread Output"
#~ msgstr "Expandir salida"

#~ msgid "Downmix"
#~ msgstr "Reducción de canales"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Entrada del mezclador virtual"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Salida del mezclador virtual"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Canales del mezclador virtual"

#~ msgid "%s Function"
#~ msgstr "Función %s"

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

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo de sonido para reproducir. Otra "
#~ "aplicación está usando el dispositivo."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo de sonido para reproducir. No tiene "
#~ "permiso para abrir el dispositivo."

#~ msgid "Could not open audio device for playback."
#~ msgstr "No se pudo abrir el dispositivo de sonido para reproducción."

#~ msgid ""
#~ "Could not open audio device for playback. This version of the Open Sound "
#~ "System is not supported by this element."
#~ msgstr ""
#~ "No se pudo abrir el dispositivo para reproducir. Este elemento no soporta "
#~ "esta versión del Open Sound System."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Este dispositivo de sonido no soporta reproducción."

#~ msgid "Audio playback error."
#~ msgstr "Error en la reproducción del sonido."

#~ msgid "Recording is not supported by this audio device."
#~ msgstr "Este dispositivo de sonido no soporta grabación."

#~ msgid "Error recording from audio device."
#~ msgstr "Error al grabar desde el dispositivo de sonido."

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

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

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

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

#~ msgid "Green connector function"
#~ msgstr "Función del conector verde"

#~ msgid "Green front panel connector function"
#~ msgstr "Función del conector verde del panel frontal"

#~ msgid "Pink connector function"
#~ msgstr "Función del conector rosa"

#~ msgid "Pink front panel connector function"
#~ msgstr "Función del conector rosa del panel frontal"

#~ msgid "Blue connector function"
#~ msgstr "Función del conector azul"

#~ msgid "Blue front panel connector function"
#~ msgstr "Función del conector azul del panel frontal"

#~ msgid "Orange connector function"
#~ msgstr "Función del conector naranja"

#~ msgid "Orange front panel connector function"
#~ msgstr "Función del conector naranja del panel frontal"

#~ msgid "Black connector function"
#~ msgstr "Función del conector negro"

#~ msgid "Black front panel connector function"
#~ msgstr "Función del conector negro del panel frontal"

#~ msgid "Gray connector function"
#~ msgstr "Función del conector gris"

#~ msgid "Gray front panel connector function"
#~ msgstr "Función del conector gris del panel frontal"

#~ msgid "White connector function"
#~ msgstr "Función del conector blanco"

#~ msgid "White front panel connector function"
#~ msgstr "Función del conector blanco del panel frontal"

#~ msgid "Red connector function"
#~ msgstr "Función del conector rojo"

#~ msgid "Red front panel connector function"
#~ msgstr "Función del conector rojo del panel frontal"

#~ msgid "Yellow connector function"
#~ msgstr "Función del conector amarillo"

#~ msgid "Yellow front panel connector function"
#~ msgstr "Función del conector amarillo del panel frontal"

#~ msgid "Virtual mixer channel configuration"
#~ msgstr "Configuración del canal del mezclador virtual"

#~ msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
#~ msgstr ""
#~ "Falló al configurar el codificador TwoLAME. Compruebe sus parámetros de "
#~ "codificación."

#~ msgid ""
#~ "The requested bitrate %d kbit/s for property '%s' is not allowed. The "
#~ "bitrate was changed to %d kbit/s."
#~ msgstr ""
#~ "La tasa de bits %d kbps solicitada para la propiedad «%s» no está "
#~ "permitida. La tasa de bits se cambió a %d kbps."
