# Vietnamese translation for GST Plugins Bad.
# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-bad package.
# Clytie Siddall <clytie@riverland.net.au>, 2007-2010.
# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: gst-plugins-bad 1.6.0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
"POT-Creation-Date: 2016-11-01 17:49+0200\n"
"PO-Revision-Date: 2015-10-16 08:27+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
"Language: vi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Language-Team-Website: <http://translationproject.org/team/vi.html>\n"
"X-Generator: Gtranslator 2.91.7\n"

msgid "failed to draw pattern"
msgstr ""

msgid "A GL error occured"
msgstr ""

msgid "format wasn't negotiated before get function"
msgstr "định dạng không được dàn xếp trước hàm"

msgid "OpenCV failed to load template image"
msgstr "OpenCV gặp lỗi khi tải ảnh tạm thời"

msgid "Could not read title information for DVD."
msgstr "Không thể đọc thông tin tựa đề của đĩa DVD."

#, c-format
msgid "Failed to open DVD device '%s'."
msgstr "Gặp lỗi khi mở thiết bị đĩa DVD “%s”."

msgid "Failed to set PGC based seeking."
msgstr "Gặp lỗi khi đặt chức năng di chuyển vị trí đọc dựa vào PGC."

msgid ""
"Could not read DVD. This may be because the DVD is encrypted and a DVD "
"decryption library is not installed."
msgstr ""
"Không thể đọc DVD. Nguyên nhân có thể là DVD đã bị mã hõa mà thư viện giải "
"mã DVD lại chưa được cài đặt."

msgid "Could not read DVD."
msgstr "Không thể đọc DVD."

msgid "This file contains no playable streams."
msgstr "Tập tin này không chứa luồng dữ liệu có thể phát."

msgid "Could not open sndfile stream for reading."
msgstr "Không thể mở luồng dữ liệu tập tin snd để đọc."

msgid "Could not establish connection to sndio"
msgstr "Không thể thiết lập kết nối tới sndio"

msgid "Failed to query sndio capabilities"
msgstr "Gặp lỗi khi truy vấn khả năng của sndio"

msgid "Could not configure sndio"
msgstr "Không thể cấu hình sndio"

msgid "Could not start sndio"
msgstr "Không thể khởi chạy sndio"

msgid "Generated file has a larger preroll time than its streams duration"
msgstr ""
"Tập tin đã tạo có thời gian cuộn trước lớn hơn thời lượng của dòng dữ liệu"

#, c-format
msgid "Missing element '%s' - check your GStreamer installation."
msgstr "Thiếu phần tử “%s” — hãy kiểm tra lại phần cài đặt GStreamer."

msgid "File location is set to NULL, please set it to a valid filename"
msgstr ""
"Vị trí tập tin được đặt thành “NULL”. xin hãy đặt một tên tập tin hợp lệ"

msgid "Digitalzoom element couldn't be created"
msgstr "Không thể tạo phần tử thu phóng số"

msgid "Subpicture format was not configured before data flow"
msgstr "Định dạng ảnh phụ chưa được cấu hình trước khi dữ liệu truyền đến"

msgid "Failed to get fragment URL."
msgstr "Gặp lỗi khi lấy URL phân mảnh."

msgid "Couldn't download fragments"
msgstr "Không thể tải về các phân mảnh"

msgid "Internal data stream error."
msgstr "Lỗi luồng dữ liệu nội bộ."

msgid "No file name specified for writing."
msgstr "Chưa chỉ định tên tập tin để ghi vào."

#, c-format
msgid "Given file name \"%s\" can't be converted to local file name encoding."
msgstr ""
"Tên tập tin đã cho “%s” không thể chuyển đổi bảng mã tên tập tin nội bộ."

#, c-format
msgid "Could not open file \"%s\" for writing."
msgstr "Không thể mở tập tin “%s” để ghi."

#, c-format
msgid "Device \"%s\" does not exist."
msgstr "Thiết bị “%s” không tồn tại."

#, c-format
msgid "Could not open frontend device \"%s\"."
msgstr "Không thể mở thiết bị mặt tiền “%s”."

#, c-format
msgid "Could not get settings from frontend device \"%s\"."
msgstr "Không thể lấy các cài đặt từ thiết bị giao diện (mặt tiền) “%s”."

