# Norwegian bokmaal translation of gst-plugins-ugly.
# This file is put in the public domain.
#
# Kjartan Maraas <kmaraas@gnome.org>, 2004-2007.
# Johnny A. Solbu <johnny@solbu.net>, 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: 2017-01-12 14:45+0200\n"
"PO-Revision-Date: 2012-12-21 21:38+0100\n"
"Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
"Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
"Language: nb_NO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"

msgid "Could not read from CD."
msgstr "Kunne ikke lese fra CD."

msgid "Could not open CD device for reading."
msgstr "Kunne ikke åpne CD-enheten for lesing."

msgid "Disc is not an Audio CD."
msgstr "Disken er ikke en lyd-CD."

msgid "Could not open DVD"
msgstr "Kunne ikke åpne DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Kunne ikke åpne DVD-tittel %d."

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Klarte ikke å gå til kapittel %d på DVD tittel %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr ""
"Kunne ikke åpne DVD-tittel %d. Interaktive titler er ikke støttet av dette "
"elementet"

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Kunne ikke lese DVD-en. Dette kan være fordi DVD-en er kryptert DVD-"
"dekrypteringsbiblioteket ikke er installert."

msgid "Could not read DVD."
msgstr "Kunne ikke lese DVD"

msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr "Kunne ikke konfigurere LAME-koder. Sjekk parametere for kodingen."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Forespurt bitrate %d kbit/s for egenskap «%s» er ikke tillatt. Bitraten ble "
"endret til %d kbit/s."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"Kunne ikke konfigurere TwoLAME-enkoder. Sjekk parameterene for kodingen."

msgid "This stream contains no data."
msgstr "Denne strømmen inneholde ikke data."

#~ msgid "Internal data stream error."
#~ msgstr "Intern feil i datastrøm."

#~ msgid "This file is encrypted and cannot be played."
#~ msgstr "Denne filen er kryptert og kan ikke spilles av."

#~ msgid "Invalid title information on DVD."
#~ msgstr "Ugyldig tittelinformasjon på DVD."

#~ msgid "Failed to open DVD device '%s'."
#~ msgstr "Kunne ikke åpne DVD-enhet «%s»."

#~ msgid "Failed to set PGC based seeking."
#~ msgstr "Kunne ikke sette PGC-basert søking."
