################################################################################
##
##  Licensed to the Apache Software Foundation (ASF) under one or more
##  contributor license agreements.  See the NOTICE file distributed with
##  this work for additional information regarding copyright ownership.
##  The ASF licenses this file to You under the Apache License, Version 2.0
##  (the "License"); you may not use this file except in compliance with
##  the License.  You may obtain a copy of the License at
##
##      http://www.apache.org/licenses/LICENSE-2.0
##
##  Unless required by applicable law or agreed to in writing, software
##  distributed under the License is distributed on an "AS IS" BASIS,
##  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
##  See the License for the specific language governing permissions and
##  limitations under the License.
##
################################################################################

config.FileConfigurator.LoadingConfiguration=Chargement du fichier de configuration ${file}

CommandLineHelp=Utilisez ${program} -help pour en savoir plus sur l'utilisation de la ligne de commande.

# flex2.compiler.css
css.CssCompiler.InvalidComponentName=Nom de composant '${name}' incorrect : il doit s'agir d'un nom de classe ActionScript valable.
css.CssCompiler.StyleSheetParseError=Erreur lors de l'analyse de la feuille de style : ${stylePath}
css.ConditionTypeNotSupported=Le type de condition du s\u00e9lecteur CSS n'est pas pris en charge : ${condition}
css.SelectorTypeNotSupported=Le type de s\u00e9lecteur CSS n'est pas pris en charge : ${selector}
css.UnresolvedQualifiedTypeSelector=Impossible de r\u00e9soudre l\u2019espace de noms de type qualifi\u00e9 '${type}' dans le s\u00e9lecteur CSS '${selector}'
css.UnqualifiedTypeSelector=Le type '${type}' du s\u00e9lecteur CSS '${selector}' doit \u00eatre qualifi\u00e9 avec un espace de noms.
css.StyleDef.InvalidReference=Directive de r\u00e9f\u00e9rence ${type} invalide dans la feuille de style. Elle doit contenir un param\u00e8tre String unique.
css.StyleDef.PropertyReferenceRequiresDocument=PropertyReference() ne peut \u00eatre utilis\u00e9 que dans le cadre d'un document.
css.StylesContainer.ParseError=Probl\u00e8me lors de l'analyse du fichier CSS par d\u00e9faut : ${message}.
css.StylesContainer.DefaultCSSFileNotFound=Fichier CSS par d\u00e9faut introuvable.
css.StylesContainer.ExcludedStyleProperty=Le style '${stylePropertyName}' est exclu par le type '${typeName}'.
css.StylesContainer.InvalidPropertyReference=${value} n'est pas une r\u00e9f\u00e9rence de propri\u00e9t\u00e9 du document.
css.StylesContainer.InvalidStyleProperty=Le style '${stylePropertyName}' n'a pas \u00e9t\u00e9 d\u00e9clar\u00e9 par le type '${typeName}'.
css.StylesContainer.InvalidStyleTheme=Le style '${stylePropertyName}' est pris en charge uniquement par le type '${typeName}' avec le ou les th\u00e8mes '${styleThemes}'.
css.StylesContainer.UnusedTypeSelector=Le s\u00e9lecteur de type CSS ${styleName} n'a pas \u00e9t\u00e9 trait\u00e9, car le type n'a pas \u00e9t\u00e9 utilis\u00e9 dans l'application.
css.StylesContainer.ComponentTypeSelectorsNotSupported=Les s\u00e9lecteurs de type CSS ne sont pas pris en charge dans les composants : ${selector}
css.StyleConflictException=La d\u00e9claration du style ${style} cr\u00e9e un conflit avec la d\u00e9claration ant\u00e9rieure figurant dans ${source}.
css.ParseError=${message}

# transcoding

TranscoderException.UnrecognizedExtension=${source} n'est pas dot\u00e9 d'une extension reconnue et aucun type MIME (mimeType) n'a \u00e9t\u00e9 fourni
TranscoderException.NoMatchingTranscoder=aucun transcodeur n'est enregistr\u00e9 pour le type MIME ${mimeType}
TranscoderException.NoAssociatedClass=aucune classe associ\u00e9e \u00e0 ${tag} lorsque ${transcoder} est utilis\u00e9
media.AbstractTranscoder.UnsupportedAttribute=le param\u00e8tre de transcodage ${attribute} n'est pas pris en charge par ${className}
media.AbstractTranscoder.UnableToResolve=Impossible de r\u00e9soudre ${source} pour le transcodage
media.AbstractTranscoder.NetworkTranscodingSource=impossible d'incorporer la ressource r\u00e9seau ${url} au moment de la compilation ; utilisez un fichier local ou chargez la ressource au moment de l'ex\u00e9cution
media.AbstractTranscoder.MissingSource=aucune source \u00e0 transcoder n'a \u00e9t\u00e9 fournie
media.AbstractTranscoder.TemplateException=impossible de charger le mod\u00e8le ${template}
media.AbstractTranscoder.UnableToGenerateSource=impossible de g\u00e9n\u00e9rer la source de la classe ${className}
media.AbstractTranscoder.UnableToReadSource=impossible de lire la source du transcodage ${source}
media.AbstractTranscoder.ExceptionWhileTranscoding=exception lors du transcodage : ${exception}
media.AbstractTranscoder.EmbedRequiresCodegen=${source} aboutit au code g\u00e9n\u00e9r\u00e9 ; impossible d'utiliser la classe existante ${className}.
media.AbstractTranscoder.IncompatibleTranscoderParameters=les param\u00e8tres de transcodage ${param1} et ${param2} sont incompatibles

media.FontTranscoder.BadParameters=le transcodage de police n\u00e9cessite la sp\u00e9cification de fontName et de l'un des param\u00e8tres suivants : source, systemFont ou sourceList
media.FontTranscoder.BadFlashType=flashType doit \u00eatre d\u00e9fini sur true ou false.
media.FontTranscoder.BadAdvancedAntiAliasing=advancedAntiAliasing doit \u00eatre d\u00e9fini sur true ou false.
media.FontTranscoder.InvalidUnicodeRangeException=plage Unicode ${range} incorrecte
media.FontTranscoder.UnableToBuildFont=impossible de construire la police ${fontName}
media.FontTranscoder.UnableToExtrace=impossible d'extraire la police ${fileName}
media.FontTranscoder.EmbeddedFontShadowsDeviceFont=la police incorpor\u00e9e ${alias} peut ombrer la police du p\u00e9riph\u00e9rique du m\u00eame nom. Utilisez fontName pour d\u00e9finir un alias de nom diff\u00e9rent pour la police
media.LosslessImageTranscoder.InvalidQuality=La qualit\u00e9 doit \u00eatre un nombre double pr\u00e9cision compris entre 0 et 100.
media.LosslessImageTranscoder.QualityRequiresCompression=La qualit\u00e9 requiert compress="true".
media.ImageTranscoder.ScalingGridException=les quatre coins de la grille de mise \u00e0 l'\u00e9chelle doivent \u00eatre d\u00e9finis
media.MovieTranscoder.MissingSymbolDefinition=impossible de localiser la d\u00e9finition du symbole ${symbol}
media.MovieTranscoder.MissingFontFace=impossible de localiser la police ${fontName} dot\u00e9e de l'\u00e9paisseur ${weight} et du style ${style}
media.MovieTranscoder.UnableToBuildRootSprite=impossible de construire la d\u00e9finition de l'ic\u00f4ne anim\u00e9e racine
media.MovieTranscoder.BadScalingGridTarget=impossible d'appliquer la grille de mise \u00e0 l'\u00e9chelle au type de ressource ${resourceType}
media.MovieTranscoder.ScalingGridRange=les valeurs de la grille de mise \u00e0 l'\u00e9chelle doivent \u00eatre sup\u00e9rieures \u00e0 z\u00e9ro, la valeur de gauche doit \u00eatre inf\u00e9rieure \u00e0 celle de droite et la valeur du haut doit \u00eatre inf\u00e9rieure \u00e0 celle du bas
media.MovieTranscoder.ScalingGridAlreadyDefined=la ressource SWF dispose d\u00e9j\u00e0 d'une grille de mise \u00e0 l'\u00e9chelle
media.MovieTranscoder.IgnoringAS2=code AS2 ignor\u00e9 dans ${symbol} ; les applications Flex 2 prennent uniquement en charge le code AS3
media.SkinTranscoder.SkinClassNotFound=la classe de l'habillage ${className} est introuvable.
media.SoundTranscoder.UnsupportedSamplingRate=taux d'\u00e9chantillonnage non pris en charge (${frequency} Hz)
media.SoundTranscoder.CouldNotDetermineSampleFrameCount=impossible de d\u00e9terminer le nombre d'images \u00e9chantillonn\u00e9es
media.SoundTranscoder.NotInMP3Format=le fichier son n'a pas \u00e9t\u00e9 reconnu comme un fichier MP3.
media.SVGTranscoder.Deprecated=L\u2019utilisation de SVG est d\u00e9conseill\u00e9e depuis Flex\u00a04. Veuillez utiliser  FXG.

