Update french files on v17
authorGuillaume Lelarge <guillaume.lelarge@dalibo.com>
Fri, 23 Aug 2024 09:46:32 +0000 (11:46 +0200)
committerGuillaume Lelarge <guillaume.lelarge@dalibo.com>
Fri, 23 Aug 2024 09:46:32 +0000 (11:46 +0200)
fr/pg_verifybackup.po
fr/pg_waldump.po
fr/pgscripts.po
fr/plperl.po
fr/plpgsql.po

index da8c72f64271a43475ca2e731e32d0ab2a14f888..62586b39c60b2eab15dc65093b1ea552aec4f1a0 100644 (file)
@@ -8,9 +8,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 15\n"
+"Project-Id-Version: PostgreSQL 17\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-07-29 09:17+0000\n"
+"POT-Creation-Date: 2024-08-22 10:18+0000\n"
 "PO-Revision-Date: 2023-09-05 07:49+0200\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
@@ -41,6 +41,81 @@ msgstr "détail : "
 msgid "hint: "
 msgstr "astuce :  "
 
+#: ../../common/controldata_utils.c:97
+#, c-format
+msgid "could not open file \"%s\" for reading: %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m"
+
+#: ../../common/controldata_utils.c:110 pg_verifybackup.c:438
+#: pg_verifybackup.c:476 pg_verifybackup.c:896
+#, c-format
+msgid "could not read file \"%s\": %m"
+msgstr "n'a pas pu lire le fichier « %s » : %m"
+
+#: ../../common/controldata_utils.c:119
+#, c-format
+msgid "could not read file \"%s\": read %d of %zu"
+msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu"
+
+#: ../../common/controldata_utils.c:132 ../../common/controldata_utils.c:280
+#: pg_verifybackup.c:902
+#, c-format
+msgid "could not close file \"%s\": %m"
+msgstr "n'a pas pu fermer le fichier « %s » : %m"
+
+#: ../../common/controldata_utils.c:168
+msgid "byte ordering mismatch"
+msgstr "différence de l'ordre des octets"
+
+#: ../../common/controldata_utils.c:170
+#, c-format
+msgid ""
+"possible byte ordering mismatch\n"
+"The byte ordering used to store the pg_control file might not match the one\n"
+"used by this program.  In that case the results below would be incorrect, and\n"
+"the PostgreSQL installation would be incompatible with this data directory."
+msgstr ""
+"possible incohérence dans l'ordre des octets\n"
+"L'ordre des octets utilisé pour enregistrer le fichier pg_control peut ne\n"
+"pas correspondre à celui utilisé par ce programme. Dans ce cas, les\n"
+"résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n"
+"est incompatible avec ce répertoire des données."
+
+#: ../../common/controldata_utils.c:230 pg_verifybackup.c:406
+#: pg_verifybackup.c:865
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
+
+#: ../../common/controldata_utils.c:249
+#, c-format
+msgid "could not write file \"%s\": %m"
+msgstr "impossible d'écrire le fichier « %s » : %m"
+
+#: ../../common/controldata_utils.c:268
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
+
+#: ../../common/cryptohash.c:261 ../../common/cryptohash_openssl.c:356
+#: ../../common/parse_manifest.c:157 ../../common/parse_manifest.c:853
+#, c-format
+msgid "out of memory"
+msgstr "mémoire épuisée"
+
+#: ../../common/cryptohash.c:266 ../../common/cryptohash.c:272
+#: ../../common/cryptohash_openssl.c:368 ../../common/cryptohash_openssl.c:376
+msgid "success"
+msgstr "succès"
+
+#: ../../common/cryptohash.c:268 ../../common/cryptohash_openssl.c:370
+msgid "destination buffer too small"
+msgstr "tampon de destination trop petit"
+
+#: ../../common/cryptohash_openssl.c:372
+msgid "OpenSSL failure"
+msgstr "échec OpenSSL"
+
 #: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
 #: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
 #, c-format
@@ -52,391 +127,424 @@ msgstr "mémoire épuisée\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n"
 
-#: ../../common/jsonapi.c:1144
-#, c-format
-msgid "Escape sequence \"\\%s\" is invalid."
+#: ../../common/jsonapi.c:2121
+msgid "Recursive descent parser cannot use incremental lexer."
+msgstr ""
+
+#: ../../common/jsonapi.c:2123
+msgid "Incremental parser requires incremental lexer."
+msgstr ""
+
+#: ../../common/jsonapi.c:2125
+msgid "JSON nested too deep, maximum permitted depth is 6400."
+msgstr ""
+
+#: ../../common/jsonapi.c:2127
+#, fuzzy, c-format
+#| msgid "Escape sequence \"\\%s\" is invalid."
+msgid "Escape sequence \"\\%.*s\" is invalid."
 msgstr "La séquence d'échappement « \\%s » est invalide."
 
-#: ../../common/jsonapi.c:1147
+#: ../../common/jsonapi.c:2131
 #, c-format
 msgid "Character with value 0x%02x must be escaped."
 msgstr "Le caractère de valeur 0x%02x doit être échappé."
 
-#: ../../common/jsonapi.c:1150
-#, c-format
-msgid "Expected end of input, but found \"%s\"."
+#: ../../common/jsonapi.c:2135
+#, fuzzy, c-format
+#| msgid "Expected end of input, but found \"%s\"."
+msgid "Expected end of input, but found \"%.*s\"."
 msgstr "Attendait une fin de l'entrée, mais a trouvé « %s »."
 
-#: ../../common/jsonapi.c:1153
-#, c-format
-msgid "Expected array element or \"]\", but found \"%s\"."
+#: ../../common/jsonapi.c:2138
+#, fuzzy, c-format
+#| msgid "Expected array element or \"]\", but found \"%s\"."
+msgid "Expected array element or \"]\", but found \"%.*s\"."
 msgstr "Élément de tableau ou « ] » attendu, mais trouvé « %s »."
 
-#: ../../common/jsonapi.c:1156
-#, c-format
-msgid "Expected \",\" or \"]\", but found \"%s\"."
+#: ../../common/jsonapi.c:2141
+#, fuzzy, c-format
+#| msgid "Expected \",\" or \"]\", but found \"%s\"."
+msgid "Expected \",\" or \"]\", but found \"%.*s\"."
 msgstr "« , » ou « ] » attendu, mais trouvé « %s »."
 
-#: ../../common/jsonapi.c:1159
-#, c-format
-msgid "Expected \":\", but found \"%s\"."
+#: ../../common/jsonapi.c:2144
+#, fuzzy, c-format
+#| msgid "Expected \":\", but found \"%s\"."
+msgid "Expected \":\", but found \"%.*s\"."
 msgstr "« : » attendu, mais trouvé « %s »."
 
-#: ../../common/jsonapi.c:1162
-#, c-format
-msgid "Expected JSON value, but found \"%s\"."
+#: ../../common/jsonapi.c:2147
+#, fuzzy, c-format
+#| msgid "Expected JSON value, but found \"%s\"."
+msgid "Expected JSON value, but found \"%.*s\"."
 msgstr "Valeur JSON attendue, mais « %s » trouvé."
 
-#: ../../common/jsonapi.c:1165
+#: ../../common/jsonapi.c:2150
 msgid "The input string ended unexpectedly."
 msgstr "La chaîne en entrée se ferme de manière inattendue."
 
-#: ../../common/jsonapi.c:1167
-#, c-format
-msgid "Expected string or \"}\", but found \"%s\"."
+#: ../../common/jsonapi.c:2152
+#, fuzzy, c-format
+#| msgid "Expected string or \"}\", but found \"%s\"."
+msgid "Expected string or \"}\", but found \"%.*s\"."
 msgstr "Chaîne ou « } » attendu, mais « %s » trouvé."
 
-#: ../../common/jsonapi.c:1170
-#, c-format
-msgid "Expected \",\" or \"}\", but found \"%s\"."
+#: ../../common/jsonapi.c:2155
+#, fuzzy, c-format
+#| msgid "Expected \",\" or \"}\", but found \"%s\"."
+msgid "Expected \",\" or \"}\", but found \"%.*s\"."
 msgstr "« , » ou « } » attendu, mais trouvé « %s »."
 
-#: ../../common/jsonapi.c:1173
-#, c-format
-msgid "Expected string, but found \"%s\"."
+#: ../../common/jsonapi.c:2158
+#, fuzzy, c-format
+#| msgid "Expected string, but found \"%s\"."
+msgid "Expected string, but found \"%.*s\"."
 msgstr "Chaîne attendue, mais « %s » trouvé."
 
-#: ../../common/jsonapi.c:1176
-#, c-format
-msgid "Token \"%s\" is invalid."
+#: ../../common/jsonapi.c:2161
+#, fuzzy, c-format
+#| msgid "Token \"%s\" is invalid."
+msgid "Token \"%.*s\" is invalid."
 msgstr "Le jeton « %s » n'est pas valide."
 
-#: ../../common/jsonapi.c:1179
+#: ../../common/jsonapi.c:2164
 msgid "\\u0000 cannot be converted to text."
 msgstr "\\u0000 ne peut pas être converti en texte."
 
-#: ../../common/jsonapi.c:1181
+#: ../../common/jsonapi.c:2166
 msgid "\"\\u\" must be followed by four hexadecimal digits."
 msgstr "« \\u » doit être suivi par quatre chiffres hexadécimaux."
 
-#: ../../common/jsonapi.c:1184
+#: ../../common/jsonapi.c:2169
 msgid "Unicode escape values cannot be used for code point values above 007F when the encoding is not UTF8."
 msgstr "Les valeurs d'échappement Unicode ne peuvent pas être utilisées pour des valeurs de point code au-dessus de 007F quand l'encodage n'est pas UTF8."
 
-#: ../../common/jsonapi.c:1187
+#: ../../common/jsonapi.c:2178
 #, c-format
 msgid "Unicode escape value could not be translated to the server's encoding %s."
 msgstr "La valeur d'échappement unicode ne peut pas être traduite dans l'encodage du serveur %s."
 
-#: ../../common/jsonapi.c:1190
+#: ../../common/jsonapi.c:2185
 msgid "Unicode high surrogate must not follow a high surrogate."
 msgstr "Une substitution unicode haute ne doit pas suivre une substitution haute."
 
-#: ../../common/jsonapi.c:1192
+#: ../../common/jsonapi.c:2187
 msgid "Unicode low surrogate must follow a high surrogate."
 msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute."
 
-#: parse_manifest.c:150
-msgid "parsing failed"
-msgstr "échec de l'analyse"
+#: ../../common/parse_manifest.c:159 ../../common/parse_manifest.c:855
+#, c-format
+msgid "could not initialize checksum of manifest"
+msgstr "n'a pas pu initialiser la somme de contrôle du manifeste"
 
-#: parse_manifest.c:152
+#: ../../common/parse_manifest.c:204 ../../common/parse_manifest.c:261
 msgid "manifest ended unexpectedly"
 msgstr "le manifeste se termine de façon inattendue"
 
-#: parse_manifest.c:191
+#: ../../common/parse_manifest.c:210 ../../common/parse_manifest.c:862
+#, c-format
+msgid "could not update checksum of manifest"
+msgstr "n'a pas pu mettre à jour la somme de contrôle du manifeste"
+
+#: ../../common/parse_manifest.c:302
 msgid "unexpected object start"
 msgstr "début d'objet inattendu"
 
-#: parse_manifest.c:226
+#: ../../common/parse_manifest.c:337
 msgid "unexpected object end"
 msgstr "fin d'objet inattendue"
 
-#: parse_manifest.c:255
+#: ../../common/parse_manifest.c:366
 msgid "unexpected array start"
 msgstr "début de tableau inattendu"
 
-#: parse_manifest.c:280
+#: ../../common/parse_manifest.c:391
 msgid "unexpected array end"
 msgstr "fin de tableau inattendue"
 
-#: parse_manifest.c:307
+#: ../../common/parse_manifest.c:418
 msgid "expected version indicator"
 msgstr "indicateur de version inattendu"
 
-#: parse_manifest.c:336
+#: ../../common/parse_manifest.c:454
 msgid "unrecognized top-level field"
 msgstr "champ haut niveau inconnu"
 
-#: parse_manifest.c:355
+#: ../../common/parse_manifest.c:473
 msgid "unexpected file field"
 msgstr "champ de fichier inattendu"
 
-#: parse_manifest.c:369
+#: ../../common/parse_manifest.c:487
 msgid "unexpected WAL range field"
 msgstr "champ d'intervalle de WAL inattendu"
 
-#: parse_manifest.c:375
+#: ../../common/parse_manifest.c:493
 msgid "unexpected object field"
 msgstr "champ d'objet inattendu"
 
-#: parse_manifest.c:407
+#: ../../common/parse_manifest.c:583
+msgid "unexpected scalar"
+msgstr "scalaire inattendu"
+
+#: ../../common/parse_manifest.c:609
+#, fuzzy
+#| msgid "timeline is not an integer"
+msgid "manifest version not an integer"
+msgstr "la timeline n'est pas un entier"
+
+#: ../../common/parse_manifest.c:613
 msgid "unexpected manifest version"
 msgstr "version du manifeste inattendue"
 
-#: parse_manifest.c:458
-msgid "unexpected scalar"
-msgstr "scalaire inattendu"
+#: ../../common/parse_manifest.c:637
+#, fuzzy
+#| msgid "file size is not an integer"
+msgid "manifest system identifier not an integer"
+msgstr "la taille du fichier n'est pas un entier"
 
-#: parse_manifest.c:484
+#: ../../common/parse_manifest.c:662
 msgid "missing path name"
 msgstr "nom de chemin manquant"
 
-#: parse_manifest.c:487
+#: ../../common/parse_manifest.c:665
 msgid "both path name and encoded path name"
 msgstr "le nom du chemin et le nom du chemin encodé"
 
-#: parse_manifest.c:489
+#: ../../common/parse_manifest.c:667
 msgid "missing size"
 msgstr "taille manquante"
 
-#: parse_manifest.c:492
+#: ../../common/parse_manifest.c:670
 msgid "checksum without algorithm"
 msgstr "somme de contrôle sans algorithme"
 
-#: parse_manifest.c:506
+#: ../../common/parse_manifest.c:684
 msgid "could not decode file name"
 msgstr "n'a pas pu décoder le nom du fichier"
 
-#: parse_manifest.c:516
+#: ../../common/parse_manifest.c:694
 msgid "file size is not an integer"
 msgstr "la taille du fichier n'est pas un entier"
 
-#: parse_manifest.c:522
+#: ../../common/parse_manifest.c:700
 #, c-format
 msgid "unrecognized checksum algorithm: \"%s\""
 msgstr "algorithme de somme de contrôle inconnu : « %s »"
 
-#: parse_manifest.c:541
+#: ../../common/parse_manifest.c:719
 #, c-format
 msgid "invalid checksum for file \"%s\": \"%s\""
 msgstr "somme de contrôle invalide pour le fichier « %s » : « %s »"
 
-#: parse_manifest.c:584
+#: ../../common/parse_manifest.c:762
 msgid "missing timeline"
 msgstr "timeline manquante"
 
-#: parse_manifest.c:586
+#: ../../common/parse_manifest.c:764
 msgid "missing start LSN"
 msgstr "LSN de début manquante"
 
-#: parse_manifest.c:588
+#: ../../common/parse_manifest.c:766
 msgid "missing end LSN"
 msgstr "LSN de fin manquante"
 
-#: parse_manifest.c:594
+#: ../../common/parse_manifest.c:772
 msgid "timeline is not an integer"
 msgstr "la timeline n'est pas un entier"
 
-#: parse_manifest.c:597
+#: ../../common/parse_manifest.c:775
 msgid "could not parse start LSN"
 msgstr "n'a pas pu analyser le LSN de début"
 
-#: parse_manifest.c:600
+#: ../../common/parse_manifest.c:778
 msgid "could not parse end LSN"
 msgstr "n'a pas pu analyser le LSN de fin"
 
-#: parse_manifest.c:661
+#: ../../common/parse_manifest.c:843
 msgid "expected at least 2 lines"
 msgstr "attendait au moins deux lignes"
 
-#: parse_manifest.c:664
+#: ../../common/parse_manifest.c:846
 msgid "last line not newline-terminated"
 msgstr "dernière ligne non terminée avec un caractère newline"
 
-#: parse_manifest.c:669
-#, c-format
-msgid "out of memory"
-msgstr "mémoire épuisée"
-
-#: parse_manifest.c:671
-#, c-format
-msgid "could not initialize checksum of manifest"
-msgstr "n'a pas pu initialiser la somme de contrôle du manifeste"
-
-#: parse_manifest.c:673
-#, c-format
-msgid "could not update checksum of manifest"
-msgstr "n'a pas pu mettre à jour la somme de contrôle du manifeste"
-
-#: parse_manifest.c:676
+#: ../../common/parse_manifest.c:865
 #, c-format
 msgid "could not finalize checksum of manifest"
 msgstr "n'a pas pu finaliser la somme de contrôle du manifeste"
 
-#: parse_manifest.c:680
+#: ../../common/parse_manifest.c:869
 #, c-format
 msgid "manifest has no checksum"
 msgstr "le manifeste n'a pas de somme de contrôle"
 
-#: parse_manifest.c:684
+#: ../../common/parse_manifest.c:873
 #, c-format
 msgid "invalid manifest checksum: \"%s\""
 msgstr "somme de contrôle du manifeste invalide : « %s »"
 
-#: parse_manifest.c:688
+#: ../../common/parse_manifest.c:877
 #, c-format
 msgid "manifest checksum mismatch"
 msgstr "différence de somme de contrôle pour le manifeste"
 
-#: parse_manifest.c:703
+#: ../../common/parse_manifest.c:892
 #, c-format
 msgid "could not parse backup manifest: %s"
 msgstr "n'a pas pu analyser le manifeste de sauvegarde : %s"
 
-#: pg_verifybackup.c:273 pg_verifybackup.c:282 pg_verifybackup.c:293
+#: pg_verifybackup.c:277 pg_verifybackup.c:286 pg_verifybackup.c:297
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Essayez « %s --help » pour plus d'informations."
 
-#: pg_verifybackup.c:281
+#: pg_verifybackup.c:285
 #, c-format
 msgid "no backup directory specified"
 msgstr "pas de répertoire de sauvegarde spécifié"
 
-#: pg_verifybackup.c:291
+#: pg_verifybackup.c:295
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)"
 
-#: pg_verifybackup.c:299
+#: pg_verifybackup.c:303
 #, c-format
 msgid "cannot specify both %s and %s"
 msgstr "ne peut pas spécifier à la fois %s et %s"
 
-#: pg_verifybackup.c:319
+#: pg_verifybackup.c:323
 #, c-format
 msgid "program \"%s\" is needed by %s but was not found in the same directory as \"%s\""
 msgstr "le programme « %s » est nécessaire pour %s, mais n'a pas été trouvé dans le même répertoire que « %s »"
 
-#: pg_verifybackup.c:322
+#: pg_verifybackup.c:326
 #, c-format
 msgid "program \"%s\" was found by \"%s\" but was not the same version as %s"
 msgstr "le programme « %s » a été trouvé par « %s » mais n'est pas de la même version que %s"
 
