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

Re: [PATCH] rebase: make warning less passive aggressive

From
Junio C Hamano <gitster@pobox.com>
Date
Feb 22, 2024, 01:43 UTC
Message-ID
<xmqqr0h5i89i.fsf@gitster.g>
In-Reply-To
<xmqq4je1mo5p.fsf@gitster.g>
Junio C Hamano <gitster@pobox.com> writes:
Show 26 quoted lines
> Jean-Noël AVILA <jn.avila@free.fr> writes:
>
>> As a translator, I'm less bothered by editing a sentence to remove a question 
>> mark (maybe enforcing a language style and reformulating the sentence by the 
>> way), than by translating again and again similar sentences.
>
> Sure, but if the original in C locale used to be "FOO BAR?" and you
> translated it to "foo bar?" in your language, and then a patch
> updates the string in the source to "FOO BAR", doesn't msgmerge
> notice that the original as a "fuzzy" matching and offer you
> something like
>
>     #, fuzzy
>     msgid "FOO BAR"
>     msgstr "foo bar?"
>
> so that all you have to do is to remove '?' anyway?  So I do not
> think you'd need to translate the "FOO BAR" part again and again.
>
> But the above assumes that for your language, the ONLY thing to turn
> such a rhetorical "passive aggressive" question into grammatically
> correct statement of a fact is to remove the question mark.  It may
> not be universally true for all languages, and for some language,
> even after msgmerge did its job correctly, you may need to do more
> than just removing the question mark to adjust the remaining "foo
> bar" part.
Hopefully the last message on this topic from me.  I just tried this:
 * apply v2 of "No rebase in progress?" -> "no rebase in progress"
   patch from Harmen.  This only changed _("") string, without
   touching any po/* files.
 * follow po/README.md and pretend as if I were a po/es.po team
   member, which involved running the command:
	$ make po-update PO_FILE=po/es.po
 * view the resulting po/es.po, which will be the starting point of
   a new translation.
        $ git diff po/es.po
The last one showed me this snippet:
    -msgid "No rebase in progress?"
    +#: builtin/rebase.c:1257
    +#, fuzzy
    +msgid "no rebase in progress"
     msgstr "¿No hay rebase en progreso?"

The "#, fuzzy" thing is a signal that an old msgid has been updated and corresponding msgstr may need to be updated.

The primary problem I had with Harmen's v1 was that it touched po/ file in the first place (which was corrected in v2), but the updates to po files it did looked like so:

    -msgid "No rebase in progress?"
    +msgid "No rebase in progress"
     msgstr "¿No hay rebase en progreso?"

Notice the lack of "#, fuzzy" marking? If v1 were accepted with these changes, then the "po-update" step I showed earlier would have produced something like this instead:

    +#: builtin/rebase.c:1257
     msgid "no rebase in progress"
     msgstr "¿No hay rebase en progreso?"

As msgid alone was updated already, the "po-update" step has no idea that the translated msgstr is out of date. We do not get the helpful "#, fuzzy" comment to tell the translator which msgstr is out of date and needs attention.

So it is another reason why we want the developers to concentrate only on writing good C-locale messages inside _("") and N_(""), without touching po/ directory at all. It would avoid making changes that can confuse toolchain l10n people rely on (like the presence of "fuzzy" comments).

Previous: Junio C HamanoNext: Jean-Noël AVILA
Message 9 of 18 in “rebase: make warning less passive aggressive”
  1. rebase: make warning less passive aggressiveHarmen Stoppels via GitGitGadget, Feb 20, 2024
  2. Junio C HamanoFeb 20, 2024
  3. Michal SuchánekFeb 21, 2024
  4. Junio C HamanoFeb 21, 2024
  5. Junio C HamanoFeb 21, 2024
  6. Michal SuchánekFeb 21, 2024
  7. Jean-Noël AVILAFeb 21, 2024
  8. Junio C HamanoFeb 21, 2024
  9. Junio C HamanoFeb 22, 2024
  10. Jean-Noël AVILAFeb 22, 2024
  11. Michal SuchánekFeb 22, 2024
  12. Junio C HamanoFeb 22, 2024
  13. Patrick SteinhardtFeb 21, 2024
  14. Junio C HamanoFeb 21, 2024
  15. rebase: make warning less passive aggressiveHarmen Stoppels via GitGitGadget, Feb 21, 2024
  16. Patrick SteinhardtFeb 22, 2024
  17. Kristoffer HaugsbakkFeb 22, 2024
  18. Junio C HamanoFeb 22, 2024

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.