# flex2.compiler.abc
abc.AbcCompiler.NoBytecodeIsAvailable=Aucun code en octets disponible.
abc.AbcCompiler.BytecodeDecodingFailed=\u00e9chec du d\u00e9codage du code en octets abc.

# flex2.compiler.as3
as3.EmbedEvaluator.UnableToTranscode=Impossible de transcoder ${what}.
as3.EmbedEvaluator.UnableToCreateSource=Impossible de cr\u00e9er la source ${name}.
as3.EmbedEvaluator.UnsupportedTypeForEmbed=La variable d'incorporation (Embed) est uniquement prise en charge par les variables de type classe ou cha\u00eene.
as3.EmbedEvaluator.InvalidEmbedVariable=Une variable d'incorporation (Embed) ne peut pas comporter de valeur existante.
as3.EmbedEvaluator.EmbedOnlyOnClassesAndVars=Embed est uniquement pris en charge par les classes et les variables de membre.
as3.EmbedEvaluator.DeprecatedAttribute=${deprecated} est d\u00e9conseill\u00e9 depuis ${since}. Utilisez ${replacement} \u00e0 la place.
as3.EmbedExtension.IncompatibleAssetClass=La classe ${assetClass} n'\u00e9tend pas la classe de base de ressources ${assetType} ${requiredBase}.
as3.EmbedExtension.NonPublicAssetClass=La classe ${assetClass} doit \u00eatre publique pour pouvoir utiliser la ressource associ\u00e9e.
as3.HostComponentExtension.HostComponentClassNotFound=La classe [HostComponent] '${className}' n'a pas \u00e9t\u00e9 trouv\u00e9e.
as3.HostComponentExtension.MissingSkinPart=La partie d'habillage requise '${skinPartName}' est manquante.
as3.HostComponentExtension.MissingSkinPartWarning=La partie d'habillage requise '${skinPartName}' est manquante.
as3.HostComponentExtension.MissingSkinState=L'\u00e9tat d'habillage requis '${skinStateName}' est manquant.
as3.HostComponentExtension.WrongSkinPartType=Le type de partie d'enveloppe '${skinPartTypeName}' doit pouvoir \u00eatre assign\u00e9 \u00e0 '${hostSkinPartTypeName}'.
as3.MetaDataEvaluator.MetaDataRequiresDefinition=Les m\u00e9tadonn\u00e9es doivent \u00eatre associ\u00e9es \u00e0 une d\u00e9finition.
as3.MetaDataParser.InvalidMetadataFormatError=Format de m\u00e9tadonn\u00e9es incorrect.
as3.MetaDataParser.InvalidMetadataFormatWarning=Format de m\u00e9tadonn\u00e9es incorrect.
as3.reflect.NodeMagic.OnlyMetadataIsAllowed=Seules des m\u00e9tadonn\u00e9es sont autoris\u00e9es.
as3.SyntaxTreeEvaluator.DuplicateIconFileMetadata=Les m\u00e9tadonn\u00e9es IconFile doivent \u00eatre d\u00e9finies une seule fois dans un fichier. Elles sont d\u00e9finies \u00e0 la fois sur ${icon} et ${val} dans ${sourceName}.
as3.SyntaxTreeEvaluator.AccessibilityClassMustHaveType=[AccessibilityClass] doit d\u00e9finir une propri\u00e9t\u00e9 'implementation' sp\u00e9cifiant un nom de type.
as3.SyntaxTreeEvaluator.ArrayElementTypeMustHaveType=[ArrayElementType] doit sp\u00e9cifier un nom de type.
as3.SyntaxTreeEvaluator.DuplicateSkinState=D\u00e9claration dupliqu\u00e9e de SkinState '${name}'.
as3.SyntaxTreeEvaluator.OnlyOneHostComponentAllowed=Un seul [HostComponent] est autoris\u00e9.
as3.SyntaxTreeEvaluator.HostComponentMustHaveType=[HostComponent] doit indiquer un nom de type.
as3.SyntaxTreeEvaluator.InstanceTypeMustHaveType=[InstanceType] doit sp\u00e9cifier un nom de type.
as3.SyntaxTreeEvaluator.PercentProxyMustHaveProperty=[PercentProxy] doit sp\u00e9cifier un nom de propri\u00e9t\u00e9.
as3.SyntaxTreeEvaluator.MultipleConstructorDefs=Plusieurs d\u00e9finitions de constructeur ont \u00e9t\u00e9 trouv\u00e9es. Le constructeur ne peut pas \u00eatre d\u00e9fini en code <Script/>.
as3.SyntaxTreeEvaluator.RBOnlyOnVars=Les m\u00e9tadonn\u00e9es ResourceBundle sont uniquement prises en charge par les variables.
as3.SyntaxTreeEvaluator.RBEmptyMetadata=Les m\u00e9tadonn\u00e9es ResourceBundle doivent fournir un nom d'ensemble.
as3.SyntaxTreeEvaluator.DuplicateMetaData=M\u00e9tadonn\u00e9es ${metaData} en double pour les m\u00e9thodes getter et setter ${setter} de ${declaringClass}.
as3.SyntaxTreeEvaluator.NotResourceBundleType=Une variable ResourceBundle doit \u00eatre indiqu\u00e9e pour mx.resources.ResourceBundle.
as3.SyntaxTreeEvaluator.SkinPartsMustBePublic=Les parties d'habillage doivent \u00eatre publiques.
as3.SyntaxTreeEvaluator.VariableLevelResourceBundleMetaDataDeprecated=La m\u00e9tadonn\u00e9e de niveau variable ResourceBundle est obsol\u00e8te.  Utilisez la m\u00e9tadonn\u00e9e de niveau de classe ResourceBundle.
as3.StyleEvaluator.StyleMustAnnotateAClass=[Style] doit annoter une classe.
as3.StyleEvaluator.StyleHasMissingName=Le nom des m\u00e9tadonn\u00e9es de type [Style] est manquant.

#flex2.compiler.as3.bindable
as3.binding.BindableFirstPassEvaluator.ClassBindableUnnecessaryOnManagedClass=Les classes de type [Managed] sont automatiquement [Bindable] - les m\u00e9tadonn\u00e9es sont ignor\u00e9es.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnManagedClass=Les propri\u00e9t\u00e9s d'une classe [Managed] sont automatiquement [Bindable] - les m\u00e9tadonn\u00e9es sont ignor\u00e9es.
as3.binding.BindableFirstPassEvaluator.PropertyBindableUnnecessaryOnBindableClass=Classe d\u00e9j\u00e0 marqu\u00e9e comme [Bindable] ; l'attribut [Bindable] est redondant et sera ignor\u00e9.
as3.binding.BindableFirstPassEvaluator.BindableFunctionRequiresEventName=L'attribut [Bindable] n\u00e9cessite un param\u00e8tre de nom d'\u00e9v\u00e9nement lorsqu'il est appliqu\u00e9 \u00e0 une fonction autre qu'un getter ou un setter.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedInsideFunctionDefinition=L'attribut [Bindable] n'est pas autoris\u00e9 au sein d'une d\u00e9finition de fonction.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHere=L'attribut [Bindable] n'est pas autoris\u00e9 ici.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageVariables=L'attribut [Bindable] n'est pas autoris\u00e9 pour les variables globales ou de paquet.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnConstMemberVariables=L'attribut [Bindable] n'est pas autoris\u00e9 pour les variables de membre constantes.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnStaticMemberVariables=L'attribut [Bindable] n'est pas autoris\u00e9 pour les variables de membre statiques.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicMemberVariables=L'attribut [Bindable] n'est pas autoris\u00e9 pour les variables de membre non publiques dans ce contexte.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedOnGlobalOrPackageFunctions=L'attribut [Bindable] n'est pas autoris\u00e9 pour les fonctions globales ou de niveau paquet.
as3.binding.BindableFirstPassEvaluator.BindableNotAllowedHereOnNonPublicFunctions=L'attribut [Bindable] n'est pas autoris\u00e9 pour les fonctions non publiques dans ce contexte.
as3.binding.BindableFirstPassEvaluator.EventNameNotValid=Le nom de l'\u00e9v\u00e9nement n'est pas un identificateur ActionScript valable.
as3.binding.BindableSecondPassEvaluator.MissingNonInheritedSetter=L'attribut [Bindable] relatif au getter ${getter} n\u00e9cessite un setter d\u00e9fini localement.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectChanges=La liaison de donn\u00e9es ne pourra pas d\u00e9tecter les attributions \u00e0 ${name}.
as3.binding.DataBindingFirstPassEvaluator.UnableToDetectSquareBracketChanges=La liaison de donn\u00e9es ne pourra pas d\u00e9tecter les modifications si l'op\u00e9rateur crochet est utilis\u00e9. Pour le r\u00e9seau, utilisez \u00e0 la place ArrayCollection.getItemAt().