#, c-format
msgid "Cannot enumerate delivery systems from frontend device \"%s\"."
msgstr ""
"Không thể liệt kê các hệ thống phân phối từ thiết bị giao diện (mặt tiền) "
"“%s”."

#, c-format
msgid "Could not open file \"%s\" for reading."
msgstr "Không thể mở tập tin “%s” để đọc."

#, fuzzy
msgid "Couldn't find channel configuration file"
msgstr "Không thể tìm thấy tập tin cấu hình kênh DVB"

#, fuzzy, c-format
msgid "Couldn't load channel configuration file: '%s'"
msgstr "Không thể tải tập tin cấu hình kênh DVB: %s"

#, fuzzy, c-format
msgid "Couldn't find details for channel '%s'"
msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"

#, fuzzy, c-format
msgid "No properties for channel '%s'"
msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"

#, fuzzy, c-format
msgid "Failed to set properties for channel '%s'"
msgstr "Không thể tìm thấy chi tiết cho kênh DVB %s"

#, fuzzy, c-format
msgid "Couldn't find channel configuration file: '%s'"
msgstr "Không thể tìm thấy tập tin cấu hình kênh DVB"

#, fuzzy
msgid "Channel configuration file doesn't contain any channels"
msgstr "Tập tin cấu hình kênh DVB chẳng chứa kênh nào cả"

#~ msgid "Internal data flow error."
#~ msgstr "Lỗi tràn luồng dữ liệu nội bộ."

#~ msgid "default GStreamer sound events audiosink"
#~ msgstr "các sự kiện âm thanh GStreamer mặc định cho “audiosink”"

#~ msgid ""
#~ "GStreamer can play audio using any number of output elements. Some "
#~ "possible choices are osssink, pulsesink and alsasink. The audiosink can "
#~ "be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "GStreamer có thể phát nhạc với bất kỳ số lượng phần tử đầu ra nào. Một số "
#~ "có thể chọn lựa là osssink, pulsesink và alsasink. “audiosink” có thể là "
#~ "đường ống đặc biệt thay vì chỉ một phần tử."

#~ msgid "description for default GStreamer sound events audiosink"
#~ msgstr ""
#~ "mô tả cho các sự kiện âm thanh GStreamer mặc định dành cho “audiosink”"

#~ msgid "Describes the selected audiosink element."
#~ msgstr "Mô tả về phần tử “audiosink” đã chọn."

#~ msgid "default GStreamer audiosink for Audio/Video Conferencing"
#~ msgstr "“GStreamer audiosink” mặc định dành cho Hội nghị Nhạc/Phim"

#~ msgid ""
#~ "description for default GStreamer audiosink for Audio/Video Conferencing"
#~ msgstr "mô tả cho GStreamer audiosink mặc định dành cho Hội nghị Nhạc/Phim"

#~ msgid "default GStreamer audiosink for Music and Movies"
#~ msgstr "GStreamer audiosink mặc định dành cho Âm nhạc và Phim"

#~ msgid "description for default GStreamer audiosink for Music and Movies"
#~ msgstr "mô tả cho GStreamer audiosink mặc định dành cho Âm nhạc và Phim"

#~ msgid "default GStreamer videosink"
#~ msgstr "GStreamer videosink mặc định"

#~ msgid ""
#~ "GStreamer can play video using any number of output elements. Some "
#~ "possible choices are xvimagesink, ximagesink, sdlvideosink and aasink. "
#~ "The videosink can be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "GStreamer có thể chạy phim với bất kỳ số lượng phần tử đầu ra nào. Một số "
#~ "có thể chọn lựa là xvimagesink, ximagesink, sdlvideosink và aasink. "
#~ "“videosink” có thể là đường ống đặc biệt thay vì chỉ một phần tử."

#~ msgid "description for default GStreamer videosink"
#~ msgstr "mô tả phần tử nguồn hình ảnh GStreamer mặc định"

#~ msgid "Describes the selected videosink element."
#~ msgstr "Mô tả phần tử videosink đã chọn."

#~ msgid "default GStreamer audiosrc"
#~ msgstr "nguồn âm thanh GStreamer mặc định"

#~ msgid ""
#~ "GStreamer can record audio using any number of input elements. Some "
#~ "possible choices are osssrc, pulsesrc and alsasrc. The audio source can "
#~ "be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "GStreamer có thể ghi âm thanh dùng bao nhiêu phần tử đầu vào cũng được. "
#~ "Một số lựa chọn là osssrc, plusesrc và alsasrc. Nguồn âm thanh có thể là "
#~ "các đường ống cục bộ nào đó thay vì chỉ một phần tử nguồn."

