# Messages français pour GNU concernant cpplib.
# Copyright © 2001, 2008 Free Software Foundation, Inc.
# This file is distributed under the same license as the gcc package.
# 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>, 2018.
#
# Vocabulaire utilisé
# 	lvalue	 	= membre gauche
# 	deprecated	= obsolète
# 	out of range	= hors des limites
# 	range		= gamme
# 	scope		= porté, champ
# 	shadowing	= masquer
# 	embedded PIC	= PIC enchâssé
# 	CPU		= processeur
# 	structure with flexible member
# 			= structure ayant un membre flexible
# 	flag		= fanion
# 	forward declaration
# 			= déclaration anticipée
# 	token 		= élément lexical (dans le contexte du parsing)
# 	to subscript	= indicer
# 	top-level	= hors de toute fonction
# 	member function	= fonction membre
#
# Pas traduit:
# 	thread
#
# J'ai des doutes pour :
# 	inline 		= enligne (pas systématiquement)
#                         oui dans le contexte du langage C par exemple MR
#                         non autrement ...de manière générale MR
# 	section attribute	attribut de section OK MR
# 	wide char		caractère long  ...non mieux caractère large MR 
#                               plus conforme à l'esprit.
#
# ------
# 	literals		littéral, ou mot composé ?
# msgid "ISO C89 forbids compound literals"
# msgstr "le C89 ISO interdit les mots composés"
#
# 	symbol table		table des symboles ou table de symbole
# 	command map		carte des commandes
# 	Combiner		combinateur
# msgid ""
# ";; Combiner statistics: %d attempts, %d substitutions (%d requiring new space),\n"
# ";; %d successes.\n"
# "\n"
# msgstr ""
# ";; Statistiques du combinateur : %d tentatives, %d substitutions (%d requérant un nouvel espace),\n"
# ";; %d succès.\n"
# "\n"
#
# 	promote			promouvoir
# msgid "the left operand of \"%s\" changes sign when promoted"
# msgstr "L'opérande gauche de « %s » change de signe lors de sa promotion"
#
#        include guards	       ???
# msgid "Multiple include guards may be useful for:\n"
# msgstr "De multiples balises pour les inclusions peuvent être utiles pour :\n"
#
#
#        universal-character-name ???
# msgid "incomplete universal-character-name"
# msgid "non-hex digit '%c' in universal-character-name"
# msgid "universal-character-name on EBCDIC target"
#
#       poisoning			empoisonnement
# msgid "poisoning existing macro \"%s\""
# msgstr "empoisonnement de la macro existente « %s »"
# MR  9-jan 2004: poisoning etc... transformé par corruption corrompu etc..
# MR 24-mai 2004: poison etc...suite au msg concernant le #pragma once et #pragma poison 
#
# Autres règles:
# 	- j'ai ajouté un adjectif par rapport à l'anglais si le message est
#    	  une phrase avec verbe conjugé. 
# 	- ISO est considéré comme un adjectif dans « C ISO »
#         
# Erreurs corrigées:
# 	librairies, assumer
#
# A faire:
#   - s/en ligne/en-ligne/  modifié 9-janv-2004 MR
#   - s/en-ligne/enligne/  modifié 18-février-2004 MR pcq expression ou terme enlignage vs inlining
#   - hors gamme  a été changé pour hors limite ...MR 09-jan-2004
#   - literal
#   - chaîne de format => formatage
#   - scope
#   - supporté est un faux ami
#
# A rapporter upstream:
# <<<<<<<<
# In c-opts.c, begining line 1732, a lot of options are of the kind:
#    "  -W[no-]trigraphs          Warn if trigraphs are encountered\n"
# I guess it would be better to change them all to something like
#    "  -W[no-]trigraphs          Warn [or not] if trigraphs are encountered\n"
#
#
# #: c-opts.c:1759
# "  -MP\t\t\t    Generate phony targets for all headers\n"
# you may want to change the \t to spaces, as it is done for the other lines.
#
# #: c-typeck.c:3166 c-typeck.c:4632 c-typeck.c:4648 c-typeck.c:4664
# #: final.c:3146 final.c:3148 gcc.c:4397 rtl-error.c:122 toplev.c:1694
# #: config/cris/cris.c:529 cp/typeck.c:4341 java/expr.c:364 java/verify.c:1467
# #: java/verify.c:1468 java/verify.c:1483
# #, c-format
# msgid "%s"
# msgstr "%s"
#
# Are you sure you want to translate the messages in cfgrtl.c, or are they
#  debugging informations ?
#
# You may want to use ngettext instead of putting (s) in text.
# msgid "null character(s) preserved in literal"
#
# >>>>>>>>>
#
msgid ""
msgstr ""
"Project-Id-Version: GNU cpplib 8.1-b20180128\n"
"Report-Msgid-Bugs-To: https://gcc.gnu.org/bugs/\n"
"POT-Creation-Date: 2018-01-26 22:47+0000\n"
"PO-Revision-Date: 2018-06-10 14:01+0200\n"
"Last-Translator: Frédéric Marchal <fmarchal@perso.be>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
"X-Bugs: Report translation errors to the Language-Team address.\n"
"Plural-Forms: nplurals=2; plural=(n >= 2);\n"

