]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libcpp/po/fr.po
Update .po files
[thirdparty/gcc.git] / libcpp / po / fr.po
index 55f7bcc7778ec1aef667f672aa3233e9171237cd..5309f81def71e36ec859e5db64a9951fde219810 100644 (file)
@@ -4,7 +4,7 @@
 # Michel Robitaille <robitail@IRO.UMontreal.CA>, traducteur depuis/since 1996.
 # François-Xavier Coudert <fxcoudert@gcc.gnu.org>, 2008.
 # Stéphane Aulery <lkppo@free.fr>, 2015, 2016, 2017.
-# Frédéric Marchal <fmarchal@perso.be>, 2023.
+# Frédéric Marchal <fmarchal@perso.be>, 2024.
 #
 # Vocabulaire utilisé
 #      lvalue          = membre gauche
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: GNU cpplib-13.1-b20230212\n"
+"Project-Id-Version: GNU cpplib-14.1-b20240218\n"
 "Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
-"POT-Creation-Date: 2023-02-10 22:39+0000\n"
-"PO-Revision-Date: 2023-02-22 12:28+0100\n"
+"POT-Creation-Date: 2024-02-16 21:34+0000\n"
+"PO-Revision-Date: 2024-02-19 17:54+0100\n"
 "Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
 "Language-Team: French <traduc@traduc.org>\n"
 "Language: fr\n"
@@ -133,233 +133,255 @@ msgstr ""
 "X-Bugs: Report translation errors to the Language-Team address.\n"
 "Plural-Forms: nplurals=2; plural=(n >= 2);\n"
 
-#: charset.cc:683
+#: charset.cc:759
 #, c-format
 msgid "conversion from %s to %s not supported by iconv"
 msgstr "la conversion de %s vers %s n’est pas prise en charge par iconv"
 
-#: charset.cc:686
+#: charset.cc:762
 msgid "iconv_open"
 msgstr "iconv_open"
 
-#: charset.cc:696
+#: charset.cc:772
 #, c-format
 msgid "no iconv implementation, cannot convert from %s to %s"
 msgstr "pas d’implémentation iconv, impossible de convertir %s vers %s"
 
-#: charset.cc:794
+#: charset.cc:870
 #, c-format
 msgid "character 0x%lx is not in the basic source character set\n"
 msgstr "le caractère 0x%lx n’est pas dans le jeu de caractères source de base\n"
 
-#: charset.cc:811 charset.cc:2420
+#: charset.cc:887 charset.cc:2574
 msgid "converting to execution character set"
 msgstr "conversion vers un jeu de caractères d’exécution"
 
-#: charset.cc:817
+#: charset.cc:893
 #, c-format
 msgid "character 0x%lx is not unibyte in execution character set"
 msgstr "le caractère 0x%lx n’est pas un octet unique dans le jeu de caractères d’exécution"
 
-#: charset.cc:1437
+#: charset.cc:1549
 msgid "universal character names are only valid in C++ and C99"
 msgstr "les noms de caractères universels sont seulement valides en C++ et C99"
 
-#: charset.cc:1441
+#: charset.cc:1553
 msgid "C99's universal character names are incompatible with C90"
 msgstr "les noms de caractères universels du C99 sont incompatibles avec ceux du C90"
 
-#: charset.cc:1444
+#: charset.cc:1556
 #, c-format
 msgid "the meaning of '\\%c' is different in traditional C"
 msgstr "la signification de « \\%c » est différente en C traditionnel"
 
-#: charset.cc:1483
+#: charset.cc:1595
 msgid "'\\N' not followed by '{'"
 msgstr "« \\N » n’est pas suivi de « { »"
 
-#: charset.cc:1513
+#: charset.cc:1625
 msgid "empty named universal character escape sequence; treating it as separate tokens"
 msgstr "la séquence d'échappement de caractère universel nommé est vide ; traités comme des éléments lexicaux séparés"
 
 # FIXME
-#: charset.cc:1520
+#: charset.cc:1632
 msgid "empty named universal character escape sequence"
 msgstr "la séquence d'échappement de caractère universel nommé est vide"
 
-#: charset.cc:1525
+#: charset.cc:1637
 msgid "named universal character escapes are only valid in C++23"
 msgstr "les séquences d'échappement de caractères universels nommés sont seulement valides en C++23"
 
-#: charset.cc:1545
+#: charset.cc:1657
 #, c-format
 msgid "\\N{%.*s} is not a valid universal character; treating it as separate tokens"
 msgstr "\\N{%.*s} n'est pas un caractère universel valide ; ils sont traités comme des éléments lexicaux séparés"
 
-#: charset.cc:1551
+#: charset.cc:1663
 #, c-format
 msgid "\\N{%.*s} is not a valid universal character"
 msgstr "\\N{%.*s} n’est pas un caractère universel valide"
 
-#: charset.cc:1561
+#: charset.cc:1673
 #, c-format
 msgid "did you mean \\N{%s}?"
 msgstr "vouliez-vous utiliser \\N{%s} ?"
 
-#: charset.cc:1579
+#: charset.cc:1691
 #, c-format
 msgid "'\\N{' not terminated with '}' after %.*s; treating it as separate tokens"
 msgstr "« \\N{ » n'est pas terminé par « } » après %.*s ; ils sont traités comme des éléments lexicaux séparés"
 
-#: charset.cc:1588
+#: charset.cc:1700
 #, c-format
 msgid "'\\N{' not terminated with '}' after %.*s"
 msgstr "« \\N{ » n'est pas terminé par « } » après %.*s"
 
-#: charset.cc:1596
+#: charset.cc:1708
 msgid "In _cpp_valid_ucn but not a UCN"
 msgstr "Est dans _cpp_valid_ucn mais n'est pas un UCN"
 
-#: charset.cc:1638
+#: charset.cc:1750
 msgid "empty delimited escape sequence; treating it as separate tokens"
 msgstr "la séquence d'échappement délimitée est vide ; elles sont traitées comme des éléments lexicaux séparés"
 
