i18n: add no-op _() and N_() wrappers
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Tue, 22 Feb 2011 23:41:20 +0000 (23:41 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 8 Mar 2011 20:10:03 +0000 (12:10 -0800)
commit6578483036695820d05aa7cf482a38169ad321bf
treeb45c310a25416f9b6d9cef7a503723b7f6a007f9
parent098d0e0e8e7467bea5306d5bc98b283bfe0174fb
i18n: add no-op _() and N_() wrappers

The _ function is for translating strings into the user's chosen
language.  The N_ macro just marks translatable strings for the
xgettext(1) tool without translating them; it is intended for use in
contexts where a function call cannot be used.  So, for example:

fprintf(stderr, _("Expansion of alias '%s' failed; "
"'%s' is not a git command\n"),
cmd, argv[0]);

and

const char *unpack_plumbing_errors[NB_UNPACK_TREES_ERROR_TYPES] = {
/* ERROR_WOULD_OVERWRITE */
N_("Entry '%s' would be overwritten by merge. Cannot merge."),
[...]

Define such _ and N_ in a new gettext.h and include it in cache.h, so
they can be used everywhere.  Each just returns its argument for now.
_ is a function rather than a macro like N_ to avoid the temptation to
use _("foo") as a string literal (which would be a compile-time error
once _(s) expands to an expression for the translation of s).

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile
cache.h
gettext.h [new file with mode: 0644]