#: charset.c:674
#, 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.c:677
msgid "iconv_open"
msgstr "iconv_open"

#: charset.c:685
#, 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.c:781
#, 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.c:798 charset.c:1677
msgid "converting to execution character set"
msgstr "conversion vers un jeu de caractères d’exécution"

#: charset.c:804
#, 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.c:1047
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.c:1051
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.c:1054
#, c-format
msgid "the meaning of '\\%c' is different in traditional C"
msgstr "la signification de « \\%c » est différente en C traditionnel"

#: charset.c:1063
msgid "In _cpp_valid_ucn but not a UCN"
msgstr "Est dans _cpp_valid_ucn mais n'est pas un UCN"

# FIXME
#: charset.c:1096
#, c-format
msgid "incomplete universal character name %.*s"
msgstr "nom de caractère universel incomplet %.*s"

#: charset.c:1111
#, c-format
msgid "%.*s is not a valid universal character"
msgstr "%.*s n’est pas un caractère universel valide"

#: charset.c:1121 lex.c:1333
msgid "'$' in identifier or number"
msgstr "« $ » dans un identificateur ou un nombre"

#: charset.c:1131
#, 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.c:1135
#, 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.c:1181 charset.c:2000
msgid "converting UCN to source character set"
msgstr "conversion d'un UCN vers le jeu de caractères source"

#: charset.c:1188
msgid "converting UCN to execution character set"
msgstr "conversion d'un UCN vers le jeu de caractères d’exécution"

#: charset.c:1277
msgid "the meaning of '\\x' is different in traditional C"
msgstr "la signification de « \\x » est différente en C traditionnel"

#: charset.c:1302
msgid "\\x used with no following hex digits"
msgstr "\\x utilisé sans être suivi de chiffres hexadécimaux"

#: charset.c:1309
msgid "hex escape sequence out of range"
msgstr "séquence d’échappement hexadécimale hors intervalle"

#: charset.c:1361
msgid "octal escape sequence out of range"
msgstr "séquence d’échappement octale hors intervalle"

#: charset.c:1443
msgid "the meaning of '\\a' is different in traditional C"
msgstr "la signification de « \\a » est différente en C traditionnel"

#: charset.c:1450
#, c-format
msgid "non-ISO-standard escape sequence, '\\%c'"
msgstr "séquence d’échappement « \\%c » non conforme au standard ISO"

#: charset.c:1458
#, c-format
msgid "unknown escape sequence: '\\%c'"
msgstr "séquence d'échappement inconnue : « \\%c »"

