]> git.ipfire.org Git - thirdparty/git.git/commit
parse-options: localize mark-up of placeholder text in the short help
authorAlexander Shopov <ash@kambanaria.org>
Sat, 28 Dec 2024 11:42:18 +0000 (12:42 +0100)
committerJunio C Hamano <gitster@pobox.com>
Mon, 30 Dec 2024 14:55:24 +0000 (06:55 -0800)
commit5b34dd08d0ffc967b92abe187cc890d52ade5ac7
tree34bb011c176b9cef0bb6e0fe666cd1ec256ccfc4
parent76cf4f61c87855ebf0784b88aaf737d6b09f504b
parse-options: localize mark-up of placeholder text in the short help

i18n: expose substitution hint chars in functions and macros to
translators

For example (based on builtin/commit.c and shortened): the "--author"
option takes a name.  In source this can be represented as:

  OPT_STRING(0, "author", &force_author, N_("author"), N_("override author")),

When the command is run with "-h" (short help) option (git commit -h),
the above definition is displayed as:

  --[no-]author <author>    override author

Git does not use translated option names so the first part of the
above, "--[no-]author", is given as-is (it is based on the 2nd
argument of OPT_STRING).  However the string "author" in the pair of
"<>", and the explanation "override author for commit" may be
translated into user's language.

The user's language may use a convention to mark a replaceable part of
the command line (called a "placeholder string") differently from
enclosing it inside a pair of "<>", but the implementation in
parse-options.c hardcodes "<%s>".

Allow translators to specify the presentation of a placeholder string
for their languages by overriding the "<%s>".

In case the translator's writing system is sufficiently different than
Latin the "<>" characters can be substituted by an empty string thus
effectively skipping them in the output.  For example languages with
uppercase versions of characters can use that to deliniate
replaceability.

Alternatively a translator can decide to use characters that are
visually close to "<>" but are not interpreted by the shell.

Signed-off-by: Alexander Shopov <ash@kambanaria.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
parse-options.c