#
# 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=alerta
awtcomponent=componente AWT
checkbox=casilla de control
colorchooser=selector de color
columnheader=cabecera de columna
combobox=cuadro combinado
canvas=lienzo
desktopicon=icono de escritorio
desktoppane=panel de escritorio
dialog=cuadro de di\u00E1logo
directorypane=panel de directorio
glasspane=panel de cristal
filechooser=selector de archivos
filler=rellenador
frame=marco
internalframe=marco interno
label=etiqueta
layeredpane=panel en capas
list=lista
listitem=elemento de lista
menubar=barra de men\u00FAs
menu=men\u00FA
menuitem=elemento de men\u00FA
optionpane=panel de opciones
pagetab=separador de p\u00E1gina
pagetablist=lista de separadores de p\u00E1gina
panel=panel
passwordtext=texto de contrase\u00F1a
popupmenu=men\u00FA emergente
progressbar=barra de progreso
pushbutton=bot\u00F3n
radiobutton=bot\u00F3n de radio
rootpane=panel ra\u00EDz
rowheader=cabecera de filas
scrollbar=barra de desplazamiento
scrollpane=panel de desplazamiento
separator=separador
slider=deslizador
splitpane=panel de divisi\u00F3n
swingcomponent=componente swing
table=tabla
text=texto
tree=\u00E1rbol
togglebutton=bot\u00F3n conmutador
toolbar=barra de herramientas
tooltip=ayuda de burbuja
unknown=desconocido
viewport=viewport
window=ventana
#
# accessible relations
#
labelFor=etiqueta para
labeledBy=etiquetado por
memberOf=miembro de
controlledBy=controlledBy
controllerFor=controllerFor
#
# accessible states
#
active=activo
armed=armado
busy=ocupado
checked=activado
collapsed=reducido
editable=editable
expandable=ampliable
expanded=ampliado
enabled=activado
focusable=enfocable
focused=enfocado
iconified=convertido en icono
modal=modal
multiline=l\u00EDnea m\u00FAltiple
multiselectable=multiseleccionable
opaque=opaco
pressed=pulsado
resizable=redimensionable
selectable=seleccionable
selected=seleccionado
showing=mostrando
singleline=l\u00EDnea \u00FAnica
transient=transitorio
visible=visible
vertical=vertical
horizontal=horizontal
#
# accessible actions
#
toggleexpand=conmutar ampliaci\u00F3n

# new relations, roles and states for J2SE 1.5.0

# 
# accessible relations
#
flowsTo=llega a
flowsFrom=procede de
subwindowOf=ventana subordinada de
parentWindowOf=ventana principal de
embeds=embebe
embeddedBy=embebido por
childNodeOf=nodo secundario de

#
# accessible roles
#
header=cabecera
footer=pie
paragraph=p\u00E1rrafo
ruler=regla
editbar=barra de edici\u00F3n
progressMonitor=monitor de progreso

#
# accessible states
#
managesDescendants=gestiona descendientes
indeterminate=indeterminada
truncated=truncado

# new for J2SE 1.6.0

#
# accessible roles
#
htmlcontainer=Contenedor HTML

#
# END OF MATERIAL TO LOCALIZE
#
