2015 lines
63 KiB
Plaintext
2015 lines
63 KiB
Plaintext
# Vietnamese translation for recutils.
|
|
# Copyright © 2014 Free Software Foundation, Inc.
|
|
# This file is distributed under the same license as the recutils package.
|
|
# Trần Ngọc Quân <vnwildman@gmail.com>, 2012-2014.
|
|
#
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: recutils 1.6.90\n"
|
|
"Report-Msgid-Bugs-To: bug-gnu-utils@gnu.org\n"
|
|
"POT-Creation-Date: 2022-04-16 19:38+0200\n"
|
|
"PO-Revision-Date: 2014-03-20 09:17+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: LocFactoryEditor 1.8\n"
|
|
"X-Poedit-SourceCharset: UTF-8\n"
|
|
|
|
#: lib/closeout.c:122
|
|
msgid "write error"
|
|
msgstr "lỗi ghi"
|
|
|
|
#: lib/copy-acl.c:54 lib/copy-file.c:215
|
|
#, c-format
|
|
msgid "preserving permissions for %s"
|
|
msgstr ""
|
|
|
|
#: lib/copy-file.c:192
|
|
#, fuzzy, c-format
|
|
msgid "error while opening %s for reading"
|
|
msgstr "Không thể mở tập tin %s để đọc.\n"
|
|
|
|
#: lib/copy-file.c:196
|
|
#, fuzzy, c-format
|
|
msgid "cannot open backup file %s for writing"
|
|
msgstr "Không thể mở tập tin %s để đọc.\n"
|
|
|
|
#: lib/copy-file.c:200
|
|
#, fuzzy, c-format
|
|
msgid "error reading %s"
|
|
msgstr "lỗi: không thể đọc tập tin %s\n"
|
|
|
|
#: lib/copy-file.c:204
|
|
#, c-format
|
|
msgid "error writing %s"
|
|
msgstr ""
|
|
|
|
#: lib/copy-file.c:208
|
|
#, fuzzy, c-format
|
|
msgid "error after reading %s"
|
|
msgstr "lỗi: không thể đọc tập tin %s\n"
|
|
|
|
#: lib/error.c:195
|
|
msgid "Unknown system error"
|
|
msgstr "Lỗi hệ thống không rõ"
|
|
|
|
#: lib/execute.c:348 lib/wait-process.c:291 lib/wait-process.c:365
|
|
#, c-format
|
|
msgid "%s subprocess failed"
|
|
msgstr "tiến trình con %s bị lỗi"
|
|
|
|
#: lib/getopt.c:278
|
|
#, fuzzy, c-format
|
|
msgid "%s: option '%s%s' is ambiguous\n"
|
|
msgstr "%s: tùy chọn “-W %s” chưa rõ ràng\n"
|
|
|
|
#: lib/getopt.c:284
|
|
#, fuzzy, c-format
|
|
msgid "%s: option '%s%s' is ambiguous; possibilities:"
|
|
msgstr "%s: tùy chọn “%s” chưa rõ ràng; khả năng là:"
|
|
|
|
#: lib/getopt.c:319
|
|
#, fuzzy, c-format
|
|
msgid "%s: unrecognized option '%s%s'\n"
|
|
msgstr "%s: không nhận ra tùy chọn “%c%s”\n"
|
|
|
|
#: lib/getopt.c:345
|
|
#, fuzzy, c-format
|
|
msgid "%s: option '%s%s' doesn't allow an argument\n"
|
|
msgstr "%s: tùy chọn “%c%s” không cho phép đối số\n"
|
|
|
|
#: lib/getopt.c:360
|
|
#, fuzzy, c-format
|
|
msgid "%s: option '%s%s' requires an argument\n"
|
|
msgstr "%s: tùy chọn “--%s” cần một đối số\n"
|
|
|
|
#: 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"
|
|
|
|
#: lib/getopt.c:636 lib/getopt.c:682
|
|
#, c-format
|
|
msgid "%s: option requires an argument -- '%c'\n"
|
|
msgstr "%s: tùy chọn cần một đối số -- “%c”\n"
|
|
|
|
#: lib/obstack.c:337 lib/obstack.c:339 lib/xalloc-die.c:34
|
|
msgid "memory exhausted"
|
|
msgstr "hết bộ nhớ"
|
|
|
|
#: lib/openat-die.c:38
|
|
#, c-format
|
|
msgid "unable to record current working directory"
|
|
msgstr ""
|
|
|
|
#: lib/openat-die.c:57
|
|
#, c-format
|
|
msgid "failed to return to initial working directory"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:440 parse-datetime.y:540
|
|
#, c-format
|
|
msgid "parsed %s part: "
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:455
|
|
#, c-format
|
|
msgid "year: %04<PRIdMAX>"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:483
|
|
#, c-format
|
|
msgid "%s (day ordinal=%<PRIdMAX> number=%d)"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:514
|
|
#, c-format
|
|
msgid "number of seconds: %<PRIdMAX>"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:547
|
|
msgid "today/this/now\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:612
|
|
msgid "number of seconds"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:625
|
|
msgid "datetime"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:630
|
|
msgid "time"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:635
|
|
msgid "local_zone"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:640
|
|
msgid "zone"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:645
|
|
msgid "date"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:650
|
|
msgid "day"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:654 parse-datetime.y:761 parse-datetime.y:766
|
|
msgid "relative"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:658
|
|
msgid "number"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:662
|
|
msgid "hybrid"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:820
|
|
#, c-format
|
|
msgid "warning: value %<PRIdMAX> has %<PRIdMAX> digits. Assuming YYYY/MM/DD\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:832
|
|
#, c-format
|
|
msgid ""
|
|
"warning: value %<PRIdMAX> has less than 4 digits. Assuming MM/DD/YY[YY]\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1279
|
|
#, c-format
|
|
msgid "warning: adjusting year value %<PRIdMAX> to %<PRIdMAX>\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1289
|
|
#, c-format
|
|
msgid "error: out-of-range year %<PRIdMAX>\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1520
|
|
#, fuzzy, c-format
|
|
msgid "error: unknown word '%s'\n"
|
|
msgstr "lỗi: không thể đọc tập tin %s\n"
|
|
|
|
#: parse-datetime.y:1669
|
|
#, fuzzy
|
|
msgid "error: invalid date/time value:\n"
|
|
msgstr "kiểu liệt kê (enum) không hợp lệ."
|
|
|
|
#: parse-datetime.y:1670
|
|
#, c-format
|
|
msgid " user provided time: '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1672
|
|
#, c-format
|
|
msgid " normalized time: '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1695
|
|
msgid " possible reasons:\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1697
|
|
msgid " non-existing due to daylight-saving time;\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1699
|
|
msgid " invalid day/month combination;\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1700
|
|
msgid " numeric values overflow;\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1701
|
|
msgid "incorrect timezone"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1702
|
|
msgid "missing timezone"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1810
|
|
msgid "error: initial year out of range\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1905
|
|
#, fuzzy
|
|
msgid "error: parsing failed\n"
|
|
msgstr "gặp lỗi khi phân tích ngữ pháp tập tin CSV: %s\n"
|
|
|
|
#: parse-datetime.y:1906
|
|
#, fuzzy, c-format
|
|
msgid "error: parsing failed, stopped at '%s'\n"
|
|
msgstr "gặp lỗi khi phân tích ngữ pháp tập tin CSV: %s\n"
|
|
|
|
#: parse-datetime.y:1916
|
|
msgid "input timezone: "
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1919
|
|
#, c-format
|
|
msgid "'@timespec' - always UTC"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1921
|
|
#, c-format
|
|
msgid "parsed date/time string"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1925
|
|
#, c-format
|
|
msgid "TZ=\"%s\" in date string"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1929
|
|
#, c-format
|
|
msgid "TZ=\"UTC0\" environment value or -u"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1932
|
|
#, c-format
|
|
msgid "TZ=\"%s\" environment value"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1935
|
|
#, c-format
|
|
msgid "system default"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1977
|
|
msgid "error: year, month, or day overflow\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1988
|
|
#, fuzzy, c-format
|
|
msgid "error: invalid hour %<PRIdMAX>%s\n"
|
|
msgstr "%s:%s: lỗi: kiểu bản ghi %s không hợp lệ\n"
|
|
|
|
#: parse-datetime.y:1996
|
|
#, c-format
|
|
msgid "using specified time as starting value: '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:1997
|
|
#, c-format
|
|
msgid "using current time as starting value: '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2051
|
|
#, c-format
|
|
msgid "error: tzalloc (\"%s\") failed\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2095
|
|
#, c-format
|
|
msgid ""
|
|
"error: day '%s' (day ordinal=%<PRIdMAX> number=%d) resulted in an invalid "
|
|
"date: '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2106
|
|
#, c-format
|
|
msgid "new start date: '%s' is '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2115
|
|
#, c-format
|
|
msgid "using current date as starting value: '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2119
|
|
#, c-format
|
|
msgid "warning: day (%s) ignored when explicit dates are given\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2123
|
|
#, c-format
|
|
msgid "starting date/time: '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2133
|
|
msgid ""
|
|
"warning: when adding relative months/years, it is recommended to specify the "
|
|
"15th of the months\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2138
|
|
msgid "warning: when adding relative days, it is recommended to specify noon\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2148
|
|
#, fuzzy, c-format
|
|
msgid "error: %s:%d\n"
|
|
msgstr ": lỗi:"
|
|
|
|
#: parse-datetime.y:2163
|
|
#, c-format
|
|
msgid "error: adding relative date resulted in an invalid date: '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2172
|
|
#, c-format
|
|
msgid ""
|
|
"after date adjustment (%+<PRIdMAX> years, %+<PRIdMAX> months, %+<PRIdMAX> "
|
|
"days),\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2176
|
|
#, c-format
|
|
msgid " new date/time = '%s'\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2195
|
|
msgid "warning: daylight saving time changed after date adjustment\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2214
|
|
msgid "warning: month/year adjustment resulted in shifted dates:\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2217
|
|
#, c-format
|
|
msgid " adjusted Y M D: %s %02d %02d\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2219
|
|
#, c-format
|
|
msgid " normalized Y M D: %s %02d %02d\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2248
|
|
#, c-format
|
|
msgid "error: timezone %d caused time_t overflow\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2258
|
|
#, c-format
|
|
msgid "'%s' = %<PRIdMAX> epoch-seconds\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2286
|
|
msgid "error: adding relative time caused an overflow\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2297
|
|
#, c-format
|
|
msgid ""
|
|
"after time adjustment (%+<PRIdMAX> hours, %+<PRIdMAX> minutes, %+<PRIdMAX> "
|
|
"seconds, %+d ns),\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2303
|
|
#, c-format
|
|
msgid " new time = %<PRIdMAX> epoch-seconds\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2319
|
|
msgid "warning: daylight saving time changed after time adjustment\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2329
|
|
msgid "timezone: system default\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2331
|
|
msgid "timezone: Universal Time\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2333
|
|
#, c-format
|
|
msgid "timezone: TZ=\"%s\" environment value\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2337
|
|
#, c-format
|
|
msgid "final: %<PRIdMAX>.%09d (epoch-seconds)\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2343
|
|
#, c-format
|
|
msgid "final: %s (UTC)\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2358
|
|
#, c-format
|
|
msgid "final: %s (UTC%s)\n"
|
|
msgstr ""
|
|
|
|
#: parse-datetime.y:2362
|
|
#, c-format
|
|
msgid "final: %s (unknown time zone offset)\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS:
|
|
#. Get translations for open and closing quotation marks.
|
|
#. The message catalog should translate "`" to a left
|
|
#. quotation mark suitable for the locale, and similarly for
|
|
#. "'". For example, a French Unicode local should translate
|
|
#. these to U+00AB (LEFT-POINTING DOUBLE ANGLE
|
|
#. QUOTATION MARK), and U+00BB (RIGHT-POINTING DOUBLE ANGLE
|
|
#. QUOTATION MARK), respectively.
|
|
#.
|
|
#. If the catalog has no translation, we will try to
|
|
#. use Unicode U+2018 (LEFT SINGLE QUOTATION MARK) and
|
|
#. Unicode U+2019 (RIGHT SINGLE QUOTATION MARK). If the
|
|
#. current locale is not Unicode, locale_quoting_style
|
|
#. will quote 'like this', and clocale_quoting_style will
|
|
#. quote "like this". You should always include translations
|
|
#. for "`" and "'" even if U+2018 and U+2019 are appropriate
|
|
#. for your locale.
|
|
#.
|
|
#. If you don't know what to put here, please see
|
|
#. <https://en.wikipedia.org/wiki/Quotation_marks_in_other_languages>
|
|
#. and use glyphs suitable for your language.
|
|
#: lib/quotearg.c:355
|
|
msgid "`"
|
|
msgstr "“"
|
|
|
|
#: lib/quotearg.c:356
|
|
msgid "'"
|
|
msgstr "”"
|
|
|
|
#: lib/regcomp.c:122
|
|
msgid "Success"
|
|
msgstr "Thành công"
|
|
|
|
#: lib/regcomp.c:125
|
|
msgid "No match"
|
|
msgstr "Không tìm thấy"
|
|
|
|
#: lib/regcomp.c:128
|
|
msgid "Invalid regular expression"
|
|
msgstr "Biểu thức chính quy không hợp lệ"
|
|
|
|
#: lib/regcomp.c:131
|
|
msgid "Invalid collation character"
|
|
msgstr "Ký tự đối chiếu không hợp lệ"
|
|
|
|
#: lib/regcomp.c:134
|
|
msgid "Invalid character class name"
|
|
msgstr "Tên lớp ký tự không hợp lệ"
|
|
|
|
#: lib/regcomp.c:137
|
|
msgid "Trailing backslash"
|
|
msgstr "Có dấu gạch ngược ở cuối"
|
|
|
|
#: lib/regcomp.c:140
|
|
msgid "Invalid back reference"
|
|
msgstr "Sai tham chiếu ngược"
|
|
|
|
#: lib/regcomp.c:143
|
|
#, fuzzy
|
|
msgid "Unmatched [, [^, [:, [., or [="
|
|
msgstr "Có một ký tự “[” hay “[^” lẻ đôi"
|
|
|
|
#: lib/regcomp.c:146
|
|
msgid "Unmatched ( or \\("
|
|
msgstr "Có một ký tự “(” hay “\\(” lẻ đôi"
|
|
|
|
#: lib/regcomp.c:149
|
|
msgid "Unmatched \\{"
|
|
msgstr "Có một ký tự “\\{” lẻ đôi"
|
|
|
|
#: lib/regcomp.c:152
|
|
msgid "Invalid content of \\{\\}"
|
|
msgstr "Nội dung của “\\{\\}” không hợp lệ"
|
|
|
|
#: lib/regcomp.c:155
|
|
msgid "Invalid range end"
|
|
msgstr "Sai kết thúc phạm vi"
|
|
|
|
#: lib/regcomp.c:158
|
|
msgid "Memory exhausted"
|
|
msgstr "Hết bộ nhớ"
|
|
|
|
#: lib/regcomp.c:161
|
|
msgid "Invalid preceding regular expression"
|
|
msgstr "Sai biểu thức chính quy đi trước"
|
|
|
|
#: lib/regcomp.c:164
|
|
msgid "Premature end of regular expression"
|
|
msgstr "Kết thúc sớm biểu thức chính quy"
|
|
|
|
#: lib/regcomp.c:167
|
|
msgid "Regular expression too big"
|
|
msgstr "Biểu thức chính quy quá lớn"
|
|
|
|
#: lib/regcomp.c:170
|
|
msgid "Unmatched ) or \\)"
|
|
msgstr "Có một ký tự “)” hay “\\)” lẻ đôi"
|
|
|
|
#: lib/regcomp.c:650
|
|
msgid "No previous regular expression"
|
|
msgstr "Không có biểu thức chính quy đi trước"
|
|
|
|
#: lib/set-acl.c:46
|
|
#, c-format
|
|
msgid "setting permissions for %s"
|
|
msgstr ""
|
|
|
|
#: lib/version-etc.c:73
|
|
#, c-format
|
|
msgid "Packaged by %s (%s)\n"
|
|
msgstr ""
|
|
|
|
#: lib/version-etc.c:76
|
|
#, c-format
|
|
msgid "Packaged by %s\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: Translate "(C)" to the copyright symbol
|
|
#. (C-in-a-circle), if this symbol is available in the user's
|
|
#. locale. Otherwise, do not translate "(C)"; leave it as-is.
|
|
#: lib/version-etc.c:83
|
|
msgid "(C)"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: The %s placeholder is the web address of the GPL license.
|
|
#: lib/version-etc.c:88
|
|
#, fuzzy, c-format
|
|
msgid ""
|
|
"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 Jose E. Marchesi.\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"
|
|
|
|
#. TRANSLATORS: %s denotes an author name.
|
|
#: lib/version-etc.c:105
|
|
#, c-format
|
|
msgid "Written by %s.\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#: lib/version-etc.c:109
|
|
#, fuzzy, c-format
|
|
msgid "Written by %s and %s.\n"
|
|
msgstr ""
|
|
"\n"
|
|
"Được viết bởi Jose E. Marchesi."
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#: lib/version-etc.c:113
|
|
#, fuzzy, c-format
|
|
msgid "Written by %s, %s, and %s.\n"
|
|
msgstr ""
|
|
"\n"
|
|
"Được viết bởi Jose E. Marchesi."
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#. You can use line breaks, estimating that each author name occupies
|
|
#. ca. 16 screen columns and that a screen line has ca. 80 columns.
|
|
#: lib/version-etc.c:120
|
|
#, c-format
|
|
msgid ""
|
|
"Written by %s, %s, %s,\n"
|
|
"and %s.\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#. You can use line breaks, estimating that each author name occupies
|
|
#. ca. 16 screen columns and that a screen line has ca. 80 columns.
|
|
#: lib/version-etc.c:127
|
|
#, c-format
|
|
msgid ""
|
|
"Written by %s, %s, %s,\n"
|
|
"%s, and %s.\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#. You can use line breaks, estimating that each author name occupies
|
|
#. ca. 16 screen columns and that a screen line has ca. 80 columns.
|
|
#: lib/version-etc.c:134
|
|
#, c-format
|
|
msgid ""
|
|
"Written by %s, %s, %s,\n"
|
|
"%s, %s, and %s.\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#. You can use line breaks, estimating that each author name occupies
|
|
#. ca. 16 screen columns and that a screen line has ca. 80 columns.
|
|
#: lib/version-etc.c:142
|
|
#, c-format
|
|
msgid ""
|
|
"Written by %s, %s, %s,\n"
|
|
"%s, %s, %s, and %s.\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#. You can use line breaks, estimating that each author name occupies
|
|
#. ca. 16 screen columns and that a screen line has ca. 80 columns.
|
|
#: lib/version-etc.c:150
|
|
#, c-format
|
|
msgid ""
|
|
"Written by %s, %s, %s,\n"
|
|
"%s, %s, %s, %s,\n"
|
|
"and %s.\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#. You can use line breaks, estimating that each author name occupies
|
|
#. ca. 16 screen columns and that a screen line has ca. 80 columns.
|
|
#: lib/version-etc.c:159
|
|
#, c-format
|
|
msgid ""
|
|
"Written by %s, %s, %s,\n"
|
|
"%s, %s, %s, %s,\n"
|
|
"%s, and %s.\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: Each %s denotes an author name.
|
|
#. You can use line breaks, estimating that each author name occupies
|
|
#. ca. 16 screen columns and that a screen line has ca. 80 columns.
|
|
#: lib/version-etc.c:170
|
|
#, c-format
|
|
msgid ""
|
|
"Written by %s, %s, %s,\n"
|
|
"%s, %s, %s, %s,\n"
|
|
"%s, %s, and others.\n"
|
|
msgstr ""
|
|
|
|
#. TRANSLATORS: The placeholder indicates the bug-reporting 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).
|
|
#. TRANSLATORS: --help output 5+ (reports)
|
|
#. TRANSLATORS: the placeholder indicates the bug-reporting address
|
|
#. for this application. Please add _another line_ with the
|
|
#. address for translation bugs.
|
|
#. no-wrap
|
|
#: lib/version-etc.c:249 utils/recutl.c:114
|
|
#, c-format
|
|
msgid "Report bugs to: %s\n"
|
|
msgstr ""
|
|
"Thông báo lỗi cho: %s\n"
|
|
"Thông báo lỗi dịch cho: <http://translationproject.org/team/vi.html>.\n"
|
|
|
|
#: lib/version-etc.c:251 utils/recutl.c:117
|
|
#, c-format
|
|
msgid "Report %s bugs to: %s\n"
|
|
msgstr ""
|
|
"Thông báo lỗi %s cho: %s\n"
|
|
"Thông báo lỗi dịch cho: <http://translationproject.org/team/vi.html>.\n"
|
|
|
|
#: lib/version-etc.c:255 lib/version-etc.c:257 utils/recutl.c:121
|
|
#, c-format
|
|
msgid "%s home page: <%s>\n"
|
|
msgstr "Trang chủ %s: <%s>\n"
|
|
|
|
#: lib/version-etc.c:260
|
|
#, fuzzy, c-format
|
|
msgid "General help using GNU software: <%s>\n"
|
|
msgstr ""
|
|
"Trợ giúp chung về sử dụng phần mềm GNU: <http://www.gnu.org/gethelp/>\n"
|
|
|
|
#: lib/wait-process.c:232 lib/wait-process.c:264 lib/wait-process.c:326
|
|
#, c-format
|
|
msgid "%s subprocess"
|
|
msgstr "tiến trình con %s"
|
|
|
|
#: lib/wait-process.c:283 lib/wait-process.c:355
|
|
#, c-format
|
|
msgid "%s subprocess got fatal signal %d"
|
|
msgstr "tiến trình con %s đã nhận tín hiệu nghiêm trọng %d"
|
|
|
|
#: src/rec-fex.c:726
|
|
#, c-format
|
|
msgid "internal error: REC_FEX_MAX_ELEMS exceeded. Please report this.\n"
|
|
msgstr "lỗi nội bộ: đã vượt quá REC_FEX_MAX_ELEMS. Hãy báo cáo lỗi này.\n"
|
|
|
|
#: src/rec-int.c:132 src/rec-int.c:186 src/rec-int.c:243 src/rec-int.c:287
|
|
#: utils/recutl.c:199
|
|
msgid "out of memory\n"
|
|
msgstr "không đủ bộ nhớ\n"
|
|
|
|
#: src/rec-int.c:147
|
|
#, c-format
|
|
msgid "%s:%s: error: mandatory field '%s' not found in record\n"
|
|
msgstr "%s:%s: lỗi: trường yêu cầu “%s” không tìm thấy trong bản ghi\n"
|
|
|
|
#: src/rec-int.c:210
|
|
#, c-format
|
|
msgid "%s:%s: error: field '%s' not allowed in this record set\n"
|
|
msgstr "%s:%s: lỗi: không cho phép trường “%s” trong tập hợp bản ghi này\n"
|
|
|
|
#: src/rec-int.c:257
|
|
#, c-format
|
|
msgid "%s:%s: error: field '%s' should be unique in this record\n"
|
|
msgstr "%s:%s: cảnh báo: trường “%s” cần phải là duy nhất trong bản ghi này\n"
|
|
|
|
#: src/rec-int.c:301
|
|
#, c-format
|
|
msgid "%s:%s: error: prohibited field '%s' found in record\n"
|
|
msgstr "%s:%s: lỗi: trường cấm “%s” tìm thấy trong bản ghi\n"
|
|
|
|
#: src/rec-int.c:333
|
|
#, c-format
|
|
msgid "%s:%s: error: %%constraint[%d] violated in record\n"
|
|
msgstr "%s:%s: lỗi: %%constraint[%d] bị vi phạm trong bản ghi\n"
|
|
|
|
#: src/rec-int.c:370
|
|
#, c-format
|
|
msgid "%s:%s: error: confidential field is not encrypted\n"
|
|
msgstr "%s:%s: lỗi: trường bí mật thì chưa được mã hóa\n"
|
|
|
|
#: src/rec-int.c:422
|
|
#, c-format
|
|
msgid "%s:%s: error: key field '%s' not found in record\n"
|
|
msgstr "%s:%s: lỗi: trường yêu cầu “%s” không tìm thấy trong bản ghi\n"
|
|
|
|
#: src/rec-int.c:431
|
|
#, c-format
|
|
msgid "%s:%s: error: multiple key fields '%s' in record\n"
|
|
msgstr "%s:%s: lỗi: có nhiều trường khóa “%s” trong bản ghi\n"
|
|
|
|
#: src/rec-int.c:474
|
|
#, c-format
|
|
msgid "%s:%s: error: duplicated key value in field '%s' in record\n"
|
|
msgstr "%s:%s: lỗi: trùng lặp khóa trong trường “%s” trong bản ghi\n"
|
|
|
|
#: src/rec-int.c:562
|
|
#, fuzzy, c-format
|
|
msgid "%s:%s: error: duplicated value in singular field '%s' in record\n"
|
|
msgstr "%s:%s: lỗi: trùng lặp khóa trong trường “%s” trong bản ghi\n"
|
|
|
|
#: src/rec-int.c:620
|
|
#, c-format
|
|
msgid "%s:%s: error: missing %%rec field in record descriptor\n"
|
|
msgstr "%s:%s: lỗi: thiếu trường %%rec trong bộ mô tả bản ghi\n"
|
|
|
|
#: src/rec-int.c:628
|
|
#, c-format
|
|
msgid "%s:%s: error: too many %%rec fields in record descriptor\n"
|
|
msgstr "%s:%s: lỗi: quá nhiều trường %%rec trong bộ mô tả bản ghi\n"
|
|
|
|
#: src/rec-int.c:638
|
|
#, c-format
|
|
msgid "%s:%s: error: invalid record type %s\n"
|
|
msgstr "%s:%s: lỗi: kiểu bản ghi %s không hợp lệ\n"
|
|
|
|
#: src/rec-int.c:649
|
|
#, c-format
|
|
msgid "%s:%s: error: only one %%key field is allowed in a record descriptor\n"
|
|
msgstr "%s:%s: lỗi: chỉ cho phép một trường %%key trong bộ mô tả bản ghi\n"
|
|
|
|
#: src/rec-int.c:659
|
|
#, c-format
|
|
msgid "%s:%s: error: only one %%size field is allowed in a record descriptor\n"
|
|
msgstr "%s:%s: lỗi: chỉ cho phép một trường %%size trong bộ mô tả bản ghi\n"
|
|
|
|
#: src/rec-int.c:669
|
|
#, c-format
|
|
msgid "%s:%s: error: only one %%sort field is allowed in a record descriptor\n"
|
|
msgstr "%s:%s: lỗi: chỉ cho phép một trường %%sort trong bộ mô tả bản ghi\n"
|
|
|
|
#: src/rec-int.c:692
|
|
#, c-format
|
|
msgid ""
|
|
"%s:%s: error: expected a comma-separated list of fields before the type "
|
|
"specification\n"
|
|
msgstr ""
|
|
"%s:%s: lỗi: cần danh sách các trường ngăn cách bằng dấu phẩy trước đặc tả "
|
|
"kiểu\n"
|
|
|
|
#: src/rec-int.c:718 src/rec-int.c:771
|
|
#, c-format
|
|
msgid "%s:%s: error: the referred type %s does not exist\n"
|
|
msgstr "%s:%s: lỗi: kiểu tham chiếu %s không tồn tại\n"
|
|
|
|
#: src/rec-int.c:730
|
|
#, c-format
|
|
msgid "%s:%s: error: invalid type specification\n"
|
|
msgstr "%s:%s: lỗi: đặc tả kiểu không hợp lệ\n"
|
|
|
|
#: src/rec-int.c:745
|
|
#, c-format
|
|
msgid "%s:%s: error: expected a type name before the type specification\n"
|
|
msgstr "%s:%s: lỗi: cần tên kiểu trước đặc tả kiểu\n"
|
|
|
|
#: src/rec-int.c:783
|
|
#, c-format
|
|
msgid "%s:%s: error: invalid typedef specification\n"
|
|
msgstr "%s:%s: lỗi: đặc tả kiểu không hợp lệ\n"
|
|
|
|
#: src/rec-int.c:805
|
|
#, c-format
|
|
msgid "%s:%s: error: value for %s[%zd] is not a valid selection expression\n"
|
|
msgstr ""
|
|
"%s:%s: lỗi: giá trị cho %s[%zd] không phải là một biểu thức chọn hợp lệ\n"
|
|
|
|
#: src/rec-int.c:836
|
|
#, c-format
|
|
msgid "%s:%s: error: value for %s[%zd] is not a list of field names\n"
|
|
msgstr ""
|
|
"%s:%s: lỗi: giá trị cho %s[%zd] không phải là một danh sách tên trường\n"
|
|
|
|
#: src/rec-int.c:849
|
|
#, c-format
|
|
msgid ""
|
|
"%s:%s: error: value for %s should be a number optionally preceded by >, <, "
|
|
">= or <=.\n"
|
|
msgstr ""
|
|
"%s:%s: lỗi: giá trị cho %s phải là con số tùy chọn được treo trước bằng >, "
|
|
"<, >= or <=.\n"
|
|
|
|
#: src/rec-int.c:865
|
|
#, c-format
|
|
msgid "%s:%s: error: value for %s should be a list of field names.\n"
|
|
msgstr "%s:%s: lỗi: giá trị cho %s phải là danh sách tên trường.\n"
|
|
|
|
#: src/rec-int.c:893
|
|
#, c-format
|
|
msgid ""
|
|
"%s:%s: error: auto-incremented field %s should be of type int, range, uuid "
|
|
"or date\n"
|
|
msgstr ""
|
|
"%s:%s: lỗi: trường tự-động-tăng %s phải là kiểu int, vùng, uuid hay ngày "
|
|
"tháng\n"
|
|
|
|
#: src/rec-int.c:895
|
|
#, c-format
|
|
msgid ""
|
|
"%s:%s: error: auto-incremented field %s should be of type int, range or "
|
|
"date\n"
|
|
msgstr ""
|
|
"%s:%s: lỗi: trường tự-động-tăng %s phải là kiểu int, vùng hay ngày tháng\n"
|
|
|
|
#: src/rec-int.c:978
|
|
#, c-format
|
|
msgid "%s:%s: error: could not fetch remote descriptor from url %s.\n"
|
|
msgstr "%s:%s: lỗi: không thể lấy về bộ mô tả máy chủ từ địa chỉ url %s.\n"
|
|
|
|
#: src/rec-int.c:997
|
|
#, c-format
|
|
msgid "%s:%s: error: could not read external descriptor from file %s.\n"
|
|
msgstr "%s:%s: lỗi: không thể đọc bộ mô tả mở rộng từ tập tin %s.\n"
|
|
|
|
#: src/rec-int.c:1012
|
|
#, c-format
|
|
msgid "%s:%s: error: %s does not contain valid rec data.\n"
|
|
msgstr "%s:%s: lỗi: %s không chứa dữ liệu rec hợp lệ.\n"
|
|
|
|
#: src/rec-int.c:1026
|
|
#, c-format
|
|
msgid "%s:%s: error: %s does not contain information for type %s.\n"
|
|
msgstr "%s:%s: lỗi: %s không chứa thông tin cho kiểu %s.\n"
|
|
|
|
#: src/rec-int.c:1150
|
|
#, c-format
|
|
msgid "%s: error: the number of records of type %s should be %zd.\n"
|
|
msgstr "%s: lỗi: số bản ghi của kiểu %s phải là %zd.\n"
|
|
|
|
#: src/rec-int.c:1160
|
|
#, c-format
|
|
msgid "%s: error: too many records of type %s. Maximum allowed are %zd.\n"
|
|
msgstr "%s: lỗi: có quá nhiều bản ghi cho kiểu %s. Tối đa là %zd.\n"
|
|
|
|
#: src/rec-int.c:1167
|
|
#, c-format
|
|
msgid "%s: error: too few records of type %s. Minimum allowed are %zd.\n"
|
|
msgstr "%s: lỗi: có quá ít bản ghi cho kiểu %s. Tối thiểu là %zd.\n"
|
|
|
|
#: src/rec-types.c:304
|
|
msgid "invalid integer."
|
|
msgstr "số nguyên không hợp lệ."
|
|
|
|
#: src/rec-types.c:332
|
|
msgid "invalid 'field' value."
|
|
msgstr "giá trị không hợp lệ cho “trường”."
|
|
|
|
#: src/rec-types.c:353
|
|
msgid "invalid 'uuid' value."
|
|
msgstr "giá trị “uuid” không hợp lệ."
|
|
|
|
#: src/rec-types.c:369
|
|
msgid "invalid 'bool' value."
|
|
msgstr "giá trị lôgíc “bool” không hợp lệ."
|
|
|
|
#: src/rec-types.c:390
|
|
msgid "invalid 'range' value."
|
|
msgstr "giá trị “vùng” không hợp lệ."
|
|
|
|
#: src/rec-types.c:399
|
|
#, c-format
|
|
msgid "expected an integer between %d and %d."
|
|
msgstr "cần một số nguyên nằm giữa %d và %d."
|
|
|
|
#: src/rec-types.c:419
|
|
msgid "invalid 'real' value."
|
|
msgstr "giá trị thực “real” không hợp lệ."
|
|
|
|
#: src/rec-types.c:436
|
|
#, c-format
|
|
msgid "value too large. Expected a size <= %zu."
|
|
msgstr "giá trị quá lớn. Cần kích thước <= %zu."
|
|
|
|
#: src/rec-types.c:456
|
|
msgid "invalid 'line' value."
|
|
msgstr "giá trị dòng “line” không hợp lệ."
|
|
|
|
#: src/rec-types.c:473
|
|
msgid "value does not match the regexp."
|
|
msgstr "giá trị không khớp với biểu thức chính quy regexp."
|
|
|
|
#: src/rec-types.c:492
|
|
msgid "invalid date."
|
|
msgstr "ngày tháng không hợp lệ."
|
|
|
|
#: src/rec-types.c:506
|
|
msgid "invalid email."
|
|
msgstr "địa chỉ thư điện tử không hợp lệ."
|
|
|
|
#: src/rec-types.c:547
|
|
msgid "invalid enum value."
|
|
msgstr "kiểu liệt kê (enum) không hợp lệ."
|
|
|
|
#: src/rec-types.c:898
|
|
#, c-format
|
|
msgid ""
|
|
"internal error: rec-types: got REC_TYPE_NONE from rec_type_parse_type_kind() "
|
|
"in rec_type_new().\n"
|
|
msgstr ""
|
|
"lỗi nội bộ: rec-types: nhận REC_TYPE_NONE từ rec_type_parse_type_kind() "
|
|
"trong rec_type_new().\n"
|
|
|
|
#: src/rec-utils.c:86
|
|
#, c-format
|
|
msgid "internal error: rec_int_rec_extract_file: error compiling regexp.\n"
|
|
msgstr ""
|
|
"lỗi nội bộ: rec_int_rec_extract_file: lỗi khi biên dịch biểu thức chính quy "
|
|
"(regexp).\n"
|
|
|
|
#: src/rec-utils.c:116 src/rec-utils.c:147
|
|
#, c-format
|
|
msgid "internal error: rec_int_rec_extract_url: error compiling regexp.\n"
|
|
msgstr ""
|
|
"lỗi nội bộ: rec_int_rec_extract_url: lỗi biên dịch biểu thức chính quy "
|
|
"regexp.\n"
|
|
|
|
#: src/rec-utils.c:290
|
|
#, c-format
|
|
msgid "internal error: rec_match: error compiling regexp.\n"
|
|
msgstr "lỗi nội bộ: rec_match: lỗi biên dịch biểu thức chính quy regexp.\n"
|
|
|
|
#. TRANSLATORS: --help output, csv2rec synopsis.
|
|
#. no-wrap
|
|
#: utils/csv2rec.c:98
|
|
#, c-format
|
|
msgid "Usage: csv2rec [OPTIONS]... [CSV_FILE]\n"
|
|
msgstr "Cách dùng: csv2rec [CÁC-TÙY-CHỌN]... [TẬP-TIN-CSV]\n"
|
|
|
|
#. TRANSLATORS: --help output, csv2rec short description.
|
|
#. no-wrap
|
|
#: utils/csv2rec.c:103
|
|
msgid "Convert csv data into rec data.\n"
|
|
msgstr "Chuyển đổi dữ liệu từ kiểu csv sang rec.\n"
|
|
|
|
#. TRANSLATORS: --help output, csv2rec options.
|
|
#. no-wrap
|
|
#: utils/csv2rec.c:109
|
|
#, fuzzy
|
|
msgid ""
|
|
" -t, --type=TYPE type name for the converted records; "
|
|
"if this\n"
|
|
" parameter is omitted then no type is "
|
|
"used.\n"
|
|
" -s, --strict be strict parsing the csv file.\n"
|
|
" -e, --omit-empty omit empty fields.\n"
|
|
msgstr ""
|
|
" -t, --type=KIỂU tên kiểu cho các bản ghi được chuyển "
|
|
"đổi; nếu tham số\n"
|
|
" này được để trống thì kiểu mặc định "
|
|
"sẽ được áp dụng.\n"
|
|
" -s, --strict phân tích theo chuẩn csv.\n"
|
|
" -e, --omit-empty bỏ qua các trường trống.\n"
|
|
|
|
#: utils/csv2rec.c:212
|
|
#, c-format
|
|
msgid "invalid field name '%s' in header\n"
|
|
msgstr "tên người trường sai “%s” trong phần mở đầu\n"
|
|
|
|
#: utils/csv2rec.c:221
|
|
#, fuzzy
|
|
msgid "error while parsing CSV file: too many columns in row\n"
|
|
msgstr "gặp lỗi khi phân tích ngữ pháp tập tin CSV: %s\n"
|
|
|
|
#: utils/csv2rec.c:241
|
|
#, fuzzy, c-format
|
|
msgid ""
|
|
"%s: %lu: this line contains %lu fields, but %lu header fields were read\n"
|
|
msgstr "%s: %d: dòng này chứa %d trường, nhưng mà lại đọc được %d trường đầu\n"
|
|
|
|
#: utils/csv2rec.c:331 utils/recdel.c:233 utils/recset.c:306 utils/recutl.c:317
|
|
#, c-format
|
|
msgid "cannot read file %s\n"
|
|
msgstr "không thể đọc tập tin %s\n"
|
|
|
|
#: utils/csv2rec.c:338
|
|
msgid "failed to initialize csv parser\n"
|
|
msgstr "gặp lỗi khi khởi tạo bộ phân tích csv\n"
|
|
|
|
#: utils/csv2rec.c:355
|
|
#, c-format
|
|
msgid "error while parsing CSV file: %s\n"
|
|
msgstr "gặp lỗi khi phân tích ngữ pháp tập tin CSV: %s\n"
|
|
|
|
#. TRANSLATORS: --help output, mdb2rec synopsis.
|
|
#. no-wrap
|
|
#: utils/mdb2rec.c:97
|
|
#, c-format
|
|
msgid "Usage: mdb2rec [OPTIONS]... MDB_FILE [TABLE]\n"
|
|
msgstr "Cách dùng: mdb2rec [TÙY-CHỌN]... TẬP-TIN-MDB [BẢNG]\n"
|
|
|
|
#. TRANSLATORS: --help output, mdb2rec short description.
|
|
#. no-wrap
|
|
#: utils/mdb2rec.c:102
|
|
msgid "Convert an mdb file into a rec file.\n"
|
|
msgstr "Chuyển đổi tập tin từ kiểu mdb sang rec.\n"
|
|
|
|
#. TRANSLATORS: --help output, mdb2rec options.
|
|
#. no-wrap
|
|
#: utils/mdb2rec.c:108
|
|
msgid ""
|
|
" -s, --system-tables include system tables.\n"
|
|
" -e, --keep-empty-fields don't prune empty fields in the rec\n"
|
|
" output.\n"
|
|
" -l, --list-tables dump a list of the table names "
|
|
"contained\n"
|
|
" in the mdb file.\n"
|
|
msgstr ""
|
|
" -s, --system-tables bao gồm các bảng hệ thống.\n"
|
|
" -e, --keep-empty-fields không cắt cụt các trường trống trong "
|
|
"kết\n"
|
|
" xuất rec.\n"
|
|
" -l, --list-tables đổ danh sách tên các bảng chứa trong\n"
|
|
" trong tập tin mdb.\n"
|
|
|
|
#: utils/mdb2rec.c:230 utils/mdb2rec.c:288
|
|
#, c-format
|
|
msgid "failed to normalise record type name %s\n"
|
|
msgstr "gặp lỗi khi tiêu chuẩn hóa tên kiểu bản ghi %s\n"
|
|
|
|
#: utils/mdb2rec.c:236 utils/mdb2rec.c:245
|
|
#, c-format
|
|
msgid "failed to normalise field name %s\n"
|
|
msgstr "gặp lỗi khi tiêu chuẩn hóa tên trường %s\n"
|
|
|
|
#: utils/mdb2rec.c:307
|
|
#, c-format
|
|
msgid "failed to normalise the field name %s\n"
|
|
msgstr "gặp lỗi khi tiêu chuẩn hóa tên trường %s\n"
|
|
|
|
#: utils/mdb2rec.c:396 utils/recins.c:191 utils/recset.c:223
|
|
#, c-format
|
|
msgid "invalid field name %s.\n"
|
|
msgstr "tên trường không hợp lệ %s.\n"
|
|
|
|
#: utils/mdb2rec.c:436
|
|
#, c-format
|
|
msgid "could not open file %s\n"
|
|
msgstr "không thể mở tập tin %s\n"
|
|
|
|
#: utils/mdb2rec.c:441
|
|
msgid "file does not appear to be an Access database\n"
|
|
msgstr "tập tin có vẻ không phải là cơ sở dữ liệu Access\n"
|
|
|
|
#. TRANSLATORS: --help output, rec2csv synopsis.
|
|
#. no-wrap
|
|
#: utils/rec2csv.c:70
|
|
#, c-format
|
|
msgid "Usage: rec2csv [OPTIONS]... [REC_FILE]\n"
|
|
msgstr "Cách dùng: rec2csv [TÙY-CHỌN]... [TẬP-TIN-REC]\n"
|
|
|
|
#. TRANSLATORS: --help output, rec2csv short description.
|
|
#. no-wrap
|
|
#: utils/rec2csv.c:75
|
|
msgid "Convert rec data into csv data.\n"
|
|
msgstr "Chuyển đổi dữ liệu từ kiểu rec sang csv.\n"
|
|
|
|
#. TRANSLATORS: --help output, rec2csv options.
|
|
#. no-wrap
|
|
#: utils/rec2csv.c:81
|
|
msgid ""
|
|
" -d, --delim=char sets the deliminator (default ',')\n"
|
|
" -t, --type=TYPE record set to convert to csv; if this "
|
|
"parameter\n"
|
|
" is omitted then the default record "
|
|
"set is used\n"
|
|
" -S, --sort=FIELDS sort the output by the specified "
|
|
"fields.\n"
|
|
msgstr ""
|
|
" -d, --delim=ký_tự ngăn cách bằng ký tự này (mặc định là "
|
|
"“,”)\n"
|
|
" -t, --type=KIỂU tập hợp các bản ghi chuyển đổi sang "
|
|
"csv; nếu tham số này\n"
|
|
" được bỏ qua thì tập hợp các bản ghi "
|
|
"mặc định sẽ được dùng\n"
|
|
" -S, --sort=TRƯỜNG sắp xếp kết xuất theo trường này.\n"
|
|
|
|
#: utils/rec2csv.c:121
|
|
msgid "only one list of fields can be specified as a sorting criteria.\n"
|
|
msgstr "chỉ được chỉ ra một trường làm tiêu chí để sắp xếp.\n"
|
|
|
|
#: utils/rec2csv.c:126
|
|
msgid "invalid field name list in -S.\n"
|
|
msgstr "tên trường không hợp lệ trong -S.\n"
|
|
|
|
#: utils/rec2csv.c:130 utils/recsel.c:221 utils/recsel.c:245
|
|
msgid "internal error creating fex.\n"
|
|
msgstr "lỗi nội bộ khi tạo “fex”.\n"
|
|
|
|
#. TRANSLATORS: --help output, recdel synopsis.
|
|
#. no-wrap
|
|
#: utils/recdel.c:78
|
|
#, c-format
|
|
msgid ""
|
|
"Usage: recdel [OPTIONS]... [-t TYPE] [-n NUM | -e RECORD_EXPR | -q STR | -m "
|
|
"NUM] [FILE]\n"
|
|
msgstr ""
|
|
"Cách dùng: recdel [TÙY-CHỌN]... [-t KIỂU] [-n SỐ | -e BTHỨC_BẢNGHI | -q "
|
|
"CHUỖI | -m SỐ] [TẬP-TIN]\n"
|
|
|
|
#. TRANSLATORS: --help output, recdel short description.
|
|
#. no-wrap
|
|
#: utils/recdel.c:83
|
|
msgid "Remove (or comment out) records from a rec file.\n"
|
|
msgstr "Gỡ bỏ (biến thành ghi chú) các bản ghi từ tập tin rec.\n"
|
|
|
|
#. TRANSLATORS: --help output, recdel arguments.
|
|
#. no-wrap
|
|
#: utils/recdel.c:90
|
|
msgid ""
|
|
" -c, --comment comment out the matching records "
|
|
"instead of\n"
|
|
" deleting them.\n"
|
|
" --force delete even in potentially dangerous "
|
|
"situations,\n"
|
|
" and if the deletion is violating "
|
|
"record restrictions.\n"
|
|
" --no-external don't use external descriptors.\n"
|
|
" --verbose give a detailed report if the "
|
|
"integrity check\n"
|
|
" fails.\n"
|
|
msgstr ""
|
|
" -c, --comment đánh dấu là ghi chú cho các bản ghi "
|
|
"được tìm thấy\n"
|
|
" thay vì xóa chúng đi.\n"
|
|
" --force xóa ngay cả khi nó tiềm ẩn rủi ro,\n"
|
|
" và khi nó vi phạm các hạn chế.\n"
|
|
" --no-external không dùng mô tả từ bên ngoài.\n"
|
|
" --verbose đưa ra báo cáo chi tiết nếu việc kiểm "
|
|
"tra\n"
|
|
" tính toàn vẹn thất bại.\n"
|
|
|
|
#. TRANSLATORS: --help output, notes on recdel.
|
|
#. no-wrap
|
|
#. TRANSLATORS: --help output, notes on recfix.
|
|
#. no-wrap
|
|
#. TRANSLATORS: --help output, notes on recins.
|
|
#. no-wrap
|
|
#: utils/recdel.c:108 utils/recfix.c:149 utils/recins.c:138
|
|
msgid ""
|
|
"If no FILE is specified then the command acts like a filter, getting\n"
|
|
"the data from standard input and writing the result to standard output.\n"
|
|
msgstr ""
|
|
"Nếu không đưa ra TẬP-TIN thì lệnh thực hiện như là một bộ lọc, lấy\n"
|
|
"dữ liệu từ đầu vào tiêu chuẩn và kết quả đưa ra đầu ra tiêu chuẩn.\n"
|
|
|
|
#: utils/recdel.c:123
|
|
#, c-format
|
|
msgid "no records of type %s found.\n"
|
|
msgstr "không tìm thấy bản ghi nào thuộc kiểu %s.\n"
|
|
|
|
#: utils/recdel.c:196
|
|
#, c-format
|
|
msgid "ignoring a request to delete all records of type %s.\n"
|
|
msgstr "lờ đi các yêu cầu xóa các bản ghi thuộc kiểu %s.\n"
|
|
|
|
#: utils/recdel.c:198
|
|
msgid "use --force if you really want to proceed, or use either -n or -e.\n"
|
|
msgstr ""
|
|
"dùng --force nếu bạn thực sự muốn xử lý, hoặc dùng một trong hai tùy chọn -"
|
|
"n, -e.\n"
|
|
|
|
#: utils/recdel.c:206
|
|
msgid "invalid selection expression.\n"
|
|
msgstr "Biểu thức chính quy đã chọn không hợp lệ.\n"
|
|
|
|
#: utils/recdel.c:241 utils/recfix.c:344 utils/recins.c:361 utils/recset.c:312
|
|
#, c-format
|
|
msgid "file %s is not writable.\n"
|
|
msgstr "không thể ghi vào tập tin %s.\n"
|
|
|
|
#. TRANSLATORS: --help output, recfix synopsis.
|
|
#. no-wrap
|
|
#: utils/recfix.c:99
|
|
#, c-format
|
|
msgid "Usage: recfix [OPTION]... [OPERATION] [OP_OPTION]... [FILE]\n"
|
|
msgstr ""
|
|
"Cách dùng: recfix [TÙY-CHỌN]... [THAO-TÁC] [TÙY-CHỌN-THAO-TÁC]... [TẬP-TIN]\n"
|
|
|
|
#. TRANSLATORS: --help output, recfix short description.
|
|
#. no-wrap
|
|
#: utils/recfix.c:104
|
|
msgid "Check and fix rec files.\n"
|
|
msgstr "Kiểm tra và sửa chữa các tập tin rec.\n"
|
|
|
|
#. TRANSLATORS: --help output, recfix global arguments.
|
|
#. no-wrap
|
|
#: utils/recfix.c:111
|
|
msgid ""
|
|
" --no-external don't use external descriptors.\n"
|
|
" --force force the requested operation.\n"
|
|
msgstr ""
|
|
" --no-external không dùng mô tả từ bên ngoài.\n"
|
|
" --force ép buộc thao tác được yêu cầu.\n"
|
|
|
|
#. TRANSLATORS: --help output, recfix operations.
|
|
#. no-wrap
|
|
#: utils/recfix.c:121
|
|
msgid ""
|
|
"Operations:\n"
|
|
" --check check integrity of the specified "
|
|
"file. Default.\n"
|
|
" --sort sort the records in the specified "
|
|
"file.\n"
|
|
" --auto insert auto-generated fields in "
|
|
"records missing them.\n"
|
|
msgstr ""
|
|
"Các thao tác:\n"
|
|
" --check kiểm tra tính toàn vẹn của tập tin. "
|
|
"Mặc định.\n"
|
|
" --sort sắp xếp các bản ghi trong tập tin đã "
|
|
"cho.\n"
|
|
" --auto chèn thêm các trường auto-generated "
|
|
"vào các bản ghi bị thiếu.\n"
|
|
|
|
#. TRANSLATORS: --help output, recfix operations related with encryption.
|
|
#. no-wrap
|
|
#: utils/recfix.c:131
|
|
msgid ""
|
|
" --encrypt encrypt confidential fields in the "
|
|
"specified file.\n"
|
|
" --decrypt decrypt confidential fields in the "
|
|
"specified file.\n"
|
|
msgstr ""
|
|
" --encrypt mã hóa các trường trong tập tin đã "
|
|
"cho.\n"
|
|
" --decrypt giải mã các trường trong tập tin đã "
|
|
"cho.\n"
|
|
|
|
#. TRANSLATORS: --help output, recfix encryption and decryption
|
|
#. options.
|
|
#. no-wrap
|
|
#: utils/recfix.c:140
|
|
msgid ""
|
|
"De/Encryption options:\n"
|
|
" -s, --password=PASSWORD encrypt/decrypt with this password.\n"
|
|
msgstr ""
|
|
"Tùy chọn mã hóa và giải mã:\n"
|
|
" -s, --password=MẬT_KHẨU mã hóa hoặc giải mã dùng MẬT_KHẨU "
|
|
"này.\n"
|
|
|
|
#: utils/recfix.c:184
|
|
msgid "--password|-s must be used as an operation argument.\n"
|
|
msgstr "--password|-s phải được dùng như là một đối số thao tác.\n"
|
|
|
|
#: utils/recfix.c:188
|
|
msgid "the specified operation does not require a password.\n"
|
|
msgstr "thao tác đã cho không yêu cầu mật khẩu.\n"
|
|
|
|
#: utils/recfix.c:191
|
|
msgid "please specify just one password.\n"
|
|
msgstr "chỉ được phép chỉ ra một mật khẩu.\n"
|
|
|
|
#: utils/recfix.c:198 utils/recfix.c:204 utils/recfix.c:210 utils/recfix.c:217
|
|
#: utils/recfix.c:223
|
|
msgid "please specify just one operation.\n"
|
|
msgstr "chỉ được phép chỉ ra một thao tác.\n"
|
|
|
|
#: utils/recfix.c:304 utils/recfix.c:326 utils/recfix.c:365 utils/recfix.c:435
|
|
#, fuzzy, c-format
|
|
msgid "recfix: error: cannot read file %s\n"
|
|
msgstr "lỗi: không thể đọc tập tin %s\n"
|
|
|
|
#: utils/recfix.c:399
|
|
msgid "the database contains already encrypted fields\n"
|
|
msgstr "cơ sở dữ liệu đã sẵn chứa các trường được mã hóa\n"
|
|
|
|
#: utils/recfix.c:400
|
|
msgid "please use --force or --decrypt\n"
|
|
msgstr "hãy dùng --force hoặc --decrypt\n"
|
|
|
|
#: utils/recfix.c:499
|
|
msgid "unknown operation in recfix: please report this as a bug.\n"
|
|
msgstr "không hiểu thao tác recfix: hãy báo cáo đây là một lỗi.\n"
|
|
|
|
#. TRANSLATORS: --help output, recfmt synopsis.
|
|
#. no-wrap
|
|
#: utils/recfmt.c:64
|
|
#, c-format
|
|
msgid "Usage: recfmt [OPTION]... [TEMPLATE]\n"
|
|
msgstr "Cách dùng: recfmt [TÙY-CHỌN]... [MẪU]\n"
|
|
|
|
#. TRANSLATORS: --help output, recfmt arguments.
|
|
#. no-wrap
|
|
#: utils/recfmt.c:69
|
|
msgid "Apply a template to records read from standard input.\n"
|
|
msgstr "Áp dụng mẫu cho các bản ghi đọc từ đầu ra tiêu chuẩn.\n"
|
|
|
|
#. TRANSLATORS: --help output, recfmt arguments.
|
|
#. no-wrap
|
|
#: utils/recfmt.c:75
|
|
msgid ""
|
|
" -f, --file=FILENAME read the template to apply from a "
|
|
"file.\n"
|
|
msgstr ""
|
|
" -f, --file=TẬP-TIN đọc mẫu để áp dụng từ một tập tin.\n"
|
|
|
|
#: utils/recfmt.c:107
|
|
#, c-format
|
|
msgid "can't open file %s for reading.\n"
|
|
msgstr "Không thể mở tập tin %s để đọc.\n"
|
|
|
|
#: utils/recfmt.c:120
|
|
msgid "don't specify a template in the command line and -f at the same time.\n"
|
|
msgstr "đừng dùng mẫu trong câu lệnh và tùy chọn -f cùng một lúc.\n"
|
|
|
|
#: utils/recfmt.c:142
|
|
msgid "invalid expression in a template slot.\n"
|
|
msgstr "biểu thức không hợp lệ trong slot mẫu.\n"
|
|
|
|
#: utils/recfmt.c:146
|
|
msgid "error evaluating expression in a template slot.\n"
|
|
msgstr "gặp lỗi khi ước lượng giá trị của biểu thức trong slot mẫu.\n"
|
|
|
|
#: utils/recfmt.c:178
|
|
msgid "recfmt_apply_template: error compiling regexp. Please report this.\n"
|
|
msgstr ""
|
|
"recfmt_apply_template: lỗi dịch biểu thức chính qui. Hãy báo cáo lỗi này.\n"
|
|
|
|
#. TRANSLATORS: --help output, recinf synopsis.
|
|
#. no-wrap
|
|
#: utils/recinf.c:77
|
|
#, c-format
|
|
msgid "Usage: recinf [OPTION]... [FILE]...\n"
|
|
msgstr "Cách dùng: recinf [TÙY-CHỌN]... [TẬP-TIN]...\n"
|
|
|
|
#. TRANSLATORS: --help output, recinf short description.
|
|
#. no-wrap
|
|
#: utils/recinf.c:82
|
|
msgid "Print information about the types of records stored in the input.\n"
|
|
msgstr "Hiển thị thông tin về các kiểu của các trường đã lưu trong đầu vào.\n"
|
|
|
|
#. TRANSLATORS: --help output, recinf arguments.
|
|
#. no-wrap
|
|
#: utils/recinf.c:89
|
|
msgid ""
|
|
" -t, --type=RECORD_TYPE print information on the records having "
|
|
"the\n"
|
|
" specified type.\n"
|
|
" -d, --descriptor include the full record descriptors.\n"
|
|
" -n, --names-only output just the names of the record files\n"
|
|
" found in the input.\n"
|
|
msgstr ""
|
|
" -t, --type=KIỂU-BẢN-GHI hiển thị thông tin trên những bản ghi có\n"
|
|
" kiểu đã cho.\n"
|
|
" -d, --descriptor bao gồm đầy đủ cả các mô tả bản ghi.\n"
|
|
" -n, --names-only chỉ hiển thị tên của những tập tin bản "
|
|
"ghi\n"
|
|
" được tìm thấy từ đầu vào.\n"
|
|
|
|
#. TRANSLATORS: --help output, recinf special options.
|
|
#. no-wrap
|
|
#: utils/recinf.c:102
|
|
msgid ""
|
|
"Special options:\n"
|
|
" -S, --print-sexps print the data in sexps instead of rec "
|
|
"format.\n"
|
|
msgstr ""
|
|
"Các tùy chọn đặc biệt:\n"
|
|
" -S, --print-sexps hiển thị dữ liệu ở định dạng sexps "
|
|
"thay cho rec.\n"
|
|
|
|
#: utils/recinf.c:234
|
|
#, c-format
|
|
msgid "error: cannot read file %s\n"
|
|
msgstr "lỗi: không thể đọc tập tin %s\n"
|
|
|
|
#. TRANSLATORS: --help output, recins synopsis.
|
|
#. no-wrap
|
|
#: utils/recins.c:100
|
|
#, c-format
|
|
msgid ""
|
|
"Usage: recins [OPTION]... [-t TYPE] [-n NUM | -e RECORD_EXPR | -q STR | -m "
|
|
"NUM] [(-f NAME -v STR) | -r RECDATA]... [FILE]\n"
|
|
msgstr ""
|
|
"Cách dùng: recins [TÙY-CHỌN]... [-t KIỂU] [-n SỐ | -e BTHỨC_BẢN_GHI | -q "
|
|
"CHUỖI | -m SỐ] [(-f TÊN -v CHUỖI]|[-R RECDATA)]... [TẬP-TIN]\n"
|
|
|
|
#. TRANSLATORS: --help output, recins short description.
|
|
#. no-wrap
|
|
#: utils/recins.c:105
|
|
msgid "Insert new records in a rec database.\n"
|
|
msgstr "Chèn thêm các bản ghi mới vào cơ sở dữ liệu rec.\n"
|
|
|
|
#. TRANSLATORS: --help output, recins arguments.
|
|
#. no-wrap
|
|
#: utils/recins.c:111
|
|
msgid ""
|
|
" -f, --field=STR field name; should be followed by a -"
|
|
"v.\n"
|
|
" -v, --value=STR field value; should be preceded by an -"
|
|
"f.\n"
|
|
" -r, --record=STR record that will be inserted in the "
|
|
"file.\n"
|
|
" --force insert the record even if it is "
|
|
"violating\n"
|
|
" record restrictions.\n"
|
|
" --no-external don't use external descriptors.\n"
|
|
" --no-auto don't insert auto generated fields.\n"
|
|
" --verbose give a detailed report if the "
|
|
"integrity check\n"
|
|
" fails.\n"
|
|
msgstr ""
|
|
" -f, --field=CHUỖI tên trường; nên được theo sau -v.\n"
|
|
" -v, --value=CHUỖI tên trường; nên được theo trước -f.\n"
|
|
" -r, --record=CHUỖI bản ghi sẽ được chèn trong tập tin.\n"
|
|
" --force chèn bản ghi thậm chí nó vi phạm\n"
|
|
" các hạn chế.\n"
|
|
" --no-external không dùng các mô tả từ bên ngoài.\n"
|
|
" --no-auto không chèn các trường tự động.\n"
|
|
" --verbose đưa ra thông tin chi tiết nếu không "
|
|
"đạt\n"
|
|
" khi kiểm tra tính toàn vẹn dữ liệu.\n"
|
|
|
|
#. TRANSLATORS: --help output, encryption related options.
|
|
#. no-wrap
|
|
#: utils/recins.c:125
|
|
msgid ""
|
|
" -s, --password=STR encrypt confidential fields with the "
|
|
"given password.\n"
|
|
msgstr ""
|
|
" -s, --password=MK mã hóa các trường bằng mật khẩu đã "
|
|
"cho.\n"
|
|
|
|
#: utils/recins.c:179
|
|
msgid "a -f should be followed by a -v\n"
|
|
msgstr "-f phải theo sau bởi -v\n"
|
|
|
|
#: utils/recins.c:198
|
|
msgid "a -v should be preceded by a -f\n"
|
|
msgstr "-v phải được đi trước bởi -f\n"
|
|
|
|
#: utils/recins.c:214 utils/recsel.c:204
|
|
msgid "more than one password was specified\n"
|
|
msgstr "đã đưa ra nhiều hơn một mật khẩu\n"
|
|
|
|
#: utils/recins.c:224
|
|
msgid "error while parsing the record provided by -r\n"
|
|
msgstr "gặp lỗi trong khi phân tích bản ghi cung cấp bởi tùy chọn -r\n"
|
|
|
|
#: utils/recins.c:256
|
|
#, c-format
|
|
msgid "please provide a value for the field %s\n"
|
|
msgstr "hãy cung cấp giá trị cho trường %s\n"
|
|
|
|
#. TRANSLATORS: --help output, recsel synopsis.
|
|
#. no-wrap
|
|
#: utils/recsel.c:107
|
|
#, c-format
|
|
msgid ""
|
|
"Usage: recsel [OPTION]... [-t TYPE] [-j FIELD] [-n INDEXES | -e RECORD_EXPR "
|
|
"| -q STR | -m NUM] [-c | (-p|-P) FIELD_EXPR] [FILE]...\n"
|
|
msgstr ""
|
|
"Cách dùng: recsel [TÙY-CHỌN]... [-t KIỂU] [-j TRƯỜNG] [-n CHỈSỐ | -e "
|
|
"BTHỨC_BẢNGHI | -q CHUỖI | -m SỐ] [-c | (-p|-P) BTHỨC_TRƯỜNG] [TẬP-TIN]...\n"
|
|
|
|
#. TRANSLATORS: --help output, recsel arguments.
|
|
#. no-wrap
|
|
#: utils/recsel.c:112
|
|
msgid "Select and print rec data.\n"
|
|
msgstr "Chọn và hiển thị dữ liệu rec.\n"
|
|
|
|
#. TRANSLATORS: --help output, recsel arguments.
|
|
#. no-wrap
|
|
#: utils/recsel.c:118
|
|
msgid ""
|
|
" -d, --include-descriptors print record descriptors along with "
|
|
"the matched\n"
|
|
" records.\n"
|
|
" -C, --collapse do not section the result in records "
|
|
"with newlines.\n"
|
|
" -S, --sort=FIELD,... sort the output by the specified "
|
|
"fields.\n"
|
|
" -G, --group-by=FIELD,... group records by the specified "
|
|
"fields.\n"
|
|
" -U, --uniq remove duplicated fields in the output "
|
|
"records.\n"
|
|
msgstr ""
|
|
" -d, --include-descriptors hiển thị các mô tả bản ghi cùng với\n"
|
|
" các bản ghi tìm thấy.\n"
|
|
" -C, --collapse không phân đoạn kết quả từng bản ghi "
|
|
"bằng ngắt dòng.\n"
|
|
" -S, --sort=TRƯỜNG sắp xếp kết xuất theo trường đã cho.\n"
|
|
" -G, --group-by=TRƯỜNG,... nhóm các bản ghi theo trường đã cho.\n"
|
|
" -U, --uniq gỡ bỏ các trường bị trùng trong các "
|
|
"bản ghi kết xuất.\n"
|
|
|
|
#. TRANSLATORS: --help output, encryption related options.
|
|
#. no-wrap
|
|
#: utils/recsel.c:130
|
|
msgid ""
|
|
" -s, --password=STR decrypt confidential fields with the "
|
|
"given password.\n"
|
|
msgstr ""
|
|
" -s, --password=MK giải mã các trường bằng mật khẩu.\n"
|
|
|
|
#: utils/recsel.c:139
|
|
msgid ""
|
|
" -j, --join=FIELD perform an inner join using the "
|
|
"specified field.\n"
|
|
msgstr ""
|
|
" -j, --join=TRƯỜNG thực hiện phép gia nhập “inner join” "
|
|
"dùng trường đã cho.\n"
|
|
|
|
#. TRANSLATORS: --help output, recsel output options.
|
|
#. no-wrap
|
|
#: utils/recsel.c:146
|
|
msgid ""
|
|
"Output options:\n"
|
|
" -p, --print=FIELDS comma-separated list of fields to "
|
|
"print for each\n"
|
|
" matching record.\n"
|
|
" -P, --print-values=FIELDS as -p, but print only the values of "
|
|
"the selected\n"
|
|
" fields.\n"
|
|
" -R, --print-row=FIELDS as -P, but separate the values with "
|
|
"spaces instead\n"
|
|
" of newlines.\n"
|
|
" -c, --count print a count of the matching records "
|
|
"instead of\n"
|
|
" the records themselves.\n"
|
|
msgstr ""
|
|
"Các tùy chọn kết xuất:\n"
|
|
" -p, --print=TRƯỜNG danh sách các trường (ngăn cách bằng "
|
|
"dấu phẩy) sẽ được in ra\n"
|
|
" khi kết xuất.\n"
|
|
" -P, --print-values=TRƯỜNG như -p, nhưng chỉ in giá trị của các "
|
|
"trường\n"
|
|
" đã chọn.\n"
|
|
" -R, --print-row=TRƯỜNG như -P, nhưng ngăn cách các giá trị "
|
|
"bằng khoảng trắng\n"
|
|
" thay vì ngắt dòng.\n"
|
|
" -c, --count in ra số lượng của các bản ghi\n"
|
|
" thay cho các bản ghi.\n"
|
|
|
|
#. TRANSLATORS: --help output, recsel special options.
|
|
#. no-wrap
|
|
#: utils/recsel.c:160
|
|
msgid ""
|
|
"Special options:\n"
|
|
" --print-sexps print the data in sexps instead of rec "
|
|
"format.\n"
|
|
msgstr ""
|
|
"Tùy chọn đặc biệt:\n"
|
|
" --print-sexps hiển thị dữ liệu theo định dạng sexps "
|
|
"thay cho rec.\n"
|
|
|
|
#: utils/recsel.c:212
|
|
msgid "only one field list can be specified as a sorting criteria.\n"
|
|
msgstr "chỉ được chỉ ra một trường làm tiêu chí để sắp xếp.\n"
|
|
|
|
#: utils/recsel.c:217
|
|
msgid "invalid field names in -S.\n"
|
|
msgstr "tên trường không hợp lệ trong -S.\n"
|
|
|
|
#: utils/recsel.c:226
|
|
msgid "only one field can be specified as join criteria.\n"
|
|
msgstr "chỉ được chỉ ra một trường làm tiêu chí để gia nhập (join).\n"
|
|
|
|
#: utils/recsel.c:229
|
|
msgid "please specify a correct field name to -j|--join.\n"
|
|
msgstr "hãy chỉ ra một tên trường đúng cho tùy chọn -j|--join.\n"
|
|
|
|
#: utils/recsel.c:236
|
|
msgid "only one field list can be specified as a grouping criteria.\n"
|
|
msgstr "chỉ được chỉ ra một trường làm tiêu chí để nhóm.\n"
|
|
|
|
#: utils/recsel.c:241
|
|
msgid "invalid field names in -G.\n"
|
|
msgstr "tên trường không hợp lệ trong -G.\n"
|
|
|
|
#: utils/recsel.c:255
|
|
msgid "cannot specify -[pPR] and also -c.\n"
|
|
msgstr "không được phép đưa ra -[pPR] mà lại còn dùng -c.\n"
|
|
|
|
#: utils/recsel.c:266
|
|
#, c-format
|
|
msgid "invalid list of fields in -%c\n"
|
|
msgstr "tên trường không hợp lệ trong -%c\n"
|
|
|
|
#: utils/recsel.c:272
|
|
msgid "internal error creating the field expression.\n"
|
|
msgstr "lỗi nội bộ khi tạo biểu thức trường.\n"
|
|
|
|
#: utils/recsel.c:284
|
|
#, c-format
|
|
msgid "invalid aggregate function '%s'\n"
|
|
msgstr "hàm kết tập “%s” không hợp lệ\n"
|
|
|
|
#: utils/recsel.c:296
|
|
msgid "cannot specify -c and also -p.\n"
|
|
msgstr "không thể chỉ ra đồng thời hai tùy chọn -c và -p.\n"
|
|
|
|
#: utils/recsel.c:309
|
|
msgid "joins can only be used when a named record set is selected.\n"
|
|
msgstr "phép gia nhập chỉ được dùng khi mà tập hợp bản ghi có tên được chọn.\n"
|
|
|
|
#: utils/recsel.c:363
|
|
msgid "several record types found. Please use -t to specify one.\n"
|
|
msgstr "tìm thấy vài kiểu bản ghi. Hãy dùng tùy chọn -t để chỉ định một.\n"
|
|
|
|
#. TRANSLATORS: --help output, recset synopsis.
|
|
#. no-wrap
|
|
#: utils/recset.c:99
|
|
#, c-format
|
|
msgid "Usage: recset [OPTION]... [FILE]...\n"
|
|
msgstr "Cách dùng: recset [TÙY-CHỌN]... [TẬP-TIN]...\n"
|
|
|
|
#. TRANSLATORS: --help output, recset short description.
|
|
#. no-wrap
|
|
#: utils/recset.c:104
|
|
msgid "Alter or delete fields in records.\n"
|
|
msgstr "Thay thế hay xóa các trường trong bản ghi.\n"
|
|
|
|
#. TRANSLATORS: --help output, recset options.
|
|
#. no-wrap
|
|
#: utils/recset.c:110
|
|
msgid ""
|
|
" --no-external don't use external descriptors.\n"
|
|
" --force alter the records even if violating "
|
|
"record\n"
|
|
" restrictions.\n"
|
|
msgstr ""
|
|
" --no-external không dùng bộ mô tả từ bên ngoài.\n"
|
|
" --force thay thế các bản ghi ngay cả khi nó vi "
|
|
"phạm\n"
|
|
" các hạn chế.\n"
|
|
|
|
#. TRANSLATORS: --help output, recset field selection options.
|
|
#. no-wrap
|
|
#: utils/recset.c:123
|
|
msgid ""
|
|
"Field selection options:\n"
|
|
" -f, --fields=FIELDS comma-separated list of field names "
|
|
"with optional\n"
|
|
" subscripts.\n"
|
|
msgstr ""
|
|
"Các tùy chọn chọn trường:\n"
|
|
" -f, --fields=TRƯỜNG danh sách tên trường được ngăn cách "
|
|
"bằng dấu phẩy\n"
|
|
" với chỉ số phụ tùy chọn.\n"
|
|
|
|
#. TRANSLATORS: --help output, recset actions.
|
|
#. no-wrap
|
|
#: utils/recset.c:131
|
|
msgid ""
|
|
"Actions:\n"
|
|
" -s, --set=VALUE change the value of the selected "
|
|
"fields.\n"
|
|
" -a, --add=VALUE add the selected fields with the given "
|
|
"value.\n"
|
|
" -S, --set-add=VALUE change the value of the selected "
|
|
"fields. If they don't\n"
|
|
" exist then add a new field with that "
|
|
"value.\n"
|
|
" -r, --rename=NAME rename the selected fields to a given "
|
|
"name. If an entire\n"
|
|
" record set is selected then the "
|
|
"field is renamed in the\n"
|
|
" record descriptor as well.\n"
|
|
" -d, --delete delete the selected fields.\n"
|
|
" -c, --comment comment out the selected fields.\n"
|
|
msgstr ""
|
|
"Hành vi:\n"
|
|
" -s, --set=GIÁ-TRỊ thay đổi giá trị của các trường đã "
|
|
"chọn.\n"
|
|
" -a, --add=GIÁ-TRỊ thêm các trường đã chọn bằng giá trị "
|
|
"đã cho.\n"
|
|
" -S, --set-add=GIÁ-TRỊ thay đổi giá trị của các trường đã "
|
|
"chọn. Nếu chúng\n"
|
|
" chưa có thì thêm trường bằng giá trị "
|
|
"này.\n"
|
|
" -r, --rename=TÊN đổi tên trường bằng tên đã cho. Nếu "
|
|
"toàn bộ tập hợp\n"
|
|
" bản ghi được chọn thì trường đổi "
|
|
"tên \n"
|
|
" mô tả bản ghi cũng bị đổi tên.\n"
|
|
" -d, --delete xóa các trường đã chọn.\n"
|
|
" -c, --comment biến các trường đã chọn thành ghi "
|
|
"chú.\n"
|
|
|
|
#: utils/recset.c:154
|
|
msgid "please specify some field with -f.\n"
|
|
msgstr "hãy chỉ ra một số trường cho tùy chọn -f.\n"
|
|
|
|
#: utils/recset.c:159
|
|
msgid "please specify just one action.\n"
|
|
msgstr "chỉ được phép chỉ ra một hành động.\n"
|
|
|
|
#: utils/recset.c:193
|
|
msgid "invalid field expression in -f.\n"
|
|
msgstr "biểu thức trường không hợp lệ trong -f.\n"
|
|
|
|
#: utils/recset.c:199
|
|
msgid "creating the field expression.\n"
|
|
msgstr "tạo biểu thức trường.\n"
|
|
|
|
#: utils/recset.c:214
|
|
msgid ""
|
|
"the rename operation requires just one field with an optional subscript.\n"
|
|
msgstr "thao tác đổi tên yêu cầu chỉ một trường với một subcript tùy chọn.\n"
|
|
|
|
#: utils/recutl.c:123
|
|
#, c-format
|
|
msgid "%s home page: <http://www.gnu.org/software/recutils/>\n"
|
|
msgstr "Trang chủ %s: <http://www.gnu.org/software/recutils/>\n"
|
|
|
|
#: utils/recutl.c:126
|
|
msgid "General help using GNU software: <http://www.gnu.org/gethelp/>\n"
|
|
msgstr ""
|
|
"Trợ giúp chung về sử dụng phần mềm GNU: <http://www.gnu.org/gethelp/>\n"
|
|
|
|
#. TRANSLATORS: --help output, common arguments.
|
|
#. no-wrap
|
|
#: utils/recutl.c:135
|
|
msgid ""
|
|
" --help print a help message and exit.\n"
|
|
" --version show version and exit.\n"
|
|
msgstr ""
|
|
" --help hiển thị trợ giúp rồi thoát.\n"
|
|
" --version hiển thị phiên bản rồi thoát.\n"
|
|
|
|
#. TRANSLATORS: --help output, record selection arguments
|
|
#. no-wrap
|
|
#: utils/recutl.c:146
|
|
msgid ""
|
|
"Record selection options:\n"
|
|
" -i, --case-insensitive make strings case-insensitive in "
|
|
"selection\n"
|
|
" expressions.\n"
|
|
" -t, --type=TYPE operate on records of the specified "
|
|
"type only.\n"
|
|
" -e, --expression=RECORD_EXPR selection expression.\n"
|
|
" -q, --quick=STR select records with fields containing "
|
|
"a string.\n"
|
|
" -n, --number=NUM,... select specific records by position, "
|
|
"with ranges.\n"
|
|
" -m, --random=NUM select a given number of random "
|
|
"records.\n"
|
|
msgstr ""
|
|
"Các tùy chọn để lấy bản ghi:\n"
|
|
" -i, --case-insensitive làm cho biểu thức chọn phân biệt HOA/"
|
|
"thường\n"
|
|
" -t, --type=KIỂU chỉ thao tác với các bản ghi có kiểu "
|
|
"đã cho.\n"
|
|
" -e, --expression=BTHỨC_BGHI biểu thức chọn.\n"
|
|
" -q, --quick=CHUỖI lấy các bản ghi với các trường chứa "
|
|
"chuỗi.\n"
|
|
" -n, --number=SỐ,... lấy các bản ghi theo vị trí với một "
|
|
"vùng.\n"
|
|
" -m, --random=SỐ lấy ra số bản ghi ngẫu nhiên.\n"
|
|
|
|
#: utils/recutl.c:171
|
|
#, c-format
|
|
msgid ""
|
|
"Copyright (C) %s Jose E. Marchesi.\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"
|
|
msgstr ""
|
|
"Tác quyền © %s Jose E. Marchesi.\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"
|
|
|
|
#: utils/recutl.c:177
|
|
msgid ""
|
|
"\n"
|
|
"Written by Jose E. Marchesi."
|
|
msgstr ""
|
|
"\n"
|
|
"Được viết bởi Jose E. Marchesi."
|
|
|
|
#: utils/recutl.c:189 utils/recutl.c:209
|
|
msgid ": error: "
|
|
msgstr ": lỗi:"
|
|
|
|
#: utils/recutl.c:221
|
|
msgid ": warning: "
|
|
msgstr ": cảnh báo: "
|
|
|
|
#: utils/recutl.c:246
|
|
#, c-format
|
|
msgid "duplicated record set '%s' from %s.\n"
|
|
msgstr "trùng lặp tập hợp bản ghi “%s” từ %s.\n"
|
|
|
|
#: utils/recutl.c:401
|
|
msgid "cannot create a unique name.\n"
|
|
msgstr "không tạo được tên tập tin duy nhất.\n"
|
|
|
|
#: utils/recutl.c:421
|
|
#, c-format
|
|
msgid "renaming file %s to %s\n"
|
|
msgstr "đổi tên tập tin %s thành %s\n"
|
|
|
|
#: utils/recutl.c:463
|
|
msgid "operation aborted due to integrity failures.\n"
|
|
msgstr "thao tác bị bãi bỏ bởi vì tính liêm chính không được đảm bảo.\n"
|
|
|
|
#: utils/recutl.c:464
|
|
msgid "use --verbose to get a detailed report.\n"
|
|
msgstr ""
|
|
"dùng --verbose để nhận được báo cáo chi tiết những gì đang thực hiện.\n"
|
|
|
|
#: utils/recutl.c:471
|
|
msgid "use --force to skip the integrity check.\n"
|
|
msgstr "dùng --force để bỏ qua kiểm tra sự toàn vẹn dữ liệu.\n"
|
|
|
|
#: utils/recutl.c:529
|
|
msgid "internal error: recutl_index_list_parse: error compiling regexp.\n"
|
|
msgstr ""
|
|
"lỗi nội bộ: recutl_index_list_parse: lỗi biên dịch biểu thức chính quy.\n"
|
|
|
|
#: utils/recutl.c:596
|
|
msgid "Password: "
|
|
msgstr "Mật khẩu: "
|
|
|
|
#: utils/recutl.c:602
|
|
msgid "Password again: "
|
|
msgstr "Gõ lại mật khẩu: "
|
|
|
|
#: utils/recutl.c:607
|
|
msgid "the provided passwords don't match.\n"
|
|
msgstr "mật khẩu đã cung cấp không khớp.\n"
|
|
|
|
#: utils/recutl.h:84 utils/recutl.h:131 utils/recutl.h:133
|
|
#, fuzzy
|
|
msgid "cannot specify -e and also -n\n"
|
|
msgstr "không thể chỉ ra đồng thời hai tùy chọn -c và -p.\n"
|
|
|
|
#: utils/recutl.h:86
|
|
#, fuzzy
|
|
msgid "cannot specify -e and also -q\n"
|
|
msgstr "không thể chỉ ra đồng thời hai tùy chọn -c và -p.\n"
|
|
|
|
#: utils/recutl.h:94
|
|
#, fuzzy
|
|
msgid "invalid selection expression\n"
|
|
msgstr "Biểu thức chính quy đã chọn không hợp lệ.\n"
|
|
|
|
#: utils/recutl.h:100
|
|
#, fuzzy
|
|
msgid "cannot specify -n and also -e\n"
|
|
msgstr "không thể chỉ ra đồng thời hai tùy chọn -c và -p.\n"
|
|
|
|
#: utils/recutl.h:102
|
|
#, fuzzy
|
|
msgid "cannot specify -n and also -q\n"
|
|
msgstr "không thể chỉ ra đồng thời hai tùy chọn -c và -p.\n"
|
|
|
|
#: utils/recutl.h:106
|
|
#, fuzzy
|
|
msgid "invalid list of indexes in -n\n"
|
|
msgstr "tên trường không hợp lệ trong -%c\n"
|
|
|
|
#: utils/recutl.h:111
|
|
#, fuzzy
|
|
msgid "cannot specify -m and also -e\n"
|
|
msgstr "không thể chỉ ra đồng thời hai tùy chọn -c và -p.\n"
|
|
|
|
#: utils/recutl.h:113
|
|
#, fuzzy
|
|
msgid "cannot specify -m and also -q\n"
|
|
msgstr "không thể chỉ ra đồng thời hai tùy chọn -c và -p.\n"
|
|
|
|
#: utils/recutl.h:115
|
|
#, fuzzy
|
|
msgid "cannot specify -m and also -n\n"
|
|
msgstr "không thể chỉ ra đồng thời hai tùy chọn -c và -p.\n"
|
|
|
|
#~ msgid "_open_osfhandle failed"
|
|
#~ msgstr "_open_osfhandle gặp lỗi"
|
|
|
|
#~ msgid "cannot restore fd %d: dup2 failed"
|
|
#~ msgstr "không thể phục hồi bộ mô tả tập tin %d: dup2 gặp lỗi"
|
|
|
|
#, fuzzy
|
|
#~ msgid ""
|
|
#~ "\n"
|
|
#~ "Report bugs to: %s\n"
|
|
#~ msgstr ""
|
|
#~ "Thông báo lỗi cho: %s\n"
|
|
#~ "Thông báo lỗi dịch cho: <http://translationproject.org/team/vi.html>.\n"
|
|
|
|
#, fuzzy
|
|
#~ msgid "%s home page: <https://www.gnu.org/software/%s/>\n"
|
|
#~ msgstr "Trang chủ %s: <http://www.gnu.org/software/recutils/>\n"
|
|
|
|
#~ 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"
|
|
|
|
#~ msgid "%s: unrecognized option '--%s'\n"
|
|
#~ msgstr "%s: không nhận ra tùy chọn “--%s”\n"
|
|
|
|
#~ msgid "%s: option '-W %s' doesn't allow an argument\n"
|
|
#~ msgstr "%s: tùy chọn “-W %s” không cho phép có đối số\n"
|
|
|
|
#~ msgid "%s: option '-W %s' requires an argument\n"
|
|
#~ msgstr "%s: tùy chọn “-W %s” cần một đối số\n"
|
|
|
|
#~ msgid ""
|
|
#~ "%s:%s: warning: type %s collides with referred type %s in the rset %s.\n"
|
|
#~ msgstr ""
|
|
#~ "%s:%s: cảnh báo: kiểu %s đối lập với kiểu tham chiếu %s trong rset %s.\n"
|
|
|
|
#~ msgid "%s:%s: error: value for %s shall be a field name.\n"
|
|
#~ msgstr "%s:%s: lỗi: giá trị cho %s phải là tên trường.\n"
|
|
|
|
#~ msgid "reached maximum number of fields: %d\n"
|
|
#~ msgstr "đã đạt đến số lượng trường tối đa: %d\n"
|
|
|
|
#~ msgid "not enough headers"
|
|
#~ msgstr "không đủ header"
|
|
|
|
#~ msgid "out of memory"
|
|
#~ msgstr "hết bộ nhớ"
|
|
|
|
#~ msgid "evaluating the selection expression.\n"
|
|
#~ msgstr "ước lượng biểu thức chính qui đã chọn.\n"
|
|
|
|
#~ msgid "reading file %s"
|
|
#~ msgstr "đang đọc tập tin %s"
|