Subject: A few French translation typos

From: Thomas Munro <[email-masked]>
Date: Tue, 10 May 2022 00:41:32 +1200

Hi,

I think I might have found a couple of small mistakes in src/backend/po/fr.po:

msgid "invalid hexadecimal data: odd number of digits"
msgstr "donnée hexadécimale invalide : nombre pair de chiffres"

-> s/pair/impair/

msgid "Expected array element or \"]\", but found \"%s\"."
msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %s »."

-> mais « %s » trouvé (several like this)

msgid "cannot inherit from temporary relation \"%s\""
msgstr "ine peut pas hériter à partir d'une relation temporaire « %s »"

s/ine /ne /

msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"."
msgstr "La constrainte « %s » contient une référence de ligne complète
vers la table « %s »."

s/constrainte/contrainte/ (two like this)

msgid "Alter statistics on table column instead."
msgstr "Modifie les statistiques sur la colonne de la table à la place."

s/Modifie /Modifiez /

msgid "Cast the output of the non-recursive term to the correct type."
msgstr "Convertit la sortie du terme non récursif dans le bon type."

s/Convertit /Convertissez / (or maybe "Transtypez "?)

msgid "Specify the argument list to select the procedure unambiguously."
msgstr "Définit la liste d'arguments pour sélectionner la procédure
sans ambiguïté."

