# Vietnamese Translation for Gettext Runtime.
# Bản dịch tiếng Việt dành cho Gettext Runtime.
# Copyright © 2015 Free Software Foundation, Inc.
# This file is distributed under the same license as the gettext package.
# Clytie Siddall <clytie@riverland.net.au>, 2005-2010.
# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014, 2015.
#
msgid ""
msgstr ""
"Project-Id-Version: gettext-runtime 0.19.4.73\n"
"Report-Msgid-Bugs-To: bug-gettext@gnu.org\n"
"POT-Creation-Date: 2020-07-26 21:56+0200\n"
"PO-Revision-Date: 2015-06-30 08:06+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"
"X-Bugs: Report translation errors to the Language-Team address.\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"

#: gnulib-lib/closeout.c:66
msgid "write error"
msgstr "lỗi ghi"

#: gnulib-lib/error.c:195
msgid "Unknown system error"
msgstr "Lỗi hệ thống không rõ"

#: gnulib-lib/getopt.c:278
#, fuzzy, c-format
#| msgid "%s: option '%s' is ambiguous\n"
msgid "%s: option '%s%s' is ambiguous\n"
msgstr "%s: tùy chọn “%s” chưa rõ ràng\n"

#: gnulib-lib/getopt.c:284
#, fuzzy, c-format
#| msgid "%s: option '%s' is ambiguous; possibilities:"
msgid "%s: option '%s%s' is ambiguous; possibilities:"
msgstr "%s: tùy chọn “%s” chưa rõ ràng; khả năng là:"

#: gnulib-lib/getopt.c:319
#, fuzzy, c-format
#| msgid "%s: unrecognized option '%c%s'\n"
msgid "%s: unrecognized option '%s%s'\n"
msgstr "%s: không nhận ra tùy chọn “%c%s”\n"

#: gnulib-lib/getopt.c:345
#, fuzzy, c-format
#| msgid "%s: option '%c%s' doesn't allow an argument\n"
msgid "%s: option '%s%s' doesn't allow an argument\n"
msgstr "%s: tùy chọn “%c%s” không cho phép có đối số\n"

#: gnulib-lib/getopt.c:360
#, fuzzy, c-format
#| msgid "%s: option '--%s' requires an argument\n"
msgid "%s: option '%s%s' requires an argument\n"
msgstr "%s: tùy chọn “--%s” yêu cầu một đối số\n"

#: gnulib-lib/getopt.c:621
#, c-format
msgid "%s: invalid option -- '%c'\n"
msgstr "%s: tùy chọn không hợp lệ -- “%c”\n"

#: gnulib-lib/getopt.c:636 gnulib-lib/getopt.c:682
#, c-format
msgid "%s: option requires an argument -- '%c'\n"
msgstr "%s: tùy chọn yêu cầu một đối số -- “%c”\n"

#: gnulib-lib/xmalloc.c:38
#, c-format
msgid "memory exhausted"
msgstr "hết bộ nhớ"

#: src/envsubst.c:110 src/gettext.c:135 src/ngettext.c:124
#, fuzzy, c-format, no-wrap
#| msgid ""
#| "Copyright (C) %s Free Software Foundation, Inc.\n"
#| "License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\n"
#| "This is free software: you are free to change and redistribute it.\n"
#| "There is NO WARRANTY, to the extent permitted by law.\n"
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
"License GPLv3+: GNU GPL version 3 or later <%s>\n"
"This is free software: you are free to change and redistribute it.\n"
"There is NO WARRANTY, to the extent permitted by law.\n"
msgstr ""
"Tác quyền © %s Tổ chức Phần mềm Tự do.\n"
"Giấy Phép Công Cộng GNU (GPL), phiên bản 3 hay sau <http://gnu.org/licenses/gpl.html>\n"
"Đây là phần mềm tự do: bạn có quyền thay đổi và phát hành lại nó.\n"
"KHÔNG CÓ BẢO HÀNH GÌ CẢ, với điều kiện được pháp luật cho phép.\n"

#: src/envsubst.c:116 src/gettext.c:141 src/ngettext.c:130
#, c-format
msgid "Written by %s.\n"
msgstr "Viết bởi %s.\n"

# Name: don't translate / Tên: đừng dịch
#. This is a proper name. See the gettext manual, section Names.
#: src/envsubst.c:116
msgid "Bruno Haible"
msgstr "Bruno Haible"

#: src/envsubst.c:125 src/gettext.c:159 src/ngettext.c:142
#, c-format
msgid "too many arguments"
msgstr "quá nhiều đối số"

