#/*******************************************************************************
# * Copyright (c) 2008 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
# *******************************************************************************/

# ====================================================================
# To code developer:
#   Do NOT change the properties between this line and the
#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
#   Make a new property name, append to the end of the file and change
#   the code to use the new property.
# ====================================================================

# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================

pluginName=STEM Externe-Datenquelle-Krankheitsmodell
providerName=Eclipse.org

# Dublin Core
dc_creator_kaufman=Kaufman
dc_identier=STEM Wiedergabe Krankheitsmodell
dc_publisher=Die Eclipse Foundation
dc_license=Eclipse Public License (EPL)
dc_SOURCE=Keine Quelle. Dies ist kein Modell. Spielt Krankheitsdaten oder Ausgabe von anderen Modellen ab.
dc_desc_E_S_SEIR=Die Externe-Datenquelle-Krankheitsmodell spielt die Krankheitsdaten oder die Ausgabe von anderen Modellen ab
dc_title_E_S_SEIR=Externes Datenquellen Playback

_UI_CreateChild_text={0}
_UI_CreateChild_text2={1} {0}
_UI_CreateChild_text3={1}
_UI_CreateChild_tooltip=Neues {0} unter {1} Feature erstellen
_UI_CreateChild_description=Neues Kind vom Typ {0} f\u00fcr das {1} Merkmal der ausgew\u00e4hlten {2} erstellen
_UI_CreateSibling_description=Neues Geschwisterteil vom Typ {0} f\u00fcr den ausgew\u00e4hlten {2} unter dem {1} Merkmal des Elternteil erstellen

_UI_PropertyDescriptor_description={0} von {1}

_UI_ExternalDataSourceDiseaseModel_type=Extern-Datenquelle-Krankheitsmodell
_UI_Unknown_type=Objekt

_UI_Unknown_datatype=Wert

_UI_Unknown_feature=Nicht spezifiziert

_UI_ExternalDataSourceEditor_menu=&ExternalDataSource Editor

_UI_CreateChild_menu_item=&New Child
_UI_CreateSibling_menu_item=N&eues Geschwisterteil

_UI_ShowPropertiesView_menu_item=Show & Properties View
_UI_RefreshViewer_menu_item=&Refresh

_UI_SelectionPage_label=Auswahl
_UI_ParentPage_label=Elternteil
_UI_ListPage_label=Liste
_UI_TreePage_label=Baum
_UI_TablePage_label=Tabelle
_UI_TreeWithColumnsPage_label=Baum mit Spalten
_UI_ObjectColumn_label=Objekt
_UI_SelfColumn_label=Selbst

_UI_NoObjectSelected=Nichts ausgew\u00e4hlt
_UI_SingleObjectSelected=Ausgew\u00e4hltes Objekt: {0}
_UI_MultiObjectSelected=Ausgew\u00e4hlte {0} Objekte

_UI_OpenEditorError_label=Editor \u00f6ffnen

_UI_Wizard_category=Beispiel EMF Modell Erstellungsassistent

_UI_CreateModelError_message=Aufgetretene Probleme in der Datei "{0}"

_UI_ExternalDataSourceModelWizard_label=Extern-Datenquelle-Modell
_UI_ExternalDataSourceModelWizard_description=Neues ExternalDataSource-Modell erstellen

_UI_ExternalDataSourceEditor_label=Extern-Datenquelle-Modelleditor

_UI_ExternalDataSourceEditorFilenameDefaultBase=Mein
_UI_ExternalDataSourceEditorFilenameExtension=Externe Datenquelle

_UI_Wizard_label=Neu

_WARN_FilenameExtension=Der Dateiname muss auf ".{0}" enden

_UI_ModelObject=&Model Object
_UI_XMLEncoding=&XML Encoding
_UI_XMLEncodingChoices=UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
_UI_Wizard_initial_object_description=Zu erzeugendes Modellobjekt w\u00e4hlen

_UI_FileConflict_label=Dateikonflikt
_WARN_FileConflict=Es gibt nicht gespeicherte \u00c4nderungen, die Konflikte mit \u00c4nderungen au\u00dferhalb des Editors erzeugen. M\u00f6chten Sie die \u00c4nderungen im Editor verwerfen?

_UI_ExternalDataSourceDiseaseModel_dataPath_feature=Datenpfad
_UI_ExternalDataSourceDiseaseModel_diseaseType_feature=Art der Krankheit
_UI_ExternalDataSourceEditorFilenameExtensions=Externe Datenquelle

_WARN_FilenameExtensions=Der Dateiname muss eine der folgenden Endungen haben: {0}

