# 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-2016.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-29 15:49+0200\n"
"PO-Revision-Date: 2016-11-01 20:53+0100\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"
"X-Bugs: Report translation errors to the Language-Team address.\n"

msgid "failed to draw pattern"
msgstr "nie udało się narysować wzoru"

msgid "A GL error occured"
msgstr "Wystąpił błąd GL"

msgid "format wasn't negotiated before get function"
msgstr "format nie został wynegocjowany przed funkcją pobrania"

msgid "OpenCV failed to load template image"
msgstr "Odczyt obrazu wzorca przez OpenCV nie powiódł się"

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 "Could not open sndfile stream for reading."
msgstr "Nie udało się otworzyć strumienia sndfile do odczytu."

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 "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 "Digitalzoom element couldn't be created"
msgstr "Nie udało się utworzyć elementu Digitalzoom"

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

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 "Internal data stream error."
msgstr "Błąd wewnętrzny strumienia danych."

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

#, 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 "Could not open file \"%s\" for writing."
msgstr "Nie udało się otworzyć pliku \"%s\" do zapisu."

#, 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 channel configuration file"
msgstr "Nie udało się odnaleźć pliku konfiguracyjnego kanałów"

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

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

#, c-format
msgid "No properties for channel '%s'"
msgstr "Brak właściwości dla kanału '%s'"

#, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "Nie udało się ustawić właściwości dla kanału '%s'."

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

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