-#: pg_verifybackup.c:378
+#: pg_verifybackup.c:381
 #, c-format
 msgid "backup successfully verified\n"
 msgstr "sauvegarde vérifiée avec succès\n"
 
-#: pg_verifybackup.c:404 pg_verifybackup.c:748
-#, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
-
-#: pg_verifybackup.c:408
+#: pg_verifybackup.c:410
 #, c-format
 msgid "could not stat file \"%s\": %m"
 msgstr "n'a pas pu tester le fichier « %s » : %m"
 
-#: pg_verifybackup.c:428 pg_verifybackup.c:779
-#, c-format
-msgid "could not read file \"%s\": %m"
-msgstr "n'a pas pu lire le fichier « %s » : %m"
-
-#: pg_verifybackup.c:431
+#: pg_verifybackup.c:440
 #, c-format
 msgid "could not read file \"%s\": read %d of %lld"
 msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %lld"
 
-#: pg_verifybackup.c:491
+#: pg_verifybackup.c:478
+#, fuzzy, c-format
+#| msgid "could not read file \"%s\": read %d of %lld"
+msgid "could not read file \"%s\": read %lld of %lld"
+msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %lld"
+
+#: pg_verifybackup.c:561
 #, c-format
 msgid "duplicate path name in backup manifest: \"%s\""
 msgstr "nom de chemin dupliqué dans le manifeste de sauvegarde : « %s »"
 
-#: pg_verifybackup.c:554 pg_verifybackup.c:561
+#: pg_verifybackup.c:624 pg_verifybackup.c:631
 #, c-format
 msgid "could not open directory \"%s\": %m"
 msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
 
-#: pg_verifybackup.c:593
+#: pg_verifybackup.c:663
 #, c-format
 msgid "could not close directory \"%s\": %m"
 msgstr "n'a pas pu fermer le répertoire « %s » : %m"
 
-#: pg_verifybackup.c:613
+#: pg_verifybackup.c:683
 #, c-format
 msgid "could not stat file or directory \"%s\": %m"
 msgstr ""
 "n'a pas pu récupérer les informations sur le fichier ou répertoire\n"
 "« %s » : %m"
 
-#: pg_verifybackup.c:636
+#: pg_verifybackup.c:706
 #, c-format
 msgid "\"%s\" is not a file or directory"
 msgstr "« %s » n'est ni un fichier ni un répertoire"
 
-#: pg_verifybackup.c:646
+#: pg_verifybackup.c:716
 #, c-format
 msgid "\"%s\" is present on disk but not in the manifest"
 msgstr "« %s » est présent sur disque mais pas dans le manifeste"
 
-#: pg_verifybackup.c:658
+#: pg_verifybackup.c:728
 #, c-format
 msgid "\"%s\" has size %lld on disk but size %zu in the manifest"
 msgstr "« %s » a une taille de %lld sur disque mais de %zu dans le manifeste"
 
-#: pg_verifybackup.c:689
+#: pg_verifybackup.c:768
+#, fuzzy, c-format
+#| msgid "pg_control CRC value is incorrect"
+msgid "%s: CRC is incorrect"
+msgstr "la valeur CRC de pg_control n'est pas correcte"
+
+#: pg_verifybackup.c:772
+#, fuzzy, c-format
+#| msgid "unexpected control file CRC"
+msgid "%s: unexpected control file version"
+msgstr "CRC inattendu pour le fichier de contrôle"
+
+#: pg_verifybackup.c:777
+#, c-format
+msgid "%s: manifest system identifier is %llu, but control file has %llu"
+msgstr ""
+
+#: pg_verifybackup.c:801
 #, c-format
 msgid "\"%s\" is present in the manifest but not on disk"
 msgstr "« %s » est présent dans le manifeste mais pas sur disque"
 
-#: pg_verifybackup.c:756
+#: pg_verifybackup.c:873
 #, c-format
 msgid "could not initialize checksum of file \"%s\""
 msgstr "n'a pas pu initialiser la somme de contrôle du fichier « %s »"
 
-#: pg_verifybackup.c:768
+#: pg_verifybackup.c:885
 #, c-format
 msgid "could not update checksum of file \"%s\""
 msgstr "n'a pas pu mettre à jour la somme de contrôle du fichier « %s »"
 
-#: pg_verifybackup.c:785
-#, c-format
-msgid "could not close file \"%s\": %m"
-msgstr "n'a pas pu fermer le fichier « %s » : %m"
-
-#: pg_verifybackup.c:804
+#: pg_verifybackup.c:921
 #, c-format
 msgid "file \"%s\" should contain %zu bytes, but read %zu bytes"
 msgstr "le fichier « %s » devrait contenir %zu octets, mais la lecture produit %zu octets"
 
-#: pg_verifybackup.c:814
+#: pg_verifybackup.c:931
 #, c-format
 msgid "could not finalize checksum of file \"%s\""
 msgstr "n'a pas pu finaliser la somme de contrôle du fichier « %s »"
 
-#: pg_verifybackup.c:822
+#: pg_verifybackup.c:939
 #, c-format
 msgid "file \"%s\" has checksum of length %d, but expected %d"
 msgstr "le fichier « %s » a une somme de contrôle de taille %d, alors que %d était attendu"
 
-#: pg_verifybackup.c:826
+#: pg_verifybackup.c:943
 #, c-format
 msgid "checksum mismatch for file \"%s\""
 msgstr "différence de somme de contrôle pour le fichier « %s »"
 
-#: pg_verifybackup.c:851
+#: pg_verifybackup.c:969
 #, c-format
 msgid "WAL parsing failed for timeline %u"
 msgstr "analyse du WAL échouée pour la timeline %u"
 
-#: pg_verifybackup.c:965
+#: pg_verifybackup.c:1072
 #, c-format
 msgid "%*s/%s kB (%d%%) verified"
 msgstr "%*s/%s Ko (%d%%) vérifiés"
 
-#: pg_verifybackup.c:982
+#: pg_verifybackup.c:1089
 #, c-format
 msgid ""
 "%s verifies a backup against the backup manifest.\n"
@@ -445,7 +553,7 @@ msgstr ""
 "%s vérifie une sauvegarde à partir du manifeste de sauvegarde.\n"
 "\n"
 
-#: pg_verifybackup.c:983
+#: pg_verifybackup.c:1090
 #, c-format
 msgid ""
 "Usage:\n"
@@ -456,62 +564,62 @@ msgstr ""
 "  %s [OPTION]... REP_SAUVEGARDE\n"
 "\n"
 
-#: pg_verifybackup.c:984
+#: pg_verifybackup.c:1091
 #, c-format
 msgid "Options:\n"
 msgstr "Options :\n"
 
-#: pg_verifybackup.c:985
+#: pg_verifybackup.c:1092
 #, c-format
 msgid "  -e, --exit-on-error         exit immediately on error\n"
 msgstr "  -e, --exit-on-error         quitte immédiatement en cas d'erreur\n"
 
-#: pg_verifybackup.c:986
+#: pg_verifybackup.c:1093
 #, c-format
 msgid "  -i, --ignore=RELATIVE_PATH  ignore indicated path\n"
 msgstr "  -i, --ignore=CHEMIN_RELATIF ignore le chemin indiqué\n"
 
-#: pg_verifybackup.c:987
+#: pg_verifybackup.c:1094
 #, c-format
 msgid "  -m, --manifest-path=PATH    use specified path for manifest\n"
 msgstr "  -m, --manifest-path=CHEMIN  utilise le chemin spécifié pour le manifeste\n"
 
-#: pg_verifybackup.c:988
+#: pg_verifybackup.c:1095
 #, c-format
 msgid "  -n, --no-parse-wal          do not try to parse WAL files\n"
 msgstr "  -n, --no-parse-wal          n'essaie pas d'analyse les fichiers WAL\n"
 
-#: pg_verifybackup.c:989
+#: pg_verifybackup.c:1096
 #, c-format
 msgid "  -P, --progress              show progress information\n"
 msgstr "  -P, --progress              affiche les informations de progression\n"
 
-#: pg_verifybackup.c:990
+#: pg_verifybackup.c:1097
 #, c-format
 msgid "  -q, --quiet                 do not print any output, except for errors\n"
 msgstr "  -q, --quiet                 n'affiche aucun message sauf pour les erreurs\n"
 
-#: pg_verifybackup.c:991
+#: pg_verifybackup.c:1098
 #, c-format
 msgid "  -s, --skip-checksums        skip checksum verification\n"
 msgstr "  -s, --skip-checksums        ignore la vérification des sommes de contrôle\n"
 
-#: pg_verifybackup.c:992
+#: pg_verifybackup.c:1099
 #, c-format
 msgid "  -w, --wal-directory=PATH    use specified path for WAL files\n"
 msgstr "  -w, --wal-directory=CHEMIN  utilise le chemin spécifié pour les fichiers WAL\n"
 
-#: pg_verifybackup.c:993
+#: pg_verifybackup.c:1100
 #, c-format
 msgid "  -V, --version               output version information, then exit\n"
 msgstr "  -V, --version               affiche la version, puis quitte\n"
 
-#: pg_verifybackup.c:994
+#: pg_verifybackup.c:1101
 #, c-format
 msgid "  -?, --help                  show this help, then exit\n"
 msgstr "  -?, --help                  affiche cette aide, puis quitte\n"
 
-#: pg_verifybackup.c:995
+#: pg_verifybackup.c:1102
 #, c-format
 msgid ""
 "\n"
@@ -520,7 +628,7 @@ msgstr ""
 "\n"
 "Rapporter les bogues à <%s>.\n"
 
-#: pg_verifybackup.c:996
+#: pg_verifybackup.c:1103
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Page d'accueil de %s : <%s>\n"
@@ -529,9 +637,9 @@ msgstr "Page d'accueil de %s : <%s>\n"
 #~ msgid "Try \"%s --help\" for more information.\n"
 #~ msgstr "Essayez « %s --help » pour plus d'informations.\n"
 
-#~ msgid "could not read file \"%s\": read %d of %zu"
-#~ msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu"
-
 #, c-format
 #~ msgid "fatal: "
 #~ msgstr "fatal : "
+
+#~ msgid "parsing failed"
+#~ msgstr "échec de l'analyse"
index b5cb1c6a017c08832a24c2e05cdf2892b33f4f9c..225e85ccbb1e142548bfbed87c9618e992dd0b01 100644 (file)
@@ -8,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 15\n"
+"Project-Id-Version: PostgreSQL 17\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-07-29 09:18+0000\n"
-"PO-Revision-Date: 2023-09-05 07:50+0200\n"
+"POT-Creation-Date: 2024-08-22 10:19+0000\n"
+"PO-Revision-Date: 2024-08-23 11:44+0200\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
 "Language: fr\n"
@@ -19,7 +19,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 3.3.2\n"
+"X-Generator: Poedit 3.4.4\n"
 
 #: ../../../src/common/logging.c:276
 #, c-format
@@ -41,6 +41,60 @@ msgstr "détail : "
 msgid "hint: "
 msgstr "astuce : "
 
+#: ../../common/fe_memutils.c:35 ../../common/fe_memutils.c:75
+#: ../../common/fe_memutils.c:98 ../../common/fe_memutils.c:161
+#, c-format
+msgid "out of memory\n"
+msgstr "mémoire épuisée\n"
+
+#: ../../common/fe_memutils.c:92 ../../common/fe_memutils.c:153
+#, c-format
+msgid "cannot duplicate null pointer (internal error)\n"
+msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n"
+
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480 pg_waldump.c:199
+#: pg_waldump.c:532
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "n'a pas pu tester le fichier « %s » : %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#: pg_waldump.c:1104 pg_waldump.c:1127
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "n'a pas pu lire le répertoire « %s » : %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m"
+
 #: pg_waldump.c:137
 #, c-format
 msgid "could not create directory \"%s\": %m"
@@ -56,74 +110,74 @@ msgstr "le répertoire « %s » existe mais n'est pas vide"
 msgid "could not access directory \"%s\": %m"
 msgstr "n'a pas pu accéder au répertoire « %s » : %m"
 
-#: pg_waldump.c:199 pg_waldump.c:528
+#: pg_waldump.c:256
 #, c-format
-msgid "could not open file \"%s\": %m"
-msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
+msgid "invalid WAL segment size in WAL file \"%s\" (%d byte)"
+msgid_plural "invalid WAL segment size in WAL file \"%s\" (%d bytes)"
+msgstr[0] "taille invalide du segment WAL dans le fichier WAL « %s » (%d octet)"
+msgstr[1] "taille invalide du segment WAL dans le fichier WAL « %s » (%d octets)"
 
-#: pg_waldump.c:255
+#: pg_waldump.c:260
 #, c-format
-msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
-msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
-msgstr[0] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octet"
-msgstr[1] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octets"
+msgid "The WAL segment size must be a power of two between 1 MB and 1 GB."
+msgstr "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go."
 
-#: pg_waldump.c:261
+#: pg_waldump.c:265
 #, c-format
 msgid "could not read file \"%s\": %m"
 msgstr "n'a pas pu lire le fichier « %s » : %m"
 
-#: pg_waldump.c:264
+#: pg_waldump.c:268
 #, c-format
 msgid "could not read file \"%s\": read %d of %d"
 msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %d"
 
-#: pg_waldump.c:325
+#: pg_waldump.c:329
 #, c-format
 msgid "could not locate WAL file \"%s\""
 msgstr "n'a pas pu trouver le fichier WAL « %s »"
 
-#: pg_waldump.c:327
+#: pg_waldump.c:331
 #, c-format
 msgid "could not find any WAL file"
 msgstr "n'a pas pu trouver un seul fichier WAL"
 
-#: pg_waldump.c:368
+#: pg_waldump.c:372
 #, c-format
 msgid "could not find file \"%s\": %m"
 msgstr "n'a pas pu trouver le fichier « %s » : %m"
 
-#: pg_waldump.c:417
+#: pg_waldump.c:421
 #, c-format
-msgid "could not read from file %s, offset %d: %m"
-msgstr "n'a pas pu lire à partir du fichier %s, décalage %d : %m"
+msgid "could not read from file \"%s\", offset %d: %m"
+msgstr "n'a pas pu lire à partir du fichier « %s », décalage %d : %m"
 
-#: pg_waldump.c:421
+#: pg_waldump.c:425
 #, c-format
-msgid "could not read from file %s, offset %d: read %d of %d"
-msgstr "n'a pas pu lire à partir du fichier %s, décalage %d : %d lu sur %d"
+msgid "could not read from file \"%s\", offset %d: read %d of %d"
+msgstr "n'a pas pu lire à partir du fichier « %s », décalage %d : %d lu sur %d"
 
-#: pg_waldump.c:511
+#: pg_waldump.c:515
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pg_waldump.c:519
+#: pg_waldump.c:523
 #, c-format
 msgid "invalid fork number: %u"
 msgstr "numéro du fork invalide : %u"
 
-#: pg_waldump.c:531
+#: pg_waldump.c:535
 #, c-format
 msgid "could not write file \"%s\": %m"
 msgstr "impossible d'écrire le fichier « %s » : %m"
 
-#: pg_waldump.c:534
+#: pg_waldump.c:538
 #, c-format
 msgid "could not close file \"%s\": %m"
 msgstr "n'a pas pu fermer le fichier « %s » : %m"
 
-#: pg_waldump.c:754
+#: pg_waldump.c:758
 #, c-format
 msgid ""
 "%s decodes and displays PostgreSQL write-ahead logs for debugging.\n"
@@ -133,17 +187,17 @@ msgstr ""
 "débogage.\n"
 "\n"
 
-#: pg_waldump.c:756
+#: pg_waldump.c:760
 #, c-format
 msgid "Usage:\n"
 msgstr "Usage :\n"
 
-#: pg_waldump.c:757
+#: pg_waldump.c:761
 #, c-format
 msgid "  %s [OPTION]... [STARTSEG [ENDSEG]]\n"
 msgstr "  %s [OPTION]... [SEG_DEBUT [SEG_FIN]]\n"
 
-#: pg_waldump.c:758
+#: pg_waldump.c:762
 #, c-format
 msgid ""
 "\n"
@@ -152,35 +206,35 @@ msgstr ""
 "\n"
 "Options :\n"
 
-#: pg_waldump.c:759
+#: pg_waldump.c:763
 #, c-format
 msgid "  -b, --bkp-details      output detailed information about backup blocks\n"
 msgstr ""
 "  -b, --bkp-details             affiche des informations détaillées sur les\n"
 "                                blocs de sauvegarde\n"
 
-#: pg_waldump.c:760
+#: pg_waldump.c:764
 #, c-format
 msgid "  -B, --block=N          with --relation, only show records that modify block N\n"
 msgstr ""
 "  -B, --block=N                 avec --relation, affiche seulement les enregistrements\n"
 "                                qui modifient le bloc N\n"
 
-#: pg_waldump.c:761
+#: pg_waldump.c:765
 #, c-format
 msgid "  -e, --end=RECPTR       stop reading at WAL location RECPTR\n"
 msgstr ""
 "  -e, --end=RECPTR              arrête la lecture des journaux de transactions à\n"
 "                                l'emplacement RECPTR\n"
 
-#: pg_waldump.c:762
+#: pg_waldump.c:766
 #, c-format
 msgid "  -f, --follow           keep retrying after reaching end of WAL\n"
 msgstr ""
 "  -f, --follow                  continue après avoir atteint la fin des journaux\n"
 "                                de transactions\n"
 
-#: pg_waldump.c:763
+#: pg_waldump.c:767
 #, c-format
 msgid ""
 "  -F, --fork=FORK        only show records that modify blocks in fork FORK;\n"
@@ -190,12 +244,12 @@ msgstr ""
 "                                des blocs dans le fork FORK ;\n"
 "                                les noms valides sont main, fsm, vm, init\n"
 
-#: pg_waldump.c:765
+#: pg_waldump.c:769
 #, c-format
 msgid "  -n, --limit=N          number of records to display\n"
 msgstr "  -n, --limit=N                 nombre d'enregistrements à afficher\n"
 
-#: pg_waldump.c:766
+#: pg_waldump.c:770
 #, c-format
 msgid ""
 "  -p, --path=PATH        directory in which to find WAL segment files or a\n"
@@ -208,12 +262,12 @@ msgstr ""
 "                                défaut : répertoire courant, ./pg_wal,\n"
 "                                $PGDATA/pg_wal)\n"
 
-#: pg_waldump.c:769
+#: pg_waldump.c:773
 #, c-format
 msgid "  -q, --quiet            do not print any output, except for errors\n"
 msgstr "  -q, --quiet                   n'écrit aucun message, sauf en cas d'erreur\n"
 
-#: pg_waldump.c:770
+#: pg_waldump.c:774
 #, c-format
 msgid ""
 "  -r, --rmgr=RMGR        only show records generated by resource manager RMGR;\n"
@@ -224,21 +278,21 @@ msgstr ""
 "                                --rmgr=list pour avoir une liste des noms valides\n"
 "                                de gestionnaires de ressources\n"
 
-#: pg_waldump.c:772
+#: pg_waldump.c:776
 #, c-format
 msgid "  -R, --relation=T/D/R   only show records that modify blocks in relation T/D/R\n"
 msgstr ""
 "  -R, --relation=T/D/R          affiche seulement les enregistrements qui modifient\n"
 "                                les blocs de la relation T/D/R\n"
 
