# Kinyarwanda translations for gstreamer package.
# Copyright (C) 2005 Free Software Foundation, Inc.
# Steve Murphy <murf@e-tools.com>, 2005.
# Steve performed initial rough translation from compendium built from translations provided by the following translators:
# Philibert Ndandali  <ndandali@yahoo.fr>, 2005.
# Viateur MUGENZI <muvia1@yahoo.fr>, 2005.
# Noëlla Mupole <s24211045@tuks.co.za>, 2005.
# Carole Karema <karemacarole@hotmail.com>, 2005.
# JEAN BAPTISTE NGENDAHAYO <ngenda_denis@yahoo.co.uk>, 2005.
# Augustin KIBERWA  <akiberwa@yahoo.co.uk>, 2005.
# Donatien NSENGIYUMVA <ndonatienuk@yahoo.co.uk>, 2005.
# Antoine Bigirimana <antoine@e-tools.com>, 2005.
#
msgid ""
msgstr ""
"Project-Id-Version: gstreamer 0.8.8\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2010-03-08 17:49+0000\n"
"PO-Revision-Date: 2005-04-04 10:55-0700\n"
"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"

#, fuzzy
msgid "Print the GStreamer version"
msgstr "i Verisiyo"

#, fuzzy
msgid "Make all warnings fatal"
msgstr "Byose Iburira"

#, fuzzy
msgid "Print available debug categories and exit"
msgstr "Bihari Kosora amakosa Ibyiciro Na Gusohoka"

#, fuzzy
msgid ""
"Default debug level from 1 (only error) to 5 (anything) or 0 for no output"
msgstr ""
"Kosora amakosa urwego Bivuye 1. Ikosa Kuri 5 Cyangwa 0 kugirango Oya "
"Ibisohoka"

# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.WriterObject.Table.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.WriterObject.Frame.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.WriterObject.Graphic.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.OfficeObject.Calc.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.OfficeObject.Draw.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.OfficeObject.Chart.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.OfficeObject.Image.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.OfficeObject.Formula.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.OfficeObject.Impress.Settings.Level.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Insert.Caption.OfficeObject.OLEMisc.Settings.Level.text
#, fuzzy
msgid "LEVEL"
msgstr "urwego"

#, fuzzy
msgid ""
"Comma-separated list of category_name:level pairs to set specific levels for "
"the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3"
msgstr ""
"Urutonde Bya Izina ry'icyiciro urwego Kuri Gushyiraho Intera kugirango i "
"Ibyiciro Urugero 5 3."

# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....DefaultFont.List.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....DefaultFontCJK.List.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....DefaultFontCTL.List.text
#, fuzzy
msgid "LIST"
msgstr "Urutonde"

#, fuzzy
msgid "Disable colored debugging output"
msgstr "Ibisohoka"

msgid "Disable debugging"
msgstr ""

#, fuzzy
msgid "Enable verbose plugin loading diagnostics"
msgstr "Itangira..."

msgid "Colon-separated paths containing plugins"
msgstr ""

# offmgr/source\offapp\dialog\treeopt.src:RID_OFADLG_OPTIONS_TREE_PAGES.SID_GENERAL_OPTIONS.8.text
#, fuzzy
msgid "PATHS"
msgstr "Inzira"

#, fuzzy
msgid ""
"Comma-separated list of plugins to preload in addition to the list stored in "
"environment variable GST_PLUGIN_PATH"
msgstr "Urutonde Bya Kuri in Guteranya+ Kuri i Urutonde in IMPINDURAGACIRO"

msgid "PLUGINS"
msgstr ""

#, fuzzy
msgid "Disable trapping of segmentation faults during plugin loading"
msgstr "Bya Itangira..."

msgid "Disable updating the registry"
msgstr ""

msgid "Disable spawning a helper process while scanning the registry"
msgstr ""

msgid "GStreamer Options"
msgstr ""

#, fuzzy
msgid "Show GStreamer Options"
msgstr "i Verisiyo"

msgid "Unknown option"
msgstr ""

#, fuzzy, c-format
msgid "ERROR: from element %s: %s\n"
msgstr "Bivuye Ikigize:"

#, fuzzy, c-format
msgid ""
"Additional debug info:\n"
"%s\n"
msgstr "Kosora amakosa Ibisobanuro"

#, fuzzy
msgid "GStreamer encountered a general core library error."
msgstr "a Rusange Isomero Ikosa"

#, fuzzy
msgid ""
"GStreamer developers were too lazy to assign an error code to this error."
msgstr "Kuri Kugenera... Ikosa ITEGEKONGENGA Kuri iyi Ikosa IDOSIYE a"

