# Friulian messages for gst-plugins-ugly-1.10.0.
# This file is put in the public domain.
# Fabio Tomat <f.t.public@gmail.com>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-ugly 1.10.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2017-09-18 16:18+0300\n"
"PO-Revision-Date: 2016-11-30 16:23+0100\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <f.t.public@gmail.com>\n"
"Language: fur\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"
"X-Generator: Poedit 1.8.11\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

msgid "Could not read from CD."
msgstr "Impussibil lei dal CD."

msgid "Could not open CD device for reading."
msgstr "Impussibil vierzi il dispositîf CD par lei."

msgid "Disc is not an Audio CD."
msgstr "Il disc nol è un CD Audio."

msgid "Could not open DVD"
msgstr "Impussibil vierzi il DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Impussibil vierzi il titul DVD %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "No si è rivâts a lâ al cjapitul %d dal titul DVD %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Impussibil vierzi il titul DVD %d. I titui interatîfs no son supuartâts di "
"chest element"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Impussibil lei il DVD. Al podarès jessi par vie che il DVD al è cifrât e une "
"librarie di decifradure no je instalade."

msgid "Could not read DVD."
msgstr "Impussibil lei il DVD."

msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"No si è rivâts a configurâ il codificadôr audio mp3 LAME. Controle i "
"parametris di codifiche."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Il bitrate domandât (%d kbit/s) pe proprietât '%s' nol è permetût. Il "
"bitrate al è stât cambiât a %d kbit/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"No si è rivâts a configurâ il codificadôr TwoLAME. Controle i parametris di "
"codifiche."

msgid "This stream contains no data."
msgstr "Il flus nol conten dâts."
