# Polish translation for gst-plugins-bad.
# This file is distributed under the same license as the gst-plugins-bad package.
# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2014.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.3.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2014-06-22 17:56+0200\n"
"PO-Revision-Date: 2014-05-22 18:34+0200\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

msgid "Could not read title information for DVD."
msgstr "Nie udało się odczytać informacji o tytułach dla DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Nie udało się otworzyć urządzenia DVD '%s'."

msgid "Failed to set PGC based seeking."
msgstr "Nie udało się ustawić przewijania opartego na PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Nie udało się odczytać DVD. Powodem może być to, że płyta jest zaszyfrowana, "
"a biblioteka odszyfrowująca nie została zainstalowana."

msgid "Could not read DVD."
msgstr "Nie udało się odczytać DVD."

msgid "This file contains no playable streams."
msgstr "Ten plik nie zawiera strumieni do odtworzenia."

msgid "Couldn't get the Manifest's URI"
msgstr "Nie udało się uzyskać URI Manifestu"

msgid "Failed to get fragment URL."
msgstr "Nie udało się uzyskać URL-a fragmentu."

msgid "Internal data stream error."
msgstr "Błąd wewnętrzny strumienia danych."

msgid "Couldn't download fragments"
msgstr "Nie udało się pobrać fragmentów"

msgid "Could not open sndfile stream for reading."
msgstr "Nie udało się otworzyć strumienia sndfile do odczytu."

msgid "No file name specified for writing."
msgstr "Nie określono nazwy pliku do zapisu."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Nie udało się otworzyć pliku \"%s\" do zapisu."

#, c-format
msgid "Could not write to file \"%s\"."
msgstr "Nie udało się zapisać danych do pliku \"%s\"."

msgid "Could not establish connection to sndio"
msgstr "Nie udało się ustanowić połączenia z sndio"

msgid "Failed to query sndio capabilities"
msgstr "Nie udało się odpytać o możliwości sndio"

msgid "Could not configure sndio"
msgstr "Nie udało się skonfigurować sndio"

msgid "Could not start sndio"
msgstr "Nie udało się uruchomić sndio"

msgid "Internal data flow error."
msgstr "Błąd wewnętrzny przepływu danych."

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Wygenerowany plik ma dłuższy czas rozbiegówki niż czas trwania strumieni"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Brak elementu '%s' - proszę sprawdzić instalację GStreamera."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
"Położenie pliku ustawiono na NULL, proszę ustawić na poprawną nazwę pliku"

msgid "Subpicture format was not configured before data flow"
msgstr "Format podobrazu nie został skonfigurowany przed przepływem danych"

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Podanej nazwy pliku \"%s\" nie można przekształcić do lokalnego kodowania "
"nazw plików."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Urządzenie \"%s\" nie istnieje."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Nie udało się otworzyć urządzenia frontendu \"%s\"."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Nie udało się pobrać ustawień z urządzenia frontendu \"%s\"."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr ""
"Nie można wyliczyć systemów dostarczania z urządzenia frontendu \"%s\"."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Nie udało się otworzyć pliku \"%s\" do odczytu."

msgid "Couldn't find DVB channel configuration file"
msgstr "Nie udało się odnaleźć pliku konfiguracyjnego kanałów DVB"

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr "Nie udało się wczytać pliku konfiguracyjnego kanałów DVB: %s"

msgid "DVB channel configuration file doesn't contain any channels"
msgstr "Plik konfiguracyjny kanałów DVB nie zawiera żadnych kanałów"

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr "Nie udało się odnaleźć szczegółów dla kanału DVB %s"