#, fuzzy
msgid "Internal GStreamer error: code not implemented."
msgstr "Ikosa ITEGEKONGENGA OYA Idosiye a"

msgid ""
"GStreamer error: state change failed and some element failed to post a "
"proper error message with the reason for the failure."
msgstr ""

#, fuzzy
msgid "Internal GStreamer error: pad problem."
msgstr "Ikosa Idosiye a"

#, fuzzy
msgid "Internal GStreamer error: thread problem."
msgstr "Ikosa Urudodo Idosiye a"

#, fuzzy
msgid "Internal GStreamer error: negotiation problem."
msgstr "Ikosa Idosiye a"

#, fuzzy
msgid "Internal GStreamer error: event problem."
msgstr "Ikosa Icyabaye Idosiye a"

#, fuzzy
msgid "Internal GStreamer error: seek problem."
msgstr "Ikosa Idosiye a"

#, fuzzy
msgid "Internal GStreamer error: caps problem."
msgstr "Ikosa Inyuguti nkuru Idosiye a"

#, fuzzy
msgid "Internal GStreamer error: tag problem."
msgstr "Ikosa Itagi: Idosiye a"

msgid "Your GStreamer installation is missing a plug-in."
msgstr ""

#, fuzzy
msgid "Internal GStreamer error: clock problem."
msgstr "Ikosa Idosiye a"

msgid ""
"This application is trying to use GStreamer functionality that has been "
"disabled."
msgstr ""

#, fuzzy
msgid "GStreamer encountered a general supporting library error."
msgstr "a Rusange Isomero Ikosa"

#, fuzzy
msgid "Could not initialize supporting library."
msgstr "OYA gutangiza Isomero"

#, fuzzy
msgid "Could not close supporting library."
msgstr "OYA Gufunga Isomero"

#, fuzzy
msgid "Could not configure supporting library."
msgstr "OYA Gufunga Isomero"

#, fuzzy
msgid "GStreamer encountered a general resource error."
msgstr "a Rusange Isomero Ikosa"

#, fuzzy
msgid "Resource not found."
msgstr "OYA Byabonetse"

#, fuzzy
msgid "Resource busy or not available."
msgstr "Irahuze Cyangwa OYA Bihari"

#, fuzzy
msgid "Could not open resource for reading."
msgstr "OYA Gufungura kugirango"

#, fuzzy
msgid "Could not open resource for writing."
msgstr "OYA Gufungura kugirango"

#, fuzzy
msgid "Could not open resource for reading and writing."
msgstr "OYA Gufungura kugirango Na"

#, fuzzy
msgid "Could not close resource."
msgstr "OYA Gufunga"

#, fuzzy
msgid "Could not read from resource."
msgstr "OYA Gusoma Bivuye"

#, fuzzy
msgid "Could not write to resource."
msgstr "OYA Kwandika Kuri"

#, fuzzy
msgid "Could not perform seek on resource."
msgstr "OYA ku"

#, fuzzy
msgid "Could not synchronize on resource."
msgstr "OYA Kuringaniza ku"

#, fuzzy
msgid "Could not get/set settings from/on resource."
msgstr "OYA Kubona Gushyiraho Amagenamiterere Bivuye ku"

msgid "No space left on the resource."
msgstr ""

#, fuzzy
msgid "GStreamer encountered a general stream error."
msgstr "a Rusange Isomero Ikosa"

#, fuzzy
msgid "Element doesn't implement handling of this stream. Please file a bug."
msgstr "Bya iyi IDOSIYE a"

#, fuzzy
msgid "Could not determine type of stream."
msgstr "OYA Ubwoko Bya"

#, fuzzy
msgid "The stream is of a different type than handled by this element."
msgstr "ni Bya a Ubwoko ku iyi Ikigize:"

#, fuzzy
msgid "There is no codec present that can handle the stream's type."
msgstr "ni Oya i Ubwoko"

#, fuzzy
msgid "Could not decode stream."
msgstr "OYA"

#, fuzzy
msgid "Could not encode stream."
msgstr "OYA"

#, fuzzy
msgid "Could not demultiplex stream."
msgstr "OYA"

#, fuzzy
msgid "Could not multiplex stream."
msgstr "OYA"

#, fuzzy
msgid "The stream is in the wrong format."
msgstr "ni Bya i Imiterere"

msgid "The stream is encrypted and decryption is not supported."
msgstr ""

msgid ""
"The stream is encrypted and can't be decrypted because no suitable key has "
"been supplied."
msgstr ""