#: src/envsubst.c:136 src/gettext.c:169 src/ngettext.c:154
#, c-format
msgid "missing arguments"
msgstr "đối số còn thiếu"

#: src/envsubst.c:174 src/gettext.c:246 src/ngettext.c:211
#, c-format
msgid "Try '%s --help' for more information.\n"
msgstr "Hãy thử lệnh “%s --help” để xem thông tin thêm.\n"

#: src/envsubst.c:179
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [SHELL-FORMAT]\n"
msgstr "Cách dùng: %s [TÙY-CHỌN] [ĐỊNH-DẠNG-HỆ-VỎ]\n"

#: src/envsubst.c:184
#, c-format, no-wrap
msgid "Substitutes the values of environment variables.\n"
msgstr "Thay thế giá trị của biến môi trường.\n"

#: src/envsubst.c:188
#, c-format, no-wrap
msgid "Operation mode:\n"
msgstr "Chế độ thao tác:\n"

#: src/envsubst.c:191
#, c-format, no-wrap
msgid "  -v, --variables             output the variables occurring in SHELL-FORMAT\n"
msgstr " -v, --variables              hiển thị những biến phát sinh theo ĐỊNH-DẠNG-HỆ-VỎ\n"

#: src/envsubst.c:195 src/gettext.c:275 src/ngettext.c:241
#, c-format, no-wrap
msgid "Informative output:\n"
msgstr "Kết xuất thông tin:\n"

#: src/envsubst.c:198
#, c-format, no-wrap
msgid "  -h, --help                  display this help and exit\n"
msgstr "  -h, --help                  hiển thị trợ giúp này rồi thoát\n"

#: src/envsubst.c:201
#, c-format, no-wrap
msgid "  -V, --version               output version information and exit\n"
msgstr "  -V, --version               hiển thị các thông tin về phiên bản rồi thoát\n"

#: src/envsubst.c:205
#, c-format, no-wrap
msgid ""
"In normal operation mode, standard input is copied to standard output,\n"
"with references to environment variables of the form $VARIABLE or ${VARIABLE}\n"
"being replaced with the corresponding values.  If a SHELL-FORMAT is given,\n"
"only those environment variables that are referenced in SHELL-FORMAT are\n"
"substituted; otherwise all environment variables references occurring in\n"
"standard input are substituted.\n"
msgstr ""
"Trong chế độ thao tác bình thường, đầu vào tiêu chuẩn được sao chép\n"
"vào đầu ra tiêu chuẩn, với tham chiếu đến biến môi trường\n"
"có dạng “$BIẾN” hay “${BIẾN}” được thay thế bằng giá trị tương ứng.\n"
"Nếu đưa ra ĐỊNH-DẠNG-HỆ-VỎ thì chỉ thay thế những biến môi trường\n"
"được tham chiếu theo định dạng trình bao đó, không thì thay thế tất cả các\n"
"tham chiếu biến môi trường xảy ra trong đầu vào tiêu chuẩn.\n"

#: src/envsubst.c:214
#, c-format, no-wrap
msgid ""
"When --variables is used, standard input is ignored, and the output consists\n"
"of the environment variables that are referenced in SHELL-FORMAT, one per line.\n"
msgstr ""
"Khi chọn “--variables” (biến) được dùng thì bỏ qua đầu vào tiêu chuẩn,\n"
"và kết xuất là những biến môi trường được tham chiếu theo ĐỊNH-DẠNG-HỆ-VỎ\n"
"(mỗi dòng một biến).\n"

#. TRANSLATORS: The first placeholder is the web address of the Savannah
#. project of this package.  The second placeholder is the bug-reporting
#. email address for this package.  Please add _another line_ saying
#. "Report translation bugs to <...>\n" with the address for translation
#. bugs (typically your translation team's web or email address).
#: src/envsubst.c:223 src/gettext.c:299 src/ngettext.c:262
#, c-format
msgid ""
"Report bugs in the bug tracker at <%s>\n"
"or by email to <%s>.\n"
msgstr ""

#: src/envsubst.c:451
#, c-format
msgid "error while reading \"%s\""
msgstr "gặp lỗi khi đọc “%s”"

#: src/envsubst.c:451
msgid "standard input"
msgstr "đầu vào tiêu chuẩn"

# Name: don't translate / Tên: đừng dịch
#. This is a proper name. See the gettext manual, section Names.
#: src/gettext.c:141 src/ngettext.c:130
msgid "Ulrich Drepper"
msgstr "Ulrich Drepper"

