git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [RFC PATCH 0/5] Localise error headers

From
Stefan Beller <sbeller@google.com>
Date
Jan 10, 2017, 18:28 UTC
Message-ID
<CAGZ79kYVc0YQ4okrTHGiYQzPqfiVAm_f7orXdkhwgf5kMPXj-w@mail.gmail.com>
In-Reply-To
<20170110090418.4egk4oflblshmjon@sigill.intra.peff.net>
On Tue, Jan 10, 2017 at 1:04 AM, Jeff King <peff@peff.net> wrote:
Show 45 quoted lines
> On Mon, Jan 09, 2017 at 01:43:15PM +0100, Michael J Gruber wrote:
>
>> > I can't say I'm excited about having matching "_" variants for each
>> > function. Are we sure that they are necessary? I.e., would it be
>> > acceptable to just translate them always?
>>
>> We would still need to mark the strings, e.g.
>>
>> die(N_("oopsie"));
>>
>> and would not be able to opt out of translating in the code (only in the
>> po file, by not providing a translation).
>
> I meant more along the lines of: would it be OK to just always translate
> the prefix, even if the message itself is not translated? I.e.,
>
> diff --git a/usage.c b/usage.c
> index 82ff13163..8e5400f57 100644
> --- a/usage.c
> +++ b/usage.c
> @@ -32,7 +32,7 @@ static NORETURN void usage_builtin(const char *err, va_list params)
>
>  static NORETURN void die_builtin(const char *err, va_list params)
>  {
> -       vreportf("fatal: ", err, params);
> +       vreportf(_("fatal: "), err, params);
>         exit(128);
>  }
>
>> In any case, the question is whether we want to tell the user
>>
>> A: B
>>
>> where A is in English and B is localised, or rather localise both A and
>> B (for A in "error", "fatal", "warning"...).
>>
>> For localising A and B, we'd need this series or something similar. For
>> keeping the mix, we don't need to do anything ;)
>
> What I wrote above would keep the mix, but switch it in the other
> direction.
>
> And then presumably that mix would gradually move to 100% consistency as
> more messages are translated. But the implicit question is: are there
> die() messages that should never be translated? I'm not sure.

I would assume any plumbing command is not localizing? Because in plumbing land, (easily scriptable) you may find a grep on the output/stderr for a certain condition?

To find a good example, "git grep die" giving me some food of though:

die_errno(..) should always take a string marked up for translation, because the errno string is translated? (-> we'd have to fix up any occurrence of git grep "die_errno(\"")

    apply.c:                die(_("internal error"));
That is funny, too. I think we should substitute that with
    die("BUG: untranslated, but what went wrong instead")
>
> -Peff
Previous: Jeff KingNext: Jeff King
Message 12 of 24 in “Localise error headers”
  1. 0/5 Localise error headersMichael J Gruber, Jan 2, 2017
  2. 1/5 error/warning framework: prepare for l10nMichael J Gruber, Jan 2, 2017
  3. 2/5 error/warn framework: provide localized variantsMichael J Gruber, Jan 2, 2017
  4. 3/5 error/warning framework framework: coccinelli rulesMichael J Gruber, Jan 2, 2017
  5. Duy NguyenJan 3, 2017
  6. Stefan BellerJan 3, 2017
  7. Duy NguyenJan 4, 2017
  8. Duy NguyenJan 7, 2017
  9. Jeff KingJan 4, 2017
  10. Michael J GruberJan 9, 2017
  11. Jeff KingJan 10, 2017
  12. Stefan BellerJan 10, 2017
  13. Jeff KingJan 11, 2017
  14. Stefan BellerJan 11, 2017
  15. Jeff KingJan 21, 2017
  16. Junio C HamanoJan 11, 2017
  17. Duy NguyenJan 20, 2017
  18. Jeff KingJan 21, 2017
  19. Jeff KingJan 21, 2017
  20. Michael J GruberMar 30, 2017
  21. Jeff KingApr 1, 2017
  22. Junio C HamanoApr 1, 2017
  23. Duy NguyenJan 20, 2017
  24. Duy NguyenJan 20, 2017

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.