#, fuzzy, c-format
msgid "No error message for domain %s."
msgstr "Ikosa Ubutumwa kugirango Urwego"

#, fuzzy, c-format
msgid "No standard error message for domain %s and code %d."
msgstr "Bisanzwe Ikosa Ubutumwa kugirango Urwego Na ITEGEKONGENGA"

msgid "Selected clock cannot be used in pipeline."
msgstr ""

msgid "title"
msgstr "umutwe"

#, fuzzy
msgid "commonly used title"
msgstr "Umutwe"

msgid "title sortname"
msgstr ""

#, fuzzy
msgid "commonly used title for sorting purposes"
msgstr "Umutwe"

#, fuzzy
msgid "artist"
msgstr "Umuhanzi"

#, fuzzy
msgid "person(s) responsible for the recording"
msgstr "S Nshingwabikorwa kugirango i"

msgid "artist sortname"
msgstr ""

#, fuzzy
msgid "person(s) responsible for the recording for sorting purposes"
msgstr "S Nshingwabikorwa kugirango i"

msgid "album"
msgstr ""

#, fuzzy
msgid "album containing this data"
msgstr "iyi Ibyatanzwe"

msgid "album sortname"
msgstr ""

#, fuzzy
msgid "album containing this data for sorting purposes"
msgstr "iyi Ibyatanzwe"

#, fuzzy
msgid "album artist"
msgstr "Umuhanzi"

msgid "The artist of the entire album, as it should be displayed"
msgstr ""

msgid "album artist sortname"
msgstr ""

msgid "The artist of the entire album, as it should be sorted"
msgstr ""

msgid "date"
msgstr "Itariki"

#, fuzzy
msgid "date the data was created (as a GDate structure)"
msgstr "Itariki i Ibyatanzwe Byaremwe in Kalindari Iminsi"

msgid "genre"
msgstr ""

#, fuzzy
msgid "genre this data belongs to"
msgstr "iyi Ibyatanzwe Kuri"

# padmin/source\padialog.src:RID_TXT_TESTPAGE_COMMENT.text
#, fuzzy
msgid "comment"
msgstr "Icyo wongeraho"

#, fuzzy
msgid "free text commenting the data"
msgstr "Kigenga Umwandiko i Ibyatanzwe"

# padmin/source\padialog.src:RID_TXT_TESTPAGE_COMMENT.text
#, fuzzy
msgid "extended comment"
msgstr "Icyo wongeraho"

#, fuzzy
msgid "free text commenting the data in key=value or key[en]=comment form"
msgstr "Kigenga Umwandiko i Ibyatanzwe"

#, fuzzy
msgid "track number"
msgstr "Umubare"

#, fuzzy
msgid "track number inside a collection"
msgstr "Umubare Mo Imbere a"

#, fuzzy
msgid "track count"
msgstr "IBARA"

#, fuzzy
msgid "count of tracks inside collection this track belongs to"
msgstr "IBARA Bya Mo Imbere iyi Kuri"

#, fuzzy
msgid "disc number"
msgstr "DISIKI Umubare"

#, fuzzy
msgid "disc number inside a collection"
msgstr "DISIKI Umubare Mo Imbere a"

#, fuzzy
msgid "disc count"
msgstr "DISIKI IBARA"

#, fuzzy
msgid "count of discs inside collection this disc belongs to"
msgstr "IBARA Bya Mo Imbere iyi DISIKI Kuri"

msgid "location"
msgstr "Inturo"

msgid ""
"Origin of media as a URI (location, where the original of the file or stream "
"is hosted)"
msgstr ""

msgid "homepage"
msgstr ""

msgid "Homepage for this media (i.e. artist or movie homepage)"
msgstr ""

msgid "description"
msgstr "Isobanuramiterere"

#, fuzzy
msgid "short text describing the content of the data"
msgstr "Umwandiko i Ibikubiyemo Bya i Ibyatanzwe"

# goodies/source\filter.vcl\eps\dlgeps.src:DLG_EXPORT_EPS.GRP_VERSION.text
#, fuzzy
msgid "version"
msgstr "Verisiyo"

#, fuzzy
msgid "version of this data"
msgstr "Verisiyo Bya iyi Ibyatanzwe"

msgid "ISRC"
msgstr ""

#, fuzzy
msgid "International Standard Recording Code - see http://www.ifpi.org/isrc/"
msgstr "HTTP www org"

#, fuzzy
msgid "organization"
msgstr "Ihuzagahunda"

#, fuzzy
msgid "copyright"
msgstr "Uburenganzira bw'umuhimbyi"

