1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00

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); \ textdomain(package); \
} while (0) } while (0)
# define _(msgid) gettext(msgid) # define _(msgid) gettext(msgid)
# define N_(msgid1, msgid2, n) ngettext(msgid1, msgid2, n)
#else #else
# define tuklib_gettext_init(package, localedir) \ # define tuklib_gettext_init(package, localedir) \
setlocale(LC_ALL, "") setlocale(LC_ALL, "")
# define _(msgid) (msgid) # define _(msgid) (msgid)
# define N_(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2)) # define ngettext(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2))
#endif #endif
#define N_(msgid) msgid
#endif #endif

View file

@ -909,11 +909,11 @@ print_totals_basic(void)
// Since we print totals only when there are at least two files, // Since we print totals only when there are at least two files,
// the English message will always use "%s files". But some other // the English message will always use "%s files". But some other
// languages need different forms for different plurals so we // 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 // 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". // 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 <= ULONG_MAX ? totals.files
: (totals.files % 1000000) + 1000000), : (totals.files % 1000000) + 1000000),
uint64_to_str(totals.files, 0)); uint64_to_str(totals.files, 0));