#/*******************************************************************************
# * 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 Example Disease Model
providerName = Eclipse.org

# Dublin Core
dc_creator_kaufman = kaufman
dc_desc_E_S_SEIR = Experimental SEIR Stochastic Disease Model
dc_title_E_S_SEIR = Experimental SEIR Disease Model

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
_UI_PropertyDescriptor_description = The {0} of the {1}
_UI_ExperimentalDiseaseModel_type = Experimental Disease Model
_UI_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_Unknown_feature = Unspecified

_UI_ExampleDiseaseModel_type = Disease Model
_UI_ExampleEditor_menu = &Example Editor
_UI_CreateChild_menu_item = &New Child
_UI_CreateSibling_menu_item = N&ew Sibling
_UI_ShowPropertiesView_menu_item = Show &Properties View
_UI_RefreshViewer_menu_item = &Refresh
_UI_SelectionPage_label = Selection
_UI_ParentPage_label = Parent
_UI_ListPage_label = List
_UI_TreePage_label = Tree
_UI_TablePage_label = Table
_UI_TreeWithColumnsPage_label = Tree with Columns
_UI_ObjectColumn_label = Object
_UI_SelfColumn_label = Self
_UI_NoObjectSelected = Selected Nothing
_UI_SingleObjectSelected = Selected Object: {0}
_UI_MultiObjectSelected = Selected {0} Objects
_UI_OpenEditorError_label = Open Editor
_UI_Wizard_category = Example EMF Model Creation Wizards
_UI_CreateModelError_message = Problems encountered in file "{0}"
_UI_ExampleModelWizard_label = Example Model
_UI_ExampleModelWizard_description = Create a new Example model
_UI_ExampleEditor_label = Example Model Editor
_UI_ExampleEditorFilenameDefaultBase = My
_UI_ExampleEditorFilenameExtension = example
_UI_Wizard_label = New
_WARN_FilenameExtension = The file name must end in ".{0}"
_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 = Select a model object to create
_UI_FileConflict_label = File Conflict
_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?

_UI_ExampleDiseaseModel_seasonalModulation_feature = Seasonal Modulation
_UI_ExampleDiseaseModel_modulationPeriod_feature = Modulation Period
_UI_ExampleDiseaseModel_modulationPhaseShif_feature = Modulation Phase Shift
_UI_ExampleEditorFilenameExtensions = example
_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}

_UI_ExampleDiseaseModel_modulationPhaseShift_feature = Modulation Phase Shift
_UI_ExampleDiseaseModel_seasonalModulationThreshold_feature = Seasonal Modulation Threshold
_UI_ExampleDiseaseModel_seasonalModulationExponent_feature = Seasonal Modulation Exponent
_UI_ExampleDiseaseModel_seasonalModulationFloor_feature = Seasonal Modulation Floor