#, fuzzy
msgid "copyright notice of the data"
msgstr "Uburenganzira bw'umuhimbyi Bya i Ibyatanzwe"

#, fuzzy
msgid "copyright uri"
msgstr "Uburenganzira bw'umuhimbyi"

#, fuzzy
msgid "URI to the copyright notice of the data"
msgstr "Uburenganzira bw'umuhimbyi Bya i Ibyatanzwe"

# ***** BEGIN LICENSE BLOCK *****
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
#
# The contents of this file are subject to the Mozilla Public License Version
# 1.1 (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
# http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
# for the specific language governing rights and limitations under the
# License.
#
# The Original Code is Mozilla Communicator client code, released
# March 31, 1998.
#
# The Initial Developer of the Original Code is
# Netscape Communications Corporation.
# Portions created by the Initial Developer are Copyright (C) 1998-1999
# the Initial Developer. All Rights Reserved.
#
# Contributor(s):
#
# Alternatively, the contents of this file may be used under the terms of
# either of the GNU General Public License Version 2 or later (the "GPL"),
# or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
# in which case the provisions of the GPL or the LGPL are applicable instead
# of those above. If you wish to allow use of your version of this file only
# under the terms of either the GPL or the LGPL, and not to allow others to
# use your version of this file under the terms of the MPL, indicate your
# decision by deleting the provisions above and replace them with the notice
# and other provisions required by the GPL or the LGPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the MPL, the GPL or the LGPL.
#
# ***** END LICENSE BLOCK *****
# Box Headings
#, fuzzy
msgid "contact"
msgstr "Umuntu"

#, fuzzy
msgid "contact information"
msgstr "Umuntu Ibisobanuro"

msgid "license"
msgstr ""

#, fuzzy
msgid "license of data"
msgstr "Bya Ibyatanzwe"

#, fuzzy
msgid "license uri"
msgstr "Bya Ibyatanzwe"

#, fuzzy
msgid "URI to the license of the data"
msgstr "Bya Ibyatanzwe"

msgid "performer"
msgstr ""

#, fuzzy
msgid "person(s) performing"
msgstr "S"

msgid "composer"
msgstr ""

#, fuzzy
msgid "person(s) who composed the recording"
msgstr "S Nshingwabikorwa kugirango i"

# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....AgendaType.Duration.text
#, fuzzy
msgid "duration"
msgstr "Igihe- ngombwa"

#, fuzzy
msgid "length in GStreamer time units (nanoseconds)"
msgstr "Uburebure in Igihe"

msgid "codec"
msgstr ""

#, fuzzy
msgid "codec the data is stored in"
msgstr "i Ibyatanzwe ni in"

#, fuzzy
msgid "video codec"
msgstr "Videwo..."

#, fuzzy
msgid "codec the video data is stored in"
msgstr "i Videwo... Ibyatanzwe ni in"

msgid "audio codec"
msgstr ""

#, fuzzy
msgid "codec the audio data is stored in"
msgstr "i Ibyatanzwe ni in"

#, fuzzy
msgid "subtitle codec"
msgstr "Videwo..."

#, fuzzy
msgid "codec the subtitle data is stored in"
msgstr "i Videwo... Ibyatanzwe ni in"

#, fuzzy
msgid "container format"
msgstr "Umuntu Ibisobanuro"

#, fuzzy
msgid "container format the data is stored in"
msgstr "i Ibyatanzwe ni in"

msgid "bitrate"
msgstr ""

#, fuzzy
msgid "exact or average bitrate in bits/s"
msgstr "NYACYO Cyangwa Impuzandengo in S"

#, fuzzy
msgid "nominal bitrate"
msgstr "SHINGIRO"

#, fuzzy
msgid "nominal bitrate in bits/s"
msgstr "SHINGIRO in S"

#, fuzzy
msgid "minimum bitrate"
msgstr "Gito"

#, fuzzy
msgid "minimum bitrate in bits/s"
msgstr "Gito in S"

#, fuzzy
msgid "maximum bitrate"
msgstr "Kinini"

#, fuzzy
msgid "maximum bitrate in bits/s"
msgstr "Kinini in S"

msgid "encoder"
msgstr ""

#, fuzzy
msgid "encoder used to encode this stream"
msgstr "Kuri iyi"

#, fuzzy
msgid "encoder version"
msgstr "Verisiyo"

#, fuzzy
msgid "version of the encoder used to encode this stream"
msgstr "Verisiyo Bya i Kuri iyi"

msgid "serial"
msgstr ""

#, fuzzy
msgid "serial number of track"
msgstr "Umubare Bya"

