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

Re: [PATCH] PRItime: wrap PRItime for better l10n compatibility

From
Junio C Hamano <gitster@pobox.com>
Date
Jul 21, 2017, 23:34 UTC
Message-ID
<xmqqr2x9fjpi.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<CANYiYbF+XDANNbpZJ-jL7y81QhggW_snBuWeONSCUc4CPn2zMw@mail.gmail.com>
Jiang Xin <worldhello.net@gmail.com> writes:
Show 10 quoted lines
> A very small hack on gettext.  When extract l10n messages to pot file
> with `xgettext`, will grep "PRItime", and do "sed s/PRItime/PRIuMAX"
> inside `xgettext`.
>
> See this patch:
> https://github.com/jiangxin/gettext/commit/b0a726431c93b5a1ca0fe749de376b0752e75fb0
> ...
>      gettext-tools/src/x-c.c      | 17 ++++++++++++++++-
>      gettext-tools/src/xgettext.c |  2 +-
>      2 files changed, 17 insertions(+), 2 deletions(-)

I do not think the size of the "hack" is much of an issue. There is no way you can sell this patch to the upstream, which would mean that we would have to be relying on our own private edition of the external tool, and that is what I feel very uncomfortable about.

You are not passing %<PRItime> through the toolchain and instead turning it into %<PRIuMAX>, which is less risky than the obvious alternative, but when we switch to a signed timestamp_t type and need to change it something else (e.g. PRIdMAX), you'd need to make sure you update that private edition that matches the source being compiled. You might even be asked to do the po/git.pot thing for both 'maint' and 'master' at the same time, when the former still uses unsigned timestamp_t while the latter switched to signed one, which would mean you'd need two hacked versions of gettext handy and choose the "right" one.

Compared to that, Dscho's "hack" at least ties what PRItime is replaced with and what the source code says by being in the Makefile, which is tracked alongside the rest of the source. So I somehow feel that the approach has smaller chance of going wrong.

Am I missing some concerns you had that you think the tweaked gettext would solve better?

Previous: Jiang XinNext: Jiang Xin
Message 26 of 45 in “[L10N] Kickoff of translation for Git 2.14.0 round 1”
  1. Jiang XinJul 15, 2017
  2. Jean-Noël AvilaJul 15, 2017
  3. Jiang XinJul 17, 2017
  4. Johannes SchindelinJul 17, 2017
  5. Jiang XinJul 18, 2017
  6. PRItime: wrap PRItime for better l10n compatibilityJiang Xin, Jul 17, 2017
  7. Junio C HamanoJul 17, 2017
  8. Jiang XinJul 18, 2017
  9. Junio C HamanoJul 18, 2017
  10. Jiang XinJul 19, 2017
  11. Johannes SchindelinJul 19, 2017
  12. Junio C HamanoJul 19, 2017
  13. Junio C HamanoJul 19, 2017
  14. Junio C HamanoJul 20, 2017
  15. Junio C HamanoJul 20, 2017
  16. Junio C HamanoJul 20, 2017
  17. Jean-Noël AvilaJul 21, 2017
  18. Junio C HamanoJul 21, 2017
  19. Johannes SchindelinJul 22, 2017
  20. Junio C HamanoJul 22, 2017
  21. Johannes SchindelinJul 25, 2017
  22. Junio C HamanoJul 25, 2017
  23. Jiang XinJul 21, 2017
  24. Junio C HamanoJul 21, 2017
  25. Jiang XinJul 21, 2017
  26. Junio C HamanoJul 21, 2017
  27. Jiang XinJul 22, 2017
  28. Makefile: generate pot file using a tweaked version of xgettextJiang Xin, Jul 22, 2017
  29. Junio C HamanoJul 22, 2017
  30. Johannes SchindelinJul 22, 2017
  31. Junio C HamanoJul 22, 2017
  32. Jiang XinJul 24, 2017
  33. Johannes SchindelinJul 25, 2017
  34. Junio C HamanoJul 25, 2017
  35. Jiang XinJul 24, 2017
  36. Junio C HamanoJul 24, 2017
  37. Johannes SchindelinJul 25, 2017
  38. Jean-Noël AVILAJul 23, 2017
  39. Junio C HamanoJul 23, 2017
  40. Jiang XinJul 24, 2017
  41. Junio C HamanoJul 24, 2017
  42. Kaartic SivaraamJul 22, 2017
  43. Jean-Noël AvilaJul 23, 2017
  44. Jordi MasJul 19, 2017
  45. Jiang XinJul 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.