#
# 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=alert
awtcomponent=AWT component
checkbox=check box
colorchooser=color chooser
columnheader=column header
combobox=combo box
canvas=canvas
desktopicon=desktop icon
desktoppane=desktop pane
dialog=dialog
directorypane=directory pane
glasspane=glass pane
filechooser=file chooser
filler=filler
frame=frame
internalframe=internal frame
label=label
layeredpane=layered pane
list=list
listitem=list item
menubar=menu bar
menu=menu
menuitem=menu item
optionpane=option pane
pagetab=page tab
pagetablist=page tab list
panel=panel
passwordtext=password text
popupmenu=popup menu
progressbar=progress bar
pushbutton=push button
radiobutton=radio button
rootpane=root pane
rowheader=row header
scrollbar=scroll bar
scrollpane=scroll pane
separator=separator
slider=slider
splitpane=split pane
swingcomponent=swing component
table=table
text=text
tree=tree
togglebutton=toggle button
toolbar=tool bar
tooltip=tool tip
unknown=unknown
viewport=viewport
window=window
#
# accessible relations
#
labelFor=label for
labeledBy=labeled by
memberOf=member of
controlledBy=controlledBy
controllerFor=controllerFor
#
# accessible states
#
active=active
armed=armed
busy=busy
checked=checked
collapsed=collapsed
editable=editable
expandable=expandable
expanded=expanded
enabled=enabled
focusable=focusable
focused=focused
iconified=iconified
modal=modal
multiline=multiple line
multiselectable=multiselectable
opaque=opaque
pressed=pressed
resizable=resizable
selectable=selectable
selected=selected
showing=showing
singleline=single line
transient=transient
visible=visible
vertical=vertical
horizontal=horizontal
#
# accessible actions
#
toggle expand=toggle expand

# new relations, roles and states for J2SE 1.5.0

# 
# accessible relations
#
flowsTo=flows to
flowsFrom=flows from
subwindowOf=subwindow of
parentWindowOf=parent window of
embeds=embeds
embeddedBy=embedded by
childNodeOf=child node of

#
# accessible roles
#
header=header
footer=footer
paragraph=paragraph
ruler=ruler
editbar=editbar
progressMonitor=progress monitor

#
# accessible states
#
managesDescendants=manages descendants
indeterminate=indeterminate
truncated=truncated

# new for J2SE 1.6.0

#
# accessible roles
#
htmlcontainer=HTML container

#
# END OF MATERIAL TO LOCALIZE
#
