###############################################################################
# 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=Ein Projekt mit diesem Namen und dieser Position ist bereits vorhanden.
2=Das angegebene Projekt "{0}" ist kein EAR-Projekt.
3=Das EAR-Projekt "{0}" hat die J2EEVersion {1}, die nicht mit der angegebenen Version des Moduls kompatibel ist.
4=Der Name des EAR-Projekts, "{0}", darf nicht mit dem Projektnamen identisch sein.
5={0} Dateiname muss eingegeben werden.
6={0} ist nicht vorhanden.
7=Ein interner Fehler ist aufgetreten.  Weitere Details finden Sie in den Protokolldateien.
8=Der Projektname ist ung\u00fcltig.
9=Zielarchiv sollte auf {0} enden.
10=Zielarchiv ist ung\u00fcltig.
11=Zielposition ist schreibgesch\u00fctzt.
12=Die Ressource {0} ist bereits vorhanden. Wenn Sie sie \u00fcberschreiben wollen, w\u00e4hlen Sie die Option "Vorhandene Datei \u00fcberschreiben" aus.
13=Projekt {0} ist nicht vorhanden.
14=Connectorprojekt wird f\u00fcr die ausgew\u00e4hlte J2EE-Benutzervorgabe nicht unterst\u00fctzt. \u00dcberpr\u00fcfen Sie die globale J2EE-Einstellung.
15=Geben Sie einen Projektnamen ein.
16=Fehler beim Speichern
17=Der Speichervorgang konnte nicht abgeschlossen werden.  M\u00f6glicherweise wurden bereits einige zugeh\u00f6rige Dateien gespeichert.\n\nUrsache
18={0} wurde gesperrt. Bitte stellen Sie sicher, dass die Operation zurzeit nicht ausgef\u00fchrt wird.
19=extendedRoot ist Null. Stellen Sie sicher, dass isExtended() "true" zur\u00fcckgibt.
20=Eigenschaft nicht gefunden:
21=Verschachteltes Modell nicht gefunden:
22=ID kann nach dem Festlegen nicht mehr ge\u00e4ndert werden.
23=Die ID darf nicht Null sein.
24=FEHLER:
25=Erweiterte Operation ist fehlgeschlagen: {0}
26=Der Job wurde erfolgreich beendet.
27=Beim Ausf\u00fchren des Jobs ist eine Ausnahmebedingung aufgetreten.
28=Gruppe kann nicht aufgel\u00f6st werden:
29=Klasse nicht gefunden f\u00fcr Attribut {0} : {1}, Plug-in-Erweiterung wird deklariert: {2}
30=Funktionsgruppe {0} enth\u00e4lt keine Musterbindings.
31=Das Projekt {0} ist geschlossen.
32=Im Dateisystem besteht bereits ein Projekt an dieser Position: {0}. Verwenden Sie entweder "Bestehende Projekte in den Arbeitsbereich importieren", um ein Projekt an dieser Stelle zu erstellen, oder l\u00f6schen Sie den Inhalt von{0} im Dateisystem.
