# Translation of 'gst-plugins-bad' messages to Kirghiz.
# Copyright (C) 2002 Free Software Foundation, Inc.
# Ilyas Bakirov <just_ilyas@yahoo.com>, 2007.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 0.10.5\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2013-08-28 13:05+0200\n"
"PO-Revision-Date: 2007-11-13 17:16+0600\n"
"Last-Translator: Ilyas Bakirov <just_ilyas@yahoo.com>\n"
"Language-Team: Kirghiz <i18n-team-ky-kyrgyz@lists.sourceforge.net>\n"
"Language: ky\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Kyrgyz\n"
"X-Poedit-Country: KYRGYZSTAN\n"

msgid "Could not read title information for DVD."
msgstr ""

#, fuzzy, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Алдын \"%s\" жабдыкты ачалган жок."

msgid "Failed to set PGC based seeking."
msgstr ""

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""

msgid "Could not read DVD."
msgstr ""

msgid "This file contains no playable streams."
msgstr ""

msgid "Couldn't get the Manifest's URI"
msgstr ""

msgid "Failed to get fragment URL."
msgstr ""

msgid "Couldn't download fragments"
msgstr ""

msgid "No file name specified for writing."
msgstr ""

#, fuzzy, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "\"%s\"  файлы окууга ачылган жок."

msgid "Internal data stream error."
msgstr ""

#, fuzzy, c-format
msgid "Could not write to file \"%s\"."
msgstr "Алдын \"%s\" жабдыкты ачалган жок."

msgid "Could not establish connection to sndio"
msgstr ""

msgid "Failed to query sndio capabilities"
msgstr ""

#, fuzzy
msgid "Could not configure sndio"
msgstr "\"%s\"  файлы окууга ачылган жок."

msgid "Could not start sndio"
msgstr ""

msgid "Internal data flow error."
msgstr ""

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr ""

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""

msgid "Subpicture format was not configured before data flow"
msgstr ""

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "\"%s\" мындай жабдык жок."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Алдын \"%s\" жабдыкты ачалган жок."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Алдын \"%s\" жабдыктан ырастоолор алынган жок."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "\"%s\"  файлы окууга ачылган жок."

msgid "Couldn't find DVB channel configuration file"
msgstr ""

#, c-format
msgid "Couldn't load DVB channel configuration file: %s"
msgstr ""

msgid "DVB channel configuration file doesn't contain any channels"
msgstr ""

#, c-format
msgid "Couldn't find details for DVB channel %s"
msgstr ""