#flex2.compiler.as3.genext
as3.genext.GenerativeSecondPassEvaluator.BindableOnReadOnlyGetter=L'application de [Bindable] \u00e0 un getter en lecture seule est inutile et sera ignor\u00e9e.
as3.genext.GenerativeSecondPassEvaluator.BindableOnWriteOnlySetter=L'application de [Bindable] \u00e0 un setter en \u00e9criture seule est impossible et sera ignor\u00e9e.
as3.genext.GenerativeSecondPassEvaluator.ExistingMethodError=Impossible d'ajouter l'impl\u00e9mentation de l'interface ${interfaceName} \u00e0 la classe ${className} en raison d'une collision avec la propri\u00e9t\u00e9 ou la m\u00e9thode existante ${methodName}.
as3.genext.GenerativeSecondPassEvaluator.TemplateLoadError=Impossible de charger le mod\u00e8le ${templateName}.
as3.genext.GenerativeSecondPassEvaluator.TemplateRunException=Erreur interne : exception lors de la g\u00e9n\u00e9ration \u00e0 partir du mod\u00e8le ${templateName} pour la classe ${className] : ${exceptionText}.

#flex2.compiler.as3.managed
as3.managed.ManagedFirstPassEvaluator.InvalidManagedModeError=Un mode incorrect ${mode} a \u00e9t\u00e9 sp\u00e9cifi\u00e9 dans [Managed].
as3.managed.ManagedFirstPassEvaluator.InvalidUIDType=[Managed] n\u00e9cessite un 'uid' du type 'String'.
as3.managed.ManagedFirstPassEvaluator.ManagedModeConflictError=Conflit avec le mode [Managed].
as3.managed.ManagedFirstPassEvaluator.ManagedOnNonClassError=[Managed] s'applique uniquement aux d\u00e9finitions de classe ou aux propri\u00e9t\u00e9s au sein des classes [Managed].
as3.managed.ManagedFirstPassEvaluator.LazyAssociationsRequireServicesConfiguration=L'attribut [Managed] a \u00e9t\u00e9 sp\u00e9cifi\u00e9 pour la classe ${className} avec une propri\u00e9t\u00e9 de destination, mais un fichier de service n'a pas \u00e9t\u00e9 configur\u00e9. Les associations non strictes ne seront pas respect\u00e9es.
as3.managed.ManagedExtensionError.ManagedOnMXMLComponentError=[Managed] ne peut pas s'appliquer aux composants mxml.

#flex2.compiler.fxg
fxg.FXGCompiler.InvalidComponentName=Nom de composant '${name}' incorrect : il doit s\u2019agir d\u2019un nom de classe ActionScript autoris\u00e9.
fxg.FXGCompiler.FXGParseException=Exception d\u2019analyse FXG
fxg.FXGCompiler.SourceGenerationException=Exception de g\u00e9n\u00e9ration de source FXG

# flex2.compiler.mxml.analyzer
mxml.analyzer.HTTPServiceAnalyzer.RequestNoAttributes=La requ\u00eate ne peut pas avoir d'attributs.
mxml.analyzer.RemoteObjectAnalyzer.MethodRequiresName=La m\u00e9thode requiert un attribut de nom.
mxml.analyzer.RemoteObjectAnalyzer.ArgumentsNoAttributes=Les arguments ne peuvent pas avoir d'attributs.
mxml.analyzer.WebServiceAnalyzer.OperationRequiresName=Cette op\u00e9ration n\u00e9cessite un attribut de nom.
mxml.analyzer.WebServiceAnalyzer.RequestRequiresFormat=La requ\u00eate peut uniquement disposer de l'attribut format.
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedStylesheet=Feuille de style incorpor\u00e9e ignor\u00e9e, car un fichier source a \u00e9t\u00e9 d\u00e9fini.
mxml.analyzer.SyntaxAnalyzer.CompileTimeAttributeBindingExpressionUnsupported=Expressions de liaison de donn\u00e9es non prises en charge avec des attributs trait\u00e9s au moment de la compilation.
mxml.analyzer.SyntaxAnalyzer.StylesheetNotFound=Probl\u00e8me lors de la recherche de la feuille de style externe : ${source}
mxml.analyzer.SyntaxAnalyzer.EmptyTagIfSourceSpecified=La balise doit \u00eatre vide si l'attribut source est sp\u00e9cifi\u00e9.
mxml.analyzer.SyntaxAnalyzer.ModelNotFound=Probl\u00e8me lors de la recherche du mod\u00e8le externe : ${source}
mxml.analyzer.SyntaxAnalyzer.ScalarContentOnlyUnsupportedInExternalModel=Le mod\u00e8le externe dispose uniquement d'un contenu scalaire, attribut non pris en charge pour l'instant.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineScript=Script int\u00e9gr\u00e9 ignor\u00e9, car une source a \u00e9t\u00e9 sp\u00e9cifi\u00e9e.
mxml.analyzer.SyntaxAnalyzer.IgnoreInlineXML=Fichier XML int\u00e9gr\u00e9 ignor\u00e9, car une source a \u00e9t\u00e9 sp\u00e9cifi\u00e9e.
mxml.analyzer.SyntaxAnalyzer.XMLNotFound=Probl\u00e8me lors de la recherche du fichier XML externe : ${source}
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveSource=La liaison doit disposer d'une source valable.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveDestination=La liaison doit disposer d'une destination valable.
mxml.analyzer.SyntaxAnalyzer.BindingMustHaveUniqueSourceDestination=La destination et la source de liaison ne doivent pas \u00eatre identiques.
mxml.analyzer.SyntaxAnalyzer.UnknownAttribute=Attribut inconnu : ${qname} sur ${tag}
mxml.analyzer.SyntaxAnalyzer.ScriptNotFound=Probl\u00e8me lors de la recherche du fichier externe : ${source}
mxml.analyzer.SyntaxAnalyzer.IgnoreEmbeddedString=Cha\u00eene incorpor\u00e9e ignor\u00e9e, car un fichier source a \u00e9t\u00e9 d\u00e9fini.
mxml.analyzer.SyntaxAnalyzer.PrimitiveFileNotFound=Probl\u00e8me lors de la recherche du fichier externe : ${source}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem1=Probl\u00e8me lors de l'analyse du fichier XML externe : ${name} - (ligne ${line}) ${reason}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem2=Probl\u00e8me lors de l'analyse du fichier XML externe : ${name}
mxml.analyzer.SyntaxAnalyzer.XMLParseProblem3=Probl\u00e8me lors de l'analyse du fichier XML externe : ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.ExternalFileNotFound=Fichier introuvable : ${name}
mxml.analyzer.SyntaxAnalyzer.ParseFileProblem=Probl\u00e8me lors de l'analyse du texte normal externe : ${name} - ${message}
mxml.analyzer.SyntaxAnalyzer.StyleSheetParseError=Erreur lors de l'analyse de la feuille de style : ${stylePath}
mxml.analyzer.SyntaxAnalyzer.InlineComponentMustHaveOneChild=Un composant int\u00e9gr\u00e9 doit \u00eatre d\u00e9fini.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveNameError=Une d\u00e9finition doit comporter un attribut de nom.
mxml.analyzer.SyntaxAnalyzer.DefinitionMustHaveOneChildError=La d\u00e9finition '${name}' doit comporter un \u00e9l\u00e9ment enfant exactement.
mxml.analyzer.SyntaxAnalyzer.LibraryMustBeFirstChildOfDocumentError=La balise de biblioth\u00e8que doit \u00eatre le premier enfant de la balise racine d'un document.
mxml.analyzer.SyntaxAnalyzer.PrivateMustBeLastChildOfDocumentError=La balise priv\u00e9e doit \u00eatre le dernier enfant de la balise racine d'un document.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveTarget=Un attribut cible doit \u00eatre d\u00e9fini dans Reparent.
mxml.analyzer.SyntaxAnalyzer.ReparentMustHaveStates=includeIn ou excludeFrom doit \u00eatre d\u00e9fini dans Reparent.

