# Polish translation for gst-plugins-ugly.
# This file is distributed under the same license as the gst-plugins-ugly package.
# Jakub Bogusz <qboosh@pld-linux.org>, 2007-2012.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.0.3\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-01 17:53+0200\n"
"PO-Revision-Date: 2012-11-28 19:34+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"

msgid "Could not read from CD."
msgstr "Odczyt z CD nie powiódł się."

msgid "Could not open CD device for reading."
msgstr "Nie udało się otworzyć urządzenia CD do odczytu."

msgid "Disc is not an Audio CD."
msgstr "Płyta nie jest płytą CD Audio."

msgid "Could not open DVD"
msgstr "Nie udało się otworzyć DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Nie udało się otworzyć tytułu DVD %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Nie udało się przemieścić do rozdziału %d tytułu DVD %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Nie udało się otworzyć tytułu DVD %d. Interaktywne tytułu nie są obsługiwane "
"przez ten element"

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 ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"Nie udało się skonfigurować kodera dźwięku mp3 LAME. Proszę sprawdzić "
"parametry kodowania."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Żądana prędkość bitowa %d kbit/s dla właściwości '%s' nie jest dozwolona. "
"Prędkość bitowa zmieniona na %d kbit/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"Nie udało się skonfigurować kodera TwoLAME. Proszę sprawdzić parametry "
"kodowania."

msgid "This stream contains no data."
msgstr "Ten strumień nie zawiera danych."

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