summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2008-03-26 11:22:19 +0000
committerJakub Jelinek <jakub@redhat.com>2008-03-26 11:22:19 +0000
commitf23e5ee26d14b7931c65e5df0bf46ff356c6177b (patch)
tree7ec5160f8a03894ed0f4be9a1c312ed5bffdc7e5
parentd0b6ac6c5023a223e150c49c422c7ad2bd99456c (diff)
Updated to fedora-glibc-20080326T1041cvs/fedora-glibc-2_7_90-12
-rw-r--r--ChangeLog63
-rw-r--r--elf/ldconfig.c3
-rw-r--r--fedora/branch.mk4
-rw-r--r--fedora/glibc.spec.in10
-rw-r--r--gmon/gmon.c3
-rw-r--r--iconv/gconv_conf.c3
-rw-r--r--inet/rcmd.c3
-rw-r--r--intl/bindtextdom.c3
-rw-r--r--intl/loadmsgcat.c9
-rw-r--r--libidn/ChangeLog5
-rw-r--r--libidn/stringprep.c6
-rw-r--r--libio/genops.c3
-rw-r--r--libio/wgenops.c3
-rw-r--r--locale/programs/ld-collate.c12
-rw-r--r--locale/programs/linereader.c3
-rw-r--r--localedata/ChangeLog6
-rw-r--r--localedata/locales/iso14651_t1_common302
-rw-r--r--localedata/locales/mr_IN21
-rw-r--r--math/libm-test.inc9
-rw-r--r--nis/nis_call.c6
-rw-r--r--nis/nss_compat/compat-pwd.c15
-rw-r--r--nis/nss_compat/compat-spwd.c6
-rw-r--r--nptl/ChangeLog7
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h2
-rw-r--r--nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h2
-rw-r--r--nptl_db/ChangeLog9
-rw-r--r--nptl_db/structs.def3
-rw-r--r--nptl_db/td_ta_thr_iter.c65
-rw-r--r--nptl_db/td_thr_validate.c26
-rw-r--r--nss/nss_files/files-XXX.c7
-rw-r--r--po/vi.po6524
-rw-r--r--resolv/res_debug.c3
-rw-r--r--sunrpc/xdr_sizeof.c6
-rw-r--r--sysdeps/ieee754/dbl-64/s_nearbyint.c9
-rw-r--r--sysdeps/ieee754/dbl-64/s_rint.c11
-rw-r--r--sysdeps/mach/hurd/if_index.c3
-rw-r--r--sysdeps/posix/sprofil.c3
-rw-r--r--sysdeps/s390/fpu/fegetenv.c10
-rw-r--r--sysdeps/s390/fpu/fesetenv.c8
-rw-r--r--sysdeps/unix/sysv/linux/adjtime.c10
-rw-r--r--sysdeps/unix/sysv/linux/bits/sched.h7
-rw-r--r--sysdeps/unix/sysv/linux/dl-sysdep.h2
-rw-r--r--sysdeps/unix/sysv/linux/s390/sys/user.h4
-rw-r--r--time/lc-time-cleanup.c9
-rw-r--r--time/tzset.c3
46 files changed, 7107 insertions, 126 deletions
diff --git a/ChangeLog b/ChangeLog
index 744f074cfe..ac94fbd9eb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,66 @@
+2008-03-07 Martin Schwidefsky <schwidefsky@de.ibm.com>
+
+ * sysdeps/s390/fpu/fegetenv.c (fegetenv): Remove PTRACE_PEEKUSER
+ ptrace call to get the ieee_instruction_pointer from the kernel.
+ * sysdeps/s390/fpu/fesetenv.c (fesetenv): Remove PTRACE_POKEUSER
+ ptrace call to set the ieee_instructtion_pointer.
+ * sysdeps/unix/sysv/linux/s390/sys/user.h (struct _user_regs_struct):
+ Add comment that ieee_instruction_pointer is always 0.
+
+2008-03-09 Andreas Jaeger <aj@suse.de>
+
+ [BZ #5857]
+ * sysdeps/ieee754/dbl-64/s_rint.c (__rint): Handle j0==18.
+ * sysdeps/ieee754/dbl-64/s_nearbyint.c (__nearbyint): Likewise.
+ Patch by Mark Elliott <mark.h.elliott@lmco.com>.
+
+ * math/libm-test.inc (nearbyint_test): Add new test cases from #5857.
+ (rint_test): Likewise.
+
+2008-03-24 Ulrich Drepper <drepper@redhat.com>
+
+ * nis/nis_call.c (nis_server_cache_search): Save errno around stat
+ call.
+ (__nisfind_server): Similar for open readColdStartFile call.
+ Patch partially by Jim Meyering.
+ * nss/nss_files/files-XXX.c (_nss_files_getXXent_r): Save errno
+ around internal_setent call.
+
+ * po/vi.po: New Vietnamese translation.
+
+ * sysdeps/unix/sysv/linux/adjtime.c: Correctly use
+ ADJ_OFFSET_SS_READ.
+
+ * sysdeps/unix/sysv/linux/bits/sched.h: Add new CLONE_* flags,
+ remove CLONE_STOPPED.
+
+2008-02-10 Jim Meyering <meyering@redhat.com>
+
+ Remove useless "if" before "free":
+ * elf/ldconfig.c (parse_conf_include): Likewise.
+ * gmon/gmon.c (weak_alias): Likewise.
+ * iconv/gconv_conf.c (__gconv_get_path): Likewise.
+ * inet/rcmd.c (__validuser2_sa): Likewise.
+ * intl/bindtextdom.c (set_binding_values): Likewise.
+ * intl/loadmsgcat.c (_nl_load_domain, _nl_unload_domain): Likewise.
+ * libio/genops.c (save_for_backup): Likewise.
+ * libio/wgenops.c (save_for_wbackup): Likewise.
+ * locale/programs/ld-collate.c (collate_read): Likewise.
+ * locale/programs/linereader.c (get_string): Likewise.
+ * nis/nss_compat/compat-pwd.c (give_pwd_free): Likewise.
+ * nis/nss_compat/compat-spwd.c (give_spwd_free): Likewise.
+ * resolv/res_debug.c (do_section): Likewise.
+ * sunrpc/xdr_sizeof.c (x_inline, xdr_sizeof): Likewise.
+ * sysdeps/mach/hurd/if_index.c (libc_hidden_def): Likewise.
+ * sysdeps/posix/sprofil.c (__sprofil): Likewise.
+ * time/lc-time-cleanup.c (_nl_cleanup_time): Likewise.
+ * time/tzset.c (tzset_internal): Likewise.
+
+2008-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/dl-sysdep.h: Use __ASSEMBLER__ instead
+ of ASSEMBLER.
+
2008-03-11 Ulrich Drepper <drepper@redhat.com>
[BZ #5903]
diff --git a/elf/ldconfig.c b/elf/ldconfig.c
index 8794179e2f..05955ae658 100644
--- a/elf/ldconfig.c
+++ b/elf/ldconfig.c
@@ -1193,8 +1193,7 @@ parse_conf_include (const char *config_file, unsigned int lineno,
break;
}
- if (copy)
- free (copy);
+ free (copy);
}
/* Honour LD_HWCAP_MASK. */
diff --git a/fedora/branch.mk b/fedora/branch.mk
index 2b4ab28f91..3a8066a6a9 100644
--- a/fedora/branch.mk
+++ b/fedora/branch.mk
@@ -3,5 +3,5 @@ glibc-branch := fedora
glibc-base := HEAD
DIST_BRANCH := devel
COLLECTION := dist-f8
-fedora-sync-date := 2008-03-14 21:59 UTC
-fedora-sync-tag := fedora-glibc-20080314T2159
+fedora-sync-date := 2008-03-26 10:41 UTC
+fedora-sync-tag := fedora-glibc-20080326T1041
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index 5faaf525ea..4763a69a05 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -19,7 +19,7 @@
Summary: The GNU libc libraries
Name: glibc
Version: @glibcversion@
-Release: 11
+Release: 12
# GPLv2+ is used in a bunch of programs, LGPLv2+ is used for libraries.
# Things that are linked directly into dynamically linked programs
# and shared libraries (e.g. crt files, lib*_nonshared.a) have an additional
@@ -140,7 +140,7 @@ use the standard C libraries.
%package common
Summary: Common binaries and locale data for glibc
-Requires: %{name}=%{version}-%{release}
+Requires: %{name} = %{version}-%{release}
Requires: tzdata >= 2003a
Group: System Environment/Base
@@ -976,6 +976,12 @@ rm -f *.filelist*
%endif
%changelog
+* Wed Mar 26 2008 Jakub Jelinek <jakub@redhat.com> 2.7.90-12
+- update to trunk
+ - new CLONE_* flags in <sched.h> (#438542)
+ - nis+ errno clobbering fix (#437945)
+ - fix adjtime (#437974)
+
* Fri Mar 14 2008 Jakub Jelinek <jakub@redhat.com> 2.7.90-11
- update to trunk
- remove <stropts.h>, define _XOPEN_STREAMS -1 (#436349)
diff --git a/gmon/gmon.c b/gmon/gmon.c
index 1e94aaba5f..8e2eddd0bc 100644
--- a/gmon/gmon.c
+++ b/gmon/gmon.c
@@ -396,6 +396,5 @@ _mcleanup (void)
write_gmon ();
/* free the memory. */
- if (_gmonparam.tos != NULL)
- free (_gmonparam.tos);
+ free (_gmonparam.tos);
}
diff --git a/iconv/gconv_conf.c b/iconv/gconv_conf.c
index 22ffa4f41c..2023beb267 100644
--- a/iconv/gconv_conf.c
+++ b/iconv/gconv_conf.c
@@ -529,8 +529,7 @@ __gconv_get_path (void)
__gconv_path_elem = result ?: (struct path_elem *) &empty_path_elem;
- if (cwd != NULL)
- free (cwd);
+ free (cwd);
}
__libc_lock_unlock (lock);
diff --git a/inet/rcmd.c b/inet/rcmd.c
index 341304acd5..5dcbd25568 100644
--- a/inet/rcmd.c
+++ b/inet/rcmd.c
@@ -826,8 +826,7 @@ __validuser2_sa(hostf, ra, ralen, luser, ruser, rhost)
}
}
- if (buf != NULL)
- free (buf);
+ free (buf);
return retval;
}
diff --git a/intl/bindtextdom.c b/intl/bindtextdom.c
index fd527a180a..7a956d4471 100644
--- a/intl/bindtextdom.c
+++ b/intl/bindtextdom.c
@@ -203,8 +203,7 @@ set_binding_values (domainname, dirnamep, codesetp)
if (__builtin_expect (result != NULL, 1))
{
- if (binding->codeset != NULL)
- free (binding->codeset);
+ free (binding->codeset);
binding->codeset = result;
modified = 1;
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
index 537fd6013c..3cba7b1491 100644
--- a/intl/loadmsgcat.c
+++ b/intl/loadmsgcat.c
@@ -1236,8 +1236,7 @@ _nl_load_domain (domain_file, domainbinding)
/* This is an invalid revision. */
invalid:
/* This is an invalid .mo file. */
- if (domain->malloced)
- free (domain->malloced);
+ free (domain->malloced);
#ifdef HAVE_MMAP
if (use_mmap)
munmap ((caddr_t) data, size);
@@ -1289,12 +1288,10 @@ _nl_unload_domain (domain)
if (convd->conv != (__gconv_t) -1)
__gconv_close (convd->conv);
}
- if (domain->conversions != NULL)
- free (domain->conversions);
+ free (domain->conversions);
__libc_rwlock_fini (domain->conversions_lock);
- if (domain->malloced)
- free (domain->malloced);
+ free (domain->malloced);
# ifdef _POSIX_MAPPED_FILES
if (domain->use_mmap)
diff --git a/libidn/ChangeLog b/libidn/ChangeLog
index 67d5de1e9e..15efe0e88f 100644
--- a/libidn/ChangeLog
+++ b/libidn/ChangeLog
@@ -1,3 +1,8 @@
+2008-02-10 Jim Meyering <meyering@redhat.com>
+
+ * stringprep.c (stringprep, stringprep_profile): Remove useless
+ "if" before "free".
+
2006-02-27 Roland McGrath <roland@redhat.com>
* Makefile: Use $(..) in place of ../.
diff --git a/libidn/stringprep.c b/libidn/stringprep.c
index 6041e3937a..f5c9fae073 100644
--- a/libidn/stringprep.c
+++ b/libidn/stringprep.c
@@ -366,8 +366,7 @@ stringprep (char *in,
do
{
- if (ucs4)
- free (ucs4);
+ free (ucs4);
ucs4 = stringprep_utf8_to_ucs4 (in, -1, &ucs4len);
maxucs4len = ucs4len + adducs4len;
uint32_t *newp = realloc (ucs4, maxucs4len * sizeof (uint32_t));
@@ -449,8 +448,7 @@ stringprep_profile (const char *in,
do
{
- if (str)
- free (str);
+ free (str);
str = (char *) malloc (len);
if (str == NULL)
return STRINGPREP_MALLOC_ERROR;
diff --git a/libio/genops.c b/libio/genops.c
index 7005fdbd96..481fbc52b0 100644
--- a/libio/genops.c
+++ b/libio/genops.c
@@ -300,8 +300,7 @@ save_for_backup (fp, end_p)
memcpy (new_buffer + avail,
fp->_IO_read_base + least_mark,
needed_size);
- if (fp->_IO_save_base)
- free (fp->_IO_save_base);
+ free (fp->_IO_save_base);
fp->_IO_save_base = new_buffer;
fp->_IO_save_end = new_buffer + avail + needed_size;
}
diff --git a/libio/wgenops.c b/libio/wgenops.c
index 760a413dc3..e2adedd6d4 100644
--- a/libio/wgenops.c
+++ b/libio/wgenops.c
@@ -553,8 +553,7 @@ save_for_wbackup (fp, end_p)
needed_size * sizeof (wchar_t));
#endif
}
- if (fp->_wide_data->_IO_save_base)
- free (fp->_wide_data->_IO_save_base);
+ free (fp->_wide_data->_IO_save_base);
fp->_wide_data->_IO_save_base = new_buffer;
fp->_wide_data->_IO_save_end = new_buffer + avail + needed_size;
}
diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c
index 227e764a6c..f72516c87b 100644
--- a/locale/programs/ld-collate.c
+++ b/locale/programs/ld-collate.c
@@ -2963,10 +2963,8 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
col_elem_free:
if (symbol != NULL)
free ((char *) symbol);
- if (arg->val.str.startmb != NULL)
- free (arg->val.str.startmb);
- if (arg->val.str.startwc != NULL)
- free (arg->val.str.startwc);
+ free (arg->val.str.startmb);
+ free (arg->val.str.startwc);
}
lr_ignore_rest (ldfile, 1);
}
@@ -3112,10 +3110,8 @@ collate_read (struct linereader *ldfile, struct localedef_t *result,
else
{
col_sym_free:
- if (symbol != NULL)
- free (symbol);
- if (endsymbol != NULL)
- free (endsymbol);
+ free (symbol);
+ free (endsymbol);
}
}
break;
diff --git a/locale/programs/linereader.c b/locale/programs/linereader.c
index 8a04e32276..2e20e5d778 100644
--- a/locale/programs/linereader.c
+++ b/locale/programs/linereader.c
@@ -859,8 +859,7 @@ non-symbolic character value should not be used"));
if (illegal_string)
{
free (buf);
- if (buf2 != NULL)
- free (buf2);
+ free (buf2);
lr->token.val.str.startmb = NULL;
lr->token.val.str.lenmb = 0;
lr->token.val.str.startwc = NULL;
diff --git a/localedata/ChangeLog b/localedata/ChangeLog
index 6cf41833bf..976eb470e8 100644
--- a/localedata/ChangeLog
+++ b/localedata/ChangeLog
@@ -1,3 +1,9 @@
+2008-03-23 Ulrich Drepper <drepper@redhat.com>
+
+ * locales/iso14651_t1_common: Add support for Devanagari script.
+ * locales/mr_IN: Adjust Devanagari sorting for mr_IN.
+ Patch by Pravin Satpute <psatpute@redhat.com>.
+
2008-03-08 Ulrich Drepper <drepper@redhat.com>
[BZ #5602]
diff --git a/localedata/locales/iso14651_t1_common b/localedata/locales/iso14651_t1_common
index b5951f9e8c..bf6b63338e 100644
--- a/localedata/locales/iso14651_t1_common
+++ b/localedata/locales/iso14651_t1_common
@@ -60,6 +60,7 @@ script <GREC>
script <CYRIL>
script <ARMENIAN>
script <GEORGIAN>
+script <DEVANAGARI>
# Déclaration des symboles internes / Declaration of internal symbols
#
@@ -460,6 +461,105 @@ collating-symbol <GEORG-WE>
collating-symbol <GEORG-HAR>
collating-symbol <GEORG-HOE>
collating-symbol <GEORG-FI>
+#
+# <DEVANAGARI>
+#
+# dvd- denotes vowel modifier
+# dm- denotes matras
+# dvw- denotes vowels
+# <NKT> denotes Nukta characters
+# <NUM> denotes Numerals
+#
+# defning symbols
+collating-symbol <NUM>
+collating-symbol <NKT>
+collating-symbol <dv-abbrevation>
+collating-symbol <dom>
+collating-symbol <dvw-shorta>
+collating-symbol <dvw-a>
+collating-symbol <dvw-aa>
+collating-symbol <dvw-i>
+collating-symbol <dvw-ii>
+collating-symbol <dvw-u>
+collating-symbol <dvw-uu>
+collating-symbol <dvw-vocalicr>
+collating-symbol <dvw-vocalicrr>
+collating-symbol <dvw-vocalicl>
+collating-symbol <dvw-vocalicll>
+collating-symbol <dvw-candrae>
+collating-symbol <dvw-shorte>
+collating-symbol <dvw-e>
+collating-symbol <dvw-ai>
+collating-symbol <dvw-candrao>
+collating-symbol <dvw-shorto>
+collating-symbol <dvw-o>
+collating-symbol <dvw-au>
+collating-symbol <d_ka>
+collating-symbol <d_kha>
+collating-symbol <d_ga>
+collating-symbol <d_gga>
+collating-symbol <d_gha>
+collating-symbol <d_nga>
+collating-symbol <d_ca>
+collating-symbol <d_cha>
+collating-symbol <d_ja>
+collating-symbol <d_jja>
+collating-symbol <d_jha>
+collating-symbol <d_nya>
+collating-symbol <d_tta>
+collating-symbol <d_ttha>
+collating-symbol <d_dda>
+collating-symbol <d_ddda>
+collating-symbol <d_ddha>
+collating-symbol <d_nna>
+collating-symbol <d_ta>
+collating-symbol <d_tha>
+collating-symbol <d_da>
+collating-symbol <d_dha>
+collating-symbol <d_na>
+collating-symbol <d_pa>
+collating-symbol <d_pha>
+collating-symbol <d_ba>
+collating-symbol <d_bba>
+collating-symbol <d_bha>
+collating-symbol <d_ma>
+collating-symbol <d_ya>
+collating-symbol <d_ra>
+collating-symbol <d_la>
+collating-symbol <d_lla>
+collating-symbol <d_va>
+collating-symbol <d_sha>
+collating-symbol <d_ssa>
+collating-symbol <d_sa>
+collating-symbol <d_ha>
+collating-symbol <d_avagrah>
+collating-symbol <d_glo-stop>
+collating-symbol <dm-aa>
+collating-symbol <dm-i>
+collating-symbol <dm-ii>
+collating-symbol <dm-u>
+collating-symbol <dm-uu>
+collating-symbol <dm-vocalicr>
+collating-symbol <dm-vocalicrr>
+collating-symbol <dm-vocalicl>
+collating-symbol <dm-vocalicll>
+collating-symbol <dm-candrae>
+collating-symbol <dm-shorte>
+collating-symbol <dm-e>
+collating-symbol <dm-ai>
+collating-symbol <dm-candrao>
+collating-symbol <dm-shorto>
+collating-symbol <dm-o>
+collating-symbol <dm-au>
+collating-symbol <dvd-anuswara>
+collating-symbol <dvd-chandrabindu>
+collating-symbol <dvd-visarg>
+collating-symbol <d_halant>
+collating-symbol <d_udatta>
+collating-symbol <d_anudatta>
+collating-symbol <dv-grave>
+collating-symbol <dv-acute>
+
# Ordre des symboles internes / Order of internal symbols
#
@@ -872,6 +972,98 @@ collating-symbol <GEORG-FI>
<GEORG-HAE>
<GEORG-HOE>
<GEORG-FI>
+#
+#<DEVANAGARI>
+#
+# collation weights in order
+<NKT>
+<NUM>
+<d_udatta>
+<d_anudatta>
+<dv-grave>
+<dv-acute>
+<dv-abbrevation>
+<dom>
+<dvw-shorta>
+<dvw-a>
+<dvw-aa>
+<dvw-i>
+<dvw-ii>
+<dvw-u>
+<dvw-uu>
+<dvw-vocalicr>
+<dvw-vocalicrr>
+<dvw-vocalicl>
+<dvw-vocalicll>
+<dvw-candrae>
+<dvw-shorte>
+<dvw-e>
+<dvw-ai>
+<dvw-candrao>
+<dvw-shorto>
+<dvw-o>
+<dvw-au>
+<d_ka>
+<d_kha>
+<d_ga>
+<d_gga>
+<d_gha>
+<d_nga>
+<d_ca>
+<d_cha>
+<d_ja>
+<d_jja>
+<d_jha>
+<d_nya>
+<d_tta>
+<d_ttha>
+<d_dda>
+<d_ddda>
+<d_ddha>
+<d_nna>
+<d_ta>
+<d_tha>
+<d_da>
+<d_dha>
+<d_na>
+<d_pa>
+<d_pha>
+<d_ba>
+<d_bba>
+<d_bha>
+<d_ma>
+<d_ya>
+<d_ra>
+<d_la>
+<d_lla>
+<d_va>
+<d_sha>
+<d_ssa>
+<d_sa>
+<d_ha>
+<d_avagrah>
+<d_glo-stop>
+<dm-aa>
+<dm-i>
+<dm-ii>
+<dm-u>
+<dm-uu>
+<dm-vocalicr>
+<dm-vocalicrr>
+<dm-vocalicl>
+<dm-vocalicll>
+<dm-candrae>
+<dm-shorte>
+<dm-e>
+<dm-ai>
+<dm-candrao>
+<dm-shorto>
+<dm-o>
+<dm-au>
+<dvd-anuswara>
+<dvd-chandrabindu>
+<dvd-visarg>
+<d_halant>
order_start <SPECIAL>;forward;backward;forward;forward,position
#
@@ -2639,6 +2831,116 @@ order_start <GEORGIAN>;forward;forward;forward;forward,position
<U2D24> <GEORG-HAR>;<BAS>;<ANO>;IGNORE
<U2D25> <GEORG-HOE>;<BAS>;<ANO>;IGNORE
+order_start <DEVANAGARI>;forward;forward;forward;forward,position
+<U0970> <dv-abbrevation>;<BAS>;<MIN>;IGNORE
+<U0966> <0>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0967> <1>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0968> <2>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0969> <3>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096A> <4>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096B> <5>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096C> <6>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096D> <7>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096E> <8>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U096F> <9>;"<BAS><NUM>";"<MIN><MIN>";IGNORE
+<U0950> <dom> ;<BAS>;<MIN>;IGNORE
+<U0904> <dvw-shorta> ;<BAS>;<MIN>;IGNORE
+<U0905> <dvw-a> ;<BAS>;<MIN>;IGNORE
+<U0906> <dvw-aa> ;<BAS>;<MIN>;IGNORE
+<U0907> <dvw-i> ;<BAS>;<MIN>;IGNORE
+<U0908> <dvw-ii> ;<BAS>;<MIN>;IGNORE
+<U0909> <dvw-u> ;<BAS>;<MIN>;IGNORE
+<U090A> <dvw-uu>;<BAS>;<MIN>;IGNORE
+<U090B> <dvw-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0960> <dvw-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U090C> <dvw-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0961> <dvw-vocalicll>;<BAS>;<MIN>;IGNORE
+<U090D> <dvw-candrae>;<BAS>;<MIN>;IGNORE
+<U090E> <dvw-shorte>;<BAS>;<MIN>;IGNORE
+<U090F> <dvw-e>;<BAS>;<MIN>;IGNORE
+<U0910> <dvw-ai>;<BAS>;<MIN>;IGNORE
+<U0911> <dvw-candrao>;<BAS>;<MIN>;IGNORE
+<U0912> <dvw-shorto>;<BAS>;<MIN>;IGNORE
+<U0913> <dvw-o>;<BAS>;<MIN>;IGNORE
+<U0914> <dvw-au>;<BAS>;<MIN>;IGNORE
+<U0915> <d_ka>;<BAS>;<MIN>;IGNORE
+<U0958> <d_ka>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0916> <d_kha>;<BAS>;<MIN>;IGNORE
+<U0959> <d_kha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0917> <d_ga>;<BAS>;<MIN>;IGNORE
+<U095A> <d_ga>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U097B> <d_gga>;<BAS>;<MIN>;IGNORE
+<U0918> <d_gha>;<BAS>;<MIN>;IGNORE
+<U0919> <d_nga>;<BAS>;<MIN>;IGNORE
+<U091A> <d_ca>;<BAS>;<MIN>;IGNORE
+<U091B> <d_cha>;<BAS>;<MIN>;IGNORE
+<U091C> <d_ja>;<BAS>;<MIN>;IGNORE
+<U095B> <d_ja>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U097C> <d_jja>;<BAS>;<MIN>;IGNORE
+<U091D> <d_jha>;<BAS>;<MIN>;IGNORE
+<U091E> <d_nya>;<BAS>;<MIN>;IGNORE
+<U091F> <d_tta>;<BAS>;<MIN>;IGNORE
+<U0920> <d_ttha>;<BAS>;<MIN>;IGNORE
+<U0921> <d_dda>;<BAS>;<MIN>;IGNORE
+<U095C> <d_dda>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U097E> <d_ddda>;<BAS>;<MIN>;IGNORE
+<U0922> <d_ddha>;<BAS>;<MIN>;IGNORE
+<U095D> <d_ddha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0923> <d_nna>;<BAS>;<MIN>;IGNORE
+<U0924> <d_ta>;<BAS>;<MIN>;IGNORE
+<U0925> <d_tha>;<BAS>;<MIN>;IGNORE
+<U0926> <d_da>;<BAS>;<MIN>;IGNORE
+<U0927> <d_dha>;<BAS>;<MIN>;IGNORE
+<U0928> <d_na>;<BAS>;<MIN>;IGNORE
+<U0929> <d_na>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U092A> <d_pa>;<BAS>;<MIN>;IGNORE
+<U092B> <d_pha>;<BAS>;<MIN>;IGNORE
+<U095E> <d_pha>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U092C> <d_ba>;<BAS>;<MIN>;IGNORE
+<U097F> <d_bba>;<BAS>;<MIN>;IGNORE
+<U092D> <d_bha>;<BAS>;<MIN>;IGNORE
+<U092E> <d_ma>;<BAS>;<MIN>;IGNORE
+<U092F> <d_ya>;<BAS>;<MIN>;IGNORE
+<U095F> <d_ya>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0930> <d_ra>;<BAS>;<MIN>;IGNORE
+<U0931> <d_ra>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0932> <d_la>;<BAS>;<MIN>;IGNORE
+<U0933> <d_lla>;<BAS>;<MIN>;IGNORE
+<U0934> <d_lla>;"<BAS><NKT>";"<MIN><MIN>";IGNORE
+<U0935> <d_va>;<BAS>;<MIN>;IGNORE
+<U0936> <d_sha>;<BAS>;<MIN>;IGNORE
+<U0937> <d_ssa>;<BAS>;<MIN>;IGNORE
+<U0938> <d_sa>;<BAS>;<MIN>;IGNORE
+<U0939> <d_ha>;<BAS>;<MIN>;IGNORE
+<U093D> <d_avagrah>;<BAS>;<MIN>;IGNORE
+<U097D> <d_glo-stop>;<BAS>;<MIN>;IGNORE
+<U093E> <dm-aa>;<BAS>;<MIN>;IGNORE
+<U093F> <dm-i>;<BAS>;<MIN>;IGNORE
+<U0940> <dm-ii>;<BAS>;<MIN>;IGNORE
+<U0941> <dm-u>;<BAS>;<MIN>;IGNORE
+<U0942> <dm-uu>;<BAS>;<MIN>;IGNORE
+<U0943> <dm-vocalicr>;<BAS>;<MIN>;IGNORE
+<U0944> <dm-vocalicrr>;<BAS>;<MIN>;IGNORE
+<U0962> <dm-vocalicl>;<BAS>;<MIN>;IGNORE
+<U0963> <dm-vocalicll>;<BAS>;<MIN>;IGNORE
+<U0945> <dm-candrae>;<BAS>;<MIN>;IGNORE
+<U0946> <dm-shorte>;<BAS>;<MIN>;IGNORE
+<U0947> <dm-e>;<BAS>;<MIN>;IGNORE
+<U0948> <dm-ai>;<BAS>;<MIN>;IGNORE
+<U0949> <dm-candrao>;<BAS>;<MIN>;IGNORE
+<U094A> <dm-shorto>;<BAS>;<MIN>;IGNORE
+<U094B> <dm-o>;<BAS>;<MIN>;IGNORE
+<U094C> <dm-au>;<BAS>;<MIN>;IGNORE
+<U0902> <dvd-anuswara>;<BAS>;<MIN>;IGNORE
+<U0901> <dvd-chandrabindu>;<BAS>;<MIN>;IGNORE
+<U0903> <dvd-visarg>;<BAS>;<MIN>;IGNORE
+<U094D> <d_halant>;<BAS>;<MIN>;IGNORE
+<U093C> IGNORE;<NKT>;<MIN>;IGNORE
+<U0951> IGNORE;<d_udatta>;<MIN>;IGNORE
+<U0952> IGNORE;<d_anudatta>;<MIN>;IGNORE
+<U0953> IGNORE;<dv-grave>;<MIN>;IGNORE
+<U0954> IGNORE;<dv-acute>;<MIN>;IGNORE
+
order_end
END LC_COLLATE
diff --git a/localedata/locales/mr_IN b/localedata/locales/mr_IN
index 46bcad189b..ba3b3d6148 100644
--- a/localedata/locales/mr_IN
+++ b/localedata/locales/mr_IN
@@ -44,6 +44,27 @@ LC_COLLATE
% Copy the template from ISO/IEC 14651
copy "iso14651_t1"
+% customize sorting required for mr_IN
+collating-element <dv_ksha> from "<U0915><U094D><U0937>"
+collating-element <dv_dnya> from "<U091C><U094D><U091E>"
+collating-element <dv_shra> from "<U0936><U094D><U0930>"
+
+collating-symbol <d_ksha>
+collating-symbol <d_dnya>
+collating-symbol <d_shra>
+
+reorder-after <d_ha>
+<d_ksha>
+<d_dnya>
+<d_shra>
+
+reorder-after <U0939>
+<dv_ksha> <d_ksha>;<BAS>;<MIN>;IGNORE
+<dv_dnya> <d_dnya>;<BAS>;<MIN>;IGNORE
+<dv_shra> <d_shra>;<BAS>;<MIN>;IGNORE
+
+reorder-end
+
END LC_COLLATE
LC_MONETARY
diff --git a/math/libm-test.inc b/math/libm-test.inc
index e698923f4e..a33a182857 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -4481,6 +4481,11 @@ nearbyint_test (void)
TEST_f_f (nearbyint, -0.5, minus_zero);
TEST_f_f (nearbyint, -1.5, -2.0);
+ TEST_f_f (nearbyint, 262144.75, 262145.0);
+ TEST_f_f (nearbyint, 262142.75, 262143.0);
+ TEST_f_f (nearbyint, 524286.75, 524287.0);
+ TEST_f_f (nearbyint, 524288.75, 524289.0);
+
END (nearbyint);
}
@@ -4852,6 +4857,10 @@ rint_test (void)
TEST_f_f (rint, -0.1, -0.0);
TEST_f_f (rint, -0.25, -0.0);
TEST_f_f (rint, -0.625, -1.0);
+ TEST_f_f (rint, 262144.75, 262145.0);
+ TEST_f_f (rint, 262142.75, 262143.0);
+ TEST_f_f (rint, 524286.75, 524287.0);
+ TEST_f_f (rint, 524288.75, 524289.0);
#ifdef TEST_LDOUBLE
/* The result can only be represented in long double. */
TEST_f_f (rint, 4503599627370495.5L, 4503599627370496.0L);
diff --git a/nis/nis_call.c b/nis/nis_call.c
index c571e8f367..6ae4ce5dbd 100644
--- a/nis/nis_call.c
+++ b/nis/nis_call.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2001, 2004, 2005, 2006, 2007
+/* Copyright (C) 1997, 1998, 2001, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
@@ -592,8 +592,10 @@ nis_server_cache_search (const_nis_name name, int search_parent,
XDR xdrs;
struct stat64 st;
+ int saved_errno = errno;
if (stat64 ("/var/nis/NIS_COLD_START", &st) < 0)
st.st_mtime = nis_cold_start_mtime + 1;
+ __set_errno (saved_errno);
__libc_lock_lock (nis_server_cache_lock);
@@ -741,7 +743,9 @@ __nisfind_server (const_nis_name name, int search_parent,
return result;
}
+ int saved_errno = errno;
*dir = readColdStartFile ();
+ __set_errno (saved_errno);
if (*dir == NULL)
/* No /var/nis/NIS_COLD_START->no NIS+ installed. */
return NIS_UNAVAIL;
diff --git a/nis/nss_compat/compat-pwd.c b/nis/nss_compat/compat-pwd.c
index df8f91eea0..669522f21a 100644
--- a/nis/nss_compat/compat-pwd.c
+++ b/nis/nss_compat/compat-pwd.c
@@ -116,16 +116,11 @@ init_nss_interface (void)
static void
give_pwd_free (struct passwd *pwd)
{
- if (pwd->pw_name != NULL)
- free (pwd->pw_name);
- if (pwd->pw_passwd != NULL)
- free (pwd->pw_passwd);
- if (pwd->pw_gecos != NULL)
- free (pwd->pw_gecos);
- if (pwd->pw_dir != NULL)
- free (pwd->pw_dir);
- if (pwd->pw_shell != NULL)
- free (pwd->pw_shell);
+ free (pwd->pw_name);
+ free (pwd->pw_passwd);
+ free (pwd->pw_gecos);
+ free (pwd->pw_dir);
+ free (pwd->pw_shell);
memset (pwd, '\0', sizeof (struct passwd));
}
diff --git a/nis/nss_compat/compat-spwd.c b/nis/nss_compat/compat-spwd.c
index a5977681f2..95f7355945 100644
--- a/nis/nss_compat/compat-spwd.c
+++ b/nis/nss_compat/compat-spwd.c
@@ -113,10 +113,8 @@ init_nss_interface (void)
static void
give_spwd_free (struct spwd *pwd)
{
- if (pwd->sp_namp != NULL)
- free (pwd->sp_namp);
- if (pwd->sp_pwdp != NULL)
- free (pwd->sp_pwdp);
+ free (pwd->sp_namp);
+ free (pwd->sp_pwdp);
memset (pwd, '\0', sizeof (struct spwd));
pwd->sp_warn = -1;
diff --git a/nptl/ChangeLog b/nptl/ChangeLog
index fbb58e39c7..4af41097ff 100644
--- a/nptl/ChangeLog
+++ b/nptl/ChangeLog
@@ -1,3 +1,10 @@
+2008-03-18 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/ia64/dl-sysdep.h: Use __ASSEMBLER__ instead
+ of ASSEMBLER.
+ * sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h: Likewise.
+ * sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Likewise.
+
2008-03-14 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
index 50902a52a6..a3b2c77c32 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
@@ -64,7 +64,7 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden;
/* The _dl_discover_osversion function is so far only needed in sysconf
to check for kernels later than 2.6.23. */
-#if !defined ASSEMBLER && __LINUX_KERNEL_VERSION < 0x020617
+#if !defined __ASSEMBLER__ && __LINUX_KERNEL_VERSION < 0x020617
/* Get version of the OS. */
extern int _dl_discover_osversion (void) attribute_hidden;
# define HAVE_DL_DISCOVER_OSVERSION 1
diff --git a/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
index 1298e59a60..978f1f71bc 100644
--- a/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
+++ b/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
@@ -61,7 +61,7 @@ extern void _dl_sysinfo_int80 (void) attribute_hidden;
/* The _dl_discover_osversion function is so far only needed in sysconf
to check for kernels later than 2.6.23. */
-#if !defined ASSEMBLER && __LINUX_KERNEL_VERSION < 0x020617
+#if !defined __ASSEMBLER__ && __LINUX_KERNEL_VERSION < 0x020617
/* Get version of the OS. */
extern int _dl_discover_osversion (void) attribute_hidden;
# define HAVE_DL_DISCOVER_OSVERSION 1
diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h b/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
index 42c37ae259..5c16bd7aea 100644
--- a/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
+++ b/nptl/sysdeps/unix/sysv/linux/ia64/dl-sysdep.h
@@ -68,7 +68,7 @@ extern int _dl_sysinfo_break attribute_hidden;
/* The _dl_discover_osversion function is so far only needed in sysconf
to check for kernels later than 2.6.23. */
-#if !defined ASSEMBLER && __LINUX_KERNEL_VERSION < 0x020617
+#if !defined __ASSEMBLER__ && __LINUX_KERNEL_VERSION < 0x020617
/* Get version of the OS. */
extern int _dl_discover_osversion (void) attribute_hidden;
# define HAVE_DL_DISCOVER_OSVERSION 1
diff --git a/nptl_db/ChangeLog b/nptl_db/ChangeLog
index b4e3110294..af819c301a 100644
--- a/nptl_db/ChangeLog
+++ b/nptl_db/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-25 Roland McGrath <roland@redhat.com>
+
+ [BZ #5983]
+ * structs.def: Add pid field of struct pthread.
+ * td_ta_thr_iter.c (iterate_thread_list): Take new arg MATCH_PID.
+ If a thread's pid does not match nor is < 0 while its tid matches
+ nor is < 0 and equal to -MATCH_PID, ignore it.
+ * td_thr_validate.c (td_thr_validate): Validate thread's pid/tid.
+
2007-05-16 Roland McGrath <roland@redhat.com>
* td_thr_get_info.c: Fake the results for TH->th_unique == 0.
diff --git a/nptl_db/structs.def b/nptl_db/structs.def
index f5559ccb06..75da95a36e 100644
--- a/nptl_db/structs.def
+++ b/nptl_db/structs.def
@@ -1,5 +1,5 @@
/* List of types and symbols in libpthread examined by libthread_db.
- Copyright (C) 2003, 2006, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2003, 2006, 2007, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -27,6 +27,7 @@ DB_STRUCT (pthread)
DB_STRUCT_FIELD (pthread, list)
DB_STRUCT_FIELD (pthread, report_events)
DB_STRUCT_FIELD (pthread, tid)
+DB_STRUCT_FIELD (pthread, pid)
DB_STRUCT_FIELD (pthread, start_routine)
DB_STRUCT_FIELD (pthread, cancelhandling)
DB_STRUCT_FIELD (pthread, schedpolicy)
diff --git a/nptl_db/td_ta_thr_iter.c b/nptl_db/td_ta_thr_iter.c
index c82f39cb78..9a594ed1d8 100644
--- a/nptl_db/td_ta_thr_iter.c
+++ b/nptl_db/td_ta_thr_iter.c
@@ -1,5 +1,5 @@
/* Iterate over a process's threads.
- Copyright (C) 1999,2000,2001,2002,2003,2004,2007
+ Copyright (C) 1999,2000,2001,2002,2003,2004,2007,2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1999.
@@ -25,7 +25,7 @@
static td_err_e
iterate_thread_list (td_thragent_t *ta, td_thr_iter_f *callback,
void *cbdata_p, td_thr_state_e state, int ti_pri,
- psaddr_t head, bool fake_empty)
+ psaddr_t head, bool fake_empty, pid_t match_pid)
{
td_err_e err;
psaddr_t next, ofs;
@@ -78,28 +78,48 @@ iterate_thread_list (td_thragent_t *ta, td_thr_iter_f *callback,
if (ps_pdread (ta->ph, addr, copy, ta->ta_sizeof_pthread) != PS_OK)
return TD_ERR;
- err = DB_GET_FIELD_LOCAL (schedpolicy, ta, copy, pthread,
- schedpolicy, 0);
- if (err != TD_OK)
- break;
- err = DB_GET_FIELD_LOCAL (schedprio, ta, copy, pthread,
- schedparam_sched_priority, 0);
+ /* Verify that this thread's pid field matches the child PID.
+ If its pid field is negative, it's about to do a fork or it
+ is the sole thread in a fork child. */
+ psaddr_t pid;
+ err = DB_GET_FIELD_LOCAL (pid, ta, copy, pthread, pid, 0);
+ if (err == TD_OK && (pid_t) (uintptr_t) pid < 0)
+ {
+ if (-(pid_t) (uintptr_t) pid == match_pid)
+ /* It is about to do a fork, but is really still the parent PID. */
+ pid = (psaddr_t) (uintptr_t) match_pid;
+ else
+ /* It must be a fork child, whose new PID is in the tid field. */
+ err = DB_GET_FIELD_LOCAL (pid, ta, copy, pthread, tid, 0);
+ }
if (err != TD_OK)
break;
- /* Now test whether this thread matches the specified conditions. */
-
- /* Only if the priority level is as high or higher. */
- int descr_pri = ((uintptr_t) schedpolicy == SCHED_OTHER
- ? 0 : (uintptr_t) schedprio);
- if (descr_pri >= ti_pri)
+ if ((pid_t) (uintptr_t) pid == match_pid)
{
- /* Yep, it matches. Call the callback function. */
- td_thrhandle_t th;
- th.th_ta_p = (td_thragent_t *) ta;
- th.th_unique = addr;
- if (callback (&th, cbdata_p) != 0)
- return TD_DBERR;
+ err = DB_GET_FIELD_LOCAL (schedpolicy, ta, copy, pthread,
+ schedpolicy, 0);
+ if (err != TD_OK)
+ break;
+ err = DB_GET_FIELD_LOCAL (schedprio, ta, copy, pthread,
+ schedparam_sched_priority, 0);
+ if (err != TD_OK)
+ break;
+
+ /* Now test whether this thread matches the specified conditions. */
+
+ /* Only if the priority level is as high or higher. */
+ int descr_pri = ((uintptr_t) schedpolicy == SCHED_OTHER
+ ? 0 : (uintptr_t) schedprio);
+ if (descr_pri >= ti_pri)
+ {
+ /* Yep, it matches. Call the callback function. */
+ td_thrhandle_t th;
+ th.th_ta_p = (td_thragent_t *) ta;
+ th.th_unique = addr;
+ if (callback (&th, cbdata_p) != 0)
+ return TD_DBERR;
+ }
}
/* Get the pointer to the next element. */
@@ -135,17 +155,18 @@ td_ta_thr_iter (const td_thragent_t *ta_arg, td_thr_iter_f *callback,
have to iterate over both lists separately. We start with the
list of threads with user-defined stacks. */
+ pid_t pid = ps_getpid (ta->ph);
err = DB_GET_SYMBOL (list, ta, __stack_user);
if (err == TD_OK)
err = iterate_thread_list (ta, callback, cbdata_p, state, ti_pri,
- list, true);
+ list, true, pid);
/* And the threads with stacks allocated by the implementation. */
if (err == TD_OK)
err = DB_GET_SYMBOL (list, ta, stack_used);
if (err == TD_OK)
err = iterate_thread_list (ta, callback, cbdata_p, state, ti_pri,
- list, false);
+ list, false, pid);
return err;
}
diff --git a/nptl_db/td_thr_validate.c b/nptl_db/td_thr_validate.c
index 9a77250d48..adcde3c87e 100644
--- a/nptl_db/td_thr_validate.c
+++ b/nptl_db/td_thr_validate.c
@@ -1,5 +1,6 @@
/* Validate a thread handle.
- Copyright (C) 1999,2001,2002,2003,2004,2007 Free Software Foundation, Inc.
+ Copyright (C) 1999,2001,2002,2003,2004,2007,2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1999.
@@ -81,5 +82,28 @@ td_thr_validate (const td_thrhandle_t *th)
err = TD_OK;
}
+ if (err == TD_OK)
+ {
+ /* Verify that this is not a stale element in a fork child. */
+ pid_t match_pid = ps_getpid (th->th_ta_p->ph);
+ psaddr_t pid;
+ err = DB_GET_FIELD (pid, th->th_ta_p, th->th_unique, pthread, pid, 0);
+ if (err == TD_OK && (pid_t) (uintptr_t) pid < 0)
+ {
+ /* This was a thread that was about to fork, or it is the new sole
+ thread in a fork child. In the latter case, its tid was stored
+ via CLONE_CHILD_SETTID and so is already the proper child PID. */
+ if (-(pid_t) (uintptr_t) pid == match_pid)
+ /* It is about to do a fork, but is really still the parent PID. */
+ pid = (psaddr_t) (uintptr_t) match_pid;
+ else
+ /* It must be a fork child, whose new PID is in the tid field. */
+ err = DB_GET_FIELD (pid, th->th_ta_p, th->th_unique,
+ pthread, tid, 0);
+ }
+ if (err == TD_OK && (pid_t) (uintptr_t) pid != match_pid)
+ err = TD_NOTHR;
+ }
+
return err;
}
diff --git a/nss/nss_files/files-XXX.c b/nss/nss_files/files-XXX.c
index 2149d1c401..426007e1ad 100644
--- a/nss/nss_files/files-XXX.c
+++ b/nss/nss_files/files-XXX.c
@@ -1,5 +1,6 @@
/* Common code for file-based databases in nss_files module.
- Copyright (C) 1996-1999,2001,2002,2004,2007 Free Software Foundation, Inc.
+ Copyright (C) 1996-1999,2001,2002,2004,2007,2008
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -254,8 +255,12 @@ CONCAT(_nss_files_get,ENTNAME_r) (struct STRUCTURE *result, char *buffer,
/* Be prepared that the set*ent function was not called before. */
if (stream == NULL)
{
+ int save_errno = errno;
+
status = internal_setent (0);
+ __set_errno (errno);
+
if (status == NSS_STATUS_SUCCESS && fgetpos (stream, &position) < 0)
{
fclose (stream);
diff --git a/po/vi.po b/po/vi.po
new file mode 100644
index 0000000000..3b789463ad
--- /dev/null
+++ b/po/vi.po
@@ -0,0 +1,6524 @@
+# Vietnamese translation for LibC.
+# Copyright © 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the glibc-2.7 package.
+# Clytie Siddall <clytie@riverland.net.au>, 2008
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: libc 2.7\n"
+"Report-Msgid-Bugs-To: http://www.gnu.org/software/libc/bugs.html\n"
+"POT-Creation-Date: 2007-10-15 21:18-0700\n"
+"PO-Revision-Date: 2008-03-23 15:49+1030\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <vi-VN@googlegroups.com>\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-Generator: LocFactoryEditor 1.7b3\n"
+
+#: argp/argp-help.c:228
+#, c-format
+msgid "%.*s: ARGP_HELP_FMT parameter requires a value"
+msgstr "%.*s: tham số « ARGP_HELP_FMT » cần thiết giá trị"
+
+#: argp/argp-help.c:238
+#, c-format
+msgid "%.*s: Unknown ARGP_HELP_FMT parameter"
+msgstr "%.*s: Không rõ tham số « ARGP_HELP_FMT »"
+
+#: argp/argp-help.c:251
+#, c-format
+msgid "Garbage in ARGP_HELP_FMT: %s"
+msgstr "Gặp rác trong « ARGP_HELP_FMT » : %s"
+
+#: argp/argp-help.c:1215
+msgid "Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options."
+msgstr "Tất cả đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy chọn ngắn tương ứng."
+
+#: argp/argp-help.c:1601
+msgid "Usage:"
+msgstr "Sử dụng:"
+
+#: argp/argp-help.c:1605
+msgid " or: "
+msgstr " hoặc: "
+
+#: argp/argp-help.c:1617
+msgid " [OPTION...]"
+msgstr " [TÙY_CHỌN...]"
+
+#: argp/argp-help.c:1644
+#, c-format
+msgid "Try `%s --help' or `%s --usage' for more information.\n"
+msgstr "Hãy thử lệnh « %s --help » (trợ giúp) hay « %s --usage » (cách sử dụng) để xem thông tin thêm.\n"
+
+#: argp/argp-help.c:1672
+#, c-format
+msgid "Report bugs to %s.\n"
+msgstr "Hãy thông báo lỗi cho %s\n"
+
+#: argp/argp-parse.c:102
+msgid "Give this help list"
+msgstr "Hiển thị trợ giúp này"
+
+#: argp/argp-parse.c:103
+msgid "Give a short usage message"
+msgstr "Hiển thị thông điệp cách sử dụng ngắn"
+
+#: argp/argp-parse.c:104
+msgid "Set the program name"
+msgstr "Lập tên chương trình"
+
+#: argp/argp-parse.c:106
+msgid "Hang for SECS seconds (default 3600)"
+msgstr "Treo trong vòng GIÂY giây (mặc định là 3600)"
+
+#: argp/argp-parse.c:167
+msgid "Print program version"
+msgstr "In ra phiên bản chương trình"
+
+#: argp/argp-parse.c:183
+msgid "(PROGRAM ERROR) No version known!?"
+msgstr "LỖI CHƯƠNG TRÌNH) Không có phiên bản đã biết ?"
+
+#: argp/argp-parse.c:623
+#, c-format
+msgid "%s: Too many arguments\n"
+msgstr "%s: Quá nhiều đối số\n"
+
+#: argp/argp-parse.c:766
+msgid "(PROGRAM ERROR) Option should have been recognized!?"
+msgstr "(LỖI CHƯƠNG TRÌNH) Nên nhận biệt tùy chọn mà chưa?"
+
+#: assert/assert-perr.c:57
+#, c-format
+msgid "%s%s%s:%u: %s%sUnexpected error: %s.\n"
+msgstr "%s%s%s:%u: %s%sGặp lỗi bất thường: %s.\n"
+
+#: assert/assert.c:57
+#, c-format
+msgid "%s%s%s:%u: %s%sAssertion `%s' failed.\n"
+msgstr "%s%s%s:%u: %s%sKhẳng định « %s » bị lỗi.\n"
+
+#: catgets/gencat.c:110 catgets/gencat.c:114 nscd/nscd.c:97 nss/makedb.c:61
+msgid "NAME"
+msgstr "TÊN"
+
+#: catgets/gencat.c:111
+msgid "Create C header file NAME containing symbol definitions"
+msgstr "Tạo tập tin phần đầu C TÊN chứa các lời xác định ký hiệu"
+
+#: catgets/gencat.c:113
+msgid "Do not use existing catalog, force new output file"
+msgstr "Đừng dùng phân loại đã tồn tại, ép buộc tập tin xuất mới"
+
+#: catgets/gencat.c:114 nss/makedb.c:61
+msgid "Write output to file NAME"
+msgstr "Ghi kết xuất vào tập tin TÊN"
+
+#: catgets/gencat.c:119
+msgid ""
+"Generate message catalog.\vIf INPUT-FILE is -, input is read from standard input. If OUTPUT-FILE\n"
+"is -, output is written to standard output.\n"
+msgstr ""
+"Tạo phân loại thông điệp.\n"
+"Nếu TẬP_TIN_NHẬP là « - » thì dữ liệu nhập được đọc từ đầu vào tiêu chuẩn.\n"
+"Nếu TẬP_TIN_XUẤT là « - » thì kết xuất được ghi vào đầu ra tiêu chuẩn.\n"
+
+#: catgets/gencat.c:124
+msgid ""
+"-o OUTPUT-FILE [INPUT-FILE]...\n"
+"[OUTPUT-FILE [INPUT-FILE]...]"
+msgstr ""
+"-o TẬP_TIN_XUẤT [TẬP_TIN_NHẬP]...\n"
+"[TẬP_TIN_XUẤT [TẬP_TIN_NHẬP]...]"
+
+#: catgets/gencat.c:232 debug/pcprofiledump.c:204 iconv/iconv_prog.c:411
+#: iconv/iconvconfig.c:380 locale/programs/localedef.c:371
+#: login/programs/pt_chown.c:88 malloc/memusagestat.c:526 nss/makedb.c:231
+msgid ""
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Để tìm hướng dẫn về thông báo lỗi, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: catgets/gencat.c:246 debug/xtrace.sh:64 elf/ldconfig.c:296
+#: elf/ldd.bash.in:39 elf/sprof.c:355 iconv/iconv_prog.c:426
+#: iconv/iconvconfig.c:395 locale/programs/locale.c:275
+#: locale/programs/localedef.c:387 login/programs/pt_chown.c:59
+#: malloc/memusage.sh:71 nscd/nscd.c:406 nss/getent.c:83 nss/makedb.c:245
+#: posix/getconf.c:1012
+#, c-format
+msgid ""
+"Copyright (C) %s Free Software Foundation, Inc.\n"
+"This is free software; see the source for copying conditions. There is NO\n"
+"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
+msgstr ""
+"Tác quyền © %s của Tổ chức Phần mềm Tự do.\n"
+"Chương trình này là phần mềm tự do; xem mã nguồn để tìm điều kiện sao chép.\n"
+"KHÔNG CÓ BẢO HÀNH GÌ CẢ, THẬM CHÍ KHÔNG CÓ BẢO ĐẢM ĐƯỢC NGỤ Ý\n"
+"KHẢ NĂNG BÁN HAY KHẢ NĂNG LÀM ĐƯỢC VIỆC DỨT KHOÁT.\n"
+
+#: catgets/gencat.c:251 debug/xtrace.sh:68 elf/ldconfig.c:301 elf/sprof.c:361
+#: iconv/iconv_prog.c:431 iconv/iconvconfig.c:400 locale/programs/locale.c:280
+#: locale/programs/localedef.c:392 malloc/memusage.sh:75 nscd/nscd.c:411
+#: nss/getent.c:88 nss/makedb.c:250 posix/getconf.c:1017
+#, c-format
+msgid "Written by %s.\n"
+msgstr "Tác giả: %s.\n"
+
+#: catgets/gencat.c:282
+msgid "*standard input*"
+msgstr "*đầu vào tiêu chuẩn*"
+
+#: catgets/gencat.c:288 iconv/iconv_charmap.c:158 iconv/iconv_prog.c:298
+#: nss/makedb.c:170
+#, c-format
+msgid "cannot open input file `%s'"
+msgstr "không thể mở tập tin nhập vào « %s »"
+
+#: catgets/gencat.c:417 catgets/gencat.c:494
+msgid "illegal set number"
+msgstr "số thứ tự tập hợp cấm"
+
+#: catgets/gencat.c:444
+msgid "duplicate set definition"
+msgstr "lời xác định tập hợp trùng"
+
+#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677
+msgid "this is the first definition"
+msgstr "đây là lời xác định thứ nhất"
+
+#: catgets/gencat.c:522
+#, c-format
+msgid "unknown set `%s'"
+msgstr "không rõ tập hợp « %s »"
+
+#: catgets/gencat.c:563
+msgid "invalid quote character"
+msgstr "ký tự trích dẫn không hợp lệ"
+
+#: catgets/gencat.c:576
+#, c-format
+msgid "unknown directive `%s': line ignored"
+msgstr "không rõ chỉ thị « %s »: dòng bị bỏ qua"
+
+#: catgets/gencat.c:621
+msgid "duplicated message number"
+msgstr "số thứ tự thông điệp trùng"
+
+#: catgets/gencat.c:674
+msgid "duplicated message identifier"
+msgstr "đồ nhận diện thông điệp trùng"
+
+#: catgets/gencat.c:731
+msgid "invalid character: message ignored"
+msgstr "ký tự không hợp lệ: thông điệp bị bỏ qua"
+
+#: catgets/gencat.c:774
+msgid "invalid line"
+msgstr "dòng không hợp lệ"
+
+#: catgets/gencat.c:828
+msgid "malformed line ignored"
+msgstr "dòng dạng sai bị bỏ qua"
+
+#: catgets/gencat.c:992 catgets/gencat.c:1033 nss/makedb.c:183
+#, c-format
+msgid "cannot open output file `%s'"
+msgstr "không thể mở tập tin kết xuất « %s »"
+
+#: catgets/gencat.c:1195 locale/programs/linereader.c:560
+msgid "invalid escape sequence"
+msgstr "dây thoát không hợp lệ"
+
+#: catgets/gencat.c:1217
+msgid "unterminated message"
+msgstr "thông điệp chưa chấm dứt "
+
+#: catgets/gencat.c:1241
+#, c-format
+msgid "while opening old catalog file"
+msgstr "trong khi mở tập tin phân loại cũ"
+
+#: catgets/gencat.c:1332
+#, c-format
+msgid "conversion modules not available"
+msgstr "mô-đun chuyển đổi không sẵn sàng"
+
+#: catgets/gencat.c:1358
+#, c-format
+msgid "cannot determine escape character"
+msgstr "không thể quyết định ký tự thoát"
+
+#: debug/pcprofiledump.c:53
+msgid "Don't buffer output"
+msgstr "Đừng chuyển hoán đệm kết xuất"
+
+#: debug/pcprofiledump.c:58
+msgid "Dump information generated by PC profiling."
+msgstr "Đổ thông tin được tạo khi đo hiệu năng sử dụng PC "
+
+#: debug/pcprofiledump.c:61
+msgid "[FILE]"
+msgstr "TẬP TIN]"
+
+#: debug/pcprofiledump.c:104
+#, c-format
+msgid "cannot open input file"
+msgstr "không thể mở tập tin nhập vào"
+
+#: debug/pcprofiledump.c:111
+#, c-format
+msgid "cannot read header"
+msgstr "không thể đọc phần đầu"
+
+#: debug/pcprofiledump.c:175
+#, c-format
+msgid "invalid pointer size"
+msgstr "kích cỡ con trỏ không hợp lệ"
+
+#: debug/xtrace.sh:27 debug/xtrace.sh:45
+msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
+msgstr "Sử dụng: xtrace [TÙY CHỌN]... CHƯƠNG TRÌNH [TÙY_CHỌN_CHƯƠNG_TRÌNH]...\\n"
+
+#: debug/xtrace.sh:33
+msgid "Try \\`xtrace --help' for more information.\\n"
+msgstr "Hãy thử lệnh trợ giúp « xtrace --help » để xem thông tin thêm.\\n"
+
+#: debug/xtrace.sh:39
+msgid "xtrace: option \\`$1' requires an argument.\\n"
+msgstr "xtrace: tùy chọn « $1 » cần thiết đối số.\\n"
+
+#: debug/xtrace.sh:46
+msgid ""
+"Trace execution of program by printing currently executed function.\n"
+"\n"
+" --data=FILE Don't run the program, just print the data from FILE.\n"
+"\n"
+" -?,--help Print this help and exit\n"
+" --usage Give a short usage message\n"
+" -V,--version Print version information and exit\n"
+"\n"
+"Mandatory arguments to long options are also mandatory for any corresponding\n"
+"short options.\n"
+"\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\\n"
+msgstr ""
+"Dò tìm đường khi thực hiện chương trình bằng cách in hàm đang được chạy.\n"
+"\n"
+" --data=TẬP_TIN Đừng chạy chương trình, chỉ in dữ liệu từ tập tin này.\n"
+"\n"
+" -?,--help In trợ giúp này rồi thoát\n"
+" --usage Hiển thị hướng dẫn ngắn\n"
+" -V,--version In thông tin phiên bản rồi thoát\n"
+"\n"
+"Mọi đối số bắt buộc phải sử dụng với tùy chọn dài\n"
+"cũng bắt buộc với bất kỳ tùy chọn ngắn tương ứng.\n"
+"\n"
+"Để tìm hướng dẫn về thông báo lỗi, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\\n"
+
+#: debug/xtrace.sh:125
+msgid "xtrace: unrecognized option \\`$1'\\n"
+msgstr "xtrace: không nhận ra tùy chọn « $1 »\\n"
+
+#: debug/xtrace.sh:138
+msgid "No program name given\\n"
+msgstr "Chưa nhập tên chương trình\\n"
+
+#: debug/xtrace.sh:146
+#, sh-format
+msgid "executable \\`$program' not found\\n"
+msgstr "không tìm thấy tập tin thực hiện được « $program »\\n"
+
+#: debug/xtrace.sh:150
+#, sh-format
+msgid "\\`$program' is no executable\\n"
+msgstr "« $program » không có khả năng thực hiện\\n"
+
+#: dlfcn/dlinfo.c:64
+msgid "RTLD_SELF used in code not dynamically loaded"
+msgstr "Chưa nạp động RTLD_SELF được dùng trong mã"
+
+#: dlfcn/dlinfo.c:73
+msgid "unsupported dlinfo request"
+msgstr "yêu cầu dlinfo không được hỗ trợ"
+
+#: dlfcn/dlmopen.c:64
+msgid "invalid namespace"
+msgstr "miền tên không hợp lệ"
+
+#: dlfcn/dlmopen.c:69
+msgid "invalid mode"
+msgstr "chế độ không hợp lệ"
+
+#: dlfcn/dlopen.c:64
+msgid "invalid mode parameter"
+msgstr "tham số chế độ không hợp lệ"
+
+#: elf/cache.c:69
+msgid "unknown"
+msgstr "không rõ"
+
+#: elf/cache.c:112
+msgid "Unknown OS"
+msgstr "Hệ điều hành không rõ"
+
+#: elf/cache.c:117
+#, c-format
+msgid ", OS ABI: %s %d.%d.%d"
+msgstr ", OS ABI: %s %d.%d.%d"
+
+#: elf/cache.c:134 elf/ldconfig.c:1270
+#, c-format
+msgid "Can't open cache file %s\n"
+msgstr "Không thể mở tập tin nhớ tạm %s\n"
+
+#: elf/cache.c:148
+#, c-format
+msgid "mmap of cache file failed.\n"
+msgstr "lỗi mmap tập tin nhớ tạm.\n"
+
+#: elf/cache.c:152 elf/cache.c:166
+#, c-format
+msgid "File is not a cache file.\n"
+msgstr "Tập tin không phải là một tập tin nhớ tạm.\n"
+
+#: elf/cache.c:199 elf/cache.c:209
+#, c-format
+msgid "%d libs found in cache `%s'\n"
+msgstr "Tìm thấy %d thư viện trong bộ nhớ tạm « %s »\n"
+
+#: elf/cache.c:403
+#, c-format
+msgid "Can't create temporary cache file %s"
+msgstr "Không thể tạo tập tin nhớ tạm kiểu tạm thời %s"
+
+#: elf/cache.c:411 elf/cache.c:421 elf/cache.c:425 elf/cache.c:430
+#, c-format
+msgid "Writing of cache data failed"
+msgstr "Lỗi ghi dữ liệu nhớ tạm"
+
+#: elf/cache.c:435
+#, c-format
+msgid "Changing access rights of %s to %#o failed"
+msgstr "Lỗi thay đổi quyền truy cập của %s vào %#o"
+
+#: elf/cache.c:440
+#, c-format
+msgid "Renaming of %s to %s failed"
+msgstr "Lỗi thay đổi tên %s thành %s"
+
+#: elf/dl-close.c:378 elf/dl-open.c:460
+msgid "cannot create scope list"
+msgstr "không thể tạo danh sách phạm vi"
+
+#: elf/dl-close.c:724
+msgid "shared object not open"
+msgstr "chưa mở đối tượng dùng chung"
+
+#: elf/dl-deps.c:114
+msgid "DST not allowed in SUID/SGID programs"
+msgstr "Không cho phép DST trong chương trình kiểu SUID/SGID"
+
+#: elf/dl-deps.c:127 elf/dl-open.c:282
+msgid "empty dynamic string token substitution"
+msgstr "sự thay thế hiệu bài chuỗi động trống"
+
+#: elf/dl-deps.c:133
+#, c-format
+msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
+msgstr "không thể nạp bổ trợ « %s » do sự thay thế hiệu bài chuỗi động trống\n"
+
+#: elf/dl-deps.c:474
+msgid "cannot allocate dependency list"
+msgstr "không thể cấp phát danh sách quan hệ phụ thuộc"
+
+#: elf/dl-deps.c:510 elf/dl-deps.c:565
+msgid "cannot allocate symbol search list"
+msgstr "không thể cấp phát danh sách tìm kiếm ký hiệu"
+
+#: elf/dl-deps.c:550
+msgid "Filters not supported with LD_TRACE_PRELINKING"
+msgstr "Không hỗ trợ bộ lọc với LD_TRACE_PRELINKING"
+
+#: elf/dl-error.c:77
+msgid "DYNAMIC LINKER BUG!!!"
+msgstr "LỖI LIÊN KẾT ĐỘNG !!!"
+
+#: elf/dl-error.c:124
+msgid "error while loading shared libraries"
+msgstr "gặp lỗi khi nạp thư viện dùng chung"
+
+#: elf/dl-fptr.c:88
+msgid "cannot map pages for fdesc table"
+msgstr "không thể ánh xạ trang cho bảng fdesc"
+
+#: elf/dl-fptr.c:192
+msgid "cannot map pages for fptr table"
+msgstr "không thể ánh xạ trang cho bảng fptr"
+
+#: elf/dl-fptr.c:221
+msgid "internal error: symidx out of range of fptr table"
+msgstr "lỗi nội bộ : symidx ở ngoại phạm vi của bảng fptr"
+
+#: elf/dl-load.c:372
+msgid "cannot allocate name record"
+msgstr "không thể cấp phát mục ghi tên"
+
+#: elf/dl-load.c:474 elf/dl-load.c:582 elf/dl-load.c:667 elf/dl-load.c:780
+msgid "cannot create cache for search path"
+msgstr "không thể tạo bộ nhớ tạm cho đường dẫn tìm kiếm"
+
+#: elf/dl-load.c:565
+msgid "cannot create RUNPATH/RPATH copy"
+msgstr "không thể tạo bản sao RUNPATH/RPATH"
+
+#: elf/dl-load.c:653
+msgid "cannot create search path array"
+msgstr "không thể tạo mảng đường dẫn tìm kiếm"
+
+#: elf/dl-load.c:864
+msgid "cannot stat shared object"
+msgstr "không thể lấy trạng thái về đối tượng dùng chung"
+
+#: elf/dl-load.c:934
+msgid "cannot open zero fill device"
+msgstr "không thể mở thiết bị điền số không"
+
+#: elf/dl-load.c:979 elf/dl-load.c:2224
+msgid "cannot create shared object descriptor"
+msgstr "không thể tạo bộ mô tả đối tượng dùng chung"
+
+#: elf/dl-load.c:998 elf/dl-load.c:1656 elf/dl-load.c:1748
+msgid "cannot read file data"
+msgstr "không thể đọc dữ liệu tập tin"
+
+#: elf/dl-load.c:1042
+msgid "ELF load command alignment not page-aligned"
+msgstr "Sắp hàng câu lệnh nạp ELF không phải sắp hàng theo trang"
+
+#: elf/dl-load.c:1049
+msgid "ELF load command address/offset not properly aligned"
+msgstr "Địa chỉ/bù của câu lệnh nạp ELF không phải được sắp hàng đúng"
+
+#: elf/dl-load.c:1132
+msgid "cannot allocate TLS data structures for initial thread"
+msgstr "không thể cấp phát cấu trúc dữ liệu TLS đối với mạch đầu tiên"
+
+#: elf/dl-load.c:1155
+msgid "cannot handle TLS data"
+msgstr "không thể xử lý dữ liệu TLS"
+
+#: elf/dl-load.c:1174
+msgid "object file has no loadable segments"
+msgstr "tập tin đối tượng không có đoạn nạp được"
+
+#: elf/dl-load.c:1210
+msgid "failed to map segment from shared object"
+msgstr "lỗi ánh xạ đoạn từ đối tượng dùng chung"
+
+#: elf/dl-load.c:1236
+msgid "cannot dynamically load executable"
+msgstr "không thể nạp động tập tin thực hiện được"
+
+#: elf/dl-load.c:1298
+msgid "cannot change memory protections"
+msgstr "không thể thay đổi sự bảo vệ bộ nhớ"
+
+#: elf/dl-load.c:1317
+msgid "cannot map zero-fill pages"
+msgstr "không thể ánh xạ trang điền số không"
+
+#: elf/dl-load.c:1331
+msgid "object file has no dynamic section"
+msgstr "tập tin đối tượng không có phần động"
+
+#: elf/dl-load.c:1354
+msgid "shared object cannot be dlopen()ed"
+msgstr "đối tượng dùng chung không thể được dlopen()"
+
+#: elf/dl-load.c:1367
+msgid "cannot allocate memory for program header"
+msgstr "không thể cấp phát bộ nhớ cho phần đầu chương trình"
+
+#: elf/dl-load.c:1384 elf/dl-open.c:218
+msgid "invalid caller"
+msgstr "bộ gọi không hợp lệ"
+
+#: elf/dl-load.c:1423
+msgid "cannot enable executable stack as shared object requires"
+msgstr "không thể hiệu lực đống thực hiện được theo yêu cầu của đối tượng dùng chung"
+
+#: elf/dl-load.c:1436
+msgid "cannot close file descriptor"
+msgstr "không thể đóng bộ mô tả tập tin"
+
+#: elf/dl-load.c:1478
+msgid "cannot create searchlist"
+msgstr "không thể tạo danh sách tìm kiếm"
+
+#: elf/dl-load.c:1656
+msgid "file too short"
+msgstr "tập tin quá ngắn"
+
+#: elf/dl-load.c:1685
+msgid "invalid ELF header"
+msgstr "phần đầu ELF không hợp lệ"
+
+#: elf/dl-load.c:1697
+msgid "ELF file data encoding not big-endian"
+msgstr "Bảng mã dữ liệu tập tin ELF không có kiểu về cuối lớn"
+
+#: elf/dl-load.c:1699
+msgid "ELF file data encoding not little-endian"
+msgstr "Bảng mã dữ liệu tập tin ELF không có kiểu về cuối nhỏ"
+
+#: elf/dl-load.c:1703
+msgid "ELF file version ident does not match current one"
+msgstr "ident của phiên bản tập tin ELF không tương ứng với điều hiện thời"
+
+#: elf/dl-load.c:1707
+msgid "ELF file OS ABI invalid"
+msgstr "Hệ điều hành ABI của tập tin ELF không phải hợp lệ"
+
+#: elf/dl-load.c:1709
+msgid "ELF file ABI version invalid"
+msgstr "Phiên bản ABI của tập tin ELF không phải hợp lệ"
+
+#: elf/dl-load.c:1712
+msgid "internal error"
+msgstr "lỗi nội bộ"
+
+#: elf/dl-load.c:1719
+msgid "ELF file version does not match current one"
+msgstr "Phiên bản tập tin ELF không tương ứng với điều hiện thời"
+
+#: elf/dl-load.c:1727
+msgid "only ET_DYN and ET_EXEC can be loaded"
+msgstr "chỉ có thể nạp ET_DYN và ET_EXEC"
+
+#: elf/dl-load.c:1733
+msgid "ELF file's phentsize not the expected size"
+msgstr "kích cỡ phentsize của tập tin ELF là bất thường"
+
+#: elf/dl-load.c:2240
+msgid "wrong ELF class: ELFCLASS64"
+msgstr "hạng ELF không đúng: ELFCLASS64"
+
+#: elf/dl-load.c:2241
+msgid "wrong ELF class: ELFCLASS32"
+msgstr "hạng ELF không đúng: ELFCLASS32"
+
+#: elf/dl-load.c:2244
+msgid "cannot open shared object file"
+msgstr "không thể mở tập tin đối tượng dùng chung"
+
+#: elf/dl-lookup.c:356
+msgid "relocation error"
+msgstr "lỗi cấp định vị lại"
+
+#: elf/dl-lookup.c:384
+msgid "symbol lookup error"
+msgstr "lỗi tra cứu ký hiệu"
+
+#: elf/dl-open.c:114
+msgid "cannot extend global scope"
+msgstr "không thể kéo dài phạm vi toàn cục"
+
+#: elf/dl-open.c:512
+msgid "TLS generation counter wrapped! Please report this."
+msgstr "Bộ đếm tạo TLS đã bao bọc ! Hãy thông báo."
+
+#: elf/dl-open.c:549
+msgid "invalid mode for dlopen()"
+msgstr "chế độ không hợp lệ đối với dlopen()"
+
+#: elf/dl-open.c:566
+msgid "no more namespaces available for dlmopen()"
+msgstr "không có sẵn miền tên thêm nữa đối với dlmopen()"
+
+#: elf/dl-open.c:579
+msgid "invalid target namespace in dlmopen()"
+msgstr "miền tên đích không hợp lệ trong dlmopen()"
+
+#: elf/dl-reloc.c:54
+msgid "cannot allocate memory in static TLS block"
+msgstr "không thể cấp phát bộ nhớ trong khối TLS tĩnh."
+
+#: elf/dl-reloc.c:196
+msgid "cannot make segment writable for relocation"
+msgstr "không thể làm cho đoạn có khả năng ghi để định vị lại"
+
+#: elf/dl-reloc.c:277
+#, c-format
+msgid "%s: no PLTREL found in object %s\n"
+msgstr "%s: không tìm thấy PLTREL trong đối tượng %s\n"
+
+#: elf/dl-reloc.c:288
+#, c-format
+msgid "%s: out of memory to store relocation results for %s\n"
+msgstr "%s: không đủ bộ nhớ để cất giữ kết quả định vị lại đối với %s\n"
+
+#: elf/dl-reloc.c:304
+msgid "cannot restore segment prot after reloc"
+msgstr "không thể phục hồi giao thức (prot) đoạn sau khi định vị lại"
+
+#: elf/dl-reloc.c:329
+msgid "cannot apply additional memory protection after relocation"
+msgstr "không thể áp dụng sự bảo vệ bộ nhớ thêm sau khi định vị lại"
+
+#: elf/dl-sym.c:162
+msgid "RTLD_NEXT used in code not dynamically loaded"
+msgstr "RTLD_NEXT được dùng trong mã không phải được nạp động"
+
+#: elf/dl-sysdep.c:469 elf/dl-sysdep.c:481
+msgid "cannot create capability list"
+msgstr "không thể tạo danh sách khả năng"
+
+#: elf/dl-tls.c:825
+msgid "cannot create TLS data structures"
+msgstr "không thể tạo các cấu trúc dữ liệu TLS"
+
+#: elf/dl-version.c:303
+msgid "cannot allocate version reference table"
+msgstr "không thể cấp phát bảng tham chiếu phiên bản"
+
+#: elf/ldconfig.c:138
+msgid "Print cache"
+msgstr "In bộ nhớ"
+
+#: elf/ldconfig.c:139
+msgid "Generate verbose messages"
+msgstr "Tạo thông điệp chi tiết"
+
+#: elf/ldconfig.c:140
+msgid "Don't build cache"
+msgstr "Đừng xây dựng bộ nhớ tạm"
+
+#: elf/ldconfig.c:141
+msgid "Don't generate links"
+msgstr "Đừng tạo liên kết"
+
+#: elf/ldconfig.c:142
+msgid "Change to and use ROOT as root directory"
+msgstr "Chuyển đổi và dùng GỐC làm thư mục gốc"
+
+#: elf/ldconfig.c:142
+msgid "ROOT"
+msgstr "GỐC"
+
+#: elf/ldconfig.c:143
+msgid "CACHE"
+msgstr "NHỚ_TẠM"
+
+#: elf/ldconfig.c:143
+msgid "Use CACHE as cache file"
+msgstr "Dùng NHỚ_TẠM làm tập tin nhớ tạm"
+
+#: elf/ldconfig.c:144
+msgid "CONF"
+msgstr "CẤU_HÌNH"
+
+#: elf/ldconfig.c:144
+msgid "Use CONF as configuration file"
+msgstr "Dùng CẤU_HÌNH làm tập tin cấu hình"
+
+#: elf/ldconfig.c:145
+msgid "Only process directories specified on the command line. Don't build cache."
+msgstr "Chỉ xử lý các thư mục được ghi rõ trên dòng lệnh. Đừng xây dựng bộ nhớ tạm."
+
+#: elf/ldconfig.c:146
+msgid "Manually link individual libraries."
+msgstr "Liên kết bằng tay các thư viện riêng."
+
+#: elf/ldconfig.c:147
+msgid "FORMAT"
+msgstr "ĐỊNH_DẠNG"
+
+#: elf/ldconfig.c:147
+msgid "Format to use: new, old or compat (default)"
+msgstr ""
+"Đường dẫn cần dùng:\n"
+" • new\tmới\n"
+" • old\tcũ\n"
+" • compat\ttương thích (mặc định)"
+
+#: elf/ldconfig.c:148
+msgid "Ignore auxiliary cache file"
+msgstr "Bỏ qua tập tin nhớ tạm bổ trợ"
+
+#: elf/ldconfig.c:156
+msgid "Configure Dynamic Linker Run Time Bindings."
+msgstr "Cấu hình các tổ hợp lúc chạy liên kết động."
+
+#: elf/ldconfig.c:319
+#, c-format
+msgid "Path `%s' given more than once"
+msgstr "Đường dẫn « %s » được đưa ra nhiều lần"
+
+#: elf/ldconfig.c:359
+#, c-format
+msgid "%s is not a known library type"
+msgstr "« %s » không phải là kiểu thư viện đã biết"
+
+#: elf/ldconfig.c:384
+#, c-format
+msgid "Can't stat %s"
+msgstr "Không thể lấy trạng thái về %s"
+
+#: elf/ldconfig.c:458
+#, c-format
+msgid "Can't stat %s\n"
+msgstr "Không thể lấy trạng thái về %s\n"
+
+#: elf/ldconfig.c:468
+#, c-format
+msgid "%s is not a symbolic link\n"
+msgstr "%s không phải là một liên kết tượng trưng\n"
+
+#: elf/ldconfig.c:487
+#, c-format
+msgid "Can't unlink %s"
+msgstr "Không thể bỏ liên kết %s"
+
+#: elf/ldconfig.c:493
+#, c-format
+msgid "Can't link %s to %s"
+msgstr "Không thể liên kết %s tới %s"
+
+#: elf/ldconfig.c:499
+msgid " (changed)\n"
+msgstr " (đã thay đổi)\n"
+
+#: elf/ldconfig.c:501
+msgid " (SKIPPED)\n"
+msgstr " (BỊ BỎ QUA)\n"
+
+#: elf/ldconfig.c:556
+#, c-format
+msgid "Can't find %s"
+msgstr "Không tìm thấy %s"
+
+#: elf/ldconfig.c:572 elf/ldconfig.c:745 elf/ldconfig.c:793 elf/ldconfig.c:827
+#, c-format
+msgid "Cannot lstat %s"
+msgstr "Không thể lstat %s"
+
+#: elf/ldconfig.c:579
+#, c-format
+msgid "Ignored file %s since it is not a regular file."
+msgstr "Đã bỏ qua tập tin %s vì nó không phải là tập tin chuẩn."
+
+#: elf/ldconfig.c:588
+#, c-format
+msgid "No link created since soname could not be found for %s"
+msgstr "Chưa tạo liên kết vì không tìm thấy soname đối với %s"
+
+#: elf/ldconfig.c:671
+#, c-format
+msgid "Can't open directory %s"
+msgstr "Không thể mở thư mục %s"
+
+#: elf/ldconfig.c:759
+#, c-format
+msgid "Cannot stat %s"
+msgstr "Không thể lấy trạng thái về %s"
+
+#: elf/ldconfig.c:814 elf/readlib.c:91
+#, c-format
+msgid "Input file %s not found.\n"
+msgstr "Không tìm thấy tập tin nhập vào %s.\n"
+
+#: elf/ldconfig.c:888
+#, c-format
+msgid "libc5 library %s in wrong directory"
+msgstr "thư viện libc5 %s nằm trong thư mục không đúng"
+
+#: elf/ldconfig.c:891
+#, c-format
+msgid "libc6 library %s in wrong directory"
+msgstr "thư viện libc6 %s nằm trong thư mục không đúng"
+
+#: elf/ldconfig.c:894
+#, c-format
+msgid "libc4 library %s in wrong directory"
+msgstr "thư viện libc4 %s nằm trong thư mục không đúng"
+
+#: elf/ldconfig.c:922
+#, c-format
+msgid "libraries %s and %s in directory %s have same soname but different type."
+msgstr "thư viện %s và %s trong thư mục %s có cùng một soname còn có kiểu khác nhau."
+
+#: elf/ldconfig.c:1031
+#, c-format
+msgid "Can't open configuration file %s"
+msgstr "Không thể mở tập tin cấu hình %s"
+
+#: elf/ldconfig.c:1095
+#, c-format
+msgid "%s:%u: bad syntax in hwcap line"
+msgstr "%s:%u: cú pháp sai trong dòng hwcap"
+
+#: elf/ldconfig.c:1101
+#, c-format
+msgid "%s:%u: hwcap index %lu above maximum %u"
+msgstr "%s:%u: chỉ mục hwcap %lu vượt quá tối đa %u"
+
+#: elf/ldconfig.c:1108 elf/ldconfig.c:1116
+#, c-format
+msgid "%s:%u: hwcap index %lu already defined as %s"
+msgstr "%s:%u: chỉ mục hwcap %lu đã được xác định là %s"
+
+#: elf/ldconfig.c:1119
+#, c-format
+msgid "%s:%u: duplicate hwcap %lu %s"
+msgstr "%s:%u: hwcap trùng %lu %s"
+
+#: elf/ldconfig.c:1141
+#, c-format
+msgid "need absolute file name for configuration file when using -r"
+msgstr "dùng tùy chọn « -r » thì cũng cần tên tập tin tuyệt đối cho tập tin cấu hình"
+
+#: elf/ldconfig.c:1148 locale/programs/xmalloc.c:70 malloc/obstack.c:434
+#: malloc/obstack.c:436 posix/getconf.c:985 posix/getconf.c:1163
+#, c-format
+msgid "memory exhausted"
+msgstr "cạn bộ nhớ"
+
+#: elf/ldconfig.c:1178
+#, c-format
+msgid "%s:%u: cannot read directory %s"
+msgstr "%s:%u: không thể đọc thư mục %s"
+
+#: elf/ldconfig.c:1223
+#, c-format
+msgid "relative path `%s' used to build cache"
+msgstr "đường dẫn tương đối « %s » được dùng để xây dựng bộ nhớ tạm"
+
+#: elf/ldconfig.c:1249
+#, c-format
+msgid "Can't chdir to /"
+msgstr "Không thể chuyển đổi thư mục (chdir) sang /"
+
+#: elf/ldconfig.c:1291
+#, c-format
+msgid "Can't open cache file directory %s\n"
+msgstr "Không thể mở thư mục nhớ tạm %s\n"
+
+#: elf/ldd.bash.in:43
+msgid "Written by %s and %s.\n"
+msgstr "Tác giả: %s và %s.\n"
+
+#: elf/ldd.bash.in:48
+msgid ""
+"Usage: ldd [OPTION]... FILE...\n"
+" --help print this help and exit\n"
+" --version print version information and exit\n"
+" -d, --data-relocs process data relocations\n"
+" -r, --function-relocs process data and function relocations\n"
+" -u, --unused print unused direct dependencies\n"
+" -v, --verbose print all information\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+msgstr ""
+"Sử dụng: ldd [TÙY_CHỌN]... TẬP_TIN...\n"
+" --help in trợ giúp này rồi thoát\n"
+" --version in thông tin phiên bản rồi thoát\n"
+" -d, --data-relocs xử lý các sự định vị lại dữ liệu\n"
+" -r, --function-relocs xử lý các sự định vị lại dữ liệu và hàm\n"
+" -u, --unused in các quan hệ phụ thuộc trực tiếp không dùng\n"
+" -v, --verbose in mọi thông tin\n"
+"Để tìm hướng dẫn về thông báo lỗi, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+
+#: elf/ldd.bash.in:80
+msgid "ldd: option \\`$1' is ambiguous"
+msgstr "ldd: tùy chọn « $1 » là mơ hồ"
+
+#: elf/ldd.bash.in:87
+msgid "unrecognized option"
+msgstr "không nhận ra tùy chọn"
+
+#: elf/ldd.bash.in:88 elf/ldd.bash.in:126
+msgid "Try \\`ldd --help' for more information."
+msgstr "Hãy thử lệnh trợ giúp « ldd --help » để xem thông tin thêm."
+
+#: elf/ldd.bash.in:125
+msgid "missing file arguments"
+msgstr "đối số tập tin còn thiếu"
+
+#. TRANS No such file or directory. This is a ``file doesn't exist'' error
+#. TRANS for ordinary files that are referenced in contexts where they are
+#. TRANS expected to already exist.
+#: elf/ldd.bash.in:148 sysdeps/gnu/errlist.c:36
+msgid "No such file or directory"
+msgstr "Không có tập tin hoặc thư mục như vậy"
+
+#: elf/ldd.bash.in:151 inet/rcmd.c:483
+msgid "not regular file"
+msgstr "không phải tập tin chuẩn"
+
+#: elf/ldd.bash.in:154
+msgid "warning: you do not have execution permission for"
+msgstr "cảnh báo : bạn không có quyền thực hiện"
+
+#: elf/ldd.bash.in:183
+msgid "\tnot a dynamic executable"
+msgstr "\tkhông phải một tập tin thực hiện được kiểu động"
+
+#: elf/ldd.bash.in:191
+msgid "exited with unknown exit code"
+msgstr "đã thoát với mã thoát không rõ"
+
+#: elf/ldd.bash.in:196
+msgid "error: you do not have read permission for"
+msgstr "lỗi: bạn không có quyền đọc"
+
+#: elf/readelflib.c:35
+#, c-format
+msgid "file %s is truncated\n"
+msgstr "tập tin « %s » bị cắt ngắn\n"
+
+#: elf/readelflib.c:67
+#, c-format
+msgid "%s is a 32 bit ELF file.\n"
+msgstr "%s là một tập tin ELF 32-bit.\n"
+
+#: elf/readelflib.c:69
+#, c-format
+msgid "%s is a 64 bit ELF file.\n"
+msgstr "%s là một tập tin ELF 64-bit.\n"
+
+#: elf/readelflib.c:71
+#, c-format
+msgid "Unknown ELFCLASS in file %s.\n"
+msgstr "Không rõ hạng ELFCLASS trong tập tin %s.\n"
+
+#: elf/readelflib.c:78
+#, c-format
+msgid "%s is not a shared object file (Type: %d).\n"
+msgstr "%s không phải là tập tin đối tượng dùng chung (Kiểu %d).\n"
+
+#: elf/readelflib.c:109
+#, c-format
+msgid "more than one dynamic segment\n"
+msgstr "hơn một đoạn động\n"
+
+#: elf/readlib.c:97
+#, c-format
+msgid "Cannot fstat file %s.\n"
+msgstr "Không thể fstat tập tin %s.\n"
+
+#: elf/readlib.c:108
+#, c-format
+msgid "File %s is empty, not checked."
+msgstr "Tập tin %s là trống nên không được kiểm tra."
+
+#: elf/readlib.c:114
+#, c-format
+msgid "File %s is too small, not checked."
+msgstr "Tập tin %s quá nhỏ nên không được kiểm tra."
+
+#: elf/readlib.c:124
+#, c-format
+msgid "Cannot mmap file %s.\n"
+msgstr "Không thể mmap tập tin %s.\n"
+
+#: elf/readlib.c:162
+#, c-format
+msgid "%s is not an ELF file - it has the wrong magic bytes at the start.\n"
+msgstr "%s không phải là tập tin ELF — có những byte ma thuật không đúng tại đầu nó.\n"
+
+#: elf/sprof.c:77
+msgid "Output selection:"
+msgstr "Xuất vùng chọn:"
+
+#: elf/sprof.c:79
+msgid "print list of count paths and their number of use"
+msgstr "in danh sách các đường dẫn đếm và số lần dùng mỗi đường dẫn"
+
+#: elf/sprof.c:81
+msgid "generate flat profile with counts and ticks"
+msgstr "tạo nét hiện trạng phẳng có số đếm và vạch khấc"
+
+#: elf/sprof.c:82
+msgid "generate call graph"
+msgstr "tạo đồ thị gọi"
+
+#: elf/sprof.c:89
+msgid ""
+"Read and display shared object profiling data.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Đọc và hiển thị dữ liệu đo hiệu năng sử dụng đường dẫn dùng chung.\n"
+"Để tìm hướng dẫn về thông báo lỗi, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: elf/sprof.c:94
+msgid "SHOBJ [PROFDATA]"
+msgstr "SHOBJ [DỮ_LIỆU_ĐO_HIỆU_NĂNG]"
+
+#: elf/sprof.c:400
+#, c-format
+msgid "failed to load shared object `%s'"
+msgstr "lỗi nạp đối tượng dùng chung « %s »"
+
+#: elf/sprof.c:409
+#, c-format
+msgid "cannot create internal descriptors"
+msgstr "không thể tạo bộ mô tả nội bộ"
+
+#: elf/sprof.c:528
+#, c-format
+msgid "Reopening shared object `%s' failed"
+msgstr "Lỗi mở lại đối tượng dùng chung « %s »"
+
+#: elf/sprof.c:535 elf/sprof.c:629
+#, c-format
+msgid "reading of section headers failed"
+msgstr "lỗi đọc phần đầu của phần"
+
+#: elf/sprof.c:543 elf/sprof.c:637
+#, c-format
+msgid "reading of section header string table failed"
+msgstr "lỗi đọc bảng chuỗi phần đầu của phần"
+
+#: elf/sprof.c:569
+#, c-format
+msgid "*** Cannot read debuginfo file name: %m\n"
+msgstr "*** Không thể đọc tên tập tin chứa thông tin gỡ lỗi: %m\n"
+
+#: elf/sprof.c:589
+#, c-format
+msgid "cannot determine file name"
+msgstr "không thể quyết định tên tập tin"
+
+#: elf/sprof.c:622
+#, c-format
+msgid "reading of ELF header failed"
+msgstr "lỗi đọc phần đầu ELF"
+
+#: elf/sprof.c:658
+#, c-format
+msgid "*** The file `%s' is stripped: no detailed analysis possible\n"
+msgstr "*** Tập tin « %s » bị tước nên không thể phân tích chi tiết\n"
+
+#: elf/sprof.c:688
+#, c-format
+msgid "failed to load symbol data"
+msgstr "lỗi nạp dữ liệu ký hiệu"
+
+#: elf/sprof.c:755
+#, c-format
+msgid "cannot load profiling data"
+msgstr "không thể nạp dữ liệu đo hiệu năng sử dụng"
+
+#: elf/sprof.c:764
+#, c-format
+msgid "while stat'ing profiling data file"
+msgstr "trong khi lấy trạng thái về tập tin dữ liệu do hiệu năng sử dụng"
+
+#: elf/sprof.c:772
+#, c-format
+msgid "profiling data file `%s' does not match shared object `%s'"
+msgstr "tập tin dữ liệu do hiệu năng sử dụng « %s » không tương ứng với đối tượng dùng chung « %s »"
+
+#: elf/sprof.c:783
+#, c-format
+msgid "failed to mmap the profiling data file"
+msgstr "lỗi mmap tập tin dữ liệu do hiệu năng sử dụng"
+
+#: elf/sprof.c:791
+#, c-format
+msgid "error while closing the profiling data file"
+msgstr "gặp lỗi khi đóng tập tin dữ liệu do hiệu năng sử dụng"
+
+#: elf/sprof.c:800 elf/sprof.c:870
+#, c-format
+msgid "cannot create internal descriptor"
+msgstr "không thể tạo bộ mô tả nội bộ"
+
+#: elf/sprof.c:846
+#, c-format
+msgid "`%s' is no correct profile data file for `%s'"
+msgstr "« %s » không phải là tập tin dữ liệu do hiệu năng sử dụng đúng đối với « %s »"
+
+#: elf/sprof.c:1027 elf/sprof.c:1085
+#, c-format
+msgid "cannot allocate symbol data"
+msgstr "không thể cấp phát dữ liệu ký hiệu"
+
+#: iconv/iconv_charmap.c:176 iconv/iconv_prog.c:316
+#, c-format
+msgid "error while closing input `%s'"
+msgstr "gặp lỗi khi đóng dữ liệu nhập vào « %s »"
+
+#: iconv/iconv_charmap.c:450
+#, c-format
+msgid "illegal input sequence at position %Zd"
+msgstr "dãy nhập vào cấm ở vị trí %Zd"
+
+#: iconv/iconv_charmap.c:469 iconv/iconv_prog.c:526
+#, c-format
+msgid "incomplete character or shift sequence at end of buffer"
+msgstr "dây ký tự hoặc dời chưa hoàn toàn ở kết thúc của bộ đệm"
+
+#: iconv/iconv_charmap.c:514 iconv/iconv_charmap.c:550 iconv/iconv_prog.c:569
+#: iconv/iconv_prog.c:605
+#, c-format
+msgid "error while reading the input"
+msgstr "gặp lỗi khi đọc dữ liệu nhập vào"
+
+#: iconv/iconv_charmap.c:532 iconv/iconv_prog.c:587
+#, c-format
+msgid "unable to allocate buffer for input"
+msgstr "không thể cấp phát bộ đệm cho dữ liệu nhập vào"
+
+#: iconv/iconv_prog.c:60
+msgid "Input/Output format specification:"
+msgstr "Đặc tả định dạng Vào/Ra:"
+
+#: iconv/iconv_prog.c:61
+msgid "encoding of original text"
+msgstr "bảng mã của văn bản gốc"
+
+#: iconv/iconv_prog.c:62
+msgid "encoding for output"
+msgstr "bảng mã cho kết xuất"
+
+#: iconv/iconv_prog.c:63
+msgid "Information:"
+msgstr "Thông tin:"
+
+#: iconv/iconv_prog.c:64
+msgid "list all known coded character sets"
+msgstr "liệt kê tất cả các bộ ký tự đã mã hoá được biết"
+
+#: iconv/iconv_prog.c:65 locale/programs/localedef.c:127
+msgid "Output control:"
+msgstr "Điều khiển xuất:"
+
+#: iconv/iconv_prog.c:66
+msgid "omit invalid characters from output"
+msgstr "bỏ sót ký tự không hợp lệ khỏi kết xuất"
+
+#: iconv/iconv_prog.c:67
+msgid "output file"
+msgstr "tập tin kết xuất"
+
+#: iconv/iconv_prog.c:68
+msgid "suppress warnings"
+msgstr "thu hồi cảnh báo"
+
+#: iconv/iconv_prog.c:69
+msgid "print progress information"
+msgstr "in thông tin tiến hành"
+
+#: iconv/iconv_prog.c:74
+msgid "Convert encoding of given files from one encoding to another."
+msgstr "Chuyển đổi bảng mã của các tập tin đã đưa ra từ bảng mã này sang bảng mã khác."
+
+#: iconv/iconv_prog.c:78
+msgid "[FILE...]"
+msgstr "[TẬP_TIN...]"
+
+#: iconv/iconv_prog.c:200
+#, c-format
+msgid "cannot open output file"
+msgstr "không thể mở tập tin kết xuất"
+
+#: iconv/iconv_prog.c:242
+#, c-format
+msgid "conversions from `%s' and to `%s' are not supported"
+msgstr "không hỗ trợ chức năng chuyển đổi từ « %s » hoặc đến « %s »"
+
+#: iconv/iconv_prog.c:247
+#, c-format
+msgid "conversion from `%s' is not supported"
+msgstr "không hỗ trợ chức năng chuyển đổi từ « %s »"
+
+#: iconv/iconv_prog.c:254
+#, c-format
+msgid "conversion to `%s' is not supported"
+msgstr "không hỗ trợ chức năng chuyển đổi đến « %s »"
+
+#: iconv/iconv_prog.c:258
+#, c-format
+msgid "conversion from `%s' to `%s' is not supported"
+msgstr "không hỗ trợ chức năng chuyển đổi từ « %s » đến « %s »"
+
+#: iconv/iconv_prog.c:268
+#, c-format
+msgid "failed to start conversion processing"
+msgstr "lỗi bắt đầu tiến trình chuyển đổi"
+
+#: iconv/iconv_prog.c:362
+#, c-format
+msgid "error while closing output file"
+msgstr "gặp lỗi khi đóng tập tin kết xuất"
+
+#: iconv/iconv_prog.c:471 iconv/iconv_prog.c:497
+#, c-format
+msgid "conversion stopped due to problem in writing the output"
+msgstr "tiến trình chuyển đổi bị dừng chạy do vấn đề khi ghi kết xuất"
+
+#: iconv/iconv_prog.c:522
+#, c-format
+msgid "illegal input sequence at position %ld"
+msgstr "dãy nhập vào không hợp lệ ở vị trí %ld"
+
+#: iconv/iconv_prog.c:530
+#, c-format
+msgid "internal error (illegal descriptor)"
+msgstr "gặp lỗi nội bộ (bộ mô tả cấm)"
+
+#: iconv/iconv_prog.c:533
+#, c-format
+msgid "unknown iconv() error %d"
+msgstr "không rõ lỗi iconv() %d"
+
+#: iconv/iconv_prog.c:779
+msgid ""
+"The following list contain all the coded character sets known. This does\n"
+"not necessarily mean that all combinations of these names can be used for\n"
+"the FROM and TO command line parameters. One coded character set can be\n"
+"listed with several different names (aliases).\n"
+"\n"
+" "
+msgstr ""
+"Danh sách bên dưới chứa tất cả các bộ ký tự đã mã hoá mà được biết.\n"
+"Không nhất thiết có nghĩa là tất cả các tổ hợp những tên này có thể\n"
+"được dùng làm tham số dòng lệnh TỪ và ĐẾN. Một bộ ký tự đã mã hoá\n"
+"cũng có thể được liệt kê với vài tên khác nhau.\n"
+"\n"
+" "
+
+#: iconv/iconvconfig.c:110
+msgid "Create fastloading iconv module configuration file."
+msgstr "Tạo tập tin cấu hình mô-đun iconv sẽ nạp nhanh."
+
+#: iconv/iconvconfig.c:114
+msgid "[DIR...]"
+msgstr "[THƯ_MỤC...]"
+
+#: iconv/iconvconfig.c:127
+msgid "Prefix used for all file accesses"
+msgstr "Tiền tố được dùng cho mọi việc truy cập tập tin"
+
+#: iconv/iconvconfig.c:128
+msgid "Put output in FILE instead of installed location (--prefix does not apply to FILE)"
+msgstr "Để kết xuất vào TẬP_TIN thay vào vị trí đã cài đặt (--prefix không áp dụng cho TẬP_TIN)"
+
+#: iconv/iconvconfig.c:132
+msgid "Do not search standard directories, only those on the command line"
+msgstr "Đừng tìm kiếm trong các thư mục chuẩn, chỉ trong những thư mục trong dòng lệnh"
+
+#: iconv/iconvconfig.c:301
+#, c-format
+msgid "Directory arguments required when using --nostdlib"
+msgstr "Tùy chọn « --nostdlib » cũng cần thiết đối số thư mục"
+
+#: iconv/iconvconfig.c:343 locale/programs/localedef.c:291
+#, c-format
+msgid "no output file produced because warnings were issued"
+msgstr "chưa xuất tập tin do cảnh báo"
+
+#: iconv/iconvconfig.c:429
+#, c-format
+msgid "while inserting in search tree"
+msgstr "trong khi chèn vào cây tìm kiếm"
+
+#: iconv/iconvconfig.c:1238
+#, c-format
+msgid "cannot generate output file"
+msgstr "không thể tạo tập tin kết xuất"
+
+#: inet/rcmd.c:157
+msgid "rcmd: Cannot allocate memory\n"
+msgstr "rcmd: Không thể cấp phát bộ nhớ\n"
+
+#: inet/rcmd.c:172
+msgid "rcmd: socket: All ports in use\n"
+msgstr "rcmd: ổ cắm: tất cả các cổng đang được dùng\n"
+
+#: inet/rcmd.c:200
+#, c-format
+msgid "connect to address %s: "
+msgstr "kết nối tới địa chỉ %s: "
+
+#: inet/rcmd.c:213
+#, c-format
+msgid "Trying %s...\n"
+msgstr "Đang thử %s...\n"
+
+#: inet/rcmd.c:249
+#, c-format
+msgid "rcmd: write (setting up stderr): %m\n"
+msgstr "rcmd: ghi (đang thiết lập đầu lỗi tiêu chuẩn): %m\n"
+
+#: inet/rcmd.c:265
+#, c-format
+msgid "rcmd: poll (setting up stderr): %m\n"
+msgstr "rcmd: thăm dò (đang thiết lập đầu lỗi tiêu chuẩn): %m\n"
+
+#: inet/rcmd.c:268
+msgid "poll: protocol failure in circuit setup\n"
+msgstr "thăm dò : lỗi giao thức trong thiết lập mạch điện\n"
+
+#: inet/rcmd.c:301
+msgid "socket: protocol failure in circuit setup\n"
+msgstr "ổ cắm: lỗi giao thức trong thiết lập mạch điện\n"
+
+#: inet/rcmd.c:325
+#, c-format
+msgid "rcmd: %s: short read"
+msgstr "rcmd: %s: đọc ngắn"
+
+#: inet/rcmd.c:481
+msgid "lstat failed"
+msgstr "lstat bị lỗi"
+
+#: inet/rcmd.c:488
+msgid "cannot open"
+msgstr "không thể mở"
+
+#: inet/rcmd.c:490
+msgid "fstat failed"
+msgstr "fstat bị lỗi"
+
+#: inet/rcmd.c:492
+msgid "bad owner"
+msgstr "chủ sai"
+
+#: inet/rcmd.c:494
+msgid "writeable by other than owner"
+msgstr "người khác với chủ cũng có quyền ghi vào"
+
+#: inet/rcmd.c:496
+msgid "hard linked somewhere"
+msgstr "đã liên kết cứng với một vị trí nào đó"
+
+#: inet/ruserpass.c:170 inet/ruserpass.c:193
+msgid "out of memory"
+msgstr "tràn bộ nhớ"
+
+#: inet/ruserpass.c:184
+msgid "Error: .netrc file is readable by others."
+msgstr "Lỗi: người khác cũng có quyền đọc tập tin .netrc"
+
+#: inet/ruserpass.c:185
+msgid "Remove password or make file unreadable by others."
+msgstr "Gỡ bỏ mật khẩu hoặc làm cho tập tin không cho phép người khác đọc."
+
+#: inet/ruserpass.c:277
+#, c-format
+msgid "Unknown .netrc keyword %s"
+msgstr "Không rõ từ khoá .netrc %s"
+
+#: libidn/nfkc.c:464
+msgid "Character out of range for UTF-8"
+msgstr "Ký tự ở ngoại phạm vi UTF-8"
+
+#: locale/programs/charmap-dir.c:59
+#, c-format
+msgid "cannot read character map directory `%s'"
+msgstr "không thể đọc thư mục sơ đồ ký tự « %s »"
+
+#: locale/programs/charmap.c:138
+#, c-format
+msgid "character map file `%s' not found"
+msgstr "không tìm thấy tập tin sơ đồ ký tự « %s »"
+
+#: locale/programs/charmap.c:195
+#, c-format
+msgid "default character map file `%s' not found"
+msgstr "không tìm thấy tập tin sơ đồ ký tự mặc định « %s »"
+
+#: locale/programs/charmap.c:258
+#, c-format
+msgid "character map `%s' is not ASCII compatible, locale not ISO C compliant\n"
+msgstr "sơ đồ ký tự « %s » không tương thích với ASCII, miền địa phương không tùy theo ISO C\n"
+
+#: locale/programs/charmap.c:337
+#, c-format
+msgid "%s: <mb_cur_max> must be greater than <mb_cur_min>\n"
+msgstr "%s: <mb_cur_max> phải lớn hơn <mb_cur_min>\n"
+
+#: locale/programs/charmap.c:357 locale/programs/charmap.c:374
+#: locale/programs/repertoire.c:174
+#, c-format
+msgid "syntax error in prolog: %s"
+msgstr "lỗi cú pháp trong prolog: %s"
+
+#: locale/programs/charmap.c:358
+msgid "invalid definition"
+msgstr "lời xác định không hợp lệ"
+
+#: locale/programs/charmap.c:375 locale/programs/locfile.c:126
+#: locale/programs/locfile.c:153 locale/programs/repertoire.c:175
+msgid "bad argument"
+msgstr "đối số sai"
+
+#: locale/programs/charmap.c:403
+#, c-format
+msgid "duplicate definition of <%s>"
+msgstr "lời xác định trùng của <%s>"
+
+#: locale/programs/charmap.c:410
+#, c-format
+msgid "value for <%s> must be 1 or greater"
+msgstr "giá trị cho <%s> phải ≥ 1"
+
+#: locale/programs/charmap.c:422
+#, c-format
+msgid "value of <%s> must be greater or equal than the value of <%s>"
+msgstr "giá trị <%s> phải ≥ giá trị <%s>"
+
+#: locale/programs/charmap.c:445 locale/programs/repertoire.c:183
+#, c-format
+msgid "argument to <%s> must be a single character"
+msgstr "đối số cho <%s> phải là một ký tự riêng lẻ"
+
+#: locale/programs/charmap.c:471
+msgid "character sets with locking states are not supported"
+msgstr "không hỗ trợ bộ ký tự có tình trạng khoá"
+
+#: locale/programs/charmap.c:498 locale/programs/charmap.c:552
+#: locale/programs/charmap.c:584 locale/programs/charmap.c:678
+#: locale/programs/charmap.c:733 locale/programs/charmap.c:774
+#: locale/programs/charmap.c:815
+#, c-format
+msgid "syntax error in %s definition: %s"
+msgstr "gặp lỗi cú pháp trong lời xác định %s: %s"
+
+#: locale/programs/charmap.c:499 locale/programs/charmap.c:679
+#: locale/programs/charmap.c:775 locale/programs/repertoire.c:230
+msgid "no symbolic name given"
+msgstr "chưa đưa ra tên tượng trưng"
+
+#: locale/programs/charmap.c:553
+msgid "invalid encoding given"
+msgstr "đưa ra bảng mã không hợp lệ"
+
+#: locale/programs/charmap.c:562
+msgid "too few bytes in character encoding"
+msgstr "bảng mã ký tự chứa quá ít byte"
+
+#: locale/programs/charmap.c:564
+msgid "too many bytes in character encoding"
+msgstr "bảng mã ký tự chứa quá nhiều byte"
+
+#: locale/programs/charmap.c:586 locale/programs/charmap.c:734
+#: locale/programs/charmap.c:817 locale/programs/repertoire.c:296
+msgid "no symbolic name given for end of range"
+msgstr "chưa đưa ra tên tượng trưng cho kết thúc phạm vi"
+
+#: locale/programs/charmap.c:610 locale/programs/ld-address.c:600
+#: locale/programs/ld-collate.c:2767 locale/programs/ld-collate.c:3924
+#: locale/programs/ld-ctype.c:2232 locale/programs/ld-ctype.c:2984
+#: locale/programs/ld-identification.c:452
+#: locale/programs/ld-measurement.c:238 locale/programs/ld-messages.c:332
+#: locale/programs/ld-monetary.c:943 locale/programs/ld-name.c:307
+#: locale/programs/ld-numeric.c:368 locale/programs/ld-paper.c:241
+#: locale/programs/ld-telephone.c:313 locale/programs/ld-time.c:1221
+#: locale/programs/repertoire.c:313
+#, c-format
+msgid "%1$s: definition does not end with `END %1$s'"
+msgstr "%1$s: lời xác định không kết thúc với : END %1$s »"
+
+#: locale/programs/charmap.c:643
+msgid "only WIDTH definitions are allowed to follow the CHARMAP definition"
+msgstr "cho phép chỉ lời xác định WIDTH (chiều rộng) nằm sau lời xác định CHARMAP (sơ đồ ký tự)"
+
+#: locale/programs/charmap.c:651 locale/programs/charmap.c:714
+#, c-format
+msgid "value for %s must be an integer"
+msgstr "giá trị cho %s phải là số nguyên"
+
+#: locale/programs/charmap.c:842
+#, c-format
+msgid "%s: error in state machine"
+msgstr "%s: lỗi trong cơ chế tình trạng"
+
+#: locale/programs/charmap.c:850 locale/programs/ld-address.c:616
+#: locale/programs/ld-collate.c:2764 locale/programs/ld-collate.c:4115
+#: locale/programs/ld-ctype.c:2229 locale/programs/ld-ctype.c:3001
+#: locale/programs/ld-identification.c:468
+#: locale/programs/ld-measurement.c:254 locale/programs/ld-messages.c:348
+#: locale/programs/ld-monetary.c:959 locale/programs/ld-name.c:323
+#: locale/programs/ld-numeric.c:384 locale/programs/ld-paper.c:257
+#: locale/programs/ld-telephone.c:329 locale/programs/ld-time.c:1237
+#: locale/programs/locfile.c:826 locale/programs/repertoire.c:324
+#, c-format
+msgid "%s: premature end of file"
+msgstr "%s: gặp kết thúc tập tin quá sớm"
+
+#: locale/programs/charmap.c:869 locale/programs/charmap.c:880
+#, c-format
+msgid "unknown character `%s'"
+msgstr "không rõ ký tự « %s »"
+
+#: locale/programs/charmap.c:888
+#, c-format
+msgid "number of bytes for byte sequence of beginning and end of range not the same: %d vs %d"
+msgstr "số byte cho dãy byte ở đầu và cuối của phạm vi không phải là trùng: %d so với %d"
+
+#: locale/programs/charmap.c:993 locale/programs/ld-collate.c:3047
+#: locale/programs/repertoire.c:419
+msgid "invalid names for character range"
+msgstr "tên không hợp lệ cho phạm vi ký tự"
+
+#: locale/programs/charmap.c:1005 locale/programs/repertoire.c:431
+msgid "hexadecimal range format should use only capital characters"
+msgstr "định dạng phạm vi thập lục chỉ nên dùng chữ hoa"
+
+#: locale/programs/charmap.c:1023 locale/programs/repertoire.c:449
+#, c-format
+msgid "<%s> and <%s> are invalid names for range"
+msgstr "<%s> và <%s> là tên không hợp lệ với phạm vi"
+
+#: locale/programs/charmap.c:1029 locale/programs/repertoire.c:456
+msgid "upper limit in range is smaller than lower limit"
+msgstr "giới hạn trên của phạm vi là nhỏ hơn giới hạn dưới"
+
+#: locale/programs/charmap.c:1087
+msgid "resulting bytes for range not representable."
+msgstr "không thể đại diện số byte kết quả cho phạm vi."
+
+#: locale/programs/ld-address.c:133 locale/programs/ld-collate.c:1556
+#: locale/programs/ld-ctype.c:420 locale/programs/ld-identification.c:133
+#: locale/programs/ld-measurement.c:94 locale/programs/ld-messages.c:97
+#: locale/programs/ld-monetary.c:194 locale/programs/ld-name.c:94
+#: locale/programs/ld-numeric.c:98 locale/programs/ld-paper.c:91
+#: locale/programs/ld-telephone.c:94 locale/programs/ld-time.c:159
+#, c-format
+msgid "No definition for %s category found"
+msgstr "Không tìm thấy lời xác định cho phân loại %s"
+
+#: locale/programs/ld-address.c:144 locale/programs/ld-address.c:182
+#: locale/programs/ld-address.c:200 locale/programs/ld-address.c:229
+#: locale/programs/ld-address.c:301 locale/programs/ld-address.c:320
+#: locale/programs/ld-address.c:333 locale/programs/ld-identification.c:146
+#: locale/programs/ld-measurement.c:105 locale/programs/ld-monetary.c:206
+#: locale/programs/ld-monetary.c:250 locale/programs/ld-monetary.c:266
+#: locale/programs/ld-monetary.c:278 locale/programs/ld-name.c:105
+#: locale/programs/ld-name.c:142 locale/programs/ld-numeric.c:112
+#: locale/programs/ld-numeric.c:126 locale/programs/ld-paper.c:102
+#: locale/programs/ld-paper.c:111 locale/programs/ld-telephone.c:105
+#: locale/programs/ld-telephone.c:162 locale/programs/ld-time.c:175
+#: locale/programs/ld-time.c:196
+#, c-format
+msgid "%s: field `%s' not defined"
+msgstr "%s: chưa xác định trường « %s »"
+
+#: locale/programs/ld-address.c:156 locale/programs/ld-address.c:208
+#: locale/programs/ld-address.c:238 locale/programs/ld-address.c:276
+#: locale/programs/ld-name.c:117 locale/programs/ld-telephone.c:117
+#, c-format
+msgid "%s: field `%s' must not be empty"
+msgstr "%s: trường « %s » không thể là rỗng"
+
+#: locale/programs/ld-address.c:168
+#, c-format
+msgid "%s: invalid escape `%%%c' sequence in field `%s'"
+msgstr "%s: dây thoát không hợp lệ: « %%%c » trong trường « %s »"
+
+#: locale/programs/ld-address.c:219
+#, c-format
+msgid "%s: terminology language code `%s' not defined"
+msgstr "%s: chưa xác định mã ngôn ngữ thuật ngữ « %s »"
+
+#: locale/programs/ld-address.c:244
+#, c-format
+msgid "%s: field `%s' must not be defined"
+msgstr "%s: trường « %s » không nên được xác định"
+
+#: locale/programs/ld-address.c:258 locale/programs/ld-address.c:287
+#, c-format
+msgid "%s: language abbreviation `%s' not defined"
+msgstr "%s: chưa xác định từ viết tắt ngôn ngữ « %s »"
+
+#: locale/programs/ld-address.c:265 locale/programs/ld-address.c:293
+#: locale/programs/ld-address.c:327 locale/programs/ld-address.c:339
+#, c-format
+msgid "%s: `%s' value does not match `%s' value"
+msgstr "%s: giá trị « %s » không tương ứng với giá trị « %s »"
+
+#: locale/programs/ld-address.c:312
+#, c-format
+msgid "%s: numeric country code `%d' not valid"
+msgstr "%s: mã quốc gia thuộc số « %d » không phải hợp lệ"
+
+#: locale/programs/ld-address.c:508 locale/programs/ld-address.c:545
+#: locale/programs/ld-address.c:583 locale/programs/ld-ctype.c:2608
+#: locale/programs/ld-identification.c:364
+#: locale/programs/ld-measurement.c:221 locale/programs/ld-messages.c:301
+#: locale/programs/ld-monetary.c:701 locale/programs/ld-monetary.c:736
+#: locale/programs/ld-monetary.c:777 locale/programs/ld-name.c:280
+#: locale/programs/ld-numeric.c:263 locale/programs/ld-paper.c:224
+#: locale/programs/ld-telephone.c:288 locale/programs/ld-time.c:1126
+#: locale/programs/ld-time.c:1168
+#, c-format
+msgid "%s: field `%s' declared more than once"
+msgstr "%s: trường « %s » được tuyên bố nhiều lần"
+
+#: locale/programs/ld-address.c:512 locale/programs/ld-address.c:550
+#: locale/programs/ld-identification.c:368 locale/programs/ld-messages.c:311
+#: locale/programs/ld-monetary.c:705 locale/programs/ld-monetary.c:740
+#: locale/programs/ld-name.c:284 locale/programs/ld-numeric.c:267
+#: locale/programs/ld-telephone.c:292 locale/programs/ld-time.c:1020
+#: locale/programs/ld-time.c:1089 locale/programs/ld-time.c:1131
+#, c-format
+msgid "%s: unknown character in field `%s'"
+msgstr "%s: không rõ ký tự trong trường « %s »"
+
+#: locale/programs/ld-address.c:597 locale/programs/ld-collate.c:3922
+#: locale/programs/ld-ctype.c:2981 locale/programs/ld-identification.c:449
+#: locale/programs/ld-measurement.c:235 locale/programs/ld-messages.c:330
+#: locale/programs/ld-monetary.c:941 locale/programs/ld-name.c:305
+#: locale/programs/ld-numeric.c:366 locale/programs/ld-paper.c:239
+#: locale/programs/ld-telephone.c:311 locale/programs/ld-time.c:1219
+#, c-format
+msgid "%s: incomplete `END' line"
+msgstr "%s: dòng « END » chưa hoàn toàn"
+
+#: locale/programs/ld-address.c:607 locale/programs/ld-collate.c:542
+#: locale/programs/ld-collate.c:594 locale/programs/ld-collate.c:890
+#: locale/programs/ld-collate.c:903 locale/programs/ld-collate.c:2733
+#: locale/programs/ld-collate.c:2754 locale/programs/ld-collate.c:4105
+#: locale/programs/ld-ctype.c:1960 locale/programs/ld-ctype.c:2219
+#: locale/programs/ld-ctype.c:2806 locale/programs/ld-ctype.c:2992
+#: locale/programs/ld-identification.c:459
+#: locale/programs/ld-measurement.c:245 locale/programs/ld-messages.c:339
+#: locale/programs/ld-monetary.c:950 locale/programs/ld-name.c:314
+#: locale/programs/ld-numeric.c:375 locale/programs/ld-paper.c:248
+#: locale/programs/ld-telephone.c:320 locale/programs/ld-time.c:1228
+#, c-format
+msgid "%s: syntax error"
+msgstr "%s: lỗi cú pháp"
+
+#: locale/programs/ld-collate.c:417
+#, c-format
+msgid "`%.*s' already defined in charmap"
+msgstr "« %.*s » đã được xác định trong sơ đồ ký tự"
+
+#: locale/programs/ld-collate.c:426
+#, c-format
+msgid "`%.*s' already defined in repertoire"
+msgstr "« %.*s » đã được xác định trong repertoire"
+
+#: locale/programs/ld-collate.c:433
+#, c-format
+msgid "`%.*s' already defined as collating symbol"
+msgstr "« %.*s » đã được xác định là ký hiệu đối chiếu"
+
+#: locale/programs/ld-collate.c:440
+#, c-format
+msgid "`%.*s' already defined as collating element"
+msgstr "« %.*s » đã được xác định là phần tử đối chiếu"
+
+#: locale/programs/ld-collate.c:471 locale/programs/ld-collate.c:497
+#, c-format
+msgid "%s: `forward' and `backward' are mutually excluding each other"
+msgstr "%s: « forward » (tiếp tới) và « backward » (lùi lại) thì loại từ lẫn nhau"
+
+#: locale/programs/ld-collate.c:481 locale/programs/ld-collate.c:507
+#: locale/programs/ld-collate.c:523
+#, c-format
+msgid "%s: `%s' mentioned more than once in definition of weight %d"
+msgstr "%s: « %s » được ghi nhiều lần để xác định độ đậm %d"
+
+#: locale/programs/ld-collate.c:579
+#, c-format
+msgid "%s: too many rules; first entry only had %d"
+msgstr "%s: quá nhiều quy tắc; mục nhập thứ nhất chỉ có %d"
+
+#: locale/programs/ld-collate.c:615
+#, c-format
+msgid "%s: not enough sorting rules"
+msgstr "%s: không đủ quy tắc sắp xếp"
+
+#: locale/programs/ld-collate.c:780
+#, c-format
+msgid "%s: empty weight string not allowed"
+msgstr "%s: không cho phép chuỗi độ đậm rỗng"
+
+#: locale/programs/ld-collate.c:875
+#, c-format
+msgid "%s: weights must use the same ellipsis symbol as the name"
+msgstr "%s: độ đậm phải dùng cùng một ký hiệu dấu chấm lửng với tên"
+
+#: locale/programs/ld-collate.c:931
+#, c-format
+msgid "%s: too many values"
+msgstr "%s: quá nhiều giá trị"
+
+#: locale/programs/ld-collate.c:1051 locale/programs/ld-collate.c:1226
+#, c-format
+msgid "order for `%.*s' already defined at %s:%Zu"
+msgstr "thứ tự « %.*s » đã được xác định ở %s:%Zu"
+
+#: locale/programs/ld-collate.c:1101
+#, c-format
+msgid "%s: the start and the end symbol of a range must stand for characters"
+msgstr "%s: ký hiệu đầu và ký hiệu cuối của một phạm vi phải đại diện ký tự"
+
+#: locale/programs/ld-collate.c:1128
+#, c-format
+msgid "%s: byte sequences of first and last character must have the same length"
+msgstr "%s: dãy byte của ký tự đầu và ký tự cuối phải có cùng một chiều dài"
+
+#: locale/programs/ld-collate.c:1170
+#, c-format
+msgid "%s: byte sequence of first character of range is not lower than that of the last character"
+msgstr "%s: dãy byte của ký tự đầu của phạm vi không phải nhỏ hơn ký tự cuối"
+
+#: locale/programs/ld-collate.c:1295
+#, c-format
+msgid "%s: symbolic range ellipsis must not directly follow `order_start'"
+msgstr "%s: dấu chấm lửng phạm vi tượng trưng không thể nằm đúng sau « order_start »"
+
+#: locale/programs/ld-collate.c:1299
+#, c-format
+msgid "%s: symbolic range ellipsis must not be directly followed by `order_end'"
+msgstr "%s: dấu chấm lửng phạm vi tượng trưng không thể nằm đúng trước « order_end »"
+
+#: locale/programs/ld-collate.c:1319 locale/programs/ld-ctype.c:1477
+#, c-format
+msgid "`%s' and `%.*s' are not valid names for symbolic range"
+msgstr "« %s » và « %.*s » không phải là tên hợp lệ cho phạm vi tượng trưng"
+
+#: locale/programs/ld-collate.c:1369 locale/programs/ld-collate.c:3858
+#, c-format
+msgid "%s: order for `%.*s' already defined at %s:%Zu"
+msgstr "%s: thứ tự « %.*s » đã được xác định ở %s:%Zu"
+
+#: locale/programs/ld-collate.c:1378
+#, c-format
+msgid "%s: `%s' must be a character"
+msgstr "%s: « %s » phải là một ký tự"
+
+#: locale/programs/ld-collate.c:1573
+#, c-format
+msgid "%s: `position' must be used for a specific level in all sections or none"
+msgstr "%s: « position » (vị trí) phải được dùng cho một cấp cụ thể trong tất cả các phần, hoặc trong không phần gì"
+
+#: locale/programs/ld-collate.c:1598
+#, c-format
+msgid "symbol `%s' not defined"
+msgstr "chưa xác định ký hiệu « %s »"
+
+#: locale/programs/ld-collate.c:1674 locale/programs/ld-collate.c:1780
+#, c-format
+msgid "symbol `%s' has the same encoding as"
+msgstr "ký hiệu « %s » có cùng một bảng mã với"
+
+#: locale/programs/ld-collate.c:1678 locale/programs/ld-collate.c:1784
+#, c-format
+msgid "symbol `%s'"
+msgstr "ký hiệu « %s »"
+
+#: locale/programs/ld-collate.c:1826
+#, c-format
+msgid "no definition of `UNDEFINED'"
+msgstr "chưa xác định « UNDEFINED »"
+
+#: locale/programs/ld-collate.c:1855
+#, c-format
+msgid "too many errors; giving up"
+msgstr "quá nhiều lỗi nên chịu thua"
+
+#: locale/programs/ld-collate.c:2659 locale/programs/ld-collate.c:4044
+#, c-format
+msgid "%s: nested conditionals not supported"
+msgstr "%s: không hỗ trợ điều kiện nhúng"
+
+#: locale/programs/ld-collate.c:2677
+#, c-format
+msgid "%s: more then one 'else'"
+msgstr "%s: nhiều điều kiện « else » (nếu không)"
+
+#: locale/programs/ld-collate.c:2852
+#, c-format
+msgid "%s: duplicate definition of `%s'"
+msgstr "%s: lời xác định « %s » trùng"
+
+#: locale/programs/ld-collate.c:2888
+#, c-format
+msgid "%s: duplicate declaration of section `%s'"
+msgstr "%s: lời xác định phần « %s » trùng"
+
+#: locale/programs/ld-collate.c:3027
+#, c-format
+msgid "%s: unknown character in collating symbol name"
+msgstr "%s: không rõ ký tự trong tên ký hiệu đối chiếu"
+
+#: locale/programs/ld-collate.c:3159
+#, c-format
+msgid "%s: unknown character in equivalent definition name"
+msgstr "%s: không rõ ký tự trong tên lời xác định tương đương"
+
+#: locale/programs/ld-collate.c:3172
+#, c-format
+msgid "%s: unknown character in equivalent definition value"
+msgstr "%s: không rõ ký tự trong giá trị lời xác định tương đương"
+
+#: locale/programs/ld-collate.c:3182
+#, c-format
+msgid "%s: unknown symbol `%s' in equivalent definition"
+msgstr "%s: không rõ ký hiệu « %s » trong lời xác định tương đương"
+
+#: locale/programs/ld-collate.c:3191
+msgid "error while adding equivalent collating symbol"
+msgstr "gặp lỗi khi thêm ký hiệu đối chiếu tương đương"
+
+#: locale/programs/ld-collate.c:3221
+#, c-format
+msgid "duplicate definition of script `%s'"
+msgstr "lời xác định văn lệnh « %s » trùng"
+
+#: locale/programs/ld-collate.c:3269
+#, c-format
+msgid "%s: unknown section name `%.*s'"
+msgstr "%s: không rõ tên phần « %.*s »"
+
+#: locale/programs/ld-collate.c:3298
+#, c-format
+msgid "%s: multiple order definitions for section `%s'"
+msgstr "%s: nhiều lời xác định thứ tự cho phần « %s »"
+
+#: locale/programs/ld-collate.c:3326
+#, c-format
+msgid "%s: invalid number of sorting rules"
+msgstr "%s: số quy tắc sắp xếp không hợp lệ"
+
+#: locale/programs/ld-collate.c:3353
+#, c-format
+msgid "%s: multiple order definitions for unnamed section"
+msgstr "%s: nhiều lời xác định thứ tự cho phần không tên"
+
+#: locale/programs/ld-collate.c:3407 locale/programs/ld-collate.c:3537
+#: locale/programs/ld-collate.c:3900
+#, c-format
+msgid "%s: missing `order_end' keyword"
+msgstr "%s: thiếu từ khoá « order_end »"
+
+#: locale/programs/ld-collate.c:3470
+#, c-format
+msgid "%s: order for collating symbol %.*s not yet defined"
+msgstr "%s: chưa xác định thứ tự cho ký hiệu đối chiếu %.*s"
+
+#: locale/programs/ld-collate.c:3488
+#, c-format
+msgid "%s: order for collating element %.*s not yet defined"
+msgstr "%s: chưa xác định thứ tự cho phần tử đối chiếu %.*s"
+
+#: locale/programs/ld-collate.c:3499
+#, c-format
+msgid "%s: cannot reorder after %.*s: symbol not known"
+msgstr "%s: không thể sắp xếp lại sau %.*s: ký hiệu không rõ"
+
+#: locale/programs/ld-collate.c:3551 locale/programs/ld-collate.c:3912
+#, c-format
+msgid "%s: missing `reorder-end' keyword"
+msgstr "%s: thiếu từ khoá « reorder-end »"
+
+#: locale/programs/ld-collate.c:3585 locale/programs/ld-collate.c:3783
+#, c-format
+msgid "%s: section `%.*s' not known"
+msgstr "%s: không rõ phần « %.*s »"
+
+#: locale/programs/ld-collate.c:3650
+#, c-format
+msgid "%s: bad symbol <%.*s>"
+msgstr "%s: ký hiệu sai <%.*s>"
+
+#: locale/programs/ld-collate.c:3846
+#, c-format
+msgid "%s: cannot have `%s' as end of ellipsis range"
+msgstr "%s: không thể dùng « %s » làm kết thúc của phạm vi dấu chấm lửng"
+
+#: locale/programs/ld-collate.c:3896
+#, c-format
+msgid "%s: empty category description not allowed"
+msgstr "%s: không cho phép mô tả phân loại rỗng"
+
+#: locale/programs/ld-collate.c:3915
+#, c-format
+msgid "%s: missing `reorder-sections-end' keyword"
+msgstr "%s: thiếu từ khoá « reorder-sections-end »"
+
+#: locale/programs/ld-collate.c:4077
+#, c-format
+msgid "%s: '%s' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: « %s » không có « ifdef » hoặc « ifndef » tương ứng"
+
+#: locale/programs/ld-collate.c:4095
+#, c-format
+msgid "%s: 'endif' without matching 'ifdef' or 'ifndef'"
+msgstr "%s: « endif » không có « ifdef » hoặc « ifndef » tương ứng"
+
+#: locale/programs/ld-ctype.c:439
+#, c-format
+msgid "No character set name specified in charmap"
+msgstr "Chưa xác định tên bộ ký tự trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:468
+#, c-format
+msgid "character L'\\u%0*x' in class `%s' must be in class `%s'"
+msgstr "ký tự L'\\u%0*x' trong hạng « %s » cũng phải nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:483
+#, c-format
+msgid "character L'\\u%0*x' in class `%s' must not be in class `%s'"
+msgstr "ký tự L'\\u%0*x' trong hạng « %s » không thể nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:497 locale/programs/ld-ctype.c:555
+#, c-format
+msgid "internal error in %s, line %u"
+msgstr "gặp lỗi nội bộ trong %s, dòng %u"
+
+#: locale/programs/ld-ctype.c:526
+#, c-format
+msgid "character '%s' in class `%s' must be in class `%s'"
+msgstr "ký tự « %s » trong hạng « %s » cũng phải nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:542
+#, c-format
+msgid "character '%s' in class `%s' must not be in class `%s'"
+msgstr "ký tự « %s » trong hạng « %s » không thể nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:572 locale/programs/ld-ctype.c:610
+#, c-format
+msgid "<SP> character not in class `%s'"
+msgstr "ký tự <SP> không phải nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:584 locale/programs/ld-ctype.c:621
+#, c-format
+msgid "<SP> character must not be in class `%s'"
+msgstr "ký tự <SP> không thể nằm trong hạng « %s »"
+
+#: locale/programs/ld-ctype.c:599
+#, c-format
+msgid "character <SP> not defined in character map"
+msgstr "ký tự <SP> không phải được xác định trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:714
+#, c-format
+msgid "`digit' category has not entries in groups of ten"
+msgstr "phân loại « digit » (chữ số) không có mục nhập theo nhóm mười"
+
+#: locale/programs/ld-ctype.c:763
+#, c-format
+msgid "no input digits defined and none of the standard names in the charmap"
+msgstr "chưa xác định chữ số nhập vào hoặc tên tiêu chuẩn trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:828
+#, c-format
+msgid "not all characters used in `outdigit' are available in the charmap"
+msgstr "không phải tất cả các ký tự được dùng trong « outdigit » cũng sẵn sàng trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:845
+#, c-format
+msgid "not all characters used in `outdigit' are available in the repertoire"
+msgstr "không phải tất cả các ký tự được dùng trong « outdigit » cũng sẵn sàng trong repertoire"
+
+#: locale/programs/ld-ctype.c:1245
+#, c-format
+msgid "character class `%s' already defined"
+msgstr "hạng ký tự « %s » đã được xác định"
+
+#: locale/programs/ld-ctype.c:1251
+#, c-format
+msgid "implementation limit: no more than %Zd character classes allowed"
+msgstr "giới hạn thực hiện: không cho phép vượt quá %Zd hạng ký tự"
+
+#: locale/programs/ld-ctype.c:1277
+#, c-format
+msgid "character map `%s' already defined"
+msgstr "sơ đồ ký tự « %s » đã được xác định"
+
+#: locale/programs/ld-ctype.c:1283
+#, c-format
+msgid "implementation limit: no more than %d character maps allowed"
+msgstr "giới hạn thực hiện: không cho phép vượt quá %d sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:1548 locale/programs/ld-ctype.c:1673
+#: locale/programs/ld-ctype.c:1779 locale/programs/ld-ctype.c:2471
+#: locale/programs/ld-ctype.c:3467
+#, c-format
+msgid "%s: field `%s' does not contain exactly ten entries"
+msgstr "%s: trường « %s » không chứa chính xác mười mục nhập"
+
+#: locale/programs/ld-ctype.c:1576 locale/programs/ld-ctype.c:2150
+#, c-format
+msgid "to-value <U%0*X> of range is smaller than from-value <U%0*X>"
+msgstr "giá trị Đến <U%0*X> của phạm vi là nhỏ hơn giá trị Từ <U%0*X>"
+
+#: locale/programs/ld-ctype.c:1703
+msgid "start and end character sequence of range must have the same length"
+msgstr "dãy ký tự đầu và cuối của phạm vi phải có cùng một chiều dài"
+
+#: locale/programs/ld-ctype.c:1710
+msgid "to-value character sequence is smaller than from-value sequence"
+msgstr "dãy ký tự của giá trị Đến là nhỏ hơn dãy ký tự của giá trị Từ"
+
+#: locale/programs/ld-ctype.c:2070 locale/programs/ld-ctype.c:2121
+msgid "premature end of `translit_ignore' definition"
+msgstr "gặp kết thúc quá sớm của lời xác định « translit_ignore »"
+
+#: locale/programs/ld-ctype.c:2076 locale/programs/ld-ctype.c:2127
+#: locale/programs/ld-ctype.c:2169
+msgid "syntax error"
+msgstr "lỗi cú pháp"
+
+#: locale/programs/ld-ctype.c:2303
+#, c-format
+msgid "%s: syntax error in definition of new character class"
+msgstr "%s: gặp lỗi cú pháp trong lời xác định của hạng ký tự mới"
+
+#: locale/programs/ld-ctype.c:2318
+#, c-format
+msgid "%s: syntax error in definition of new character map"
+msgstr "%s: gặp lỗi cú pháp trong lời xác định của sơ đồ ký tự mới"
+
+#: locale/programs/ld-ctype.c:2493
+msgid "ellipsis range must be marked by two operands of same type"
+msgstr "phạm vi dấu chấm lửng phải được đánh dấu bằng hai toán hạng cùng kiểu"
+
+#: locale/programs/ld-ctype.c:2502
+msgid "with symbolic name range values the absolute ellipsis `...' must not be used"
+msgstr "đối với giá trị tên tượng trưng thì không cho phép dùng dấu chấm lửng tuyệt đối « … »"
+
+#: locale/programs/ld-ctype.c:2517
+msgid "with UCS range values one must use the hexadecimal symbolic ellipsis `..'"
+msgstr "đối với giá trị phạm vi UCS thì phải dùng dấu chấm lửng tượng trưng thập lục « .. »"
+
+#: locale/programs/ld-ctype.c:2531
+msgid "with character code range values one must use the absolute ellipsis `...'"
+msgstr "đối với giá trị phạm vi mã ký tự thì phải dùng dấu chấm lửng tuyệt đối « … »"
+
+#: locale/programs/ld-ctype.c:2682
+#, c-format
+msgid "duplicated definition for mapping `%s'"
+msgstr "gặp lời xác định trùng của sự ánh xạ « %s »"
+
+#: locale/programs/ld-ctype.c:2768 locale/programs/ld-ctype.c:2912
+#, c-format
+msgid "%s: `translit_start' section does not end with `translit_end'"
+msgstr "%s: phần « translit_start » không kết thúc với « translit_end »"
+
+#: locale/programs/ld-ctype.c:2863
+#, c-format
+msgid "%s: duplicate `default_missing' definition"
+msgstr "%s: lời xác định « default_missing » trùng"
+
+#: locale/programs/ld-ctype.c:2868
+msgid "previous definition was here"
+msgstr "lời xác định trước ở đây"
+
+#: locale/programs/ld-ctype.c:2890
+#, c-format
+msgid "%s: no representable `default_missing' definition found"
+msgstr "%s: không tìm thấy lời xác định « default_missing » có thể đại diện"
+
+#: locale/programs/ld-ctype.c:3043 locale/programs/ld-ctype.c:3127
+#: locale/programs/ld-ctype.c:3147 locale/programs/ld-ctype.c:3168
+#: locale/programs/ld-ctype.c:3189 locale/programs/ld-ctype.c:3210
+#: locale/programs/ld-ctype.c:3231 locale/programs/ld-ctype.c:3271
+#: locale/programs/ld-ctype.c:3292 locale/programs/ld-ctype.c:3359
+#: locale/programs/ld-ctype.c:3401 locale/programs/ld-ctype.c:3426
+#, c-format
+msgid "%s: character `%s' not defined while needed as default value"
+msgstr "%s: chưa xác định ký tự « %s » mà cần thiết làm giá trị mặc định"
+
+#: locale/programs/ld-ctype.c:3048 locale/programs/ld-ctype.c:3132
+#: locale/programs/ld-ctype.c:3152 locale/programs/ld-ctype.c:3173
+#: locale/programs/ld-ctype.c:3194 locale/programs/ld-ctype.c:3215
+#: locale/programs/ld-ctype.c:3236 locale/programs/ld-ctype.c:3276
+#: locale/programs/ld-ctype.c:3297 locale/programs/ld-ctype.c:3364
+#, c-format
+msgid "%s: character `%s' in charmap not representable with one byte"
+msgstr "%s: ký tự « %s » trong sơ đồ ký tự không thể được đại diện dùng một byte"
+
+#: locale/programs/ld-ctype.c:3408 locale/programs/ld-ctype.c:3433
+#, c-format
+msgid "%s: character `%s' needed as default value not representable with one byte"
+msgstr "%s: ký tự « %s » cần thiết làm giá trị mặc định mà không thể được đại diện dùng một byte"
+
+#: locale/programs/ld-ctype.c:3489
+#, c-format
+msgid "no output digits defined and none of the standard names in the charmap"
+msgstr "chưa xác định chữ số kết xuất hoặc tên tiêu chuẩn trong sơ đồ ký tự"
+
+#: locale/programs/ld-ctype.c:3780
+#, c-format
+msgid "%s: transliteration data from locale `%s' not available"
+msgstr "%s: không có sẵn dữ liệu chuyển chữ từ miền địa phương « %s »"
+
+#: locale/programs/ld-ctype.c:3881
+#, c-format
+msgid "%s: table for class \"%s\": %lu bytes\n"
+msgstr "%s: bảng cho hạng « %s »: %lu byte\n"
+
+#: locale/programs/ld-ctype.c:3950
+#, c-format
+msgid "%s: table for map \"%s\": %lu bytes\n"
+msgstr "%s: bảng cho sơ đồ « %s »: %lu byte\n"
+
+#: locale/programs/ld-ctype.c:4083
+#, c-format
+msgid "%s: table for width: %lu bytes\n"
+msgstr "%s: bảng cho chiều rộng: %lu byte\n"
+
+#: locale/programs/ld-identification.c:170
+#, c-format
+msgid "%s: no identification for category `%s'"
+msgstr "%s: không có đồ nhận diện phân loại « %s »"
+
+#: locale/programs/ld-identification.c:435
+#, c-format
+msgid "%s: duplicate category version definition"
+msgstr "%s: lời xác định phiên bản phân loại trùng"
+
+#: locale/programs/ld-measurement.c:113
+#, c-format
+msgid "%s: invalid value for field `%s'"
+msgstr "%s: giá trị không hợp lệ cho trường « %s »"
+
+#: locale/programs/ld-messages.c:114 locale/programs/ld-messages.c:148
+#, c-format
+msgid "%s: field `%s' undefined"
+msgstr "%s: chưa xác định trường « %s »"
+
+#: locale/programs/ld-messages.c:121 locale/programs/ld-messages.c:155
+#: locale/programs/ld-monetary.c:256 locale/programs/ld-numeric.c:118
+#, c-format
+msgid "%s: value for field `%s' must not be an empty string"
+msgstr "%s: giá trị cho trường « %s » không thể là một chuỗi rỗng"
+
+#: locale/programs/ld-messages.c:137 locale/programs/ld-messages.c:171
+#, c-format
+msgid "%s: no correct regular expression for field `%s': %s"
+msgstr "%s: không có biểu thức chính quy đúng cho trường « %s »: %s"
+
+#: locale/programs/ld-monetary.c:224
+#, c-format
+msgid "%s: value of field `int_curr_symbol' has wrong length"
+msgstr "%s: giá trị của trường « int_curr_symbol » có chiều dài không đúng"
+
+#: locale/programs/ld-monetary.c:237
+#, c-format
+msgid "%s: value of field `int_curr_symbol' does not correspond to a valid name in ISO 4217"
+msgstr "%s: giá trị của trường « int_curr_symbol » không tương ứng với tên hợp lệ theo ISO 4217"
+
+#: locale/programs/ld-monetary.c:285 locale/programs/ld-monetary.c:315
+#, c-format
+msgid "%s: value for field `%s' must be in range %d...%d"
+msgstr "%s: giá trị của trường « %s » phải nằm trong phạm vi %d...%d"
+
+#: locale/programs/ld-monetary.c:747 locale/programs/ld-numeric.c:274
+#, c-format
+msgid "%s: value for field `%s' must be a single character"
+msgstr "%s: giá trị của trường « %s » phải là một ký tự riêng lẻ"
+
+#: locale/programs/ld-monetary.c:844 locale/programs/ld-numeric.c:318
+#, c-format
+msgid "%s: `-1' must be last entry in `%s' field"
+msgstr "%s: « -1 » phải là mục nhập cuối cùng trong trường « %s »"
+
+#: locale/programs/ld-monetary.c:866 locale/programs/ld-numeric.c:335
+#, c-format
+msgid "%s: values for field `%s' must be smaller than 127"
+msgstr "%s: các giá trị cho trường « %s » phải nhỏ hơn 127"
+
+#: locale/programs/ld-monetary.c:909
+msgid "conversion rate value cannot be zero"
+msgstr "giá trị tỷ lệ chuyển đổi không thể là số không"
+
+#: locale/programs/ld-name.c:129 locale/programs/ld-telephone.c:126
+#: locale/programs/ld-telephone.c:149
+#, c-format
+msgid "%s: invalid escape sequence in field `%s'"
+msgstr "%s: dây thoát không hợp lệ trong trường « %s »"
+
+#: locale/programs/ld-time.c:247
+#, c-format
+msgid "%s: direction flag in string %Zd in `era' field is not '+' nor '-'"
+msgstr "%s: cờ hướng trong chuỗi %Zd trong trường « era » không phải là « + », cũng không phải là » - »"
+
+#: locale/programs/ld-time.c:258
+#, c-format
+msgid "%s: direction flag in string %Zd in `era' field is not a single character"
+msgstr "%s: cờ hướng trong chuỗi %Zd trong trường « era » không phải là một ký tự riêng lẻ"
+
+#: locale/programs/ld-time.c:271
+#, c-format
+msgid "%s: invalid number for offset in string %Zd in `era' field"
+msgstr "%s: số không hợp lệ với bù trong hướng %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:279
+#, c-format
+msgid "%s: garbage at end of offset value in string %Zd in `era' field"
+msgstr "%s: gặp rác ở kết thúc của giá trị bù trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:330
+#, c-format
+msgid "%s: invalid starting date in string %Zd in `era' field"
+msgstr "%s: ngày bắt đầu không hợp lệ trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:339
+#, c-format
+msgid "%s: garbage at end of starting date in string %Zd in `era' field "
+msgstr "%s: gặp rác ở kết thúc của ngày bắt đầu trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:358
+#, c-format
+msgid "%s: starting date is invalid in string %Zd in `era' field"
+msgstr "%s: ngày bắt đầu không hợp lệ trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:407
+#, c-format
+msgid "%s: invalid stopping date in string %Zd in `era' field"
+msgstr "%s: ngày kết thúc không hợp lệ trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:416
+#, c-format
+msgid "%s: garbage at end of stopping date in string %Zd in `era' field"
+msgstr "%s: gặp rác ở kết thúc của ngày kết thúc trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:435
+#, c-format
+msgid "%s: stopping date is invalid in string %Zd in `era' field"
+msgstr "%s: ngày kết thúc không hợp lệ trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:444
+#, c-format
+msgid "%s: missing era name in string %Zd in `era' field"
+msgstr "%s: thiếu tên thời đại trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:456
+#, c-format
+msgid "%s: missing era format in string %Zd in `era' field"
+msgstr "%s: thiếu định dạng thời đại trong chuỗi %Zd trong trường « era »"
+
+#: locale/programs/ld-time.c:497
+#, c-format
+msgid "%s: third operand for value of field `%s' must not be larger than %d"
+msgstr "%s: toán hạng thứ ba cho giá trị của trường « %s » không thể vượt quá %d"
+
+#: locale/programs/ld-time.c:505 locale/programs/ld-time.c:513
+#: locale/programs/ld-time.c:521
+#, c-format
+msgid "%s: values for field `%s' must not be larger than %d"
+msgstr "%s: giá trị cho trường « %s » không thể vượt quá %d"
+
+#: locale/programs/ld-time.c:1004
+#, c-format
+msgid "%s: too few values for field `%s'"
+msgstr "%s: quá nhiều giá trị cho trường « %s »"
+
+#: locale/programs/ld-time.c:1049
+msgid "extra trailing semicolon"
+msgstr "dấu chấm phẩy thêm đi theo"
+
+#: locale/programs/ld-time.c:1052
+#, c-format
+msgid "%s: too many values for field `%s'"
+msgstr "%s: quá nhiều giá trị cho trường « %s »"
+
+#: locale/programs/linereader.c:130
+msgid "trailing garbage at end of line"
+msgstr "gặp rác đi theo ở kết thúc dòng"
+
+#: locale/programs/linereader.c:298
+msgid "garbage at end of number"
+msgstr "gặp rác ở kết thúc số"
+
+#: locale/programs/linereader.c:410
+msgid "garbage at end of character code specification"
+msgstr "gặp rác ở kết thúc của đặc tả mã ký tự"
+
+#: locale/programs/linereader.c:496
+msgid "unterminated symbolic name"
+msgstr "tên tượng trưng chưa chấm dứt"
+
+#: locale/programs/linereader.c:623
+msgid "illegal escape sequence at end of string"
+msgstr "dãy thoát cấm ở kết thúc của chuỗi"
+
+#: locale/programs/linereader.c:627 locale/programs/linereader.c:855
+msgid "unterminated string"
+msgstr "chuỗi chưa chấm dứt"
+
+#: locale/programs/linereader.c:669
+msgid "non-symbolic character value should not be used"
+msgstr "không nên dùng giá trị ký tự không phải tượng trưng"
+
+#: locale/programs/linereader.c:816
+#, c-format
+msgid "symbol `%.*s' not in charmap"
+msgstr "ký hiệu « %.*s » không nằm trong sơ đồ ký tự"
+
+#: locale/programs/linereader.c:837
+#, c-format
+msgid "symbol `%.*s' not in repertoire map"
+msgstr "ký hiệu « %.*s » không nằm trong sơ đồ repertoire"
+
+#: locale/programs/locale.c:74
+msgid "System information:"
+msgstr "Thông tin hệ thống:"
+
+#: locale/programs/locale.c:76
+msgid "Write names of available locales"
+msgstr "Ghi tên của các miền địa phương sẵn sàng"
+
+#: locale/programs/locale.c:78
+msgid "Write names of available charmaps"
+msgstr "Ghi tên của các sơ đồ ký tự sẵn sàng"
+
+#: locale/programs/locale.c:79
+msgid "Modify output format:"
+msgstr "Sửa đổi định dạng xuất:"
+
+#: locale/programs/locale.c:80
+msgid "Write names of selected categories"
+msgstr "Ghi tên của các phân loại đã chọn"
+
+#: locale/programs/locale.c:81
+msgid "Write names of selected keywords"
+msgstr "Ghi tên của các từ khoá đã chọn"
+
+#: locale/programs/locale.c:82
+msgid "Print more information"
+msgstr "In thêm thông tin"
+
+#: locale/programs/locale.c:87
+msgid ""
+"Get locale-specific information.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Lấy thông tin đặc trưng cho miền địa phương.\n"
+"Để tìm hướng dẫn về thông báo lỗi, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: locale/programs/locale.c:92
+msgid ""
+"NAME\n"
+"[-a|-m]"
+msgstr ""
+"TÊN\n"
+"[-a|-m]"
+
+#: locale/programs/locale.c:193
+#, c-format
+msgid "Cannot set LC_CTYPE to default locale"
+msgstr "Không thể đặt LC_TYPE thành miền địa phương mặc định"
+
+#: locale/programs/locale.c:195
+#, c-format
+msgid "Cannot set LC_MESSAGES to default locale"
+msgstr "Không thể đặt LC_MESSAGES thành miền địa phương mặc định"
+
+#: locale/programs/locale.c:208
+#, c-format
+msgid "Cannot set LC_COLLATE to default locale"
+msgstr "Không thể đặt LC_COLLATE thành miền địa phương mặc định"
+
+#: locale/programs/locale.c:224
+#, c-format
+msgid "Cannot set LC_ALL to default locale"
+msgstr "Không thể đặt LC_ALL thành miền địa phương mặc định"
+
+#: locale/programs/locale.c:500
+#, c-format
+msgid "while preparing output"
+msgstr "trong khi chuẩn bị kết xuất"
+
+#: locale/programs/localedef.c:120
+msgid "Input Files:"
+msgstr "Các tập tin nhập vào :"
+
+#: locale/programs/localedef.c:122
+msgid "Symbolic character names defined in FILE"
+msgstr "Các tên ký tự tượng trưng được xác định trong TẬP_TIN"
+
+#: locale/programs/localedef.c:123
+msgid "Source definitions are found in FILE"
+msgstr "Các lời xác định nguồn nằm trong TẬP_TIN"
+
+#: locale/programs/localedef.c:125
+msgid "FILE contains mapping from symbolic names to UCS4 values"
+msgstr "TẬP_TIN chứa sự ánh xạ từ tên tượng trưng đến giá trị UCS4"
+
+#: locale/programs/localedef.c:129
+msgid "Create output even if warning messages were issued"
+msgstr "Tạo kết xuất thậm chí nếu có cảnh báo"
+
+#: locale/programs/localedef.c:130
+msgid "Create old-style tables"
+msgstr "Tạo bảng kiểu cũ"
+
+#: locale/programs/localedef.c:131
+msgid "Optional output file prefix"
+msgstr "Tiền tố tập tin xuất tùy chọn"
+
+#: locale/programs/localedef.c:132
+msgid "Be strictly POSIX conform"
+msgstr "Làm cho hợp hoàn toàn với POSIX"
+
+#: locale/programs/localedef.c:134
+msgid "Suppress warnings and information messages"
+msgstr "Thu hồi các cảnh báo và thông điệp thông tin"
+
+#: locale/programs/localedef.c:135
+msgid "Print more messages"
+msgstr "In thêm thông điệp"
+
+#: locale/programs/localedef.c:136
+msgid "Archive control:"
+msgstr "Điều khiển kho lưu :"
+
+#: locale/programs/localedef.c:138
+msgid "Don't add new data to archive"
+msgstr "Đừng thêm dữ liệu mới vào kho lưu"
+
+#: locale/programs/localedef.c:140
+msgid "Add locales named by parameters to archive"
+msgstr "Thêm vào kho lưu các miền địa phương được tham số đặt tên"
+
+#: locale/programs/localedef.c:141
+msgid "Replace existing archive content"
+msgstr "Thay thế nội dung kho lưu đã có"
+
+#: locale/programs/localedef.c:143
+msgid "Remove locales named by parameters from archive"
+msgstr "Gỡ bỏ các miền địa phương được đặt tên bằng tham số từ kho lưu"
+
+#: locale/programs/localedef.c:144
+msgid "List content of archive"
+msgstr "Liệt kê nội dung của kho lưu"
+
+#: locale/programs/localedef.c:146
+msgid "locale.alias file to consult when making archive"
+msgstr "tập tin locale.alias cần đọc khi tạo kho lưu"
+
+#: locale/programs/localedef.c:151
+msgid "Compile locale specification"
+msgstr "Biên dịch đặc tả miền địa phương"
+
+#: locale/programs/localedef.c:154
+msgid ""
+"NAME\n"
+"[--add-to-archive|--delete-from-archive] FILE...\n"
+"--list-archive [FILE]"
+msgstr ""
+"TÊN\n"
+"[--add-to-archive|--delete-from-archive] TẬP_TIN...\n"
+"--list-archive [TẬP_TIN]"
+
+#: locale/programs/localedef.c:232
+#, c-format
+msgid "cannot create directory for output files"
+msgstr "không thể tạo thư mục cho tập tin kết xuất"
+
+#: locale/programs/localedef.c:243
+#, c-format
+msgid "FATAL: system does not define `_POSIX2_LOCALEDEF'"
+msgstr "NGHIÊM TRỌNG: hệ thống không xác định « _POSIX2_LOCALEDEF »"
+
+#: locale/programs/localedef.c:257 locale/programs/localedef.c:273
+#: locale/programs/localedef.c:599 locale/programs/localedef.c:619
+#, c-format
+msgid "cannot open locale definition file `%s'"
+msgstr "không thể mở tập tin xác định miền địa phương « %s »"
+
+#: locale/programs/localedef.c:285
+#, c-format
+msgid "cannot write output files to `%s'"
+msgstr "không thể ghi tập tin kết xuất vào « %s »"
+
+#: locale/programs/localedef.c:366
+#, c-format
+msgid ""
+"System's directory for character maps : %s\n"
+" repertoire maps: %s\n"
+" locale path : %s\n"
+"%s"
+msgstr ""
+"Thư mục của hệ thống cho sơ đồ ký tự : %s\n"
+"\t\tsơ đồ repertoire: %s\n"
+"\t\tđường dẫn miền địa phương: %s\n"
+"%s"
+
+#: locale/programs/localedef.c:567
+#, c-format
+msgid "circular dependencies between locale definitions"
+msgstr "quan hệ phụ thuộc vòng tròn giữa các lời xác định miền địa phương"
+
+#: locale/programs/localedef.c:573
+#, c-format
+msgid "cannot add already read locale `%s' a second time"
+msgstr "không thể thêm lần thứ hai miền địa phương đã đọc « %s »"
+
+#: locale/programs/locarchive.c:88 locale/programs/locarchive.c:261
+#, c-format
+msgid "cannot create temporary file"
+msgstr "không thể tạo tập tin tạm thời"
+
+#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:307
+#, c-format
+msgid "cannot initialize archive file"
+msgstr "không thể khởi tạo tập tin kho lưu"
+
+#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:314
+#, c-format
+msgid "cannot resize archive file"
+msgstr "không thể thay đổi kích cỡ của tập tin kho lưu"
+
+#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:323
+#: locale/programs/locarchive.c:527
+#, c-format
+msgid "cannot map archive header"
+msgstr "không thể ánh xạ phần đầu của kho lưu"
+
+#: locale/programs/locarchive.c:156
+#, c-format
+msgid "failed to create new locale archive"
+msgstr "lỗi tạo kho lưu miền địa phương mới"
+
+#: locale/programs/locarchive.c:168
+#, c-format
+msgid "cannot change mode of new locale archive"
+msgstr "không thể chuyển đổi chế độ của kho lưu miền địa phương mới"
+
+#: locale/programs/locarchive.c:255
+#, c-format
+msgid "cannot map locale archive file"
+msgstr "không thể ánh xạ tập tin kho lưu"
+
+#: locale/programs/locarchive.c:331
+#, c-format
+msgid "cannot lock new archive"
+msgstr "không thể khoá kho lưu mới"
+
+#: locale/programs/locarchive.c:396
+#, c-format
+msgid "cannot extend locale archive file"
+msgstr "không thể kéo dài tập tin kho lưu miền địa phương"
+
+#: locale/programs/locarchive.c:405
+#, c-format
+msgid "cannot change mode of resized locale archive"
+msgstr "không thể chuyển đổi chế độ của kho lưu miền địa phương có kích cỡ đã thay đổi"
+
+#: locale/programs/locarchive.c:413
+#, c-format
+msgid "cannot rename new archive"
+msgstr "không thể thay đổi tên của kho lưu mới"
+
+#: locale/programs/locarchive.c:466
+#, c-format
+msgid "cannot open locale archive \"%s\""
+msgstr "không thể mở kho lưu miền địa phương « %s »"
+
+#: locale/programs/locarchive.c:471
+#, c-format
+msgid "cannot stat locale archive \"%s\""
+msgstr "không thể lấy trạng thái về kho lưu miền địa phương « %s »"
+
+#: locale/programs/locarchive.c:490
+#, c-format
+msgid "cannot lock locale archive \"%s\""
+msgstr "không thể khoá kho lưu miền địa phương « %s »"
+
+#: locale/programs/locarchive.c:513
+#, c-format
+msgid "cannot read archive header"
+msgstr "không thể đọc phần đầu của kho lưu"
+
+#: locale/programs/locarchive.c:573
+#, c-format
+msgid "locale '%s' already exists"
+msgstr "miền địa phương « %s » đã có."
+
+#: locale/programs/locarchive.c:804 locale/programs/locarchive.c:819
+#: locale/programs/locarchive.c:831 locale/programs/locarchive.c:843
+#: locale/programs/locfile.c:344
+#, c-format
+msgid "cannot add to locale archive"
+msgstr "không thể thêm vào kho lưu miền địa phương"
+
+#: locale/programs/locarchive.c:998
+#, c-format
+msgid "locale alias file `%s' not found"
+msgstr "không tìm thấy tập tin bí danh miền địa phương « %s »"
+
+#: locale/programs/locarchive.c:1142
+#, c-format
+msgid "Adding %s\n"
+msgstr "Đang thêm « %s »\n"
+
+#: locale/programs/locarchive.c:1148
+#, c-format
+msgid "stat of \"%s\" failed: %s: ignored"
+msgstr "lỗi lấy trạng thái về « %s »: %s: bị bỏ qua"
+
+#: locale/programs/locarchive.c:1154
+#, c-format
+msgid "\"%s\" is no directory; ignored"
+msgstr "« %s » không phải là thư mục nên bị bỏ qua"
+
+#: locale/programs/locarchive.c:1161
+#, c-format
+msgid "cannot open directory \"%s\": %s: ignored"
+msgstr "không thể mở thư mục « %s »: %s: bị bỏ qua"
+
+#: locale/programs/locarchive.c:1233
+#, c-format
+msgid "incomplete set of locale files in \"%s\""
+msgstr "tập hợp tập tin miền địa phương chưa hoàn toàn trong « %s »"
+
+#: locale/programs/locarchive.c:1297
+#, c-format
+msgid "cannot read all files in \"%s\": ignored"
+msgstr "không thể đọc tất cả các tập tin trong « %s »: bị bỏ qua"
+
+#: locale/programs/locarchive.c:1367
+#, c-format
+msgid "locale \"%s\" not in archive"
+msgstr "miền địa phương « %s » không nằm trong kho lưu"
+
+#: locale/programs/locfile.c:132
+#, c-format
+msgid "argument to `%s' must be a single character"
+msgstr "đối số cho « %s » phải là một ký tự riêng lẻ"
+
+#: locale/programs/locfile.c:252
+msgid "syntax error: not inside a locale definition section"
+msgstr "gặp lỗi cú pháp: không phải bên trong một phần xác định miền địa phương"
+
+#: locale/programs/locfile.c:626
+#, c-format
+msgid "cannot open output file `%s' for category `%s'"
+msgstr "không thể mở tập tin kết xuất « %s » cho phân loại « %s »"
+
+#: locale/programs/locfile.c:650
+#, c-format
+msgid "failure while writing data for category `%s'"
+msgstr "gặp lỗi khi ghi dữ liệu về phân loại « %s »"
+
+#: locale/programs/locfile.c:746
+#, c-format
+msgid "cannot create output file `%s' for category `%s'"
+msgstr "không thể tạo tập tin kết xuất « %s » cho phân loại « %s »"
+
+#: locale/programs/locfile.c:782
+msgid "expect string argument for `copy'"
+msgstr "đợi đối số chuỗi cho « copy » (sao chép)"
+
+#: locale/programs/locfile.c:786
+msgid "locale name should consist only of portable characters"
+msgstr "tên miền địa phương nên chứa chỉ ký tự di động"
+
+#: locale/programs/locfile.c:805
+msgid "no other keyword shall be specified when `copy' is used"
+msgstr "dùng « copy » (sao chép) thì không ghi rõ từ khoá khác"
+
+#: locale/programs/locfile.c:819
+#, c-format
+msgid "`%1$s' definition does not end with `END %1$s'"
+msgstr "lời xác định « %1$s » không kết thúc với « END %1$s »"
+
+#: locale/programs/repertoire.c:229 locale/programs/repertoire.c:270
+#: locale/programs/repertoire.c:295
+#, c-format
+msgid "syntax error in repertoire map definition: %s"
+msgstr "lỗi cú pháp trong lời xác định sơ đồ repertoire: %s"
+
+#: locale/programs/repertoire.c:271
+msgid "no <Uxxxx> or <Uxxxxxxxx> value given"
+msgstr "chưa đưa ra giá trị <Uxxxx> hoặc <Uxxxxxxxx>"
+
+#: locale/programs/repertoire.c:331
+#, c-format
+msgid "cannot save new repertoire map"
+msgstr "không thể lưu sơ đồ repertoire mới"
+
+#: locale/programs/repertoire.c:342
+#, c-format
+msgid "repertoire map file `%s' not found"
+msgstr "không tìm thấy tập tin sơ đồ repertoire « %s »"
+
+#: login/programs/pt_chown.c:74
+#, c-format
+msgid "Set the owner, group and access permission of the slave pseudo terminal corresponding to the master pseudo terminal passed on file descriptor `%d'. This is the helper program for the `grantpt' function. It is not intended to be run directly from the command line.\n"
+msgstr "Đặt chủ, nhóm và quyền truy cập của thiết bị cuối ảo phụ để tương ứng với thiết bị cuối ảo chính được nhập dùng bộ mô tả tập tin « %d ». Đây là chương trình bổ trợ cho hàm « grantpt ». Nó không dự định được chạy trực tiếp từ dòng lệnh.\n"
+
+#: login/programs/pt_chown.c:84
+#, c-format
+msgid ""
+"The owner is set to the current user, the group is set to `%s', and the access permission is set to `%o'.\n"
+"\n"
+"%s"
+msgstr ""
+"Chủ được đặt thành người dùng hiện thời\n"
+"Nhóm được đặt thành « %s »\n"
+"Quyền truy cập được đặt thành « %o »\n"
+"\n"
+"%s"
+
+#: login/programs/pt_chown.c:161
+#, c-format
+msgid "too many arguments"
+msgstr "quá nhiều đối số"
+
+#: login/programs/pt_chown.c:169
+#, c-format
+msgid "needs to be installed setuid `root'"
+msgstr "cần phải được cài đặt một cách « setuid root »"
+
+#: malloc/mcheck.c:330
+msgid "memory is consistent, library is buggy\n"
+msgstr "bộ nhớ nhất quán mà thư viện chứa lỗi\n"
+
+#: malloc/mcheck.c:333
+msgid "memory clobbered before allocated block\n"
+msgstr "đang ghi đè vào bộ nhớ được dành riêng cho hệ thống, đằng trước khối đã cấp phát cho bạn\n"
+
+#: malloc/mcheck.c:336
+msgid "memory clobbered past end of allocated block\n"
+msgstr "đang ghi đè vào bộ nhớ được dành riêng cho hệ thống, đằng sau khối đã cấp phát cho bạn\n"
+
+#: malloc/mcheck.c:339
+msgid "block freed twice\n"
+msgstr "khối được giải phóng hai lần\n"
+
+#: malloc/mcheck.c:342
+msgid "bogus mcheck_status, library is buggy\n"
+msgstr "trạng thái mcheck_status giả, thư viện chứa lỗi\n"
+
+#: malloc/memusage.sh:27
+msgid "Try \\`memusage --help' for more information."
+msgstr "Hãy thử lệnh trợ giúp « memusage --help » để xem thông tin thêm."
+
+#: malloc/memusage.sh:33
+msgid "memusage: option \\`$1' requires an argument"
+msgstr "memusage: tùy chọn « $1 » cần thiết đối số"
+
+#: malloc/memusage.sh:39
+msgid ""
+"Usage: memusage [OPTION]... PROGRAM [PROGRAMOPTION]...\n"
+"Profile memory usage of PROGRAM.\n"
+"\n"
+" -n,--progname=NAME Name of the program file to profile\n"
+" -p,--png=FILE Generate PNG graphic and store it in FILE\n"
+" -d,--data=FILE Generate binary data file and store it in FILE\n"
+" -u,--unbuffered Don't buffer output\n"
+" -b,--buffer=SIZE Collect SIZE entries before writing them out\n"
+" --no-timer Don't collect additional information through timer\n"
+" -m,--mmap Also trace mmap & friends\n"
+"\n"
+" -?,--help Print this help and exit\n"
+" --usage Give a short usage message\n"
+" -V,--version Print version information and exit\n"
+"\n"
+" The following options only apply when generating graphical output:\n"
+" -t,--time-based Make graph linear in time\n"
+" -T,--total Also draw graph of total memory use\n"
+" --title=STRING Use STRING as title of the graph\n"
+" -x,--x-size=SIZE Make graphic SIZE pixels wide\n"
+" -y,--y-size=SIZE Make graphic SIZE pixels high\n"
+"\n"
+"Mandatory arguments to long options are also mandatory for any corresponding\n"
+"short options.\n"
+"\n"
+"For bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+msgstr ""
+"Sử dụng: memusage [TÙY_CHỌN]... CHƯƠNG_TRÌNH [TÙY_CHỌN_CHƯƠNG_TRÌNH]...\n"
+"Đo hiệu năng sử dụng bộ nhớ của CHƯƠNG_TRÌNH.\n"
+"\n"
+" -n,--progname=TÊN Tên của tập tin chương trình cần đo\n"
+" -p,--png=TẬP_TIN Tạo đồ họa PNG và lưu nó vào tập tin này\n"
+" -d,--data=TẬP_TIN Tạo dữ liệu nhị phân và lưu nó vào tập tin này\n"
+" -u,--unbuffered Đừng chuyển hoán đệm kết xuất\n"
+" -b,--buffer=CỠ Thu thập kích CỠ mục nhập trước khi ghi ra\n"
+" --no-timer Đừng thu thập thêm thông tin thông qua bộ đếm\n"
+" -m,--mmap Cũng đo mmap v.v.\n"
+"\n"
+" -?,--help In trợ giúp này rồi thoát\n"
+" --usage Hiển thị hướng dẫn ngắn\n"
+" -V,--version In thông tin phiên bản rồi thoát\n"
+"\n"
+"Các tùy chọn bên dưới chỉ áp dụng khi tạo kết xuất đồ họa:\n"
+" -t,--time-based Làm cho đồ thị là đường theo thời gian\n"
+" -T,--total Cũng vẽ đồ thị đại diện tổng số tiêu hao bộ nhớ\n"
+" --title=CHUỖI Tựa đề của đồ thị là chuỗi này\n"
+" -x,--x-size=CỠ Kích cỡ này là chiều rộng của đồ thị, theo điểm ảnh\n"
+" -y,--y-size=CỠ Kích cỡ này là chiều cao của đồ thị, theo điểm ảnh\n"
+"\n"
+"Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc\n"
+"với tùy chọn ngắn tương ứng.\n"
+"Để tìm hướng dẫn về thông báo lỗi, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>."
+
+#: malloc/memusage.sh:99
+msgid ""
+"Syntax: memusage [--data=FILE] [--progname=NAME] [--png=FILE] [--unbuffered]\n"
+" [--buffer=SIZE] [--no-timer] [--time-based] [--total]\n"
+" [--title=STRING] [--x-size=SIZE] [--y-size=SIZE]\n"
+" PROGRAM [PROGRAMOPTION]..."
+msgstr ""
+"Cú pháp: memusage [--data=TẬP_TIN] [--progname=TÊN] [--png=TẬP_TIN] [--unbuffered]\n"
+" [--buffer=CỠ] [--no-timer] [--time-based] [--total]\n"
+" [--title=CHUỖI] [--x-size=CỠ] [--y-size=CỠ]\n"
+" CHƯƠNG_TRÌNH [TÙY_CHỌN_CHƯƠNG_TRÌNH]..."
+
+#: malloc/memusage.sh:191
+msgid "memusage: option \\`${1##*=}' is ambiguous"
+msgstr "memusage: tùy chọn « ${1##*=} » là mơ hồ"
+
+#: malloc/memusage.sh:200
+msgid "memusage: unrecognized option \\`$1'"
+msgstr "memusage: không nhận ra tùy chọn « $1 »"
+
+#: malloc/memusage.sh:213
+msgid "No program name given"
+msgstr "Chưa đưa ra tên chương trình"
+
+#: malloc/memusagestat.c:54
+msgid "Name output file"
+msgstr "Đặt tên của tập tin kết xuất"
+
+#: malloc/memusagestat.c:55
+msgid "Title string used in output graphic"
+msgstr "Chuỗi tựa đề được dùng trong đồ họa kết xuất"
+
+#: malloc/memusagestat.c:56
+msgid "Generate output linear to time (default is linear to number of function calls)"
+msgstr "Tạo đồ thị đường theo thời gian (mặc định là đồ thị đường theo số cuộc gọi hàm)"
+
+#: malloc/memusagestat.c:58
+msgid "Also draw graph for total memory consumption"
+msgstr "Cũng vẽ đồ thị đại diện tổng số tiêu hao bộ nhớ"
+
+#: malloc/memusagestat.c:59
+msgid "Make output graphic VALUE pixels wide"
+msgstr "Đặt đồ họa kết xuất có chiều rộng GIÁ_TRỊ (theo điểm ảnh)"
+
+#: malloc/memusagestat.c:60
+msgid "Make output graphic VALUE pixels high"
+msgstr "Đặt đồ họa kết xuất có chiều cao GIÁ_TRỊ (theo điểm ảnh)"
+
+#: malloc/memusagestat.c:65
+msgid "Generate graphic from memory profiling data"
+msgstr "Tạo đồ họa từ dữ liệu đo hiệu năng sử dụng bộ nhớ"
+
+#: malloc/memusagestat.c:68
+msgid "DATAFILE [OUTFILE]"
+msgstr "TẬP_TIN_DỮ_LIỆU [TẬP_TIN_XUẤT]"
+
+#: misc/error.c:118 timezone/zic.c:417
+msgid "Unknown system error"
+msgstr "Gặp lỗi hệ thống không rõ"
+
+#: nis/nis_callback.c:189
+msgid "unable to free arguments"
+msgstr "không thể giải phóng đối số"
+
+#: nis/nis_error.h:1 nis/ypclnt.c:822 nis/ypclnt.c:910 posix/regcomp.c:132
+#: sysdeps/gnu/errlist.c:20
+msgid "Success"
+msgstr "Thành công"
+
+#: nis/nis_error.h:2
+msgid "Probable success"
+msgstr "Rất có thể thành công"
+
+#: nis/nis_error.h:3
+msgid "Not found"
+msgstr "Không tìm thấy"
+
+#: nis/nis_error.h:4
+msgid "Probably not found"
+msgstr "Rất có thể không tìm thấy"
+
+#: nis/nis_error.h:5
+msgid "Cache expired"
+msgstr "Bộ nhớ tạm quá hạn"
+
+#: nis/nis_error.h:6
+msgid "NIS+ servers unreachable"
+msgstr "Không thể tới máy phục vụ NIS+"
+
+#: nis/nis_error.h:7
+msgid "Unknown object"
+msgstr "Đối tượng không rõ"
+
+#: nis/nis_error.h:8
+msgid "Server busy, try again"
+msgstr "Máy phục vụ đang bận, hãy thử lại"
+
+#: nis/nis_error.h:9
+msgid "Generic system error"
+msgstr "Lỗi hệ thống chung"
+
+#: nis/nis_error.h:10
+msgid "First/next chain broken"
+msgstr "Dây thứ nhất/kế tiếp bị ngắt"
+
+#. TRANS Permission denied; the file permissions do not allow the attempted operation.
+#: nis/nis_error.h:11 nis/ypclnt.c:867 sysdeps/gnu/errlist.c:157
+msgid "Permission denied"
+msgstr "Không đủ quyền truy cập"
+
+#: nis/nis_error.h:12
+msgid "Not owner"
+msgstr "Không phải chủ"
+
+#: nis/nis_error.h:13
+msgid "Name not served by this server"
+msgstr "Tên không phải được phục vụ bằng máy này"
+
+#: nis/nis_error.h:14
+msgid "Server out of memory"
+msgstr "Tràn bộ nhớ của máy phục vụ"
+
+#: nis/nis_error.h:15
+msgid "Object with same name exists"
+msgstr "Một đối tượng cùng tên đã có"
+
+#: nis/nis_error.h:16
+msgid "Not master server for this domain"
+msgstr "Không phải máy phục vụ chính cho miền này"
+
+#: nis/nis_error.h:17
+msgid "Invalid object for operation"
+msgstr "Đối tượng không hợp lệ với thao tác"
+
+#: nis/nis_error.h:18
+msgid "Malformed name, or illegal name"
+msgstr "Tên dạng sai hoặc cấm"
+
+#: nis/nis_error.h:19
+msgid "Unable to create callback"
+msgstr "Không thể tạo cuộc gọi ngược"
+
+#: nis/nis_error.h:20
+msgid "Results sent to callback proc"
+msgstr "Kết quả được gửi cho tiến trình gọi ngược"
+
+#: nis/nis_error.h:21
+msgid "Not found, no such name"
+msgstr "Không tìm thấy, không có tên như vậy"
+
+#: nis/nis_error.h:22
+msgid "Name/entry isn't unique"
+msgstr "Tên/mục nhập không phải là duy nhất"
+
+#: nis/nis_error.h:23
+msgid "Modification failed"
+msgstr "Lỗi sửa đổi"
+
+#: nis/nis_error.h:24
+msgid "Database for table does not exist"
+msgstr "Không có cơ sở dư liệu cho bảng đó"
+
+#: nis/nis_error.h:25
+msgid "Entry/table type mismatch"
+msgstr "Sai khớp mục nhập và bảng"
+
+#: nis/nis_error.h:26
+msgid "Link points to illegal name"
+msgstr "Liên kết chỉ tới tên cấm"
+
+#: nis/nis_error.h:27
+msgid "Partial success"
+msgstr "Thành công bộ phận"
+
+#: nis/nis_error.h:28
+msgid "Too many attributes"
+msgstr "Quá nhiều thuộc tính"
+
+#: nis/nis_error.h:29
+msgid "Error in RPC subsystem"
+msgstr "Gặp lỗi trong hệ thống con RPC"
+
+#: nis/nis_error.h:30
+msgid "Missing or malformed attribute"
+msgstr "Thuộc tính còn thiếu hoặc dạng sai"
+
+#: nis/nis_error.h:31
+msgid "Named object is not searchable"
+msgstr "Đối tượng có tên không thể được tìm"
+
+#: nis/nis_error.h:32
+msgid "Error while talking to callback proc"
+msgstr "Gặp lỗi khi liên lạc với tiến trình gọi ngược"
+
+#: nis/nis_error.h:33
+msgid "Non NIS+ namespace encountered"
+msgstr "Gặp miền tên không phải NIS+"
+
+#: nis/nis_error.h:34
+msgid "Illegal object type for operation"
+msgstr "Kiểu đối tượng cấm cho thao tác"
+
+#: nis/nis_error.h:35
+msgid "Passed object is not the same object on server"
+msgstr "Đối tượng đã phân tích không phải trùng với đối tượng trên máy phục vụ"
+
+#: nis/nis_error.h:36
+msgid "Modify operation failed"
+msgstr "Thao tác sửa đổi bị lỗi"
+
+#: nis/nis_error.h:37
+msgid "Query illegal for named table"
+msgstr "Truy vấn cấm cho bảng đã đặt tên"
+
+#: nis/nis_error.h:38
+msgid "Attempt to remove a non-empty table"
+msgstr "Đã thử gỡ bỏ một bảng không rỗng"
+
+#: nis/nis_error.h:39
+msgid "Error in accessing NIS+ cold start file. Is NIS+ installed?"
+msgstr "Gặp lỗi khi truy cập tập tin khởi chạy lạnh NIS+. NIS+ đã được cài đặt chưa?"
+
+#: nis/nis_error.h:40
+msgid "Full resync required for directory"
+msgstr "Thư mục cần thiết đồng bộ lại đầy đủ"
+
+#: nis/nis_error.h:41
+msgid "NIS+ operation failed"
+msgstr "Thao tác NIS+ bị lỗi"
+
+#: nis/nis_error.h:42
+msgid "NIS+ service is unavailable or not installed"
+msgstr "Dịch vụ NIS+ không sẵn sàng hoặc chưa được cài đặt"
+
+#: nis/nis_error.h:43
+msgid "Yes, 42 is the meaning of life"
+msgstr "Đúng vậy, đời sống nghĩa là 42"
+
+#: nis/nis_error.h:44
+msgid "Unable to authenticate NIS+ server"
+msgstr "Không thể xác thực với máy phục vụ NIS+"
+
+#: nis/nis_error.h:45
+msgid "Unable to authenticate NIS+ client"
+msgstr "Không thể xác thực với trình khách NIS+"
+
+#: nis/nis_error.h:46
+msgid "No file space on server"
+msgstr "Không có sức chứa tập tin còn rảnh trên máy phục vụ"
+
+#: nis/nis_error.h:47
+msgid "Unable to create process on server"
+msgstr "Không thể tạo tiến trình trên máy phục vụ"
+
+#: nis/nis_error.h:48
+msgid "Master server busy, full dump rescheduled."
+msgstr "Máy phục vụ chính đang bận nên lập kế hoạch lại cho tiến trình đổ đầy đủ"
+
+#: nis/nis_local_names.c:122
+#, c-format
+msgid "LOCAL entry for UID %d in directory %s not unique\n"
+msgstr "Mục nhập LOCAL (cục bộ) cho UID %d trong thư mục %s không phải duy nhất\n"
+
+#: nis/nis_print.c:51
+msgid "UNKNOWN"
+msgstr "KHÔNG RÕ"
+
+#: nis/nis_print.c:109
+msgid "BOGUS OBJECT\n"
+msgstr "ĐỐI TƯỢNG GIẢ\n"
+
+#: nis/nis_print.c:112
+msgid "NO OBJECT\n"
+msgstr "KHÔNG CÓ ĐỐI TƯỢNG\n"
+
+#: nis/nis_print.c:115
+msgid "DIRECTORY\n"
+msgstr "THƯ MỤC\n"
+
+#: nis/nis_print.c:118
+msgid "GROUP\n"
+msgstr "NHÓM\n"
+
+#: nis/nis_print.c:121
+msgid "TABLE\n"
+msgstr "BẢNG\n"
+
+#: nis/nis_print.c:124
+msgid "ENTRY\n"
+msgstr "MỤC NHẬP\n"
+
+#: nis/nis_print.c:127
+msgid "LINK\n"
+msgstr "LIÊN KẾT\n"
+
+#: nis/nis_print.c:130
+msgid "PRIVATE\n"
+msgstr "RIÊNG\n"
+
+#: nis/nis_print.c:133
+msgid "(Unknown object)\n"
+msgstr "(Không rõ đối tượng)\n"
+
+#: nis/nis_print.c:167
+#, c-format
+msgid "Name : `%s'\n"
+msgstr "Tên : « %s »\n"
+
+#: nis/nis_print.c:168
+#, c-format
+msgid "Type : %s\n"
+msgstr "Kiểu : %s\n"
+
+#: nis/nis_print.c:173
+msgid "Master Server :\n"
+msgstr "Máy phục vụ chính:\n"
+
+#: nis/nis_print.c:175
+msgid "Replicate :\n"
+msgstr "Tái tạo :\n"
+
+#: nis/nis_print.c:176
+#, c-format
+msgid "\tName : %s\n"
+msgstr "\tTên : %s\n"
+
+#: nis/nis_print.c:177
+msgid "\tPublic Key : "
+msgstr "\tKhoá công : "
+
+#: nis/nis_print.c:181
+msgid "None.\n"
+msgstr "Không có.\n"
+
+#: nis/nis_print.c:184
+#, c-format
+msgid "Diffie-Hellmann (%d bits)\n"
+msgstr "Diffie-Hellmann (%d bit)\n"
+
+#: nis/nis_print.c:189
+#, c-format
+msgid "RSA (%d bits)\n"
+msgstr "RSA (%d bit)\n"
+
+# Name: don't translate/Tên: đừng dịch
+#: nis/nis_print.c:192
+msgid "Kerberos.\n"
+msgstr "Kerberos.\n"
+
+#: nis/nis_print.c:195
+#, c-format
+msgid "Unknown (type = %d, bits = %d)\n"
+msgstr "Không rõ (kiểu = %d, bit = %d)\n"
+
+#: nis/nis_print.c:206
+#, c-format
+msgid "\tUniversal addresses (%u)\n"
+msgstr "\tĐịa chỉ chung (%u)\n"
+
+#: nis/nis_print.c:228
+msgid "Time to live : "
+msgstr "Thời gian hoạt động :"
+
+#: nis/nis_print.c:230
+msgid "Default Access rights :\n"
+msgstr "Quyền truy cập mặc định :\n"
+
+#: nis/nis_print.c:239
+#, c-format
+msgid "\tType : %s\n"
+msgstr "\tKiểu : %s\n"
+
+#: nis/nis_print.c:240
+msgid "\tAccess rights: "
+msgstr "\tQuyền truy cập: "
+
+#: nis/nis_print.c:254
+msgid "Group Flags :"
+msgstr "Cờ nhóm:"
+
+#: nis/nis_print.c:257
+msgid ""
+"\n"
+"Group Members :\n"
+msgstr ""
+"\n"
+"Thành viên của nhóm :\n"
+
+#: nis/nis_print.c:269
+#, c-format
+msgid "Table Type : %s\n"
+msgstr "Kiểu bảng : %s\n"
+
+#: nis/nis_print.c:270
+#, c-format
+msgid "Number of Columns : %d\n"
+msgstr "Số cột : %d\n"
+
+#: nis/nis_print.c:271
+#, c-format
+msgid "Character Separator : %c\n"
+msgstr "Dấu tách ký tự : %c\n"
+
+#: nis/nis_print.c:272
+#, c-format
+msgid "Search Path : %s\n"
+msgstr "Đường dẫn tìm kiếm : %s\n"
+
+#: nis/nis_print.c:273
+msgid "Columns :\n"
+msgstr "Cột :\n"
+
+#: nis/nis_print.c:276
+#, c-format
+msgid "\t[%d]\tName : %s\n"
+msgstr "\t[%d]\tTên : %s\n"
+
+#: nis/nis_print.c:278
+msgid "\t\tAttributes : "
+msgstr "\tThuộc tính : "
+
+#: nis/nis_print.c:280
+msgid "\t\tAccess Rights : "
+msgstr "\t\tQuyền truy cập : "
+
+#: nis/nis_print.c:290
+msgid "Linked Object Type : "
+msgstr "Kiểu đối tượng đã liên kết : "
+
+#: nis/nis_print.c:292
+#, c-format
+msgid "Linked to : %s\n"
+msgstr "Được liên kết đến : %s\n"
+
+#: nis/nis_print.c:302
+#, c-format
+msgid "\tEntry data of type %s\n"
+msgstr "\tDữ liệu mục nhập có kiểu %s\n"
+
+#: nis/nis_print.c:305
+#, c-format
+msgid "\t[%u] - [%u bytes] "
+msgstr "\t[%u] - [%u byte] "
+
+#: nis/nis_print.c:308
+msgid "Encrypted data\n"
+msgstr "Dữ liệu đã mật mã\n"
+
+#: nis/nis_print.c:310
+msgid "Binary data\n"
+msgstr "Dữ liệu nhị phân\n"
+
+#: nis/nis_print.c:326
+#, c-format
+msgid "Object Name : %s\n"
+msgstr "Tên đối tượng : %s\n"
+
+#: nis/nis_print.c:327
+#, c-format
+msgid "Directory : %s\n"
+msgstr "Thư mục : %s\n"
+
+#: nis/nis_print.c:328
+#, c-format
+msgid "Owner : %s\n"
+msgstr "Chủ : %s\n"
+
+#: nis/nis_print.c:329
+#, c-format
+msgid "Group : %s\n"
+msgstr "Nhóm : %s\n"
+
+#: nis/nis_print.c:330
+msgid "Access Rights : "
+msgstr "Quyền truy cập : "
+
+#: nis/nis_print.c:332
+#, c-format
+msgid ""
+"\n"
+"Time to Live : "
+msgstr ""
+"\n"
+"Thời gian hoạt động : "
+
+#: nis/nis_print.c:335
+#, c-format
+msgid "Creation Time : %s"
+msgstr "Giờ tạo : %s"
+
+#: nis/nis_print.c:337
+#, c-format
+msgid "Mod. Time : %s"
+msgstr "Giờ sửa : %s"
+
+#: nis/nis_print.c:338
+msgid "Object Type : "
+msgstr "Kiểu đối tượng : "
+
+#: nis/nis_print.c:358
+#, c-format
+msgid " Data Length = %u\n"
+msgstr " Độ dài dữ liệu = %u\n"
+
+#: nis/nis_print.c:372
+#, c-format
+msgid "Status : %s\n"
+msgstr "Trạng thái : %s\n"
+
+#: nis/nis_print.c:373
+#, c-format
+msgid "Number of objects : %u\n"
+msgstr "Số đối tượng : %u\n"
+
+#: nis/nis_print.c:377
+#, c-format
+msgid "Object #%d:\n"
+msgstr "Đối tượng số %d:\n"
+
+#: nis/nis_print_group_entry.c:117
+#, c-format
+msgid "Group entry for \"%s.%s\" group:\n"
+msgstr "Mục nhập nhóm cho nhóm « %s.%s »:\n"
+
+#: nis/nis_print_group_entry.c:125
+msgid " Explicit members:\n"
+msgstr " Thành viên dứt khoát:\n"
+
+#: nis/nis_print_group_entry.c:130
+msgid " No explicit members\n"
+msgstr " Không có thành viên dứt khoát\n"
+
+#: nis/nis_print_group_entry.c:133
+msgid " Implicit members:\n"
+msgstr " Thành viên ngầm:\n"
+
+#: nis/nis_print_group_entry.c:138
+msgid " No implicit members\n"
+msgstr " Không có bộ phận ngầm\n"
+
+#: nis/nis_print_group_entry.c:141
+msgid " Recursive members:\n"
+msgstr " Bộ phận đệ quy:\n"
+
+#: nis/nis_print_group_entry.c:146
+msgid " No recursive members\n"
+msgstr " Không có bộ phận đệ quy\n"
+
+#: nis/nis_print_group_entry.c:149
+msgid " Explicit nonmembers:\n"
+msgstr " Dứt khoát không phải bộ phận:\n"
+
+#: nis/nis_print_group_entry.c:154
+msgid " No explicit nonmembers\n"
+msgstr " Không có cái dứt khoát không phải bộ phận\n"
+
+#: nis/nis_print_group_entry.c:157
+msgid " Implicit nonmembers:\n"
+msgstr " Ngầm không phải bộ phận:\n"
+
+#: nis/nis_print_group_entry.c:162
+msgid " No implicit nonmembers\n"
+msgstr " Không có cái ngầm không phải bộ phận\n"
+
+#: nis/nis_print_group_entry.c:165
+msgid " Recursive nonmembers:\n"
+msgstr " Đệ quy không phải bộ phận\n"
+
+#: nis/nis_print_group_entry.c:170
+msgid " No recursive nonmembers\n"
+msgstr " Không có cái đệ quy không phải bộ phận\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:101
+#: nis/nss_nisplus/nisplus-publickey.c:183
+#, c-format
+msgid "DES entry for netname %s not unique\n"
+msgstr "Mục nhập DES cho netname %s không phải duy nhất\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:220
+#, c-format
+msgid "netname2user: missing group id list in `%s'"
+msgstr "netname2user: thiếu danh sách mã số nhóm trong « %s »"
+
+#: nis/nss_nisplus/nisplus-publickey.c:302
+#: nis/nss_nisplus/nisplus-publickey.c:308
+#: nis/nss_nisplus/nisplus-publickey.c:373
+#: nis/nss_nisplus/nisplus-publickey.c:382
+#, c-format
+msgid "netname2user: (nis+ lookup): %s\n"
+msgstr "netname2user: (nis+ tra cứu): %s\n"
+
+#: nis/nss_nisplus/nisplus-publickey.c:321
+#, c-format
+msgid "netname2user: DES entry for %s in directory %s not unique"
+msgstr "netname2user: mục nhập DES cho %s trong thư mục %s không phải duy nhất"
+
+#: nis/nss_nisplus/nisplus-publickey.c:339
+#, c-format
+msgid "netname2user: principal name `%s' too long"
+msgstr "netname2user: tên chính « %s » quá dài"
+
+#: nis/nss_nisplus/nisplus-publickey.c:395
+#, c-format
+msgid "netname2user: LOCAL entry for %s in directory %s not unique"
+msgstr "netname2user: mục nhập LOCAL cho %s trong thư mục %s không phải duy nhất"
+
+#: nis/nss_nisplus/nisplus-publickey.c:402
+msgid "netname2user: should not have uid 0"
+msgstr "netname2user: không nên có UID 0"
+
+#: nis/ypclnt.c:825
+msgid "Request arguments bad"
+msgstr "Sai đối số yêu cầu"
+
+#: nis/ypclnt.c:828
+msgid "RPC failure on NIS operation"
+msgstr "Lỗi RPC trên thao tác NIS"
+
+#: nis/ypclnt.c:831
+msgid "Can't bind to server which serves this domain"
+msgstr "Không thể đóng kết với máy có phục vụ miền này"
+
+#: nis/ypclnt.c:834
+msgid "No such map in server's domain"
+msgstr "Không có sơ đồ như vậy trong miền của máy phục vụ"
+
+#: nis/ypclnt.c:837
+msgid "No such key in map"
+msgstr "Không có khoá như vậy trong sơ đồ"
+
+#: nis/ypclnt.c:840
+msgid "Internal NIS error"
+msgstr "Lỗi NIS nội bộ"
+
+#: nis/ypclnt.c:843
+msgid "Local resource allocation failure"
+msgstr "Lỗi cấp phát tài nguyên cục bộ"
+
+#: nis/ypclnt.c:846
+msgid "No more records in map database"
+msgstr "Không có mục ghi thêm nữa trong cơ sở dữ liệu sơ đồ"
+
+#: nis/ypclnt.c:849
+msgid "Can't communicate with portmapper"
+msgstr "Không thể liên lạc với portmapper"
+
+#: nis/ypclnt.c:852
+msgid "Can't communicate with ypbind"
+msgstr "Không thể liên lạc với ypbind"
+
+#: nis/ypclnt.c:855
+msgid "Can't communicate with ypserv"
+msgstr "Không thể liên lạc với ypserv"
+
+#: nis/ypclnt.c:858
+msgid "Local domain name not set"
+msgstr "Chưa đặt tên miền cục bộ"
+
+#: nis/ypclnt.c:861
+msgid "NIS map database is bad"
+msgstr "Cơ sở dữ liệu sơ đồ NIS là sai"
+
+#: nis/ypclnt.c:864
+msgid "NIS client/server version mismatch - can't supply service"
+msgstr "Sai khớp trình khách/phục vụ NIS nên không thể cung cấp dịch vụ"
+
+#: nis/ypclnt.c:870
+msgid "Database is busy"
+msgstr "Cơ sở dữ liệu đang bận"
+
+#: nis/ypclnt.c:873
+msgid "Unknown NIS error code"
+msgstr "Mã lỗi NIS không rõ"
+
+#: nis/ypclnt.c:913
+msgid "Internal ypbind error"
+msgstr "Lỗi ypbind nội bộ"
+
+#: nis/ypclnt.c:916
+msgid "Domain not bound"
+msgstr "Không tìm thấy miền"
+
+#: nis/ypclnt.c:919
+msgid "System resource allocation failure"
+msgstr "Lỗi cấp phát tài nguyên hệ thống"
+
+#: nis/ypclnt.c:922
+msgid "Unknown ypbind error"
+msgstr "Lỗi ypbind không rõ"
+
+#: nis/ypclnt.c:963
+msgid "yp_update: cannot convert host to netname\n"
+msgstr "yp_update: không thể chuyển đổi máy sang netname\n"
+
+#: nis/ypclnt.c:981
+msgid "yp_update: cannot get server address\n"
+msgstr "yp_update: không thể lấy địa chỉ của máy phục vụ\n"
+
+#: nscd/aicache.c:77 nscd/hstcache.c:468
+#, c-format
+msgid "Haven't found \"%s\" in hosts cache!"
+msgstr "Không tìm thấy « %s » trong bộ nhớ tạm các máy phục vụ !"
+
+#: nscd/aicache.c:79 nscd/hstcache.c:470
+#, c-format
+msgid "Reloading \"%s\" in hosts cache!"
+msgstr "Đang nạp lại « %s » trong bộ nhớ tạm các máy phục vụ !"
+
+#: nscd/cache.c:146
+#, c-format
+msgid "add new entry \"%s\" of type %s for %s to cache%s"
+msgstr "thêm mục nhập mới « %s » có kiểu %s cho %s nhớ tạm %s"
+
+#: nscd/cache.c:148
+msgid " (first)"
+msgstr " (thứ nhất)"
+
+#: nscd/cache.c:256 nscd/connections.c:810
+#, c-format
+msgid "cannot stat() file `%s': %s"
+msgstr "không thể stat() tập tin « %s »: %s"
+
+#: nscd/cache.c:285
+#, c-format
+msgid "pruning %s cache; time %ld"
+msgstr "đang xén bộ nhớ tạm %s; thời gian %ld"
+
+#: nscd/cache.c:312
+#, c-format
+msgid "considering %s entry \"%s\", timeout %<PRIu64>"
+msgstr "đang suy xét mục nhập %s « %s », thời hạn %<PRIu64>"
+
+#: nscd/connections.c:521 nscd/connections.c:533 nscd/connections.c:545
+#: nscd/connections.c:564
+#, c-format
+msgid "invalid persistent database file \"%s\": %s"
+msgstr "tập tin cơ sở dữ liệu bền bỉ không hợp lệ « %s »: %s"
+
+#: nscd/connections.c:535
+msgid "header size does not match"
+msgstr "kích cỡ phần đầu không tương ứng"
+
+#: nscd/connections.c:547
+msgid "file size does not match"
+msgstr "kích cỡ tập tin không tương ứng"
+
+#: nscd/connections.c:566
+msgid "verification failed"
+msgstr "lỗi thẩm tra"
+
+#: nscd/connections.c:580
+#, c-format
+msgid "suggested size of table for database %s larger than the persistent database's table"
+msgstr "kích cỡ bảng đã đệ nghị cho cơ sở dữ liệu %s vẫn lớn hơn bảng của cơ sở dữ liệu bền bỉ"
+
+#: nscd/connections.c:591 nscd/connections.c:673
+#, c-format
+msgid "cannot create read-only descriptor for \"%s\"; no mmap"
+msgstr "không thể tạo bộ mô tả chỉ-đọc cho « %s »; không có mmap"
+
+#: nscd/connections.c:652
+#, c-format
+msgid "database for %s corrupted or simultaneously used; remove %s manually if necessary and restart"
+msgstr "cơ sở dữ liệu cho %s bị hỏng hoặc được dùng đồng thời; bạn hãy tự gỡ bỏ %s nếu cần, rồi khởi chạy lại"
+
+#: nscd/connections.c:659
+#, c-format
+msgid "cannot create %s; no persistent database used"
+msgstr "không thể tạo %s; không có cơ sở dữ liệu bền bỉ được dùng"
+
+#: nscd/connections.c:662
+#, c-format
+msgid "cannot create %s; no sharing possible"
+msgstr "không thể tạo %s; không thể dùng chung"
+
+#: nscd/connections.c:733
+#, c-format
+msgid "cannot write to database file %s: %s"
+msgstr "không thể ghi vào tập tin cơ sở dữ liệu %s: %s"
+
+#: nscd/connections.c:772
+#, c-format
+msgid "cannot set socket to close on exec: %s; disabling paranoia mode"
+msgstr "không thể đặt ổ cắm sẽ đóng khi thực hiện: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:823
+#, c-format
+msgid "cannot open socket: %s"
+msgstr "không thể mở ổ cắm: %s"
+
+#: nscd/connections.c:840
+#, c-format
+msgid "cannot change socket to nonblocking mode: %s"
+msgstr "không thể chuyển đổi ổ cắm sang chế độ không chặn: %s"
+
+#: nscd/connections.c:848
+#, c-format
+msgid "cannot set socket to close on exec: %s"
+msgstr "không thể đặt ổ cắm sẽ đóng khi thực hiện: %s"
+
+#: nscd/connections.c:859
+#, c-format
+msgid "cannot enable socket to accept connections: %s"
+msgstr "không thể hiệu lực ổ cắm chấp nhận kết nối: %s"
+
+#: nscd/connections.c:955
+#, c-format
+msgid "provide access to FD %d, for %s"
+msgstr "cung cấp truy cập vào FD %d, cho %s"
+
+#: nscd/connections.c:967
+#, c-format
+msgid "cannot handle old request version %d; current version is %d"
+msgstr "không thể quản lý phiên bản yêu cầu cũ %d; phiên bản hiện thời là %d"
+
+#: nscd/connections.c:1009 nscd/connections.c:1062
+#, c-format
+msgid "cannot write result: %s"
+msgstr "không thể ghi kết quả: %s"
+
+#: nscd/connections.c:1145
+#, c-format
+msgid "error getting caller's id: %s"
+msgstr "gặp lỗi khi lấy mã số gọi: %s"
+
+#: nscd/connections.c:1204
+#, c-format
+msgid "cannot open /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "không thể mở « /proc/self/cmdline »: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1218
+#, c-format
+msgid "cannot read /proc/self/cmdline: %s; disabling paranoia mode"
+msgstr "không thể đọc « /proc/self/cmdline »: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1258
+#, c-format
+msgid "cannot change to old UID: %s; disabling paranoia mode"
+msgstr "không thể chuyển đổi sang UID cũ: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1268
+#, c-format
+msgid "cannot change to old GID: %s; disabling paranoia mode"
+msgstr "không thể chuyển đổi sang GID cũ: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1281
+#, c-format
+msgid "cannot change to old working directory: %s; disabling paranoia mode"
+msgstr "không thể chuyển đổi sang thư mục hoạt động cũ : %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1310
+#, c-format
+msgid "re-exec failed: %s; disabling paranoia mode"
+msgstr "lỗi thực hiện lại: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/connections.c:1319
+#, c-format
+msgid "cannot change current working directory to \"/\": %s"
+msgstr "không thể chuyển đổi thư mục hoạt động hiện thời sang « / »: %s"
+
+#: nscd/connections.c:1437
+#, c-format
+msgid "short read while reading request: %s"
+msgstr "đọc ngắn khi đọc yêu cầu : %s"
+
+#: nscd/connections.c:1468
+#, c-format
+msgid "key length in request too long: %d"
+msgstr "chiều dài khoá quá dài trong yêu cầu : %d"
+
+#: nscd/connections.c:1481
+#, c-format
+msgid "short read while reading request key: %s"
+msgstr "đọc ngắn khi đọc khoá yêu cầu : %s"
+
+#: nscd/connections.c:1490
+#, c-format
+msgid "handle_request: request received (Version = %d) from PID %ld"
+msgstr "handle_request: (quản lý yêu cầu) nhận được yêu cầu (Phiên bản = %d) từ PID %ld"
+
+#: nscd/connections.c:1495
+#, c-format
+msgid "handle_request: request received (Version = %d)"
+msgstr "handle_request: (quản lý yêu cầu) nhận được yêu cầu (Phiên bản = %d)"
+
+#: nscd/connections.c:1856
+#, c-format
+msgid "could only start %d threads; terminating"
+msgstr "chỉ có thể khởi chạy %d mạch nên chấm dứt"
+
+#: nscd/connections.c:1904 nscd/connections.c:1905 nscd/connections.c:1922
+#: nscd/connections.c:1931 nscd/connections.c:1949 nscd/connections.c:1960
+#: nscd/connections.c:1971
+#, c-format
+msgid "Failed to run nscd as user '%s'"
+msgstr "Lỗi chạy nscd dưới người dùng « %s »"
+
+#: nscd/connections.c:1923
+#, c-format
+msgid "initial getgrouplist failed"
+msgstr "getgrouplist (lấy danh sách nhóm) đầu tiên bị lỗi"
+
+#: nscd/connections.c:1932
+#, c-format
+msgid "getgrouplist failed"
+msgstr "getgrouplist (lấy danh sách nhóm) bị lỗi"
+
+#: nscd/connections.c:1950
+#, c-format
+msgid "setgroups failed"
+msgstr "setgroups (đặt các nhóm) bị lỗi"
+
+#: nscd/grpcache.c:402 nscd/hstcache.c:418 nscd/initgrcache.c:412
+#: nscd/pwdcache.c:397 nscd/servicescache.c:343
+#, c-format
+msgid "short write in %s: %s"
+msgstr "ghi ngắn trong %s: %s"
+
+#: nscd/grpcache.c:445 nscd/initgrcache.c:78
+#, c-format
+msgid "Haven't found \"%s\" in group cache!"
+msgstr "Không tìm thấy « %s » trong bộ nhớ tạm nhóm !"
+
+#: nscd/grpcache.c:447 nscd/initgrcache.c:80
+#, c-format
+msgid "Reloading \"%s\" in group cache!"
+msgstr "Đang nạp lại « %s » trong bộ nhớ tạm nhóm !"
+
+#: nscd/grpcache.c:524
+#, c-format
+msgid "Invalid numeric gid \"%s\"!"
+msgstr "GID thuộc số không hợp lệ « %s » !"
+
+#: nscd/mem.c:383
+#, c-format
+msgid "freed %zu bytes in %s cache"
+msgstr "đã giải phóng %zu byte trong bộ nhớ tạm %s"
+
+#: nscd/mem.c:512
+#, c-format
+msgid "no more memory for database '%s'"
+msgstr "không có bộ nhớ còn lại cho cơ sở dữ liệu « %s »"
+
+#: nscd/nscd.c:98
+msgid "Read configuration data from NAME"
+msgstr "Đọc tập tin cấu hình từ TÊN"
+
+#: nscd/nscd.c:100
+msgid "Do not fork and display messages on the current tty"
+msgstr "Dòng tạo lại và hiển thị thông điệp trên TTY hiện thời"
+
+#: nscd/nscd.c:101
+msgid "NUMBER"
+msgstr "SỐ"
+
+#: nscd/nscd.c:101
+msgid "Start NUMBER threads"
+msgstr "Khởi chạy SỐ mạch"
+
+#: nscd/nscd.c:102
+msgid "Shut the server down"
+msgstr "Tắt máy phục vụ"
+
+#: nscd/nscd.c:103
+msgid "Print current configuration statistic"
+msgstr "In thống kê cấu hình hiện thời"
+
+#: nscd/nscd.c:104
+msgid "TABLE"
+msgstr "BẢNG"
+
+#: nscd/nscd.c:105
+msgid "Invalidate the specified cache"
+msgstr "Làm mất hiệu lực bộ nhớ tạm đã ghi rõ"
+
+#: nscd/nscd.c:106
+msgid "TABLE,yes"
+msgstr "BẢNG,có"
+
+#: nscd/nscd.c:107
+msgid "Use separate cache for each user"
+msgstr "Dùng bộ nhớ tạm riêng cho mỗi người dùng"
+
+#: nscd/nscd.c:112
+msgid "Name Service Cache Daemon."
+msgstr "Trình nền nhớ tạm dịch vụ tên."
+
+#: nscd/nscd.c:144 nss/getent.c:858 nss/makedb.c:123
+#, c-format
+msgid "wrong number of arguments"
+msgstr "số đối số không đúng"
+
+#: nscd/nscd.c:154
+#, c-format
+msgid "failure while reading configuration file; this is fatal"
+msgstr "gặp lỗi khi đọc tập tin cấu hình: đây là một lỗi nghiêm trọng"
+
+#: nscd/nscd.c:163
+#, c-format
+msgid "already running"
+msgstr "đang chạy"
+
+#: nscd/nscd.c:178 nscd/nscd.c:233
+#, c-format
+msgid "cannot fork"
+msgstr "không thể tạo tiến trình con"
+
+#: nscd/nscd.c:241
+#, c-format
+msgid "cannot change current working directory to \"/\""
+msgstr "không thể chuyển đổi thư mục hoạt động hiện thời sang « / »"
+
+#: nscd/nscd.c:249
+msgid "Could not create log file"
+msgstr "Không thể tạo tập tin ghi lưu"
+
+#: nscd/nscd.c:302 nscd/nscd.c:327 nscd/nscd_stat.c:172
+#, c-format
+msgid "Only root is allowed to use this option!"
+msgstr "Chỉ cho phép ngươi chủ (root) dùng tùy chọn này !"
+
+#: nscd/nscd.c:364 nscd/nscd_stat.c:191
+#, c-format
+msgid "write incomplete"
+msgstr "chưa ghi xong"
+
+#: nscd/nscd.c:375
+#, c-format
+msgid "cannot read invalidate ACK"
+msgstr "không thể làm mất hiệu lực ACK"
+
+#: nscd/nscd.c:381
+#, c-format
+msgid "invalidation failed"
+msgstr "gặp lỗi khi thử làm mất hiệu lực"
+
+#: nscd/nscd.c:391
+#, c-format
+msgid "secure services not implemented anymore"
+msgstr "không còn thực hiện lại dịch vụ bảo mật"
+
+#: nscd/nscd_conf.c:57
+#, c-format
+msgid "database %s is not supported"
+msgstr "cơ sở dữ liệu %s không được hỗ trợ"
+
+#: nscd/nscd_conf.c:108
+#, c-format
+msgid "Parse error: %s"
+msgstr "Lỗi phân tích: %s"
+
+#: nscd/nscd_conf.c:193
+#, c-format
+msgid "Must specify user name for server-user option"
+msgstr "Phải ghi rõ tên người dùng cho tùy chọn server-user (người dùng máy phục vụ)"
+
+#: nscd/nscd_conf.c:200
+#, c-format
+msgid "Must specify user name for stat-user option"
+msgstr "Phải ghi rõ tên người dùng cho tùy chọn stat-user (người dùng thống kê ?)"
+
+#: nscd/nscd_conf.c:244
+#, c-format
+msgid "invalid value for 'reload-count': %u"
+msgstr "Giá trị không hợp lệ cho « reload-count » (đếm lần nạp lại): %u"
+
+#: nscd/nscd_conf.c:259
+#, c-format
+msgid "Must specify value for restart-interval option"
+msgstr "Phải ghi rõ giá trị cho tùy chọn restart-interval (khoảng khởi chạy lại)"
+
+#: nscd/nscd_conf.c:273
+#, c-format
+msgid "Unknown option: %s %s %s"
+msgstr "Không rõ tùy chọn %s %s %s"
+
+#: nscd/nscd_conf.c:286
+#, c-format
+msgid "cannot get current working directory: %s; disabling paranoia mode"
+msgstr "không thể lấy thư mục hoạt động hiện thời: %s; đang tắt chế độ rất cẩn thận"
+
+#: nscd/nscd_conf.c:306
+#, c-format
+msgid "maximum file size for %s database too small"
+msgstr "kích cỡ tập tin tối đa quá nhỏ cho cơ sở dữ liệu %s"
+
+#: nscd/nscd_stat.c:141
+#, c-format
+msgid "cannot write statistics: %s"
+msgstr "không thể ghi thống kê: %s"
+
+#: nscd/nscd_stat.c:156
+msgid "yes"
+msgstr "có"
+
+#: nscd/nscd_stat.c:157
+msgid "no"
+msgstr "không"
+
+#: nscd/nscd_stat.c:168
+#, c-format
+msgid "Only root or %s is allowed to use this option!"
+msgstr "Chỉ cho phép ngươi chủ (root) hoặc %s dùng tùy chọn này !"
+
+#: nscd/nscd_stat.c:179
+#, c-format
+msgid "nscd not running!\n"
+msgstr "nscd không đang chạy !\n"
+
+#: nscd/nscd_stat.c:203
+#, c-format
+msgid "cannot read statistics data"
+msgstr "không thể đọc dữ liệu thống kê"
+
+#: nscd/nscd_stat.c:206
+#, c-format
+msgid ""
+"nscd configuration:\n"
+"\n"
+"%15d server debug level\n"
+msgstr ""
+"cấu hình nscd:\n"
+"\n"
+"%15d cấp gỡ lỗi máy phục vụ\n"
+
+#: nscd/nscd_stat.c:230
+#, c-format
+msgid "%3ud %2uh %2um %2lus server runtime\n"
+msgstr "%3ud %2uh %2um %2lus thời gian chạy trình phục vụ\n"
+
+#: nscd/nscd_stat.c:233
+#, c-format
+msgid " %2uh %2um %2lus server runtime\n"
+msgstr " %2uh %2um %2lus thời gian chạy trình phục vụ\n"
+
+#: nscd/nscd_stat.c:235
+#, c-format
+msgid " %2um %2lus server runtime\n"
+msgstr " %2um %2lus thời gian chạy trình phục vụ\n"
+
+#: nscd/nscd_stat.c:237
+#, c-format
+msgid " %2lus server runtime\n"
+msgstr " %2lus thời gian chạy trình phục vụ\n"
+
+#: nscd/nscd_stat.c:239
+#, c-format
+msgid ""
+"%15d current number of threads\n"
+"%15d maximum number of threads\n"
+"%15lu number of times clients had to wait\n"
+"%15s paranoia mode enabled\n"
+"%15lu restart internal\n"
+msgstr ""
+"%15d số mạch hiện thời\n"
+"%15d số mạch tối đa\n"
+"%15lu số lần trình khách phải đợi\n"
+"%15s chế độ rất cẩn thận được hiệu lực\n"
+"%15lu khởi chạy lại nội bộ\n"
+
+#: nscd/nscd_stat.c:273
+#, c-format
+msgid ""
+"\n"
+"%s cache:\n"
+"\n"
+"%15s cache is enabled\n"
+"%15s cache is persistent\n"
+"%15s cache is shared\n"
+"%15zu suggested size\n"
+"%15zu total data pool size\n"
+"%15zu used data pool size\n"
+"%15lu seconds time to live for positive entries\n"
+"%15lu seconds time to live for negative entries\n"
+"%15<PRIuMAX> cache hits on positive entries\n"
+"%15<PRIuMAX> cache hits on negative entries\n"
+"%15<PRIuMAX> cache misses on positive entries\n"
+"%15<PRIuMAX> cache misses on negative entries\n"
+"%15lu%% cache hit rate\n"
+"%15zu current number of cached values\n"
+"%15zu maximum number of cached values\n"
+"%15zu maximum chain length searched\n"
+"%15<PRIuMAX> number of delays on rdlock\n"
+"%15<PRIuMAX> number of delays on wrlock\n"
+"%15<PRIuMAX> memory allocations failed\n"
+"%15s check /etc/%s for changes\n"
+msgstr ""
+"\n"
+"Bộ nhớ tạm %s:\n"
+"\n"
+"%15s bộ nhớ tạm được hiệu lực\n"
+"%15s bộ nhớ tạm bền bỉ\n"
+"%15s bộ nhớ tạm dùng chung\n"
+"%15zu kích cỡ đã đệ nghị\n"
+"%15zu tổng số kích cỡ dữ liệu gộp\n"
+"%15zu kích cỡ dữ liệu gộp được dùng\n"
+"%15lu giây thời gian hoạt động cho mục nhập dương\n"
+"%15lu giây thời gian hoạt động cho mục nhập âm\n"
+"%15<PRIuMAX> lần ghé bộ nhớ tạm cho mục nhập dương\n"
+"%15<PRIuMAX> lần ghé bộ nhớ tạm cho mục nhập âm\n"
+"%15<PRIuMAX> lần trượt bộ nhớ tạm cho mục nhập dương\n"
+"%15<PRIuMAX> lần trượt bộ nhớ tạm cho mục nhập âm\n"
+"%15lu%% tỷ lệ ghé bộ nhớ tạm\n"
+"%15zu số giá trị được nhớ tạm hiện thời\n"
+"%15zu số tối đa giá trị được nhớ tạm\n"
+"%15zu chiều dài dây tối đa được tìm kiếm\n"
+"%15<PRIuMAX> số lần hoãn đối với rdlock\n"
+"%15<PRIuMAX> số lần hoãn đối với wrlock\n"
+"%15<PRIuMAX> lỗi cấp phát bộ nhớ\n"
+"%15s kiểm tra « /etc/%s » để tìm thay đổi\n"
+
+#: nscd/pwdcache.c:440
+#, c-format
+msgid "Haven't found \"%s\" in password cache!"
+msgstr "Không tìm thấy « %s » trong bộ nhớ tạm mật khẩu !"
+
+#: nscd/pwdcache.c:442
+#, c-format
+msgid "Reloading \"%s\" in password cache!"
+msgstr "Đang nạp lại « %s » trong bộ nhớ tạm mật khẩu !"
+
+#: nscd/pwdcache.c:520
+#, c-format
+msgid "Invalid numeric uid \"%s\"!"
+msgstr "UID thuộc số không hợp lệ « %s » !"
+
+#: nscd/selinux.c:156
+#, c-format
+msgid "Failed opening connection to the audit subsystem: %m"
+msgstr "Lỗi mở kết nối đến hệ thống con kiểm tra chặt chẽ: %m"
+
+#: nscd/selinux.c:177
+msgid "Failed to set keep-capabilities"
+msgstr "Lỗi đặt keep-capabilities (giữ các khả năng)"
+
+#: nscd/selinux.c:178 nscd/selinux.c:241
+#, c-format
+msgid "prctl(KEEPCAPS) failed"
+msgstr "prctl(KEEPCAPS) bị lỗi"
+
+#: nscd/selinux.c:192
+msgid "Failed to initialize drop of capabilities"
+msgstr "Lỗi khởi tạo sự bỏ các khả năng"
+
+#: nscd/selinux.c:193
+#, c-format
+msgid "cap_init failed"
+msgstr "cap_init bị lỗi"
+
+#: nscd/selinux.c:214 nscd/selinux.c:231
+msgid "Failed to drop capabilities"
+msgstr "Lỗi bỏ các khả năng"
+
+#: nscd/selinux.c:215 nscd/selinux.c:232
+#, c-format
+msgid "cap_set_proc failed"
+msgstr "cap_set_proc bị lỗi"
+
+#: nscd/selinux.c:240
+msgid "Failed to unset keep-capabilities"
+msgstr "Lỗi hủy đặt keep-capabilities (giữ các khả năng)"
+
+#: nscd/selinux.c:256
+msgid "Failed to determine if kernel supports SELinux"
+msgstr "Lỗi quyết định nếu hạt nhân hỗ trợ SELinux không"
+
+#: nscd/selinux.c:271
+#, c-format
+msgid "Failed to start AVC thread"
+msgstr "Lỗi khởi chạy mạch AVC"
+
+#: nscd/selinux.c:293
+#, c-format
+msgid "Failed to create AVC lock"
+msgstr "Lỗi tạo khoá AVC"
+
+#: nscd/selinux.c:333
+#, c-format
+msgid "Failed to start AVC"
+msgstr "Lỗi khởi chạy AVC"
+
+#: nscd/selinux.c:335
+msgid "Access Vector Cache (AVC) started"
+msgstr "AVC (truy cập vào bộ nhớ tạm véc-tơ) đã được khởi chạy"
+
+#: nscd/selinux.c:356
+msgid "Error getting context of socket peer"
+msgstr "Gặp lỗi lấy ngữ cảnh của đồng đẳng ổ cắm"
+
+#: nscd/selinux.c:361
+msgid "Error getting context of nscd"
+msgstr "Gặp lỗi khi lấy ngữ cảnh của nscd"
+
+#: nscd/selinux.c:367
+msgid "Error getting sid from context"
+msgstr "Gặp lỗi khi lấy sid từ ngữ cảnh"
+
+#: nscd/selinux.c:399
+#, c-format
+msgid ""
+"\n"
+"SELinux AVC Statistics:\n"
+"\n"
+"%15u entry lookups\n"
+"%15u entry hits\n"
+"%15u entry misses\n"
+"%15u entry discards\n"
+"%15u CAV lookups\n"
+"%15u CAV hits\n"
+"%15u CAV probes\n"
+"%15u CAV misses\n"
+msgstr ""
+"\n"
+"Thống kê AVC SELinux:\n"
+"\n"
+"%15u lần tra cứu mục nhập\n"
+"%15u lần ghé mục nhập\n"
+"%15u lần trượt mục nhập\n"
+"%15u lần hủy mục nhập\n"
+"%15u lần tra cứu CAV\n"
+"%15u lần ghé CAV\n"
+"%15u lần thăm dò CAV\n"
+"%15u lần trượt CAV\n"
+
+#: nscd/servicescache.c:390
+#, c-format
+msgid "Haven't found \"%s\" in services cache!"
+msgstr "Không tìm thấy « %s » trong bộ nhớ tạm dịch vụ !"
+
+#: nscd/servicescache.c:392
+#, c-format
+msgid "Reloading \"%s\" in services cache!"
+msgstr "Đang nạp lại « %s » trong bộ nhớ tạm dịch vụ !"
+
+#: nss/getent.c:52
+msgid "database [key ...]"
+msgstr "cơ sở dữ liệu [khoá ...]"
+
+#: nss/getent.c:57
+msgid "Service configuration to be used"
+msgstr "Cấu hình dịch vụ cần dùng"
+
+#: nss/getent.c:62
+msgid ""
+"Get entries from administrative database.\vFor bug reporting instructions, please see:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+msgstr ""
+"Lấy mục nhập từ cơ sở dữ liệu quản trị.\n"
+"Để tìm hướng dẫn về thông báo lỗi, thăm địa chỉ:\n"
+"<http://www.gnu.org/software/libc/bugs.html>.\n"
+
+#: nss/getent.c:145 nss/getent.c:394
+#, c-format
+msgid "Enumeration not supported on %s\n"
+msgstr "Chức năng đếm không được hỗ trợ trên %s\n"
+
+#: nss/getent.c:782
+#, c-format
+msgid "Unknown database name"
+msgstr "Không rõ tên cơ sở dữ liệu"
+
+#: nss/getent.c:808
+msgid "Supported databases:\n"
+msgstr "Các cơ sở dữ liệu được hỗ trợ :\n"
+
+#: nss/getent.c:868
+#, c-format
+msgid "Unknown database: %s\n"
+msgstr "Không rõ cơ sở dữ liệu : %s\n"
+
+#: nss/makedb.c:60
+msgid "Convert key to lower case"
+msgstr "Chuyển đổi khoá sang chữ thường"
+
+#: nss/makedb.c:63
+msgid "Do not print messages while building database"
+msgstr "Đừng in thông điệp trong khi xây dựng cơ sở dữ liệu"
+
+#: nss/makedb.c:65
+msgid "Print content of database file, one entry a line"
+msgstr "In nội dung của tập tin cơ sở dữ liệu, một mục nhập trên mỗi dòng"
+
+#: nss/makedb.c:70
+msgid "Create simple DB database from textual input."
+msgstr "Tạo cơ sở dữ liệu DB đơn giản từ dữ liệu nhập vào kiểu văn bản"
+
+#: nss/makedb.c:73
+msgid ""
+"INPUT-FILE OUTPUT-FILE\n"
+"-o OUTPUT-FILE INPUT-FILE\n"
+"-u INPUT-FILE"
+msgstr ""
+"TẬP_TIN_NHẬP TẬP_TIN_XUẤT\n"
+"-o TẬP_TIN_XUẤT TẬP_TIN_NHẬP\n"
+"-u TẬP_TIN_NHẬP"
+
+#: nss/makedb.c:142
+#, c-format
+msgid "No usable database library found."
+msgstr "Không tìm thấy thư viện cơ sở dữ liệu có thể dùng."
+
+#: nss/makedb.c:149
+#, c-format
+msgid "cannot open database file `%s': %s"
+msgstr "không thể mở tập tin cơ sở dữ liệu « %s »: %s"
+
+#: nss/makedb.c:151
+msgid "incorrectly formatted file"
+msgstr "tập tin định dạng sai"
+
+#: nss/makedb.c:331
+msgid "duplicate key"
+msgstr "khoá trùng"
+
+#: nss/makedb.c:337
+#, c-format
+msgid "while writing database file"
+msgstr "trong khi ghi tập tin cơ sở dữ liệu"
+
+#: nss/makedb.c:348
+#, c-format
+msgid "problems while reading `%s'"
+msgstr "gặp vấn đề khi đọc « %s »"
+
+#: nss/makedb.c:368 nss/makedb.c:385
+#, c-format
+msgid "while reading database"
+msgstr "trong khi đọc cơ sở dữ liệu"
+
+#: posix/getconf.c:945
+#, c-format
+msgid "Usage: %s [-v specification] variable_name [pathname]\n"
+msgstr "Sử dụng: %s [-v đặc_tả] tên_biến [đường_dẫn]\n"
+
+#: posix/getconf.c:948
+#, c-format
+msgid " %s -a [pathname]\n"
+msgstr " %s -a [đường_dẫn]\n"
+
+#: posix/getconf.c:1067
+#, c-format
+msgid "unknown specification \"%s\""
+msgstr "không rõ đặc tả « %s »"
+
+#: posix/getconf.c:1095
+#, c-format
+msgid "Couldn't execute %s"
+msgstr "Không thể thực hiện %s"
+
+#: posix/getconf.c:1135 posix/getconf.c:1151
+msgid "undefined"
+msgstr "chưa xác định"
+
+#: posix/getconf.c:1173
+#, c-format
+msgid "Unrecognized variable `%s'"
+msgstr "Không nhận ra biến « %s »"
+
+#: posix/getopt.c:571 posix/getopt.c:587
+#, c-format
+msgid "%s: option `%s' is ambiguous\n"
+msgstr "%s: tùy chọn « %s » là mơ hồ\n"
+
+#: posix/getopt.c:620 posix/getopt.c:624
+#, 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"
+
+#: posix/getopt.c:633 posix/getopt.c:638
+#, c-format
+msgid "%s: option `%c%s' doesn't allow an argument\n"
+msgstr "%s: tùy chọn « %c%s » không cho phép đối số\n"
+
+#: posix/getopt.c:681 posix/getopt.c:700 posix/getopt.c:1016
+#: posix/getopt.c:1035
+#, c-format
+msgid "%s: option `%s' requires an argument\n"
+msgstr "%s: tùy chọn « %s » cần thiết đối số\n"
+
+#: posix/getopt.c:738 posix/getopt.c:741
+#, c-format
+msgid "%s: unrecognized option `--%s'\n"
+msgstr "%s: không nhận diện tùy chọn « --%s »\n"
+
+#: posix/getopt.c:749 posix/getopt.c:752
+#, c-format
+msgid "%s: unrecognized option `%c%s'\n"
+msgstr "%s: không nhận diện tùy chọn « %c%s »\n"
+
+#: posix/getopt.c:804 posix/getopt.c:807
+#, c-format
+msgid "%s: illegal option -- %c\n"
+msgstr "%s: tùy chọn không được phép -- %c\n"
+
+#: posix/getopt.c:813 posix/getopt.c:816
+#, c-format
+msgid "%s: invalid option -- %c\n"
+msgstr "%s: tùy chọn không hợp lệ -- %c\n"
+
+#: posix/getopt.c:868 posix/getopt.c:884 posix/getopt.c:1088
+#: posix/getopt.c:1106
+#, c-format
+msgid "%s: option requires an argument -- %c\n"
+msgstr "%s: tùy chọn cần thiết đối số -- %c\n"
+
+#: posix/getopt.c:937 posix/getopt.c:953
+#, c-format
+msgid "%s: option `-W %s' is ambiguous\n"
+msgstr "%s: tùy chọn « -W %s » là mơ hồ\n"
+
+#: posix/getopt.c:977 posix/getopt.c:995
+#, 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"
+
+#: posix/regcomp.c:135
+msgid "No match"
+msgstr "Không khớp"
+
+#: posix/regcomp.c:138
+msgid "Invalid regular expression"
+msgstr "Biểu thức chính quy không hợp lệ"
+
+#: posix/regcomp.c:141
+msgid "Invalid collation character"
+msgstr "Ký tự đối chiếu không hợp lệ"
+
+#: posix/regcomp.c:144
+msgid "Invalid character class name"
+msgstr "Tên loại ký tự không hợp lệ"
+
+#: posix/regcomp.c:147
+msgid "Trailing backslash"
+msgstr "Có gạch chéo ngược theo sau"
+
+#: posix/regcomp.c:150
+msgid "Invalid back reference"
+msgstr "Tham chiếu ngược không hợp lệ"
+
+#: posix/regcomp.c:153
+msgid "Unmatched [ or [^"
+msgstr "Chưa khớp ký tự « [ » hay « [^ »"
+
+#: posix/regcomp.c:156
+msgid "Unmatched ( or \\("
+msgstr "Chưa khớp ký tự « ( » hay « \\( »"
+
+#: posix/regcomp.c:159
+msgid "Unmatched \\{"
+msgstr "Chưa khớp ký tự « \\{ »"
+
+#: posix/regcomp.c:162
+msgid "Invalid content of \\{\\}"
+msgstr "Nội dụng « \\{\\} » không hợp lệ"
+
+#: posix/regcomp.c:165
+msgid "Invalid range end"
+msgstr "Sai kết thúc phạm vi"
+
+#: posix/regcomp.c:168
+msgid "Memory exhausted"
+msgstr "Cạn bộ nhớ"
+
+#: posix/regcomp.c:171
+msgid "Invalid preceding regular expression"
+msgstr "Biểu thức chính quy đi trước không hợp lệ"
+
+#: posix/regcomp.c:174
+msgid "Premature end of regular expression"
+msgstr "Biểu thức chính quy kết thúc quá sớm"
+
+#: posix/regcomp.c:177
+msgid "Regular expression too big"
+msgstr "Biểu thức chính quy quá lớn"
+
+#: posix/regcomp.c:180
+msgid "Unmatched ) or \\)"
+msgstr "Chưa khớp ký tự « ) » hay « \\) »"
+
+#: posix/regcomp.c:660
+msgid "No previous regular expression"
+msgstr "Không có biểu thức chính quy đi trước"
+
+#: posix/wordexp.c:1798
+msgid "parameter null or not set"
+msgstr "tham số vô giá trị hoặc chưa được đặt"
+
+#: resolv/herror.c:68
+msgid "Resolver Error 0 (no error)"
+msgstr "Lỗi bộ giải quyết 0 (không có lỗi)"
+
+#: resolv/herror.c:69
+msgid "Unknown host"
+msgstr "Máy lạ"
+
+#: resolv/herror.c:70
+msgid "Host name lookup failure"
+msgstr "Lỗi tra cứu tên máy"
+
+#: resolv/herror.c:71
+msgid "Unknown server error"
+msgstr "Gặp lỗi hệ thống không rõ"
+
+#: resolv/herror.c:72
+msgid "No address associated with name"
+msgstr "Không có địa chỉ liên quan đến tên"
+
+#: resolv/herror.c:107
+msgid "Resolver internal error"
+msgstr "Lỗi nội bộ của bộ giải quyết"
+
+#: resolv/herror.c:110
+msgid "Unknown resolver error"
+msgstr "Không rõ lỗi bộ giải quyết"
+
+#: resolv/res_hconf.c:124
+#, c-format
+msgid "%s: line %d: cannot specify more than %d trim domains"
+msgstr "%s: dòng %d: không thể ghi rõ nhiều hơn %d miền trim"
+
+#: resolv/res_hconf.c:145
+#, c-format
+msgid "%s: line %d: list delimiter not followed by domain"
+msgstr "%s: dòng %d: dấu tách danh sách không có miền theo sau"
+
+#: resolv/res_hconf.c:204
+#, c-format
+msgid "%s: line %d: expected `on' or `off', found `%s'\n"
+msgstr "%s: dòng %d: đợi « on » (bật) hoặc « off » (tắt), còn tìm « %s »\n"
+
+#: resolv/res_hconf.c:247
+#, c-format
+msgid "%s: line %d: bad command `%s'\n"
+msgstr "%s: dòng %d: câu lệnh sau « %s »\n"
+
+#: resolv/res_hconf.c:282
+#, c-format
+msgid "%s: line %d: ignoring trailing garbage `%s'\n"
+msgstr "%s: dòng %d: đang bỏ qua rác đi theo « %s »\n"
+
+#: stdio-common/psignal.c:51
+#, c-format
+msgid "%s%sUnknown signal %d\n"
+msgstr "%s%sTín hiệu không rõ %d\n"
+
+#: stdio-common/psignal.c:52
+msgid "Unknown signal"
+msgstr "Tín hiệu không rõ"
+
+#: string/_strerror.c:45 sysdeps/mach/_strerror.c:87
+msgid "Unknown error "
+msgstr "Lỗi không rõ "
+
+#: string/strerror.c:43
+msgid "Unknown error"
+msgstr "Lỗi không rõ"
+
+#: string/strsignal.c:65
+#, c-format
+msgid "Real-time signal %d"
+msgstr "Tín hiệu thời gian thực %d"
+
+#: string/strsignal.c:69
+#, c-format
+msgid "Unknown signal %d"
+msgstr "Tín hiệu không rõ %d"
+
+#: sunrpc/auth_unix.c:114
+msgid "authunix_create: out of memory\n"
+msgstr "authunix_create: tràn bộ nhớ\n"
+
+#: sunrpc/auth_unix.c:350
+msgid "auth_unix.c: Fatal marshalling problem"
+msgstr "auth_unix.c: lỗi nghiêm trọng khi sắp đặt vào hàng ngũ"
+
+#: sunrpc/clnt_perr.c:118 sunrpc/clnt_perr.c:139
+#, c-format
+msgid "; low version = %lu, high version = %lu"
+msgstr "; phiên bản dưới = %lu, phiên bản trên = %lu"
+
+#: sunrpc/clnt_perr.c:125
+msgid "; why = "
+msgstr "; tại vì = "
+
+#: sunrpc/clnt_perr.c:132
+#, c-format
+msgid "(unknown authentication error - %d)"
+msgstr "(không rõ lỗi xác thực - %d)"
+
+#: sunrpc/clnt_perr.c:172
+msgid "RPC: Success"
+msgstr "RPC: Thành công"
+
+#: sunrpc/clnt_perr.c:175
+msgid "RPC: Can't encode arguments"
+msgstr "RPC: Không thể mã hoá đối số"
+
+#: sunrpc/clnt_perr.c:179
+msgid "RPC: Can't decode result"
+msgstr "RPC: Không thể giải mã kết quả"
+
+#: sunrpc/clnt_perr.c:183
+msgid "RPC: Unable to send"
+msgstr "RPC: Không thể gửi"
+
+#: sunrpc/clnt_perr.c:187
+msgid "RPC: Unable to receive"
+msgstr "RPC: Không thể nhận"
+
+#: sunrpc/clnt_perr.c:191
+msgid "RPC: Timed out"
+msgstr "RPC: Quá hạn"
+
+#: sunrpc/clnt_perr.c:195
+msgid "RPC: Incompatible versions of RPC"
+msgstr "RPC: Các phiên bản RPC không tương thích với nhau"
+
+#: sunrpc/clnt_perr.c:199
+msgid "RPC: Authentication error"
+msgstr "RPC: Lỗi xác thực"
+
+#: sunrpc/clnt_perr.c:203
+msgid "RPC: Program unavailable"
+msgstr "RPC: Chương trình không sẵn sàng"
+
+#: sunrpc/clnt_perr.c:207
+msgid "RPC: Program/version mismatch"
+msgstr "RPC: Sai khớp chương trình và phiên bản"
+
+#: sunrpc/clnt_perr.c:211
+msgid "RPC: Procedure unavailable"
+msgstr "RPC: Thủ tục không sẵn sàng"
+
+#: sunrpc/clnt_perr.c:215
+msgid "RPC: Server can't decode arguments"
+msgstr "RPC: Trình phục vụ không thể giải mã đối số"
+
+#: sunrpc/clnt_perr.c:219
+msgid "RPC: Remote system error"
+msgstr "RPC: Lỗi hệ thống ở xa"
+
+#: sunrpc/clnt_perr.c:223
+msgid "RPC: Unknown host"
+msgstr "RPC: Máy lạ"
+
+#: sunrpc/clnt_perr.c:227
+msgid "RPC: Unknown protocol"
+msgstr "RPC: Không rõ giao thức"
+
+#: sunrpc/clnt_perr.c:231
+msgid "RPC: Port mapper failure"
+msgstr "RPC: Lỗi ánh xạ cổng"
+
+#: sunrpc/clnt_perr.c:235
+msgid "RPC: Program not registered"
+msgstr "RPC: Chưa đăng ký chương trình"
+
+#: sunrpc/clnt_perr.c:239
+msgid "RPC: Failed (unspecified error)"
+msgstr "RPC: Lỗi chưa xác định"
+
+#: sunrpc/clnt_perr.c:280
+msgid "RPC: (unknown error code)"
+msgstr "RPC: (mã lỗi không rõ)"
+
+#: sunrpc/clnt_perr.c:342
+msgid "Authentication OK"
+msgstr "Xác thực được"
+
+#: sunrpc/clnt_perr.c:345
+msgid "Invalid client credential"
+msgstr "Thông tin xác thực trình khách không hợp lệ"
+
+#: sunrpc/clnt_perr.c:349
+msgid "Server rejected credential"
+msgstr "Trình phục vụ đã từ chối thông tin xác thực"
+
+#: sunrpc/clnt_perr.c:353
+msgid "Invalid client verifier"
+msgstr "Đồ thẩm tra trình khách không hợp lệ"
+
+#: sunrpc/clnt_perr.c:357
+msgid "Server rejected verifier"
+msgstr "Trình phục vụ đã từ chối đồ thẩm tra"
+
+#: sunrpc/clnt_perr.c:361
+msgid "Client credential too weak"
+msgstr "Thông tin xác thực của trình khách quá yếu"
+
+#: sunrpc/clnt_perr.c:365
+msgid "Invalid server verifier"
+msgstr "Đồ thẩm tra trình phục vụ không hợp lệ"
+
+#: sunrpc/clnt_perr.c:369
+msgid "Failed (unspecified error)"
+msgstr "Lỗi chưa xác định"
+
+#: sunrpc/clnt_raw.c:117
+msgid "clnt_raw.c: fatal header serialization error"
+msgstr "clnt_raw.c: lỗi nghiêm trọng khi xếp theo thứ tự"
+
+#: sunrpc/clnt_tcp.c:131
+msgid "clnttcp_create: out of memory\n"
+msgstr "clnttcp_create: tràn bộ nhớ\n"
+
+#: sunrpc/clnt_udp.c:139
+msgid "clntudp_create: out of memory\n"
+msgstr "clntudp_create: tràn bộ nhớ\n"
+
+#: sunrpc/clnt_unix.c:128
+msgid "clntunix_create: out of memory\n"
+msgstr "clntunix_create: tràn bộ nhớ\n"
+
+#: sunrpc/pm_getmaps.c:83
+msgid "pmap_getmaps.c: rpc problem"
+msgstr "pmap_getmaps.c: lỗi RPC"
+
+#: sunrpc/pmap_clnt.c:129
+msgid "Cannot register service"
+msgstr "Không thể đăng ký dịch vụ"
+
+#: sunrpc/pmap_rmt.c:248
+msgid "Cannot create socket for broadcast rpc"
+msgstr "Không thể tạo ổ cắm cho RPC quảng bá"
+
+#: sunrpc/pmap_rmt.c:255
+msgid "Cannot set socket option SO_BROADCAST"
+msgstr "Không thể đặt tùy chọn ổ cắm SO_BROADCAST"
+
+#: sunrpc/pmap_rmt.c:307
+msgid "Cannot send broadcast packet"
+msgstr "Không thể gửi gói tin quảng bá"
+
+#: sunrpc/pmap_rmt.c:332
+msgid "Broadcast poll problem"
+msgstr "Vấn đề thăm dò quảng bá"
+
+#: sunrpc/pmap_rmt.c:345
+msgid "Cannot receive reply to broadcast"
+msgstr "Không thể nhận đáp ứng quảng bá"
+
+#: sunrpc/rpc_main.c:286
+#, c-format
+msgid "%s: output would overwrite %s\n"
+msgstr "%s: kết xuất sẽ ghi đè lên %s\n"
+
+#: sunrpc/rpc_main.c:293
+#, c-format
+msgid "%s: unable to open %s: %m\n"
+msgstr "%s: không thể mở %s: %m\n"
+
+#: sunrpc/rpc_main.c:305
+#, c-format
+msgid "%s: while writing output %s: %m"
+msgstr "%s: khi ghi kết xuất %s: %m"
+
+#: sunrpc/rpc_main.c:340
+#, c-format
+msgid "cannot find C preprocessor: %s \n"
+msgstr "không tìm thấy bộ tiền xử lý C: %s\n"
+
+#: sunrpc/rpc_main.c:348
+msgid "cannot find any C preprocessor (cpp)\n"
+msgstr "không tìm thấy bộ tiền xử lý C (cpp)\n"
+
+#: sunrpc/rpc_main.c:417
+#, c-format
+msgid "%s: C preprocessor failed with signal %d\n"
+msgstr "%s: bộ tiền xử lý C bị lỗi với tín hiệu %d\n"
+
+#: sunrpc/rpc_main.c:420
+#, c-format
+msgid "%s: C preprocessor failed with exit code %d\n"
+msgstr "%s: bộ tiền xử lý C bị lỗi với mã thoát %d\n"
+
+#: sunrpc/rpc_main.c:460
+#, c-format
+msgid "illegal nettype: `%s'\n"
+msgstr "nettype cấm: « %s »\n"
+
+#: sunrpc/rpc_main.c:1122
+#, c-format
+msgid "rpcgen: too many defines\n"
+msgstr "rpcgen: quá nhiều lần xác định\n"
+
+#: sunrpc/rpc_main.c:1134
+#, c-format
+msgid "rpcgen: arglist coding error\n"
+msgstr "rpcgen: lỗi mã hoá danh sách đối số\n"
+
+#. TRANS: the file will not be removed; this is an
+#. TRANS: informative message.
+#: sunrpc/rpc_main.c:1167
+#, c-format
+msgid "file `%s' already exists and may be overwritten\n"
+msgstr "tập tin « %s » đã có và có thể được ghi đè\n"
+
+#: sunrpc/rpc_main.c:1212
+#, c-format
+msgid "Cannot specify more than one input file!\n"
+msgstr "Không thể ghi rõ nhiều hơn một tập tin nhập vào !\n"
+
+#: sunrpc/rpc_main.c:1382
+msgid "This implementation doesn't support newstyle or MT-safe code!\n"
+msgstr "Bản thực hiện này không hỗ trợ mã kiểu mới hoặc mã an toàn với MT !\n"
+
+#: sunrpc/rpc_main.c:1391
+#, c-format
+msgid "Cannot use netid flag with inetd flag!\n"
+msgstr "Không thể sư dụng cờ netid với cờ inetd !\n"
+
+#: sunrpc/rpc_main.c:1403
+msgid "Cannot use netid flag without TIRPC!\n"
+msgstr "Không thể sư dụng cờ netid khi không có TIRPC !\n"
+
+#: sunrpc/rpc_main.c:1410
+msgid "Cannot use table flags with newstyle!\n"
+msgstr "Không thể sử dụng cờ bảng với mã kiểu mới !\n"
+
+#: sunrpc/rpc_main.c:1429
+#, c-format
+msgid "\"infile\" is required for template generation flags.\n"
+msgstr "« tập_tin_nhập » cần thiết cho cờ tạo mẫu.\n"
+
+#: sunrpc/rpc_main.c:1434
+#, c-format
+msgid "Cannot have more than one file generation flag!\n"
+msgstr "Không cho phép nhiều hơn một cờ tạo tập tin !\n"
+
+#: sunrpc/rpc_main.c:1443
+#, c-format
+msgid "usage: %s infile\n"
+msgstr "sử dụng: %s tập_tin_nhập\n"
+
+#: sunrpc/rpc_main.c:1444
+#, c-format
+msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n"
+msgstr "\t%s [-abkCLNTM][-Dname[=giá_trị]] [-i cỡ] [-I [-K giây]] [-Y đường_dẫn] tập_tin_nhập\n"
+
+#: sunrpc/rpc_main.c:1446
+#, c-format
+msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n"
+msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o tập_tin_xuất] [tập_tin_nhập]\n"
+
+#: sunrpc/rpc_main.c:1448
+#, c-format
+msgid "\t%s [-s nettype]* [-o outfile] [infile]\n"
+msgstr "\t%s [-s nettype]* [-o tập_tin_xuất] [tập_tin_nhập]\n"
+
+#: sunrpc/rpc_main.c:1449
+#, c-format
+msgid "\t%s [-n netid]* [-o outfile] [infile]\n"
+msgstr "\t%s [-n netid]* [-o tập_tin_xuất] [tập_tin_nhập]\n"
+
+#: sunrpc/rpc_scan.c:114
+msgid "constant or identifier expected"
+msgstr "đợi bộ nhận diện hoặc hằng"
+
+#: sunrpc/rpc_scan.c:310
+msgid "illegal character in file: "
+msgstr "ký tự cấm trong tập tin:"
+
+#: sunrpc/rpc_scan.c:349 sunrpc/rpc_scan.c:375
+msgid "unterminated string constant"
+msgstr "hằng chuỗi chưa chấm dứt"
+
+#: sunrpc/rpc_scan.c:381
+msgid "empty char string"
+msgstr "chuỗi ký tự trống"
+
+#: sunrpc/rpc_scan.c:523 sunrpc/rpc_scan.c:533
+msgid "preprocessor error"
+msgstr "lỗi tiền xử lý"
+
+#: sunrpc/rpcinfo.c:237 sunrpc/rpcinfo.c:383
+#, c-format
+msgid "program %lu is not available\n"
+msgstr "chương trình %lu không sẵn sàng\n"
+
+#: sunrpc/rpcinfo.c:264 sunrpc/rpcinfo.c:310 sunrpc/rpcinfo.c:333
+#: sunrpc/rpcinfo.c:407 sunrpc/rpcinfo.c:453 sunrpc/rpcinfo.c:476
+#: sunrpc/rpcinfo.c:510
+#, c-format
+msgid "program %lu version %lu is not available\n"
+msgstr "chương trình %lu phiên bản %lu không sẵn sàng\n"
+
+#: sunrpc/rpcinfo.c:515
+#, c-format
+msgid "program %lu version %lu ready and waiting\n"
+msgstr "chương trình %lu phiên bản %lu sẵn sàng và đợi\n"
+
+#: sunrpc/rpcinfo.c:556 sunrpc/rpcinfo.c:563
+msgid "rpcinfo: can't contact portmapper"
+msgstr "rpcinfo: không thể liên lạc với portmapper"
+
+#: sunrpc/rpcinfo.c:570
+msgid "No remote programs registered.\n"
+msgstr "Không có chương trình ở xa đã đăng ký.\n"
+
+#: sunrpc/rpcinfo.c:574
+msgid " program vers proto port\n"
+msgstr " trình pbản gthức cổng\n"
+
+#: sunrpc/rpcinfo.c:613
+msgid "(unknown)"
+msgstr "(không rõ)"
+
+#: sunrpc/rpcinfo.c:637
+#, c-format
+msgid "rpcinfo: broadcast failed: %s\n"
+msgstr "rpcinfo: lỗi quảng bá %s\n"
+
+#: sunrpc/rpcinfo.c:658
+msgid "Sorry. You are not root\n"
+msgstr "Tiếc là bạn không phải người chủ\n"
+
+#: sunrpc/rpcinfo.c:665
+#, c-format
+msgid "rpcinfo: Could not delete registration for prog %s version %s\n"
+msgstr "rpcinfo: Không thể xoá sự đăng ký đối với chương trình %s phiên bản %s\n"
+
+#: sunrpc/rpcinfo.c:674
+msgid "Usage: rpcinfo [ -n portnum ] -u host prognum [ versnum ]\n"
+msgstr "Sử dụng: rpcinfo [ -n số_cổng ] -u máy số_chương_trình [ số_phiên_bản ]\n"
+
+#: sunrpc/rpcinfo.c:676
+msgid " rpcinfo [ -n portnum ] -t host prognum [ versnum ]\n"
+msgstr " rpcinfo [ -n số_cổng ] -t máy số_chương_trình [ số_phiên_bản ]\n"
+
+#: sunrpc/rpcinfo.c:678
+msgid " rpcinfo -p [ host ]\n"
+msgstr " rpcinfo -p [ máy ]\n"
+
+#: sunrpc/rpcinfo.c:679
+msgid " rpcinfo -b prognum versnum\n"
+msgstr " rpcinfo -b số_chương_trình số_phiên_bản\n"
+
+#: sunrpc/rpcinfo.c:680
+msgid " rpcinfo -d prognum versnum\n"
+msgstr " rpcinfo -d số_chương_trình số_phiên_bản\n"
+
+#: sunrpc/rpcinfo.c:695
+#, c-format
+msgid "rpcinfo: %s is unknown service\n"
+msgstr "rpcinfo: %s là dịch vụ không rõ\n"
+
+#: sunrpc/rpcinfo.c:732
+#, c-format
+msgid "rpcinfo: %s is unknown host\n"
+msgstr "rpcinfo: %s là máy không rõ\n"
+
+#: sunrpc/svc_run.c:70
+msgid "svc_run: - out of memory"
+msgstr "svc_run: tràn bộ nhớ"
+
+#: sunrpc/svc_run.c:90
+msgid "svc_run: - poll failed"
+msgstr "svc_run: lỗi thăm dò"
+
+#: sunrpc/svc_simple.c:87
+#, c-format
+msgid "can't reassign procedure number %ld\n"
+msgstr "không thể gán lại thủ tục số %ld\n"
+
+#: sunrpc/svc_simple.c:97
+msgid "couldn't create an rpc server\n"
+msgstr "không thể tạo một trình phục vụ RPC\n"
+
+#: sunrpc/svc_simple.c:105
+#, c-format
+msgid "couldn't register prog %ld vers %ld\n"
+msgstr "không thể đăng ký chương trình %ld phiên bản %ld\n"
+
+#: sunrpc/svc_simple.c:113
+msgid "registerrpc: out of memory\n"
+msgstr "registerrpc: tràn bộ nhớ\n"
+
+#: sunrpc/svc_simple.c:173
+#, c-format
+msgid "trouble replying to prog %d\n"
+msgstr "gặp khó đáp ứng chương trình %d\n"
+
+#: sunrpc/svc_simple.c:182
+#, c-format
+msgid "never registered prog %d\n"
+msgstr "chưa bao giờ đăng ký chương trình %d\n"
+
+#: sunrpc/svc_tcp.c:155
+msgid "svc_tcp.c - tcp socket creation problem"
+msgstr "svc_tcp.c — vấn đề tạo ổ cắm TCP"
+
+#: sunrpc/svc_tcp.c:170
+msgid "svc_tcp.c - cannot getsockname or listen"
+msgstr "svc_tcp.c — không thể getsockname (lấy tên ổ cắm) hoặc lắng nghe"
+
+#: sunrpc/svc_tcp.c:179
+msgid "svctcp_create: out of memory\n"
+msgstr "svctcp_create: tràn bộ nhớ\n"
+
+#: sunrpc/svc_tcp.c:218
+msgid "svc_tcp: makefd_xprt: out of memory\n"
+msgstr "svc_tcp: makefd_xprt: tràn bộ nhớ\n"
+
+#: sunrpc/svc_udp.c:128
+msgid "svcudp_create: socket creation problem"
+msgstr "svcudp_create: vấn đề tạo ổ cắm"
+
+#: sunrpc/svc_udp.c:142
+msgid "svcudp_create - cannot getsockname"
+msgstr "svcudp_create — không thể getsockname (lấy tên ổ cắm)"
+
+#: sunrpc/svc_udp.c:152
+msgid "svcudp_create: out of memory\n"
+msgstr "svcudp_create: tràn bộ nhớ\n"
+
+#: sunrpc/svc_udp.c:174
+msgid "svcudp_create: xp_pad is too small for IP_PKTINFO\n"
+msgstr "svcudp_create: xp_pad quá nhỏ cho IP_PKTINFO\n"
+
+#: sunrpc/svc_udp.c:474
+msgid "enablecache: cache already enabled"
+msgstr "enablecache: bộ nhớ tạm đã được hiệu lực"
+
+#: sunrpc/svc_udp.c:480
+msgid "enablecache: could not allocate cache"
+msgstr "enablecache: không thể cấp phát bộ nhớ tạm"
+
+#: sunrpc/svc_udp.c:489
+msgid "enablecache: could not allocate cache data"
+msgstr "enablecache: không thể cấp phát dữ liệu của bộ nhớ tạm"
+
+#: sunrpc/svc_udp.c:497
+msgid "enablecache: could not allocate cache fifo"
+msgstr "enablecache: không thể cấp phát FIFO (vào trước, ra trước) của bộ nhớ tạm"
+
+#: sunrpc/svc_udp.c:532
+msgid "cache_set: victim not found"
+msgstr "cache_set: không tìm thấy victim"
+
+#: sunrpc/svc_udp.c:543
+msgid "cache_set: victim alloc failed"
+msgstr "cache_set: lỗi cấp phát victim"
+
+#: sunrpc/svc_udp.c:550
+msgid "cache_set: could not allocate new rpc_buffer"
+msgstr "cache_set: không thể cấp phát bộ đệm RPC (rpc_buffer) mới"
+
+#: sunrpc/svc_unix.c:150
+msgid "svc_unix.c - AF_UNIX socket creation problem"
+msgstr "svc_unix.c — vấn đề tạo ổ cắm AF_UNIX"
+
+#: sunrpc/svc_unix.c:166
+msgid "svc_unix.c - cannot getsockname or listen"
+msgstr "svc_unix.c — không thể getsockname (lấy tên ổ cắm) hoặc lắng nghe"
+
+#: sunrpc/svc_unix.c:176
+msgid "svcunix_create: out of memory\n"
+msgstr "svcunix_create: tràn bộ nhớ\n"
+
+#: sunrpc/svc_unix.c:215
+msgid "svc_unix: makefd_xprt: out of memory\n"
+msgstr "svc_unix: makefd_xprt: tràn bộ nhớ\n"
+
+#: sunrpc/xdr.c:566
+msgid "xdr_bytes: out of memory\n"
+msgstr "xdr_bytes: tràn bộ nhớ\n"
+
+#: sunrpc/xdr.c:718
+msgid "xdr_string: out of memory\n"
+msgstr "xdr_string: tràn bộ nhớ\n"
+
+#: sunrpc/xdr_array.c:106
+msgid "xdr_array: out of memory\n"
+msgstr "xdr_array: tràn bộ nhớ\n"
+
+#: sunrpc/xdr_rec.c:156
+msgid "xdrrec_create: out of memory\n"
+msgstr "xdrrec_create: tràn bộ nhớ\n"
+
+#: sunrpc/xdr_ref.c:86
+msgid "xdr_reference: out of memory\n"
+msgstr "xdr_reference: tràn bộ nhớ\n"
+
+#: sysdeps/generic/siglist.h:29 sysdeps/unix/siglist.c:27
+msgid "Hangup"
+msgstr "Ngừng nói"
+
+#: sysdeps/generic/siglist.h:30 sysdeps/unix/siglist.c:28
+msgid "Interrupt"
+msgstr "Ngắt"
+
+#: sysdeps/generic/siglist.h:31 sysdeps/unix/siglist.c:29
+msgid "Quit"
+msgstr "Thoát"
+
+#: sysdeps/generic/siglist.h:32 sysdeps/unix/siglist.c:30
+msgid "Illegal instruction"
+msgstr "Câu lệnh bị cấm"
+
+#: sysdeps/generic/siglist.h:33 sysdeps/unix/siglist.c:31
+msgid "Trace/breakpoint trap"
+msgstr "Bẫy vết/điểm ngắt"
+
+#: sysdeps/generic/siglist.h:34
+msgid "Aborted"
+msgstr "Bị hủy bỏ"
+
+#: sysdeps/generic/siglist.h:35 sysdeps/unix/siglist.c:34
+msgid "Floating point exception"
+msgstr "Ngoại lệ điểm phù động"
+
+#: sysdeps/generic/siglist.h:36 sysdeps/unix/siglist.c:35
+msgid "Killed"
+msgstr "Bị buộc kết thúc"
+
+#: sysdeps/generic/siglist.h:37 sysdeps/unix/siglist.c:36
+msgid "Bus error"
+msgstr "Lỗi mạch nối"
+
+#: sysdeps/generic/siglist.h:38 sysdeps/unix/siglist.c:37
+msgid "Segmentation fault"
+msgstr "Lỗi phân đoạn"
+
+#. TRANS Broken pipe; there is no process reading from the other end of a pipe.
+#. TRANS Every library function that returns this error code also generates a
+#. TRANS @code{SIGPIPE} signal; this signal terminates the program if not handled
+#. TRANS or blocked. Thus, your program will never actually see @code{EPIPE}
+#. TRANS unless it has handled or blocked @code{SIGPIPE}.
+#: sysdeps/generic/siglist.h:39 sysdeps/gnu/errlist.c:359
+#: sysdeps/unix/siglist.c:39
+msgid "Broken pipe"
+msgstr "Ống dẫn bị ngắt"
+
+#: sysdeps/generic/siglist.h:40 sysdeps/unix/siglist.c:40
+msgid "Alarm clock"
+msgstr "Đồng hồ báo động"
+
+#: sysdeps/generic/siglist.h:41 sysdeps/unix/siglist.c:41
+msgid "Terminated"
+msgstr "Bị kết thúc"
+
+#: sysdeps/generic/siglist.h:42 sysdeps/unix/siglist.c:42
+msgid "Urgent I/O condition"
+msgstr "Tình trạng V/R khẩn cấp"
+
+#: sysdeps/generic/siglist.h:43 sysdeps/unix/siglist.c:43
+msgid "Stopped (signal)"
+msgstr "Bị dừng (tín hiệu)"
+
+#: sysdeps/generic/siglist.h:44 sysdeps/unix/siglist.c:44
+msgid "Stopped"
+msgstr "Bị dừng"
+
+#: sysdeps/generic/siglist.h:45 sysdeps/unix/siglist.c:45
+msgid "Continued"
+msgstr "Đã tiếp tục"
+
+#: sysdeps/generic/siglist.h:46 sysdeps/unix/siglist.c:46
+msgid "Child exited"
+msgstr "Tiến trình con đã thoát"
+
+#: sysdeps/generic/siglist.h:47 sysdeps/unix/siglist.c:47
+msgid "Stopped (tty input)"
+msgstr "Bị dừng (dữ liệu nhập tty)"
+
+#: sysdeps/generic/siglist.h:48 sysdeps/unix/siglist.c:48
+msgid "Stopped (tty output)"
+msgstr "Bị dừng (kết xuất tty)"
+
+#: sysdeps/generic/siglist.h:49 sysdeps/unix/siglist.c:49
+msgid "I/O possible"
+msgstr "V/R có thể"
+
+#: sysdeps/generic/siglist.h:50 sysdeps/unix/siglist.c:50
+msgid "CPU time limit exceeded"
+msgstr "Vượt quá giới hạn thời gian CPU"
+
+#: sysdeps/generic/siglist.h:51 sysdeps/unix/siglist.c:51
+msgid "File size limit exceeded"
+msgstr "Vượt quá giới hạn kích cỡ tập tin"
+
+#: sysdeps/generic/siglist.h:52 sysdeps/unix/siglist.c:52
+msgid "Virtual timer expired"
+msgstr "Bộ đếm thời gian ảo đã quá hạn"
+
+#: sysdeps/generic/siglist.h:53 sysdeps/unix/siglist.c:53
+msgid "Profiling timer expired"
+msgstr "Bộ đếm thời gian đo hiệu năng sử dụng đã quá hạn"
+
+#: sysdeps/generic/siglist.h:54 sysdeps/unix/siglist.c:54
+msgid "Window changed"
+msgstr "Cửa sổ đã thay đổi"
+
+#: sysdeps/generic/siglist.h:55 sysdeps/unix/siglist.c:56
+msgid "User defined signal 1"
+msgstr "Tín hiệu do người dùng xác định 1"
+
+#: sysdeps/generic/siglist.h:56 sysdeps/unix/siglist.c:57
+msgid "User defined signal 2"
+msgstr "Tín hiệu do người dùng xác định 2"
+
+#: sysdeps/generic/siglist.h:60 sysdeps/unix/siglist.c:33
+msgid "EMT trap"
+msgstr "Bẫy EMT"
+
+#: sysdeps/generic/siglist.h:63 sysdeps/unix/siglist.c:38
+msgid "Bad system call"
+msgstr "Cuộc gọi hệ thống sai"
+
+#: sysdeps/generic/siglist.h:66
+msgid "Stack fault"
+msgstr "Lỗi đống"
+
+#: sysdeps/generic/siglist.h:69
+msgid "Information request"
+msgstr "Yêu cầu thông tin"
+
+#: sysdeps/generic/siglist.h:71
+msgid "Power failure"
+msgstr "Bị cúp điện đột ngột"
+
+#: sysdeps/generic/siglist.h:74 sysdeps/unix/siglist.c:55
+msgid "Resource lost"
+msgstr "Tài nguyên bị mất"
+
+#. TRANS Operation not permitted; only the owner of the file (or other resource)
+#. TRANS or processes with special privileges can perform the operation.
+#: sysdeps/gnu/errlist.c:25
+msgid "Operation not permitted"
+msgstr "Thao tác không được phép"
+
+#. TRANS No process matches the specified process ID.
+#: sysdeps/gnu/errlist.c:45
+msgid "No such process"
+msgstr "Không có tiến trình như vậy"
+
+#. TRANS Interrupted function call; an asynchronous signal occurred and prevented
+#. TRANS completion of the call. When this happens, you should try the call
+#. TRANS again.
+#. TRANS
+#. TRANS You can choose to have functions resume after a signal that is handled,
+#. TRANS rather than failing with @code{EINTR}; see @ref{Interrupted
+#. TRANS Primitives}.
+#: sysdeps/gnu/errlist.c:60
+msgid "Interrupted system call"
+msgstr "Cuộc gọi hệ thống bị gián đoạn"
+
+#. TRANS Input/output error; usually used for physical read or write errors.
+#: sysdeps/gnu/errlist.c:69
+msgid "Input/output error"
+msgstr "Lỗi vào/ra"
+
+#. TRANS No such device or address. The system tried to use the device
+#. TRANS represented by a file you specified, and it couldn't find the device.
+#. TRANS This can mean that the device file was installed incorrectly, or that
+#. TRANS the physical device is missing or not correctly attached to the
+#. TRANS computer.
+#: sysdeps/gnu/errlist.c:82
+msgid "No such device or address"
+msgstr "Không có thiết bị hoặc địa chỉ như vậy"
+
+#. TRANS Argument list too long; used when the arguments passed to a new program
+#. TRANS being executed with one of the @code{exec} functions (@pxref{Executing a
+#. TRANS File}) occupy too much memory space. This condition never arises in the
+#. TRANS GNU system.
+#: sysdeps/gnu/errlist.c:94
+msgid "Argument list too long"
+msgstr "Danh sách đối số quá dài"
+
+#. TRANS Invalid executable file format. This condition is detected by the
+#. TRANS @code{exec} functions; see @ref{Executing a File}.
+#: sysdeps/gnu/errlist.c:104
+msgid "Exec format error"
+msgstr "Lỗi định dạng thực hiện"
+
+#. TRANS Bad file descriptor; for example, I/O on a descriptor that has been
+#. TRANS closed or reading from a descriptor open only for writing (or vice
+#. TRANS versa).
+#: sysdeps/gnu/errlist.c:115
+msgid "Bad file descriptor"
+msgstr "Bộ mô tả tập tin sai"
+
+#. TRANS There are no child processes. This error happens on operations that are
+#. TRANS supposed to manipulate child processes, when there aren't any processes
+#. TRANS to manipulate.
+#: sysdeps/gnu/errlist.c:126
+msgid "No child processes"
+msgstr "Không có tiến trình con"
+
+#. TRANS Deadlock avoided; allocating a system resource would have resulted in a
+#. TRANS deadlock situation. The system does not guarantee that it will notice
+#. TRANS all such situations. This error means you got lucky and the system
+#. TRANS noticed; it might just hang. @xref{File Locks}, for an example.
+#: sysdeps/gnu/errlist.c:138
+msgid "Resource deadlock avoided"
+msgstr "Tránh tài nguyên bế tắc"
+
+#. TRANS No memory available. The system cannot allocate more virtual memory
+#. TRANS because its capacity is full.
+#: sysdeps/gnu/errlist.c:148
+msgid "Cannot allocate memory"
+msgstr "Không thể cấp phát bộ nhớ"
+
+#. TRANS Bad address; an invalid pointer was detected.
+#. TRANS In the GNU system, this error never happens; you get a signal instead.
+#: sysdeps/gnu/errlist.c:167
+msgid "Bad address"
+msgstr "Địa chỉ sai"
+
+#. TRANS A file that isn't a block special file was given in a situation that
+#. TRANS requires one. For example, trying to mount an ordinary file as a file
+#. TRANS system in Unix gives this error.
+#: sysdeps/gnu/errlist.c:178
+msgid "Block device required"
+msgstr "Cần có thiết bị khối"
+
+#. TRANS Resource busy; a system resource that can't be shared is already in use.
+#. TRANS For example, if you try to delete a file that is the root of a currently
+#. TRANS mounted filesystem, you get this error.
+#: sysdeps/gnu/errlist.c:189
+msgid "Device or resource busy"
+msgstr "Thiết bị hoặc tài nguyên đang bận"
+
+#. TRANS File exists; an existing file was specified in a context where it only
+#. TRANS makes sense to specify a new file.
+#: sysdeps/gnu/errlist.c:199
+msgid "File exists"
+msgstr "Tập tin đã có"
+
+#. TRANS An attempt to make an improper link across file systems was detected.
+#. TRANS This happens not only when you use @code{link} (@pxref{Hard Links}) but
+#. TRANS also when you rename a file with @code{rename} (@pxref{Renaming Files}).
+#: sysdeps/gnu/errlist.c:210
+msgid "Invalid cross-device link"
+msgstr "Liên kết thiết bị chéo không hợp lệ"
+
+#. TRANS The wrong type of device was given to a function that expects a
+#. TRANS particular sort of device.
+#: sysdeps/gnu/errlist.c:220
+msgid "No such device"
+msgstr "Không có thiết bị như vậy"
+
+#. TRANS A file that isn't a directory was specified when a directory is required.
+#: sysdeps/gnu/errlist.c:229
+msgid "Not a directory"
+msgstr "Không phải là một thư mục"
+
+#. TRANS File is a directory; you cannot open a directory for writing,
+#. TRANS or create or remove hard links to it.
+#: sysdeps/gnu/errlist.c:239
+msgid "Is a directory"
+msgstr "Là một thư mục"
+
+#. TRANS Invalid argument. This is used to indicate various kinds of problems
+#. TRANS with passing the wrong argument to a library function.
+#: sysdeps/gnu/errlist.c:249
+msgid "Invalid argument"
+msgstr "Đối số không hợp lệ"
+
+#. TRANS The current process has too many files open and can't open any more.
+#. TRANS Duplicate descriptors do count toward this limit.
+#. TRANS
+#. TRANS In BSD and GNU, the number of open files is controlled by a resource
+#. TRANS limit that can usually be increased. If you get this error, you might
+#. TRANS want to increase the @code{RLIMIT_NOFILE} limit or make it unlimited;
+#. TRANS @pxref{Limits on Resources}.
+#: sysdeps/gnu/errlist.c:264
+msgid "Too many open files"
+msgstr "Quá nhiều tập tin còn mở"
+
+#. TRANS There are too many distinct file openings in the entire system. Note
+#. TRANS that any number of linked channels count as just one file opening; see
+#. TRANS @ref{Linked Channels}. This error never occurs in the GNU system.
+#: sysdeps/gnu/errlist.c:275
+msgid "Too many open files in system"
+msgstr "Quá nhiều tập tin còn mở trong hệ thống"
+
+#. TRANS Inappropriate I/O control operation, such as trying to set terminal
+#. TRANS modes on an ordinary file.
+#: sysdeps/gnu/errlist.c:285
+msgid "Inappropriate ioctl for device"
+msgstr "ioctl không thích hợp với thiết bị"
+
+#. TRANS An attempt to execute a file that is currently open for writing, or
+#. TRANS write to a file that is currently being executed. Often using a
+#. TRANS debugger to run a program is considered having it open for writing and
+#. TRANS will cause this error. (The name stands for ``text file busy''.) This
+#. TRANS is not an error in the GNU system; the text is copied as necessary.
+#: sysdeps/gnu/errlist.c:298
+msgid "Text file busy"
+msgstr "Tập tin văn bản đang bận"
+
+#. TRANS File too big; the size of a file would be larger than allowed by the system.
+#: sysdeps/gnu/errlist.c:307
+msgid "File too large"
+msgstr "Tập tin quá lớn"
+
+#. TRANS No space left on device; write operation on a file failed because the
+#. TRANS disk is full.
+#: sysdeps/gnu/errlist.c:317
+msgid "No space left on device"
+msgstr "Không có sức chứa còn rảnh trên thiết bị"
+
+#. TRANS Invalid seek operation (such as on a pipe).
+#: sysdeps/gnu/errlist.c:326
+msgid "Illegal seek"
+msgstr "Tìm nơi cấm"
+
+#. TRANS An attempt was made to modify something on a read-only file system.
+#: sysdeps/gnu/errlist.c:335
+msgid "Read-only file system"
+msgstr "Hệ thống tập tin chỉ đọc"
+
+#. TRANS Too many links; the link count of a single file would become too large.
+#. TRANS @code{rename} can cause this error if the file being renamed already has
+#. TRANS as many links as it can take (@pxref{Renaming Files}).
+#: sysdeps/gnu/errlist.c:346
+msgid "Too many links"
+msgstr "Quá nhiều liên kết"
+
+#. TRANS Domain error; used by mathematical functions when an argument value does
+#. TRANS not fall into the domain over which the function is defined.
+#: sysdeps/gnu/errlist.c:369
+msgid "Numerical argument out of domain"
+msgstr "Đối số thuộc số ở ngoại miền"
+
+#. TRANS Range error; used by mathematical functions when the result value is
+#. TRANS not representable because of overflow or underflow.
+#: sysdeps/gnu/errlist.c:379
+msgid "Numerical result out of range"
+msgstr "Kết quả thuộc số ở ngoại phạm vi"
+
+#. TRANS Resource temporarily unavailable; the call might work if you try again
+#. TRANS later. The macro @code{EWOULDBLOCK} is another name for @code{EAGAIN};
+#. TRANS they are always the same in the GNU C library.
+#. TRANS
+#. TRANS This error can happen in a few different situations:
+#. TRANS
+#. TRANS @itemize @bullet
+#. TRANS @item
+#. TRANS An operation that would block was attempted on an object that has
+#. TRANS non-blocking mode selected. Trying the same operation again will block
+#. TRANS until some external condition makes it possible to read, write, or
+#. TRANS connect (whatever the operation). You can use @code{select} to find out
+#. TRANS when the operation will be possible; @pxref{Waiting for I/O}.
+#. TRANS
+#. TRANS @strong{Portability Note:} In many older Unix systems, this condition
+#. TRANS was indicated by @code{EWOULDBLOCK}, which was a distinct error code
+#. TRANS different from @code{EAGAIN}. To make your program portable, you should
+#. TRANS check for both codes and treat them the same.
+#. TRANS
+#. TRANS @item
+#. TRANS A temporary resource shortage made an operation impossible. @code{fork}
+#. TRANS can return this error. It indicates that the shortage is expected to
+#. TRANS pass, so your program can try the call again later and it may succeed.
+#. TRANS It is probably a good idea to delay for a few seconds before trying it
+#. TRANS again, to allow time for other processes to release scarce resources.
+#. TRANS Such shortages are usually fairly serious and affect the whole system,
+#. TRANS so usually an interactive program should report the error to the user
+#. TRANS and return to its command loop.
+#. TRANS @end itemize
+#: sysdeps/gnu/errlist.c:416
+msgid "Resource temporarily unavailable"
+msgstr "Tài nguyên tạm thời không sẵn sàng"
+
+#. TRANS In the GNU C library, this is another name for @code{EAGAIN} (above).
+#. TRANS The values are always the same, on every operating system.
+#. TRANS
+#. TRANS C libraries in many older Unix systems have @code{EWOULDBLOCK} as a
+#. TRANS separate error code.
+#: sysdeps/gnu/errlist.c:429
+msgid "Operation would block"
+msgstr "Thao tác sẽ chặn"
+
+#. TRANS An operation that cannot complete immediately was initiated on an object
+#. TRANS that has non-blocking mode selected. Some functions that must always
+#. TRANS block (such as @code{connect}; @pxref{Connecting}) never return
+#. TRANS @code{EAGAIN}. Instead, they return @code{EINPROGRESS} to indicate that
+#. TRANS the operation has begun and will take some time. Attempts to manipulate
+#. TRANS the object before the call completes return @code{EALREADY}. You can
+#. TRANS use the @code{select} function to find out when the pending operation
+#. TRANS has completed; @pxref{Waiting for I/O}.
+#: sysdeps/gnu/errlist.c:445
+msgid "Operation now in progress"
+msgstr "Thao tác đang chạy"
+
+#. TRANS An operation is already in progress on an object that has non-blocking
+#. TRANS mode selected.
+#: sysdeps/gnu/errlist.c:455
+msgid "Operation already in progress"
+msgstr "Thao tác đã khởi chạy"
+
+#. TRANS A file that isn't a socket was specified when a socket is required.
+#: sysdeps/gnu/errlist.c:464
+msgid "Socket operation on non-socket"
+msgstr "Thao tác kiểu ổ cắm trên cái không phải ổ cắm"
+
+#. TRANS The size of a message sent on a socket was larger than the supported
+#. TRANS maximum size.
+#: sysdeps/gnu/errlist.c:474
+msgid "Message too long"
+msgstr "Thông điệp quá dài"
+
+#. TRANS The socket type does not support the requested communications protocol.
+#: sysdeps/gnu/errlist.c:483
+msgid "Protocol wrong type for socket"
+msgstr "Giao thức kiểu không đúng cho ổ cắm"
+
+#. TRANS You specified a socket option that doesn't make sense for the
+#. TRANS particular protocol being used by the socket. @xref{Socket Options}.
+#: sysdeps/gnu/errlist.c:493
+msgid "Protocol not available"
+msgstr "Giao thức không sẵn sàng"
+
+#. TRANS The socket domain does not support the requested communications protocol
+#. TRANS (perhaps because the requested protocol is completely invalid).
+#. TRANS @xref{Creating a Socket}.
+#: sysdeps/gnu/errlist.c:504
+msgid "Protocol not supported"
+msgstr "Giao thức không được hỗ trợ"
+
+#. TRANS The socket type is not supported.
+#: sysdeps/gnu/errlist.c:513
+msgid "Socket type not supported"
+msgstr "Kiểu ổ cắm không được hỗ trợ"
+
+#. TRANS The operation you requested is not supported. Some socket functions
+#. TRANS don't make sense for all types of sockets, and others may not be
+#. TRANS implemented for all communications protocols. In the GNU system, this
+#. TRANS error can happen for many calls when the object does not support the
+#. TRANS particular operation; it is a generic indication that the server knows
+#. TRANS nothing to do for that call.
+#: sysdeps/gnu/errlist.c:527
+msgid "Operation not supported"
+msgstr "Thao tác không được hỗ trợ"
+
+#. TRANS The socket communications protocol family you requested is not supported.
+#: sysdeps/gnu/errlist.c:536
+msgid "Protocol family not supported"
+msgstr "Nhóm giao thức không được hỗ trợ"
+
+#. TRANS The address family specified for a socket is not supported; it is
+#. TRANS inconsistent with the protocol being used on the socket. @xref{Sockets}.
+#: sysdeps/gnu/errlist.c:546
+msgid "Address family not supported by protocol"
+msgstr "Nhóm địa chỉ không được giao thức hỗ trợ"
+
+#. TRANS The requested socket address is already in use. @xref{Socket Addresses}.
+#: sysdeps/gnu/errlist.c:555
+msgid "Address already in use"
+msgstr "Địa chỉ đang được dùng"
+
+#. TRANS The requested socket address is not available; for example, you tried
+#. TRANS to give a socket a name that doesn't match the local host name.
+#. TRANS @xref{Socket Addresses}.
+#: sysdeps/gnu/errlist.c:566
+msgid "Cannot assign requested address"
+msgstr "Không thể gán địa chỉ đã yêu cầu"
+
+#. TRANS A socket operation failed because the network was down.
+#: sysdeps/gnu/errlist.c:575
+msgid "Network is down"
+msgstr "Mạng không chạy"
+
+#. TRANS A socket operation failed because the subnet containing the remote host
+#. TRANS was unreachable.
+#: sysdeps/gnu/errlist.c:585
+msgid "Network is unreachable"
+msgstr "Không thể tới mạng"
+
+#. TRANS A network connection was reset because the remote host crashed.
+#: sysdeps/gnu/errlist.c:594
+msgid "Network dropped connection on reset"
+msgstr "Mạng đã bỏ kết nối khi đặt lại"
+
+#. TRANS A network connection was aborted locally.
+#: sysdeps/gnu/errlist.c:603
+msgid "Software caused connection abort"
+msgstr "Phần mềm đã gây ra kết nối hủy bỏ"
+
+#. TRANS A network connection was closed for reasons outside the control of the
+#. TRANS local host, such as by the remote machine rebooting or an unrecoverable
+#. TRANS protocol violation.
+#: sysdeps/gnu/errlist.c:614
+msgid "Connection reset by peer"
+msgstr "Kết nối bị đặt lại bởi ngang hàng"
+
+#. TRANS The kernel's buffers for I/O operations are all in use. In GNU, this
+#. TRANS error is always synonymous with @code{ENOMEM}; you may get one or the
+#. TRANS other from network operations.
+#: sysdeps/gnu/errlist.c:625
+msgid "No buffer space available"
+msgstr "Không có vùng đệm sẵn sàng"
+
+#. TRANS You tried to connect a socket that is already connected.
+#. TRANS @xref{Connecting}.
+#: sysdeps/gnu/errlist.c:635
+msgid "Transport endpoint is already connected"
+msgstr "Điểm cuối truyền đã được kết nối"
+
+#. TRANS The socket is not connected to anything. You get this error when you
+#. TRANS try to transmit data over a socket, without first specifying a
+#. TRANS destination for the data. For a connectionless socket (for datagram
+#. TRANS protocols, such as UDP), you get @code{EDESTADDRREQ} instead.
+#: sysdeps/gnu/errlist.c:647
+msgid "Transport endpoint is not connected"
+msgstr "Điểm cuối truyền chưa kết nối"
+
+#. TRANS No default destination address was set for the socket. You get this
+#. TRANS error when you try to transmit data over a connectionless socket,
+#. TRANS without first specifying a destination for the data with @code{connect}.
+#: sysdeps/gnu/errlist.c:658
+msgid "Destination address required"
+msgstr "Cần thiết địa chỉ đích"
+
+#. TRANS The socket has already been shut down.
+#: sysdeps/gnu/errlist.c:667
+msgid "Cannot send after transport endpoint shutdown"
+msgstr "Không thể gửi sau khi tắt điểm cuối truyền"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:676
+msgid "Too many references: cannot splice"
+msgstr "Quá nhiều tham chiếu : không thể nối bện"
+
+#. TRANS A socket operation with a specified timeout received no response during
+#. TRANS the timeout period.
+#: sysdeps/gnu/errlist.c:686
+msgid "Connection timed out"
+msgstr "Kết nối đã quá hạn"
+
+#. TRANS A remote host refused to allow the network connection (typically because
+#. TRANS it is not running the requested service).
+#: sysdeps/gnu/errlist.c:696
+msgid "Connection refused"
+msgstr "Kết nối bị từ chối"
+
+#. TRANS Too many levels of symbolic links were encountered in looking up a file name.
+#. TRANS This often indicates a cycle of symbolic links.
+#: sysdeps/gnu/errlist.c:706
+msgid "Too many levels of symbolic links"
+msgstr "Quá nhiều cấp liên kết tượng trưng"
+
+#. TRANS Filename too long (longer than @code{PATH_MAX}; @pxref{Limits for
+#. TRANS Files}) or host name too long (in @code{gethostname} or
+#. TRANS @code{sethostname}; @pxref{Host Identification}).
+#: sysdeps/gnu/errlist.c:717
+msgid "File name too long"
+msgstr "Tên tập tin quá dài"
+
+#. TRANS The remote host for a requested network connection is down.
+#: sysdeps/gnu/errlist.c:726
+msgid "Host is down"
+msgstr "Máy không chạy"
+
+#. TRANS The remote host for a requested network connection is not reachable.
+#: sysdeps/gnu/errlist.c:735
+msgid "No route to host"
+msgstr "Không có đường dẫn đến máy"
+
+#. TRANS Directory not empty, where an empty directory was expected. Typically,
+#. TRANS this error occurs when you are trying to delete a directory.
+#: sysdeps/gnu/errlist.c:745
+msgid "Directory not empty"
+msgstr "Thư mục không rỗng"
+
+#. TRANS This means that the per-user limit on new process would be exceeded by
+#. TRANS an attempted @code{fork}. @xref{Limits on Resources}, for details on
+#. TRANS the @code{RLIMIT_NPROC} limit.
+#: sysdeps/gnu/errlist.c:756
+msgid "Too many processes"
+msgstr "Quá nhiều tiến trình"
+
+#. TRANS The file quota system is confused because there are too many users.
+#. TRANS @c This can probably happen in a GNU system when using NFS.
+#: sysdeps/gnu/errlist.c:766
+msgid "Too many users"
+msgstr "Quá nhiều người dùng"
+
+#. TRANS The user's disk quota was exceeded.
+#: sysdeps/gnu/errlist.c:775
+msgid "Disk quota exceeded"
+msgstr "Vượt quá chỉ tiêu đĩa"
+
+#. TRANS Stale NFS file handle. This indicates an internal confusion in the NFS
+#. TRANS system which is due to file system rearrangements on the server host.
+#. TRANS Repairing this condition usually requires unmounting and remounting
+#. TRANS the NFS file system on the local host.
+#: sysdeps/gnu/errlist.c:787
+msgid "Stale NFS file handle"
+msgstr "Bộ xử lý tập tin cũ"
+
+#. TRANS An attempt was made to NFS-mount a remote file system with a file name that
+#. TRANS already specifies an NFS-mounted file.
+#. TRANS (This is an error on some operating systems, but we expect it to work
+#. TRANS properly on the GNU system, making this error code impossible.)
+#: sysdeps/gnu/errlist.c:799
+msgid "Object is remote"
+msgstr "Đối tượng ở xa"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:808
+msgid "RPC struct is bad"
+msgstr "Cấu trúc RPC sai"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:817
+msgid "RPC version wrong"
+msgstr "RPC: phiên bản không đúng"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:826
+msgid "RPC program not available"
+msgstr "RPC: chương trình không sẵn sàng "
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:835
+msgid "RPC program version wrong"
+msgstr "RPC: phiên bản chương trình không đúng"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:844
+msgid "RPC bad procedure for program"
+msgstr "RPC: thủ tục sai đối với chương trình"
+
+#. TRANS No locks available. This is used by the file locking facilities; see
+#. TRANS @ref{File Locks}. This error is never generated by the GNU system, but
+#. TRANS it can result from an operation to an NFS server running another
+#. TRANS operating system.
+#: sysdeps/gnu/errlist.c:856
+msgid "No locks available"
+msgstr "Không có khoá sẵn sàng"
+
+#. TRANS Inappropriate file type or format. The file was the wrong type for the
+#. TRANS operation, or a data file had the wrong format.
+#. TRANS
+#. TRANS On some systems @code{chmod} returns this error if you try to set the
+#. TRANS sticky bit on a non-directory file; @pxref{Setting Permissions}.
+#: sysdeps/gnu/errlist.c:869
+msgid "Inappropriate file type or format"
+msgstr "Định dạng hoặc kiểu tập tin không thích hợp"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:878
+msgid "Authentication error"
+msgstr "Lỗi xác thực"
+
+#. TRANS ???
+#: sysdeps/gnu/errlist.c:887
+msgid "Need authenticator"
+msgstr "Cần xác thực"
+
+#. TRANS Function not implemented. This indicates that the function called is
+#. TRANS not implemented at all, either in the C library itself or in the
+#. TRANS operating system. When you get this error, you can be sure that this
+#. TRANS particular function will always fail with @code{ENOSYS} unless you
+#. TRANS install a new version of the C library or the operating system.
+#: sysdeps/gnu/errlist.c:900
+msgid "Function not implemented"
+msgstr "Chưa thực hiện chức năng"
+
+#. TRANS Not supported. A function returns this error when certain parameter
+#. TRANS values are valid, but the functionality they request is not available.
+#. TRANS This can mean that the function does not implement a particular command
+#. TRANS or option value or flag bit at all. For functions that operate on some
+#. TRANS object given in a parameter, such as a file descriptor or a port, it
+#. TRANS might instead mean that only @emph{that specific object} (file
+#. TRANS descriptor, port, etc.) is unable to support the other parameters given;
+#. TRANS different file descriptors might support different ranges of parameter
+#. TRANS values.
+#. TRANS
+#. TRANS If the entire function is not available at all in the implementation,
+#. TRANS it returns @code{ENOSYS} instead.
+#: sysdeps/gnu/errlist.c:920
+msgid "Not supported"
+msgstr "Không được hỗ trợ"
+
+#. TRANS While decoding a multibyte character the function came along an invalid
+#. TRANS or an incomplete sequence of bytes or the given wide character is invalid.
+#: sysdeps/gnu/errlist.c:930
+msgid "Invalid or incomplete multibyte or wide character"
+msgstr "Ký tự đa byte hoặc rộng không hợp lệ hoặc chưa hoàn toàn"
+
+#. TRANS In the GNU system, servers supporting the @code{term} protocol return
+#. TRANS this error for certain operations when the caller is not in the
+#. TRANS foreground process group of the terminal. Users do not usually see this
+#. TRANS error because functions such as @code{read} and @code{write} translate
+#. TRANS it into a @code{SIGTTIN} or @code{SIGTTOU} signal. @xref{Job Control},
+#. TRANS for information on process groups and these signals.
+#: sysdeps/gnu/errlist.c:944
+msgid "Inappropriate operation for background process"
+msgstr "Thao tác không thích hợp với tiến trình nền"
+
+#. TRANS In the GNU system, opening a file returns this error when the file is
+#. TRANS translated by a program and the translator program dies while starting
+#. TRANS up, before it has connected to the file.
+#: sysdeps/gnu/errlist.c:955
+msgid "Translator died"
+msgstr "Trình dịch đã chết"
+
+#. TRANS The experienced user will know what is wrong.
+#. TRANS @c This error code is a joke. Its perror text is part of the joke.
+#. TRANS @c Don't change it.
+#: sysdeps/gnu/errlist.c:966
+msgid "?"
+msgstr "?"
+
+#. TRANS You did @strong{what}?
+#: sysdeps/gnu/errlist.c:975
+msgid "You really blew it this time"
+msgstr "Chắc là một trường hợp sai"
+
+#. TRANS Go home and have a glass of warm, dairy-fresh milk.
+#: sysdeps/gnu/errlist.c:984
+msgid "Computer bought the farm"
+msgstr "Máy tính đã chết"
+
+#. TRANS This error code has no purpose.
+#: sysdeps/gnu/errlist.c:993
+msgid "Gratuitous error"
+msgstr "Lỗi không có lý do"
+
+#: sysdeps/gnu/errlist.c:1001
+msgid "Bad message"
+msgstr "Thông điệp sai"
+
+#: sysdeps/gnu/errlist.c:1009
+msgid "Identifier removed"
+msgstr "Đồ nhận diện bị gỡ bỏ"
+
+#: sysdeps/gnu/errlist.c:1017
+msgid "Multihop attempted"
+msgstr "Đa nhảy được thử"
+
+#: sysdeps/gnu/errlist.c:1025
+msgid "No data available"
+msgstr "Không có dữ liệu sẵn sàng"
+
+#: sysdeps/gnu/errlist.c:1033
+msgid "Link has been severed"
+msgstr "Liên kết đã bị ngắt"
+
+#: sysdeps/gnu/errlist.c:1041
+msgid "No message of desired type"
+msgstr "Không có thông điệp kiểu đã muốn"
+
+#: sysdeps/gnu/errlist.c:1049
+msgid "Out of streams resources"
+msgstr "Tràn tài nguyên luồng"
+
+#: sysdeps/gnu/errlist.c:1057
+msgid "Device not a stream"
+msgstr "Thiết bị không phải luồng"
+
+#: sysdeps/gnu/errlist.c:1065
+msgid "Value too large for defined data type"
+msgstr "Giá trị quá lớn cho kiểu dữ liệu đã xác định"
+
+#: sysdeps/gnu/errlist.c:1073
+msgid "Protocol error"
+msgstr "Lỗi giao thức"
+
+#: sysdeps/gnu/errlist.c:1081
+msgid "Timer expired"
+msgstr "Quá hạn"
+
+#. TRANS Operation canceled; an asynchronous operation was canceled before it
+#. TRANS completed. @xref{Asynchronous I/O}. When you call @code{aio_cancel},
+#. TRANS the normal result is for the operations affected to complete with this
+#. TRANS error; @pxref{Cancel AIO Operations}.
+#: sysdeps/gnu/errlist.c:1093
+msgid "Operation canceled"
+msgstr "Thao tác bị thôi"
+
+#: sysdeps/gnu/errlist.c:1101
+msgid "Interrupted system call should be restarted"
+msgstr "Cuộc gọi hệ thống bị gián đoạn nên được khởi chạy lại"
+
+#: sysdeps/gnu/errlist.c:1109
+msgid "Channel number out of range"
+msgstr "Số thứ tự kệnh ở ngoài phạm vi"
+
+#: sysdeps/gnu/errlist.c:1117
+msgid "Level 2 not synchronized"
+msgstr "Cấp 2 không được đồng bộ"
+
+#: sysdeps/gnu/errlist.c:1125
+msgid "Level 3 halted"
+msgstr "Cấp 3 bị dừng"
+
+#: sysdeps/gnu/errlist.c:1133
+msgid "Level 3 reset"
+msgstr "Cấp 3 được đặt lại"
+
+#: sysdeps/gnu/errlist.c:1141
+msgid "Link number out of range"
+msgstr "Số thứ tự liên kết ở ngoài phạm vi"
+
+#: sysdeps/gnu/errlist.c:1149
+msgid "Protocol driver not attached"
+msgstr "Trình điều khiển giao thức không được gắn nối"
+
+#: sysdeps/gnu/errlist.c:1157
+msgid "No CSI structure available"
+msgstr "Không có cấu trúc CSI sẵn sàng"
+
+#: sysdeps/gnu/errlist.c:1165
+msgid "Level 2 halted"
+msgstr "Cấp 2 bị dừng"
+
+#: sysdeps/gnu/errlist.c:1173
+msgid "Invalid exchange"
+msgstr "Trao đổi không hợp lệ"
+
+#: sysdeps/gnu/errlist.c:1181
+msgid "Invalid request descriptor"
+msgstr "Bộ mô tả yêu cầu không hợp lệ"
+
+#: sysdeps/gnu/errlist.c:1189
+msgid "Exchange full"
+msgstr "Trao đổi đầy đủ"
+
+#: sysdeps/gnu/errlist.c:1197
+msgid "No anode"
+msgstr "Không có dương cực"
+
+#: sysdeps/gnu/errlist.c:1205
+msgid "Invalid request code"
+msgstr "Mã yêu cầu không hợp lệ"
+
+#: sysdeps/gnu/errlist.c:1213
+msgid "Invalid slot"
+msgstr "Khoảng không hợp lệ"
+
+#: sysdeps/gnu/errlist.c:1221
+msgid "File locking deadlock error"
+msgstr "Lỗi khoá tập tin bế tắc"
+
+#: sysdeps/gnu/errlist.c:1229
+msgid "Bad font file format"
+msgstr "Định dạng tập tin phông sai"
+
+#: sysdeps/gnu/errlist.c:1237
+msgid "Machine is not on the network"
+msgstr "Máy không nằm trên mạng"
+
+#: sysdeps/gnu/errlist.c:1245
+msgid "Package not installed"
+msgstr "Gói chưa được cài đặt"
+
+#: sysdeps/gnu/errlist.c:1253
+msgid "Advertise error"
+msgstr "Lỗi quảng cáo"
+
+#: sysdeps/gnu/errlist.c:1261
+msgid "Srmount error"
+msgstr "Lỗi gắn kết Srmount"
+
+#: sysdeps/gnu/errlist.c:1269
+msgid "Communication error on send"
+msgstr "Lỗi liên lạc khi gửi"
+
+#: sysdeps/gnu/errlist.c:1277
+msgid "RFS specific error"
+msgstr "Lỗi đặc trưng cho RFS"
+
+#: sysdeps/gnu/errlist.c:1285
+msgid "Name not unique on network"
+msgstr "Tên không duy nhất trên mạng"
+
+#: sysdeps/gnu/errlist.c:1293
+msgid "File descriptor in bad state"
+msgstr "Bộ mô tả tập tin ở tình trạng sai"
+
+#: sysdeps/gnu/errlist.c:1301
+msgid "Remote address changed"
+msgstr "Địa chỉ ở xa đã thay đổi"
+
+#: sysdeps/gnu/errlist.c:1309
+msgid "Can not access a needed shared library"
+msgstr "Không thể truy cập vào một thư viện dùng chung cần thiết"
+
+#: sysdeps/gnu/errlist.c:1317
+msgid "Accessing a corrupted shared library"
+msgstr "Đang truy cập vào một thư viện dùng chung bị hỏng"
+
+#: sysdeps/gnu/errlist.c:1325
+msgid ".lib section in a.out corrupted"
+msgstr "Phần .lib trong a.out bị hỏng"
+
+#: sysdeps/gnu/errlist.c:1333
+msgid "Attempting to link in too many shared libraries"
+msgstr "Đang thử liên kết trong quá nhiều thư viện dùng chung"
+
+#: sysdeps/gnu/errlist.c:1341
+msgid "Cannot exec a shared library directly"
+msgstr "Không thể thực hiện trực tiếp một thư viện dùng chung"
+
+#: sysdeps/gnu/errlist.c:1349
+msgid "Streams pipe error"
+msgstr "Lỗi ống dẫn luồng"
+
+#: sysdeps/gnu/errlist.c:1357
+msgid "Structure needs cleaning"
+msgstr "Cấu trúc cần làm sạch"
+
+#: sysdeps/gnu/errlist.c:1365
+msgid "Not a XENIX named type file"
+msgstr "Không phải một tập tin kiểu đặt tên XENIX"
+
+#: sysdeps/gnu/errlist.c:1373
+msgid "No XENIX semaphores available"
+msgstr "Không có cờ hiệu XENIX sẵn sàng "
+
+#: sysdeps/gnu/errlist.c:1381
+msgid "Is a named type file"
+msgstr "Là một tập tin kiểu đặt tên"
+
+#: sysdeps/gnu/errlist.c:1389
+msgid "Remote I/O error"
+msgstr "Lỗi V/R ở xa"
+
+#: sysdeps/gnu/errlist.c:1397
+msgid "No medium found"
+msgstr "Không tìm thấy vật chứa"
+
+#: sysdeps/gnu/errlist.c:1405
+msgid "Wrong medium type"
+msgstr "Kiểu vật chứa không đúng"
+
+#: sysdeps/gnu/errlist.c:1413
+msgid "Required key not available"
+msgstr "Khoá cần thiết không sẵn sàng"
+
+#: sysdeps/gnu/errlist.c:1421
+msgid "Key has expired"
+msgstr "Khoá đã quá hạn"
+
+#: sysdeps/gnu/errlist.c:1429
+msgid "Key has been revoked"
+msgstr "Khoá đã bị hủy bỏ"
+
+#: sysdeps/gnu/errlist.c:1437
+msgid "Key was rejected by service"
+msgstr "Khoá bị dịch vụ từ chối"
+
+#: sysdeps/gnu/errlist.c:1445
+msgid "Owner died"
+msgstr "Chủ đã chết"
+
+#: sysdeps/gnu/errlist.c:1453
+msgid "State not recoverable"
+msgstr "Tình trạng không thể phục hồi được"
+
+#: sysdeps/mach/_strerror.c:57
+msgid "Error in unknown error system: "
+msgstr "Lỗi trong hệ thống lỗi không rõ : "
+
+#: sysdeps/posix/gai_strerror-strs.h:1
+msgid "Address family for hostname not supported"
+msgstr "Nhóm địa chỉ cho tên máy không được hỗ trợ"
+
+#: sysdeps/posix/gai_strerror-strs.h:2
+msgid "Temporary failure in name resolution"
+msgstr "Tạm thời không thể quyết định tên"
+
+#: sysdeps/posix/gai_strerror-strs.h:3
+msgid "Bad value for ai_flags"
+msgstr "Giá trị sai đối với « ai_flags » (cờ)"
+
+#: sysdeps/posix/gai_strerror-strs.h:4
+msgid "Non-recoverable failure in name resolution"
+msgstr "Lỗi không thể phục hồi khi quyết định tên"
+
+#: sysdeps/posix/gai_strerror-strs.h:5
+msgid "ai_family not supported"
+msgstr "« ai_family » không được hỗ trợ"
+
+#: sysdeps/posix/gai_strerror-strs.h:6
+msgid "Memory allocation failure"
+msgstr "Lỗi cấp phát bộ nhớ"
+
+#: sysdeps/posix/gai_strerror-strs.h:7
+msgid "No address associated with hostname"
+msgstr "Không có địa chỉ liên quan đến tên máy"
+
+#: sysdeps/posix/gai_strerror-strs.h:8
+msgid "Name or service not known"
+msgstr "Không rõ tên hoặc dịch vụ"
+
+#: sysdeps/posix/gai_strerror-strs.h:9
+msgid "Servname not supported for ai_socktype"
+msgstr "Tên máy không được hỗ trợ đối với « ai_socktype » (kiểu ổ cắm)"
+
+#: sysdeps/posix/gai_strerror-strs.h:10
+msgid "ai_socktype not supported"
+msgstr "« ai-socktype » (kiểu ổ cắm) không được hỗ trợ"
+
+#: sysdeps/posix/gai_strerror-strs.h:11
+msgid "System error"
+msgstr "Lỗi hệ thống"
+
+#: sysdeps/posix/gai_strerror-strs.h:12
+msgid "Processing request in progress"
+msgstr "Yêu cầu xử lý đang chạy"
+
+#: sysdeps/posix/gai_strerror-strs.h:13
+msgid "Request canceled"
+msgstr "Yêu cầu bị thôi"
+
+#: sysdeps/posix/gai_strerror-strs.h:14
+msgid "Request not canceled"
+msgstr "Chưa thôi yêu cầu"
+
+#: sysdeps/posix/gai_strerror-strs.h:15
+msgid "All requests done"
+msgstr "Mọi yêu cầu hoàn tất"
+
+#: sysdeps/posix/gai_strerror-strs.h:16
+msgid "Interrupted by a signal"
+msgstr "bị tín hiệu gián đoạn"
+
+#: sysdeps/posix/gai_strerror-strs.h:17
+msgid "Parameter string not correctly encoded"
+msgstr "Chuỗi tham số không phải được mã hóa đúng"
+
+#: sysdeps/unix/siglist.c:26
+msgid "Signal 0"
+msgstr "Tín hiệu 0"
+
+#: sysdeps/unix/siglist.c:32
+msgid "IOT trap"
+msgstr "Bẫy IOT"
+
+#: sysdeps/unix/sysv/linux/i386/readelflib.c:49
+#, c-format
+msgid "%s is for unknown machine %d.\n"
+msgstr "%s là cho máy không rõ %d.\n"
+
+#: sysdeps/unix/sysv/linux/ia64/makecontext.c:63
+#, c-format
+msgid "makecontext: does not know how to handle more than 8 arguments\n"
+msgstr "makecontext: không biết cách xử lý nhiều hơn 8 đối số\n"
+
+#: sysdeps/unix/sysv/linux/lddlibc4.c:64
+#, c-format
+msgid "cannot open `%s'"
+msgstr "không thể mở « %s »"
+
+#: sysdeps/unix/sysv/linux/lddlibc4.c:68
+#, c-format
+msgid "cannot read header from `%s'"
+msgstr "không thể đọc phần đầu từ « %s »"
+
+#: timezone/zdump.c:211
+msgid "lacks alphabetic at start"
+msgstr "thiếu chữ cái ở đầu"
+
+#: timezone/zdump.c:213
+msgid "has fewer than 3 alphabetics"
+msgstr "có ít hơn 3 chữ cái"
+
+#: timezone/zdump.c:215
+msgid "has more than 6 alphabetics"
+msgstr "có nhiều hơn 6 chữ cái"
+
+#: timezone/zdump.c:223
+msgid "differs from POSIX standard"
+msgstr "khác với tiêu chuẩn POSIX"
+
+#: timezone/zdump.c:229
+#, c-format
+msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
+msgstr "%s: cảnh báo : múi giờ « %s » viết tắt « %s » %s\n"
+
+#: timezone/zdump.c:280
+#, c-format
+msgid "%s: usage is %s [ --version ] [ -v ] [ -c [loyear,]hiyear ] zonename ...\n"
+msgstr "%s: sử dụng: %s [ --version ] [ -v ] [ -c [năm_trên,]năm_dưới ] tên_múi_giờ ...\n"
+
+#: timezone/zdump.c:297
+#, c-format
+msgid "%s: wild -c argument %s\n"
+msgstr "%s: đối số « -c » đại diện %s\n"
+
+#: timezone/zdump.c:388
+msgid "Error writing to standard output"
+msgstr "Gặp lỗi khi ghi vào đầu ra tiêu chuẩn"
+
+#: timezone/zdump.c:411
+#, c-format
+msgid "%s: use of -v on system with floating time_t other than float or double\n"
+msgstr "%s: dùng « -v » trên hệ thống có time_t nổi khác với nổi hoặc đôi\n"
+
+#: timezone/zic.c:392
+#, c-format
+msgid "%s: Memory exhausted: %s\n"
+msgstr "%s: Cạn bộ nhớ : %s\n"
+
+#: timezone/zic.c:451
+#, c-format
+msgid "\"%s\", line %d: %s"
+msgstr "« %s », dòng %d: %s"
+
+#: timezone/zic.c:454
+#, c-format
+msgid " (rule from \"%s\", line %d)"
+msgstr " (quy tắc từ « %s », dòng %d)"
+
+#: timezone/zic.c:466
+msgid "warning: "
+msgstr "cảnh báo : "
+
+#: timezone/zic.c:476
+#, c-format
+msgid ""
+"%s: usage is %s [ --version ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n"
+"\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"
+msgstr ""
+"%s: sử dụng: %s [ --version ] [ -v ] [ -l giờ_địa_phương ] [ -p quy_tắc_POSIX ] \\\n"
+"\t[ -d thư_mục ] [ -L giây_năm_nhuận ] [ -y kiểu_năm ] [ tên_tập_tin ... ]\n"
+
+#: timezone/zic.c:511
+msgid "wild compilation-time specification of zic_t"
+msgstr "đặc tả thời gian biên dịch đại diện của zic_t"
+
+#: timezone/zic.c:528
+#, c-format
+msgid "%s: More than one -d option specified\n"
+msgstr "%s: Ghi rõ nhiều hơn một tùy chọn « -d »\n"
+
+#: timezone/zic.c:538
+#, c-format
+msgid "%s: More than one -l option specified\n"
+msgstr "%s: Ghi rõ nhiều hơn một tùy chọn « -l »\n"
+
+#: timezone/zic.c:548
+#, c-format
+msgid "%s: More than one -p option specified\n"
+msgstr "%s: Ghi rõ nhiều hơn một tùy chọn « -p »\n"
+
+#: timezone/zic.c:558
+#, c-format
+msgid "%s: More than one -y option specified\n"
+msgstr "%s: Ghi rõ nhiều hơn một tùy chọn « -y »\n"
+
+#: timezone/zic.c:568
+#, c-format
+msgid "%s: More than one -L option specified\n"
+msgstr "%s: Ghi rõ nhiều hơn một tùy chọn « -L »\n"
+
+#: timezone/zic.c:617
+msgid "link to link"
+msgstr "liên kết đến liên kết"
+
+#: timezone/zic.c:682
+msgid "hard link failed, symbolic link used"
+msgstr "lỗi cứng không thành công nên dùng liên kết tượng trưng"
+
+#: timezone/zic.c:690
+#, c-format
+msgid "%s: Can't link from %s to %s: %s\n"
+msgstr "%s: không thể liên kết từ %s đến %s: %s\n"
+
+#: timezone/zic.c:762 timezone/zic.c:764
+msgid "same rule name in multiple files"
+msgstr "nhiều tập tin chứa cùng một tên quy tắc"
+
+#: timezone/zic.c:805
+msgid "unruly zone"
+msgstr "múi giờ phóng túng"
+
+#: timezone/zic.c:812
+#, c-format
+msgid "%s in ruleless zone"
+msgstr "%s trong múi giờ không có quy tắc"
+
+#: timezone/zic.c:833
+msgid "standard input"
+msgstr "đầu vào tiêu chuẩn"
+
+#: timezone/zic.c:838
+#, c-format
+msgid "%s: Can't open %s: %s\n"
+msgstr "%s: Không thể mở %s: %s\n"
+
+#: timezone/zic.c:849
+msgid "line too long"
+msgstr "dòng quá dài"
+
+#: timezone/zic.c:869
+msgid "input line of unknown type"
+msgstr "dòng nhập vào có kiểu không rõ"
+
+#: timezone/zic.c:885
+#, c-format
+msgid "%s: Leap line in non leap seconds file %s\n"
+msgstr "%s: dòng năm nhuận nằm trong tập tin giây không phải năm nhuận %s\n"
+
+#: timezone/zic.c:892 timezone/zic.c:1329 timezone/zic.c:1351
+#, c-format
+msgid "%s: panic: Invalid l_value %d\n"
+msgstr "%s: không thể phục hồi: giá trị l_value không hợp lệ %d\n"
+
+#: timezone/zic.c:900
+#, c-format
+msgid "%s: Error reading %s\n"
+msgstr "%s: Lỗi đọc %s\n"
+
+#: timezone/zic.c:907
+#, c-format
+msgid "%s: Error closing %s: %s\n"
+msgstr "%s: Lỗi đóng %s: %s\n"
+
+#: timezone/zic.c:912
+msgid "expected continuation line not found"
+msgstr "không tìm thấy đường tiếp tục mong đợi"
+
+#: timezone/zic.c:956 timezone/zic.c:2489 timezone/zic.c:2508
+msgid "time overflow"
+msgstr "tràn thời gian"
+
+#: timezone/zic.c:960
+msgid "24:00 not handled by pre-1998 versions of zic"
+msgstr "24:00 không được xử lý bởi phiên bản zlc trước năm 1998"
+
+#: timezone/zic.c:963
+msgid "values over 24 hours not handled by pre-2007 versions of zic"
+msgstr "giá trị nhiều hơn 24 giờ không được xử lý bởi phiên bản zlc trước năm 2007"
+
+#: timezone/zic.c:976
+msgid "wrong number of fields on Rule line"
+msgstr "số trường không đúng trên dòng Quy tắc (Rule)"
+
+#: timezone/zic.c:980
+msgid "nameless rule"
+msgstr "quy tắc không tên"
+
+#: timezone/zic.c:985
+msgid "invalid saved time"
+msgstr "thời gian đã lưu không hợp lệ"
+
+#: timezone/zic.c:1006
+msgid "wrong number of fields on Zone line"
+msgstr "số trường không đúng trên dòng Múi Giờ (Zone)"
+
+#: timezone/zic.c:1012
+#, c-format
+msgid "\"Zone %s\" line and -l option are mutually exclusive"
+msgstr "Dòng « Zone %s » và tùy chọn « -l » loại từ lẫn nhau"
+
+#: timezone/zic.c:1020
+#, c-format
+msgid "\"Zone %s\" line and -p option are mutually exclusive"
+msgstr "Dòng « Zone %s » và tùy chọn « -p » loại từ lẫn nhau"
+
+#: timezone/zic.c:1032
+#, c-format
+msgid "duplicate zone name %s (file \"%s\", line %d)"
+msgstr "tên múi giờ trùng %s (tập tin « %s », dòng %d)"
+
+#: timezone/zic.c:1048
+msgid "wrong number of fields on Zone continuation line"
+msgstr "số trường không đúng trên dòng tiếp tục Múi Giờ (Zone)"
+
+#: timezone/zic.c:1088
+msgid "invalid UTC offset"
+msgstr "khoảng bù UTC không hợp lệ"
+
+#: timezone/zic.c:1091
+msgid "invalid abbreviation format"
+msgstr "định dạng viết tắt không hợp lệ"
+
+#: timezone/zic.c:1120
+msgid "Zone continuation line end time is not after end time of previous line"
+msgstr "Giờ kết thúc dòng tiếp tục Múi Giờ không nằm sau giờ kết thúc của dòng trước"
+
+#: timezone/zic.c:1148
+msgid "wrong number of fields on Leap line"
+msgstr "số trường không đúng trên dòng Leap (năm nhuận)"
+
+#: timezone/zic.c:1157
+msgid "invalid leaping year"
+msgstr "năm nhuận không hợp lệ"
+
+#: timezone/zic.c:1177 timezone/zic.c:1283
+msgid "invalid month name"
+msgstr "tên tháng không hợp lệ"
+
+#: timezone/zic.c:1190 timezone/zic.c:1396 timezone/zic.c:1410
+msgid "invalid day of month"
+msgstr "ngày tháng không hợp lệ"
+
+#: timezone/zic.c:1195
+msgid "time before zero"
+msgstr "thời gian nằm trước số không"
+
+#: timezone/zic.c:1199
+msgid "time too small"
+msgstr "thời gian quá nhỏ"
+
+#: timezone/zic.c:1203
+msgid "time too large"
+msgstr "thời gian quá lớn"
+
+#: timezone/zic.c:1207 timezone/zic.c:1312
+msgid "invalid time of day"
+msgstr "giờ ngày không hợp lệ"
+
+#: timezone/zic.c:1226
+msgid "illegal CORRECTION field on Leap line"
+msgstr "trường CORRECTION (sửa lỗi) cấm trên dòng Leap (năm nhuận)"
+
+#: timezone/zic.c:1231
+msgid "illegal Rolling/Stationary field on Leap line"
+msgstr "trường Rolling/Stationary (đang lăn/không di chuyển) cấm trên dòng Leap (năm nhuận)"
+
+#: timezone/zic.c:1247
+msgid "wrong number of fields on Link line"
+msgstr "số trường không đúng trên dòng Link (liên kết)"
+
+#: timezone/zic.c:1251
+msgid "blank FROM field on Link line"
+msgstr "trường FROM (từ) rỗng trên dòng Link (liên kết)"
+
+#: timezone/zic.c:1255
+msgid "blank TO field on Link line"
+msgstr "trường TO (đến) rỗng trên dòng Link (liên kết)"
+
+#: timezone/zic.c:1333
+msgid "invalid starting year"
+msgstr "năm bắt đầu không hợp lệ"
+
+#: timezone/zic.c:1355
+msgid "invalid ending year"
+msgstr "năm kết thúc không hợp lệ"
+
+#: timezone/zic.c:1359
+msgid "starting year greater than ending year"
+msgstr "năm bắt đầu nằm sau nằm kết thúc"
+
+#: timezone/zic.c:1366
+msgid "typed single year"
+msgstr "đã gõ năm riêng lẻ"
+
+#: timezone/zic.c:1401
+msgid "invalid weekday name"
+msgstr "tên ngày tuần không hợp lệ"
+
+#: timezone/zic.c:1579
+#, c-format
+msgid "%s: Can't remove %s: %s\n"
+msgstr "%s: Không thể gỡ bỏ %s: %s\n"
+
+#: timezone/zic.c:1589
+#, c-format
+msgid "%s: Can't create %s: %s\n"
+msgstr "%s: Không thể tạo %s: %s\n"
+
+#: timezone/zic.c:1739
+#, c-format
+msgid "%s: Error writing %s\n"
+msgstr "%s: Lỗi ghi %s\n"
+
+#: timezone/zic.c:2031
+msgid "no POSIX environment variable for zone"
+msgstr "chưa đặt biến môi trường POSIX cho múi giờ"
+
+#: timezone/zic.c:2185
+msgid "can't determine time zone abbreviation to use just after until time"
+msgstr "không thể quyết định từ viết tắt múi giờ cần dùng đúng sau thời gian đích đến"
+
+#: timezone/zic.c:2231
+msgid "too many transitions?!"
+msgstr "quá nhiều lần chuyển tiếp ?!"
+
+#: timezone/zic.c:2250
+msgid "internal error - addtype called with bad isdst"
+msgstr "gặp lỗi nội bộ — addtype (thêm loại) được gọi với isdst sai"
+
+#: timezone/zic.c:2254
+msgid "internal error - addtype called with bad ttisstd"
+msgstr "gặp lỗi nội bộ — addtype (thêm loại) được gọi với ttisstd sai"
+
+#: timezone/zic.c:2258
+msgid "internal error - addtype called with bad ttisgmt"
+msgstr "gặp lỗi nội bộ — addtype (thêm loại) được gọi với ttisgmt sai"
+
+#: timezone/zic.c:2277
+msgid "too many local time types"
+msgstr "quá nhiều kiểu thời gian địa phương"
+
+#: timezone/zic.c:2281
+msgid "UTC offset out of range"
+msgstr "khoảng bù UTC ở ngoại phạm vi"
+
+#: timezone/zic.c:2309
+msgid "too many leap seconds"
+msgstr "quá nhiều giây năm nhuận"
+
+#: timezone/zic.c:2315
+msgid "repeated leap second moment"
+msgstr "lúc giây năm nhuận đã lặp lại"
+
+#: timezone/zic.c:2367
+msgid "Wild result from command execution"
+msgstr "Kết quả rất lạ khi thực hiện câu lệnh"
+
+#: timezone/zic.c:2368
+#, c-format
+msgid "%s: command was '%s', result was %d\n"
+msgstr "%s: câu lệnh là « %s », kết quả là %d\n"
+
+#: timezone/zic.c:2466
+msgid "Odd number of quotation marks"
+msgstr "Số lẻ các dấu trích dẫn"
+
+#: timezone/zic.c:2555
+msgid "use of 2/29 in non leap-year"
+msgstr "dùng 2/29 trong năm không phải năm nhuận"
+
+#: timezone/zic.c:2590
+msgid "rule goes past start/end of month--will not work with pre-2004 versions of zic"
+msgstr "quy tắc vượt quá kết thúc của tháng nên không hoạt động được với phiên bản zlc được phát hành trước năm 2004"
+
+#: timezone/zic.c:2622
+msgid "time zone abbreviation lacks alphabetic at start"
+msgstr "từ viết tắt múi giờ thiếu chữ cái ở đầu"
+
+#: timezone/zic.c:2624
+msgid "time zone abbreviation has more than 3 alphabetics"
+msgstr "từ viết tắt múi giờ chứa nhiều hơn 3 chữ cái"
+
+#: timezone/zic.c:2626
+msgid "time zone abbreviation has too many alphabetics"
+msgstr "từ viết tắt múi giờ chứa quá nhiều chữ cái"
+
+#: timezone/zic.c:2636
+msgid "time zone abbreviation differs from POSIX standard"
+msgstr "từ viết tắt múi giờ không tùy theo tiêu chuẩn POSIX"
+
+#: timezone/zic.c:2648
+msgid "too many, or too long, time zone abbreviations"
+msgstr "quá nhiều hoặc quá dài các từ viết tắt múi giờ"
+
+#: timezone/zic.c:2689
+#, c-format
+msgid "%s: Can't create directory %s: %s\n"
+msgstr "%s: Không thể tạo thư mục %s: %s\n"
+
+#: timezone/zic.c:2711
+#, c-format
+msgid "%s: %d did not sign extend correctly\n"
+msgstr "%s: %d chưa ký đúng đồ kéo dài\n"
diff --git a/resolv/res_debug.c b/resolv/res_debug.c
index d9f1607df6..cd69d4f4d4 100644
--- a/resolv/res_debug.c
+++ b/resolv/res_debug.c
@@ -204,8 +204,7 @@ do_section(const res_state statp,
rrnum++;
}
cleanup:
- if (buf != NULL)
- free(buf);
+ free(buf);
}
/*
diff --git a/sunrpc/xdr_sizeof.c b/sunrpc/xdr_sizeof.c
index aaf25e9699..dc3e19ebe3 100644
--- a/sunrpc/xdr_sizeof.c
+++ b/sunrpc/xdr_sizeof.c
@@ -86,8 +86,7 @@ x_inline (XDR *xdrs, u_int len)
else
{
/* Free the earlier space and allocate new area */
- if (xdrs->x_private)
- free (xdrs->x_private);
+ free (xdrs->x_private);
if ((xdrs->x_private = (caddr_t) malloc (len)) == NULL)
{
xdrs->x_base = 0;
@@ -157,7 +156,6 @@ xdr_sizeof (xdrproc_t func, void *data)
x.x_base = (caddr_t) 0;
stat = func (&x, data);
- if (x.x_private)
- free (x.x_private);
+ free (x.x_private);
return stat == TRUE ? x.x_handy : 0;
}
diff --git a/sysdeps/ieee754/dbl-64/s_nearbyint.c b/sysdeps/ieee754/dbl-64/s_nearbyint.c
index 32f5bf9447..71e14cfb6d 100644
--- a/sysdeps/ieee754/dbl-64/s_nearbyint.c
+++ b/sysdeps/ieee754/dbl-64/s_nearbyint.c
@@ -71,8 +71,15 @@ TWO52[2]={
if(((i0&i)|i1)==0) return x; /* x is integral */
i>>=1;
if(((i0&i)|i1)!=0) {
- if(j0==19) i1 = 0x40000000; else
+ if (j0==19)
+ i1 = 0x40000000;
+ else if (j0<18)
i0 = (i0&(~i))|((0x20000)>>j0);
+ else
+ {
+ i0 &= ~i;
+ i1 = 0x80000000;
+ }
}
}
} else if (j0>51) {
diff --git a/sysdeps/ieee754/dbl-64/s_rint.c b/sysdeps/ieee754/dbl-64/s_rint.c
index e5f241291c..4e6381efbe 100644
--- a/sysdeps/ieee754/dbl-64/s_rint.c
+++ b/sysdeps/ieee754/dbl-64/s_rint.c
@@ -67,8 +67,15 @@ TWO52[2]={
if(((i0&i)|i1)==0) return x; /* x is integral */
i>>=1;
if(((i0&i)|i1)!=0) {
- if(j0==19) i1 = 0x40000000; else
- i0 = (i0&(~i))|((0x20000)>>j0);
+ if (j0==19)
+ i1 = 0x40000000;
+ else if (j0<18)
+ i0 = (i0&(~i))|((0x20000)>>j0);
+ else
+ {
+ i0 &= ~i;
+ i1 = 0x80000000;
+ }
}
}
} else if (j0>51) {
diff --git a/sysdeps/mach/hurd/if_index.c b/sysdeps/mach/hurd/if_index.c
index 664a3a1ef3..4ecda2298c 100644
--- a/sysdeps/mach/hurd/if_index.c
+++ b/sysdeps/mach/hurd/if_index.c
@@ -59,8 +59,7 @@ if_freenameindex (struct if_nameindex *ifn)
struct if_nameindex *ptr = ifn;
while (ptr->if_name || ptr->if_index)
{
- if (ptr->if_name)
- free (ptr->if_name);
+ free (ptr->if_name);
++ptr;
}
free (ifn);
diff --git a/sysdeps/posix/sprofil.c b/sysdeps/posix/sprofil.c
index 853038d078..6ffce4d783 100644
--- a/sysdeps/posix/sprofil.c
+++ b/sysdeps/posix/sprofil.c
@@ -322,8 +322,7 @@ __sprofil (struct prof *profp, int profcnt, struct timeval *tvp,
for (i = 0; i < profcnt; ++i)
if (add_region (p[i], (flags & PROF_UINT) != 0) < 0)
{
- if (prof_info.region)
- free (prof_info.region);
+ free (prof_info.region);
prof_info.num_regions = 0;
prof_info.region = NULL;
return -1;
diff --git a/sysdeps/s390/fpu/fegetenv.c b/sysdeps/s390/fpu/fegetenv.c
index b35a76a4e8..a244f2ca8b 100644
--- a/sysdeps/s390/fpu/fegetenv.c
+++ b/sysdeps/s390/fpu/fegetenv.c
@@ -1,5 +1,5 @@
/* Store current floating-point environment.
- Copyright (C) 2000, 2003 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@@ -28,15 +28,7 @@
int
fegetenv (fenv_t *envp)
{
- /* The S/390 IEEE fpu doesn't keep track of the ieee instruction pointer.
- To get around that the kernel will store the address of the last
- fpu fault to the process structure. This ptrace call reads this value
- from the kernel space. That means the ieee_instruction_pointer is
- only correct after a fpu fault. That's the best we can do, there is
- no way to find out the ieee instruction pointer if there was no fault. */
_FPU_GETCW (envp->fpc);
- envp->ieee_instruction_pointer =
- (void *) ptrace (PTRACE_PEEKUSER, getpid (), PT_IEEE_IP);
/* Success. */
return 0;
diff --git a/sysdeps/s390/fpu/fesetenv.c b/sysdeps/s390/fpu/fesetenv.c
index bb71c95a1e..82555c4948 100644
--- a/sysdeps/s390/fpu/fesetenv.c
+++ b/sysdeps/s390/fpu/fesetenv.c
@@ -1,5 +1,5 @@
/* Install given floating-point environment.
- Copyright (C) 2000, 2002 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Denis Joseph Barrow (djbarrow@de.ibm.com).
@@ -43,13 +43,7 @@ fesetenv (const fenv_t *envp)
else
env = (*envp);
- /* The S/390 IEEE fpu doesn't have a register for the ieee
- instruction pointer. The operating system is required to keep an
- instruction pointer on a per process base. We read and write this
- value with the ptrace interface. */
_FPU_SETCW (env.fpc);
- ptrace (PTRACE_POKEUSER, getpid (), PT_IEEE_IP,
- env.ieee_instruction_pointer);
/* Success. */
return 0;
diff --git a/sysdeps/unix/sysv/linux/adjtime.c b/sysdeps/unix/sysv/linux/adjtime.c
index 202bb14485..ebd2149705 100644
--- a/sysdeps/unix/sysv/linux/adjtime.c
+++ b/sysdeps/unix/sysv/linux/adjtime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1996, 1997, 1998, 2002, 2004, 2007
+/* Copyright (C) 1995, 1996, 1997, 1998, 2002, 2004, 2007, 2008
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -71,14 +71,16 @@ ADJTIME (const struct TIMEVAL *itv, struct TIMEVAL *otv)
return -1;
}
tntx.offset = tmp.tv_usec + tmp.tv_sec * 1000000L;
+ tntx.modes = ADJ_OFFSET_SINGLESHOT;
+ }
+ else
+ {
#ifdef ADJ_OFFSET_SS_READ
tntx.modes = ADJ_OFFSET_SS_READ;
#else
- tntx.modes = ADJ_OFFSET_SINGLESHOT;
+ tntx.modes = 0;
#endif
}
- else
- tntx.modes = 0;
#if defined ADJ_OFFSET_SS_READ && !defined __ASSUME_ADJ_OFFSET_SS_READ
again:
diff --git a/sysdeps/unix/sysv/linux/bits/sched.h b/sysdeps/unix/sysv/linux/bits/sched.h
index 5387b9cef0..38ba305006 100644
--- a/sysdeps/unix/sysv/linux/bits/sched.h
+++ b/sysdeps/unix/sysv/linux/bits/sched.h
@@ -59,7 +59,12 @@
force CLONE_PTRACE on this clone. */
# define CLONE_CHILD_SETTID 0x01000000 /* Store TID in userlevel buffer in
the child. */
-# define CLONE_STOPPED 0x02000000 /* Start in stopped state. */
+# define CLONE_NEWUTS 0x04000000 /* New utsname group. */
+# define CLONE_NEWIPC 0x08000000 /* New ipcs. */
+# define CLONE_NEWUSER 0x10000000 /* New user namespace. */
+# define CLONE_NEWPID 0x20000000 /* New pid namespace. */
+# define CLONE_NEWNET 0x40000000 /* New network namespace. */
+# define CLONE_IO 0x80000000 /* Clone I/O context. */
#endif
/* The official definition. */
diff --git a/sysdeps/unix/sysv/linux/dl-sysdep.h b/sysdeps/unix/sysv/linux/dl-sysdep.h
index 0371fe87a1..f44fa9814e 100644
--- a/sysdeps/unix/sysv/linux/dl-sysdep.h
+++ b/sysdeps/unix/sysv/linux/dl-sysdep.h
@@ -29,7 +29,7 @@
/* The _dl_discover_osversion function is so far only needed in sysconf
to check for kernels later than 2.6.23. */
-#if !defined ASSEMBLER && __LINUX_KERNEL_VERSION < 0x020617
+#if !defined __ASSEMBLER__ && __LINUX_KERNEL_VERSION < 0x020617
/* Get version of the OS. */
extern int _dl_discover_osversion (void) attribute_hidden;
# define HAVE_DL_DISCOVER_OSVERSION 1
diff --git a/sysdeps/unix/sysv/linux/s390/sys/user.h b/sysdeps/unix/sysv/linux/s390/sys/user.h
index f00caea84d..cd3e60cf0d 100644
--- a/sysdeps/unix/sysv/linux/s390/sys/user.h
+++ b/sysdeps/unix/sysv/linux/s390/sys/user.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000,2005 Free Software Foundation, Inc.
+/* Copyright (C) 2000,2008 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -56,7 +56,7 @@ struct _user_regs_struct
unsigned long orig_gpr2; /* Original gpr2. */
struct _user_fpregs_struct fp_regs; /* Floating point registers. */
struct _user_per_struct per_info; /* Hardware tracing registers. */
- unsigned long ieee_instruction_pointer;
+ unsigned long ieee_instruction_pointer; /* Always 0. */
};
struct user {
diff --git a/time/lc-time-cleanup.c b/time/lc-time-cleanup.c
index 7972700686..6777f487a2 100644
--- a/time/lc-time-cleanup.c
+++ b/time/lc-time-cleanup.c
@@ -29,12 +29,9 @@ _nl_cleanup_time (struct locale_data *locale)
locale->private.time = NULL;
locale->private.cleanup = NULL;
- if (data->eras != NULL)
- free (data->eras);
- if (data->alt_digits != NULL)
- free (data->alt_digits);
- if (data->walt_digits != NULL)
- free (data->walt_digits);
+ free (data->eras);
+ free (data->alt_digits);
+ free (data->walt_digits);
free (data);
}
diff --git a/time/tzset.c b/time/tzset.c
index 0d54202185..a6fed4abc1 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -414,8 +414,7 @@ tzset_internal (always, explicit)
tz_rules[1].name = NULL;
/* Save the value of `tz'. */
- if (old_tz != NULL)
- free (old_tz);
+ free (old_tz);
old_tz = tz ? __strdup (tz) : NULL;
/* Try to read a data file. */