# flex2.compiler.mxml.builder
mxml.builder.AnonymousObjectGraphBuilder.HasAttributeInitializers=Cet \u00e9l\u00e9ment ne peut pas contenir \u00e0 la fois une expression de liaison et des initialiseurs d'attribut.
mxml.builder.AnonymousObjectGraphBuilder.IgnoringCDATA=CDATA de ${image} ignor\u00e9s, car il existe d\u00e9j\u00e0 d'autres \u00e9l\u00e9ments XML...
mxml.builder.AnonymousObjectGraphBuilder.ObjectTag=Impossible d'utiliser une balise nomm\u00e9e Object dans des mod\u00e8les ou des services.
mxml.builder.DocumentBuilder.MissingAttribute=Attribut ${attribute} manquant.
mxml.builder.DocumentBuilder.LanguageNodeInDeclarationError=${image}' doit \u00eatre un enfant de la balise root.
mxml.builder.DocumentBuilder.NestedDeclaration=La d\u00e9claration '${declaration}' doit \u00eatre contenue dans la balise <Declarations>, car elle n\u2019impl\u00e9mente pas '${targetType}'.
mxml.builder.DocumentBuilder.SingleRValueNestedDeclaration=La d\u00e9claration '${declaration}' doit \u00eatre contenue dans la balise <Declarations>, car elle ne peut pas \u00eatre affect\u00e9e au type '${targetType}' ou au type d\u2019\u00e9l\u00e9ment '${targetElementType}' de la propri\u00e9t\u00e9 par d\u00e9faut.
mxml.builder.DocumentBuilder.MultiRValueNestedDeclaration=La d\u00e9claration '${declaration}' doit \u00eatre contenue dans la balise <Declarations>, car elle ne peut pas \u00eatre affect\u00e9e au type d\u2019\u00e9l\u00e9ment '${targetElementType}' de la propri\u00e9t\u00e9 par d\u00e9faut.
mxml.builder.DocumentBuilder.DefaultPropertyError=La propri\u00e9t\u00e9 par d\u00e9faut n'est pas prise en charge par la balise root.
mxml.builder.DocumentBuilder.ThemeAttributeError=Indiquez votre th\u00e8me \u00e0 l'aide des options de configuration du compilateur ; l'attribut 'theme' n'est plus pris en charge dans les documents MXML.
mxml.builder.DocumentBuilder.RslAttributeError=Indiquez des biblioth\u00e8ques d'ex\u00e9cution partag\u00e9es \u00e0 l'aide des options de configuration du compilateur ; l'attribut rsl n'est plus pris en charge dans les documents MXML.
mxml.builder.DocumentBuilder.LibAttributeError=Indiquez des biblioth\u00e8ques \u00e0 l'aide des options de configuration du compilateur ; l'attribut 'lib' n'est plus pris en charge dans les documents MXML.
mxml.builder.DocumentBuilder.EmbedNotAllowed=@Embed non autoris\u00e9 ici.
mxml.builder.DocumentBuilder.ClearNotAllowed=@Clear non autoris\u00e9 ici.
mxml.builder.DocumentBuilder.InvalidPreLoaderClassName=Le nom de classe '${className}' sp\u00e9cifi\u00e9 pour l'attribut preloader est incorrect.
mxml.builder.DocumentBuilder.InvalidSplashScreenImageClassName=Le nom de classe '${className}' sp\u00e9cifi\u00e9 pour l'attribut splashScreenImage est incorrect.
mxml.builder.DocumentBuilder.InvalidRuntimeDPIProviderClassName=Le nom de classe '${className}' sp\u00e9cifi\u00e9 pour l\u2019attribut runtimeDPIProvider est incorrect.
mxml.builder.DocumentBuilder.IdNotAllowedOnRoot=L'attribut id n'est pas autoris\u00e9 pour la balise root d'un composant.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnRoot=Les attributs includeIn et excludeFrom ne sont pas autoris\u00e9s sur la balise root d'un composant.
mxml.builder.DocumentBuilder.StateAttrsNotAllowedOnDecls=Les attributs includeIn et excludeFrom ne sont pas autoris\u00e9s sur les enfants imm\u00e9diats de la balise <Declarations>.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnRoot=Les attributs itemCreationPolicy et itemDestructionPolicy ne sont pas autoris\u00e9s sur la balise racine d\u2019un composant.
mxml.builder.DocumentBuilder.ItemPolicyNotAllowedOnDecls=Les attributs itemCreationPolicy et itemDestructionPolicy ne sont pas autoris\u00e9s sur les enfants imm\u00e9diats de la balise <Declarations>.
mxml.builder.ArrayBuilder.ElementNotSupported=${image} n'est pas pris en charge en tant qu'\u00e9l\u00e9ment Array pour l'instant.
mxml.builder.ArrayBuilder.UnknownNode=${image} non autoris\u00e9 ici.
mxml.builder.AbstractBuilder.AtClearNotAllowed=La directive @Clear peut uniquement \u00eatre utilis\u00e9e pour des propri\u00e9t\u00e9s de style sp\u00e9cifiques \u00e0 l'\u00e9tat.
mxml.builder.AbstractBuilder.BindingNotAllowed=L'expression de liaison de donn\u00e9es n'est pas autoris\u00e9e ici.
mxml.builder.AbstractBuilder.BindingNotAllowedInitializer=Initialiseur utilis\u00e9 pour '${desc}' : l'expression de liaison de donn\u00e9es n'est pas autoris\u00e9e ici.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowed=Expression de liaison de donn\u00e9es bidirectionnelle int\u00e9gr\u00e9e non autoris\u00e9e ici.
mxml.builder.AbstractBuilder.TwoWayBindingNotAllowedInitializer=Initialiseur utilis\u00e9 pour '${desc}' : expression de liaison de donn\u00e9es bidirectionnelle non autoris\u00e9e ici.
mxml.builder.AbstractBuilder.ClearNotAllowed=@Clear ne peut \u00eatre utilis\u00e9 qu'avec les propri\u00e9t\u00e9s state-specific.
mxml.builder.AbstractBuilder.TypeNotContextRootable=Initialiseur utilis\u00e9 pour '${desc}' : @ContextRoot ne peut pas \u00eatre utilis\u00e9 avec le type ${type}.
mxml.builder.AbstractBuilder.UndefinedContextRoot=Racine du contexte non d\u00e9finie.
mxml.builder.AbstractBuilder.TypeNotEmbeddable=Initialiseur utilis\u00e9 pour '${desc}' : @Embed ne peut pas \u00eatre utilis\u00e9 avec le type ${type}.
mxml.builder.AbstractBuilder.InvalidTextForType=Initialiseur utilis\u00e9 pour '${desc}' : impossible d'analyser la valeur du type ${type}${array} dans le texte '${text}'.
mxml.builder.AbstractBuilder.InvalidPercentage=Initialiseur utilis\u00e9 pour '${desc}' : expression de pourcentage incorrecte : ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBindingInitializer=Initialiseur utilis\u00e9 pour '${desc}': expression de liaison bidirectionnelle non valide : ${text}.
mxml.builder.AbstractBuilder.InvalidTwoWayBinding=Expression de liaison bidirectionnelle non valide : ${text}.
mxml.builder.AbstractBuilder.TypeNotSerializable=Initialiseur pour '${desc}' : les valeurs du type ${type} ne peuvent pas \u00eatre repr\u00e9sent\u00e9es dans le texte.
mxml.builder.AbstractBuilder.PercentagesNotAllowed=Initialiseur utilis\u00e9 pour '${desc}' : les valeurs en pourcentage ne sont pas autoris\u00e9es ici.
mxml.builder.AbstractBuilder.UnrecognizedAtFunction=Initialiseur utilis\u00e9 pour '${desc}' : instruction compile-time non reconnue.
mxml.builder.AbstractBuilder.PercentProxyWarning=[PercentProxy("${percentProxyName}")] pour la propri\u00e9t\u00e9 ${property} ne nomme pas une propri\u00e9t\u00e9 accessible de la classe ${type}.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerError=Plusieurs initialiseurs pour la propri\u00e9t\u00e9 '${name}'.
mxml.builder.AbstractBuilder.MultiplePropertyInitializerWithDefaultError=Plusieurs initialiseurs pour la propri\u00e9t\u00e9 '${name}'. (Remarque : '${name}' est la propri\u00e9t\u00e9 par d\u00e9faut de '${type}').
mxml.builder.AbstractBuilder.EventTypeUnavailable=Le type d'\u00e9v\u00e9nement '${type}' n'est pas disponible.
mxml.builder.AbstractBuilder.EventHandlerEmpty=Le gestionnaire d'\u00e9v\u00e9nements est vide.
mxml.builder.AbstractBuilder.MultipleStyleInitializerError=Plusieurs initialiseurs pour le style '${name}'.
mxml.builder.AbstractBuilder.MultipleEffectInitializerError=Plusieurs initialiseurs pour l'effet '${name}'.
mxml.builder.AbstractBuilder.ClassNotAvailable=La classe '${className}' n'est pas disponible.
mxml.builder.AbstractBuilder.TypeNotAvailable=Le type MXML standard '${type}' n'est pas disponible.
mxml.builder.AbstractBuilder.TypeNotAssignableToDefaultProperty=Le type '${type}' ne peut pas \u00eatre affect\u00e9 \u00e0 la propri\u00e9t\u00e9 par d\u00e9faut '${defaultProperty}' de type '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotAssignableToLType=Dans l\u2019initialiseur de '${lvalue}', le type ${type} ne peut pas \u00eatre affect\u00e9 au type cible '${targetType}'.
mxml.builder.AbstractBuilder.DefaultPropertyNotMultiple=Plusieurs valeurs d\u2019initialiseur pour la propri\u00e9t\u00e9 par d\u00e9faut '${defaultProperty}' de type '${targetType}'.
mxml.builder.AbstractBuilder.TypeNotMultiple=Dans l'initialiseur pour '${lvalue}', plusieurs valeurs d'initialiseur pour le type cible ${targetType}.
mxml.builder.AbstractBuilder.SingleRValueNotTargetTypeOrTargetElementType=Dans l'initialiseur '${lvalue}', le type ${type} ne peut pas \u00eatre affect\u00e9 au type cible ${targetType} ou au type d'\u00e9l\u00e9ment cible ${targetElementType}.
mxml.builder.AbstractBuilder.MultiRValueNotElementType=Dans l'initialiseur pour '${lvalue}', le type ${type} ne peut pas \u00eatre affect\u00e9 au type d'\u00e9l\u00e9ment ${targetElementType} cible ${targetType}.
mxml.builder.AbstractBuilder.InitializerNotAllowed=L'initialiseur utilis\u00e9 pour la propri\u00e9t\u00e9 '${name}' n'est pas autoris\u00e9 ici.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicyUsage=Les attributs itemCreationPolicy et itemDestructionPolicy doivent accompagner l\u2019attribut includeIn ou excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemCreationPolicy=Valeur incorrecte pour l'attribut itemCreationPolicy. 
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicyUsage=itemDestructionPolicy doit accompagner l\u2019attribut includeIn ou excludeFrom.
mxml.builder.AbstractBuilder.InvalidItemDestructionPolicy=Valeur incorrecte pour l\u2019attribut itemDestructionPolicy. 
mxml.builder.AbstractBuilder.PropertyReadOnly=La propri\u00e9t\u00e9 '${name}' est en lecture seule.
mxml.builder.AbstractBuilder.PropertyUnreachable=Erreur interne : le type de la propri\u00e9t\u00e9 '{name}' n'est pas accessible.
mxml.builder.AbstractBuilder.StyleUnreachable=Erreur interne : le type du style {'name'} n'est pas accessible.
mxml.builder.AbstractBuilder.InvalidEnumerationValue=Valeur incorrecte : ${value}. Elle doit correspondre \u00e0 l'une des suivantes : ${values}.
mxml.builder.AbstractBuilder.RuntimeSVGNotSupported=Le lecteur Flash ne prend pas en charge le chargement de SVG au moment de l'ex\u00e9cution. Pour incorporer SVG, utilisez la fonction @Embed() lors de la compilation.
mxml.builder.AbstractBuilder.EmptyChildInitializer=L'initialiseur de balise enfant pour le type '${type}' ne peut pas rester vide.