-#: pg_waldump.c:773
+#: pg_waldump.c:777
 #, c-format
 msgid "  -s, --start=RECPTR     start reading at WAL location RECPTR\n"
 msgstr ""
 "  -s, --start=RECPTR            commence à lire à l'emplacement RECPTR des\n"
 "                                journaux de transactions\n"
 
-#: pg_waldump.c:774
+#: pg_waldump.c:778
 #, c-format
 msgid ""
 "  -t, --timeline=TLI     timeline from which to read WAL records\n"
@@ -248,26 +302,26 @@ msgstr ""
 "                                enregistrements des journaux (par défaut : 1 ou\n"
 "                                la valeur utilisée dans SEG_DÉBUT)\n"
 
-#: pg_waldump.c:776
+#: pg_waldump.c:780
 #, c-format
 msgid "  -V, --version          output version information, then exit\n"
 msgstr "  -V, --version                 affiche la version puis quitte\n"
 
-#: pg_waldump.c:777
+#: pg_waldump.c:781
 #, c-format
 msgid "  -w, --fullpage         only show records with a full page write\n"
 msgstr ""
 "  -w, --fullpage                affiche seulement les enregistrements avec\n"
 "                                un bloc complet (FPW)\n"
 
-#: pg_waldump.c:778
+#: pg_waldump.c:782
 #, c-format
 msgid "  -x, --xid=XID          only show records with transaction ID XID\n"
 msgstr ""
 "  -x, --xid=XID                 affiche seulement des enregistrements avec\n"
 "                                l'identifiant de transaction XID\n"
 
-#: pg_waldump.c:779
+#: pg_waldump.c:783
 #, c-format
 msgid ""
 "  -z, --stats[=record]   show statistics instead of records\n"
@@ -277,17 +331,17 @@ msgstr ""
 "                                d'enregistrements (en option, affiche des\n"
 "                                statistiques par enregistrement)\n"
 
-#: pg_waldump.c:781
+#: pg_waldump.c:785
 #, c-format
 msgid "  --save-fullpage=DIR    save full page images to DIR\n"
 msgstr "  --save-fullpage=RÉP           sauvegarde les images complètes dans RÉP\n"
 
-#: pg_waldump.c:782
+#: pg_waldump.c:786
 #, c-format
 msgid "  -?, --help             show this help, then exit\n"
 msgstr "  -?, --help                    affiche cette aide puis quitte\n"
 
-#: pg_waldump.c:783
+#: pg_waldump.c:787
 #, c-format
 msgid ""
 "\n"
@@ -296,301 +350,286 @@ msgstr ""
 "\n"
 "Rapporter les bogues à <%s>.\n"
 
-#: pg_waldump.c:784
+#: pg_waldump.c:788
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Page d'accueil de %s : <%s>\n"
 
-#: pg_waldump.c:880
+#: pg_waldump.c:884
 #, c-format
 msgid "no arguments specified"
 msgstr "aucun argument spécifié"
 
-#: pg_waldump.c:896
+#: pg_waldump.c:900
 #, c-format
 msgid "invalid block number: \"%s\""
 msgstr "numéro de bloc invalide : « %s »"
 
-#: pg_waldump.c:905 pg_waldump.c:1003
+#: pg_waldump.c:909 pg_waldump.c:1007
 #, c-format
 msgid "invalid WAL location: \"%s\""
 msgstr "emplacement WAL invalide :  « %s »"
 
-#: pg_waldump.c:918
+#: pg_waldump.c:922
 #, c-format
 msgid "invalid fork name: \"%s\""
 msgstr "nom du fork invalide : « %s »"
 
-#: pg_waldump.c:926 pg_waldump.c:1029
+#: pg_waldump.c:930 pg_waldump.c:1033
 #, c-format
 msgid "invalid value \"%s\" for option %s"
 msgstr "valeur « %s » invalide pour l'option %s"
 
-#: pg_waldump.c:957
+#: pg_waldump.c:961
 #, c-format
 msgid "custom resource manager \"%s\" does not exist"
 msgstr "le gestionnaire de ressources personnalisé « %s » n'existe pas"
 
-#: pg_waldump.c:978
+#: pg_waldump.c:982
 #, c-format
 msgid "resource manager \"%s\" does not exist"
 msgstr "le gestionnaire de ressources « %s » n'existe pas"
 
-#: pg_waldump.c:993
+#: pg_waldump.c:997
 #, c-format
 msgid "invalid relation specification: \"%s\""
 msgstr "spécification de relation invalide : « %s »"
 
-#: pg_waldump.c:994
+#: pg_waldump.c:998
 #, c-format
 msgid "Expecting \"tablespace OID/database OID/relation filenode\"."
 msgstr "Attendait « OID tablespace/OID base/filenode relation »."
 
-#: pg_waldump.c:1036
+#: pg_waldump.c:1040
 #, c-format
 msgid "%s must be in range %u..%u"
 msgstr "%s doit être compris entre %u et %u"
 
-#: pg_waldump.c:1051
+#: pg_waldump.c:1055
 #, c-format
 msgid "invalid transaction ID specification: \"%s\""
 msgstr "spécification d'identifiant de transaction invalide : « %s »"
 
-#: pg_waldump.c:1066
+#: pg_waldump.c:1070
 #, c-format
 msgid "unrecognized value for option %s: %s"
 msgstr "valeur non reconnue pour l'option %s : %s"
 
-#: pg_waldump.c:1083
+#: pg_waldump.c:1087
 #, c-format
 msgid "option %s requires option %s to be specified"
 msgstr "l'option %s requiert la spécification de l'option %s"
 
-#: pg_waldump.c:1090
+#: pg_waldump.c:1094
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)"
 
-#: pg_waldump.c:1100 pg_waldump.c:1123
-#, c-format
-msgid "could not open directory \"%s\": %m"
-msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
-
-#: pg_waldump.c:1129 pg_waldump.c:1159
+#: pg_waldump.c:1133 pg_waldump.c:1163
 #, c-format
 msgid "could not open file \"%s\""
 msgstr "n'a pas pu ouvrir le fichier « %s »"
 
-#: pg_waldump.c:1139
+#: pg_waldump.c:1143
 #, c-format
 msgid "start WAL location %X/%X is not inside file \"%s\""
 msgstr "l'emplacement de début des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »"
 
-#: pg_waldump.c:1166
+#: pg_waldump.c:1170
 #, c-format
 msgid "ENDSEG %s is before STARTSEG %s"
 msgstr "SEG_FIN %s est avant SEG_DÉBUT %s"
 
-#: pg_waldump.c:1181
+#: pg_waldump.c:1185
 #, c-format
 msgid "end WAL location %X/%X is not inside file \"%s\""
 msgstr "l'emplacement de fin des journaux de transactions %X/%X n'est pas à l'intérieur du fichier « %s »"
 
-#: pg_waldump.c:1193
+#: pg_waldump.c:1197
 #, c-format
 msgid "no start WAL location given"
 msgstr "pas d'emplacement donné de début du journal de transactions"
 
-#: pg_waldump.c:1207
+#: pg_waldump.c:1211
 #, c-format
 msgid "out of memory while allocating a WAL reading processor"
 msgstr "plus de mémoire lors de l'allocation d'un processeur de lecture de journaux de transactions"
 
-#: pg_waldump.c:1213
+#: pg_waldump.c:1217
 #, c-format
 msgid "could not find a valid record after %X/%X"
 msgstr "n'a pas pu trouver un enregistrement valide après %X/%X"
 
-#: pg_waldump.c:1223
+#: pg_waldump.c:1227
 #, c-format
-msgid "first record is after %X/%X, at %X/%X, skipping over %u byte\n"
-msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes\n"
-msgstr[0] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octet\n"
-msgstr[1] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octets\n"
+msgid "first record is after %X/%X, at %X/%X, skipping over %u byte"
+msgid_plural "first record is after %X/%X, at %X/%X, skipping over %u bytes"
+msgstr[0] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octet"
+msgstr[1] "le premier enregistrement se trouve après %X/%X, à %X/%X, ignore %u octets"
 
-#: pg_waldump.c:1308
+#: pg_waldump.c:1312
 #, c-format
 msgid "error in WAL record at %X/%X: %s"
 msgstr "erreur dans l'enregistrement des journaux de transactions à %X/%X : %s"
 
-#: pg_waldump.c:1317
+#: pg_waldump.c:1321
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Essayez « %s --help » pour plus d'informations."
 
-#: xlogreader.c:626
+#: xlogreader.c:619
 #, c-format
 msgid "invalid record offset at %X/%X: expected at least %u, got %u"
 msgstr "décalage invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u"
 
-#: xlogreader.c:635
+#: xlogreader.c:628
 #, c-format
 msgid "contrecord is requested by %X/%X"
 msgstr "« contrecord » est requis par %X/%X"
 
-#: xlogreader.c:676 xlogreader.c:1119
+#: xlogreader.c:669 xlogreader.c:1134
 #, c-format
 msgid "invalid record length at %X/%X: expected at least %u, got %u"
 msgstr "longueur invalide de l'enregistrement à %X/%X : attendait au moins %u, a eu %u"
 
-#: xlogreader.c:705
-#, c-format
-msgid "out of memory while trying to decode a record of length %u"
-msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u"
-
-#: xlogreader.c:727
-#, c-format
-msgid "record length %u at %X/%X too long"
-msgstr "longueur trop importante de l'enregistrement %u à %X/%X"
-
-#: xlogreader.c:776
+#: xlogreader.c:758
 #, c-format
 msgid "there is no contrecord flag at %X/%X"
 msgstr "il n'existe pas de drapeau contrecord à %X/%X"
 
-#: xlogreader.c:789
+#: xlogreader.c:771
 #, c-format
 msgid "invalid contrecord length %u (expected %lld) at %X/%X"
 msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X"
 
-#: xlogreader.c:1127
+#: xlogreader.c:1142
 #, c-format
 msgid "invalid resource manager ID %u at %X/%X"
 msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X"
 
-#: xlogreader.c:1140 xlogreader.c:1156
+#: xlogreader.c:1155 xlogreader.c:1171
 #, c-format
 msgid "record with incorrect prev-link %X/%X at %X/%X"
 msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X"
 
-#: xlogreader.c:1192
+#: xlogreader.c:1209
 #, c-format
 msgid "incorrect resource manager data checksum in record at %X/%X"
 msgstr ""
 "somme de contrôle des données du gestionnaire de ressources incorrecte à\n"
 "l'enregistrement %X/%X"
 
-#: xlogreader.c:1226
+#: xlogreader.c:1243
 #, c-format
 msgid "invalid magic number %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "numéro magique invalide %04X dans le segment WAL %s, LSN %X/%X, décalage %u"
 
-#: xlogreader.c:1241 xlogreader.c:1283
+#: xlogreader.c:1258 xlogreader.c:1300
 #, c-format
 msgid "invalid info bits %04X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "bits d'information %04X invalides dans le segment WAL %s, LSN %X/%X, décalage %u"
 
-#: xlogreader.c:1257
+#: xlogreader.c:1274
 #, c-format
 msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu"
 msgstr "Le fichier WAL provient d'une instance différente : l'identifiant système de la base dans le fichier WAL est %llu, alors que l'identifiant système de la base dans pg_control est %llu"
 
-#: xlogreader.c:1265
+#: xlogreader.c:1282
 #, c-format
 msgid "WAL file is from different database system: incorrect segment size in page header"
 msgstr "Le fichier WAL provient d'une instance différente : taille invalide du segment dans l'en-tête de page"
 
-#: xlogreader.c:1271
+#: xlogreader.c:1288
 #, c-format
 msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header"
 msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorrect dans l'en-tête de page"
 
-#: xlogreader.c:1303
+#: xlogreader.c:1320
 #, c-format
 msgid "unexpected pageaddr %X/%X in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, LSN %X/%X, segment %u"
 
-#: xlogreader.c:1329
+#: xlogreader.c:1346
 #, c-format
 msgid "out-of-sequence timeline ID %u (after %u) in WAL segment %s, LSN %X/%X, offset %u"
 msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment WAL %s, LSN %X/%X, décalage %u"
 
-#: xlogreader.c:1735
+#: xlogreader.c:1749
 #, c-format
 msgid "out-of-order block_id %u at %X/%X"
 msgstr "block_id %u désordonné à %X/%X"
 
-#: xlogreader.c:1759
+#: xlogreader.c:1773
 #, c-format
 msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X"
 
-#: xlogreader.c:1766
+#: xlogreader.c:1780
 #, c-format
 msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X"
 msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X"
 
-#: xlogreader.c:1802
+#: xlogreader.c:1816
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X"
 
-#: xlogreader.c:1818
+#: xlogreader.c:1832
 #, c-format
 msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X"
 msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X"
 
-#: xlogreader.c:1832
+#: xlogreader.c:1846
 #, c-format
 msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X"
 msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
 
-#: xlogreader.c:1847
+#: xlogreader.c:1861
 #, c-format
 msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X"
 msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X"
 
-#: xlogreader.c:1863
+#: xlogreader.c:1877
 #, c-format
 msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X"
 msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X"
 
-#: xlogreader.c:1875
+#: xlogreader.c:1889
 #, c-format
 msgid "invalid block_id %u at %X/%X"
 msgstr "block_id %u invalide à %X/%X"
 
-#: xlogreader.c:1942
+#: xlogreader.c:1956
 #, c-format
 msgid "record with invalid length at %X/%X"
 msgstr "enregistrement de longueur invalide à %X/%X"
 
-#: xlogreader.c:1968
+#: xlogreader.c:1982
 #, c-format
 msgid "could not locate backup block with ID %d in WAL record"
 msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement WAL"
 
-#: xlogreader.c:2052
+#: xlogreader.c:2066
 #, c-format
 msgid "could not restore image at %X/%X with invalid block %d specified"
 msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué"
 
-#: xlogreader.c:2059
+#: xlogreader.c:2073
 #, c-format
 msgid "could not restore image at %X/%X with invalid state, block %d"
 msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d"
 
-#: xlogreader.c:2086 xlogreader.c:2103
+#: xlogreader.c:2100 xlogreader.c:2117
 #, c-format
 msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d"
 msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d"
 
-#: xlogreader.c:2112
+#: xlogreader.c:2126
 #, c-format
 msgid "could not restore image at %X/%X compressed with unknown method, block %d"
 msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d"
 
-#: xlogreader.c:2120
+#: xlogreader.c:2134
 #, c-format
 msgid "could not decompress image at %X/%X, block %d"
 msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d"
@@ -609,6 +648,12 @@ msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d"
 #~ msgid "Try \"%s --help\" for more information.\n"
 #~ msgstr "Essayez « %s --help » pour plus d'informations.\n"
 
+#, c-format
+#~ msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d byte"
+#~ msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the WAL file \"%s\" header specifies %d bytes"
+#~ msgstr[0] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octet"
+#~ msgstr[1] "La taille du segment WAL doit être une puissance de deux entre 1 Mo et 1 Go, mais l'en-tête du fichier WAL « %s » indique %d octets"
+
 #~ msgid "cannot open directory \"%s\": %s"
 #~ msgstr "ne peut pas ouvrir le répertoire « %s » : %s"
 
@@ -685,9 +730,17 @@ msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d"
 #~ msgid "out of memory"
 #~ msgstr "mémoire épuisée"
 
+#, c-format
+#~ msgid "out of memory while trying to decode a record of length %u"
+#~ msgstr "manque mémoire lors de la tentative de décodage d'un enregistrement de longueur %u"
+
 #~ msgid "path \"%s\" could not be opened: %s"
 #~ msgstr "le chemin « %s » n'a pas pu être ouvert : %s"
 
+#, c-format
+#~ msgid "record length %u at %X/%X too long"
+#~ msgstr "longueur trop importante de l'enregistrement %u à %X/%X"
+
 #, c-format
 #~ msgid "unrecognized argument to --stats: %s"
 #~ msgstr "argument non reconnu pour --stats : %s"
index 3e1b7ff38eab6e9f4c39f7449abd54b5432fa407..bcb6cf9b3acbc634618bf9a514d7136a57e754e9 100644 (file)
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 16\n"
+"Project-Id-Version: PostgreSQL 17\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2023-10-29 17:19+0000\n"
-"PO-Revision-Date: 2024-07-01 23:55+0200\n"
+"POT-Creation-Date: 2024-08-22 10:21+0000\n"
+"PO-Revision-Date: 2024-08-23 11:43+0200\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
 "Language: fr\n"
@@ -21,7 +21,7 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 3.4\n"
+"X-Generator: Poedit 3.4.4\n"
 
 #: ../../../src/common/logging.c:276
 #, c-format
@@ -54,6 +54,48 @@ msgstr "mémoire épuisée\n"
 msgid "cannot duplicate null pointer (internal error)\n"
 msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n"
 
+#: ../../common/file_utils.c:70 ../../common/file_utils.c:347
+#: ../../common/file_utils.c:406 ../../common/file_utils.c:480
+#, c-format
+msgid "could not open file \"%s\": %m"
+msgstr "n'a pas pu ouvrir le fichier « %s » : %m"
+
+#: ../../common/file_utils.c:76
+#, c-format
+msgid "could not synchronize file system for file \"%s\": %m"
+msgstr "n'a pas pu synchroniser sur disque (fsync) le système de fichiers pour le fichier « %s » : %m"
+
+#: ../../common/file_utils.c:120 ../../common/file_utils.c:566
+#, c-format
+msgid "could not stat file \"%s\": %m"
+msgstr "n'a pas pu tester le fichier « %s » : %m"
+
+#: ../../common/file_utils.c:130 ../../common/file_utils.c:227
+#: ../../fe_utils/option_utils.c:99
+#, c-format
+msgid "this build does not support sync method \"%s\""
+msgstr "cette construction ne supporte pas la méthode de synchronisation « %s »"
+
+#: ../../common/file_utils.c:151 ../../common/file_utils.c:281
+#, c-format
+msgid "could not open directory \"%s\": %m"
+msgstr "n'a pas pu ouvrir le répertoire « %s » : %m"
+
+#: ../../common/file_utils.c:169 ../../common/file_utils.c:315
+#, c-format
+msgid "could not read directory \"%s\": %m"
+msgstr "n'a pas pu lire le répertoire « %s » : %m"
+
+#: ../../common/file_utils.c:418 ../../common/file_utils.c:488
+#, c-format
+msgid "could not fsync file \"%s\": %m"
+msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m"
+
+#: ../../common/file_utils.c:498
+#, c-format
+msgid "could not rename file \"%s\" to \"%s\": %m"
+msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m"
+
 #: ../../common/username.c:43
 #, c-format
 msgid "could not look up effective user ID %ld: %s"
@@ -68,11 +110,11 @@ msgstr "l'utilisateur n'existe pas"
 msgid "user name lookup failure: error code %lu"
 msgstr "échec de la recherche du nom d'utilisateur : code d'erreur %lu"
 
-#: ../../fe_utils/cancel.c:189 ../../fe_utils/cancel.c:238
+#: ../../fe_utils/cancel.c:186 ../../fe_utils/cancel.c:235
 msgid "Cancel request sent\n"
 msgstr "Requête d'annulation envoyée\n"
 