#: charset.c:1466
#, c-format
msgid "unknown escape sequence: '\\%s'"
msgstr "séquence d’échappement « \\%s » inconnue"

#: charset.c:1474
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.c:1614
msgid "missing open quote"
msgstr "guillemet ouvrant de chaîne de caractères manquant"

#: charset.c:1827 charset.c:1891
msgid "character constant too long for its type"
msgstr "constante caractère trop longue pour son type"

#: charset.c:1830
msgid "multi-character character constant"
msgstr "constante caractère multi-caractères"

#: charset.c:1931
msgid "empty character constant"
msgstr "constante caractère vide"

#: charset.c:2047
#, c-format
msgid "failure to convert %s to %s"
msgstr "échec de conversion de %s vers %s"

#: directives.c:235 directives.c:278
#, c-format
msgid "extra tokens at end of #%s directive"
msgstr "éléments lexicaux superflus à la fin de la directive #%s"

#: directives.c:385
#, c-format
msgid "#%s is a GCC extension"
msgstr "#%s est une extension GCC"

#: directives.c:390
#, c-format
msgid "#%s is a deprecated GCC extension"
msgstr "#%s est une extension obsolète de GCC"

#: directives.c:403
msgid "suggest not using #elif in traditional C"
msgstr "il est suggéré de ne pas utiliser #elif en C traditionnel"

#: directives.c:406
#, c-format
msgid "traditional C ignores #%s with the # indented"
msgstr "le C traditionnel ignore la directive #%s si le caractère # est indenté"

#: directives.c:410
#, c-format
msgid "suggest hiding #%s from traditional C with an indented #"
msgstr "il est suggéré de cacher #%s au C traditionnel en indentant le « # »"

#: directives.c:436
msgid "embedding a directive within macro arguments is not portable"
msgstr "placer une directive dans les arguments d’une macro n’est pas portable"

#: directives.c:456
msgid "style of line directive is a GCC extension"
msgstr "la directive de style de ligne est une extension GCC"

#: directives.c:537
#, c-format
msgid "invalid preprocessing directive #%s"
msgstr "la directive de pré-traitement #%s invalide"

#: directives.c:606
msgid "\"defined\" cannot be used as a macro name"
msgstr "« defined » ne peut être utilisé comme nom de macro"

#: directives.c:611
msgid "\"__has_include__\" cannot be used as a macro name"
msgstr "« __has_include__ » ne peut être utilisé comme nom de macro"

#: directives.c:617
#, c-format
msgid "\"%s\" cannot be used as a macro name as it is an operator in C++"
msgstr "« %s » ne peut être utilisé comme nom de macro car c’est un opérateur C++"

#: directives.c:620
#, c-format
msgid "no macro name given in #%s directive"
msgstr "aucun nom de macro donné dans la directive #%s"

#: directives.c:623
msgid "macro names must be identifiers"
msgstr "les noms de macro doivent être des identificateurs"

#: directives.c:672 directives.c:677
#, c-format
msgid "undefining \"%s\""
msgstr "suppression de la définition de « %s »"

#: directives.c:732
msgid "missing terminating > character"
msgstr "caractère > de terminaison manquant"

#: directives.c:791
#, c-format
msgid "#%s expects \"FILENAME\" or <FILENAME>"
msgstr "#%s attend \"NOM_DE_FICHIER\" ou <NOM_DE_FICHIER>"

#: directives.c:837
#, c-format
msgid "empty filename in #%s"
msgstr "nom de fichier vide dans #%s"

#: directives.c:847
msgid "#include nested too deeply"
msgstr "#include imbriqué trop profondément"

#: directives.c:888
msgid "#include_next in primary source file"
msgstr "#include_next dans un fichier source primaire"

#: directives.c:914
#, c-format
msgid "invalid flag \"%s\" in line directive"
msgstr "drapeau « %s » invalide dans la ligne de directive"

#: directives.c:974
msgid "unexpected end of file after #line"
msgstr "fin de fichier inattendue après #line"