-#: charset.cc:1645 charset.cc:1978 charset.cc:2081
+#: charset.cc:1757 charset.cc:2124 charset.cc:2227
 msgid "empty delimited escape sequence"
 msgstr "la séquence d'échappement délimitée est vide"
 
-#: charset.cc:1649 charset.cc:1984 charset.cc:2087
+#: charset.cc:1761 charset.cc:2130 charset.cc:2233
 msgid "delimited escape sequences are only valid in C++23"
 msgstr "les séquences d'échappement délimitées sont seulement valides en C++23"
 
-#: charset.cc:1663
+#: charset.cc:1775
 #, c-format
 msgid "'\\u{' not terminated with '}' after %.*s; treating it as separate tokens"
 msgstr "« \\u{ » n'est pas terminé par « } » après %.*s ; ils sont traités comme des éléments lexicaux séparés"
 
 # FIXME
-#: charset.cc:1675
+#: charset.cc:1787
 #, c-format
 msgid "incomplete universal character name %.*s"
 msgstr "nom de caractère universel incomplet %.*s"
 
-#: charset.cc:1679
+#: charset.cc:1791
 #, c-format
 msgid "'\\u{' not terminated with '}' after %.*s"
 msgstr "« \\u{ » n'est pas terminé par « } » après %.*s"
 
-#: charset.cc:1694
+#: charset.cc:1806
 #, c-format
 msgid "%.*s is not a valid universal character"
 msgstr "%.*s n’est pas un caractère universel valide"
 
-#: charset.cc:1704 lex.cc:2079
+#: charset.cc:1816 lex.cc:2082
 msgid "'$' in identifier or number"
 msgstr "« $ » dans un identificateur ou un nombre"
 
-#: charset.cc:1714
+#: charset.cc:1826
 #, c-format
 msgid "universal character %.*s is not valid in an identifier"
 msgstr "le caractère universel %.*s n’est pas valide dans un identificateur"
 
-#: charset.cc:1718
+#: charset.cc:1830
 #, c-format
 msgid "universal character %.*s is not valid at the start of an identifier"
 msgstr "le caractère universel %.*s n’est pas valide au début d’un identificateur"
 
-#: charset.cc:1725
+#: charset.cc:1837
 #, c-format
 msgid "%.*s is outside the UCS codespace"
 msgstr "%.*s est en dehors de l'espace de code UCS"
 
-#: charset.cc:1769 charset.cc:2797
+#: charset.cc:1881 charset.cc:3037
 msgid "converting UCN to source character set"
 msgstr "conversion d'un UCN vers le jeu de caractères source"
 
-#: charset.cc:1776
+#: charset.cc:1888
 msgid "converting UCN to execution character set"
 msgstr "conversion d'un UCN vers le jeu de caractères d’exécution"
 
-#: charset.cc:1840
+#: charset.cc:1952
 #, c-format
 msgid "extended character %.*s is not valid in an identifier"
 msgstr "le caractère étendu %.*s n’est pas valide dans un identificateur"
 
-#: charset.cc:1857
+#: charset.cc:1969
 #, c-format
 msgid "extended character %.*s is not valid at the start of an identifier"
 msgstr "le caractère étendu %.*s n’est pas valide au début d’un identificateur"
 
-#: charset.cc:1945
+#: charset.cc:2091
 msgid "the meaning of '\\x' is different in traditional C"
 msgstr "la signification de « \\x » est différente en C traditionnel"
 
-#: charset.cc:1992
+#: charset.cc:2138
 msgid "\\x used with no following hex digits"
 msgstr "\\x utilisé sans être suivi de chiffres hexadécimaux"
 
-#: charset.cc:1998
+#: charset.cc:2144
 #, c-format
 msgid "'\\x{' not terminated with '}' after %.*s"
 msgstr "« \\x{ » n'est pas terminé par « } » après %.*s"
 
-#: charset.cc:2006
+#: charset.cc:2152
 msgid "hex escape sequence out of range"
 msgstr "séquence d’échappement hexadécimale hors intervalle"
 
-#: charset.cc:2049
+#: charset.cc:2195
 msgid "'\\o' not followed by '{'"
 msgstr "« \\o » n’est pas suivi de « { »"
 
-#: charset.cc:2093
+#: charset.cc:2239
 #, c-format
 msgid "'\\o{' not terminated with '}' after %.*s"
 msgstr "« \\o{ » n'est pas terminé par « } » après %.*s"
 
-#: charset.cc:2102
+#: charset.cc:2248
 msgid "octal escape sequence out of range"
 msgstr "séquence d’échappement octale hors intervalle"
 
-#: charset.cc:2184
+#: charset.cc:2300 charset.cc:2310
+#, c-format
+msgid "numeric escape sequence in unevaluated string: '\\%c'"
+msgstr "séquence d'échappement numérique dans la chaîne non évaluée : « \\%c »"
+
+#: charset.cc:2338
 msgid "the meaning of '\\a' is different in traditional C"
 msgstr "la signification de « \\a » est différente en C traditionnel"
 
-#: charset.cc:2191
+#: charset.cc:2345
 #, c-format
 msgid "non-ISO-standard escape sequence, '\\%c'"
 msgstr "séquence d’échappement « \\%c » non conforme au standard ISO"
 
-#: charset.cc:2199
+#: charset.cc:2353
 #, c-format
 msgid "unknown escape sequence: '\\%c'"
 msgstr "séquence d'échappement inconnue : « \\%c »"
 
-#: charset.cc:2209
+#: charset.cc:2363
 #, c-format
 msgid "unknown escape sequence: '\\%s'"
 msgstr "séquence d’échappement « \\%s » inconnue"
 
-#: charset.cc:2217
+#: charset.cc:2371
 msgid "converting escape sequence to execution character set"
 msgstr "conversion d’une séquence d’échappement vers le jeu de caractères d’exécution"
 
-#: charset.cc:2357
+#: charset.cc:2511
 msgid "missing open quote"
 msgstr "guillemet ouvrant de chaîne de caractères manquant"
 
