###############################################################################
# Copyright (c) 2001, 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
###############################################################################
Stack_trace_of_nested_exce=Stack-Trace der verschachtelten Ausnahmebedingung:
ERROR=Fehler:
WARNING=Warnung:
INFO=Info:
DEFAULT_COMPLETED_STATUS_MSG=Die Migration von {0} ist abgeschlossen.
DEFAULT_NOT_NEEDED_STATUS_MSG=Die Migration von {0} war nicht erforderlich.
DEFAULT_NOT_POSSIBLE_STATUS_MSG=Die Migration von {0} war nicht m\u00f6glich.
DEFAULT_ERROR_STATUS_MSG=IWAE0100E Fehler beim Migrieren von {0}.
REMOVED_LOCAL_CLIENT_MSG=Die lokale Clientsicht f\u00fcr EJB {0} wurde entfernt.
REMOVED_ACCESS_INTENTS_MSG=Die Werte f\u00fcr den geplanten Zugriff auf {0} 1.1-Methoden wurden aus der CMP-Bean {1} entfernt.
REMOVED_ISOLATION_LEVELS_MSG=Die Isolationsstufen f\u00fcr {0} 1.1-Methoden wurden aus der CMP-Bean {1} entfernt.
CONVERTED_FINDER_MSG=Der Finderdeskriptor f\u00fcr {0} in der CMP-Bean {1} wurde konvertiert.  Die EJB QL-Abfrage k\u00f6nnen Sie mit dem EJB-Editor aktualisieren.
UNNAMED_EJB=<Nicht benannte CMP-Bean>
CONVERTED_QUERY_DESCRIPTION=Konvertiert aus IBM Erweiterung der Version 1.1
MIGRATED_DEFAULT_DATASOURCE_JAR_MSG=Das Standarddatenquellenbinding wurde f\u00fcr die EJB-JAR \"{0}\" auf ein Standardbinding f\u00fcr eine CMP-Verbindungsfactory migriert.
MIGRATED_DEFAULT_DATASOURCE_MSG=Das Standarddatenquellenbinding wurde f\u00fcr die EJB-JAR auf ein Standardbinding f\u00fcr eine CMP-Verbindungsfactory migriert.
J2EE_VERSION_NULL_ERROR=Die J2EE-Version des Objekts kann nicht ermittelt werden, da es nicht in einem Dokument enthalten ist.
J2EE_VERSION_PROXY_ERROR=Die J2EE-Version des Referenzobjekts kann nicht ermittelt werden, da der Proxy nicht aufgel\u00f6st werden kann.  Pr\u00fcfen Sie die IDs in den Deploymentdeskriptordateien.  HREF = {0}.
