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

Re: [PATCH 00/10] Factorization of messages with similar meaning

From
Johannes Sixt <j6t@kdbg.org>
Date
Dec 3, 2021, 23:39 UTC
Message-ID
<d687f69b-efdc-6b1c-c63c-8544ff37d1c2@kdbg.org>
In-Reply-To
<YaqSXvp6ZxOFqeuk@coredump.intra.peff.net>
Am 03.12.21 um 22:55 schrieb Jeff King:
Show 24 quoted lines
> On Fri, Dec 03, 2021 at 07:01:39AM +0000, Jean-Noël Avila via GitGitGadget wrote:
> 
>> This series is a meager attempt at rationalizing a small fraction of the
>> internationalized messages. Sorry in advance for the dull task of reviewing
>> these insipide patches.
>>
>> Doing so has some positive effects:
>>
>>  * non-translatable constant strings are kept out of the way for translators
>>  * messages with identical meaning are built identically
>>  * the total number of messages to translate is decreased.
>>
>> I'm inclined to even go a step further and turn these messages into #define
>> or const strings. This would have the added benefits:
>>
>>  * make sure that the messages to translate are identical
>>  * create a library of message skeletons to be picked up when new messages
>>    are needed
>>
>> What do you think?
> 
> One slight negative of this approach is that it makes messages a bit
> harder to grep for. It sometimes really nice to "git jump grep" for
> specific messages you got to see where they're coming from.
This can be mitigated by using, for example,
  git grep -e --stdin --and -e mutually

as long as the rewrite keeps the arguments on the same line with the format strings, which it does.

Another aspect is that translators lose context. For example, "%s and %s are mutally exclusive" may have to be translated differently depending on what kind of text is substituted for %s. In this example it's probably always command line options (I haven't checked), so not an immediate problem. But something to keep in mind.

