#
# 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 verificaci\u00f3n
colorchooser=selector de color
columnheader=cabecera de columna
combobox=cuadro combinado
canvas=superficie
desktopicon=icono de escritorio
desktoppane=tablero de escritorio
dialog=cuadro de di\u00e1logo
directorypane=tablero de directorio
glasspane=tablero de cristal
filechooser=selector de archivos
filler=rellenador
frame=marco
internalframe=marco interno
label=etiqueta
layeredpane=tablero en capas
list=lista
listitem=elemento de lista
menubar=barra de men\u00fas
menu=men\u00fa
menuitem=elemento de men\u00fa
optionpane=tablero de opciones
pagetab=pesta\u00f1a de p\u00e1gina
pagetablist=lista de pesta\u00f1as de p\u00e1gina
panel=panel
passwordtext=texto de contrase\u00f1a
popupmenu=men\u00fa emergente
progressbar=barra de progreso
pushbutton=bot\u00f3n de acci\u00f3n
radiobutton=bot\u00f3n de radio
rootpane=tablero ra\u00edz
rowheader=cabecera de filas
scrollbar=barra de desplazamiento
scrollpane=tablero de desplazamiento
separator=separador
slider=deslizador
splitpane=tablero de divisi\u00f3n
swingcomponent=componente swing
table=tabla
text=texto
tree=\u00e1rbol
togglebutton=bot\u00f3n conmutador
toolbar=barra de herramientas
tooltip=consejo de herramienta
unknown=desconocido
viewport=puerto de vista
window=ventana
#
# accessible relations
#
labelFor=etiqueta para
labeledBy=etiquetado por
memberOf=miembro de
controlledBy=controlado por
controllerFor=controlador de
#
# accessible states
#
active=activo
armed=armado
busy=ocupado
checked=marcado
collapsed=contra\u00eddo
editable=editable
expandable=ampliable
expanded=ampliado
enabled=habilitado
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=temporal
visible=visible
vertical=vertical
horizontal=horizontal
#
# accessible actions
#
toggle expand=activar/desactivar 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 superior de
embeds=incluye
embeddedBy=se incluye en
childNodeOf=nodo secundario de

#
# accessible roles
#
header=cabecera
footer=pie
paragraph=p\u00e1rrafo
ruler=regla
editbar=barra de edici\u00f3n
progressMonitor=monitor de progresi\u00f3n

#
# accessible states
#
managesDescendants=gestiona objetos subordinados
indeterminate=indeterminado
truncated=truncado

# new for J2SE 1.6.0

#
# accessible roles
#
htmlcontainer=Contenedor HTML

#
# END OF MATERIAL TO LOCALIZE
#