# If you update any of these strings, you must change ASC's equivalents in asc/src/localized_strings/EN/Lint_Warnings.xml (don't forget Japanese!)
mxml.builder.AbstractBuilder.Deprecated=${name}' est d\u00e9conseill\u00e9.
mxml.builder.AbstractBuilder.DeprecatedMessage=${deprecationMessage}
mxml.builder.AbstractBuilder.DeprecatedUseReplacement=${name}' est d\u00e9conseill\u00e9. Utilisez '${replacement}' \u00e0 la place.
mxml.builder.AbstractBuilder.DeprecatedSince=${name}' est d\u00e9conseill\u00e9 depuis ${since}. Utilisez '${replacement}' \u00e0 la place.
mxml.builder.AbstractBuilder.DeprecatedSinceNoReplacement=${name}' est d\u00e9conseill\u00e9 depuis ${since}.

mxml.builder.ComponentBuilder.ExcludedStyleProperty=Le style '${stylePropertyName}' est exclu par le type '${typeName}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeError=Le style '${stylePropertyName}' est pris en charge uniquement par le type '${typeName}' avec le ou les th\u00e8mes '${styleThemes}'.
mxml.builder.ComponentBuilder.InvalidStyleThemeWarning=Le style '${stylePropertyName}' est pris en charge uniquement par le type '${typeName}' avec le ou les th\u00e8mes '${styleThemes}'.
mxml.builder.ComponentBuilder.UnknownNamespace=Espace de noms ${namespace} inconnu pour l'attribut ${text} (seuls les espaces de noms d'attributs par d\u00e9faut sont pris en charge).
mxml.builder.ComponentBuilder.UnknownAttribute=Impossible de r\u00e9soudre l'attribut ${name} pour le type de composant ${type}.
mxml.builder.ComponentBuilder.UnknownQualifiedAttribute=Impossible de r\u00e9soudre l'attribut '${localPart}' dans l'espace de noms '${namespace}' pour le type de composant ${type}.
mxml.builder.ComponentBuilder.NonContiguous=Les \u00e9l\u00e9ments enfants de '${parentTypeName}' qui servent de valeur de propri\u00e9t\u00e9 par d\u00e9faut pour '${propertyName}' doivent \u00eatre contigus.
mxml.builder.ComponentBuilder.NestedFlexDeclaration=Les d\u00e9clarations de composant ne sont pas autoris\u00e9es ici. (Remarque : les enfants visuels doivent impl\u00e9menter ${interfaceName}).
mxml.builder.ComponentBuilder.NestedDeclaration=Les d\u00e9clarations de composant ne sont pas autoris\u00e9es ici.
mxml.builder.ComponentBuilder.SparkPrimitiveInHalo=${type}' est une primitive graphique qui doit \u00eatre encapsul\u00e9e dans un groupe pour pouvoir \u00eatre ajout\u00e9e \u00e0 '${parentType}'.
mxml.builder.ComponentBuilder.MixedContent=Contenu mixte non autoris\u00e9 ici.
mxml.builder.ComponentBuilder.InitializersNotAllowed=Le composant ne peut pas disposer \u00e0 la fois d'un initialiseur de texte et d'attributs.
mxml.builder.ComponentBuilder.IllegalLanguageNode=${image} n'est pas autoris\u00e9 ici.
mxml.builder.ComponentBuilder.MixedInitializers=Des initialiseurs textuels et non textuels ont \u00e9t\u00e9 sp\u00e9cifi\u00e9s.
mxml.builder.ComponentBuilder.InvalidOverrideDeclaration=Les remplacements d'\u00e9tat risquent de ne plus \u00eatre d\u00e9clar\u00e9s de fa\u00e7on explicite. La syntaxe des \u00e9tats h\u00e9rit\u00e9s est conseill\u00e9e.
mxml.builder.ComponentBuilder.HaloNavigatorsRequireHaloContainerChildren=Les enfants des navigateurs Halo doivent impl\u00e9menter INavigatorContent.
mxml.builder.ComponentBuilder.RepeatersRequireHaloContainerParent=Les r\u00e9p\u00e9teurs n\u00e9cessitent un parent bas\u00e9 sur le conteneur Halo.
mxml.builder.ComponentBuilder.UnsupportedStatefulPropertySyntax=La syntaxe de la propri\u00e9t\u00e9 sp\u00e9cifique \u00e0 l'\u00e9tat '${name}' n'est pas prise en charge pour les versions en langage MXML ant\u00e9rieures \u00e0 2009.
mxml.builder.ModelBuilder.ClassNotFound=Impossible de trouver la classe ${className}.
mxml.builder.ModelBuilder.OnlyOneRootTag=Une seule balise racine est autoris\u00e9e.
mxml.builder.ModelBuilder.OnlyScalarError=Le mod\u00e8le ${id} dispose uniquement d'un contenu scalaire, attribut non pris en charge pour l'instant.
mxml.builder.PrimitiveBuilder.InitializerRequired=La valeur de l'initialiseur doit \u00eatre indiqu\u00e9e ici.
mxml.builder.XMLBuilder.OnlyOneRootTag=Une seule balise racine est autoris\u00e9e.
mxml.builder.XMLBuilder.MixedContent=Contenu mixte non autoris\u00e9 ici.
mxml.builder.XMLBuilder.RequireXMLContent=Contenu XML obligatoire.
mxml.builder.XMLListBuilder.RequireXMLContent=Contenu XML obligatoire.
mxml.builder.VectorBuilder.WrongElementType=Les \u00e9l\u00e9ments de ce vecteur doivent pouvoir \u00eatre affect\u00e9s \u00e0 '${elementTypeName}'.