-#: charset.cc:2575 charset.cc:2658
-msgid "character constant too long for its type"
-msgstr "constante caractère trop longue pour son type"
+#: charset.cc:2772
+msgid "character not encodable in a single execution character code unit"
+msgstr "caractère pas encodable dans une unique unité de code de caractère d'exécution"
+
+#: charset.cc:2777
+msgid "at least one character in a multi-character literal not encodable in a single execution character code unit"
+msgstr "au moins un caractère d'un littéral multi-caractères n'est pas encodable dans une unique unité de code de caractère d'exécution"
+
+#: charset.cc:2795
+#, c-format
+msgid "multi-character literal with %ld characters exceeds 'int' size of %ld bytes"
+msgstr "un littéral multi-caractères avec %ld caractères déborde de la taille de « int » de %ld octets"
+
+#: charset.cc:2799 charset.cc:2894
+msgid "multi-character literal cannot have an encoding prefix"
+msgstr "un littéral multi-caractères ne peut pas avoir un préfixe d'encodage"
+
+#: charset.cc:2802 charset.cc:2897
+msgid "character not encodable in a single code unit"
+msgstr "caractère par encodable dans une unique unité de code"
 
-#: charset.cc:2578
+#: charset.cc:2806
 msgid "multi-character character constant"
 msgstr "constante caractère multi-caractères"
 
-#: charset.cc:2698
+#: charset.cc:2938
 msgid "empty character constant"
 msgstr "constante caractère vide"
 
-#: charset.cc:2882
+#: charset.cc:3122
 #, c-format
 msgid "failure to convert %s to %s"
 msgstr "échec de conversion de %s vers %s"
@@ -374,15 +396,15 @@ msgstr "éléments lexicaux superflus à la fin de la directive #%s"
 msgid "#%s is a GCC extension"
 msgstr "#%s est une extension GCC"
 
-#: directives.cc:394 directives.cc:2152 directives.cc:2191
+#: directives.cc:394 directives.cc:2163 directives.cc:2202
 #, c-format
 msgid "#%s before C++23 is a GCC extension"
 msgstr "#%s avant C++23 est une extension GCC"
 
-#: directives.cc:397 directives.cc:401 directives.cc:2156 directives.cc:2195
+#: directives.cc:397 directives.cc:401 directives.cc:2167 directives.cc:2206
 #, c-format
-msgid "#%s before C2X is a GCC extension"
-msgstr "#%s avant C2X est une extension GCC"
+msgid "#%s before C23 is a GCC extension"
+msgstr "#%s avant C23 est une extension GCC"
 
 #: directives.cc:407
 #, c-format
@@ -440,202 +462,202 @@ msgstr "aucun nom de macro donné dans la directive #%s"
 msgid "macro names must be identifiers"
 msgstr "les noms de macro doivent être des identificateurs"
 
-#: directives.cc:694 directives.cc:699
+#: directives.cc:698 directives.cc:702
 #, c-format
 msgid "undefining \"%s\""
 msgstr "suppression de la définition de « %s »"
 
-#: directives.cc:756
+#: directives.cc:759
 msgid "missing terminating > character"
 msgstr "caractère > de terminaison manquant"
 
-#: directives.cc:815
+#: directives.cc:818
 #, c-format
 msgid "#%s expects \"FILENAME\" or <FILENAME>"
 msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>"
 
-#: directives.cc:861
+#: directives.cc:864
 #, c-format
 msgid "empty filename in #%s"
 msgstr "nom de fichier vide dans #%s"
 
-#: directives.cc:870
+#: directives.cc:873
 #, c-format
 msgid "#include nested depth %u exceeds maximum of %u (use -fmax-include-depth=DEPTH to increase the maximum)"
 msgstr "la profondeur d'imbrication %u des #include dépasse le maximum %u (utilisez -fmax-include-depth=PROFONDEUR pour augmenter le maximum)"
 
-#: directives.cc:915
+#: directives.cc:918
 msgid "#include_next in primary source file"
 msgstr "#include_next dans un fichier source primaire"
 
-#: directives.cc:941
+#: directives.cc:944
 #, c-format
 msgid "invalid flag \"%s\" in line directive"
 msgstr "drapeau « %s » invalide dans la ligne de directive"
 
-#: directives.cc:1008
+#: directives.cc:1011
 msgid "unexpected end of file after #line"
 msgstr "fin de fichier inattendue après #line"
 
-#: directives.cc:1011
+#: directives.cc:1014
 #, c-format
 msgid "\"%s\" after #line is not a positive integer"
 msgstr "« %s » après #line n’est pas un nombre entier positif"
 
-#: directives.cc:1017 directives.cc:1019
+#: directives.cc:1020 directives.cc:1022
 msgid "line number out of range"
 msgstr "numéro de ligne hors intervalle"
 
-#: directives.cc:1032 directives.cc:1113
+#: directives.cc:1035 directives.cc:1116
 #, c-format
 msgid "\"%s\" is not a valid filename"
 msgstr "« %s » n’est pas un nom de fichier valide"
 
-#: directives.cc:1073
+#: directives.cc:1076
 #, c-format
 msgid "\"%s\" after # is not a positive integer"
 msgstr "« %s » après # n’est pas un nombre entier positif"
 
-#: directives.cc:1140
+#: directives.cc:1143
 #, c-format
 msgid "file \"%s\" linemarker ignored due to incorrect nesting"
 msgstr "le marqueur de ligne du fichier « %s » est ignoré à cause d’une imbrication incorrecte"
 
-#: directives.cc:1218 directives.cc:1220 directives.cc:1222 directives.cc:1810
+#: directives.cc:1221 directives.cc:1223 directives.cc:1225 directives.cc:1816
 #, c-format
 msgid "%s"
 msgstr "%s"
 
-#: directives.cc:1246
+#: directives.cc:1249
 #, c-format
 msgid "invalid #%s directive"
 msgstr "directive #%s invalide"
 
-#: directives.cc:1309
+#: directives.cc:1312
 #, c-format
 msgid "registering pragmas in namespace \"%s\" with mismatched name expansion"
 msgstr "enregistrement des pragmas dans l'espace de nom « %s » avec une expansion de nom ne correspondant pas"
 