msgid "replaygain track gain"
msgstr ""

#, fuzzy
msgid "track gain in db"
msgstr "in DB"

msgid "replaygain track peak"
msgstr ""

#, fuzzy
msgid "peak of the track"
msgstr "Bya i"

msgid "replaygain album gain"
msgstr ""

#, fuzzy
msgid "album gain in db"
msgstr "in DB"

msgid "replaygain album peak"
msgstr ""

#, fuzzy
msgid "peak of the album"
msgstr "Bya i"

msgid "replaygain reference level"
msgstr ""

msgid "reference level of track and album gain values"
msgstr ""

msgid "language code"
msgstr ""

msgid "language code for this stream, conforming to ISO-639-1"
msgstr ""

msgid "image"
msgstr ""

#, fuzzy
msgid "image related to this stream"
msgstr "Kuri iyi"

#. TRANSLATORS: 'preview image' = image that shows a preview of the full image
msgid "preview image"
msgstr ""

msgid "preview image related to this stream"
msgstr ""

msgid "attachment"
msgstr ""

#, fuzzy
msgid "file attached to this stream"
msgstr "Kuri iyi"

msgid "beats per minute"
msgstr ""

msgid "number of beats per minute in audio"
msgstr ""

msgid "keywords"
msgstr ""

#, fuzzy
msgid "comma separated keywords describing the content"
msgstr "Umwandiko i Ibikubiyemo Bya i Ibyatanzwe"

#, fuzzy
msgid "geo location name"
msgstr "Inturo"

msgid ""
"human readable descriptive location of where the media has been recorded or "
"produced"
msgstr ""

msgid "geo location latitude"
msgstr ""

msgid ""
"geo latitude location of where the media has been recorded or produced in "
"degrees according to WGS84 (zero at the equator, negative values for "
"southern latitudes)"
msgstr ""

msgid "geo location longitude"
msgstr ""

msgid ""
"geo longitude location of where the media has been recorded or produced in "
"degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,  "
"negative values for western longitudes)"
msgstr ""

msgid "geo location elevation"
msgstr ""

msgid ""
"geo elevation of where the media has been recorded or produced in meters "
"according to WGS84 (zero is average sea level)"
msgstr ""

#. TRANSLATORS: 'show name' = 'TV/radio/podcast show name' here
msgid "show name"
msgstr ""

msgid "Name of the tv/podcast/series show the media is from"
msgstr ""

#. TRANSLATORS: 'show sortname' = 'TV/radio/podcast show name as used for sorting purposes' here
msgid "show sortname"
msgstr ""

msgid ""
"Name of the tv/podcast/series show the media is from, for sorting purposes"
msgstr ""

#, fuzzy
msgid "episode number"
msgstr "DISIKI Umubare"

msgid "The episode number in the season the media is part of"
msgstr ""

#, fuzzy
msgid "season number"
msgstr "DISIKI Umubare"

msgid "The season number of the show the media is part of"
msgstr ""

msgid "lyrics"
msgstr ""

msgid "The lyrics of the media, commonly used for songs"
msgstr ""

msgid "composer sortname"
msgstr ""

#, fuzzy
msgid "person(s) who composed the recording, for sorting purposes"
msgstr "S Nshingwabikorwa kugirango i"

msgid "grouping"
msgstr ""

msgid ""
"Groups related media that spans multiple tracks, like the different pieces "
"of a concerto. It is a higher level than a track, but lower than an album"
msgstr ""

msgid ", "
msgstr ", "

#, fuzzy, c-format
msgid "specified empty bin \"%s\", not allowed"
msgstr "ubusa OYA"

#, fuzzy, c-format
msgid "no bin \"%s\", skipping"
msgstr "Oya Gusimbuka: %s%s"

#, fuzzy, c-format
msgid "no property \"%s\" in element \"%s\""
msgstr "Oya indangakintu in Ikigize:"

#, fuzzy, c-format
msgid "could not set property \"%s\" in element \"%s\" to \"%s\""
msgstr "OYA Gushyiraho indangakintu in Ikigize: Kuri"

#, fuzzy, c-format
msgid "could not link %s to %s"
msgstr "OYA Ihuza Kuri"

#, fuzzy, c-format
msgid "no element \"%s\""
msgstr "Oya Ikigize:"

#, fuzzy, c-format
msgid "could not parse caps \"%s\""
msgstr "OYA Inyuguti nkuru"

#, fuzzy
msgid "link without source element"
msgstr "Ihuza Inkomoko Ikigize:"

#, fuzzy
msgid "link without sink element"
msgstr "Ihuza Ikigize:"