-- Hannes
Previous: Jeff KingNext: Junio C Hamano
Message 18 of 94 in “Factorization of messages with similar meaning”
  1. 00/10 Factorization of messages with similar meaningJean-Noël Avila via GitGitGadget, Dec 3, 2021
  2. 02/10 i18n: refactor "%s, %s and %s are mutually exclusive"Jean-Noël Avila via GitGitGadget, Dec 3, 2021
  3. 04/10 i18n: standardize "cannot open" and "cannot read"Jean-Noël Avila via GitGitGadget, Dec 3, 2021
  4. Ævar Arnfjörð BjarmasonDec 7, 2021
  5. 01/10 i18n: refactor "foo and bar are mutually exclusive"Jean-Noël Avila via GitGitGadget, Dec 3, 2021
  6. Ævar Arnfjörð BjarmasonDec 7, 2021
  7. Jean-Noël AVILADec 8, 2021
  8. 05/10 i18n: tag.c factorize i18n stringsJean-Noël Avila via GitGitGadget, Dec 3, 2021
  9. Ævar Arnfjörð BjarmasonDec 7, 2021
  10. 03/10 i18n: turn "options are incompatible" into "are mutually exclusive"Jean-Noël Avila via GitGitGadget, Dec 3, 2021
  11. 06/10 i18n: factorize "--foo requires --bar" and the likeJean-Noël Avila via GitGitGadget, Dec 3, 2021
  12. 08/10 i18n: refactor "unrecognized %(foo) argument" stringsJean-Noël Avila via GitGitGadget, Dec 3, 2021
  13. Ævar Arnfjörð BjarmasonDec 7, 2021
  14. 07/10 i18n: factorize "no directory given for --foo"Jean-Noël Avila via GitGitGadget, Dec 3, 2021
  15. 09/10 i18n: factorize "--foo outside a repository"Jean-Noël Avila via GitGitGadget, Dec 3, 2021
  16. 10/10 i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"Jean-Noël Avila via GitGitGadget, Dec 3, 2021
  17. Jeff KingDec 3, 2021
  18. Johannes SixtDec 3, 2021
  19. Junio C HamanoDec 5, 2021
  20. Jean-Noël AVILADec 5, 2021
  21. Johannes SixtDec 5, 2021
  22. Junio C HamanoDec 6, 2021
  23. Junio C HamanoDec 5, 2021
  24. 00/11 Factorization of messages with similar meaningJean-Noël Avila via GitGitGadget, Dec 27, 2021
  25. 01/11 i18n: refactor "foo and bar are mutually exclusive"Jean-Noël Avila via GitGitGadget, Dec 27, 2021
  26. 02/11 i18n: refactor "%s, %s and %s are mutually exclusive"Jean-Noël Avila via GitGitGadget, Dec 27, 2021
  27. 05/11 i18n: tag.c factorize i18n stringsJean-Noël Avila via GitGitGadget, Dec 27, 2021
  28. Junio C HamanoDec 27, 2021
  29. Ævar Arnfjörð BjarmasonDec 27, 2021
  30. Junio C HamanoDec 28, 2021
  31. Jean-Noël AVILADec 29, 2021
  32. 06/11 i18n: factorize "--foo requires --bar" and the likeJean-Noël Avila via GitGitGadget, Dec 27, 2021
  33. Johannes SixtDec 28, 2021
  34. Jean-Noël AVILADec 29, 2021
  35. 07/11 i18n: factorize "no directory given for --foo"Jean-Noël Avila via GitGitGadget, Dec 27, 2021
  36. 04/11 i18n: standardize "cannot open" and "cannot read"Jean-Noël Avila via GitGitGadget, Dec 27, 2021
  37. 03/11 i18n: turn "options are incompatible" into "cannot be used together"Jean-Noël Avila via GitGitGadget, Dec 27, 2021
  38. 10/11 i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"Jean-Noël Avila via GitGitGadget, Dec 27, 2021
  39. 09/11 i18n: factorize "--foo outside a repository"Jean-Noël Avila via GitGitGadget, Dec 27, 2021
  40. 08/11 i18n: refactor "unrecognized %(foo) argument" stringsJean-Noël Avila via GitGitGadget, Dec 27, 2021
  41. 11/11 i18n: turn even more messages into "cannot be used together" onesJean-Noël Avila via GitGitGadget, Dec 27, 2021
  42. Johannes SixtDec 28, 2021
  43. Jean-Noël AVILADec 29, 2021
  44. 00/11 Factorization of messages with similar meaningJean-Noël Avila via GitGitGadget, Dec 29, 2021
  45. 01/11 i18n: refactor "foo and bar are mutually exclusive"Jean-Noël Avila via GitGitGadget, Dec 29, 2021
  46. 02/11 i18n: refactor "%s, %s and %s are mutually exclusive"Jean-Noël Avila via GitGitGadget, Dec 29, 2021
  47. Junio C HamanoDec 30, 2021
  48. Jean-Noël AVILADec 31, 2021
  49. 03/11 i18n: turn "options are incompatible" into "cannot be used together"Jean-Noël Avila via GitGitGadget, Dec 29, 2021
  50. Johannes SixtDec 29, 2021
  51. Jean-Noël AVILADec 30, 2021
  52. Junio C HamanoDec 30, 2021
  53. 04/11 i18n: standardize "cannot open" and "cannot read"Jean-Noël Avila via GitGitGadget, Dec 29, 2021
  54. 05/11 i18n: tag.c factorize i18n stringsJean-Noël Avila via GitGitGadget, Dec 29, 2021
  55. René ScharfeJan 1, 2022
  56. 08/11 i18n: refactor "unrecognized %(foo) argument" stringsJean-Noël Avila via GitGitGadget, Dec 29, 2021
  57. 07/11 i18n: factorize "no directory given for --foo"Jean-Noël Avila via GitGitGadget, Dec 29, 2021
  58. Junio C HamanoDec 30, 2021
  59. 11/11 i18n: turn even more messages into "cannot be used together" onesJean-Noël Avila via GitGitGadget, Dec 29, 2021
  60. Junio C HamanoDec 30, 2021
  61. Jean-Noël AVILADec 31, 2021
  62. Junio C HamanoJan 3, 2022
  63. 10/11 i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"Jean-Noël Avila via GitGitGadget, Dec 29, 2021
  64. 09/11 i18n: factorize "--foo outside a repository"Jean-Noël Avila via GitGitGadget, Dec 29, 2021
  65. 06/11 i18n: factorize "--foo requires --bar" and the likeJean-Noël Avila via GitGitGadget, Dec 29, 2021
  66. 00/11 Factorization of messages with similar meaningJean-Noël Avila via GitGitGadget, Jan 2, 2022
  67. 01/11 i18n: refactor "foo and bar are mutually exclusive"Jean-Noël Avila via GitGitGadget, Jan 2, 2022
  68. 02/11 i18n: refactor "%s, %s and %s are mutually exclusive"Jean-Noël Avila via GitGitGadget, Jan 2, 2022
  69. Johannes SixtJan 3, 2022
  70. 03/11 i18n: turn "options are incompatible" into "cannot be used together"Jean-Noël Avila via GitGitGadget, Jan 2, 2022
  71. 04/11 i18n: standardize "cannot open" and "cannot read"Jean-Noël Avila via GitGitGadget, Jan 2, 2022
  72. 05/11 i18n: tag.c factorize i18n stringsJean-Noël Avila via GitGitGadget, Jan 2, 2022
  73. René ScharfeJan 2, 2022
  74. Jean-Noël AVILAJan 2, 2022
  75. 08/11 i18n: refactor "unrecognized %(foo) argument" stringsJean-Noël Avila via GitGitGadget, Jan 2, 2022
  76. 07/11 i18n: factorize "no directory given for --foo"Jean-Noël Avila via GitGitGadget, Jan 2, 2022
  77. 06/11 i18n: factorize "--foo requires --bar" and the likeJean-Noël Avila via GitGitGadget, Jan 2, 2022
  78. 09/11 i18n: factorize "--foo outside a repository"Jean-Noël Avila via GitGitGadget, Jan 2, 2022
  79. 10/11 i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"Jean-Noël Avila via GitGitGadget, Jan 2, 2022
  80. 11/11 i18n: turn even more messages into "cannot be used together" onesJean-Noël Avila via GitGitGadget, Jan 2, 2022
  81. 00/11 Factorization of messages with similar meaningJean-Noël Avila via GitGitGadget, Jan 5, 2022
  82. 01/11 i18n: refactor "foo and bar are mutually exclusive"Jean-Noël Avila via GitGitGadget, Jan 5, 2022
  83. 02/11 i18n: refactor "%s, %s and %s are mutually exclusive"Jean-Noël Avila via GitGitGadget, Jan 5, 2022
  84. 04/11 i18n: standardize "cannot open" and "cannot read"Jean-Noël Avila via GitGitGadget, Jan 5, 2022
  85. 03/11 i18n: turn "options are incompatible" into "cannot be used together"Jean-Noël Avila via GitGitGadget, Jan 5, 2022
  86. 05/11 i18n: tag.c factorize i18n stringsJean-Noël Avila via GitGitGadget, Jan 5, 2022
  87. 07/11 i18n: factorize "no directory given for --foo"Jean-Noël Avila via GitGitGadget, Jan 5, 2022
  88. 06/11 i18n: factorize "--foo requires --bar" and the likeJean-Noël Avila via GitGitGadget, Jan 5, 2022
  89. 08/11 i18n: refactor "unrecognized %(foo) argument" stringsJean-Noël Avila via GitGitGadget, Jan 5, 2022
  90. 11/11 i18n: turn even more messages into "cannot be used together" onesJean-Noël Avila via GitGitGadget, Jan 5, 2022
  91. 09/11 i18n: factorize "--foo outside a repository"Jean-Noël Avila via GitGitGadget, Jan 5, 2022
  92. 10/11 i18n: ref-filter: factorize "%(foo) atom used without %(bar) atom"Jean-Noël Avila via GitGitGadget, Jan 5, 2022
  93. Johannes SixtJan 5, 2022
  94. Junio C HamanoJan 5, 2022

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.