# Translation of gst-plugins-ugly to Croatian.
# This file is put in the public domain.
# Tomislav Krznar <tomislav.krznar@gmail.com>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 0.10.17.2\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-03-24 11:28+0200\n"
"PO-Revision-Date: 2012-04-16 03:00+0200\n"
"Last-Translator: Tomislav Krznar <tomislav.krznar@gmail.com>\n"
"Language-Team: Croatian <lokalizacija@linux.hr>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"

msgid "Could not read from CD."
msgstr "Ne mogu čitati CD."

msgid "Could not open CD device for reading."
msgstr "Ne mogu otvoriti CD uređaj za čitanje."

msgid "Disc is not an Audio CD."
msgstr "Disk nije Audio CD."

msgid "Could not open DVD"
msgstr "Ne mogu otvoriti DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Ne mogu otvoriti DVD naslov %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Nisam uspio otići na poglavlje %d DVD naslova %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Ne mogu otvoriti DVD naslov %d. Ovaj element ne podržava interaktivne naslove"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Ne mogu čitati DVD. To je možda zato što je DVD šifriran, a biblioteka "
"dešifriranja DVD-a nije instalirana."

msgid "Could not read DVD."
msgstr "Ne mogu čitati DVD."

#, fuzzy
msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"Nisam uspio konfigurirati LAME koder. Provjerite vaše parametre kodiranja."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Tražena brzina %d kbit/s za svojstvo „%s” nije dozvoljena. Brzina je "
"promijenjena u %d kbit/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"Nisam uspio konfigurirati TwoLAME koder. Provjerite vaše parametre kodiranja."

msgid "This stream contains no data."
msgstr "Ovaj niz ne sadrži podatke."

msgid "Internal data stream error."
msgstr "Greška unutarnjeg niza podataka."