#~ msgid "description for default GStreamer audiosrc"
#~ msgstr "mô tả phần tử nguồn âm thanh GStreamer mặc định"

#~ msgid "Describes the selected audiosrc element."
#~ msgstr "Mô tả phần tử nguồn âm thanh đã chọn."

#~ msgid "default GStreamer videosrc"
#~ msgstr "nguồn hình ảnh GStreamer mặc định"

#~ msgid ""
#~ "GStreamer can record video from any number of input elements. Some "
#~ "possible choices are v4lsrc, v4l2src and videotestsrc. The video source "
#~ "can be a partial pipeline instead of just one element."
#~ msgstr ""
#~ "GStreamer có thể chạy phim với bất kỳ số lượng phần tử đầu vào nào. Một "
#~ "số có thể chọn lựa là v4lsrc, v4l2src và videotestsrc. Nguồn hình có thể "
#~ "là đường ống đặc biệt thay vì chỉ một phần tử."

#~ msgid "description for default GStreamer videosrc"
#~ msgstr "mô tả cho nguồn hình GStreamer mặc định"

#~ msgid "Describes the selected videosrc element."
#~ msgstr "Mô tả phần tử nguồn hình ảnh đã chọn."

#~ msgid "default GStreamer visualization"
#~ msgstr "hiện hình GStreamer mặc định"

#~ msgid ""
#~ "GStreamer can put visualization plugins in a pipeline to transform audio "
#~ "streams in video frames. Some possible choices are goom, goom2k1 and "
#~ "synaesthesia. The visualization plugin can be a partial pipeline instead "
#~ "of just one element."
#~ msgstr ""
#~ "GStreamer có thể đặt phần bổ xung hiện hình trong một đường ống để mà "
#~ "chuyển dạng luồng dữ liệu âm thanh trong khung hình phim. Một số có thể "
#~ "chọn lựa là goom, goom2k1 và synaesthesia. Phần bổ xung hiện hình có thể "
#~ "là đường ống đặc biệt thay vì chỉ một phần tử."

#~ msgid "description for default GStreamer visualization"
#~ msgstr "mô tả về hiện hình GStreamer mặc định"

#~ msgid "Describes the selected visualization element."
#~ msgstr "Mô tả về phần tử hiện hình đã chọn."

#~ msgid "Couldn't get the Manifest's URI"
#~ msgstr "Không thể lấy URI của Manifest"

#~ msgid "Could not write to file \"%s\"."
#~ msgstr "Không thể ghi vào tập tin “%s”."

#~ msgid "Could not open audio device for mixer control handling."
#~ msgstr "Không thể mở thiết bị âm thanh để quản lý điều khiển máy hòa tiếng."

#~ msgid ""
#~ "Could not open audio device for mixer control handling. This version of "
#~ "the Open Sound System is not supported by this element."
#~ msgstr ""
#~ "Không thể mở thiết bị âm thanh để quản lý điều khiển máy hòa tiếng. Phiên "
#~ "bản Hệ thống Âm thanh Mở này không được yếu tố này hỗ trợ."

#~ msgid "Volume"
#~ msgstr "Âm"

#~ msgid "Master"
#~ msgstr "Chủ"

#~ msgid "Front"
#~ msgstr "Trước"

#~ msgid "Rear"
#~ msgstr "Sau"

#~ msgid "Headphones"
#~ msgstr "Tai nghe"

#~ msgid "Center"
#~ msgstr "Giữa"

#~ msgid "LFE"
#~ msgstr "LFE"

#~ msgid "Surround"
#~ msgstr "Vòm"

#~ msgid "Side"
#~ msgstr "Bên"

#~ msgid "Built-in Speaker"
#~ msgstr "Loa dựng sẵn"

#~ msgid "AUX 1 Out"
#~ msgstr "AUX 1 Ra"

#~ msgid "AUX 2 Out"
#~ msgstr "AUX 2 Ra"

#~ msgid "AUX Out"
#~ msgstr "AUX Ra"

#~ msgid "Bass"
#~ msgstr "Trầm"

#~ msgid "Treble"
#~ msgstr "Cao"

#~ msgid "3D Depth"
#~ msgstr "Sâu 3D"