#, fuzzy, c-format
msgid "no source element for URI \"%s\""
msgstr "Oya Inkomoko Ikigize: kugirango"

#, fuzzy, c-format
msgid "no element to link URI \"%s\" to"
msgstr "Oya Ikigize: Kuri Ihuza Kuri"

#, fuzzy, c-format
msgid "no sink element for URI \"%s\""
msgstr "Oya Ikigize: kugirango"

#, fuzzy, c-format
msgid "could not link sink element for URI \"%s\""
msgstr "OYA Ihuza Ikigize: kugirango"

#, fuzzy
msgid "empty pipeline not allowed"
msgstr "ubusa OYA"

msgid "Internal clock error."
msgstr ""

msgid "Internal data flow error."
msgstr ""

msgid "A lot of buffers are being dropped."
msgstr ""

msgid "Internal data flow problem."
msgstr ""

msgid "Internal data stream error."
msgstr ""

msgid "Filter caps"
msgstr ""

msgid ""
"Restrict the possible allowed capabilities (NULL means ANY). Setting this "
"property takes a reference to the supplied GstCaps object."
msgstr ""

#, fuzzy
msgid "No file name specified for writing."
msgstr "IDOSIYE Izina: kugirango"

#, fuzzy, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "OYA Gufungura IDOSIYE kugirango"

#, fuzzy, c-format
msgid "Error closing file \"%s\"."
msgstr "IDOSIYE"

#, fuzzy, c-format
msgid "Error while seeking in file \"%s\"."
msgstr "Kuri IDOSIYE"

#, fuzzy, c-format
msgid "Error while writing to file \"%s\"."
msgstr "Kuri IDOSIYE"

#, fuzzy
msgid "No file name specified for reading."
msgstr "IDOSIYE Izina: kugirango"

#, fuzzy, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "OYA Gufungura IDOSIYE kugirango"

#, fuzzy, c-format
msgid "Could not get info on \"%s\"."
msgstr "OYA Kubona Gushyiraho Amagenamiterere Bivuye ku"

#, fuzzy, c-format
msgid "\"%s\" is a directory."
msgstr "\"%s\"ni a bushyinguro"

#, fuzzy, c-format
msgid "File \"%s\" is a socket."
msgstr "Idosiye ni a"

#, fuzzy
msgid "Failed after iterations as requested."
msgstr "Nyuma Amasubiramo Nka"

msgid "No Temp directory specified."
msgstr ""

#, fuzzy, c-format
msgid "Could not create temp file \"%s\"."
msgstr "OYA Kubona Gushyiraho Amagenamiterere Bivuye ku"

# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Revision.TextDisplay.Insert.Attribute..5.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Revision.TextDisplay.Delete.Attribute..4.text
# #-#-#-#-#  officecfg.pot (PACKAGE VERSION)  #-#-#-#-#
# officecfg/registry\schema\org\openoffice\Office\Writer.xcs:....Revision.TextDisplay.ChangedAttribute.Attribute..5.text
#, fuzzy
msgid "caps"
msgstr "Inyuguti nkuru"

#, fuzzy
msgid "detected capabilities in stream"
msgstr "in"

# officecfg/registry\schema\org\openoffice\Office\Calc.xcs:....Layout.Other.StatusbarFunction..5.text
#, fuzzy
msgid "minimum"
msgstr "Gito"

# officecfg/registry\schema\org\openoffice\Office\Calc.xcs:....Layout.Other.StatusbarFunction..4.text
#, fuzzy
msgid "maximum"
msgstr "Kinini"

msgid "force caps"
msgstr ""

msgid "force caps without doing a typefind"
msgstr ""

#, fuzzy
msgid "Stream contains no data."
msgstr "iyi Ibyatanzwe"

msgid "Implemented Interfaces:\n"
msgstr ""

msgid "readable"
msgstr ""

#, fuzzy
msgid "writable"
msgstr "umutwe"

msgid "controllable"
msgstr ""

msgid "Blacklisted files:"
msgstr ""

#, fuzzy
msgid "Total count: "
msgstr "IBARA"

#, c-format
msgid "%d blacklisted file"
msgid_plural "%d blacklisted files"
msgstr[0] ""
msgstr[1] ""

#, c-format
msgid "%d plugin"
msgid_plural "%d plugins"
msgstr[0] ""
msgstr[1] ""

#, c-format
msgid "%d blacklist entry"
msgid_plural "%d blacklist entries"
msgstr[0] ""
msgstr[1] ""

#, c-format
msgid "%d feature"
msgid_plural "%d features"
msgstr[0] ""
msgstr[1] ""

