# 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-2013.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.1.4\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-09-24 14:34+0200\n"
"PO-Revision-Date: 2013-09-15 11:29+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 "Couldn't download fragments"
msgstr "Nie udało się pobrać fragmentów"

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."

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

#, 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 "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"