#: directives.c:977
#, c-format
msgid "\"%s\" after #line is not a positive integer"
msgstr "« %s » après #line n’est pas un nombre entier positif"

#: directives.c:983 directives.c:985
msgid "line number out of range"
msgstr "numéro de ligne hors intervalle"

#: directives.c:998 directives.c:1079
#, c-format
msgid "\"%s\" is not a valid filename"
msgstr "« %s » n’est pas un nom de fichier valide"

#: directives.c:1039
#, c-format
msgid "\"%s\" after # is not a positive integer"
msgstr "« %s » après # n’est pas un nombre entier positif"

#: directives.c:1098
#, 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.c:1157 directives.c:1159 directives.c:1161 directives.c:1747
#, c-format
msgid "%s"
msgstr "%s"

#: directives.c:1185
#, c-format
msgid "invalid #%s directive"
msgstr "directive #%s invalide"

#: directives.c:1248
#, 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.c:1257
#, 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.c:1275
#, 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.c:1278
#, c-format
msgid "#pragma %s %s is already registered"
msgstr "le #pragma %s %s est déjà enregistré"

#: directives.c:1281
#, c-format
msgid "#pragma %s is already registered"
msgstr "le #pragma %s est déjà enregistré"

#: directives.c:1311
msgid "registering pragma with NULL handler"
msgstr "enregistrement d’un pragma avec un handler NULL"

#: directives.c:1528
msgid "#pragma once in main file"
msgstr "#pragma once utilisé une seule fois dans le fichier principal"

#: directives.c:1551
msgid "invalid #pragma push_macro directive"
msgstr "directive #pragma push_macro invalide"

#: directives.c:1606
msgid "invalid #pragma pop_macro directive"
msgstr "directive #pragma pop_macro invalide"

#: directives.c:1661
msgid "invalid #pragma GCC poison directive"
msgstr "directive #pragma GCC poison invalide"

#: directives.c:1670
#, c-format
msgid "poisoning existing macro \"%s\""
msgstr "empoisonnement de la macro existante « %s »"

#: directives.c:1689
msgid "#pragma system_header ignored outside include file"
msgstr "#pragma system_header ignoré en dehors du fichier d'inclusion"

#: directives.c:1714
#, c-format
msgid "cannot find source file %s"
msgstr "impossible de trouver le fichier source %s"

#: directives.c:1718
#, c-format
msgid "current file is older than %s"
msgstr "le fichier courant est plus vieux que %s"

#: directives.c:1742
#, c-format
msgid "invalid \"#pragma GCC %s\" directive"
msgstr "directive « #pragma GCC %s » invalide"

#: directives.c:1943
msgid "_Pragma takes a parenthesized string literal"
msgstr "_Pragma attend une chaîne entourée de parenthèses"

#: directives.c:2064
msgid "#else without #if"
msgstr "#else sans #if"

#: directives.c:2069
msgid "#else after #else"
msgstr "#else après #else"

#: directives.c:2071 directives.c:2104
msgid "the conditional began here"
msgstr "la condition débute ici"

#: directives.c:2097
msgid "#elif without #if"
msgstr "#elif sans #if"

#: directives.c:2102
msgid "#elif after #else"
msgstr "#elif après #else"

#: directives.c:2133
msgid "#endif without #if"
msgstr "#endif sans #if"

#: directives.c:2213
msgid "missing '(' after predicate"
msgstr "« ( » manquante après le prédicat"

#: directives.c:2228
msgid "missing ')' to complete answer"
msgstr "« ) » manquante pour compléter la réponse"

#: directives.c:2248
msgid "predicate's answer is empty"
msgstr "la réponse du prédicat est vide"

#: directives.c:2275
msgid "assertion without predicate"
msgstr "assertion sans prédicat"

#: directives.c:2278
msgid "predicate must be an identifier"
msgstr "le prédicat doit être un identificateur"

