#
# This properties file is used to create a PropertyResourceBundle
# It contains Locale specific strings used be the Accessibility package.
#
# When this file is read in, the strings are put into the 
# defaults table.  This is an implementation detail of the current
# workings of Accessibility.  DO NOT DEPEND ON THIS.  
# This may change in future versions of Accessibility as we improve 
# localization support.
#
# @author  Lynn Monsanto

#
# accessible roles
#
alert=alerte
awtcomponent=Composant AWT
checkbox=case \u00e0 cocher
colorchooser=s\u00e9lecteur de couleurs
columnheader=en-t\u00eate de colonne
combobox=bo\u00eete de dialogue mixte
canvas=canevas
desktopicon=ic\u00f4ne de bureau
desktoppane=sous-fen\u00eatre de bureau
dialog=bo\u00eete de dialogue
directorypane=sous-fen\u00eatre de r\u00e9pertoires
glasspane=sous-fen\u00eatre de grossissement
filechooser=s\u00e9lecteur de fichiers
filler=\u00e9l\u00e9ment de remplissage
frame=cadre
internalframe=cadre interne
label=\u00e9tiquette
layeredpane=sous-fen\u00eatre superpos\u00e9e
list=liste
listitem=\u00e9l\u00e9ment de liste
menubar=barre de menus
menu=menu
menuitem=option de menu
optionpane=sous-fen\u00eatre d''options
pagetab=onglet de page
pagetablist=liste d''onglets de page
panel=panneau
passwordtext=texte de mot de passe
popupmenu=menu contextuel
progressbar=barre de progression
pushbutton=bouton poussoir
radiobutton=bouton radio
rootpane=sous-fen\u00eatre racine
rowheader=en-t\u00eate de ligne
scrollbar=barre de d\u00e9filement
scrollpane=sous-fen\u00eatre de d\u00e9filement
separator=s\u00e9parateur
slider=curseur
splitpane=sous-fen\u00eatre divis\u00e9e
swingcomponent=composant de bascule
table=tableau
text=texte
tree=arbre
togglebutton=bouton de basculement
toolbar=barre d''outils
tooltip=info-bulle
unknown=inconnu
viewport=cl\u00f4ture
window=fen\u00eatre
#
# accessible relations
#
labelFor=\u00e9tiquette de
labeledBy=libell\u00e9(e) par
memberOf=membre de
controlledBy=contr\u00f4l\u00e9 par
controllerFor=contr\u00f4leur pour
#
# accessible states
#
active=actif(ve)
armed=arm\u00e9(e)
busy=occup\u00e9(e)
checked=coch\u00e9e
collapsed=r\u00e9duit(e)
editable=modifiable
expandable=extensible
expanded=d\u00e9velopp\u00e9(e)
enabled=activ\u00e9(e)
focusable=zone d''entr\u00e9e possible
focused=avec zone d''entr\u00e9e
iconified=r\u00e9duit(e) \u00e0 une ic\u00f4ne
modal=modal(e)
multiline=ligne multiple
multiselectable=multis\u00e9lectionnable
opaque=opaque
pressed=enfonc\u00e9
resizable=redimensionnable
selectable=s\u00e9lectionnable
selected=s\u00e9lectionn\u00e9(e)
showing=montrant
singleline=ligne unique
transient=transitoire
visible=visible
vertical=vertical(e)
horizontal=horizontal(e)
#
# accessible actions
#
toggle expand=basculer le d\u00e9veloppement

# new relations, roles and states for J2SE 1.5.0

# 
# accessible relations
#
flowsTo=flux vers
flowsFrom=flux depuis
subwindowOf=sous-fen\u00eatre de
parentWindowOf=fen\u00eatre parente de
embeds=incorpore
embeddedBy=incorpor\u00e9 par
childNodeOf=n\u0153ud enfant de

#
# accessible roles
#
header=en-t\u00eate
footer=pied de page
paragraph=paragraphe
ruler=r\u00e8gle
editbar=barre d'\u00e9dition
progressMonitor=contr\u00f4le de la progression

#
# accessible states
#
managesDescendants=g\u00e8re les descendants
indeterminate=ind\u00e9termin\u00e9
truncated=tronqu\u00e9

# new for J2SE 1.6.0

#
# accessible roles
#
htmlcontainer=Conteneur HTML

#
# END OF MATERIAL TO LOCALIZE
#
