# [PATCH] diff: mark some diff parameters as placeholders

5 messages from 2024-02-14 to 2024-02-14. Participants: Jiang Xin, Jean-Noël Avila, Junio C Hamano.
Thread: https://gitlist.dev/t/60911

## Jiang Xin, 2024-02-14 05:31

Subject: [PATCH] diff: mark some diff parameters as placeholders
Message-ID: <1e33662683b43e93889b4b3493a0edc2e3483920.1707888478.git.zhiyou.jx@alibaba-inc.com>
URL: https://gitlist.dev/e/1e33662683b43e93889b4b3493a0edc2e3483920.1707888478.git.zhiyou.jx%40alibaba-inc.com

```
From: Jiang Xin <zhiyou.jx@alibaba-inc.com>

Some l10n translators translated the parameters "files", "param1" and
"param2" in the following message:

    "synonym for --dirstat=files,param1,param2..."

Translating "param1" and "param2" is OK, but changing the parameter
"files" is wrong. The parameters that are not meant to be used verbatim
should be marked as placeholders, but the verbatim parameter not marked
as a placeholder should be left as is.

This change is a complement for commit 51e846e673 (doc: enforce
placeholders in documentation, 2023-12-25).

Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
---
 diff.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/diff.c b/diff.c
index ccfa1fca0d..c256ef103e 100644
--- a/diff.c
+++ b/diff.c
@@ -5599,7 +5599,7 @@ struct option *add_diff_options(const struct option *opts,
 			       PARSE_OPT_NONEG | PARSE_OPT_NOARG,
 			       diff_opt_dirstat),
 		OPT_CALLBACK_F(0, "dirstat-by-file", options, N_("<param1,param2>..."),
-			       N_("synonym for --dirstat=files,param1,param2..."),
+			       N_("synonym for --dirstat=files,<param1>,<param2>..."),
 			       PARSE_OPT_NONEG | PARSE_OPT_OPTARG,
 			       diff_opt_dirstat),
 		OPT_BIT_F(0, "check", &options->output_format,
-- 
2.44.0.rc0


```

## Jean-Noël Avila, 2024-02-14 07:36

Subject: Re: [PATCH] diff: mark some diff parameters as placeholders
Message-ID: <6e33b2b2-f0b1-46ba-bbd8-3ae4c87d35ba@free.fr>
URL: https://gitlist.dev/e/6e33b2b2-f0b1-46ba-bbd8-3ae4c87d35ba%40free.fr
In-Reply-To: <1e33662683b43e93889b4b3493a0edc2e3483920.1707888478.git.zhiyou.jx@alibaba-inc.com>

```
Hello,

Some parameter placeholder slipped through...

Le 14/02/2024 à 06:31, Jiang Xin a écrit :
> From: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> 
> Some l10n translators translated the parameters "files", "param1" and
> "param2" in the following message:
> 
>      "synonym for --dirstat=files,param1,param2..."
> 
> Translating "param1" and "param2" is OK, but changing the parameter
> "files" is wrong. The parameters that are not meant to be used verbatim
> should be marked as placeholders, but the verbatim parameter not marked
> as a placeholder should be left as is.
> 
> This change is a complement for commit 51e846e673 (doc: enforce
> placeholders in documentation, 2023-12-25).
> 
> Signed-off-by: Jiang Xin <zhiyou.jx@alibaba-inc.com>
> ---
>   diff.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/diff.c b/diff.c
> index ccfa1fca0d..c256ef103e 100644
> --- a/diff.c
> +++ b/diff.c
> @@ -5599,7 +5599,7 @@ struct option *add_diff_options(const struct option *opts,
>   			       PARSE_OPT_NONEG | PARSE_OPT_NOARG,
>   			       diff_opt_dirstat),
>   		OPT_CALLBACK_F(0, "dirstat-by-file", options, N_("<param1,param2>..."),

This line also needs changes:
N_("<param1>,<param2>...")

> -			       N_("synonym for --dirstat=files,param1,param2..."),
> +			       N_("synonym for --dirstat=files,<param1>,<param2>..."),
>   			       PARSE_OPT_NONEG | PARSE_OPT_OPTARG,
>   			       diff_opt_dirstat),
>   		OPT_BIT_F(0, "check", &options->output_format,

Thanks

JN

```