#: directives.c:2364
#, c-format
msgid "\"%s\" re-asserted"
msgstr "assertion « %s » redondante"

#: directives.c:2656
#, c-format
msgid "unterminated #%s"
msgstr "#%s non terminé"

#: directives-only.c:221 lex.c:2851 traditional.c:167
msgid "unterminated comment"
msgstr "commentaire non terminé"

#: errors.c:284
#, c-format
msgid "%s: %s"
msgstr "%s : %s"

#: errors.c:296
msgid "stdout"
msgstr "sortie standard"

#: expr.c:628 expr.c:745
msgid "fixed-point constants are a GCC extension"
msgstr "les constantes à virgule fixe sont une extension GCC"

#: expr.c:653
msgid "invalid prefix \"0b\" for floating constant"
msgstr "préfixe « 0b » invalide pour une constante flottante"

#: expr.c:666
msgid "use of C++17 hexadecimal floating constant"
msgstr "utilisation d’une constante flottante hexadécimale C++17"

#: expr.c:669
msgid "use of C99 hexadecimal floating constant"
msgstr "utilisation d’une constante flottante hexadécimale C99"

#: expr.c:713
#, c-format
msgid "invalid suffix \"%.*s\" on floating constant"
msgstr "suffixe « %.*s » invalide pour une constante flottante"

#: expr.c:724 expr.c:784
#, c-format
msgid "traditional C rejects the \"%.*s\" suffix"
msgstr "le C traditionnel interdit le suffixe « %.*s »"

#: expr.c:732
msgid "suffix for double constant is a GCC extension"
msgstr "le suffixe pour les constantes double est une extension GCC"

#: expr.c:738
#, c-format
msgid "invalid suffix \"%.*s\" with hexadecimal floating constant"
msgstr "suffixe « %.*s » invalide pour une constante flottante hexadécimale"

#: expr.c:749
msgid "decimal float constants are a GCC extension"
msgstr "les constantes flottantes décimales sont une extension GCC"

#: expr.c:767
#, c-format
msgid "invalid suffix \"%.*s\" on integer constant"
msgstr "suffixe « %.*s » invalide pour une constante entière"

#: expr.c:792
msgid "use of C++11 long long integer constant"
msgstr "utilisation d’une constante entière « long long » C++11"

#: expr.c:793
msgid "use of C99 long long integer constant"
msgstr "utilisation d’une constante entière « long long » C99"

#: expr.c:809
msgid "imaginary constants are a GCC extension"
msgstr "les constantes imaginaires sont une extension GCC"

#: expr.c:815
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.c:817
msgid "binary constants are a GCC extension"
msgstr "les constantes binaires sont une extension GCC"

#: expr.c:912
msgid "integer constant is too large for its type"
msgstr "constante entière trop grande pour tenir dans son type"

#: expr.c:943
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.c:1038
msgid "missing ')' after \"defined\""
msgstr "« ) » manquante après « defined »"

#: expr.c:1045
msgid "operator \"defined\" requires an identifier"
msgstr "l'opérateur « defined » requiert un identificateur"

#: expr.c:1053
#, 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.c:1065
msgid "this use of \"defined\" may not be portable"
msgstr "cette utilisation de « defined » peut ne pas être portable"

#: expr.c:1125
msgid "user-defined literal in preprocessor expression"
msgstr "chaîne définie par l'utilisateur dans une expression pour le préprocesseur"

#: expr.c:1130
msgid "floating constant in preprocessor expression"
msgstr "constante flottante dans une expression pour le préprocesseur"

#: expr.c:1136
msgid "imaginary number in preprocessor expression"
msgstr "constante complexe dans une expression pour le préprocesseur"

#: expr.c:1189
#, c-format
msgid "\"%s\" is not defined, evaluates to 0"
msgstr "« %s » n’est pas défini, évalué à 0"

#: expr.c:1202
msgid "assertions are a GCC extension"
msgstr "les assertions sont une extension GCC"