#: src/gettext.c:251
#, c-format, no-wrap
msgid ""
"Usage: %s [OPTION] [[TEXTDOMAIN] MSGID]\n"
"or:    %s [OPTION] -s [MSGID]...\n"
msgstr ""
"Cách dùng: %s [TÙY_CHỌN] [[MIỀN_VĂN_BẢN] MSGID]\n"
"      hay: %s [TÙY_CHỌN] -s [MSGID]…\n"

# Trong văn cảnh này, ngôn ngữ "native" của ai?
#: src/gettext.c:257
#, c-format, no-wrap
msgid "Display native language translation of a textual message.\n"
msgstr "Hiển thị bản dịch ngôn ngữ mẹ đẻ của một chuỗi nguyên văn.\n"

#: src/gettext.c:261
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
msgstr ""

#: src/gettext.c:263 src/ngettext.c:228
#, c-format
msgid "  -c, --context=CONTEXT     specify context for MSGID\n"
msgstr ""

#: src/gettext.c:265 src/ngettext.c:230
#, c-format
msgid "  -e                        enable expansion of some escape sequences\n"
msgstr ""

#: src/gettext.c:267
#, c-format
msgid "  -n                        suppress trailing newline\n"
msgstr ""

#: src/gettext.c:269 src/ngettext.c:232
#, c-format
msgid "  -E                        (ignored for compatibility)\n"
msgstr ""

#: src/gettext.c:271
#, c-format
msgid ""
"  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
"                            to MSGID from TEXTDOMAIN\n"
msgstr ""

#: src/gettext.c:277 src/ngettext.c:243
#, fuzzy, c-format
#| msgid "  -h, --help                  display this help and exit\n"
msgid "  -h, --help                display this help and exit\n"
msgstr "  -h, --help                  hiển thị trợ giúp này rồi thoát\n"

#: src/gettext.c:279 src/ngettext.c:245
#, fuzzy, c-format
#| msgid "  -V, --version               output version information and exit\n"
msgid "  -V, --version             display version information and exit\n"
msgstr ""
"  -V, --version               hiển thị các thông tin về phiên bản rồi thoát\n"

#: src/gettext.c:283
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"When used with the -s option the program behaves like the 'echo' command.\n"
"But it does not simply copy its arguments to stdout.  Instead those messages\n"
"found in the selected catalog are translated.\n"
"Standard search directory: %s\n"
msgstr ""
"Tham số MIỀN_VĂN_BẢN không đưa ra thì nó được sẽ được lấy\n"
"từ biến môi trường TEXTDOMAIN (miền văn bản). Nếu không tìm thấy\n"
"dữ liệu bản dịch trong thư mục bình thường, vị trí đặt khác đi có thể được\n"
"chỉ định bằng biến môi trường TEXTDOMAINDIR (thư mục của miền văn bản).\n"
"Khi dùng với tùy chọn “-s”, chương trình này ứng xử giống như\n"
"lệnh “echo”. Nhưng nó không đơn giản sao chép các đối số của nó\n"
"sang đầu ra tiêu chuẩn. Nó thay thế những chuỗi đã tìm trong bản dịch\n"
"bằng bản dịch tương ứng.\n"
"Thư mục thường dùng để quét tìm các bản dịch: %s\n"

#: src/ngettext.c:216
#, c-format, no-wrap
msgid "Usage: %s [OPTION] [TEXTDOMAIN] MSGID MSGID-PLURAL COUNT\n"
msgstr "Cách dùng: %s [TÙY_CHỌN] [MIỀN_VĂN_BẢN] MSGID MSGID-NHIỀU SỐ_LƯỢNG\n"

#: src/ngettext.c:221
#, c-format, no-wrap
msgid ""
"Display native language translation of a textual message whose grammatical\n"
"form depends on a number.\n"
msgstr ""
"Hiển thị bản dịch ngôn ngữ mẹ đẻ của chuỗi thuộc văn bản có dạng\n"
"ngữ pháp phụ thuộc vào con số.\n"

#: src/ngettext.c:226
#, c-format, no-wrap
msgid "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
msgstr ""

#: src/ngettext.c:234
#, c-format
msgid ""
"  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
msgstr ""

#: src/ngettext.c:236
#, c-format
msgid ""
"  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL "
"(plural)\n"
msgstr ""

#: src/ngettext.c:238
#, c-format
msgid ""
"  COUNT                     choose singular/plural form based on this value\n"
msgstr ""

