Hi Benno,
I see nothing wrong with theses translations apart from the fact that they use 
different words for the same source message, of course :-). But the meaning is 
the same.
Those packages have been translated by several translators over a couple 
decades or so (I'm not so sure about the history of recutils though). I'm the 
last translator but I don't change previous translations unless an error is 
reported. I assume users are used to the messages as they are. If they don't 
complain, I won't change the messages.
More importantly, I very rarely cross-check source messages with other 
packages, even among packages I translate. Vim has no translation memory at 
all to assist in that task.
And yes, "regular expression" has two accepted, or rather, disputed 
translations in French :-)
Regards,
Frederic
Le mercredi 11 décembre 2024, 9 h 07 min 09 s CET Benno Schulenberg a écrit :
> Hello translators of the French team at the TP,
> 
> Triggered by an upcoming release of the gnulib domain, I was curious
> whether messages from that domain were translated consistently across
> the various packages.  I picked two packages somewhat at random:
> coreutils and recutils.  At the TP I did the following:
> 
>    msgattrib --translated --no-obsolete latest/coreutils/fr.po >cor.po
>    msgattrib --translated --no-obsolete latest/recutils/fr.po >rec.po
>    msgcat --more-than=1 cor.po rec.po | less
> 
> The latter command shows only the messages for which the msgids in
> the two files are identical.
> 
> What follows are some selected differences that caught my eye.
> 
> 
> msgid "write error"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "erreur d'écriture\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "Erreur d'écriture"
> 
> (Please ignore the trailing \n on the first message -- that is
> an artefact of msgcat, to divide the concatenated messages.)
> 
> msgid "preserving permissions for %s"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "conservation des droits pour %s\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "préservation des permissions pour %s"
> 
> msgid "%s: option '%s%s' is ambiguous; possibilities:"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "%s : l'option « %s%s » est ambiguë, les possibilités sont :\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "%s: l'option « %s%s » est ambiguë; les possibilités sont:"
> 
> msgid "%s: unrecognized option '%s%s'\n"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "%s : option non reconnue « %s%s »\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "%s: option « %s%s » pas reconnue\n"
> 
> msgid "%s: invalid option -- '%c'\n"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "%s : option incorrecte — « %c »\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "%s: option invalide -- « %c »\n"
> 
> msgid "Success"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "Réussite\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "Succès"
> 
> msgid "Invalid regular expression"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "Expression rationnelle incorrecte\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "Expression régulière invalide"
> 
> This one amazed me the most.  Is there no standardized translation
> for "regular expression" in French?
> 
> msgid "Unmatched \\{"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "\\{ non apparié\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "\\{ sans correspondant"
> 
> msgid "Invalid range end"
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "Fin d'intervalle incorrecte\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "Fin de plage invalide"
> 
> There are many more differences, but the above ones exemplify
> the basic patterns.
> 
> Now I wonder: would it not be preferable that such identical msgids
> get translated in an identical way across various packages?
> 
> 
> Surprisingly, the last translator of the two files is the same:
> 
> msgid ""
> msgstr ""
> "#-#-#-#-#  cor.po (coreutils-9.5-pre2)  #-#-#-#-#\n"
> "PO-Revision-Date: 2024-03-27 15:24+0100\n"
> "Last-Translator: Frédéric Marchal <fmarchal(a)perso.be>\n"
> "#-#-#-#-#  rec.po (GNU recutils 1.8)  #-#-#-#-#\n"
> "PO-Revision-Date: 2019-01-06 17:05+0100\n"
> "Last-Translator: Frédéric Marchal <fmarchal(a)perso.be>\n"
> 
> 
> Regards,
> 
> Benno