# Vietnamese translation for GST Plugins Ugly.
# Copyright © 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the gst-plugins-ugly package.
# Clytie Siddall <clytie@riverland.net.au>, 2007-2010.
# Trần Ngọc Quân <vnwildman@gmail.com>, 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: 2013-12-26 17:53+0100\n"
"PO-Revision-Date: 2012-12-02 08:07+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"
"Team-Website: <http://translationproject.org/team/vi.html>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: LocFactoryEditor 1.8\n"
"X-Poedit-SourceCharset: UTF-8\n"

msgid "Could not read from CD."
msgstr "Không thể đọc từ đĩa CD."

msgid "Could not open CD device for reading."
msgstr "Không thể mở thiết bị đĩa CD để đọc."

msgid "Disc is not an Audio CD."
msgstr "Đây không phải là một đĩa CD âm nhạc."

msgid "Could not open DVD"
msgstr "Không thể mở đĩa DVD"

#, c-format
msgid "Could not open DVD title %d"
msgstr "Không thể mở đĩa DVD tên %d"

#, c-format
msgid "Failed to go to chapter %d of DVD title %d"
msgstr "Gặp lỗi khi nhảy đến chương %d của đĩa DVD tên %d"

#, c-format
msgid ""
"Could not open DVD title %d. Interactive titles are not supported by this "
"element"
msgstr "Không thể mở đĩa DVD tên %d. Phần tử này không hỗ trợ tên tương tác."

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 đĩa DVD. Nguyên nhân có thể là DVD đã bị mã hõa và thư viện "
"giải mã DVD chưa được cài đặt."

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

msgid ""
"Failed to configure LAME mp3 audio encoder. Check your encoding parameters."
msgstr ""
"Gặp lỗi khi cấu hình bộ giải mã âm thanh LAME. Hãy kiểm tra các tham số giải "
"mã."

#, c-format
msgid ""
"The requested bitrate %d kbit/s for property '%s' is not allowed. The "
"bitrate was changed to %d kbit/s."
msgstr ""
"Không cho phép tỷ lệ đã yêu cầu %d kbit/giây cho thuộc tính “%s” nên tỷ lệ "
"bit bị thay đổi thành %d kbit/g."

msgid "Failed to configure TwoLAME encoder. Check your encoding parameters."
msgstr ""
"Gặp lỗi khi cấu hình bộ biên mã TwoLAME. Hãy kiểm tra lại các tham số giải "
"mã."

msgid "This stream contains no data."
msgstr "Luồng này không chứa dữ liệu."

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