-#: directives.cc:1318
+#: directives.cc:1321
 #, c-format
 msgid "registering pragma \"%s\" with name expansion and no namespace"
 msgstr "enregistrement du pragma « %s » avec une expansion de nom mais pas d’espace de nom"
 
-#: directives.cc:1336
+#: directives.cc:1339
 #, c-format
 msgid "registering \"%s\" as both a pragma and a pragma namespace"
 msgstr "enregistrement de « %s » à la fois comme un pragma et un espace de nom de pragma"
 
-#: directives.cc:1339
+#: directives.cc:1342
 #, c-format
 msgid "#pragma %s %s is already registered"
 msgstr "le #pragma %s %s est déjà enregistré"
 
-#: directives.cc:1342
+#: directives.cc:1345
 #, c-format
 msgid "#pragma %s is already registered"
 msgstr "le #pragma %s est déjà enregistré"
 
-#: directives.cc:1372
+#: directives.cc:1375
 msgid "registering pragma with NULL handler"
 msgstr "enregistrement d’un pragma avec un handler NULL"
 
-#: directives.cc:1589
+#: directives.cc:1592
 msgid "#pragma once in main file"
 msgstr "#pragma once utilisé une seule fois dans le fichier principal"
 
-#: directives.cc:1612
+#: directives.cc:1615
 msgid "invalid #pragma push_macro directive"
 msgstr "directive #pragma push_macro invalide"
 
-#: directives.cc:1669
+#: directives.cc:1672
 msgid "invalid #pragma pop_macro directive"
 msgstr "directive #pragma pop_macro invalide"
 
-#: directives.cc:1724
+#: directives.cc:1727
 msgid "invalid #pragma GCC poison directive"
 msgstr "directive #pragma GCC poison invalide"
 
-#: directives.cc:1733
+#: directives.cc:1736
 #, c-format
 msgid "poisoning existing macro \"%s\""
 msgstr "empoisonnement de la macro existante « %s »"
 
-#: directives.cc:1752
+#: directives.cc:1758
 msgid "#pragma system_header ignored outside include file"
 msgstr "#pragma system_header ignoré en dehors du fichier d'inclusion"
 
-#: directives.cc:1777
+#: directives.cc:1783
 #, c-format
 msgid "cannot find source file %s"
 msgstr "impossible de trouver le fichier source %s"
 
-#: directives.cc:1781
+#: directives.cc:1787
 #, c-format
 msgid "current file is older than %s"
 msgstr "le fichier courant est plus vieux que %s"
 
-#: directives.cc:1805
+#: directives.cc:1811
 #, c-format
 msgid "invalid \"#pragma GCC %s\" directive"
 msgstr "directive « #pragma GCC %s » invalide"
 
-#: directives.cc:2008
+#: directives.cc:2019
 msgid "_Pragma takes a parenthesized string literal"
 msgstr "_Pragma attend une chaîne entourée de parenthèses"
 
-#: directives.cc:2091
+#: directives.cc:2102
 msgid "#else without #if"
 msgstr "#else sans #if"
 
-#: directives.cc:2096
+#: directives.cc:2107
 msgid "#else after #else"
 msgstr "#else après #else"
 
-#: directives.cc:2098 directives.cc:2132
+#: directives.cc:2109 directives.cc:2143
 msgid "the conditional began here"
 msgstr "la condition débute ici"
 
-#: directives.cc:2124
+#: directives.cc:2135
 #, c-format
 msgid "#%s without #if"
 msgstr "#%s sans #if"
 
-#: directives.cc:2129
+#: directives.cc:2140
 #, c-format
 msgid "#%s after #else"
 msgstr "#%s après #else"
 
-#: directives.cc:2231
+#: directives.cc:2242
 msgid "#endif without #if"
 msgstr "#endif sans #if"
 
-#: directives.cc:2307
+#: directives.cc:2318
 msgid "missing '(' after predicate"
 msgstr "« ( » manquante après le prédicat"
 
-#: directives.cc:2325
+#: directives.cc:2336
 msgid "missing ')' to complete answer"
 msgstr "« ) » manquante pour compléter la réponse"
 
-#: directives.cc:2337
+#: directives.cc:2348
 msgid "predicate's answer is empty"
 msgstr "la réponse du prédicat est vide"
 
-#: directives.cc:2367
+#: directives.cc:2378
 msgid "assertion without predicate"
 msgstr "assertion sans prédicat"
 
-#: directives.cc:2370
+#: directives.cc:2381
 msgid "predicate must be an identifier"
 msgstr "le prédicat doit être un identificateur"
 
-#: directives.cc:2452
+#: directives.cc:2463
 #, c-format
 msgid "\"%s\" re-asserted"
 msgstr "assertion « %s » redondante"
 
-#: directives.cc:2770
+#: directives.cc:2781
 #, c-format
 msgid "unterminated #%s"
 msgstr "#%s non terminé"
@@ -649,246 +671,250 @@ msgstr "%s : %s"
 msgid "stdout"
 msgstr "sortie standard"
 
-#: expr.cc:646 expr.cc:763
+#: expr.cc:667 expr.cc:784
 msgid "fixed-point constants are a GCC extension"
 msgstr "les constantes à virgule fixe sont une extension GCC"
 
-#: expr.cc:671
+#: expr.cc:692
 msgid "invalid prefix \"0b\" for floating constant"
 msgstr "préfixe « 0b » invalide pour une constante flottante"
 
-#: expr.cc:684
+#: expr.cc:705
 msgid "use of C++17 hexadecimal floating constant"
 msgstr "utilisation d’une constante flottante hexadécimale C++17"
 
-#: expr.cc:687
+#: expr.cc:708
 msgid "use of C99 hexadecimal floating constant"
 msgstr "utilisation d’une constante flottante hexadécimale C99"
 
-#: expr.cc:731
+#: expr.cc:752
 #, c-format
 msgid "invalid suffix \"%.*s\" on floating constant"
 msgstr "suffixe « %.*s » invalide pour une constante flottante"
 