# flex2.compiler.mxml.dom
mxml.dom.AnalyzerAdapter.CouldNotResolveToComponent=Impossible de r\u00e9soudre ${tag} en une impl\u00e9mentation de composant.
mxml.dom.AnalyzerAdapter.MixedContentNotAllowed=Contenu mixte non autoris\u00e9 ici.
mxml.dom.AnalyzerAdapter.ChildElementsNotAllowed=Les \u00e9l\u00e9ments enfant ne sont pas autoris\u00e9s ici.
mxml.dom.MxmlScanner.ConflictingLanguageVersion=Un seul espace de noms de langage doit \u00eatre sp\u00e9cifi\u00e9 par document. '${ns1}' et '${ns2}' ont \u00e9t\u00e9 trouv\u00e9s.
mxml.dom.MxmlScanner.XMLTagAttributeLineNumber=La num\u00e9rotation des lignes n'est pas prise en charge pour les attributs de balises XML. Il est donc possible que les rapports d'erreurs MXML compile-time et que le d\u00e9bogage des composants indiquent des num\u00e9ros de ligne erron\u00e9s. Assurez-vous que xercesPatch.jar se trouve dans classpath.
mxml.dom.MxmlScanner.UnexpectedEndOfTokenStream=Fin inattendue du flux de jetons. Dernier jeton : ${token}.
mxml.dom.MxmlScanner.UnexpectedEndOfSAXStream=Fin inattendue du flux d'\u00e9v\u00e9nements SAX. Dernier \u00e9v\u00e9nement : ${reason}.
mxml.dom.MxmlScanner.UnexpectedProcessingInstruction=Une instruction de traitement inattendue a \u00e9t\u00e9 rencontr\u00e9e et sera ignor\u00e9e. Trouv\u00e9 : ${reason}

# flex2.compiler.mxml.reflect
mxml.reflect.ElementTypeNotFound=[${metadata}(${elementTypeName})] : type ${elementTypeName} introuvable.
mxml.reflect.TypeTable.NullInstanceType=[${instanceType}](${instanceTypeName}) : le type ${instanceTypeName} n\u2019est pas disponible.


# flex2.compiler.mxml.rep
mxml.rep.AtEmbed.InvalidEmbed=Instruction Embed erron\u00e9e dans la feuille de style ; impossible de r\u00e9soudre la source ${source}.
mxml.rep.AtEmbed.NoEmbedParams=Aucun param\u00e8tre n'a \u00e9t\u00e9 fourni pour @Embed().
mxml.rep.AtEmbed.SkinClassWithSourceNotSupported=L'attribut source n'est pas compatible avec skinClass.
mxml.rep.AtResource.NoResourceParams=Aucun param\u00e8tre n'a \u00e9t\u00e9 fourni pour @Resource().
mxml.rep.AtResource.NoResourceKeyParam=Aucun param\u00e8tre de cl\u00e9 n'a \u00e9t\u00e9 fourni pour @Resource().
mxml.rep.AtResource.NoResourceBundleParam=Aucun param\u00e8tre d'ensemble n'a \u00e9t\u00e9 fourni pour @Resource().
mxml.rep.DocumentInfo.UnableToResolveLanguageVersion=Impossible de r\u00e9soudre la version de langage MXML. Indiquez l'espace de noms de langage sur la balise root du document.
mxml.rep.DocumentInfo.AmbiguousStateIdentifier=Identificateur '${name}' utilis\u00e9 pour un groupe d'\u00e9tats et un \u00e9tat.
mxml.rep.MxmlDocument.AmbiguousStateFilterError=Les mots cl\u00e9s includeIn et excludeFrom keywords ne peuvent pas \u00eatre sp\u00e9cifi\u00e9s simultan\u00e9ment.
mxml.rep.MxmlDocument.NonPublicInheritedPropertyInit=Tentative d'initialisation de la propri\u00e9t\u00e9 h\u00e9rit\u00e9e ${name} non publique \u00e0 partir de MXML.
mxml.rep.MxmlDocument.ReadOnlyInheritedPropertyInit=Tentative d'initialisation de la propri\u00e9t\u00e9 h\u00e9rit\u00e9e ${name} en lecture seule \u00e0 partir de MXML.
mxml.rep.MxmlDocument.StateResolutionError=L'\u00e9tat '${name}' a \u00e9t\u00e9 r\u00e9f\u00e9renc\u00e9 sans \u00eatre d\u00e9clar\u00e9.
mxml.rep.MxmlDocument.TypeIncompatibleInheritedPropertyInit=Tentative d'initialisation de la propri\u00e9t\u00e9 h\u00e9rit\u00e9e ${name} de type ${propertyType} avec une valeur du type ${valueType} incompatible.
mxml.rep.StatesModel.ConflictingReparentTags=Impossible de d\u00e9finir la parent\u00e9 de la m\u00eame cible '${target}' sur plusieurs destinations au sein du m\u00eame \u00e9tat ('${name}').
mxml.rep.StatesModel.DuplicateState=D\u00e9finitions multiples pour l'\u00e9tat '${state}'.
mxml.rep.StatesModel.IncompatibleReparentType=Impossible de d\u00e9finir la parent\u00e9 de la cible '${target}' sur une destination donn\u00e9e. Type ou propri\u00e9t\u00e9 scalaire incompatible.
mxml.rep.StatesModel.IncompatibleStatefulNode=Les n\u0153uds des valeurs scalaires ne peuvent pas \u00eatre state-specific.
mxml.rep.StatesModel.InvalidReparentState=Impossible de red\u00e9finir parent la cible '${target}'.  Elle existe d\u00e9j\u00e0 dans l'\u00e9tat ('${name}').
mxml.rep.StatesModel.TargetResolutionError=Impossible de r\u00e9soudre la cible de parent\u00e9 sp\u00e9cifi\u00e9e '${name}'.
mxml.rep.StatesModel.MultipleInitializers=Plusieurs initialiseurs pour la propri\u00e9t\u00e9 '${name}' dans l'\u00e9tat '${state}'.
mxml.rep.StatesModel.IncompatibleState=Impossible de r\u00e9aliser le composant dans l'\u00e9tat '${state}', car un anc\u00eatre est exclu de '${state}'. 
mxml.rep.StatesModel.CircularReparent=R\u00e9f\u00e9rence circulaire d\u00e9tect\u00e9e dans l'\u00e9tat '${state}' en raison de la balise Reparent.
mxml.rep.init.ValueInitializer.DeclaredAndProceduralWithinRepeater=Impossible de g\u00e9n\u00e9rer le code d'initialisation dans le r\u00e9p\u00e9teur, car l'ID ou la liaison de donn\u00e9es relatif \u00e0 un composant n'est pas un enfant visuel.  