-#: ../../fe_utils/cancel.c:190 ../../fe_utils/cancel.c:239
+#: ../../fe_utils/cancel.c:187 ../../fe_utils/cancel.c:236
 msgid "Could not send cancel request: "
 msgstr "N'a pas pu envoyer la requête d'annulation : "
 
@@ -100,6 +142,11 @@ msgstr "valeur « %s » invalide pour l'option %s"
 msgid "%s must be in range %d..%d"
 msgstr "%s doit être compris entre %d et %d"
 
+#: ../../fe_utils/option_utils.c:106
+#, c-format
+msgid "unrecognized sync method: %s"
+msgstr "méthode de synchronisation non reconnu : %s"
+
 #: ../../fe_utils/parallel_slot.c:317
 #, c-format
 msgid "too many jobs for this platform: %d"
@@ -132,21 +179,26 @@ msgstr[1] "(%lu lignes)"
 msgid "Interrupted\n"
 msgstr "Interrompu\n"
 
-#: ../../fe_utils/print.c:3218
+#: ../../fe_utils/print.c:3188
+#, c-format
+msgid "Cannot print table contents: number of cells %lld is equal to or exceeds maximum %lld.\n"
+msgstr ""
+
+#: ../../fe_utils/print.c:3229
 #, c-format
 msgid "Cannot add header to table content: column count of %d exceeded.\n"
 msgstr ""
 "Ne peut pas ajouter l'en-tête au contenu de la table : le nombre de colonnes\n"
 "%d est dépassé.\n"
 
-#: ../../fe_utils/print.c:3258
+#: ../../fe_utils/print.c:3272
 #, c-format
-msgid "Cannot add cell to table content: total cell count of %d exceeded.\n"
+msgid "Cannot add cell to table content: total cell count of %lld exceeded.\n"
 msgstr ""
 "Ne peut pas ajouter une cellule au contenu de la table : le nombre total des\n"
-"cellules %d est dépassé.\n"
+"cellules %lld est dépassé.\n"
 
-#: ../../fe_utils/print.c:3516
+#: ../../fe_utils/print.c:3530
 #, c-format
 msgid "invalid output format (internal error): %d"
 msgstr "format de sortie invalide (erreur interne) : %d"
@@ -161,36 +213,41 @@ msgstr "échec de la requête : %s"
 msgid "Query was: %s"
 msgstr "La requête était : %s"
 
-#: clusterdb.c:113 clusterdb.c:132 createdb.c:144 createdb.c:163
+#: ../../fe_utils/string_utils.c:434
+#, c-format
+msgid "shell command argument contains a newline or carriage return: \"%s\"\n"
+msgstr "l'argument de la commande shell contient un retour à la ligne ou un retour chariot : « %s »\n"
+
+#: ../../fe_utils/string_utils.c:607
+#, c-format
+msgid "database name contains a newline or carriage return: \"%s\"\n"
+msgstr "le nom de la base contient un retour à la ligne ou un retour chariot : « %s »\n"
+
+#: clusterdb.c:114 clusterdb.c:133 createdb.c:149 createdb.c:168
 #: createuser.c:195 createuser.c:210 dropdb.c:104 dropdb.c:113 dropdb.c:121
 #: dropuser.c:95 dropuser.c:110 dropuser.c:123 pg_isready.c:97 pg_isready.c:111
-#: reindexdb.c:174 reindexdb.c:193 vacuumdb.c:279 vacuumdb.c:299
+#: reindexdb.c:177 reindexdb.c:196 vacuumdb.c:280 vacuumdb.c:300
 #, c-format
 msgid "Try \"%s --help\" for more information."
 msgstr "Essayez « %s --help » pour plus d'informations."
 
-#: clusterdb.c:130 createdb.c:161 createuser.c:208 dropdb.c:119 dropuser.c:108
-#: pg_isready.c:109 reindexdb.c:191 vacuumdb.c:297
+#: clusterdb.c:131 createdb.c:166 createuser.c:208 dropdb.c:119 dropuser.c:108
+#: pg_isready.c:109 reindexdb.c:194 vacuumdb.c:298
 #, c-format
 msgid "too many command-line arguments (first is \"%s\")"
 msgstr "trop d'arguments en ligne de commande (le premier étant « %s »)"
 
-#: clusterdb.c:148
+#: clusterdb.c:149
 #, c-format
 msgid "cannot cluster all databases and a specific one at the same time"
 msgstr "ne peut pas réorganiser à la fois toutes les bases de données et une base spécifique via la commande CLUSTER"
 
-#: clusterdb.c:151
-#, c-format
-msgid "cannot cluster specific table(s) in all databases"
-msgstr "ne peut pas réorganiser la(les) table(s) spécifique(s) dans toutes les bases de données"
-
-#: clusterdb.c:215
+#: clusterdb.c:214
 #, c-format
 msgid "clustering of table \"%s\" in database \"%s\" failed: %s"
 msgstr "la réorganisation de la table « %s » de la base de données « %s » avec la commande CLUSTER a échoué : %s"
 
-#: clusterdb.c:218
+#: clusterdb.c:217
 #, c-format
 msgid "clustering of database \"%s\" failed: %s"
 msgstr "la réorganisation de la base de données « %s » via la commande CLUSTER a échoué : %s"
@@ -200,7 +257,7 @@ msgstr "la réorganisation de la base de données « %s » via la commande CLUST
 msgid "%s: clustering database \"%s\"\n"
 msgstr "%s : réorganisation de la base de données « %s » via la commande CLUSTER\n"
 
-#: clusterdb.c:264
+#: clusterdb.c:274
 #, c-format
 msgid ""
 "%s clusters all previously clustered tables in a database.\n"
@@ -210,19 +267,19 @@ msgstr ""
 "base de données via la commande CLUSTER.\n"
 "\n"
 
-#: clusterdb.c:265 createdb.c:288 createuser.c:415 dropdb.c:172 dropuser.c:170
-#: pg_isready.c:226 reindexdb.c:750 vacuumdb.c:1156
+#: clusterdb.c:275 createdb.c:298 createuser.c:415 dropdb.c:172 dropuser.c:170
+#: pg_isready.c:226 reindexdb.c:868 vacuumdb.c:1147
 #, c-format
 msgid "Usage:\n"
 msgstr "Usage :\n"
 
-#: clusterdb.c:266 reindexdb.c:751 vacuumdb.c:1157
+#: clusterdb.c:276 reindexdb.c:869 vacuumdb.c:1148
 #, c-format
 msgid "  %s [OPTION]... [DBNAME]\n"
 msgstr "  %s [OPTION]... [BASE]\n"
 
-#: clusterdb.c:267 createdb.c:290 createuser.c:417 dropdb.c:174 dropuser.c:172
-#: pg_isready.c:229 reindexdb.c:752 vacuumdb.c:1158
+#: clusterdb.c:277 createdb.c:300 createuser.c:417 dropdb.c:174 dropuser.c:172
+#: pg_isready.c:229 reindexdb.c:870 vacuumdb.c:1149
 #, c-format
 msgid ""
 "\n"
@@ -231,48 +288,48 @@ msgstr ""
 "\n"
 "Options :\n"
 
-#: clusterdb.c:268
+#: clusterdb.c:278
 #, c-format
 msgid "  -a, --all                 cluster all databases\n"
 msgstr "  -a, --all                      réorganise toutes les bases de données\n"
 
-#: clusterdb.c:269
+#: clusterdb.c:279
 #, c-format
 msgid "  -d, --dbname=DBNAME       database to cluster\n"
 msgstr "  -d, --dbname=BASE              réorganise la base de données spécifiée\n"
 
-#: clusterdb.c:270 createuser.c:423 dropdb.c:175 dropuser.c:173
+#: clusterdb.c:280 createuser.c:423 dropdb.c:175 dropuser.c:173
 #, c-format
 msgid "  -e, --echo                show the commands being sent to the server\n"
 msgstr "  -e, --echo                     affiche les commandes envoyées au serveur\n"
 
-#: clusterdb.c:271
+#: clusterdb.c:281
 #, c-format
 msgid "  -q, --quiet               don't write any messages\n"
 msgstr "  -q, --quiet                    n'écrit aucun message\n"
 
-#: clusterdb.c:272
+#: clusterdb.c:282
 #, c-format
 msgid "  -t, --table=TABLE         cluster specific table(s) only\n"
 msgstr "  -t, --table=TABLE              réorganise uniquement la table spécifiée\n"
 
-#: clusterdb.c:273
+#: clusterdb.c:283
 #, c-format
 msgid "  -v, --verbose             write a lot of output\n"
 msgstr "  -v, --verbose                  mode verbeux\n"
 
-#: clusterdb.c:274 createuser.c:439 dropdb.c:178 dropuser.c:176
+#: clusterdb.c:284 createuser.c:439 dropdb.c:178 dropuser.c:176
 #, c-format
 msgid "  -V, --version             output version information, then exit\n"
 msgstr "  -V, --version                  affiche la version puis quitte\n"
 
-#: clusterdb.c:275 createuser.c:447 dropdb.c:180 dropuser.c:178
+#: clusterdb.c:285 createuser.c:447 dropdb.c:180 dropuser.c:178
 #, c-format
 msgid "  -?, --help                show this help, then exit\n"
 msgstr "  -?, --help                     affiche cette aide puis quitte\n"
 
-#: clusterdb.c:276 createdb.c:306 createuser.c:448 dropdb.c:181 dropuser.c:179
-#: pg_isready.c:235 reindexdb.c:767 vacuumdb.c:1187
+#: clusterdb.c:286 createdb.c:317 createuser.c:448 dropdb.c:181 dropuser.c:179
+#: pg_isready.c:235 reindexdb.c:885 vacuumdb.c:1178
 #, c-format
 msgid ""
 "\n"
@@ -281,39 +338,39 @@ msgstr ""
 "\n"
 "Options de connexion :\n"
 
-#: clusterdb.c:277 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1188
+#: clusterdb.c:287 createuser.c:449 dropdb.c:182 dropuser.c:180 vacuumdb.c:1179
 #, c-format
 msgid "  -h, --host=HOSTNAME       database server host or socket directory\n"
 msgstr ""
 "  -h, --host=HÔTE                hôte du serveur de bases de données ou\n"
 "                                 répertoire des sockets\n"
 
-#: clusterdb.c:278 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1189
+#: clusterdb.c:288 createuser.c:450 dropdb.c:183 dropuser.c:181 vacuumdb.c:1180
 #, c-format
 msgid "  -p, --port=PORT           database server port\n"
 msgstr "  -p, --port=PORT                port du serveur de bases de données\n"
 
-#: clusterdb.c:279 dropdb.c:184 vacuumdb.c:1190
+#: clusterdb.c:289 dropdb.c:184 vacuumdb.c:1181
 #, c-format
 msgid "  -U, --username=USERNAME   user name to connect as\n"
 msgstr "  -U, --username=UTILISATEUR     nom d'utilisateur pour la connexion\n"
 
-#: clusterdb.c:280 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1191
+#: clusterdb.c:290 createuser.c:452 dropdb.c:185 dropuser.c:183 vacuumdb.c:1182
 #, c-format
 msgid "  -w, --no-password         never prompt for password\n"
 msgstr "  -w, --no-password              empêche la demande d'un mot de passe\n"
 
-#: clusterdb.c:281 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1192
+#: clusterdb.c:291 createuser.c:453 dropdb.c:186 dropuser.c:184 vacuumdb.c:1183
 #, c-format
 msgid "  -W, --password            force password prompt\n"
 msgstr "  -W, --password                 force la demande d'un mot de passe\n"
 
-#: clusterdb.c:282 dropdb.c:187 vacuumdb.c:1193
+#: clusterdb.c:292 dropdb.c:187 vacuumdb.c:1184
 #, c-format
 msgid "  --maintenance-db=DBNAME   alternate maintenance database\n"
 msgstr "  --maintenance-db=BASE          indique une autre base par défaut\n"
 
-#: clusterdb.c:283
+#: clusterdb.c:293
 #, c-format
 msgid ""
 "\n"
@@ -322,8 +379,8 @@ msgstr ""
 "\n"
 "Lire la description de la commande SQL CLUSTER pour de plus amples détails.\n"
 
-#: clusterdb.c:284 createdb.c:314 createuser.c:454 dropdb.c:188 dropuser.c:185
-#: pg_isready.c:240 reindexdb.c:775 vacuumdb.c:1195
+#: clusterdb.c:294 createdb.c:325 createuser.c:454 dropdb.c:188 dropuser.c:185
+#: pg_isready.c:240 reindexdb.c:893 vacuumdb.c:1186
 #, c-format
 msgid ""
 "\n"
@@ -332,8 +389,8 @@ msgstr ""
 "\n"
 "Rapporter les bogues à <%s>.\n"
 
-#: clusterdb.c:285 createdb.c:315 createuser.c:455 dropdb.c:189 dropuser.c:186
-#: pg_isready.c:241 reindexdb.c:776 vacuumdb.c:1196
+#: clusterdb.c:295 createdb.c:326 createuser.c:455 dropdb.c:189 dropuser.c:186
+#: pg_isready.c:241 reindexdb.c:894 vacuumdb.c:1187
 #, c-format
 msgid "%s home page: <%s>\n"
 msgstr "Page d'accueil de %s : <%s>\n"
@@ -367,22 +424,22 @@ msgstr "%s (%s/%s) "
 msgid "Please answer \"%s\" or \"%s\".\n"
 msgstr "Merci de répondre « %s » ou « %s ».\n"
 
-#: createdb.c:170
+#: createdb.c:175
 #, c-format
 msgid "\"%s\" is not a valid encoding name"
 msgstr "« %s » n'est pas un nom d'encodage valide"
 
-#: createdb.c:250
+#: createdb.c:260
 #, c-format
 msgid "database creation failed: %s"
 msgstr "la création de la base de données a échoué : %s"
 
-#: createdb.c:269
+#: createdb.c:279
 #, c-format
 msgid "comment creation failed (database was created): %s"
 msgstr "l'ajout du commentaire a échoué (la base de données a été créée) : %s"
 
-#: createdb.c:287
+#: createdb.c:297
 #, c-format
 msgid ""
 "%s creates a PostgreSQL database.\n"
@@ -391,120 +448,125 @@ msgstr ""
 "%s crée une base de données PostgreSQL.\n"
 "\n"
 
-#: createdb.c:289
+#: createdb.c:299
 #, c-format
 msgid "  %s [OPTION]... [DBNAME] [DESCRIPTION]\n"
 msgstr "  %s [OPTION]... [BASE] [DESCRIPTION]\n"
 
-#: createdb.c:291
+#: createdb.c:301
 #, c-format
 msgid "  -D, --tablespace=TABLESPACE  default tablespace for the database\n"
 msgstr "  -D, --tablespace=TABLESPACE   tablespace par défaut de la base de données\n"
 
-#: createdb.c:292 reindexdb.c:756
+#: createdb.c:302 reindexdb.c:874
 #, c-format
 msgid "  -e, --echo                   show the commands being sent to the server\n"
 msgstr "  -e, --echo                    affiche les commandes envoyées au serveur\n"
 
-#: createdb.c:293
+#: createdb.c:303
 #, c-format
 msgid "  -E, --encoding=ENCODING      encoding for the database\n"
 msgstr "  -E, --encoding=ENCODAGE       encodage de la base de données\n"
 
-#: createdb.c:294
+#: createdb.c:304
 #, c-format
 msgid "  -l, --locale=LOCALE          locale settings for the database\n"
 msgstr "  -l, --locale=LOCALE           paramètre de la locale pour la base de données\n"
 
-#: createdb.c:295
+#: createdb.c:305
 #, c-format
 msgid "      --lc-collate=LOCALE      LC_COLLATE setting for the database\n"
 msgstr "      --lc-collate=LOCALE       paramètre LC_COLLATE pour la base de données\n"
 
-#: createdb.c:296
+#: createdb.c:306
 #, c-format
 msgid "      --lc-ctype=LOCALE        LC_CTYPE setting for the database\n"
 msgstr "      --lc-ctype=LOCALE         paramètre LC_CTYPE pour la base de données\n"
 
-#: createdb.c:297
+#: createdb.c:307
+#, c-format
+msgid "      --builtin-locale=LOCALE  builtin locale setting for the database\n"
+msgstr "      --builtin-locale=LOCALE       paramètre de la locale native pour la base de données\n"
+
+#: createdb.c:308
 #, c-format
 msgid "      --icu-locale=LOCALE      ICU locale setting for the database\n"
 msgstr "      --icu-locale=LOCALE       paramètre de la locale ICU pour la base de données\n"
 
-#: createdb.c:298
+#: createdb.c:309
 #, c-format
 msgid "      --icu-rules=RULES        ICU rules setting for the database\n"
 msgstr "      --icu-rules=RÈGLES       configuration des règles ICU pour la base de données\n"
 
-#: createdb.c:299
+#: createdb.c:310
 #, c-format
 msgid ""
-"      --locale-provider={libc|icu}\n"
+"      --locale-provider={builtin|libc|icu}\n"
 "                               locale provider for the database's default collation\n"
 msgstr ""
-"      --locale-provider={libc|icu}\n"
+"      --locale-provider={builtin|libc|icu}\n"
 "                                fournisseur de locale pour la collation par défaut de la base de données\n"
 
-#: createdb.c:301
+#: createdb.c:312
 #, c-format
 msgid "  -O, --owner=OWNER            database user to own the new database\n"
 msgstr ""
 "  -O, --owner=PROPRIÉTAIRE      nom du propriétaire de la nouvelle base de\n"
 "                                données\n"
 
-#: createdb.c:302
+#: createdb.c:313
 #, c-format
 msgid "  -S, --strategy=STRATEGY      database creation strategy wal_log or file_copy\n"
 msgstr "  -S, --strategy=STRATEGIE      stratégie de création de base (wal_log ou file_copy)\n"
 
-#: createdb.c:303
+#: createdb.c:314
 #, c-format
 msgid "  -T, --template=TEMPLATE      template database to copy\n"
 msgstr "  -T, --template=MODÈLE         base de données modèle à copier\n"
 
-#: createdb.c:304 reindexdb.c:765
+#: createdb.c:315 reindexdb.c:883
 #, c-format
 msgid "  -V, --version                output version information, then exit\n"
 msgstr "  -V, --version                 affiche la version puis quitte\n"
 
-#: createdb.c:305 reindexdb.c:766
+#: createdb.c:316 reindexdb.c:884
 #, c-format
 msgid "  -?, --help                   show this help, then exit\n"
 msgstr "  -?, --help                    affiche cette aide puis quitte\n"
 
-#: createdb.c:307 reindexdb.c:768
+#: createdb.c:318 reindexdb.c:886
 #, c-format
 msgid "  -h, --host=HOSTNAME          database server host or socket directory\n"
 msgstr ""
 "  -h, --host=HÔTE               hôte du serveur de bases de données\n"
 "                                ou répertoire des sockets\n"
 
-#: createdb.c:308 reindexdb.c:769
+#: createdb.c:319 reindexdb.c:887
 #, c-format
 msgid "  -p, --port=PORT              database server port\n"
 msgstr "  -p, --port=PORT               port du serveur de bases de données\n"
 