## Jiang Xin, 2024-02-14 08:46

Subject: [PATCH v2 0/1] diff: mark param1 and param2 as placeholders
Message-ID: <cover.1707900029.git.worldhello.net@gmail.com>
URL: https://gitlist.dev/e/cover.1707900029.git.worldhello.net%40gmail.com
In-Reply-To: <6e33b2b2-f0b1-46ba-bbd8-3ae4c87d35ba@free.fr>

```
Some l10n translators translated the parameters "files", "param1" and
"param2" in the following message:

    "synonym for --dirstat=files,param1,param2..."

Translating "param1" and "param2" is OK, but changing the parameter
"files" is wrong. The parameters that are not meant to be used verbatim
should be marked as placeholders, but the verbatim parameter not marked
as a placeholder should be left as is.

This change is a complement for commit 51e846e673 (doc: enforce
placeholders in documentation, 2023-12-25).

With the help of Jean-Noël,some parameter combinations in one
placeholder (e.g. "<param1,param2>...") are splited into seperate
placeholders.

# range-diff v1...v2

1:  c65bca7f6f ! 1:  3a82f72f33 diff: mark param1 and param2 as placeholders
    @@ Commit message
         This change is a complement for commit 51e846e673 (doc: enforce
         placeholders in documentation, 2023-12-25).
     
    +    With the help of Jean-Noël,some parameter combinations in one
    +    placeholder (e.g. "<param1,param2>...") are splited into seperate
    +    placeholders.
    +
    +    Helped-by: Jean-Noël Avila <jn.avila@free.fr>
         Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
     
      ## diff.c ##
     @@ diff.c: struct option *add_diff_options(const struct option *opts,
    + 		OPT_BITOP(0, "shortstat", &options->output_format,
    + 			  N_("output only the last line of --stat"),
    + 			  DIFF_FORMAT_SHORTSTAT, DIFF_FORMAT_NO_OUTPUT),
    +-		OPT_CALLBACK_F('X', "dirstat", options, N_("<param1,param2>..."),
    ++		OPT_CALLBACK_F('X', "dirstat", options, N_("<param1>,<param2>..."),
    + 			       N_("output the distribution of relative amount of changes for each sub-directory"),
    + 			       PARSE_OPT_NONEG | PARSE_OPT_OPTARG,
    + 			       diff_opt_dirstat),
    +@@ diff.c: struct option *add_diff_options(const struct option *opts,
    + 			       N_("synonym for --dirstat=cumulative"),
      			       PARSE_OPT_NONEG | PARSE_OPT_NOARG,
      			       diff_opt_dirstat),
    - 		OPT_CALLBACK_F(0, "dirstat-by-file", options, N_("<param1,param2>..."),
    +-		OPT_CALLBACK_F(0, "dirstat-by-file", options, N_("<param1,param2>..."),
     -			       N_("synonym for --dirstat=files,param1,param2..."),
    ++		OPT_CALLBACK_F(0, "dirstat-by-file", options, N_("<param1>,<param2>..."),
     +			       N_("synonym for --dirstat=files,<param1>,<param2>..."),
      			       PARSE_OPT_NONEG | PARSE_OPT_OPTARG,
      			       diff_opt_dirstat),
---
Jiang Xin (1):
  diff: mark param1 and param2 as placeholders

 diff.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

-- 
2.44.0.rc0


```

## Jiang Xin, 2024-02-14 08:46

Subject: [PATCH v2 1/1] diff: mark param1 and param2 as placeholders
Message-ID: <3a82f72f33663f162aa41cb20c0fb3b6786971c9.1707900029.git.worldhello.net@gmail.com>
URL: https://gitlist.dev/e/3a82f72f33663f162aa41cb20c0fb3b6786971c9.1707900029.git.worldhello.net%40gmail.com
In-Reply-To: <cover.1707900029.git.worldhello.net@gmail.com>