s/Définit /Définissez / (or maybe "Fournissez "?  and two more like
this: l'agrégat, la routine)

msgid "search column \"%s\" not in WITH query column list"
msgstr "colonne de recherche « %s » non présent dans la liste des
colonnes de la requête WITH"

s/présent/présente/

msgid "row expansion via \"*\" is not supported here"
msgstr "l'expansion de ligne via « * » n'est pas supporté ici"

s/supporté/supportée/

msgid "column reference \"%s\" is ambiguous"
msgstr "la référence à la colonne « %s » est ambigu"

s/ambigu/ambiguë/ (two more like this: à la table)

msgid "there is no parameter $%d"
msgstr "Il n'y a pas de paramètre $%d"

s/Il/il/

msgid "NULLIF requires = operator to yield boolean"
msgstr "NULLIF requiert l'opérateur = pour comparer des booleéns"

s/booleéns/booléens/

msgid "set-returning functions are not allowed in %s"
msgstr "les fonctions renvoyant un ensemble ne sont pas autorisés dans %s"

s/autorisés/autorisées/

msgid "cannot refer to non-index column by number"
msgstr "impossible de référence une colonne non liée à une table par un nombre"

s/référence/référencer/

msgid "table \"%s\" is not partitioned"
msgstr "la table « %s » n'est pas partitionné"

s/partitionné/partitionnée/

msgid "a hash-partitioned table may not have a default partition"
msgstr "une table partitionnées par hash ne peut pas avoir de
partition par défaut"

s/partitionnées/partitionnée/

msgid "remainder for hash partition must be less than modulus"
msgstr "le modulus pour une partition par hash doit être inférieur au modulus"

s/le modulus /le reste / <- wrong word completely
s/au modulus /au modulo / <- wrong language (?)

(maybe s/par hash/par hachage/?)

Humble attempt to supply a couple of missing nearby translations:

msgid "The new modulus %d is not a factor of %d, the modulus of
existing partition \"%s\"."
msgstr ""

-> Le nouveau modulo %d n'est pas un facteur de %d, modulo de la
partition existante « %s ».

msgid "The new modulus %d is not divisible by %d, the modulus of
existing partition \"%s\"."
msgstr ""

-> Le nouveau modulo %d n'est pas divisible par %d, modulo de la
partition existante « %s ».

msgid "Terminate any old server processes associated with data
directory \"%s\"."
msgstr "Termine les anciens processus serveurs associés avec le
répertoire de données « %s »."

s/Termine /Terminez /

---

From: Vik Fearing <[email-masked]>
Date: Wed, 11 May 2022 12:21:50 +0200

> msgstr "donnée hexadécimale invalide : nombre pair de chiffres"

Good.

> -> mais « %s » trouvé (several like this)

Good.

> msgstr "ine peut pas hériter à partir d'une relation temporaire « %s »"

Obvious typo.

> s/constrainte/contrainte/ (two like this)

Good.

> msgstr "Modifie les statistiques sur la colonne de la table à la place."

For this and the others like it, I would use the infinitive form.
"Modifier les statistiques..."

> colonnes de la requête WITH"

Good.

> msgstr "l'expansion de ligne via « * » n'est pas supporté ici"

Good.

> s/ambigu/ambiguë/ (two more like this: à la table)

The correct spelling is ambigüe; otherwise good.

> msgstr "Il n'y a pas de paramètre $%d"

Good.

> msgstr "NULLIF requiert l'opérateur = pour comparer des booleéns"

Obvious typo.

> msgstr "les fonctions renvoyant un ensemble ne sont pas autorisés dans %s"

Good.

> msgstr "impossible de référence une colonne non liée à une table par un nombre"

Good.

> s/partitionné/partitionnée/

Good.

> s/partitionnées/partitionnée/

Good.

> (maybe s/par hash/par hachage/?)

These all look good to me.

> partition existante « %s ».

These both look good, but I would write instead "...par %d, le modulo de..."

> répertoire de données « %s »."

I would suggest "Terminer tout ancien processus serveur associé avec le 
répertoire de données « %s »."
-- 
Vik Fearing

---

From: Thomas Munro <[email-masked]>
Date: Thu, 12 May 2022 14:27:12 +1200

> "Modifier les statistiques..."

I see, I guess that reads a little more like a suggestion/hint (which
it is) than a direct order, a distinction we don't exactly have in
English.  (There seem to be other examples of imperatives, which is
probably why I suggested that, but also some infinitives.  *Shrug*)

https://leconjugueur.lefigaro.fr/ukemploi_imperatif_infinitif.php

> The correct spelling is ambigüe; otherwise good.

Aha, another spelling that changed.  (I will refrain from complaining
about inconsistency in adoption of French:1990!)

> > msgstr "NULLIF requiert l'opérateur = pour comparer des booleéns"

Oh, wait a minute, besides the typo, isn't it really something like
"... requiert que l'opérateur = retourne une valeur de type booléen"?

I think this other similar makes the same mistake:

msgid "IS DISTINCT FROM requires = operator to yield boolean"
msgstr "IS DISTINCT FROM requiert l'opérateur = pour comparer des booléens"

Thanks Vik.

---

From: Alvaro Herrera <[email-masked]>
Date: Thu, 12 May 2022 13:22:00 +0200

> msgstr "IS DISTINCT FROM requiert l'opérateur = pour comparer des booléens"

Yes:

#: parser/parse_expr.c:1044
#, c-format
msgid "NULLIF requires = operator to yield boolean"
msgstr "NULLIF requiere que el operador = retorne boolean"

#: parser/parse_expr.c:1044
#, c-format
msgid "NULLIF requires = operator to yield boolean"
msgstr "NULLIF requiere que el operador = retorne boolean"

-- 
Álvaro Herrera               48°01'N 7°57'E  —  https://www.EnterpriseDB.com/
"No tengo por qué estar de acuerdo con lo que pienso"
                             (Carlos Caszeli)

---

From: Guillaume Lelarge <[email-masked]>
Date: Sat, 14 May 2022 11:58:39 +0200

Hi,

Le jeu. 12 mai 2022 à 20:31, Alvaro Herrera <[email-masked]> a

> msgstr "NULLIF requiere que el operador = retorne boolean"
Sorry for the late reply. I've pushed all the fixes asked by Thomas for all
stable releases (and the dev one)... so 10 to 15.

Thanks a lot.

-- 
Guillaume.