#: expr.c:1205
msgid "assertions are a deprecated extension"
msgstr "les assertions sont une extension obsolète"

#: expr.c:1451
#, c-format
msgid "unbalanced stack in %s"
msgstr "pile non balancée dans %s"

#: expr.c:1471
#, c-format
msgid "impossible operator '%u'"
msgstr "opérateur « %u » impossible"

#: expr.c:1572
msgid "missing ')' in expression"
msgstr "« ) » manquante dans l'expression"

#: expr.c:1601
msgid "'?' without following ':'"
msgstr "« ? » n’est pas suivi de « : »"

#: expr.c:1611
msgid "integer overflow in preprocessor expression"
msgstr "débordement d’entier dans l'expression pour le préprocesseur"

#: expr.c:1616
msgid "missing '(' in expression"
msgstr "« ( » manquante dans l'expression"

#: expr.c:1648
#, 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.c:1653
#, 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.c:1912
msgid "traditional C rejects the unary plus operator"
msgstr "le C traditionnel rejette l'opérateur d'addition unaire"

#: expr.c:2010
msgid "comma operator in operand of #if"
msgstr "opérateur virgule dans l'opérande de #if"

#: expr.c:2146
msgid "division by zero in #if"
msgstr "division par zéro dans #if"

#: expr.c:2243
msgid "operator \"__has_include__\" requires a header string"
msgstr "l'opérateur « __has_include__ » requiert un chaîne d'entête"

#: expr.c:2259
msgid "missing ')' after \"__has_include__\""
msgstr "« ) » manquante après « __has_include__ »"

#: files.c:573
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.c:576
msgid "use -Winvalid-pch for more information"
msgstr "utilisez -Winvalid-pch pour plus d’informations"

#: files.c:981
#, c-format
msgid "no include path in which to search for %s"
msgstr "aucun chemin d’inclusion dans lequel on pourrait rechercher %s"

#: files.c:1441
msgid "Multiple include guards may be useful for:\n"
msgstr "Des garde-fous contre les inclusions multiples peuvent être utiles pour :\n"

#: init.c:565
msgid "cppchar_t must be an unsigned type"
msgstr "cppchar_t doit être d’un type non signé"

#: init.c:569
#, 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.c:576
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.c:579
msgid "target char is less than 8 bits wide"
msgstr "sur la cible, char fait moins de 8 bits"

#: init.c:583
msgid "target wchar_t is narrower than target char"
msgstr "sur la cible, wchar_t est plus petit que char"

#: init.c:587
msgid "target int is narrower than target char"
msgstr "sur la cible, int est plus petit que char"

#: init.c:592
msgid "CPP half-integer narrower than CPP character"
msgstr "les demi-entiers de CPP sont plus petits que les caractères de CPP"

#: init.c:596
#, 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"

#: lex.c:1126
msgid "backslash and newline separated by space"
msgstr "\\ et retour de chariot séparés par un blanc"

#: lex.c:1131
msgid "backslash-newline at end of file"
msgstr "\\ en fin de ligne à la fin du fichier"

#: lex.c:1147
#, c-format
msgid "trigraph ??%c converted to %c"
msgstr "trigraphe ??%c converti en %c"

#: lex.c:1155
#, c-format
msgid "trigraph ??%c ignored, use -trigraphs to enable"
msgstr "trigraphe ??%c ignoré, utilisez -trigraphs pour l'activer"

#: lex.c:1204
msgid "\"/*\" within comment"
msgstr "« /* » à l'intérieur d’un commentaire"

#: lex.c:1262
#, c-format
msgid "%s in preprocessing directive"
msgstr "%s dans la directive du préprocesseur"

# I18N
#: lex.c:1271
msgid "null character(s) ignored"
msgstr "caractère(s) nul(s) ignoré(s)"

#: lex.c:1308
#, c-format
msgid "`%.*s' is not in NFKC"
msgstr "« %.*s » n’est pas normalisée NFKC"

