# Vietnamese Translation for Bison-runtime.
# Copyright © 2012 Free Software Foundation, Inc.
# This file is distributed under the same license as the bison package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
# Trần Ngọc Quân <vnwildman@gmail.com>, 2012.
#
msgid ""
msgstr ""
"Project-Id-Version: bison-runtime-2.6.90\n"
"Report-Msgid-Bugs-To: bug-bison@gnu.org\n"
"POT-Creation-Date: 2012-12-12 16:09+0100\n"
"PO-Revision-Date: 2012-12-09 08:31+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"

#: data/glr.c:855 data/yacc.c:776
msgid "syntax error: cannot back up"
msgstr "lỗi cú pháp: không thể sao lưu dự phòng"

#: data/glr.c:1729
msgid "syntax is ambiguous"
msgstr "cú pháp chưa rõ ràng"

#: data/glr.c:2014 data/glr.c:2094 data/glr.c:2134 data/glr.c:2399
#: data/lalr1.cc:947 data/lalr1.cc:967 data/yacc.c:1351 data/yacc.c:1856
#: data/yacc.c:1862
msgid "syntax error"
msgstr "lỗi cú pháp"

#: data/glr.c:2095 data/lalr1.cc:948 data/yacc.c:1352
#, c-format
msgid "syntax error, unexpected %s"
msgstr "lỗi cú pháp, gặp %s bất thường"

#: data/glr.c:2096 data/lalr1.cc:949 data/yacc.c:1353
#, c-format
msgid "syntax error, unexpected %s, expecting %s"
msgstr "lỗi cú pháp, gặp %s bất thường, cần %s"

#: data/glr.c:2097 data/lalr1.cc:950 data/yacc.c:1354
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s"
msgstr "lỗi cú pháp, gặp %s bất thường, cần %s hoặc %s"

#: data/glr.c:2098 data/lalr1.cc:951 data/yacc.c:1355
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s or %s"
msgstr "lỗi cú pháp, gặp %s bất thường, cần %s hoặc %s hay %s"

#: data/glr.c:2099 data/lalr1.cc:952 data/yacc.c:1356
#, c-format
msgid "syntax error, unexpected %s, expecting %s or %s or %s or %s"
msgstr "lỗi cú pháp, gặp %s bất thường, cần %s hoặc %s hoặc %s hay %s "

#: data/glr.c:2459 data/yacc.c:1436 data/yacc.c:1438 data/yacc.c:1616
#: data/yacc.c:2013
msgid "memory exhausted"
msgstr "hết bộ nhớ"
