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

Re: [PATCH 19/21] t9003: become resilient to GETTEXT_POISON

From
Junio C Hamano <gitster@pobox.com>
Date
May 20, 2016, 17:59 UTC
Message-ID
<xmqqh9dsehl6.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<xmqqoa80ei03.fsf@gitster.mtv.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 11 quoted lines
> Vasco Almeida <vascomalmeida@sapo.pt> writes:
>
>> Alternatively, we could leave sed alone as it were before this patch and
>> use test_i18ngrep instead of grep to fake success under GETTEXT_POISON.
>> I think I prefer this way. What do you think?
>
> That is equivalent to saying that "we would translate 'lgf' to
> end-user's language", which does not make much sense to me.
>
> Wouldn't the introductory explanation, up to "Did you mean this?",
> be the only thing that is translated?
I just checked the code ;-)  We do this:
	fprintf_ln(stderr,
		   Q_("\nDid you mean this?",
		      "\nDid you mean one of these?",
		   n));
	for (i = 0; i < n; i++)
		fprintf(stderr, "\t%s\n", main_cmds.names[i]->name);

Using test_i18ngrep would mean we would not be able to catch a potential future bug that does an equivalent of

	for (i = 0; i < n; i++)
		fprintf(stderr, "\t%s\n", _(main_cmds.names[i]->name));

in the loop, i.e. marking something that is not meant to be translated as translatable.

As long as translators do not translate "Did you mean..." to begin a line with a tab (which I do not think there is any reason to), it is going to work reliably to grep for "^ lgf$" here, and it will catch such a potential future bug under GETTEXT_POISON build.

Previous: Junio C HamanoNext: Vasco Almeida
Message 39 of 42 in “i18n and tests updates”
  1. 00/21 i18n and tests updatesVasco Almeida, May 18, 2016
  2. 01/21 i18n: builtin/remote.c: fix mark for translationVasco Almeida, May 18, 2016
  3. 02/21 i18n: advice: mark string about detached head for translationVasco Almeida, May 18, 2016
  4. 03/21 i18n: advice: internationalize message for conflictsVasco Almeida, May 18, 2016
  5. Eric SunshineMay 18, 2016
  6. Vasco AlmeidaMay 18, 2016
  7. Junio C HamanoMay 18, 2016
  8. 04/21 i18n: transport: mark strings for translationVasco Almeida, May 18, 2016
  9. 05/21 i18n: sequencer: mark entire sentences for translationVasco Almeida, May 18, 2016
  10. Eric SunshineMay 18, 2016
  11. Vasco AlmeidaMay 18, 2016
  12. Ævar Arnfjörð BjarmasonMay 21, 2016
  13. Junio C HamanoMay 23, 2016
  14. Eric SunshineMay 23, 2016
  15. 06/21 i18n: sequencer: mark string for translationVasco Almeida, May 18, 2016
  16. 07/21 i18n: merge-octopus: mark messages for translationVasco Almeida, May 18, 2016
  17. 08/21 merge-octupus: use die shell function from git-sh-setup.shVasco Almeida, May 18, 2016
  18. 09/21 i18n: rebase: fix marked string to use eval_gettext variantVasco Almeida, May 18, 2016
  19. 10/21 i18n: rebase: mark placeholder for translationVasco Almeida, May 18, 2016
  20. 11/21 i18n: bisect: simplify error message for i18nVasco Almeida, May 18, 2016
  21. 12/21 t6030: update to use test_i18ncmpVasco Almeida, May 18, 2016
  22. 13/21 i18n: git-sh-setup.sh: mark strings for translationVasco Almeida, May 18, 2016
  23. 14/21 i18n: rebase-interactive: mark strings for translationVasco Almeida, May 18, 2016
  24. Eric SunshineMay 19, 2016
  25. Ævar Arnfjörð BjarmasonMay 21, 2016
  26. Vasco AlmeidaMay 21, 2016
  27. 15/21 i18n: rebase-interactive: mark here-doc strings for translationVasco Almeida, May 18, 2016
  28. 16/21 i18n: rebase-interactive: mark comments of squash for translationVasco Almeida, May 18, 2016
  29. 17/21 tests: use test_i18n* functions to suppress false positivesVasco Almeida, May 18, 2016
  30. 18/21 tests: unpack-trees: update to use test_i18n* functionsVasco Almeida, May 18, 2016
  31. 19/21 t9003: become resilient to GETTEXT_POISONVasco Almeida, May 18, 2016
  32. Eric SunshineMay 19, 2016
  33. Vasco AlmeidaMay 19, 2016
  34. Eric SunshineMay 20, 2016
  35. Junio C HamanoMay 20, 2016
  36. Eric SunshineMay 20, 2016
  37. Vasco AlmeidaMay 20, 2016
  38. Junio C HamanoMay 20, 2016
  39. Junio C HamanoMay 20, 2016
  40. Vasco AlmeidaMay 20, 2016
  41. 20/21 t4153: fix negated test_i18ngrep callVasco Almeida, May 18, 2016
  42. 21/21 t5523: use test_i18ngrep for negationVasco Almeida, May 18, 2016

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.