-#: expr.cc:742 expr.cc:809
+#: expr.cc:763 expr.cc:830
 #, c-format
 msgid "traditional C rejects the \"%.*s\" suffix"
 msgstr "le C traditionnel interdit le suffixe « %.*s »"
 
-#: expr.cc:750
+#: expr.cc:771
 msgid "suffix for double constant is a GCC extension"
 msgstr "le suffixe pour les constantes double est une extension GCC"
 
-#: expr.cc:756
+#: expr.cc:777
 #, c-format
 msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
 msgstr "suffixe « %.*s » invalide pour une constante flottante hexadécimale"
 
-#: expr.cc:769 expr.cc:773
-msgid "decimal float constants are a C2X feature"
-msgstr "les constantes flottantes décimales sont une fonctionnalité de C2X"
+#: expr.cc:790 expr.cc:794
+msgid "decimal float constants are a C23 feature"
+msgstr "les constantes flottantes décimales sont une fonctionnalité de C23"
 
-#: expr.cc:792
+#: expr.cc:813
 #, c-format
 msgid "invalid suffix \"%.*s\" on integer constant"
 msgstr "suffixe « %.*s » invalide pour une constante entière"
 
-#: expr.cc:817
+#: expr.cc:838
 msgid "use of C++11 long long integer constant"
 msgstr "utilisation d’une constante entière « long long » C++11"
 
-#: expr.cc:818
+#: expr.cc:839
 msgid "use of C99 long long integer constant"
 msgstr "utilisation d’une constante entière « long long » C99"
 
-#: expr.cc:832
+#: expr.cc:853
 msgid "use of C++23 %<size_t%> integer constant"
 msgstr "utilisation d’une constante entière %<size_t%> C++23"
 
-#: expr.cc:833
+#: expr.cc:854
 msgid "use of C++23 %<make_signed_t<size_t>%> integer constant"
 msgstr "utilisation d’une constante entière %<make_signed_t<size_t>%> C++23"
 
-#: expr.cc:844
+#: expr.cc:864 expr.cc:875
+msgid "ISO C does not support literal %<wb%> suffixes before C23"
+msgstr "Le C ISO ne supporte pas les suffixes %<wb%> des littéraux avant C23"
+
+#: expr.cc:888
 msgid "imaginary constants are a GCC extension"
 msgstr "les constantes imaginaires sont une extension GCC"
 
-#: expr.cc:851
+#: expr.cc:895
 msgid "binary constants are a C++14 feature or GCC extension"
 msgstr "les constantes binaires sont une fonctionnalité de C++14 ou une extension GCC"
 
-#: expr.cc:853
-msgid "binary constants are a C2X feature or GCC extension"
-msgstr "les constantes binaires sont une fonctionnalité de C2X ou une extension GCC"
+#: expr.cc:897
+msgid "binary constants are a C23 feature or GCC extension"
+msgstr "les constantes binaires sont une fonctionnalité de C23 ou une extension GCC"
 
-#: expr.cc:858
-msgid "binary constants are a C2X feature"
-msgstr "les constantes binaires sont une fonctionnalité de C2X"
+#: expr.cc:902
+msgid "binary constants are a C23 feature"
+msgstr "les constantes binaires sont une fonctionnalité de C23"
 
-#: expr.cc:954
+#: expr.cc:998
 msgid "integer constant is too large for its type"
 msgstr "constante entière trop grande pour tenir dans son type"
 
-#: expr.cc:985
+#: expr.cc:1029
 msgid "integer constant is so large that it is unsigned"
 msgstr "cette constante entière est si grande qu'elle est non signée"
 
-#: expr.cc:1080
+#: expr.cc:1124
 msgid "missing ')' after \"defined\""
 msgstr "« ) » manquante après « defined »"
 
-#: expr.cc:1087
+#: expr.cc:1131
 msgid "operator \"defined\" requires an identifier"
 msgstr "l'opérateur « defined » requiert un identificateur"
 
-#: expr.cc:1095
+#: expr.cc:1139
 #, c-format
 msgid "(\"%s\" is an alternative token for \"%s\" in C++)"
 msgstr "(« %s » est un élément lexical alternatif pour « %s » en C++)"
 
-#: expr.cc:1108
+#: expr.cc:1152
 msgid "this use of \"defined\" may not be portable"
 msgstr "cette utilisation de « defined » peut ne pas être portable"
 
-#: expr.cc:1153
+#: expr.cc:1197
 msgid "user-defined literal in preprocessor expression"
 msgstr "chaîne définie par l'utilisateur dans une expression pour le préprocesseur"
 
-#: expr.cc:1158
+#: expr.cc:1202
 msgid "floating constant in preprocessor expression"
 msgstr "constante flottante dans une expression pour le préprocesseur"
 
-#: expr.cc:1164
+#: expr.cc:1208
 msgid "imaginary number in preprocessor expression"
 msgstr "constante complexe dans une expression pour le préprocesseur"
 
-#: expr.cc:1213
+#: expr.cc:1257
 #, c-format
 msgid "\"%s\" is not defined, evaluates to 0"
 msgstr "« %s » n’est pas défini, évalué à 0"
 
-#: expr.cc:1226
+#: expr.cc:1270
 msgid "assertions are a GCC extension"
 msgstr "les assertions sont une extension GCC"
 
-#: expr.cc:1229
+#: expr.cc:1273
 msgid "assertions are a deprecated extension"
 msgstr "les assertions sont une extension obsolète"
 
-#: expr.cc:1479
+#: expr.cc:1523
 #, c-format
 msgid "unbalanced stack in %s"
 msgstr "pile non balancée dans %s"
 
-#: expr.cc:1499
+#: expr.cc:1543
 #, c-format
 msgid "impossible operator '%u'"
 msgstr "opérateur « %u » impossible"
 
-#: expr.cc:1600
+#: expr.cc:1644
 msgid "missing ')' in expression"
 msgstr "« ) » manquante dans l'expression"
 
-#: expr.cc:1629
+#: expr.cc:1673
 msgid "'?' without following ':'"
 msgstr "« ? » n’est pas suivi de « : »"
 