-#: createdb.c:309 reindexdb.c:770
+#: createdb.c:320 reindexdb.c:888
 #, c-format
 msgid "  -U, --username=USERNAME      user name to connect as\n"
 msgstr "  -U, --username=UTILISATEUR    nom d'utilisateur pour la connexion\n"
 
-#: createdb.c:310 reindexdb.c:771
+#: createdb.c:321 reindexdb.c:889
 #, c-format
 msgid "  -w, --no-password            never prompt for password\n"
 msgstr "  -w, --no-password             empêche la demande d'un mot de passe\n"
 
-#: createdb.c:311 reindexdb.c:772
+#: createdb.c:322 reindexdb.c:890
 #, c-format
 msgid "  -W, --password               force password prompt\n"
 msgstr "  -W, --password                force la demande d'un mot de passe\n"
 
-#: createdb.c:312 reindexdb.c:773
+#: createdb.c:323 reindexdb.c:891
 #, c-format
 msgid "  --maintenance-db=DBNAME      alternate maintenance database\n"
 msgstr "  --maintenance-db=BASE         indique une autre base par défaut\n"
 
-#: createdb.c:313
+#: createdb.c:324
 #, c-format
 msgid ""
 "\n"
@@ -903,94 +965,54 @@ msgstr ""
 msgid "  -U, --username=USERNAME  user name to connect as\n"
 msgstr "  -U, --username=UTILISATEUR  nom d'utilisateur pour la connexion\n"
 
-#: reindexdb.c:209
-#, c-format
-msgid "cannot reindex all databases and a specific one at the same time"
-msgstr "ne peut pas réindexer toutes les bases de données et une base spécifique en même temps"
-
-#: reindexdb.c:211
-#, c-format
-msgid "cannot reindex all databases and system catalogs at the same time"
-msgstr "ne peut pas réindexer toutes les bases de données et les catalogues système en même temps"
-
-#: reindexdb.c:213
-#, c-format
-msgid "cannot reindex specific schema(s) in all databases"
-msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) dans toutes les bases de données"
-
-#: reindexdb.c:215
-#, c-format
-msgid "cannot reindex specific table(s) in all databases"
-msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) dans toutes les bases de données"
-
-#: reindexdb.c:217
-#, c-format
-msgid "cannot reindex specific index(es) in all databases"
-msgstr "ne peut pas réindexer un (des) index spécifique(s) dans toutes les bases de données"
-
-#: reindexdb.c:227
-#, c-format
-msgid "cannot reindex specific schema(s) and system catalogs at the same time"
-msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) et les catalogues système en même temps"
-
-#: reindexdb.c:229
-#, c-format
-msgid "cannot reindex specific table(s) and system catalogs at the same time"
-msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) etles catalogues système en même temps"
-
-#: reindexdb.c:231
-#, c-format
-msgid "cannot reindex specific index(es) and system catalogs at the same time"
-msgstr "ne peut pas réindexer un (des) index spécifique(s) et les catalogues système en même temps"
-
-#: reindexdb.c:234
+#: reindexdb.c:210
 #, c-format
 msgid "cannot use multiple jobs to reindex system catalogs"
 msgstr "ne peut pas utiliser plusieurs jobs pour réindexer les catalogues systèmes"
 
-#: reindexdb.c:260
+#: reindexdb.c:215
 #, c-format
-msgid "cannot use multiple jobs to reindex indexes"
-msgstr "ne peut pas utiliser plusieurs jobs pour réindexer les index"
+msgid "cannot reindex all databases and a specific one at the same time"
+msgstr "ne peut pas réindexer toutes les bases de données et une base spécifique en même temps"
 
-#: reindexdb.c:323 reindexdb.c:330 vacuumdb.c:525 vacuumdb.c:532 vacuumdb.c:539
-#: vacuumdb.c:546 vacuumdb.c:553 vacuumdb.c:560 vacuumdb.c:567 vacuumdb.c:572
-#: vacuumdb.c:576 vacuumdb.c:580 vacuumdb.c:584
+#: reindexdb.c:296 reindexdb.c:303 vacuumdb.c:515 vacuumdb.c:522 vacuumdb.c:529
+#: vacuumdb.c:536 vacuumdb.c:543 vacuumdb.c:550 vacuumdb.c:557 vacuumdb.c:562
+#: vacuumdb.c:566 vacuumdb.c:570 vacuumdb.c:574
 #, c-format
 msgid "cannot use the \"%s\" option on server versions older than PostgreSQL %s"
 msgstr "ne peut utiliser l'option « %s » sur des versions serveurs plus anciennes que PostgreSQL %s"
 
-#: reindexdb.c:561
+#: reindexdb.c:584
 #, c-format
 msgid "reindexing of database \"%s\" failed: %s"
 msgstr "la réindexation de la base de données « %s » a échoué : %s"
 
-#: reindexdb.c:565
+#: reindexdb.c:588
 #, c-format
 msgid "reindexing of index \"%s\" in database \"%s\" failed: %s"
 msgstr "la réindexation de l'index « %s » dans la base de données « %s » a échoué : %s"
 
-#: reindexdb.c:569
+#: reindexdb.c:592
 #, c-format
 msgid "reindexing of schema \"%s\" in database \"%s\" failed: %s"
 msgstr "la réindexation du schéma « %s » dans la base de données « %s » a échoué : %s"
 
-#: reindexdb.c:573
+#: reindexdb.c:596
 #, c-format
 msgid "reindexing of system catalogs in database \"%s\" failed: %s"
 msgstr "la réindexation des catalogues systèmes dans la base de données « %s » a échoué : %s"
 
-#: reindexdb.c:577
+#: reindexdb.c:600
 #, c-format
 msgid "reindexing of table \"%s\" in database \"%s\" failed: %s"
 msgstr "la réindexation de la table « %s » dans la base de données « %s » a échoué : %s"
 
-#: reindexdb.c:732
+#: reindexdb.c:824
 #, c-format
 msgid "%s: reindexing database \"%s\"\n"
 msgstr "%s : réindexation de la base de données « %s »\n"
 
-#: reindexdb.c:749
+#: reindexdb.c:867
 #, c-format
 msgid ""
 "%s reindexes a PostgreSQL database.\n"
@@ -999,66 +1021,66 @@ msgstr ""
 "%s réindexe une base de données PostgreSQL.\n"
 "\n"
 
-#: reindexdb.c:753
+#: reindexdb.c:871
 #, c-format
 msgid "  -a, --all                    reindex all databases\n"
 msgstr "  -a, --all                     réindexe toutes les bases de données\n"
 
-#: reindexdb.c:754
+#: reindexdb.c:872
 #, c-format
 msgid "      --concurrently           reindex concurrently\n"
 msgstr "      --concurrently            réindexation en concurrence\n"
 
-#: reindexdb.c:755
+#: reindexdb.c:873
 #, c-format
 msgid "  -d, --dbname=DBNAME          database to reindex\n"
 msgstr "  -d, --dbname=BASE             réindexe la base de données spécifiée\n"
 
-#: reindexdb.c:757
+#: reindexdb.c:875
 #, c-format
 msgid "  -i, --index=INDEX            recreate specific index(es) only\n"
 msgstr "  -i, --index=INDEX             réindexe uniquement l'index spécifié\n"
 
-#: reindexdb.c:758
+#: reindexdb.c:876
 #, c-format
 msgid "  -j, --jobs=NUM               use this many concurrent connections to reindex\n"
 msgstr ""
 "  -j, --jobs=NOMBRE             utilise ce nombre de connexions concurrentes\n"
 "                                pour l'opération de réindexation\n"
 
-#: reindexdb.c:759
+#: reindexdb.c:877
 #, c-format
 msgid "  -q, --quiet                  don't write any messages\n"
 msgstr "  -q, --quiet                   n'écrit aucun message\n"
 
-#: reindexdb.c:760
+#: reindexdb.c:878
 #, c-format
 msgid "  -s, --system                 reindex system catalogs only\n"
 msgstr "  -s, --system                  réindexe seulement les catalogues système\n"
 
-#: reindexdb.c:761
+#: reindexdb.c:879
 #, c-format
 msgid "  -S, --schema=SCHEMA          reindex specific schema(s) only\n"
 msgstr "  -S, --schema=SCHÉMA           réindexe uniquement le schéma spécifié\n"
 
-#: reindexdb.c:762
+#: reindexdb.c:880
 #, c-format
 msgid "  -t, --table=TABLE            reindex specific table(s) only\n"
 msgstr "  -t, --table=TABLE             réindexe uniquement la table spécifiée\n"
 
-#: reindexdb.c:763
+#: reindexdb.c:881
 #, c-format
 msgid "      --tablespace=TABLESPACE  tablespace where indexes are rebuilt\n"
 msgstr ""
 "      --tablespace=TABLESPACE   précise le tablespace où les index seront\n"
 "                                reconstruits\n"
 
-#: reindexdb.c:764
+#: reindexdb.c:882
 #, c-format
 msgid "  -v, --verbose                write a lot of output\n"
 msgstr "  -v, --verbose                 mode verbeux\n"
 
-#: reindexdb.c:774
+#: reindexdb.c:892
 #, c-format
 msgid ""
 "\n"
@@ -1067,95 +1089,80 @@ msgstr ""
 "\n"
 "Lire la description de la commande SQL REINDEX pour plus d'informations.\n"
 
-#: vacuumdb.c:312 vacuumdb.c:315 vacuumdb.c:318 vacuumdb.c:321 vacuumdb.c:324
-#: vacuumdb.c:327 vacuumdb.c:330 vacuumdb.c:333 vacuumdb.c:342
+#: vacuumdb.c:313 vacuumdb.c:316 vacuumdb.c:319 vacuumdb.c:322 vacuumdb.c:325
+#: vacuumdb.c:328 vacuumdb.c:331 vacuumdb.c:334 vacuumdb.c:343
 #, c-format
 msgid "cannot use the \"%s\" option when performing only analyze"
 msgstr "ne peut pas utiliser l'option « %s » lors de l'exécution d'un ANALYZE seul"
 
-#: vacuumdb.c:345
+#: vacuumdb.c:346
 #, c-format
 msgid "cannot use the \"%s\" option when performing full vacuum"
 msgstr "ne peut pas utiliser l'option « %s » lors de l'exécution d'un VACUUM FULL"
 
-#: vacuumdb.c:351 vacuumdb.c:359
+#: vacuumdb.c:352 vacuumdb.c:360
 #, c-format
 msgid "cannot use the \"%s\" option with the \"%s\" option"
 msgstr "ne peut pas utiliser l'option « %s » lors de l'option « %s »"
 
-#: vacuumdb.c:430
+#: vacuumdb.c:432
 #, c-format
 msgid "cannot vacuum all databases and a specific one at the same time"
 msgstr "ne peut pas exécuter VACUUM sur toutes les bases de données et sur une base spécifique en même temps"
 
-#: vacuumdb.c:434
-#, c-format
-msgid "cannot vacuum specific table(s) in all databases"
-msgstr "ne peut pas exécuter VACUUM sur une(des)  table(s) spécifique(s) dans toutes les bases de données"
-
-#: vacuumdb.c:438
-#, c-format
-msgid "cannot vacuum specific schema(s) in all databases"
-msgstr "ne peut pas exécuter VACUUM sur les schémas spécifiques dans toutes les bases de données"
-
-#: vacuumdb.c:442
-#, c-format
-msgid "cannot exclude specific schema(s) in all databases"
-msgstr "ne peut pas exclure des schémas dans toutes les bases de données"
-
-#: vacuumdb.c:446
+#: vacuumdb.c:436
 #, c-format
 msgid "cannot vacuum all tables in schema(s) and specific table(s) at the same time"
 msgstr "ne peut pas exécuter VACUUM sur toutes les tables des schémas et sur des tables spécifiques en même temps"
 
-#: vacuumdb.c:450
+#: vacuumdb.c:440
 #, c-format
 msgid "cannot vacuum specific table(s) and exclude schema(s) at the same time"
 msgstr "ne peut pas exécuter VACUUM sur des tables spécifiques et exclure des schémas en même temps"
 
-#: vacuumdb.c:454
+#: vacuumdb.c:444
 #, c-format
 msgid "cannot vacuum all tables in schema(s) and exclude schema(s) at the same time"
 msgstr "ne peut pas exécuter VACUUM sur toutes les tables et exclure des schémas en même temps"
 
-#: vacuumdb.c:467
+#: vacuumdb.c:457
 #, c-format
 msgid "out of memory"
 msgstr "mémoire épuisée"
 
-#: vacuumdb.c:512
+#: vacuumdb.c:502
 msgid "Generating minimal optimizer statistics (1 target)"
 msgstr "Génération de statistiques minimales pour l'optimiseur (une cible)"
 
-#: vacuumdb.c:513
+#: vacuumdb.c:503
 msgid "Generating medium optimizer statistics (10 targets)"
 msgstr "Génération de statistiques moyennes pour l'optimiseur (dix cibles)"
 
-#: vacuumdb.c:514
+#: vacuumdb.c:504
 msgid "Generating default (full) optimizer statistics"
 msgstr "Génération de statistiques complètes pour l'optimiseur"
 
-#: vacuumdb.c:593
+#: vacuumdb.c:583
 #, c-format
 msgid "%s: processing database \"%s\": %s\n"
 msgstr "%s : traitement de la base de données « %s » %s\n"
 
-#: vacuumdb.c:596
+#: vacuumdb.c:586
 #, c-format
 msgid "%s: vacuuming database \"%s\"\n"
 msgstr "%s : exécution de VACUUM sur la base de données « %s »\n"
 
-#: vacuumdb.c:1144
+#: vacuumdb.c:1135
 #, c-format
 msgid "vacuuming of table \"%s\" in database \"%s\" failed: %s"
 msgstr "l'exécution de VACUUM sur la table « %s » dans la base de données « %s » a échoué : %s"
 
-#: vacuumdb.c:1147
+#: vacuumdb.c:1138
 #, c-format
 msgid "vacuuming of database \"%s\" failed: %s"
 msgstr "l'exécution de VACUUM sur la base de données « %s » a échoué : %s"
 
-#: vacuumdb.c:1155
+#: vacuumdb.c:1146
 #, c-format
 msgid ""
 "%s cleans and analyzes a PostgreSQL database.\n"
@@ -1164,154 +1171,154 @@ msgstr ""
 "%s nettoie et analyse une base de données PostgreSQL.\n"
 "\n"
 
-#: vacuumdb.c:1159
+#: vacuumdb.c:1150
 #, c-format
 msgid "  -a, --all                       vacuum all databases\n"
 msgstr "  -a, --all                       exécute VACUUM sur toutes les bases de données\n"
 
-#: vacuumdb.c:1160
+#: vacuumdb.c:1151
 #, c-format
 msgid "      --buffer-usage-limit=SIZE   size of ring buffer used for vacuum\n"
 msgstr "      --buffer-usage-limit=TAILLE taille du buffer spécialisé pour VACUUM\n"
 
-#: vacuumdb.c:1161
+#: vacuumdb.c:1152
 #, c-format
 msgid "  -d, --dbname=DBNAME             database to vacuum\n"
 msgstr "  -d, --dbname=BASE               exécute VACUUM sur cette base de données\n"
 
-#: vacuumdb.c:1162
+#: vacuumdb.c:1153
 #, c-format
 msgid "      --disable-page-skipping     disable all page-skipping behavior\n"
 msgstr "      --disable-page-skipping     désactive le comportement page-skipping\n"
 
-#: vacuumdb.c:1163
+#: vacuumdb.c:1154
 #, c-format
 msgid "  -e, --echo                      show the commands being sent to the server\n"
 msgstr "  -e, --echo                      affiche les commandes envoyées au serveur\n"
 
-#: vacuumdb.c:1164
+#: vacuumdb.c:1155
 #, c-format
 msgid "  -f, --full                      do full vacuuming\n"
 msgstr "  -f, --full                      exécute VACUUM en mode FULL\n"
 
-#: vacuumdb.c:1165
+#: vacuumdb.c:1156
 #, c-format
 msgid "  -F, --freeze                    freeze row transaction information\n"
 msgstr ""
 "  -F, --freeze                    gèle les informations de transactions des\n"
 "                                  lignes\n"
 
-#: vacuumdb.c:1166
+#: vacuumdb.c:1157
 #, c-format
 msgid "      --force-index-cleanup       always remove index entries that point to dead tuples\n"
 msgstr ""
 "      --force-index-cleanup       supprime toujours les enregistrements dans\n"
 "                                  l'index pointant vers des lignes mortes\n"
 
-#: vacuumdb.c:1167
+#: vacuumdb.c:1158
 #, c-format
 msgid "  -j, --jobs=NUM                  use this many concurrent connections to vacuum\n"
 msgstr ""
 "  -j, --jobs=NOMBRE               utilise ce nombre de connexions concurrentes\n"
 "                                  pour le VACUUM\n"
 
-#: vacuumdb.c:1168
+#: vacuumdb.c:1159
 #, c-format
 msgid "      --min-mxid-age=MXID_AGE     minimum multixact ID age of tables to vacuum\n"
 msgstr ""
 "      --min-mxid-age=MXID_AGE     âge minimum des identifiants de\n"
 "                                  multitransactions pour les tables à nettoyer\n"
 
-#: vacuumdb.c:1169
+#: vacuumdb.c:1160
 #, c-format
 msgid "      --min-xid-age=XID_AGE       minimum transaction ID age of tables to vacuum\n"
 msgstr ""
 "      --min-xid-age=XID_AGE       âge minimum des identifiants de transactions\n"
 "                                  pour les tables à nettoyer\n"
 
-#: vacuumdb.c:1170
+#: vacuumdb.c:1161
 #, c-format
 msgid "      --no-index-cleanup          don't remove index entries that point to dead tuples\n"
 msgstr ""
 "      --no-index-cleanup          ne supprime pas les enregistrements dans\n"
 "                                  l'index pointant vers des lignes mortes\n"
 
-#: vacuumdb.c:1171
+#: vacuumdb.c:1162
 #, c-format
 msgid "      --no-process-main           skip the main relation\n"
 msgstr "      --no-process-main           ignore la relation principale\n"
 
-#: vacuumdb.c:1172
+#: vacuumdb.c:1163
 #, c-format
 msgid "      --no-process-toast          skip the TOAST table associated with the table to vacuum\n"
 msgstr ""
 "      --no-process-toast          ignore la table TOAST associée à la table à\n"
 "                                  traiter\n"
 
-#: vacuumdb.c:1173
+#: vacuumdb.c:1164
 #, c-format
 msgid "      --no-truncate               don't truncate empty pages at the end of the table\n"
 msgstr ""
 "      --no-truncate               ne supprime pas les pages vides à la fin de\n"
 "                                  la table\n"
 
-#: vacuumdb.c:1174
+#: vacuumdb.c:1165
 #, c-format
 msgid "  -n, --schema=SCHEMA             vacuum tables in the specified schema(s) only\n"
 msgstr "  -n, --schema=MOTIF              exécute VACUUM uniquement sur les tables des schémas indiqués\n"
 
-#: vacuumdb.c:1175
+#: vacuumdb.c:1166
 #, c-format
 msgid "  -N, --exclude-schema=SCHEMA     do not vacuum tables in the specified schema(s)\n"
 msgstr "  -N, --exclude-schema=MOTIF      n'exécute pas VACUUM sur les tables des schémas indiqués\n"
 
