Fix use of N_() and ngettext().

I had somehow thought that N_() is usually used
as shorthand for ngettext().

This also fixes a missing \n from a call to ngettext().
This commit is contained in:
Lasse Collin 2010-09-07 10:42:13 +03:00
parent e6ad393358
commit 77a7746616
2 changed files with 4 additions and 4 deletions

View File

@ -33,12 +33,12 @@
textdomain(package); \
} while (0)
# define _(msgid) gettext(msgid)
# define N_(msgid1, msgid2, n) ngettext(msgid1, msgid2, n)
#else
# define tuklib_gettext_init(package, localedir) \
setlocale(LC_ALL, "")
# define _(msgid) (msgid)
# define N_(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2))
# define ngettext(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2))
#endif
#define N_(msgid) msgid
#endif

View File

@ -909,11 +909,11 @@ print_totals_basic(void)
// Since we print totals only when there are at least two files,
// the English message will always use "%s files". But some other
// languages need different forms for different plurals so we
// have to translate this with N_().
// have to translate this with ngettext().
//
// TRANSLATORS: %s is an integer. Only the plural form of this
// message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz".
printf(N_("%s file", "%s files\n",
printf(ngettext("%s file\n", "%s files\n",
totals.files <= ULONG_MAX ? totals.files
: (totals.files % 1000000) + 1000000),
uint64_to_str(totals.files, 0));