###############################################################################
# Copyright (c) 2003, 2004 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
# 
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
1=Ya existe un proyecto con este nombre y ubicaci\u00f3n.
2=El proyecto EAR especificado "{0}" no es un proyecto EAR.
3=El proyecto EAR "{0}" tiene una J2EEVersion de {1} que no es compatible con la versi\u00f3n del m\u00f3dulo especificado.
4=El nombre de proyecto EAR, "{0}", no puede ser igual que el nombre del proyecto.
5=Debe especificarse el nombre del archivo {0}.
6={0} no existe.
7=Se ha producido un error interno.  Vea los archivos de anotaciones para conocer los detalles.
8=El nombre del proyecto no es v\u00e1lido.
9=El archivador de destino debe finalizar con {0}.
10=El archivador de destino no es v\u00e1lido.
11=La ubicaci\u00f3n de destino es solo de lectura.
12=El recurso {0} ya existe. Si desea sobrescribir, seleccione la opci\u00f3n "Sobrescribir archivo existente".
13=El proyecto {0} no existe.
14=El proyecto de conector no est\u00e1 soportado para la preferencia J2EE seleccionada. Compruebe la preferencia J2EE global.
15=Especifique un nombre de proyecto.
16=Problemas de operaci\u00f3n de guardar
17=La operaci\u00f3n de guardar no ha podido realizarse.  Puede que algunos archivos relacionados ya se hayan guardado.\n\nRaz\u00f3n
18={0} se ha bloqueado. Aseg\u00farese de que la operaci\u00f3n no se est\u00e1 ejecutando actualmente.
19=extendedRoot es nulo. Aseg\u00farese de que isExtended() devuelve true.
20=No se ha ubicado la propiedad:
21=No se ha ubicado el modelo anidado:
22=No se puede modificar el ID una vez establecido.
23=El ID no puede ser nulo.
24=ERROR:
25=Anomal\u00eda de operaci\u00f3n ampliada: {0}
26=El trabajo se ha realizado satisfactoriamente
27=Se ha producido una excepci\u00f3n al ejecutar el trabajo.
28=No se ha podido resolver el grupo:
29=No se ha encontrado la clase para el atributo {0} : {1}, declarando extensi\u00f3n de conector: {2}
30=El grupo de funciones {0} no contiene enlaces de patr\u00f3n
31=El proyecto {0} est\u00e1 cerrado.
32=Ya existe un proyecto en la siguiente ubicaci\u00f3n del sistema de archivos: {0}. Puede utilizar "Importar proyectos existentes en el espacio de trabajo" para crear el proyecto en esta ubicaci\u00f3n o suprimir el contenido en el sistema de archivos de {0}.
