# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 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 implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR
#
# Message ID Range:
#

# Export XML Wizard
exportXMLWizard_title=XML exportieren

# Select Export Type Wizard Page
selectExportTypePage_desc=W\u00e4hlen Sie den Typ des zu exportierenden Methodenbibliotheksinhalts aus.
exportLibraryRadioButton_text=Gesamte Methodenbibliothek exportieren
exportPluginsRadioButton_text=Methoden-Plug-ins exportieren
exportConfigsRadioButton_text=Methodenkonfiguration exportieren

# Select Destination XML File Wizard Page
selectXMLFilePage_title=Exportdatei angeben
selectXMLFilePage_desc=Geben Sie eine XML-Zieldatei an, in der der exportierte Methodenbibliotheksinhalt gespeichert werden soll.
fileLabel_text=XML-Datei:
browseButton_text=Durchsuchen...

# Overwrite Confirmation Dialog
overwriteText_msg=''{0}'' ist bereits vorhanden.\nM\u00f6chten Sie diese Datei \u00fcberschreiben?

# Progress Messages
exportingXML_text=Inhalt einer Methodenbibliothek in eine XML-Datei exportieren...

# Error Messages
invalidXMLFile_error=Die angegebene XML-Datei ist nicht g\u00fcltig.
exportXMLWizard_error=IUPM0000E: Export fehlgeschlagen: {0}
exportXMLWizard_reviewLog=Der Export ist abgeschlossen. Sehen Sie sich die Protokolldateien im Exportverzeichnis an.
exportXMLService_error=Fehler beim Exportieren der Bibliothek: {0}
exportXMLService_feature_error=Fehler beim Setzen des Featurewerts:: Element={0}, Feature={1}
xmlLibrary_error_load_xml=Die XML-Quelle ''{0}'' kann nicht geladen werden.
xmlLibrary_no_plugin=Es ist kein Methoden-Plug-in f\u00fcr ID {0} vorhanden.
xmlLibrary_no_feature=Das XML-Feature f\u00fcr {0}_{1} kann nicht abgerufen werden.
xmlLibrary_no_class=Die EClass f\u00fcr {0} kann nicht abgerufen werden.
xmlLibrary_error_create_element=Fehler beim Erstellen des Elements. Es kann nicht bestimmt werden, wie der Wert f\u00fcr das Feature {0} gesetzt wird.
xmlLibrary_error_set_value=Fehler beim Erstellen des Elements. Der Wert {0} kann nicht auf den Container {1} gesetzt werden.
xmlLibrary_invalid_feature_value=Ung\u00fcltiger Attributfeaturewert f\u00fcr Feature {0} mit dem Wert {1}
xmlLibrary_error_set_value_2=Fehler beim Setzen des Attributs. Der Wert f\u00fcr Feature {0}, Objekt {1}, Wert {2} kann nicht gesetzt werden.
xmlLibrary_error_set_value_3=Es kann nicht bestimmt werden, wie der Wert f\u00fcr Feature {0}, Objekt {1}, Wert {2} gesetzt wird.
xmlLibrary_error_set_reference=Fehler beim Definieren der Referenz. Der Wert f\u00fcr Feature {0}, Objekt {1}, Wert {2} kann nicht gesetzt werden.
xmlLibrary_error_process_wrong_container=Der Prozess ''{0}'' hat keinen g\u00fcltigen Container. Der Container hat den Typ ''{1}'' und ist damit kein Prozesspaket.
xmlLibrary_new_id=Dem Element {0} wurde die neue ID {1} zugeordnet, weil es keine g\u00fcltige ID hatte.
xmlLibrary_id_not_unique=Die Element-ID ''{0}'' wird von mehreren Elementen verwendet.

export_config_to_temp_location=Konfiguration in ein tempor\u00e4res Verzeichnis exportieren
open_lib_from_temp_exported_location=Bibliothek aus dem tempor\u00e4ren Exportverzeichnis \u00f6ffnen