#~ msgid "3D Center"
#~ msgstr "Giữa 3D"

#~ msgid "3D Enhance"
#~ msgstr "Tăng cường 3D"

#~ msgid "Telephone"
#~ msgstr "Điện thoại"

#~ msgid "Microphone"
#~ msgstr "Máy vi âm"

#~ msgid "Line Out"
#~ msgstr "Dây Ra"

#~ msgid "Line In"
#~ msgstr "Dây Vào"

#~ msgid "Internal CD"
#~ msgstr "CD nội bộ"

#~ msgid "Video In"
#~ msgstr "Phim Vào"

#~ msgid "AUX 1 In"
#~ msgstr "AUX 1 Vào"

#~ msgid "AUX 2 In"
#~ msgstr "AUX 2 Vào"

#~ msgid "AUX In"
#~ msgstr "AUX Vào"

#~ msgid "PCM"
#~ msgstr "PCM"

#~ msgid "Record Gain"
#~ msgstr "Khuếch đại Thu"

#~ msgid "Output Gain"
#~ msgstr "Khuếch đại Xuất"

#~ msgid "Microphone Boost"
#~ msgstr "Tăng Máy vi âm"

#~ msgid "Loopback"
#~ msgstr "Mạch nội bộ"

#~ msgid "Diagnostic"
#~ msgstr "Chẩn đoán"

#~ msgid "Bass Boost"
#~ msgstr "Tăng Trầm"

#~ msgid "Playback Ports"
#~ msgstr "Cổng Phát lại"

#~ msgid "Input"
#~ msgstr "Vào"

#~ msgid "Record Source"
#~ msgstr "Nguồn Thu"

#~ msgid "Monitor Source"
#~ msgstr "Nguồn Màn hình"

#~ msgid "Keyboard Beep"
#~ msgstr "Bíp Bàn phím"

#~ msgid "Monitor"
#~ msgstr "Màn hình"

#~ msgid "Simulate Stereo"
#~ msgstr "Mô phỏng Âm lập thể"

#~ msgid "Stereo"
#~ msgstr "Âm lập thể"

#~ msgid "Surround Sound"
#~ msgstr "Âm thanh Vòm"

#~ msgid "Microphone Gain"
#~ msgstr "Khuếch đại Máy vi âm"

#~ msgid "Speaker Source"
#~ msgstr "Nguồn Loa"

#~ msgid "Microphone Source"
#~ msgstr "Nguồn Máy vi âm"

#~ msgid "Jack"
#~ msgstr "Ổ cắm"

#~ msgid "Center / LFE"
#~ msgstr "Giữa/LFE"

#~ msgid "Stereo Mix"
#~ msgstr "Trộn Âm lập thể"

#~ msgid "Mono Mix"
#~ msgstr "Trộn Nguồn đơn"

#~ msgid "Input Mix"
#~ msgstr "Trộn Đầu vào"

#~ msgid "SPDIF In"
#~ msgstr "SPDIF Vào"

#~ msgid "SPDIF Out"
#~ msgstr "SPDIF Ra"

#~ msgid "Microphone 1"
#~ msgstr "Máy vi âm 1"

#~ msgid "Microphone 2"
#~ msgstr "Máy vi âm 2"

#~ msgid "Digital Out"
#~ msgstr "Thuật số Ra"

#~ msgid "Digital In"
#~ msgstr "Thuật số Vào"

#~ msgid "HDMI"
#~ msgstr "HDMI"

#~ msgid "Modem"
#~ msgstr "Bộ điều giải"

#~ msgid "Handset"
#~ msgstr "Cầm tay"

#~ msgid "Other"
#~ msgstr "Khác"

#~ msgid "None"
#~ msgstr "Không có"

#~ msgid "On"
#~ msgstr "Bật"

#~ msgid "Off"
#~ msgstr "Tắt"

#~ msgid "Mute"
#~ msgstr "Câm"

#~ msgid "Fast"
#~ msgstr "Nhanh"

#~ msgid "Very Low"
#~ msgstr "Rất thấp"

#~ msgid "Low"
#~ msgstr "Thấp"

#~ msgid "Medium"
#~ msgstr "Vừa"

#~ msgid "High"
#~ msgstr "Cao"

#~ msgid "Very High"
#~ msgstr "Rất cao"

#~ msgid "Production"
#~ msgstr "Sản xuất"

