{"thread":{"id":"56892","subject":"[PATCH] fetch-pack: add TRANSLATORS notice for packfile ready messages","startedAt":"2021-11-14T07:32:14Z","lastAt":"2021-11-15T15:23:56Z","messageCount":4,"participants":["Bagas Sanjaya","Ævar Arnfjörð Bjarmason"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"441078","messageId":"20211114073143.84004-1-bagasdotme@gmail.com","threadId":"56892","inReplyTo":null,"subject":"[PATCH] fetch-pack: add TRANSLATORS notice for packfile ready messages","fromName":"Bagas Sanjaya","fromEmail":"bagasdotme@gmail.com","sentAt":"2021-11-14T07:31:43Z","receivedAt":"2021-11-14T07:32:14Z","isPatch":true,"sender":{"key":"bagasdotme@gmail.com","avatar":"https://avatars.githubusercontent.com/u/40219486?v=4"},"body":"Two messages mention \"... to be sent after 'ready'\". The 'ready' string,\nhowever, is actually in part of packet stream, which shouldn't be\ntranslated. Because of lack of any notices, l10n teams treat it as\nordinary string, which results to inconsistency across teams. That is,\nin `po/es.po` the string is translated:\n\n```\nmsgid \"expected packfile to be sent after 'ready'\"\nmsgstr \"se esperaba que el packfile fuera enviado luego del 'listo'\"\n\nmsgid \"expected no other sections to be sent after no 'ready'\"\nmsgstr \"se esperaba que ninguna otra sección fuera enviada luego del 'listo'\"\n```\n\nwhereas in `po/fr.po` and `po/de.po`, the string isn't translated:\n\n```\nmsgid \"expected packfile to be sent after 'ready'\"\nmsgstr \"fichier paquet attendu à envoyer après 'ready'\"\n\nmsgid \"expected no other sections to be sent after no 'ready'\"\nmsgstr \"aucune autre section attendue à envoyer après absence de 'ready'\"\n```\n\n```\nmsgid \"expected packfile to be sent after 'ready'\"\nmsgstr \"Erwartete Versand einer Packdatei nach 'ready'.\"\n\nmsgid \"expected no other sections to be sent after no 'ready'\"\nmsgstr \"Erwartete keinen Versand einer anderen Sektion ohne 'ready'.\"\n```\n\nTo avoid confusions, add TRANSLATORS notice.\n\nSigned-off-by: Bagas Sanjaya <bagasdotme@gmail.com>\n---\n fetch-pack.c | 4 ++++\n 1 file changed, 4 insertions(+)\n\ndiff --git a/fetch-pack.c b/fetch-pack.c\nindex a9604f35a3..0cda8fc518 100644\n--- a/fetch-pack.c\n+++ b/fetch-pack.c\n@@ -1410,8 +1410,12 @@ static int process_ack(struct fetch_negotiator *negotiator,\n \t * otherwise.\n \t */\n \tif (*received_ready && reader->status != PACKET_READ_DELIM)\n+\t\t/* TRANSLATORS: 'ready' string is in part of packet stream.\n+\t\t   Leave it as is. */\n \t\tdie(_(\"expected packfile to be sent after 'ready'\"));\n \tif (!*received_ready && reader->status != PACKET_READ_FLUSH)\n+\t\t/* TRANSLATORS: 'ready' string is in part of packet stream.\n+\t\t   Leave it as is. */\n \t\tdie(_(\"expected no other sections to be sent after no 'ready'\"));\n \n \treturn 0;\n\nbase-commit: 6c220937e2b26d85920bf2d38ff2464a0d57fd6b\n-- \nAn old man doll... just what I always wanted! - Clara\n\n"},{"id":"441080","messageId":"211114.86czn3t676.gmgdl@evledraar.gmail.com","threadId":"56892","inReplyTo":"20211114073143.84004-1-bagasdotme@gmail.com","subject":"Re: [PATCH] fetch-pack: add TRANSLATORS notice for packfile ready messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2021-11-14T09:50:58Z","receivedAt":"2021-11-14T09:52:34Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Sun, Nov 14 2021, Bagas Sanjaya wrote:\n\n> Two messages mention \"... to be sent after 'ready'\". The 'ready' string,\n> however, is actually in part of packet stream, which shouldn't be\n> translated. Because of lack of any notices, l10n teams treat it as\n> ordinary string, which results to inconsistency across teams. That is,\n> in `po/es.po` the string is translated:\n>\n> ```\n> msgid \"expected packfile to be sent after 'ready'\"\n> msgstr \"se esperaba que el packfile fuera enviado luego del 'listo'\"\n>\n> msgid \"expected no other sections to be sent after no 'ready'\"\n> msgstr \"se esperaba que ninguna otra sección fuera enviada luego del 'listo'\"\n> ```\n>\n> whereas in `po/fr.po` and `po/de.po`, the string isn't translated:\n>\n> ```\n> msgid \"expected packfile to be sent after 'ready'\"\n> msgstr \"fichier paquet attendu à envoyer après 'ready'\"\n>\n> msgid \"expected no other sections to be sent after no 'ready'\"\n> msgstr \"aucune autre section attendue à envoyer après absence de 'ready'\"\n> ```\n>\n> ```\n> msgid \"expected packfile to be sent after 'ready'\"\n> msgstr \"Erwartete Versand einer Packdatei nach 'ready'.\"\n>\n> msgid \"expected no other sections to be sent after no 'ready'\"\n> msgstr \"Erwartete keinen Versand einer anderen Sektion ohne 'ready'.\"\n> ```\n>\n> To avoid confusions, add TRANSLATORS notice.\n\nLet's not and:\n\n> Signed-off-by: Bagas Sanjaya <bagasdotme@gmail.com>\n> ---\n>  fetch-pack.c | 4 ++++\n>  1 file changed, 4 insertions(+)\n>\n> diff --git a/fetch-pack.c b/fetch-pack.c\n> index a9604f35a3..0cda8fc518 100644\n> --- a/fetch-pack.c\n> +++ b/fetch-pack.c\n> @@ -1410,8 +1410,12 @@ static int process_ack(struct fetch_negotiator *negotiator,\n>  \t * otherwise.\n>  \t */\n>  \tif (*received_ready && reader->status != PACKET_READ_DELIM)\n> +\t\t/* TRANSLATORS: 'ready' string is in part of packet stream.\n> +\t\t   Leave it as is. */\n>  \t\tdie(_(\"expected packfile to be sent after 'ready'\"));\n>  \tif (!*received_ready && reader->status != PACKET_READ_FLUSH)\n> +\t\t/* TRANSLATORS: 'ready' string is in part of packet stream.\n> +\t\t   Leave it as is. */\n>\n>  \t\tdie(_(\"expected no other sections to be sent after no 'ready'\"));\n\nIf something isn't meant to be translated do this instead:\n\n    die(_(\"expected no other sections to be sent after no '%s\"), \"ready\");\n\nI.e. pass it as a parameter.\n\nThere can then be a \"TRANSLATORS\" comment that explains that it's the\nstring \"ready\", in reference to that protocol keyword. We do it that way\nin various other places, and it completely avoids the potential problem\nof a should not be translated string being translated.\n"},{"id":"441108","messageId":"2a4428a5-91d9-a0a5-39cd-eefa1c92024e@gmail.com","threadId":"56892","inReplyTo":"211114.86czn3t676.gmgdl@evledraar.gmail.com","subject":"Re: [PATCH] fetch-pack: add TRANSLATORS notice for packfile ready messages","fromName":"Bagas Sanjaya","fromEmail":"bagasdotme@gmail.com","sentAt":"2021-11-15T05:41:57Z","receivedAt":"2021-11-15T05:42:06Z","isPatch":true,"sender":{"key":"bagasdotme@gmail.com","avatar":"https://avatars.githubusercontent.com/u/40219486?v=4"},"body":"On 14/11/21 16.50, Ævar Arnfjörð Bjarmason wrote:\n> If something isn't meant to be translated do this instead:\n> \n>      die(_(\"expected no other sections to be sent after no '%s\"), \"ready\");\n> \n> I.e. pass it as a parameter.\n> \n> There can then be a \"TRANSLATORS\" comment that explains that it's the\n> string \"ready\", in reference to that protocol keyword. We do it that way\n> in various other places, and it completely avoids the potential problem\n> of a should not be translated string being translated.\n> \n\nSomething like:\n/* TRANSLATORS: The 'ready' string is the protocol keyword. Leave it\n    as is. */ ?\n\nBut I have admitted that I lean to your suggestion.\n\n-- \nAn old man doll... just what I always wanted! - Clara\n"},{"id":"441141","messageId":"211115.86ilwtsasb.gmgdl@evledraar.gmail.com","threadId":"56892","inReplyTo":"2a4428a5-91d9-a0a5-39cd-eefa1c92024e@gmail.com","subject":"Re: [PATCH] fetch-pack: add TRANSLATORS notice for packfile ready messages","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2021-11-15T15:21:41Z","receivedAt":"2021-11-15T15:23:56Z","isPatch":true,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Mon, Nov 15 2021, Bagas Sanjaya wrote:\n\n> On 14/11/21 16.50, Ævar Arnfjörð Bjarmason wrote:\n>> If something isn't meant to be translated do this instead:\n>>      die(_(\"expected no other sections to be sent after no '%s\"),\n>> \"ready\");\n>> I.e. pass it as a parameter.\n>> There can then be a \"TRANSLATORS\" comment that explains that it's\n>> the\n>> string \"ready\", in reference to that protocol keyword. We do it that way\n>> in various other places, and it completely avoids the potential problem\n>> of a should not be translated string being translated.\n>> \n>\n> Something like:\n> /* TRANSLATORS: The 'ready' string is the protocol keyword. Leave it\n>    as is. */ ?\n\nNo, e.g. \"TRANSLATORS: The parameter will be 'ready', a protocol\nkeyword\" or something.\n\nI.e. you don't need to instruct them to leave it as-is if there's no way\nthey can't leave it as-is, since it's being passed as a parameter.\n\n> But I have admitted that I lean to your suggestion.\n\nYes you could also embed it in the string, but why do that in this case?\nSeems like zero benefit, and potential translator confusion.\n"}]}