#: src/ngettext.c:249
#, c-format, no-wrap
msgid ""
"If the TEXTDOMAIN parameter is not given, the domain is determined from the\n"
"environment variable TEXTDOMAIN.  If the message catalog is not found in the\n"
"regular directory, another location can be specified with the environment\n"
"variable TEXTDOMAINDIR.\n"
"Standard search directory: %s\n"
msgstr ""
"Tham số MIỀN-VĂN-BẢN không đưa ra thì tên miền được lấy\n"
"từ biến môi trường TEXTDOMAIN (miền văn bản). Nếu không tìm thấy\n"
"bản dịch trong thư mục bình thường, vị trí khác có thể được\n"
"chỉ ra bằng biến môi trường TEXTDOMAINDIR (thư mục của miền văn bản).\n"
"Thư mục tìm quét tiêu chuẩn: %s\n"

#, c-format
#~ msgid "%s: option '--%s' doesn't allow an argument\n"
#~ msgstr "%s: tùy chọn “--%s” không cho phép đối số\n"

#, c-format
#~ msgid "%s: unrecognized option '--%s'\n"
#~ msgstr "%s: không nhận ra tùy chọn “--%s”\n"

#, c-format
#~ msgid "%s: option '-W %s' is ambiguous\n"
#~ msgstr "%s: tùy chọn “-W %s” chưa rõ ràng\n"

#, c-format
#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
#~ msgstr "%s: tùy chọn “-W %s” không cho phép đối số\n"

#, c-format
#~ msgid "%s: option '-W %s' requires an argument\n"
#~ msgstr "%s: tùy chọn “-W %s” yêu cầu một đối số\n"

#~ msgid "Report bugs to <bug-gnu-gettext@gnu.org>.\n"
#~ msgstr ""
#~ "Hãy thông báo lỗi nào cho <bug-gnu-gettext@gnu.org>.\n"
#~ "Hãy thông báo lỗi dịch nào cho <http://translationproject.org/team/vi."
#~ "html>.\n"

#, c-format, no-wrap
#~ msgid ""
#~ "  -d, --domain=TEXTDOMAIN   retrieve translated messages from TEXTDOMAIN\n"
#~ "  -e                        enable expansion of some escape sequences\n"
#~ "  -E                        (ignored for compatibility)\n"
#~ "  -h, --help                display this help and exit\n"
#~ "  -n                        suppress trailing newline\n"
#~ "  -V, --version             display version information and exit\n"
#~ "  [TEXTDOMAIN] MSGID        retrieve translated message corresponding\n"
#~ "                            to MSGID from TEXTDOMAIN\n"
#~ msgstr ""
#~ "  -d, --domain=MIỀN_VĂN_BẢN lấy các chuỗi đã dịch từ MIỀN_VĂN_BẢN này\n"
#~ "  -e                        cho phép mở rộng một số kiểu thoát chuỗi\n"
#~ "  -E                        (bị bỏ qua để tương thích)\n"
#~ "  -h, --help                hiện trợ giúp này rồi thoát\n"
#~ "  -n                        thu hồi ký tự dòng mới theo sau\n"
#~ "  -V, --version             hiện thông tin phiên bản rồi thoát\n"
#~ "  [MIỀN_VĂN_BẢN] MSGID      lấy chuỗi đã dịch tương ứng với MSGID\n"
#~ "                            từ MIỀN_VĂN_BẢN\n"

#, c-format, no-wrap
#~ msgid ""
#~ "  -d, --domain=TEXTDOMAIN   retrieve translated message from TEXTDOMAIN\n"
#~ "  -e                        enable expansion of some escape sequences\n"
#~ "  -E                        (ignored for compatibility)\n"
#~ "  -h, --help                display this help and exit\n"
#~ "  -V, --version             display version information and exit\n"
#~ "  [TEXTDOMAIN]              retrieve translated message from TEXTDOMAIN\n"
#~ "  MSGID MSGID-PLURAL        translate MSGID (singular) / MSGID-PLURAL (plural)\n"
#~ "  COUNT                     choose singular/plural form based on this value\n"
#~ msgstr ""
#~ "  -d, --domain=MIỀN_VĂN_BẢN lấy chuỗi đã dịch từ “MIỀN_VĂN_BẢN” này\n"
#~ "  -e                        cho phép mở rộng một số kiểu thoát chuỗi\n"
#~ "  -E                        (bị bỏ qua để không tương thích)\n"
#~ "  -h, --help                hiện trợ giúp này rồi thoát\n"
#~ "  -V, --version             hiện thông tin phiên bản rồi thoát\n"
#~ "  [MIỀN_VĂN_BẢN]            lấy chuỗi đã dịch từ miền văn bản này\n"
#~ "  MSGID MSGID-NHIỀU         dịch MSGID (số ít) / MSGID-NHIỀU (số nhiều)\n"
#~ "  SỐ_ĐẾM                    chọn dạng số ít/số nhiều dựa vào giá trị này\n"