-#: vacuumdb.c:1176
+#: vacuumdb.c:1167
 #, c-format
 msgid "  -P, --parallel=PARALLEL_WORKERS use this many background workers for vacuum, if available\n"
 msgstr ""
 "  -P, --parallel=NOMBRE           utilise ce nombre de processus en tâche de\n"
 "                                  fond pour le VACUUM, si possible\n"
 
-#: vacuumdb.c:1177
+#: vacuumdb.c:1168
 #, c-format
 msgid "  -q, --quiet                     don't write any messages\n"
 msgstr "  -q, --quiet                     n'écrit aucun message\n"
 
-#: vacuumdb.c:1178
+#: vacuumdb.c:1169
 #, c-format
 msgid "      --skip-locked               skip relations that cannot be immediately locked\n"
 msgstr ""
 "      --skip-locked               ignore les relations qui ne peuvent pas être\n"
 "                                  verrouillées immédiatement\n"
 
-#: vacuumdb.c:1179
+#: vacuumdb.c:1170
 #, c-format
 msgid "  -t, --table='TABLE[(COLUMNS)]'  vacuum specific table(s) only\n"
 msgstr "  -t, --table='TABLE[(COLONNES)]' exécute VACUUM sur cette table\n"
 
-#: vacuumdb.c:1180
+#: vacuumdb.c:1171
 #, c-format
 msgid "  -v, --verbose                   write a lot of output\n"
 msgstr "  -v, --verbose                   mode verbeux\n"
 
-#: vacuumdb.c:1181
+#: vacuumdb.c:1172
 #, c-format
 msgid "  -V, --version                   output version information, then exit\n"
 msgstr "  -V, --version                   affiche la version puis quitte\n"
 
-#: vacuumdb.c:1182
+#: vacuumdb.c:1173
 #, c-format
 msgid "  -z, --analyze                   update optimizer statistics\n"
 msgstr "  -z, --analyze                   met à jour les statistiques de l'optimiseur\n"
 
-#: vacuumdb.c:1183
+#: vacuumdb.c:1174
 #, c-format
 msgid "  -Z, --analyze-only              only update optimizer statistics; no vacuum\n"
 msgstr ""
 "  -Z, --analyze-only              met seulement à jour les statistiques de\n"
 "                                  l'optimiseur ; pas de VACUUM\n"
 
-#: vacuumdb.c:1184
+#: vacuumdb.c:1175
 #, c-format
 msgid ""
 "      --analyze-in-stages         only update optimizer statistics, in multiple\n"
@@ -1321,12 +1328,12 @@ msgstr ""
 "                                  l'optimiseur, en plusieurs étapes pour de\n"
 "                                  meilleurs résultats ; pas de VACUUM\n"
 
-#: vacuumdb.c:1186
+#: vacuumdb.c:1177
 #, c-format
 msgid "  -?, --help                      show this help, then exit\n"
 msgstr "  -?, --help                      affiche cette aide puis quitte\n"
 
-#: vacuumdb.c:1194
+#: vacuumdb.c:1185
 #, c-format
 msgid ""
 "\n"
@@ -1481,10 +1488,58 @@ msgstr ""
 #~ msgid "Try \"%s --help\" for more information.\n"
 #~ msgstr "Essayer « %s --help » pour plus d'informations.\n"
 
+#, c-format
+#~ msgid "cannot cluster specific table(s) in all databases"
+#~ msgstr "ne peut pas réorganiser la(les) table(s) spécifique(s) dans toutes les bases de données"
+
+#, c-format
+#~ msgid "cannot exclude specific schema(s) in all databases"
+#~ msgstr "ne peut pas exclure des schémas dans toutes les bases de données"
+
+#, c-format
+#~ msgid "cannot reindex all databases and system catalogs at the same time"
+#~ msgstr "ne peut pas réindexer toutes les bases de données et les catalogues système en même temps"
+
+#, c-format
+#~ msgid "cannot reindex specific index(es) and system catalogs at the same time"
+#~ msgstr "ne peut pas réindexer un (des) index spécifique(s) et les catalogues système en même temps"
+
+#, c-format
+#~ msgid "cannot reindex specific index(es) in all databases"
+#~ msgstr "ne peut pas réindexer un (des) index spécifique(s) dans toutes les bases de données"
+
+#, c-format
+#~ msgid "cannot reindex specific schema(s) and system catalogs at the same time"
+#~ msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) et les catalogues système en même temps"
+
+#, c-format
+#~ msgid "cannot reindex specific schema(s) in all databases"
+#~ msgstr "ne peut pas réindexer un (des) schéma(s) spécifique(s) dans toutes les bases de données"
+
+#, c-format
+#~ msgid "cannot reindex specific table(s) and system catalogs at the same time"
+#~ msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) etles catalogues système en même temps"
+
+#, c-format
+#~ msgid "cannot reindex specific table(s) in all databases"
+#~ msgstr "ne peut pas réindexer une (des) table(s) spécifique(s) dans toutes les bases de données"
+
 #, c-format
 #~ msgid "cannot reindex system catalogs concurrently, skipping all"
 #~ msgstr "ne peut pas réindexer les catalogues système de manière concurrente, ignore tout"
 
+#, c-format
+#~ msgid "cannot use multiple jobs to reindex indexes"
+#~ msgstr "ne peut pas utiliser plusieurs jobs pour réindexer les index"
+
+#, c-format
+#~ msgid "cannot vacuum specific schema(s) in all databases"
+#~ msgstr "ne peut pas exécuter VACUUM sur les schémas spécifiques dans toutes les bases de données"
+
+#, c-format
+#~ msgid "cannot vacuum specific table(s) in all databases"
+#~ msgstr "ne peut pas exécuter VACUUM sur une(des)  table(s) spécifique(s) dans toutes les bases de données"
+
 #~ msgid "could not connect to database %s: %s"
 #~ msgstr "n'a pas pu se connecter à la base de données %s : %s"
 
index fcb6d67fa051ac4a2f21f5047cee67a3ca2796e4..7563583224e05b46d08e8a95d46ab4562b68acc8 100644 (file)
@@ -8,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 15\n"
+"Project-Id-Version: PostgreSQL 17\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2022-04-12 05:16+0000\n"
-"PO-Revision-Date: 2022-04-12 17:29+0200\n"
+"POT-Creation-Date: 2024-08-22 10:09+0000\n"
+"PO-Revision-Date: 2024-08-23 11:40+0200\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
 "Language: fr\n"
@@ -19,226 +19,226 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.4.4\n"
 
-#: plperl.c:408
+#: plperl.c:405
 msgid "If true, trusted and untrusted Perl code will be compiled in strict mode."
 msgstr ""
 "Si true, le code Perl de confiance et sans confiance sera compilé en mode\n"
 "strict."
 
-#: plperl.c:422
+#: plperl.c:419
 msgid "Perl initialization code to execute when a Perl interpreter is initialized."
 msgstr ""
 "Code d'initialisation Perl à exécuter lorsque un interpréteur Perl est\n"
 "initialisé."
 
-#: plperl.c:444
+#: plperl.c:441
 msgid "Perl initialization code to execute once when plperl is first used."
 msgstr "Code d'initialisation Perl à exécuter lorsque plperl est utilisé pour la première fois."
 
-#: plperl.c:452
+#: plperl.c:449
 msgid "Perl initialization code to execute once when plperlu is first used."
 msgstr "Code d'initialisation Perl à exécuter lorsque plperlu est utilisé pour la première fois."
 
-#: plperl.c:646
+#: plperl.c:643
 #, c-format
 msgid "cannot allocate multiple Perl interpreters on this platform"
 msgstr "ne peut pas allouer plusieurs interpréteurs Perl sur cette plateforme"
 
-#: plperl.c:669 plperl.c:853 plperl.c:859 plperl.c:976 plperl.c:988
-#: plperl.c:1031 plperl.c:1054 plperl.c:2138 plperl.c:2246 plperl.c:2314
-#: plperl.c:2377
+#: plperl.c:666 plperl.c:850 plperl.c:856 plperl.c:973 plperl.c:985
+#: plperl.c:1028 plperl.c:1051 plperl.c:2151 plperl.c:2259 plperl.c:2327
+#: plperl.c:2390
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: plperl.c:670
+#: plperl.c:667
 #, c-format
 msgid "while executing PostgreSQL::InServer::SPI::bootstrap"
 msgstr "lors de l'exécution de PostgreSQL::InServer::SPI::bootstrap"
 
-#: plperl.c:854
+#: plperl.c:851
 #, c-format
 msgid "while parsing Perl initialization"
 msgstr "lors de l'analyse de l'initialisation de perl"
 
-#: plperl.c:860
+#: plperl.c:857
 #, c-format
 msgid "while running Perl initialization"
 msgstr "lors de l'exécution de l'initialisation de perl"
 
-#: plperl.c:977
+#: plperl.c:974
 #, c-format
 msgid "while executing PLC_TRUSTED"
 msgstr "lors de l'exécution de PLC_TRUSTED"
 
-#: plperl.c:989
+#: plperl.c:986
 #, c-format
 msgid "while executing utf8fix"
 msgstr "lors de l'exécution de utf8fix"
 
-#: plperl.c:1032
+#: plperl.c:1029
 #, c-format
 msgid "while executing plperl.on_plperl_init"
 msgstr "lors de l'exécution de plperl.on_plperl_init"
 
-#: plperl.c:1055
+#: plperl.c:1052
 #, c-format
 msgid "while executing plperl.on_plperlu_init"
 msgstr "lors de l'exécution de plperl.on_plperlu_init"
 
-#: plperl.c:1101 plperl.c:1791
+#: plperl.c:1098 plperl.c:1804
 #, c-format
 msgid "Perl hash contains nonexistent column \"%s\""
 msgstr "Le hachage Perl contient la colonne « %s » inexistante"
 
-#: plperl.c:1106 plperl.c:1796
+#: plperl.c:1103 plperl.c:1809
 #, c-format
 msgid "cannot set system attribute \"%s\""
 msgstr "ne peut pas initialiser l'attribut système « %s »"
 
-#: plperl.c:1194
-#, c-format
-msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
-msgstr "le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)"
-
-#: plperl.c:1206 plperl.c:1223
+#: plperl.c:1199 plperl.c:1214 plperl.c:1231
 #, c-format
 msgid "multidimensional arrays must have array expressions with matching dimensions"
 msgstr ""
 "les tableaux multidimensionnels doivent avoir des expressions de tableaux\n"
 "avec les dimensions correspondantes"
 
-#: plperl.c:1259
+#: plperl.c:1204
+#, c-format
+msgid "number of array dimensions exceeds the maximum allowed (%d)"
+msgstr "le nombre de dimensions du tableau dépasse le maximum autorisé (%d)"
+
+#: plperl.c:1274
 #, c-format
 msgid "cannot convert Perl array to non-array type %s"
 msgstr "ne peut pas convertir le tableau Perl en un type  %s qui n'est pas un tableau"
 
-#: plperl.c:1362
+#: plperl.c:1375
 #, c-format
 msgid "cannot convert Perl hash to non-composite type %s"
 msgstr "ne peut pas convertir le hachage Perl en un type  %s non composite"
 
-#: plperl.c:1384 plperl.c:3304
+#: plperl.c:1397 plperl.c:3315
 #, c-format
 msgid "function returning record called in context that cannot accept type record"
 msgstr ""
 "fonction renvoyant le type record appelée dans un contexte qui ne peut pas\n"
 "accepter le type record"
 
-#: plperl.c:1445
+#: plperl.c:1458
 #, c-format
 msgid "lookup failed for type %s"
 msgstr "recherche échouée pour le type %s"
 
-#: plperl.c:1766
+#: plperl.c:1779
 #, c-format
 msgid "$_TD->{new} does not exist"
 msgstr "$_TD->{new} n'existe pas"
 
-#: plperl.c:1770
+#: plperl.c:1783
 #, c-format
 msgid "$_TD->{new} is not a hash reference"
 msgstr "$_TD->{new} n'est pas une référence de hachage"
 
-#: plperl.c:1801
+#: plperl.c:1814
 #, c-format
 msgid "cannot set generated column \"%s\""
 msgstr "ne peut pas initialiser la colonne générée « %s »"
 
-#: plperl.c:2013 plperl.c:2854
+#: plperl.c:2026 plperl.c:2867
 #, c-format
 msgid "PL/Perl functions cannot return type %s"
 msgstr "Les fonctions PL/perl ne peuvent pas renvoyer le type %s"
 
-#: plperl.c:2026 plperl.c:2893
+#: plperl.c:2039 plperl.c:2906
 #, c-format
 msgid "PL/Perl functions cannot accept type %s"
 msgstr "Les fonctions PL/perl ne peuvent pas accepter le type %s"
 
-#: plperl.c:2143
+#: plperl.c:2156
 #, c-format
 msgid "didn't get a CODE reference from compiling function \"%s\""
 msgstr "n'a pas obtenu une référence CODE lors de la compilation de la fonction « %s »"
 
-#: plperl.c:2234
+#: plperl.c:2247
 #, c-format
 msgid "didn't get a return item from function"
 msgstr "n'a pas obtenu un élément en retour de la fonction"
 
-#: plperl.c:2278 plperl.c:2345
+#: plperl.c:2291 plperl.c:2358
 #, c-format
 msgid "couldn't fetch $_TD"
 msgstr "n'a pas pu récupérer $_TD"
 
-#: plperl.c:2302 plperl.c:2365
+#: plperl.c:2315 plperl.c:2378
 #, c-format
 msgid "didn't get a return item from trigger function"
 msgstr "n'a pas obtenu un élément en retour de la fonction trigger"
 
-#: plperl.c:2423
+#: plperl.c:2436
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble"
 
-#: plperl.c:2428
+#: plperl.c:2441
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "mode matérialisé requis mais interdit dans ce contexte"
 
-#: plperl.c:2472
+#: plperl.c:2485
 #, c-format
 msgid "set-returning PL/Perl function must return reference to array or use return_next"
 msgstr ""
 "la fonction PL/perl renvoyant des ensembles doit renvoyer la référence à\n"
 "un tableau ou utiliser return_next"
 
-#: plperl.c:2593
+#: plperl.c:2606
 #, c-format
 msgid "ignoring modified row in DELETE trigger"
 msgstr "ignore la ligne modifiée dans le trigger DELETE"
 
-#: plperl.c:2601
+#: plperl.c:2614
 #, c-format
 msgid "result of PL/Perl trigger function must be undef, \"SKIP\", or \"MODIFY\""
 msgstr ""
 "le résultat de la fonction trigger PL/perl doit être undef, « SKIP » ou\n"
 "« MODIFY »"
 
-#: plperl.c:2849
+#: plperl.c:2862
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "les fonctions trigger peuvent seulement être appelées par des triggers"
 
-#: plperl.c:3209
+#: plperl.c:3220
 #, c-format
 msgid "query result has too many rows to fit in a Perl array"
 msgstr "le résultat de la requête contient trop de lignes pour être intégré dans un tableau Perl"
 
-#: plperl.c:3281
+#: plperl.c:3292
 #, c-format
 msgid "cannot use return_next in a non-SETOF function"
 msgstr "ne peut pas utiliser return_next dans une fonction non SETOF"
 
-#: plperl.c:3355
+#: plperl.c:3366
 #, c-format
 msgid "SETOF-composite-returning PL/Perl function must call return_next with reference to hash"
 msgstr ""
 "une fonction PL/perl renvoyant des lignes composites doit appeler\n"
 "return_next avec la référence à un hachage"
 
-#: plperl.c:4137
+#: plperl.c:4148
 #, c-format
 msgid "PL/Perl function \"%s\""
 msgstr "fonction PL/Perl « %s »"
 
-#: plperl.c:4149
+#: plperl.c:4160
 #, c-format
 msgid "compilation of PL/Perl function \"%s\""
 msgstr "compilation de la fonction PL/Perl « %s »"
 
-#: plperl.c:4158
+#: plperl.c:4169
 #, c-format
 msgid "PL/Perl anonymous code block"
 msgstr "bloc de code PL/Perl anonyme"
@@ -257,6 +257,10 @@ msgstr "bloc de code PL/Perl anonyme"
 #~ msgid "error from Perl function \"%s\": %s"
 #~ msgstr "échec dans la fonction Perl « %s » : %s"
 
+#, c-format
+#~ msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)"
+#~ msgstr "le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)"
+
 #~ msgid "out of memory"
 #~ msgstr "mémoire épuisée"
 
index 19676ff681cb8749ceaa905483a5c5df4a6a53cb..2d386e4be06be5a57c71cf73e37000fb032e86b9 100644 (file)
@@ -8,10 +8,10 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: PostgreSQL 15\n"
+"Project-Id-Version: PostgreSQL 17\n"
 "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n"
-"POT-Creation-Date: 2022-04-12 05:16+0000\n"
-"PO-Revision-Date: 2022-04-12 17:29+0200\n"
+"POT-Creation-Date: 2024-08-22 10:09+0000\n"
+"PO-Revision-Date: 2024-08-23 11:42+0200\n"
 "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n"
 "Language-Team: French <guillaume@lelarge.info>\n"
 "Language: fr\n"
@@ -19,161 +19,176 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: Poedit 3.0.1\n"
+"X-Generator: Poedit 3.4.4\n"
 
-#: pl_comp.c:438 pl_handler.c:496
+#: pl_comp.c:434 pl_handler.c:496
 #, c-format
 msgid "PL/pgSQL functions cannot accept type %s"
 msgstr "les fonctions PL/pgSQL ne peuvent pas accepter le type %s"
 
-#: pl_comp.c:530
+#: pl_comp.c:526
 #, c-format
 msgid "could not determine actual return type for polymorphic function \"%s\""
 msgstr "n'a pas pu déterminer le type de retour pour la fonction polymorphique « %s »"
 
-#: pl_comp.c:560
+#: pl_comp.c:556
 #, c-format
 msgid "trigger functions can only be called as triggers"
 msgstr "les fonctions trigger peuvent seulement être appelées par des triggers"
 
-#: pl_comp.c:564 pl_handler.c:480
+#: pl_comp.c:560 pl_handler.c:480
 #, c-format
 msgid "PL/pgSQL functions cannot return type %s"
 msgstr "les fonctions PL/pgSQL ne peuvent pas renvoyer le type %s"
 
-#: pl_comp.c:604
+#: pl_comp.c:600
 #, c-format
 msgid "trigger functions cannot have declared arguments"
 msgstr "les fonctions triggers ne peuvent pas avoir d'arguments déclarés"
 
-#: pl_comp.c:605
+#: pl_comp.c:601
 #, c-format
 msgid "The arguments of the trigger can be accessed through TG_NARGS and TG_ARGV instead."
 msgstr "À la place, on peut accéder aux arguments du trigger par TG_NARGS et TG_ARGV."
 
-#: pl_comp.c:738
+#: pl_comp.c:734
 #, c-format
 msgid "event trigger functions cannot have declared arguments"
 msgstr "les fonctions triggers sur événement ne peuvent pas avoir des arguments déclarés"
 
-#: pl_comp.c:1002
+#: pl_comp.c:998
 #, c-format
 msgid "compilation of PL/pgSQL function \"%s\" near line %d"
 msgstr "compilation de la fonction PL/pgSQL « %s » près de la ligne %d"
 