-#: expr.cc:1639
+#: expr.cc:1683
 msgid "integer overflow in preprocessor expression"
 msgstr "débordement d’entier dans l'expression pour le préprocesseur"
 
-#: expr.cc:1644
+#: expr.cc:1688
 msgid "missing '(' in expression"
 msgstr "« ( » manquante dans l'expression"
 
-#: expr.cc:1676
+#: expr.cc:1720
 #, c-format
 msgid "the left operand of \"%s\" changes sign when promoted"
 msgstr "L'opérande de gauche de « %s » change de signe lors de sa promotion"
 
-#: expr.cc:1681
+#: expr.cc:1725
 #, c-format
 msgid "the right operand of \"%s\" changes sign when promoted"
 msgstr "L'opérande de droite de « %s » change de signe lors de sa promotion"
 
-#: expr.cc:1940
+#: expr.cc:1984
 msgid "traditional C rejects the unary plus operator"
 msgstr "le C traditionnel rejette l'opérateur d'addition unaire"
 
-#: expr.cc:2038
+#: expr.cc:2082
 msgid "comma operator in operand of #if"
 msgstr "opérateur virgule dans l'opérande de #if"
 
-#: expr.cc:2174
+#: expr.cc:2218
 msgid "division by zero in #if"
 msgstr "division par zéro dans #if"
 
-#: files.cc:516
+#: files.cc:520
 msgid "NULL directory in find_file"
 msgstr "répertoire NULL dans find_file"
 
-#: files.cc:570
+#: files.cc:583
 msgid "one or more PCH files were found, but they were invalid"
 msgstr "un ou plusieurs fichiers PCH ont été trouvés, mais ils étaient invalides"
 
-#: files.cc:574
+#: files.cc:587
 msgid "use -Winvalid-pch for more information"
 msgstr "utilisez -Winvalid-pch pour plus d’informations"
 
-#: files.cc:688
+#: files.cc:703
 #, c-format
 msgid "%s is a block device"
 msgstr "%s est un périphérique bloc"
 
-#: files.cc:707
+#: files.cc:722
 #, c-format
 msgid "%s is too large"
 msgstr "%s est trop grand"
 
-#: files.cc:748
+#: files.cc:763
 #, c-format
 msgid "%s is shorter than expected"
 msgstr "%s est plus court qu'attendu"
 
-#: files.cc:1060
+#: files.cc:1075
 #, c-format
 msgid "no include path in which to search for %s"
 msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s"
 
-#: files.cc:1578
+#: files.cc:1598
 msgid "Multiple include guards may be useful for:\n"
 msgstr "Des garde-fous contre les inclusions multiples peuvent être utiles pour :\n"
 
-#: init.cc:631
+#: init.cc:638
 msgid "cppchar_t must be an unsigned type"
 msgstr "cppchar_t doit être d’un type non signé"
 
-#: init.cc:635
+#: init.cc:642
 #, c-format
 msgid "preprocessor arithmetic has maximum precision of %lu bits; target requires %lu bits"
 msgstr "l'arithmétique du préprocesseur a une précision maximale de %lu bits ; la cible requière %lu bits"
 
-#: init.cc:642
+#: init.cc:649
 msgid "CPP arithmetic must be at least as precise as a target int"
 msgstr "l'arithmétique du CPP doit être au moins aussi précise que le type int de la cible"
 
-#: init.cc:645
+#: init.cc:652
 msgid "target char is less than 8 bits wide"
 msgstr "sur la cible, char fait moins de 8 bits"
 
-#: init.cc:649
+#: init.cc:656
 msgid "target wchar_t is narrower than target char"
 msgstr "sur la cible, wchar_t est plus petit que char"
 
-#: init.cc:653
+#: init.cc:660
 msgid "target int is narrower than target char"
 msgstr "sur la cible, int est plus petit que char"
 
-#: init.cc:658
+#: init.cc:665
 msgid "CPP half-integer narrower than CPP character"
 msgstr "les demi-entiers de CPP sont plus petits que les caractères de CPP"
 
-#: init.cc:662
+#: init.cc:669
 #, c-format
 msgid "CPP on this host cannot handle wide character constants over %lu bits, but the target requires %lu bits"
 msgstr "CPP sur cette machine ne peut gérer les constantes de caractères larges de plus de %lu bits, mais la cible requière %lu bits"
@@ -982,114 +1008,118 @@ msgstr "« %.*s » n’est pas normalisée NFKC"
 msgid "`%.*s' is not in NFC"
 msgstr "« %.*s » n'est pas normalisée NFC"
 
-#: lex.cc:2141
+#: lex.cc:2144
 msgid "__VA_OPT__ is not available until C++20"
 msgstr "__VA_OPT__ n'est pas disponible avant C++20"
 
-#: lex.cc:2144
-msgid "__VA_OPT__ is not available until C2X"
-msgstr "__VA_OPT__ n'est pas disponible avant C2X"
+#: lex.cc:2147
+msgid "__VA_OPT__ is not available until C23"
+msgstr "__VA_OPT__ n'est pas disponible avant C23"
 
-#: lex.cc:2152
+#: lex.cc:2155
 msgid "__VA_OPT__ can only appear in the expansion of a C++20 variadic macro"
 msgstr "« __VA_OPT__ » peut seulement apparaître dans l'expansion de macros C++20 à nombre variable d’arguments"
 
-#: lex.cc:2183 lex.cc:2279
+#: lex.cc:2172
 #, c-format
 msgid "attempt to use poisoned \"%s\""
 msgstr "tentative d'utilisation d’un « %s » corrompu"
 
-#: lex.cc:2193 lex.cc:2289
+#: lex.cc:2177
+msgid "poisoned here"
+msgstr "empoisonné ici"
+
+#: lex.cc:2187
 msgid "__VA_ARGS__ can only appear in the expansion of a C++11 variadic macro"
 msgstr "« __VA_ARGS__ » peut seulement apparaître dans l'expansion de macros C++11 à nombre variable d’arguments"
 
