/*
 * Copyright 2000-2005 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */
package sun.applet.resources;

import java.util.ListResourceBundle;

public class MsgAppletViewer_es extends ListResourceBundle {

    public Object[][] getContents() {
        return new Object[][] {
            {"textframe.button.dismiss", "Rechazar"},
            {"appletviewer.tool.title", "AppletViewer: {0}"},
            {"appletviewer.menu.applet", "Subprograma"},
            {"appletviewer.menuitem.restart", "Reiniciar"},
            {"appletviewer.menuitem.reload", "Volver a cargar"},
            {"appletviewer.menuitem.stop", "Parar"},
            {"appletviewer.menuitem.save", "Guardar..."},
            {"appletviewer.menuitem.start", "Iniciar"},
            {"appletviewer.menuitem.clone", "Clonar..."},
            {"appletviewer.menuitem.tag", "Etiqueta..."},
            {"appletviewer.menuitem.info", "Informaci\u00f3n..."},
            {"appletviewer.menuitem.edit", "Editar"},
            {"appletviewer.menuitem.encoding", "Codificaci\u00f3n de caracteres"},
            {"appletviewer.menuitem.print", "Imprimir..."},
            {"appletviewer.menuitem.props", "Propiedades..."},
            {"appletviewer.menuitem.close", "Cerrar"},
            {"appletviewer.menuitem.quit", "Salir"},
            {"appletviewer.label.hello", "Hola..."},
            {"appletviewer.status.start", "iniciando subprograma..."},
            {"appletviewer.appletsave.filedialogtitle","Serializar subprograma en archivo"},
            {"appletviewer.appletsave.err1", "serializando {0} como {1}"},
            {"appletviewer.appletsave.err2", "en appletSave: {0}"},
            {"appletviewer.applettag", "Etiqueta mostrada"},
            {"appletviewer.applettag.textframe", "Etiqueta HTML de subprograma"},
            {"appletviewer.appletinfo.applet", "-- sin informaci\u00f3n de subprograma --"},
            {"appletviewer.appletinfo.param", "-- sin informaci\u00f3n de par\u00e1metro --"},
            {"appletviewer.appletinfo.textframe", "Informaci\u00f3n de subprograma"},
            {"appletviewer.appletprint.fail", "Fallo en la impresi\u00f3n."},
            {"appletviewer.appletprint.finish", "Impresi\u00f3n finalizada."},
            {"appletviewer.appletprint.cancel", "Impresi\u00f3n cancelada."},
            {"appletviewer.appletencoding", "Codificaci\u00f3n de caracteres: {0}"},
            {"appletviewer.parse.warning.requiresname", "Advertencia: la etiqueta <param name=... value=...> requiere el atributo del nombre."},
            {"appletviewer.parse.warning.paramoutside", "Advertencia: la etiqueta <param> est\u00e1 fuera de <applet> ... </applet>."},
            {"appletviewer.parse.warning.applet.requirescode", "Advertencia: <applet> requiere el atributo de c\u00f3digo."},
            {"appletviewer.parse.warning.applet.requiresheight", "Advertencia: <applet> requiere el atributo de altura."},
            {"appletviewer.parse.warning.applet.requireswidth", "Advertencia: <applet> requiere el atributo de anchura."},
            {"appletviewer.parse.warning.object.requirescode", "Advertencia: <object> requiere el atributo de c\u00f3digo."},
            {"appletviewer.parse.warning.object.requiresheight", "Advertencia: <object> requiere el atributo de altura."},
            {"appletviewer.parse.warning.object.requireswidth", "Advertencia: <object> requiere el atributo de anchura."},
            {"appletviewer.parse.warning.embed.requirescode", "Advertencia: <embed> requiere el atributo de c\u00f3digo."},
            {"appletviewer.parse.warning.embed.requiresheight", "Advertencia: <embed> requiere el atributo de altura."},
            {"appletviewer.parse.warning.embed.requireswidth", "Advertencia: <embed> requiere el atributo de anchura."},
            {"appletviewer.parse.warning.appnotLongersupported", "Advertencia: la etiqueta <app> ya no est\u00e1 soportada; utilice <applet> en su lugar:"},
            {"appletviewer.usage", "Sintaxis: appletviewer <opciones> url(s)\n\ndonde <opciones> incluye:\n  -debug                  Iniciar el AppletViewer en el depurador de Java\n  -encoding <codificaci\u00f3n>    Especificar la codificaci\u00f3n de caracteres utilizada por los archivos HTML\n  -J<etiqueta de runtime>        Pasar argumento al int\u00e9rprete de Java\n\nLa opci\u00f3n -J no es est\u00e1ndar, y puede modificarse sin previo aviso."},
            {"appletviewer.main.err.unsupportedopt", "Opci\u00f3n no admitida: {0}"},
            {"appletviewer.main.err.unrecognizedarg", "Argumento no reconocido: {0}"},
            {"appletviewer.main.err.dupoption", "Uso duplicado de la opci\u00f3n: {0}"},
            {"appletviewer.main.err.inputfile", "No se ha especificado ning\u00fan archivo de entrada."},
            {"appletviewer.main.err.badurl", "URL err\u00f3neo: {0} ( {1} )"},
            {"appletviewer.main.err.io", "Excepci\u00f3n de E/S durante la lectura: {0}"},
            {"appletviewer.main.err.readablefile", "Aseg\u00farese de que {0} es un archivo y que puede leerse."},
            {"appletviewer.main.err.correcturl", "\u00bfEs {0} el URL correcto?"},
            {"appletviewer.main.prop.store", "Propiedades del AppletViewer espec\u00edficos del usuario"},
            {"appletviewer.main.err.prop.cantread", "No se puede leer el archivo de propiedades del usuario: {0}"},
            {"appletviewer.main.err.prop.cantsave", "No se puede guardar el archivo de propiedades del usuario: {0}"},
            {"appletviewer.main.warn.nosecmgr", "Advertencia: inhabilitando seguridad."},
            {"appletviewer.main.debug.cantfinddebug", "No se puede encontrar el depurador."},
            {"appletviewer.main.debug.cantfindmain", "No se puede encontrar el m\u00e9todo principal en el depurador."},
            {"appletviewer.main.debug.exceptionindebug", "Excepci\u00f3n en el depurador."},
            {"appletviewer.main.debug.cantaccess", "No se puede acceder al depurador."},
            {"appletviewer.main.nosecmgr", "Advertencia: SecurityManager no est\u00e1 instalado."},
            {"appletviewer.main.warning", "Advertencia: No se ha iniciado ning\u00fan subprograma. Aseg\u00farese de que la entrada contiene una etiqueta <applet>."},
            {"appletviewer.main.warn.prop.overwrite", "Advertencia: Sobrescribiendo temporalmente propiedad del sistema por solicitud del usuario: clave: {0} valor antiguo: {1} valor nuevo: {2}"},
            {"appletviewer.main.warn.cantreadprops", "Advertencia: No se puede leer el archivo de propiedades del AppletViewer: {0} Utilizando valores predeterminados."},
            {"appletioexception.loadclass.throw.interrupted", "carga de clase interrumpida: {0}"},
            {"appletioexception.loadclass.throw.notloaded", "clase no cargada: {0}"},
            {"appletclassloader.loadcode.verbose", "Abriendo cadena de flujo: {0} para obtener {1}"},
            {"appletclassloader.filenotfound", "Archivo no encontrado al buscar: {0}"},
            {"appletclassloader.fileformat", "Excepci\u00f3n de formato de archivo al cargar: {0}"},
            {"appletclassloader.fileioexception", "Excepci\u00f3n de E/S al cargar: {0}"},
            {"appletclassloader.fileexception", "Excepci\u00f3n de {0} al cargar: {1}"},
            {"appletclassloader.filedeath", "{0} eliminado al cargar: {1}"},
            {"appletclassloader.fileerror", "error de {0} al cargar: {1}"},
            {"appletclassloader.findclass.verbose.findclass", "{0} buscar clase {1}"},
            {"appletclassloader.findclass.verbose.openstream", "Abriendo cadena de flujo: {0} para obtener {1}"},
            {"appletclassloader.getresource.verbose.forname", "AppletClassLoader.getResource para el nombre: {0}"},
            {"appletclassloader.getresource.verbose.found", "Recurso encontrado: {0} como recurso del sistema"},
            {"appletclassloader.getresourceasstream.verbose", "Recurso encontrado: {0} como recurso del sistema"},
            {"appletpanel.runloader.err", "Par\u00e1metro de objeto o c\u00f3digo"},
            {"appletpanel.runloader.exception", "excepci\u00f3n al cancelar serializaci\u00f3n de {0}"},
            {"appletpanel.destroyed", "subprograma destruido."},
            {"appletpanel.loaded", "Subprograma cargado."},
            {"appletpanel.started", "Subprograma iniciado."},
            {"appletpanel.inited", "Subprograma inicializado."},
            {"appletpanel.stopped", "Subprograma parado."},
            {"appletpanel.disposed", "Subprograma desechado."},
            {"appletpanel.nocode", "La etiqueta APPLET carece del par\u00e1metro CODE."},
            {"appletpanel.notfound", "cargar: clase {0} no encontrada."},
            {"appletpanel.nocreate", "cargar: no se puede crear un caso de {0}."},
            {"appletpanel.noconstruct", "cargar: {0} no es p\u00fablico o no tiene ning\u00fan constructor p\u00fablico."},
            {"appletpanel.death", "eliminado"},
            {"appletpanel.exception", "excepci\u00f3n: {0}."},
            {"appletpanel.exception2", "excepci\u00f3n: {0}: {1}."},
            {"appletpanel.error", "error: {0}."},
            {"appletpanel.error2", "error: {0}: {1}."},
            {"appletpanel.notloaded", "Inicializar: subprograma no cargado."},
            {"appletpanel.notinited", "Iniciar: subprograma no inicializado."},
            {"appletpanel.notstarted", "Parar: subprograma no iniciado."},
            {"appletpanel.notstopped", "Destruir: subprograma no parado."},
            {"appletpanel.notdestroyed", "Desechar: subprograma no destruido."},
            {"appletpanel.notdisposed", "Cargar: subprograma no desechado."},
            {"appletpanel.bail", "Interrupci\u00f3n: efectuando salida."},
            {"appletpanel.filenotfound", "Archivo no encontrado al buscar: {0}"},
            {"appletpanel.fileformat", "Excepci\u00f3n de formato de archivo al cargar: {0}"},
            {"appletpanel.fileioexception", "Excepci\u00f3n de E/S al cargar: {0}"},
            {"appletpanel.fileexception", "Excepci\u00f3n de {0} al cargar: {1}"},
            {"appletpanel.filedeath", "{0} eliminado al cargar: {1}"},
            {"appletpanel.fileerror", "Error de {0} al cargar: {1}"},
            {"appletpanel.badattribute.exception", "An\u00e1lisis de HTML: valor incorrecto para el atributo ancho/alto"},
            {"appletillegalargumentexception.objectinputstream", "AppletObjectInputStream requiere un cargador que no sea nulo (non-null)"},
            {"appletprops.title", "Propiedades de AppletViewer"},
            {"appletprops.label.http.server", "Servidor proxy Http:"},
            {"appletprops.label.http.proxy", "Puerto proxy Http:"},
            {"appletprops.label.network", "Acceso a la red:"},
            {"appletprops.choice.network.item.none", "Ninguno"},
            {"appletprops.choice.network.item.applethost", "Sistema de subprogramas"},
            {"appletprops.choice.network.item.unrestricted", "Sin restricciones"},
            {"appletprops.label.class", "Acceso a clase:"},
            {"appletprops.choice.class.item.restricted", "Restringido"},
            {"appletprops.choice.class.item.unrestricted", "Sin restricciones"},
            {"appletprops.label.unsignedapplet", "Permitir subprogramas sin firmar:"},
            {"appletprops.choice.unsignedapplet.no", "No"},
            {"appletprops.choice.unsignedapplet.yes", "S\u00ed"},
            {"appletprops.button.apply", "Aplicar"},
            {"appletprops.button.cancel", "Cancelar"},
            {"appletprops.button.reset", "Restablecer"},
            {"appletprops.apply.exception", "Fallo al guardar propiedades: {0}"},
            /* 4066432 */
            {"appletprops.title.invalidproxy", "Entrada no v\u00e1lida"},
            {"appletprops.label.invalidproxy", "El puerto del delegado debe ser un entero positivo"},
            {"appletprops.button.ok", "Aceptar"},
            /* end 4066432 */
            {"appletprops.prop.store", "Propiedades del AppletViewer espec\u00edficos del usuario"},
            {"appletsecurityexception.checkcreateclassloader", "Excepci\u00f3n de seguridad: classloader"},
            {"appletsecurityexception.checkaccess.thread", "Excepci\u00f3n de seguridad: thread"},
            {"appletsecurityexception.checkaccess.threadgroup", "Excepci\u00f3n de seguridad: threadgroup: {0}"},
            {"appletsecurityexception.checkexit", "Excepci\u00f3n de seguridad: exit: {0}"},
            {"appletsecurityexception.checkexec", "Excepci\u00f3n de seguridad: exec: {0}"},
            {"appletsecurityexception.checklink", "Excepci\u00f3n de seguridad: link: {0}"},
            {"appletsecurityexception.checkpropsaccess", "Excepci\u00f3n de seguridad: properties"},
            {"appletsecurityexception.checkpropsaccess.key", "Excepci\u00f3n de seguridad: properties access {0}"},
            {"appletsecurityexception.checkread.exception1", "Excepci\u00f3n de seguridad: {0}, {1}"},
            {"appletsecurityexception.checkread.exception2", "Excepci\u00f3n de seguridad: file.read: {0}"},
            {"appletsecurityexception.checkread", "Excepci\u00f3n de seguridad: file.read: {0} == {1}"},
            {"appletsecurityexception.checkwrite.exception", "Excepci\u00f3n de seguridad: {0}, {1}"},
            {"appletsecurityexception.checkwrite", "Excepci\u00f3n de seguridad: file.write: {0} == {1}"},
            {"appletsecurityexception.checkread.fd", "Excepci\u00f3n de seguridad: fd.read"},
            {"appletsecurityexception.checkwrite.fd", "Excepci\u00f3n de seguridad: fd.write"},
            {"appletsecurityexception.checklisten", "Excepci\u00f3n de seguridad: socket.listen: {0}"},
            {"appletsecurityexception.checkaccept", "Excepci\u00f3n de seguridad: socket.accept: {0}:{1}"},
            {"appletsecurityexception.checkconnect.networknone", "Excepci\u00f3n de seguridad: socket.connect: {0}->{1}"},
            {"appletsecurityexception.checkconnect.networkhost1", "Excepci\u00f3n de seguridad: No se puede conectar a {0} con un origen de {1}."},
            {"appletsecurityexception.checkconnect.networkhost2", "Excepci\u00f3n de seguridad: No se puede resolver IP para el sistema {0} o para {1}. "},
            {"appletsecurityexception.checkconnect.networkhost3", "Excepci\u00f3n de seguridad: No se puede resolver IP para el sistema {0}. V\u00e9ase la propiedad trustProxy."},
            {"appletsecurityexception.checkconnect", "Excepci\u00f3n de seguridad: connect: {0}->{1}"},
            {"appletsecurityexception.checkpackageaccess", "Excepci\u00f3n de seguridad: no se puede acceder al paquete: {0}"},
            {"appletsecurityexception.checkpackagedefinition", "Excepci\u00f3n de seguridad: no se puede definir el paquete: {0}"},
            {"appletsecurityexception.cannotsetfactory", "Excepci\u00f3n de seguridad: no se puede definir factory"},
            {"appletsecurityexception.checkmemberaccess", "Excepci\u00f3n de seguridad: compruebe el acceso del miembro"},
            {"appletsecurityexception.checkgetprintjob", "Excepci\u00f3n de seguridad: getPrintJob"},
            {"appletsecurityexception.checksystemclipboardaccess", "Excepci\u00f3n de seguridad: getSystemClipboard"},
            {"appletsecurityexception.checkawteventqueueaccess", "Excepci\u00f3n de seguridad: getEventQueue"},
            {"appletsecurityexception.checksecurityaccess", "Excepci\u00f3n de seguridad: operaci\u00f3n de seguridad: {0}"},
            {"appletsecurityexception.getsecuritycontext.unknown", "Tipo de cargador de clase desconocido. No es posible comprobar getContext"},
            {"appletsecurityexception.checkread.unknown", "Tipo de cargador de clase desconocido. No es posible comprobar la verificaci\u00f3n de lectura {0}"},
            {"appletsecurityexception.checkconnect.unknown", "Tipo de cargador de clase desconocido. No es posible comprobar la verificaci\u00f3n de conexi\u00f3n"},
        };
    }
}