-#: pl_comp.c:1025
+#: pl_comp.c:1021
 #, c-format
 msgid "parameter name \"%s\" used more than once"
 msgstr "le nom du paramètre « %s » est utilisé plus d'une fois"
 
-#: pl_comp.c:1139
+#: pl_comp.c:1135
 #, c-format
 msgid "column reference \"%s\" is ambiguous"
 msgstr "la référence à la colonne « %s » est ambigüe"
 
-#: pl_comp.c:1141
+#: pl_comp.c:1137
 #, c-format
 msgid "It could refer to either a PL/pgSQL variable or a table column."
 msgstr "Cela pourrait faire référence à une variable PL/pgSQL ou à la colonne d'une table."
 
-#: pl_comp.c:1324 pl_exec.c:5216 pl_exec.c:5389 pl_exec.c:5476 pl_exec.c:5567
-#: pl_exec.c:6588
+#: pl_comp.c:1314 pl_exec.c:5260 pl_exec.c:5433 pl_exec.c:5520 pl_exec.c:5611
+#: pl_exec.c:6636
 #, c-format
 msgid "record \"%s\" has no field \"%s\""
 msgstr "l'enregistrement « %s » n'a pas de champs « %s »"
 
-#: pl_comp.c:1818
+#: pl_comp.c:1633 pl_gram.y:645 pl_gram.y:660 pl_gram.y:686
+#, c-format
+msgid "variable \"%s\" does not exist"
+msgstr "la variable « %s » n'existe pas"
+
+#: pl_comp.c:1722
+#, c-format
+msgid "column \"%s\" of relation \"%s\" does not exist"
+msgstr "la colonne « %s » de la relation « %s » n'existe pas"
+
+#: pl_comp.c:1775
 #, c-format
 msgid "relation \"%s\" does not exist"
 msgstr "la relation « %s » n'existe pas"
 
-#: pl_comp.c:1825 pl_comp.c:1867
+#: pl_comp.c:1782 pl_comp.c:1820
 #, c-format
 msgid "relation \"%s\" does not have a composite type"
 msgstr "la relation « %s » n'a pas un type composite"
 
-#: pl_comp.c:1933
+#: pl_comp.c:1886
 #, c-format
 msgid "variable \"%s\" has pseudo-type %s"
 msgstr "la variable « %s » a le pseudo-type %s"
 
-#: pl_comp.c:2122
+#: pl_comp.c:2075
 #, c-format
 msgid "type \"%s\" is only a shell"
 msgstr "le type « %s » n'est qu'une coquille"
 
-#: pl_comp.c:2204 pl_exec.c:6889
+#: pl_comp.c:2157 pl_exec.c:6937
 #, c-format
 msgid "type %s is not composite"
 msgstr "le type %s n'est pas un type composite"
 
-#: pl_comp.c:2252 pl_comp.c:2305
+#: pl_comp.c:2193
+#, c-format
+msgid "could not find array type for data type %s"
+msgstr "n'a pas pu trouver de type tableau pour le type de données %s"
+
+#: pl_comp.c:2232 pl_comp.c:2285
 #, c-format
 msgid "unrecognized exception condition \"%s\""
 msgstr "condition d'exception non reconnue « %s »"
 
-#: pl_comp.c:2526
+#: pl_comp.c:2514
 #, c-format
 msgid "could not determine actual argument type for polymorphic function \"%s\""
 msgstr "n'a pas pu déterminer le type d'argument pour la fonction polymorphique « %s »"
 
-#: pl_exec.c:500 pl_exec.c:939 pl_exec.c:1174
+#: pl_exec.c:512 pl_exec.c:951 pl_exec.c:1186
 msgid "during initialization of execution state"
 msgstr "durant l'initialisation de l'état de la fonction"
 
-#: pl_exec.c:506
+#: pl_exec.c:518
 msgid "while storing call arguments into local variables"
 msgstr "lors du stockage des arguments dans les variables locales"
 
-#: pl_exec.c:594 pl_exec.c:1012
+#: pl_exec.c:606 pl_exec.c:1024
 msgid "during function entry"
 msgstr "durant l'entrée d'une fonction"
 
-#: pl_exec.c:617
+#: pl_exec.c:629
 #, c-format
 msgid "control reached end of function without RETURN"
 msgstr "le contrôle a atteint la fin de la fonction sans RETURN"
 
-#: pl_exec.c:623
+#: pl_exec.c:635
 msgid "while casting return value to function's return type"
 msgstr "lors de la conversion de la valeur de retour au type de retour de la fonction"
 
-#: pl_exec.c:635 pl_exec.c:3656
+#: pl_exec.c:647 pl_exec.c:3683
 #, c-format
 msgid "set-valued function called in context that cannot accept a set"
 msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble"
 
-#: pl_exec.c:640 pl_exec.c:3662
+#: pl_exec.c:652 pl_exec.c:3689
 #, c-format
 msgid "materialize mode required, but it is not allowed in this context"
 msgstr "mode matérialisé requis mais interdit dans ce contexte"
 
-#: pl_exec.c:767 pl_exec.c:1038 pl_exec.c:1196
+#: pl_exec.c:779 pl_exec.c:1050 pl_exec.c:1208
 msgid "during function exit"
 msgstr "lors de la sortie de la fonction"
 
-#: pl_exec.c:822 pl_exec.c:886 pl_exec.c:3455
+#: pl_exec.c:834 pl_exec.c:898 pl_exec.c:3482
 msgid "returned record type does not match expected record type"
 msgstr "le type d'enregistrement renvoyé ne correspond pas au type d'enregistrement attendu"
 
-#: pl_exec.c:1035 pl_exec.c:1193
+#: pl_exec.c:1047 pl_exec.c:1205
 #, c-format
 msgid "control reached end of trigger procedure without RETURN"
 msgstr "le contrôle a atteint la fin de la procédure trigger sans RETURN"
 
-#: pl_exec.c:1043
+#: pl_exec.c:1055
 #, c-format
 msgid "trigger procedure cannot return a set"
 msgstr "une procédure trigger ne peut pas renvoyer un ensemble"
 
-#: pl_exec.c:1082 pl_exec.c:1110
+#: pl_exec.c:1094 pl_exec.c:1122
 msgid "returned row structure does not match the structure of the triggering table"
 msgstr "la structure de ligne renvoyée ne correspond pas à la structure de la table du trigger"
 
 #. translator: last %s is a phrase such as "during statement block
 #. local variable initialization"
 #.
-#: pl_exec.c:1251
+#: pl_exec.c:1263
 #, c-format
 msgid "PL/pgSQL function %s line %d %s"
 msgstr "fonction PL/pgSQL %s, ligne %d, %s"
@@ -181,49 +196,49 @@ msgstr "fonction PL/pgSQL %s, ligne %d, %s"
 #. translator: last %s is a phrase such as "while storing call
 #. arguments into local variables"
 #.
-#: pl_exec.c:1262
+#: pl_exec.c:1274
 #, c-format
 msgid "PL/pgSQL function %s %s"
 msgstr "fonction PL/pgSQL %s, %s"
 
 #. translator: last %s is a plpgsql statement type name
-#: pl_exec.c:1270
+#: pl_exec.c:1282
 #, c-format
 msgid "PL/pgSQL function %s line %d at %s"
 msgstr "fonction PL/pgSQL %s, ligne %d à %s"
 
-#: pl_exec.c:1276
+#: pl_exec.c:1288
 #, c-format
 msgid "PL/pgSQL function %s"
 msgstr "fonction PL/pgSQL %s"
 
-#: pl_exec.c:1647
+#: pl_exec.c:1659
 msgid "during statement block local variable initialization"
 msgstr "lors de l'initialisation des variables locales du bloc d'instructions"
 
-#: pl_exec.c:1752
+#: pl_exec.c:1764
 msgid "during statement block entry"
 msgstr "lors de l'entrée dans le bloc d'instructions"
 
-#: pl_exec.c:1784
+#: pl_exec.c:1796
 msgid "during statement block exit"
 msgstr "lors de la sortie du bloc d'instructions"
 
-#: pl_exec.c:1822
+#: pl_exec.c:1834
 msgid "during exception cleanup"
 msgstr "lors du nettoyage de l'exception"
 
-#: pl_exec.c:2355
+#: pl_exec.c:2370
 #, c-format
 msgid "procedure parameter \"%s\" is an output parameter but corresponding argument is not writable"
 msgstr "le paramètre de la procédure « %s » est un argument en sortie mais l'argument correspondant n'est pas modifiable"
 
-#: pl_exec.c:2360
+#: pl_exec.c:2375
 #, c-format
 msgid "procedure parameter %d is an output parameter but corresponding argument is not writable"
 msgstr "le paramètre de la procédure %d est un paramètre en sortie mais l'argument correspondant n'est pas modifiable"
 
-#: pl_exec.c:2394
+#: pl_exec.c:2411
 #, c-format
 msgid "GET STACKED DIAGNOSTICS cannot be used outside an exception handler"
 msgstr "GET STACKED DIAGNOSTICS ne peut pas être utilisé à l'extérieur d'un gestionnaire d'exception"
@@ -234,288 +249,293 @@ msgstr "GET STACKED DIAGNOSTICS ne peut pas être utilisé à l'extérieur d'un
 #                 (errcode(ERRCODE_CASE_NOT_FOUND),
 #                  errmsg("case not found"),
 #                  errhint("CASE statement is missing ELSE part.")));
-#: pl_exec.c:2594
+#: pl_exec.c:2617
 #, c-format
 msgid "case not found"
 msgstr "cas introuvable"
 
-#: pl_exec.c:2595
+#: pl_exec.c:2618
 #, c-format
 msgid "CASE statement is missing ELSE part."
 msgstr "l'instruction CASE n'a pas de partie ELSE."
 
-#: pl_exec.c:2688
+#: pl_exec.c:2711
 #, c-format
 msgid "lower bound of FOR loop cannot be null"
 msgstr "la limite inférieure d'une boucle FOR ne peut pas être NULL"
 
-#: pl_exec.c:2704
+#: pl_exec.c:2727
 #, c-format
 msgid "upper bound of FOR loop cannot be null"
 msgstr "la limite supérieure de la boucle FOR ne peut pas être NULL"
 
-#: pl_exec.c:2722
+#: pl_exec.c:2745
 #, c-format
 msgid "BY value of FOR loop cannot be null"
 msgstr "la valeur BY d'une boucle FOR ne peut pas être NULL"
 
-#: pl_exec.c:2728
+#: pl_exec.c:2751
 #, c-format
 msgid "BY value of FOR loop must be greater than zero"
 msgstr "la valeur BY d'une boucle FOR doit être plus grande que zéro"
 
-#: pl_exec.c:2862 pl_exec.c:4658
+#: pl_exec.c:2885 pl_exec.c:4693
 #, c-format
 msgid "cursor \"%s\" already in use"
 msgstr "curseur « %s » déjà en cours d'utilisation"
 
-#: pl_exec.c:2885 pl_exec.c:4723
+#: pl_exec.c:2908 pl_exec.c:4763
 #, c-format
 msgid "arguments given for cursor without arguments"
 msgstr "arguments fournis pour un curseur sans argument"
 
-#: pl_exec.c:2904 pl_exec.c:4742
+#: pl_exec.c:2927 pl_exec.c:4782
 #, c-format
 msgid "arguments required for cursor"
 msgstr "arguments requis pour le curseur"
 
-#: pl_exec.c:2991
+#: pl_exec.c:3018
 #, c-format
 msgid "FOREACH expression must not be null"
 msgstr "l'expression FOREACH ne doit pas être NULL"
 
-#: pl_exec.c:3006
+#: pl_exec.c:3033
 #, c-format
 msgid "FOREACH expression must yield an array, not type %s"
 msgstr "l'expression FOREACH doit renvoyer un tableau, pas un type %s"
 
-#: pl_exec.c:3023
+#: pl_exec.c:3050
 #, c-format
 msgid "slice dimension (%d) is out of the valid range 0..%d"
 msgstr "la dimension de la partie (%d) est en dehors des valeurs valides (0..%d)"
 
-#: pl_exec.c:3050
+#: pl_exec.c:3077
 #, c-format
 msgid "FOREACH ... SLICE loop variable must be of an array type"
 msgstr "la variable d'une boucle FOREACH ... SLICE doit être d'un type tableau"
 
-#: pl_exec.c:3054
+#: pl_exec.c:3081
 #, c-format
 msgid "FOREACH loop variable must not be of an array type"
 msgstr "la valeur d'une boucle FOREACH ne doit pas être de type tableau"
 
-#: pl_exec.c:3216 pl_exec.c:3273 pl_exec.c:3448
+#: pl_exec.c:3243 pl_exec.c:3300 pl_exec.c:3475
 #, c-format
 msgid "cannot return non-composite value from function returning composite type"
 msgstr "ne peut pas renvoyer de valeurs non composites à partir d'une fonction renvoyant un type composite"
 
-#: pl_exec.c:3312 pl_gram.y:3318
+#: pl_exec.c:3339 pl_gram.y:3375
 #, c-format
 msgid "cannot use RETURN NEXT in a non-SETOF function"
 msgstr "ne peut pas utiliser RETURN NEXT dans une fonction non SETOF"
 
-#: pl_exec.c:3353 pl_exec.c:3485
+#: pl_exec.c:3380 pl_exec.c:3512
 #, c-format
 msgid "wrong result type supplied in RETURN NEXT"
 msgstr "mauvais type de résultat fourni dans RETURN NEXT"
 
-#: pl_exec.c:3391 pl_exec.c:3412
+#: pl_exec.c:3418 pl_exec.c:3439
 #, c-format
 msgid "wrong record type supplied in RETURN NEXT"
 msgstr "mauvais type d'enregistrement fourni à RETURN NEXT"
 
-#: pl_exec.c:3504
+#: pl_exec.c:3531
 #, c-format
 msgid "RETURN NEXT must have a parameter"
 msgstr "RETURN NEXT doit avoir un paramètre"
 
-#: pl_exec.c:3532 pl_gram.y:3382
+#: pl_exec.c:3559 pl_gram.y:3439
 #, c-format
 msgid "cannot use RETURN QUERY in a non-SETOF function"
 msgstr "ne peut pas utiliser RETURN QUERY dans une fonction non SETOF"
 
-#: pl_exec.c:3550
+#: pl_exec.c:3577
 msgid "structure of query does not match function result type"
 msgstr "la structure de la requête ne correspond pas au type de résultat de la fonction"
 
-#: pl_exec.c:3605 pl_exec.c:4435 pl_exec.c:8630
+#: pl_exec.c:3632 pl_exec.c:4469 pl_exec.c:8759
 #, c-format
 msgid "query string argument of EXECUTE is null"
 msgstr "l'argument de la requête d'EXECUTE est NULL"
 
-#: pl_exec.c:3690 pl_exec.c:3828
+#: pl_exec.c:3717 pl_exec.c:3855
 #, c-format
 msgid "RAISE option already specified: %s"
 msgstr "option RAISE déjà spécifiée : %s"
 
-#: pl_exec.c:3724
+#: pl_exec.c:3751
 #, c-format
 msgid "RAISE without parameters cannot be used outside an exception handler"
 msgstr "RAISE sans paramètre ne peut pas être utilisé sans un gestionnaire d'exceptions"
 
-#: pl_exec.c:3818
+#: pl_exec.c:3845
 #, c-format
 msgid "RAISE statement option cannot be null"
 msgstr "l'option de l'instruction RAISE ne peut pas être NULL"
 
-#: pl_exec.c:3888
+#: pl_exec.c:3915
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: pl_exec.c:3943
+#: pl_exec.c:3970
 #, c-format
 msgid "assertion failed"
 msgstr "échec de l'assertion"
 
-#: pl_exec.c:4308 pl_exec.c:4497
+#: pl_exec.c:4342 pl_exec.c:4532
 #, c-format
 msgid "cannot COPY to/from client in PL/pgSQL"
 msgstr "ne peut pas utiliser COPY vers/depuis un client en PL/pgSQL"
 
-#: pl_exec.c:4314
+#: pl_exec.c:4348
 #, c-format
 msgid "unsupported transaction command in PL/pgSQL"
 msgstr "commande de transaction non supportée dans PL/pgSQL"
 
-#: pl_exec.c:4337 pl_exec.c:4526
+#: pl_exec.c:4371 pl_exec.c:4561
 #, c-format
 msgid "INTO used with a command that cannot return data"
 msgstr "INTO utilisé dans une commande qui ne peut pas envoyer de données"
 
-#: pl_exec.c:4360 pl_exec.c:4549
+#: pl_exec.c:4394 pl_exec.c:4584
 #, c-format
 msgid "query returned no rows"
 msgstr "la requête n'a renvoyé aucune ligne"
 
-#: pl_exec.c:4382 pl_exec.c:4568 pl_exec.c:5711
+#: pl_exec.c:4416 pl_exec.c:4603 pl_exec.c:5755
 #, c-format
 msgid "query returned more than one row"
 msgstr "la requête a renvoyé plus d'une ligne"
 
-#: pl_exec.c:4384
+#: pl_exec.c:4418
 #, c-format
 msgid "Make sure the query returns a single row, or use LIMIT 1."
 msgstr "Assurez-vous que la requête ne renvoie qu'une seule ligne ou utilisez LIMIT 1."
 
-#: pl_exec.c:4400
+#: pl_exec.c:4434
 #, c-format
 msgid "query has no destination for result data"
 msgstr "la requête n'a pas de destination pour les données résultantes"
 
-#: pl_exec.c:4401
+#: pl_exec.c:4435
 #, c-format
 msgid "If you want to discard the results of a SELECT, use PERFORM instead."
 msgstr "Si vous voulez ignorer le résultat d'un SELECT, utilisez PERFORM à la place."
 
-#: pl_exec.c:4489
+#: pl_exec.c:4524
 #, c-format
 msgid "EXECUTE of SELECT ... INTO is not implemented"
 msgstr "EXECUTE n'est pas implementé pour SELECT ... INTO"
 
-#: pl_exec.c:4490
+#: pl_exec.c:4525
 #, c-format
 msgid "You might want to use EXECUTE ... INTO or EXECUTE CREATE TABLE ... AS instead."
 msgstr "Vous pouvez aussi utiliser EXECUTE ... INTO ou EXECUTE CREATE TABLE ... AS à la place."
 
-#: pl_exec.c:4503
+#: pl_exec.c:4538
 #, c-format
 msgid "EXECUTE of transaction commands is not implemented"
 msgstr "EXECUTE pour les commandes de transactions n'est pas implémenté"
 
-#: pl_exec.c:4804 pl_exec.c:4892
+#: pl_exec.c:4848 pl_exec.c:4936
 #, c-format
 msgid "cursor variable \"%s\" is null"
 msgstr "la variable du curseur « %s » est NULL"
 
-#: pl_exec.c:4815 pl_exec.c:4903
+#: pl_exec.c:4859 pl_exec.c:4947
 #, c-format
 msgid "cursor \"%s\" does not exist"
 msgstr "le curseur « %s » n'existe pas"
 
-#: pl_exec.c:4828
+#: pl_exec.c:4872
 #, c-format
 msgid "relative or absolute cursor position is null"
 msgstr "la position relative ou absolue du curseur est NULL"
 
