# This file stores localized messages for the Xerces JAXP Datatype API implementation.
#
# The messages are arranged in key and value tuples in a ListResourceBundle.
#

BadMessageKey = Le message d'erreur correspondant \u00E0 la cl\u00E9 de message est introuvable.
FormatFailed = Une erreur interne est survenue lors du formatage du message suivant :\n

FieldCannotBeNull=Impossible d''appeler {0} avec le param\u00E8tre ''null''.
UnknownField={0} a \u00E9t\u00E9 appel\u00E9 avec un champ inconnu : {1}
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
InvalidXGCValue-milli=Ann\u00E9e = {0}, Mois = {1}, Jour = {2}, Heure = {3}, Minute = {4}, Seconde = {5}, Fraction de seconde = {6}, Fuseau horaire = {7} ne repr\u00E9sentent pas des valeurs de calendrier gr\u00E9gorien XML valides.
#There are two similar keys 'InvalidXMLGreogorianCalendarValue' . Suffix (year, month) has been added and are used as per the context.
InvalidXGCValue-fractional=Ann\u00E9e = {0}, Mois = {1}, Jour = {2}, Heure = {3}, Minute = {4}, Seconde = {5}, Fraction de seconde = {6}, Fuseau horaire = {7} ne repr\u00E9sentent pas des valeurs de calendrier gr\u00E9gorien XML valides.

InvalidXGCFields=Ensemble de champs non valide pour XMLGregorianCalendar

InvalidFractional=Valeur non valide {0} pour la fraction de seconde.

#XGC stands for XML Gregorian Calendar
InvalidXGCRepresentation="{0}" ne repr\u00E9sente pas une valeur de calendrier gr\u00E9gorien XML valide.

InvalidFieldValue=Valeur {0} non valide pour le champ {1}.

NegativeField= Le champ {0} est n\u00E9gatif

AllFieldsNull=Tous les champs (javax.xml.datatype.DatatypeConstants.Field) sont NULL.

TooLarge=La valeur {0} "{1}" est trop \u00E9lev\u00E9e pour \u00EAtre prise en charge par cette impl\u00E9mentation