-#: lex.cc:2197 lex.cc:2293
+#: lex.cc:2191
 msgid "__VA_ARGS__ can only appear in the expansion of a C99 variadic macro"
 msgstr "« __VA_ARGS__ » peut seulement apparaître dans l'expansion des macros C99 à nombre variable d’arguments"
 
-#: lex.cc:2207 lex.cc:2305
+#: lex.cc:2203
 #, c-format
 msgid "identifier \"%s\" is a special operator name in C++"
 msgstr "l'identifiant « %s » est un nom d’opérateur spécial en C++"
 
-#: lex.cc:2345
+#: lex.cc:2372
 msgid "adjacent digit separators"
 msgstr "séparateurs de chiffres adjacents"
 
-#: lex.cc:2665
+#: lex.cc:2521
+msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
+msgstr "suffixe de chaîne invalide ; C++11 requière un espace entre une chaîne et une macro de chaîne"
+
+#: lex.cc:2729
 msgid "raw string delimiter longer than 16 characters"
 msgstr "délimiteur de chaîne brute plus long que 16 caractères"
 
-#: lex.cc:2669
+#: lex.cc:2733
 msgid "invalid new-line in raw string delimiter"
 msgstr "caractère de nouvelle ligne invalide dans un délimiteur de chaîne brute"
 
-#: lex.cc:2673 lex.cc:5519
+#: lex.cc:2737 lex.cc:5576
 #, c-format
 msgid "invalid character '%c' in raw string delimiter"
 msgstr "caractère « %c » invalide dans un délimiteur de chaîne brute"
 
-#: lex.cc:2711 lex.cc:2734
+#: lex.cc:2775 lex.cc:2798
 msgid "unterminated raw string"
 msgstr "chaîne brute non terminée"
 
-#: lex.cc:2770 lex.cc:2922
-msgid "invalid suffix on literal; C++11 requires a space between literal and string macro"
-msgstr "suffixe de chaîne invalide ; C++11 requière un espace entre une chaîne et une macro de chaîne"
-
-#: lex.cc:2905
+#: lex.cc:2955
 msgid "null character(s) preserved in literal"
 msgstr "caractère(s) nul préservé(s) dans la chaîne"
 
-#: lex.cc:2908
+#: lex.cc:2958
 #, c-format
 msgid "missing terminating %c character"
 msgstr "caractère %c de terminaison manquant"
 
-#: lex.cc:2940
+#: lex.cc:2991
 msgid "C++11 requires a space between string literal and macro"
 msgstr "C++11 requière un espace entre une chaîne et une macro"
 
-#: lex.cc:3533
+#: lex.cc:3584
 msgid "module control-line cannot be in included file"
 msgstr "la ligne de contrôle du module ne peut pas être dans un fichier inclus"
 
-#: lex.cc:3547
+#: lex.cc:3598
 #, c-format
 msgid "module control-line \"%s\" cannot be an object-like macro"
 msgstr "la ligne de contrôle du module « %s » ne peut pas être un objet similaire à une macro"
 
-#: lex.cc:3949 lex.cc:5352 traditional.cc:174
+#: lex.cc:4004 lex.cc:5409 traditional.cc:174
 msgid "unterminated comment"
 msgstr "commentaire non terminé"
 
-#: lex.cc:3963 lex.cc:3997
+#: lex.cc:4018 lex.cc:4052
 msgid "C++ style comments are not allowed in ISO C90"
 msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90 ISO"
 
-#: lex.cc:3965 lex.cc:3976 lex.cc:4000
+#: lex.cc:4020 lex.cc:4031 lex.cc:4055
 msgid "(this will be reported only once per input file)"
 msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)"
 
-#: lex.cc:3974
+#: lex.cc:4029
 msgid "C++ style comments are incompatible with C90"
 msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90"
 
-#: lex.cc:4006
+#: lex.cc:4061
 msgid "multi-line comment"
 msgstr "commentaire multi-lignes"
 
-#: lex.cc:4427
+#: lex.cc:4484
 #, c-format
 msgid "unspellable token %s"
 msgstr "l'élément lexical %s ne peut être épelé"
 
-#: lex.cc:5507
+#: lex.cc:5564
 #, c-format
 msgid "raw string delimiter longer than %d characters"
 msgstr "délimiteur de chaîne brute plus long que %d caractères"
 
-#: lex.cc:5577
+#: lex.cc:5634
 msgid "unterminated literal"
 msgstr "littéral non terminé"
 
@@ -1134,7 +1164,7 @@ msgstr "« ) » manquante après l'opérande « %s »"
 msgid "macro \"%s\" is not used"
 msgstr "la macro « %s » n’est pas utilisée"
 
-#: macro.cc:498 macro.cc:797
+#: macro.cc:498 macro.cc:803
 #, c-format
 msgid "invalid built-in macro \"%s\""
 msgstr "macro interne « %s » invalide"
@@ -1156,131 +1186,131 @@ msgstr "date et heure indéterminable"
 msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
 msgstr "Expansion de __COUNTER__ à l'intérieur d’une directive avec -fdirectives-only"
 
-#: macro.cc:916
+#: macro.cc:922
 msgid "invalid string literal, ignoring final '\\'"
 msgstr "chaîne invalide, le « \\ » final est ignoré"
 
-#: macro.cc:980
+#: macro.cc:986
 #, c-format
 msgid "pasting \"%.*s\" and \"%.*s\" does not give a valid preprocessing token"
 msgstr "le collage de « %.*s » et de « %.*s » ne donne pas un élément lexical de pré-traitement valide"
 
-#: macro.cc:1112
+#: macro.cc:1118
 msgid "ISO C++11 requires at least one argument for the \"...\" in a variadic macro"
 msgstr "ISO C++11 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments"
 
-#: macro.cc:1116
+#: macro.cc:1122
 msgid "ISO C99 requires at least one argument for the \"...\" in a variadic macro"
 msgstr "ISO C99 requiert au moins un argument pour « ... » dans une macro à nombre variable d’arguments"
 