#, fuzzy
msgid "Print all elements"
msgstr "Byose Ibintu"

msgid "Print list of blacklisted files"
msgstr ""

msgid ""
"Print a machine-parsable list of features the specified plugin or all "
"plugins provide.\n"
"                                       Useful in connection with external "
"automatic plugin installation mechanisms"
msgstr ""

msgid "List the plugin contents"
msgstr ""

msgid "Print supported URI schemes, with the elements that implement them"
msgstr ""

#, fuzzy, c-format
msgid "Could not load plugin file: %s\n"
msgstr "OYA Gufungura IDOSIYE kugirango"

#, fuzzy, c-format
msgid "No such element or plugin '%s'\n"
msgstr "Oya Inkomoko Ikigize: kugirango"

#, fuzzy
msgid "Usage: gst-xmllaunch <file.xml> [ element.property=value ... ]\n"
msgstr "IDOSIYE xml Ikigize: indangakintu Agaciro"

#, fuzzy, c-format
msgid "ERROR: parse of xml file '%s' failed.\n"
msgstr "Bya xml IDOSIYE Byanze"

#, fuzzy, c-format
msgid "ERROR: no toplevel pipeline element in file '%s'.\n"
msgstr "Oya Ikigize: in IDOSIYE"

#, fuzzy
msgid "WARNING: only one toplevel element is supported at this time.\n"
msgstr "Ikigize: ni ku iyi Igihe"

#, fuzzy, c-format
msgid "ERROR: could not parse command line argument %d: %s.\n"
msgstr "OYA Komandi: Umurongo"

#, fuzzy, c-format
msgid "WARNING: element named '%s' not found.\n"
msgstr "Ikigize: OYA Byabonetse"

#, fuzzy, c-format
msgid "Got message #%u from element \"%s\" (%s): "
msgstr "Bivuye Ikigize:"

#, fuzzy, c-format
msgid "Got message #%u from pad \"%s:%s\" (%s): "
msgstr "Bivuye Ikigize:"

#, fuzzy, c-format
msgid "Got message #%u from object \"%s\" (%s): "
msgstr "Bivuye Ikigize:"

#, fuzzy, c-format
msgid "Got message #%u (%s): "
msgstr "Bivuye Ikigize:"

#, fuzzy, c-format
msgid "Got EOS from element \"%s\".\n"
msgstr "Bivuye Ikigize:"

#, fuzzy, c-format
msgid "FOUND TAG      : found by element \"%s\".\n"
msgstr "Byabonetse ku Ikigize:"

#, fuzzy, c-format
msgid "FOUND TAG      : found by pad \"%s:%s\".\n"
msgstr "Byabonetse ku Ikigize:"

#, fuzzy, c-format
msgid "FOUND TAG      : found by object \"%s\".\n"
msgstr "Byabonetse ku Ikigize:"

msgid "FOUND TAG\n"
msgstr ""

#, c-format
msgid ""
"INFO:\n"
"%s\n"
msgstr ""

#, fuzzy, c-format
msgid "WARNING: from element %s: %s\n"
msgstr "Bivuye Ikigize:"

msgid "Prerolled, waiting for buffering to finish...\n"
msgstr ""

msgid "buffering..."
msgstr ""

msgid "Done buffering, setting pipeline to PLAYING ...\n"
msgstr ""

msgid "Buffering, setting pipeline to PAUSED ...\n"
msgstr ""

msgid "Redistribute latency...\n"
msgstr ""

#, c-format
msgid "Setting state to %s as requested by %s...\n"
msgstr ""

msgid "Interrupt: Stopping pipeline ...\n"
msgstr ""

#, fuzzy
msgid "Output tags (also known as metadata)"
msgstr "Nka"

#, fuzzy
msgid "Output status information and property notifications"
msgstr "Imimerere Ibisobanuro Na indangakintu Ibimenyetso"

#, fuzzy
msgid "Do not print any progress information"
msgstr "OYA Ibisohoka Imimerere Ibisobanuro Bya"

msgid "Output messages"
msgstr ""

#, fuzzy
msgid "Do not output status information of TYPE"
msgstr "OYA Ibisohoka Imimerere Ibisobanuro Bya"

msgid "TYPE1,TYPE2,..."
msgstr ""

#, fuzzy
msgid "Save xml representation of pipeline to FILE and exit"
msgstr "Kubika xml Bya Kuri Na Gusohoka"

msgid "FILE"
msgstr "IDOSIYE"

#, fuzzy
msgid "Do not install a fault handler"
msgstr "OYA Kwinjiza porogaramu a"