#: lex.c:1311
#, c-format
msgid "`%.*s' is not in NFC"
msgstr "« %.*s » n'est pas normalisée NFC"

#: lex.c:1365
msgid "__VA_OPT__ is not available until C++2a"
msgstr "__VA_OPT__ n'est pas disponible avant C++2a"

#: lex.c:1372
msgid "__VA_OPT__ can only appear in the expansion of a C++2a variadic macro"
msgstr "« __VA_OPT__ » peut seulement apparaître dans l'expansion de macros C++2a à nombre variable d’arguments"

#: lex.c:1403 lex.c:1495
#, c-format
msgid "attempt to use poisoned \"%s\""
msgstr "tentative d'utilisation d’un « %s » corrompu"

#: lex.c:1413 lex.c:1505
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.c:1417 lex.c:1509
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.c:1427 lex.c:1521
#, 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.c:1811
msgid "raw string delimiter longer than 16 characters"
msgstr "délimiteur de chaîne brute plus long que 16 caractères"

#: lex.c:1815
msgid "invalid new-line in raw string delimiter"
msgstr "caractère de nouvelle ligne invalide dans un délimiteur de chaîne brute"

#: lex.c:1819
#, c-format
msgid "invalid character '%c' in raw string delimiter"
msgstr "caractère « %c » invalide dans un délimiteur de chaîne brute"

#: lex.c:1868 lex.c:1890
msgid "unterminated raw string"
msgstr "chaîne brute non terminée"

#: lex.c:1912 lex.c:2043
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.c:2024
msgid "null character(s) preserved in literal"
msgstr "caractère(s) nul préservé(s) dans la chaîne"

#: lex.c:2027
#, c-format
msgid "missing terminating %c character"
msgstr "caractère %c de terminaison manquant"

#: lex.c:2061
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.c:2865 lex.c:2899
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.c:2867 lex.c:2878 lex.c:2901
msgid "(this will be reported only once per input file)"
msgstr "(ceci sera rapporté une seule fois seulement par fichier d'entrée)"

#: lex.c:2876
msgid "C++ style comments are incompatible with C90"
msgstr "La syntaxe des commentaires du C++ n’est pas permise en C90"

#: lex.c:2907
msgid "multi-line comment"
msgstr "commentaire multi-lignes"

#: lex.c:3287
#, c-format
msgid "unspellable token %s"
msgstr "l'élément lexical %s ne peut être épelé"

#: macro.c:93
msgid "'##' cannot appear at either end of __VA_OPT__"
msgstr "« ## » ne peut apparaître à aucune extrémité de __VA_OPT__"

#: macro.c:352
#, c-format
msgid "macro \"%s\" is not used"
msgstr "la macro « %s » n’est pas utilisée"

#: macro.c:391 macro.c:639
#, c-format
msgid "invalid built-in macro \"%s\""
msgstr "macro interne « %s » invalide"

#: macro.c:398 macro.c:500
#, c-format
msgid "macro \"%s\" might prevent reproducible builds"
msgstr "la macro « %s » pourrait empêcher les compilations reproductibles"

#: macro.c:429
msgid "could not determine file timestamp"
msgstr "date de modification du fichier indéterminable"

#: macro.c:546
msgid "could not determine date and time"
msgstr "date et heure indéterminable"

#: macro.c:562
msgid "__COUNTER__ expanded inside directive with -fdirectives-only"
msgstr "Expansion de __COUNTER__ à l'intérieur d’une directive avec -fdirectives-only"

#: macro.c:758
msgid "invalid string literal, ignoring final '\\'"
msgstr "chaîne invalide, le « \\ » final est ignoré"

#: macro.c:820
#, 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.c:946
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.c:950
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.c:957
#, 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.c:962
#, 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.c:1156 traditional.c:819
#, c-format
msgid "unterminated argument list invoking macro \"%s\""
msgstr "liste d'arguments non terminée en invoquant la macro « %s »"