-#: macro.cc:1123
+#: macro.cc:1129
 #, c-format
 msgid "macro \"%s\" requires %u arguments, but only %u given"
 msgstr "la macro « %s » requiert %u arguments, mais seulement %u ont été passés"
 
-#: macro.cc:1128
+#: macro.cc:1134
 #, c-format
 msgid "macro \"%s\" passed %u arguments, but takes just %u"
 msgstr "la macro « %s » a reçu %u arguments, mais elle n’en prend que %u"
 
-#: macro.cc:1132
+#: macro.cc:1138
 #, c-format
 msgid "macro \"%s\" defined here"
 msgstr "la macro « %s » est définie ici"
 
-#: macro.cc:1326 traditional.cc:822
+#: macro.cc:1332 traditional.cc:822
 #, c-format
 msgid "unterminated argument list invoking macro \"%s\""
 msgstr "liste d'arguments non terminée en invoquant la macro « %s »"
 
-#: macro.cc:1472
+#: macro.cc:1478
 #, c-format
 msgid "function-like macro \"%s\" must be used with arguments in traditional C"
 msgstr "la macro « %s » ressemblant à une fonction doit être utilisée avec des arguments en C traditionnel"
 
-#: macro.cc:2307
+#: macro.cc:2313
 #, c-format
 msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C++98"
 msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++98"
 
-#: macro.cc:2315 macro.cc:2324
+#: macro.cc:2321 macro.cc:2330
 #, c-format
 msgid "invoking macro %s argument %d: empty macro arguments are undefined in ISO C90"
 msgstr "appel de la macro %s avec l'argument %d : les arguments de macro vides sont indéfinis en ISO C++90"
 
-#: macro.cc:3375
+#: macro.cc:3381
 #, c-format
 msgid "duplicate macro parameter \"%s\""
 msgstr "paramètre de macro « %s » dupliqués"
 
-#: macro.cc:3457
+#: macro.cc:3463
 #, c-format
 msgid "expected parameter name, found \"%s\""
 msgstr "nom de paramètre attendu, « %s » rencontré"
 
-#: macro.cc:3458
+#: macro.cc:3464
 #, c-format
 msgid "expected ',' or ')', found \"%s\""
 msgstr "« , » ou « ) » attendue, « %s » rencontré"
 
-#: macro.cc:3459
+#: macro.cc:3465
 msgid "expected parameter name before end of line"
 msgstr "nom de paramètre attendu avant la fin de la ligne"
 
-#: macro.cc:3460
+#: macro.cc:3466
 msgid "expected ')' before end of line"
 msgstr "« ) » attendue avant la fin de la ligne"
 
-#: macro.cc:3461
+#: macro.cc:3467
 msgid "expected ')' after \"...\""
 msgstr "« ) » attendue après « ... »"
 
-#: macro.cc:3518
+#: macro.cc:3524
 msgid "anonymous variadic macros were introduced in C++11"
 msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C++11"
 
-#: macro.cc:3519 macro.cc:3523
+#: macro.cc:3525 macro.cc:3529
 msgid "anonymous variadic macros were introduced in C99"
 msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C99"
 
-#: macro.cc:3529
+#: macro.cc:3535
 msgid "ISO C++ does not permit named variadic macros"
 msgstr "ISO C++ ne permet pas les macros nommées à nombre variable d’arguments"
 
-#: macro.cc:3530
+#: macro.cc:3536
 msgid "ISO C does not permit named variadic macros"
 msgstr "ISO C ne permet pas les macros nommées à nombre variable d’arguments"
 
-#: macro.cc:3576
+#: macro.cc:3582
 msgid "'##' cannot appear at either end of a macro expansion"
 msgstr "« ## » ne peut apparaître à aucune des extrémités d’une expansion de macro"
 
-#: macro.cc:3614
+#: macro.cc:3620
 msgid "ISO C++11 requires whitespace after the macro name"
 msgstr "ISO C++11 requiert un blanc après le nom de la macro"
 
-#: macro.cc:3615
+#: macro.cc:3621
 msgid "ISO C99 requires whitespace after the macro name"
 msgstr "ISO C99 requiert un blanc après le nom de la macro"
 
-#: macro.cc:3639
+#: macro.cc:3645
 msgid "missing whitespace after the macro name"
 msgstr "espacement manquant après le nom de la macro"
 
-#: macro.cc:3692
+#: macro.cc:3698
 msgid "'#' is not followed by a macro parameter"
 msgstr "« # » n'est pas suivi d’un paramètre de macro"
 
-#: macro.cc:3848
+#: macro.cc:3862
 #, c-format
 msgid "\"%s\" redefined"
 msgstr "« %s » redéfini"
 
-#: macro.cc:3853
+#: macro.cc:3867
 msgid "this is the location of the previous definition"
 msgstr "ceci est l'emplacement d’une précédente définition"
 
-#: macro.cc:3990
+#: macro.cc:4004
 #, c-format
 msgid "macro argument \"%s\" would be stringified in traditional C"
 msgstr "l'argument de macro « %s » serait changé en chaine dans le C traditionnel"
@@ -1314,7 +1344,7 @@ msgstr "%s: n'est pas utilisé parce que « %s » est défini"
 msgid "%s: not used because `__COUNTER__' is invalid"
 msgstr "%s: non utilisé parce que « __COUNTER__ » est invalide"
 
-#: pch.cc:720 pch.cc:876
+#: pch.cc:720 pch.cc:883
 msgid "while reading precompiled header"
 msgstr "lors de la lecture d’un entête pré-compilée"
 
@@ -1327,6 +1357,13 @@ msgstr "récursion détectée lors de l'expansion de la macro « %s »"
 msgid "syntax error in macro parameter list"
 msgstr "erreur de syntaxe dans la liste des paramètres de macro"
 
+#~ msgid "character constant too long for its type"
+#~ msgstr "constante caractère trop longue pour son type"
+
+#, c-format
+#~ msgid "#%s before C2X is a GCC extension"
+#~ msgstr "#%s avant C2X est une extension GCC"
+
 #~ msgid "#elif without #if"
 #~ msgstr "#elif sans #if"