# flex2.compiler.util
util.Benchmark.BenchmarkText=${message} ${time} ms
util.Benchmark.BenchmarkTotalText=${message} ${time}ms Ex\u00e9cution totale : ${total}ms
util.Benchmark.BenchmarkID=${id} : ${duration} ms
util.Benchmark.TotalTime=Dur\u00e9e totale : ${time} ms
util.Benchmark.MemoryUsage=Utilisation maximale de la m\u00e9moire : ${total} Mo (Segment de m\u00e9moire : ${heap}, Autre : ${nonHeap})
util.AbstractLogger.Info=Infos
util.AbstractLogger.Warning=Avertissement
util.AbstractLogger.Error=Erreur
util.AbstractLogger.col=col
util.AbstractLogger.Recompile=Recompiler
util.AbstractLogger.Reason=Motif
util.AbstractLogger.Updated=Mis \u00e0 jour
util.ManifestParser.UndefinedClass=Manifest : erreur de chargement de l'espace de noms ${fileName} : ${line} La classe du composant ${tag} n'est pas d\u00e9finie.
util.ManifestParser.ManifestError=Manifest : erreur de chargement de l'espace de noms ${fileName} : ${line} ${message}
util.ManifestParser.InvalidClassName=Manifest : erreur de chargement de l'espace de noms ${fileName} : ${line} Le composant ${tag} ne peut pas utiliser * comme classe d\u00e9finie.
util.ManifestParser.DuplicateComponentDefinition=Manifest : erreur de chargement de l'espace de noms ${fileName} : ${line} Le composant ${tag} est d\u00e9fini plus d'une fois dans l'espace de noms.
util.MD5Crypt.UnsupportedAlgorithm=Chiffrement MD5 : l'algorithme de chiffrement du message n'est pas pris en charge.
util.XMLStringSerializer.IllegalXMLChar=Caract\u00e8re XML erron\u00e9
util.VelocityManager.InitializationError=Exception lors de l'initialisation du moteur de rapidit\u00e9 : ${message}
util.VelocityManager.InvocationError=M\u00e9thode ${className}.${methodName} : exception d'appel lors de la g\u00e9n\u00e9ration du code : ${message}
util.VelocityManager.TemplateReferenceIsNull=La r\u00e9f\u00e9rence au mod\u00e8le ${s} aboutit \u00e0 un r\u00e9sultat nul.
util.VelocityManager.GetMethodNotFound=${template} ligne ${line}, colonne ${column} : impossible de localiser la m\u00e9thode get appliqu\u00e9e \u00e0 ${identifier} sur ${className}
util.VelocityManager.SetMethodNotFound=${template} ligne ${line}, colonne ${column} : impossible de localiser la m\u00e9thode set appliqu\u00e9e \u00e0 ${identifier} sur ${className}
util.LocalLogger.ErrMsgBug=Bogue du rapport d'erreurs du compilateur Flex
util.LocalLogger.GeneratedCodeMarker=Code g\u00e9n\u00e9r\u00e9 (utilisez -keep pour l'enregistrer)
util.LocalLogger.PathInfo=Chemin : ${filepath}
util.LocalLogger.LineInfo=Ligne : ${fileline}
util.LocalLogger.ColumnInfo=Colonne : ${filecol}
util.LocalLogger.MessageInfo=Message : ${filemsg}
util.LocalLogger.SourceInfo=Source : ${filesource}
util.LocalLogger.ErrorCodeInfo=Code d'erreur : ${fileerrorCode}
util.LocalLogger.StackTraceInfo=suivi de pile
util.VelocityException.UnableToWriteGeneratedFile=Impossible d'\u00e9crire le fichier g\u00e9n\u00e9r\u00e9 (${fileName}) : ${message}.
util.VelocityException.TemplateNotFound=Impossible de charger le mod\u00e8le ${template}.
util.VelocityException.GenerateException=Exception lors de la g\u00e9n\u00e9ration \u00e0 partir de ${template} : ${message}.
util.OrderedProperties.MalformedEncoding=Le codage de la cha\u00eene en question est mal structur\u00e9 : ${string}
util.OrderedProperties.RemovedFromProperty=${string} ne peut pas \u00eatre contenu dans une propri\u00e9t\u00e9 et a \u00e9t\u00e9 supprim\u00e9 de ${property}.


# flex2.compiler
CompilerAPI.UnableToSetHeadless=Impossible de d\u00e9finir java.awt.headless en raison d'une exception de s\u00e9curit\u00e9. D\u00e9finissez cette propri\u00e9t\u00e9 manuellement via la ligne de commande.
CompilerAPI.IncompatibleSWCArchive=L'archive SWC ${swc} est incompatible avec ce compilateur.
CompilerAPI.OutputTime=Fichiers : ${size} Heure :
CompilerAPI.NotFullyCompiled=Le fichier source n'a pas \u00e9t\u00e9 enti\u00e8rement compil\u00e9.
CompilerAPI.SourceNoLongerExists=Le fichier source n'existe plus.
CompilerAPI.SourceFileUpdated=Le fichier source ou l'un des fichiers sous-jacents a \u00e9t\u00e9 mis \u00e0 jour.
CompilerAPI.AssetUpdated=L'une des ressources a \u00e9t\u00e9 mise \u00e0 jour.
CompilerAPI.SwcDefinitionObsoleted=La d\u00e9finition est rendue obsol\u00e8te par '${newLocation}'.
CompilerAPI.DependencyUpdated=La d\u00e9pendance '${dependency}' a \u00e9t\u00e9 mise \u00e0 jour.
CompilerAPI.DependencyNotCached=La d\u00e9pendance '${dependency}' n'est pas mise en cache.
CompilerAPI.NotSourcePathFirstPreference=Le fichier source ne constitue plus la premi\u00e8re pr\u00e9f\u00e9rence du chemin d'acc\u00e8s \u00e0 la source.
CompilerAPI.DependentFileNoLongerExists=Le fichier d\u00e9pendant associ\u00e9, ${location}, n'existe plus.
CompilerAPI.InvalidImportStatement=L'instruction d'importation, ${defName}, n'est plus valable.
CompilerAPI.DependentFileModified=Le fichier d\u00e9pendant associ\u00e9, ${location}, a \u00e9t\u00e9 mis \u00e0 jour.
CompilerAPI.MultiNameMeaningChanged=La signification du nom multiple ${multiName} est pass\u00e9e de ${qName} \u00e0 autre chose.
CompilerAPI.FilesChangedAffected=Fichiers modifi\u00e9s : ${updateCount} Fichiers concern\u00e9s : ${count}
CompilerAPI.MoreThanOneDefinition=Un fichier situ\u00e9 dans une entr\u00e9e source-path ne peut pas disposer de plus d'une d\u00e9finition visible en externe. ${topLevelDefinitions}
CompilerAPI.MustHaveOneDefinition=Un fichier situ\u00e9 dans une entr\u00e9e source-path doit disposer d'une d\u00e9finition visible en externe. Si une d\u00e9finition contenue dans le fichier doit \u00eatre visible en externe, placez-la dans un package.
CompilerAPI.WrongPackageName=Un fichier situ\u00e9 dans une entr\u00e9e source-path doit disposer de la m\u00eame structure de package '${pathPackage}' que le package de la d\u00e9finition ('${defPackage}').
CompilerAPI.WrongDefinitionName=Un fichier situ\u00e9 dans une entr\u00e9e source-path '${pathName}' doit porter le m\u00eame nom que la d\u00e9finition de classe incluse dans le fichier '${defName}'.
CompilerAPI.CircularInheritance=La d\u00e9finition se trouve en h\u00e9ritage circulaire.
CompilerAPI.UnableToResolveDependency=Impossible de r\u00e9soudre la d\u00e9pendance concernant ${localPart}.
CompilerAPI.AmbiguousMultiname=Impossible de r\u00e9soudre une r\u00e9f\u00e9rence \u00e0 un nom multiple de mani\u00e8re non ambigu\u00eb. ${qName1} (de ${source1}) et ${qName2} (de ${source2}) sont disponibles.
CompilerAPI.SWFEncoding=Encodage SWF...
CompilerAPI.PersistingCompilationUnits=Conservation de ${count} unit\u00e9s de compilation...
CompilerAPI.FailedToMatchCacheFile=Impossible de faire correspondre la cible de compilation avec ${cacheName}. Le fichier cache ne sera pas r\u00e9utilis\u00e9.
CompilerAPI.LoadingCompilationUnits=Chargement de ${count} unit\u00e9s de compilation...
CompilerAPI.ChannelDefinitionNotFound=La d\u00e9finition du canal, ${clientType}, est introuvable.
CompilerAPI.TooManyErrors=D\u00e9tection d'un trop grand nombre d'erreurs.
CompilerAPI.ForcedToStop=Le compilateur a re\u00e7u l'ordre de s'arr\u00eater.
CompilerAPI.UnableToWriteSizeReport=Impossible d'\u00e9crire le rapport de taille dans ${filename}.
CompilerAPI.UnableToResolveClass=Impossible de r\u00e9soudre une classe pour ${type} : ${className}.
CompilerAPI.UnableToResolveResourceBundle=Impossible de r\u00e9soudre l'ensemble de ressources "${bundleName}".
CompilerAPI.UnableToResolveResourceBundleForLocale=Impossible de r\u00e9soudre l'ensemble de ressources "${bundleName}" pour le param\u00e8tre r\u00e9gional "${locale}".
CompilerAPI.UnableToResolveNeededClass=Impossible de r\u00e9soudre la classe requise : ${className}.
CompilerAPI.BatchTime=Compilation de ${sourceName}, phase ${phase}...
CompilerAPI.CompileTime=Phase de compilation ${phase}...
CompilerAPI.NoCompilerFound=Aucun compilateur pour '${sourceName}'.
CompilerException=D\u00e9tection d'erreurs lors de la compilation...
CompilerSwcContext.Loaded = Biblioth\u00e8ques ${loaded} charg\u00e9es...
FileSpec.UnsupportedFileType=Type de fichier non pris en charge : ${name}
SourceList.UnsupportedFileType=Type de fichier non pris en charge : ${name}
SourceList.FileNotInSourcePath=${name} doit figurer dans le chemin d'acc\u00e8s \u00e0 la source.
PersistenceStore.ObsoleteCacheFileFormat=Un fichier cache dont le format est obsol\u00e8te a \u00e9t\u00e9 d\u00e9tect\u00e9. Il ne sera pas r\u00e9utilis\u00e9.
PersistenceStore.NoFileSpec=Les donn\u00e9es de compilation bas\u00e9es sur FileSpec existent, mais aucune sp\u00e9cification de fichier n'a \u00e9t\u00e9 fournie.
PersistenceStore.NoSourceList=Les donn\u00e9es de compilation bas\u00e9es sur SourceList existent, mais aucune liste source n'a \u00e9t\u00e9 fournie.
PersistenceStore.NoSourcePath=Les donn\u00e9es de compilation bas\u00e9es sur SourcePath existent, mais aucun chemin d'acc\u00e8s \u00e0 la source n'a \u00e9t\u00e9 fourni.
PersistenceStore.NoResourceBundlePath=Les donn\u00e9es de compilation bas\u00e9es sur ResourceBundlePath existent, mais aucun chemin d'acc\u00e8s \u00e0 la source n'a \u00e9t\u00e9 fourni.
PersistenceStore.NoResourceContainer=Les donn\u00e9es de compilation bas\u00e9es sur ResourceContainer existent, mais aucun conteneur de ressources n'a \u00e9t\u00e9 fourni.
SourcePathBase.ClasspathOverlap=L'entr\u00e9e de chemin d'acc\u00e8s \u00e0 la source (${cpath}) est un sous-r\u00e9pertoire de l'entr\u00e9e de chemin ${directory}.
SourcePathBase.MoreThanOneComponentOfTheSameName=${file1} et ${file2} ne peuvent pas coexister au sein d'un m\u00eame r\u00e9pertoire.

# flex2.compiler.mxml
mxml.ImplementationCompiler.UnableToLoadTemplate=impossible de charger le mod\u00e8le ${template}
mxml.ImplementationCompiler.CodeGenerationException=Exception lors de la g\u00e9n\u00e9ration \u00e0 partir de ${template} : ${message}
mxml.InterfaceCompiler.WrongMXMLNamespace=espace de noms MXML non pris en charge d\u00e9tect\u00e9 (${namespace1}). Utilisez l'espace de noms MXML ${namespace2} pour le code source MXML 2.
mxml.InterfaceCompiler.InvalidCharacterOrMarkup=Caract\u00e8re ou annotation incorrect(e) d\u00e9tect\u00e9e(e). Essayez d\u2019entourer le code \u00e0 l\u2019aide d\u2019un bloc CDATA.
mxml.InterfaceCompiler.WhitespaceBeforePI=Les espaces ne sont pas autoris\u00e9s avant une instruction de traitement XML (<? ... ?>).
mxml.InterfaceCompiler.InvalidIdentifier=${id} n'est pas un identificateur correct.
mxml.InterfaceCompiler.IdentifierUsedMoreThanOnce=l'identificateur ${id} est utilis\u00e9 plus d'une fois.
mxml.InterfaceCompiler.IdentifierMatchesClassName=${name} : l'identificateur et la classe ne peuvent pas porter le m\u00eame nom.
mxml.InterfaceCompiler.ClassNameInvalidActionScriptIdentifier=le nom de la classe doit correspondre \u00e0 un identificateur ActionScript valable.
mxml.InterfaceCompiler.ClassNameSpecifiedMoreThanOnce=le nom de la classe est sp\u00e9cifi\u00e9 plus d'une fois dans le document.
mxml.InterfaceCompiler.InlineComponentInternalError=erreur interne lors du traitement du composant int\u00e9gr\u00e9.
mxml.InterfaceCompiler.BaseClassNotFound=Impossible de localiser la classe de base ${baseClassName} sp\u00e9cifi\u00e9e pour la classe de composant ${className}.
mxml.InterfaceCompiler.InvalidComponentName=Nom de composant ${name} incorrect : il doit s'agir d'un nom de classe ActionScript valable.
mxml.InterfaceCompiler.InvalidToken=Erreur d'analyse : '${child}' ne peut pas suivre '${parent}'.
mxml.InterfaceCompiler.MissingEndTag=Le type d'\u00e9l\u00e9ment ${tag} doit se terminer par la balise de fermeture ${endTag} correspondante.
mxml.InterfaceCompiler.InvalidMarkupAfterRootElement=L'annotation figurant dans le document apr\u00e8s l'\u00e9l\u00e9ment root doit \u00eatre form\u00e9e correctement.
mxml.InterfaceCompiler.StateNameRequired=L'attribut 'name' doit \u00eatre indiqu\u00e9 pour la balise State.
mxml.InterfaceCompiler.VectorTypeRequired=type' est un attribut requis pour la balise de vecteur.
mxml.InvalidStateAttributeUsage=Les attributs includeIn et excludeFrom ne sont pas autoris\u00e9s dans la balise de langage MXML '${name}'.
mxml.InvalidStateSpecificValue=Impossible de sp\u00e9cifier la valeur state-specific pour l'attribut de langage MXML '${name}'.

# flex2.compiler.i18n
i18n.PropertyText.InvalidClassReference=Instruction ClassReference erron\u00e9e dans l'ensemble de ressources. Elle doit contenir un seul param\u00e8tre de cha\u00eene (String).

#flex2.compiler.swc (only warnings- use SwcException for errors)
swc.Swc.OldVersion=${swc} version ${swcVer} est incompatible avec la version du compilateur ${compilerVer}.

# flex2.compiler.asdoc
asdoc.AsDocAPI.CouldNotCreate=Impossible de cr\u00e9er ${file} : ${message}
asdoc.AsDocAPI.UnknownOS=Syst\u00e8me d'exploitation inconnu pour ASDoc. ASDoc est uniquement compatible avec Windows et Mac OS X.
asdoc.AsDocAPI.NotFound=Impossible de localiser les ${property} suivantes : ${names}

#flex.compiler.util
util.SwcDependencyUtil.DependsOn=${location} d\u00e9pend de l'\u00e9l\u00e9ment suivant\u00a0:
