Re: [PATCH 3/5] gettext docs: the gettext.h C interface
From: Ævar Arnfjörð Bjarmason <hidden>
Date: 2016-06-15 22:49:32
On Fri, Sep 10, 2010 at 22:52, Junio C Hamano [off-list ref] wrote:
Ævar Arnfjörð Bjarmason [off-list ref] writes:quoted
+ - _() + + Mark and translate a string. E.g.: + + printf(_("HEAD is now at %s"), hex); + + - N_() + + A no-op pass-through macro for marking strings inside static + initializations, e.g.: + + static const char *reset_type_names[] = { + N_("mixed"), N_("soft"), N_("hard"), N_("merge"), N_("keep"), NULL + }; + + And then, later: + + die(_("%s reset is not allowed in a bare repository"), + _(reset_type_names[reset_type]));I do not think this is a very good example. Unless we are doing l10n of option names, a Portuguese won't be typing "git reset --misto", so there is no point in invoking _(reset_type_names[]) to begin with, and there is no need to mark mixed/soft/hard/... for translation.
Actually all the code that uses reset_type_names isn't referring to
the option directly, but to the action currently being undertaken:
die(_("Cannot do a %s reset in the middle of a merge."),
_(reset_type_names[reset_type]));
die(_("Cannot do %s reset with paths."),
_(reset_type_names[reset_type]));
die(_("%s reset is not allowed in a bare repository"),
_(reset_type_names[reset_type]));
In that context translators probably want to translate them, e.g. I'd
translate the first one into Icelandic as:
"Get ekki framkvæmt %s endurstillingu í miðri sameiningu" with %s
== "blandaða" ("mixed")
And we won't be doing l10n of option names or subcommand names, I hope ;-).
We could do that, I don't have plans for it though, and in any case I don't think this is such a case.