#, fuzzy
msgid "Print alloc trace (if enabled at compile time)"
msgstr "NIBA Bikora ku Gukusanya Igihe"

msgid "Force EOS on sources before shutting the pipeline down"
msgstr ""

#, fuzzy, c-format
msgid "ERROR: pipeline could not be constructed: %s.\n"
msgstr "OYA"

#, fuzzy
msgid "ERROR: pipeline could not be constructed.\n"
msgstr "OYA"

#, c-format
msgid "WARNING: erroneous pipeline: %s\n"
msgstr ""

#, fuzzy
msgid "ERROR: the 'pipeline' element wasn't found.\n"
msgstr "i Ikigize: Byabonetse"

msgid "Setting pipeline to PAUSED ...\n"
msgstr ""

#, fuzzy
msgid "ERROR: Pipeline doesn't want to pause.\n"
msgstr "Kuri Gukina"

msgid "Pipeline is live and does not need PREROLL ...\n"
msgstr ""

msgid "Pipeline is PREROLLING ...\n"
msgstr ""

#, fuzzy
msgid "ERROR: pipeline doesn't want to preroll.\n"
msgstr "Kuri Gukina"

msgid "Pipeline is PREROLLED ...\n"
msgstr ""

msgid "Setting pipeline to PLAYING ...\n"
msgstr ""

#, fuzzy
msgid "ERROR: pipeline doesn't want to play.\n"
msgstr "Kuri Gukina"

msgid "EOS on shutdown enabled -- Forcing EOS on the pipeline\n"
msgstr ""

msgid "Waiting for EOS...\n"
msgstr ""

msgid "EOS received - stopping pipeline...\n"
msgstr ""

msgid "An error happened while waiting for EOS\n"
msgstr ""

msgid "Execution ended after %"
msgstr ""

msgid "Setting pipeline to READY ...\n"
msgstr ""

msgid "Setting pipeline to NULL ...\n"
msgstr ""

msgid "Freeing pipeline ...\n"
msgstr ""

#, fuzzy
#~ msgid "Error while writing to file descriptor \"%d\"."
#~ msgstr "Kuri IDOSIYE"

#, fuzzy
#~ msgid "Error while seeking in file \"%d\"."
#~ msgstr "Kuri IDOSIYE"

#, fuzzy
#~ msgid "Internal GStreamer error: state change failed."
#~ msgstr "Ikosa Leta Guhindura>> Byanze Idosiye a"

#, fuzzy
#~ msgid "original location of file as a URI"
#~ msgstr "Umwimerere Ahantu Bya IDOSIYE Nka a"

#, fuzzy
#~ msgid "Disable accelerated CPU instructions"
#~ msgstr "Amabwiriza"

#, fuzzy
#~ msgid "Registry to use"
#~ msgstr "Kuri Gukoresha"

#, fuzzy
#~ msgid "path list for loading plugins (separated by '%s')"
#~ msgstr "Inzira Urutonde kugirango Itangira... ku"

#, fuzzy
#~ msgid "Scheduler to use (default is '%s')"
#~ msgstr "Kuri Gukoresha Mburabuzi ni"

#, fuzzy
#~ msgid "Internal GStreamer error: scheduler problem.  File a bug."
#~ msgstr "Ikosa Idosiye a"

#, fuzzy
#~ msgid "There is no element present to handle the stream's mime type %s."
#~ msgstr "ni Oya Ikigize: Kuri i Ubwoko"

#, fuzzy
#~ msgid ""
#~ "Execution ended after %s iterations (sum %s ns, average %s ns, min %s ns, "
#~ "max %s ns).\n"
#~ msgstr "Nyuma Amasubiramo Igiteranyo Impuzandengo GITO KININI"

#, fuzzy
#~ msgid "Number of times to iterate pipeline"
#~ msgstr "Bya Times Kuri"

#, fuzzy
#~ msgid "         Trying to run anyway.\n"
#~ msgstr "Kuri Gukoresha"

#, fuzzy
#~ msgid "Added plugin %s with %d %s.\n"
#~ msgstr "Na:"

#, fuzzy
#~ msgid "Added path   %s to %s \n"
#~ msgstr "Inzira Kuri"

#, fuzzy
#~ msgid "Trying to load %s ...\n"
#~ msgstr "Kuri Ibirimo"

#, fuzzy
#~ msgid "Error loading %s\n"
#~ msgstr "Itangira..."

#, fuzzy
#~ msgid "Loaded %d plugins with %d %s.\n"
#~ msgstr "Na:"