#: macro.c:1307
#, 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.c:2003
#, 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.c:2011 macro.c:2020
#, 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.c:2984
#, c-format
msgid "duplicate macro parameter \"%s\""
msgstr "paramètre de macro « %s » dupliqués"

#: macro.c:3033
#, c-format
msgid "\"%s\" may not appear in macro parameter list"
msgstr "« %s » ne peut pas apparaître parmi la liste des paramètres de macro"

#: macro.c:3041
msgid "macro parameters must be comma-separated"
msgstr "les paramètres de macro doivent être séparés par des virgules"

#: macro.c:3060
msgid "parameter name missing"
msgstr "nom de paramètre manquant"

#: macro.c:3081
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.c:3085 macro.c:3090
msgid "anonymous variadic macros were introduced in C99"
msgstr "les macros anonymes à nombre variable d’arguments ont été introduites avec le C99"

#: macro.c:3097
msgid "ISO C++ does not permit named variadic macros"
msgstr "ISO C++ ne permet pas les macros nommées à nombre variable d’arguments"

#: macro.c:3100
msgid "ISO C does not permit named variadic macros"
msgstr "ISO C ne permet pas les macros nommées à nombre variable d’arguments"

#: macro.c:3110
msgid "missing ')' in macro parameter list"
msgstr "« ) » manquante dans la liste des paramètres de macro"

#: macro.c:3161
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.c:3198
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.c:3201
msgid "ISO C99 requires whitespace after the macro name"
msgstr "ISO C99 requiert un blanc après le nom de la macro"

#: macro.c:3226
msgid "missing whitespace after the macro name"
msgstr "espacement manquant après le nom de la macro"

#: macro.c:3263
msgid "'#' is not followed by a macro parameter"
msgstr "« # » n'est pas suivi d’un paramètre de macro"

#: macro.c:3430
#, c-format
msgid "\"%s\" redefined"
msgstr "« %s » redéfini"

#: macro.c:3435
msgid "this is the location of the previous definition"
msgstr "ceci est l'emplacement d’une précédente définition"

#: macro.c:3496
#, 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"

#: macro.c:3532
#, c-format
msgid "invalid hash type %d in cpp_macro_definition"
msgstr "type de hachage %d invalide dans cpp_macro_definition"

#: pch.c:89 pch.c:347 pch.c:361 pch.c:379 pch.c:385 pch.c:394 pch.c:401
msgid "while writing precompiled header"
msgstr "lors de l'écriture de l'en-tête pré-compilée"

#: pch.c:621
#, c-format
msgid "%s: not used because `%.*s' is poisoned"
msgstr "%s: n'est pas utilisé parce que « %.*s » est empoisonné"

#: pch.c:643
#, c-format
msgid "%s: not used because `%.*s' not defined"
msgstr "%s: n'est pas utilisé parce que « %.*s » n’est pas défini"

#: pch.c:655
#, c-format
msgid "%s: not used because `%.*s' defined as `%s' not `%.*s'"
msgstr "%s: n’est pas utilisé parce que « %.*s » est défini en tant « %s » et non pas « %.*s »"

#: pch.c:696
#, c-format
msgid "%s: not used because `%s' is defined"
msgstr "%s: n'est pas utilisé parce que « %s » est défini"

#: pch.c:716
#, c-format
msgid "%s: not used because `__COUNTER__' is invalid"
msgstr "%s: non utilisé parce que « __COUNTER__ » est invalide"

#: pch.c:725 pch.c:903
msgid "while reading precompiled header"
msgstr "lors de la lecture d’un entête pré-compilée"

#: traditional.c:889
#, c-format
msgid "detected recursion whilst expanding macro \"%s\""
msgstr "récursion détectée lors de l'expansion de la macro « %s »"

#: traditional.c:1108
msgid "syntax error in macro parameter list"
msgstr "erreur de syntaxe dans la liste des paramètres de macro"
