# 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-03-24 11:27+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 "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 "Internal data flow error."
msgstr "Lỗi tràn luồng dữ liệu nội bộ."

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 "Internal data stream error."
msgstr "Lỗi luồng dữ liệu nội bộ."

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

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."

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

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

msgid "DVB 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ả"

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

#~ 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."