```
Some l10n translators translated the parameters "files", "param1" and
"param2" in the following message:

    "synonym for --dirstat=files,param1,param2..."

Translating "param1" and "param2" is OK, but changing the parameter
"files" is wrong. The parameters that are not meant to be used verbatim
should be marked as placeholders, but the verbatim parameter not marked
as a placeholder should be left as is.

This change is a complement for commit 51e846e673 (doc: enforce
placeholders in documentation, 2023-12-25).

With the help of Jean-Noël,some parameter combinations in one
placeholder (e.g. "<param1,param2>...") are splited into seperate
placeholders.

Helped-by: Jean-Noël Avila <jn.avila@free.fr>
Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
---
 diff.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/diff.c b/diff.c
index ccfa1fca0d..e50def4538 100644
--- a/diff.c
+++ b/diff.c
@@ -5590,7 +5590,7 @@ struct option *add_diff_options(const struct option *opts,
 		OPT_BITOP(0, "shortstat", &options->output_format,
 			  N_("output only the last line of --stat"),
 			  DIFF_FORMAT_SHORTSTAT, DIFF_FORMAT_NO_OUTPUT),
-		OPT_CALLBACK_F('X', "dirstat", options, N_("<param1,param2>..."),
+		OPT_CALLBACK_F('X', "dirstat", options, N_("<param1>,<param2>..."),
 			       N_("output the distribution of relative amount of changes for each sub-directory"),
 			       PARSE_OPT_NONEG | PARSE_OPT_OPTARG,
 			       diff_opt_dirstat),
@@ -5598,8 +5598,8 @@ struct option *add_diff_options(const struct option *opts,
 			       N_("synonym for --dirstat=cumulative"),
 			       PARSE_OPT_NONEG | PARSE_OPT_NOARG,
 			       diff_opt_dirstat),
-		OPT_CALLBACK_F(0, "dirstat-by-file", options, N_("<param1,param2>..."),
-			       N_("synonym for --dirstat=files,param1,param2..."),
+		OPT_CALLBACK_F(0, "dirstat-by-file", options, N_("<param1>,<param2>..."),
+			       N_("synonym for --dirstat=files,<param1>,<param2>..."),
 			       PARSE_OPT_NONEG | PARSE_OPT_OPTARG,
 			       diff_opt_dirstat),
 		OPT_BIT_F(0, "check", &options->output_format,
-- 
2.44.0.rc0


```

## Junio C Hamano, 2024-02-14 17:33

Subject: Re: [PATCH v2 1/1] diff: mark param1 and param2 as placeholders
Message-ID: <xmqq5xyrvtm8.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqq5xyrvtm8.fsf%40gitster.g
In-Reply-To: <3a82f72f33663f162aa41cb20c0fb3b6786971c9.1707900029.git.worldhello.net@gmail.com>

```
Jiang Xin <worldhello.net@gmail.com> writes:

> Some l10n translators translated the parameters "files", "param1" and
> "param2" in the following message:
>
>     "synonym for --dirstat=files,param1,param2..."
>
> Translating "param1" and "param2" is OK, but changing the parameter
> "files" is wrong. The parameters that are not meant to be used verbatim
> should be marked as placeholders, but the verbatim parameter not marked
> as a placeholder should be left as is.
>
> This change is a complement for commit 51e846e673 (doc: enforce
> placeholders in documentation, 2023-12-25).
>
> With the help of Jean-Noël,some parameter combinations in one
> placeholder (e.g. "<param1,param2>...") are splited into seperate
> placeholders.
>
> Helped-by: Jean-Noël Avila <jn.avila@free.fr>
> Signed-off-by: Jiang Xin <worldhello.net@gmail.com>
> ---
>  diff.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Makes sense, thanks both.  This is from 2019 so it is not all that
urgent, but it still is a good change.

It is a bit unfortunate that we need to mark what *can* be
translated, not the other way around.  Because of that, something
like ...

>  			       N_("synonym for --dirstat=cumulative"),

... has no marking, but that does not mean that any part of
"--dirstat=cumulative" is up for translation, while "synonym for"
definitely is to be translated.

> +		OPT_CALLBACK_F(0, "dirstat-by-file", options, N_("<param1>,<param2>..."),
> +			       N_("synonym for --dirstat=files,<param1>,<param2>..."),

```