#~ msgid "Front Panel Microphone"
#~ msgstr "Máy vi âm bảng trước"

#~ msgid "Front Panel Line In"
#~ msgstr "Dây vào bảng trước"

#~ msgid "Front Panel Headphones"
#~ msgstr "Tai nghe bảng trước"

#~ msgid "Front Panel Line Out"
#~ msgstr "Dây ra bảng trước"

#~ msgid "Green Connector"
#~ msgstr "Đầu kẹp lục"

#~ msgid "Pink Connector"
#~ msgstr "Đầu kẹp hồng"

#~ msgid "Blue Connector"
#~ msgstr "Đầu kẹp xanh"

#~ msgid "White Connector"
#~ msgstr "Đầu kẹp trắng"

#~ msgid "Black Connector"
#~ msgstr "Đầu kẹp đen"

#~ msgid "Gray Connector"
#~ msgstr "Đầu kẹp xám"

#~ msgid "Orange Connector"
#~ msgstr "Đầu kẹp cam"

#~ msgid "Red Connector"
#~ msgstr "Đầu kẹp đỏ"

#~ msgid "Yellow Connector"
#~ msgstr "Đầu kẹp vàng"

#~ msgid "Green Front Panel Connector"
#~ msgstr "Đầu kẹp lục bảng trước"

#~ msgid "Pink Front Panel Connector"
#~ msgstr "Đầu kẹp hồng bảng trước"

#~ msgid "Blue Front Panel Connector"
#~ msgstr "Đầu kẹp xanh bảng trước"

#~ msgid "White Front Panel Connector"
#~ msgstr "Đầu kẹp trắng bảng trước"

#~ msgid "Black Front Panel Connector"
#~ msgstr "Đầu kẹp đen bảng trước"

#~ msgid "Gray Front Panel Connector"
#~ msgstr "Đầu kẹp xám bảng trước"

#~ msgid "Orange Front Panel Connector"
#~ msgstr "Đầu kẹp cam bảng trước"

#~ msgid "Red Front Panel Connector"
#~ msgstr "Đầu kẹp đỏ bảng trước"

#~ msgid "Yellow Front Panel Connector"
#~ msgstr "Đầu kẹp vàng bảng trước"

#~ msgid "Spread Output"
#~ msgstr "Giăng ra kết xuất"

#~ msgid "Downmix"
#~ msgstr "Trộn xuống"

#~ msgid "Virtual Mixer Input"
#~ msgstr "Đầu vào Trộn Ảo"

#~ msgid "Virtual Mixer Output"
#~ msgstr "Đầu ra Trộn Ảo"

#~ msgid "Virtual Mixer Channels"
#~ msgstr "Kênh Trộn Ảo"

#~ msgid "%s Function"
#~ msgstr "Hàm %s"

#~ msgid "%s %d"
#~ msgstr "%s %d"

#~ msgid ""
#~ "Could not open audio device for playback. Device is being used by another "
#~ "application."
#~ msgstr ""
#~ "Không thể mở thiết bị âm thanh để phát lại. Thiết bị này đang được ứng "
#~ "dụng khác sử dụng."

#~ msgid ""
#~ "Could not open audio device for playback. You don't have permission to "
#~ "open the device."
#~ msgstr ""
#~ "Không thể mở thiết bị âm thanh để phát lại. Bạn không có quyền mở thiết "
#~ "bị này."

#~ msgid "Could not open audio device for playback."
#~ msgstr "Không thể mở thiết bị âm thanh để phát lại."

#~ msgid ""
#~ "Could not open audio device for playback. This version of the Open Sound "
#~ "System is not supported by this element."
#~ msgstr ""
#~ "Không thể mở thiết bị âm thanh để phát lại. Phiên bản Hệ thống Âm thanh "
#~ "Mở này không được yếu tố này hỗ trợ."

#~ msgid "Playback is not supported by this audio device."
#~ msgstr "Thiết bị âm thanh này không hỗ trợ chức năng phát lại."

#~ msgid "Audio playback error."
#~ msgstr "Lỗi phát lại âm thanh."

#~ msgid "Recording is not supported by this audio device."
#~ msgstr "Thiết bị âm thanh này không hỗ trợ chức năng thu."

#~ msgid "Error recording from audio device."
#~ msgstr "Lỗi thu từ thiết bị âm thanh."