-#: pl_exec.c:5066 pl_exec.c:5161
+#: pl_exec.c:5110 pl_exec.c:5205
 #, c-format
 msgid "null value cannot be assigned to variable \"%s\" declared NOT NULL"
 msgstr "une valeur NULL ne peut pas être affectée à la variable « %s » déclarée non NULL"
 
-#: pl_exec.c:5142
+#: pl_exec.c:5186
 #, c-format
 msgid "cannot assign non-composite value to a row variable"
 msgstr "ne peut pas affecter une valeur non composite à une variable de type ROW"
 
-#: pl_exec.c:5174
+#: pl_exec.c:5218
 #, c-format
 msgid "cannot assign non-composite value to a record variable"
 msgstr "ne peut pas affecter une valeur non composite à une variable RECORD"
 
-#: pl_exec.c:5225
+#: pl_exec.c:5269
 #, c-format
 msgid "cannot assign to system column \"%s\""
 msgstr "ne peut pas affecter à une colonne système « %s »"
 
-#: pl_exec.c:5674
+#: pl_exec.c:5718
 #, c-format
 msgid "query did not return data"
 msgstr "la requête n'a pas renvoyé de données"
 
-#: pl_exec.c:5675 pl_exec.c:5687 pl_exec.c:5712 pl_exec.c:5788 pl_exec.c:5793
+#: pl_exec.c:5719 pl_exec.c:5731 pl_exec.c:5756 pl_exec.c:5832 pl_exec.c:5837
 #, c-format
 msgid "query: %s"
 msgstr "requête : %s"
 
-#: pl_exec.c:5683
+#: pl_exec.c:5727
 #, c-format
 msgid "query returned %d column"
 msgid_plural "query returned %d columns"
 msgstr[0] "la requête a renvoyé %d colonne"
 msgstr[1] "la requête a renvoyé %d colonnes"
 
-#: pl_exec.c:5787
+#: pl_exec.c:5831
 #, c-format
 msgid "query is SELECT INTO, but it should be plain SELECT"
 msgstr "la requête est SELECT INTO, alors qu'elle devrait être un simple SELECT"
 
-#: pl_exec.c:5792
+#: pl_exec.c:5836
 #, c-format
 msgid "query is not a SELECT"
 msgstr "la requête n'est pas un SELECT"
 
-#: pl_exec.c:6602 pl_exec.c:6642 pl_exec.c:6682
+#: pl_exec.c:6650 pl_exec.c:6690 pl_exec.c:6730
 #, c-format
 msgid "type of parameter %d (%s) does not match that when preparing the plan (%s)"
 msgstr "le type de paramètre %d (%s) ne correspond pas à celui préparé dans le plan (%s)"
 
-#: pl_exec.c:7093 pl_exec.c:7127 pl_exec.c:7201 pl_exec.c:7227
+#: pl_exec.c:7141 pl_exec.c:7175 pl_exec.c:7249 pl_exec.c:7275
 #, c-format
 msgid "number of source and target fields in assignment does not match"
 msgstr "le nombre de champs source et celui de champs cible dans l'affectation ne correspondent pas"
 
 #. translator: %s represents a name of an extra check
-#: pl_exec.c:7095 pl_exec.c:7129 pl_exec.c:7203 pl_exec.c:7229
+#: pl_exec.c:7143 pl_exec.c:7177 pl_exec.c:7251 pl_exec.c:7277
 #, c-format
 msgid "%s check of %s is active."
 msgstr "%s vérification de %s est active."
 
-#: pl_exec.c:7099 pl_exec.c:7133 pl_exec.c:7207 pl_exec.c:7233
+#: pl_exec.c:7147 pl_exec.c:7181 pl_exec.c:7255 pl_exec.c:7281
 #, c-format
 msgid "Make sure the query returns the exact list of columns."
 msgstr "Assurez-vous que la requête renvoie la liste exacte des colonnes."
 
-#: pl_exec.c:7620
+#: pl_exec.c:7668
 #, c-format
 msgid "record \"%s\" is not assigned yet"
 msgstr "l'enregistrement « %s » n'est pas encore affecté"
 
-#: pl_exec.c:7621
+#: pl_exec.c:7669
 #, c-format
 msgid "The tuple structure of a not-yet-assigned record is indeterminate."
 msgstr "La structure de ligne d'un enregistrement pas encore affecté est indéterminée."
 
+#: pl_exec.c:8357 pl_gram.y:3498
+#, c-format
+msgid "variable \"%s\" is declared CONSTANT"
+msgstr "la variable « %s » est déclarée CONSTANT"
+
 #: pl_funcs.c:237
 msgid "statement block"
 msgstr "bloc d'instructions"
@@ -548,280 +568,274 @@ msgstr "instruction SQL"
 msgid "FOR over EXECUTE statement"
 msgstr "FOR sur une instruction EXECUTE"
 
-#: pl_gram.y:486
+#: pl_gram.y:485
 #, c-format
 msgid "block label must be placed before DECLARE, not after"
 msgstr "le label du bloc doit être placé avant DECLARE, et non pas après"
 
-#: pl_gram.y:506
+#: pl_gram.y:505
 #, c-format
 msgid "collations are not supported by type %s"
 msgstr "les collationnements ne sont pas supportés par le type %s"
 
-#: pl_gram.y:525
+#: pl_gram.y:524
 #, c-format
 msgid "variable \"%s\" must have a default value, since it's declared NOT NULL"
 msgstr "la variable « %s » doit avoir une valeur par défaut car elle est déclarée NOT NULL"
 
-#: pl_gram.y:673 pl_gram.y:688 pl_gram.y:714
-#, c-format
-msgid "variable \"%s\" does not exist"
-msgstr "la variable « %s » n'existe pas"
-
-#: pl_gram.y:732 pl_gram.y:760
+#: pl_gram.y:704 pl_gram.y:732
 msgid "duplicate declaration"
 msgstr "déclaration dupliquée"
 
-#: pl_gram.y:743 pl_gram.y:771
+#: pl_gram.y:715 pl_gram.y:743
 #, c-format
 msgid "variable \"%s\" shadows a previously defined variable"
 msgstr "la variable « %s » cache une variable définie précédemment"
 
-#: pl_gram.y:1043
+#: pl_gram.y:1017
 #, c-format
 msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS"
 msgstr "l'élément %s de diagnostique n'est pas autorisé dans GET STACKED DIAGNOSTICS"
 
-#: pl_gram.y:1061
+#: pl_gram.y:1035
 #, c-format
 msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS"
 msgstr "l'élément %s de diagnostique n'est pas autorisé dans GET CURRENT DIAGNOSTICS"
 
-#: pl_gram.y:1156
+#: pl_gram.y:1133
 msgid "unrecognized GET DIAGNOSTICS item"
 msgstr "élément GET DIAGNOSTICS non reconnu"
 
-#: pl_gram.y:1172 pl_gram.y:3557
+#: pl_gram.y:1149 pl_gram.y:3614
 #, c-format
 msgid "\"%s\" is not a scalar variable"
 msgstr "« %s » n'est pas une variable scalaire"
 
-#: pl_gram.y:1402 pl_gram.y:1596
+#: pl_gram.y:1379 pl_gram.y:1572
 #, c-format
 msgid "loop variable of loop over rows must be a record variable or list of scalar variables"
 msgstr "la variable d'une boucle sur des lignes doit être une variable de type record ou une liste de variables scalaires"
 
-#: pl_gram.y:1437
+#: pl_gram.y:1414
 #, c-format
 msgid "cursor FOR loop must have only one target variable"
 msgstr "le curseur de la boucle FOR ne doit avoir qu'une seule variable cible"
 
-#: pl_gram.y:1444
+#: pl_gram.y:1421
 #, c-format
 msgid "cursor FOR loop must use a bound cursor variable"
 msgstr "le curseur de la boucle FOR doit utiliser une variable d'un curseur lié"
 
-#: pl_gram.y:1535
+#: pl_gram.y:1511
 #, c-format
 msgid "integer FOR loop must have only one target variable"
 msgstr "une boucle FOR de type entier ne doit avoir qu'une seule variable cible"
 
-#: pl_gram.y:1569
+#: pl_gram.y:1545
 #, c-format
 msgid "cannot specify REVERSE in query FOR loop"
 msgstr "ne peut pas spécifier REVERSE dans la requête d'une boucle FOR"
 
-#: pl_gram.y:1699
+#: pl_gram.y:1675
 #, c-format
 msgid "loop variable of FOREACH must be a known variable or list of variables"
 msgstr "la variable d'une boucle FOREACH doit être une variable connue ou une liste de variables"
 
-#: pl_gram.y:1741
+#: pl_gram.y:1717
 #, c-format
 msgid "there is no label \"%s\" attached to any block or loop enclosing this statement"
 msgstr "il n'existe pas de label « %s » attaché à un bloc ou à une boucle englobant cette instruction"
 
-#: pl_gram.y:1749
+#: pl_gram.y:1725
 #, c-format
 msgid "block label \"%s\" cannot be used in CONTINUE"
 msgstr "le label de bloc « %s » ne peut pas être utilisé avec CONTINUE"
 
-#: pl_gram.y:1764
+#: pl_gram.y:1740
 #, c-format
 msgid "EXIT cannot be used outside a loop, unless it has a label"
 msgstr "EXIT ne peut pas être utilisé à l'extérieur d'une boucle, sauf s'il a un label"
 
-#: pl_gram.y:1765
+#: pl_gram.y:1741
 #, c-format
 msgid "CONTINUE cannot be used outside a loop"
 msgstr "CONTINUE ne peut pas être utilisé à l'extérieur d'une boucle"
 
-#: pl_gram.y:1789 pl_gram.y:1827 pl_gram.y:1875 pl_gram.y:3004 pl_gram.y:3092
-#: pl_gram.y:3203 pl_gram.y:3956
+#: pl_gram.y:1765 pl_gram.y:1803 pl_gram.y:1851 pl_gram.y:3061 pl_gram.y:3149
+#: pl_gram.y:3260 pl_gram.y:4009
 msgid "unexpected end of function definition"
 msgstr "fin inattendue de la définition de la fonction"
 
-#: pl_gram.y:1895 pl_gram.y:1919 pl_gram.y:1935 pl_gram.y:1941 pl_gram.y:2066
-#: pl_gram.y:2074 pl_gram.y:2088 pl_gram.y:2183 pl_gram.y:2407 pl_gram.y:2497
-#: pl_gram.y:2655 pl_gram.y:3799 pl_gram.y:3860 pl_gram.y:3937
+#: pl_gram.y:1871 pl_gram.y:1895 pl_gram.y:1911 pl_gram.y:1917 pl_gram.y:2042
+#: pl_gram.y:2050 pl_gram.y:2064 pl_gram.y:2159 pl_gram.y:2383 pl_gram.y:2473
+#: pl_gram.y:2632 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3990
 msgid "syntax error"
 msgstr "erreur de syntaxe"
 
-#: pl_gram.y:1923 pl_gram.y:1925 pl_gram.y:2411 pl_gram.y:2413
+#: pl_gram.y:1899 pl_gram.y:1901 pl_gram.y:2387 pl_gram.y:2389
 msgid "invalid SQLSTATE code"
 msgstr "code SQLSTATE invalide"
 
-#: pl_gram.y:2131
+#: pl_gram.y:2107
 msgid "syntax error, expected \"FOR\""
 msgstr "erreur de syntaxe, « FOR » attendu"
 
-#: pl_gram.y:2192
+#: pl_gram.y:2168
 #, c-format
 msgid "FETCH statement cannot return multiple rows"
 msgstr "l'instruction FETCH ne peut pas renvoyer plusieurs lignes"
 
-#: pl_gram.y:2289
+#: pl_gram.y:2265
 #, c-format
 msgid "cursor variable must be a simple variable"
 msgstr "la variable de curseur doit être une variable simple"
 
-#: pl_gram.y:2295
+#: pl_gram.y:2271
 #, c-format
 msgid "variable \"%s\" must be of type cursor or refcursor"
 msgstr "la variable « %s » doit être de type cursor ou refcursor"
 
-#: pl_gram.y:2626 pl_gram.y:2637
+#: pl_gram.y:2603 pl_gram.y:2614
 #, c-format
 msgid "\"%s\" is not a known variable"
 msgstr "« %s » n'est pas une variable connue"
 
-#: pl_gram.y:2743 pl_gram.y:2753 pl_gram.y:2909
+#: pl_gram.y:2719 pl_gram.y:2729 pl_gram.y:2911
 msgid "mismatched parentheses"
 msgstr "parenthèses non correspondantes"
 
-#: pl_gram.y:2757
+#: pl_gram.y:2733
 #, c-format
 msgid "missing \"%s\" at end of SQL expression"
 msgstr "« %s » manquant à la fin de l'expression SQL"
 
-#: pl_gram.y:2763
+#: pl_gram.y:2739
 #, c-format
 msgid "missing \"%s\" at end of SQL statement"
 msgstr "« %s » manquant à la fin de l'instruction SQL"
 
-#: pl_gram.y:2780
+#: pl_gram.y:2758
 msgid "missing expression"
 msgstr "expression manquante"
 
-#: pl_gram.y:2782
+#: pl_gram.y:2760
 msgid "missing SQL statement"
 msgstr "instruction SQL manquante"
 
-#: pl_gram.y:2911
+#: pl_gram.y:2889
+msgid "syntax error, expected \"]\""
+msgstr "erreur de syntaxe, « ] » attendu"
+
+#: pl_gram.y:2913
 msgid "incomplete data type declaration"
 msgstr "déclaration incomplète d'un type de données"
 
-#: pl_gram.y:2934
+#: pl_gram.y:2936
 msgid "missing data type declaration"
 msgstr "déclaration manquante d'un type de données"
 
-#: pl_gram.y:3014
+#: pl_gram.y:3071
 msgid "INTO specified more than once"
 msgstr "INTO spécifié plus d'une fois"
 
-#: pl_gram.y:3184
+#: pl_gram.y:3241
 msgid "expected FROM or IN"
 msgstr "attendait FROM ou IN"
 
-#: pl_gram.y:3245
+#: pl_gram.y:3302
 #, c-format
 msgid "RETURN cannot have a parameter in function returning set"
 msgstr "RETURN ne peut pas avoir de paramètre dans une fonction renvoyant un ensemble"
 
-#: pl_gram.y:3246
+#: pl_gram.y:3303
 #, c-format
 msgid "Use RETURN NEXT or RETURN QUERY."
 msgstr "Utilisez RETURN NEXT ou RETURN QUERY."
 
-#: pl_gram.y:3256
+#: pl_gram.y:3313
 #, c-format
 msgid "RETURN cannot have a parameter in a procedure"
 msgstr "RETURN ne peut pas avoir de paramètre dans une procédure"
 
-#: pl_gram.y:3261
+#: pl_gram.y:3318
 #, c-format
 msgid "RETURN cannot have a parameter in function returning void"
 msgstr "RETURN ne peut pas avoir de paramètre dans une fonction renvoyant void"
 
-#: pl_gram.y:3270
+#: pl_gram.y:3327
 #, c-format
 msgid "RETURN cannot have a parameter in function with OUT parameters"
 msgstr "RETURN ne peut pas avoir de paramètre dans une fonction avec des paramètres OUT"
 
-#: pl_gram.y:3333
+#: pl_gram.y:3390
 #, c-format
 msgid "RETURN NEXT cannot have a parameter in function with OUT parameters"
 msgstr "RETURN NEXT ne peut pas avoir de paramètre dans une fonction avec des paramètres OUT"
 
-#: pl_gram.y:3441
-#, c-format
-msgid "variable \"%s\" is declared CONSTANT"
-msgstr "la variable « %s » est déclarée CONSTANT"
-
-#: pl_gram.y:3499
+#: pl_gram.y:3556
 #, c-format
 msgid "record variable cannot be part of multiple-item INTO list"
 msgstr "la variable de type record ne peut pas faire partie d'une liste INTO à plusieurs éléments"
 
-#: pl_gram.y:3545
+#: pl_gram.y:3602
 #, c-format
 msgid "too many INTO variables specified"
 msgstr "trop de variables INTO indiquées"
 
-#: pl_gram.y:3753
+#: pl_gram.y:3810
 #, c-format
 msgid "end label \"%s\" specified for unlabeled block"
 msgstr "label de fin « %s » spécifié pour un bloc sans label"
 
-#: pl_gram.y:3760
+#: pl_gram.y:3817
 #, c-format
 msgid "end label \"%s\" differs from block's label \"%s\""
 msgstr "le label de fin « %s » est différent du label « %s » du bloc"
 
-#: pl_gram.y:3794
+#: pl_gram.y:3851
 #, c-format
 msgid "cursor \"%s\" has no arguments"
 msgstr "le curseur « %s » n'a pas d'argument"
 
-#: pl_gram.y:3808
+#: pl_gram.y:3865
 #, c-format
 msgid "cursor \"%s\" has arguments"
 msgstr "le curseur « %s » a des arguments"
 
-#: pl_gram.y:3850
+#: pl_gram.y:3907
 #, c-format
 msgid "cursor \"%s\" has no argument named \"%s\""
 msgstr "le curseur « %s » n'a pas d'argument nommé « %s »"
 
-#: pl_gram.y:3870
+#: pl_gram.y:3927
 #, c-format
 msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once"
 msgstr "la valeur du paramètre « %s » pour le curseur « %s » est spécifiée plus d'une fois"
 
-#: pl_gram.y:3895
+#: pl_gram.y:3948
 #, c-format
 msgid "not enough arguments for cursor \"%s\""
 msgstr "pas assez d'arguments pour le curseur « %s »"
 
-#: pl_gram.y:3902
+#: pl_gram.y:3955
 #, c-format
 msgid "too many arguments for cursor \"%s\""
 msgstr "trop d'arguments pour le curseur « %s »"
 
-#: pl_gram.y:3988
+#: pl_gram.y:4041
 msgid "unrecognized RAISE statement option"
 msgstr "option de l'instruction RAISE inconnue"
 
-#: pl_gram.y:3992
+#: pl_gram.y:4045
 msgid "syntax error, expected \"=\""
 msgstr "erreur de syntaxe, « = » attendu"
 
-#: pl_gram.y:4033
+#: pl_gram.y:4086
 #, c-format
 msgid "too many parameters specified for RAISE"
 msgstr "trop de paramètres spécifiés pour RAISE"
 
-#: pl_gram.y:4037
+#: pl_gram.y:4090
 #, c-format
 msgid "too few parameters specified for RAISE"
 msgstr "trop peu de paramètres pour RAISE"
@@ -847,13 +861,13 @@ msgid "List of programming constructs that should produce an error."
 msgstr "Liste des constructions de programmation qui devraient produire une erreur."
 
 #. translator: %s is typically the translation of "syntax error"
-#: pl_scanner.c:508
+#: pl_scanner.c:525
 #, c-format
 msgid "%s at end of input"
 msgstr "%s à la fin de l'entrée"
 
 #. translator: first %s is typically the translation of "syntax error"
-#: pl_scanner.c:524
+#: pl_scanner.c:541
 #, c-format
 msgid "%s at or near \"%s\""
 msgstr "%s sur ou près de « %s »"