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

# Dublin Core
dc_creator_edlund = edlund
dc_desc_E_S_SEIR = Seasonal Forcing SIR Disease Model
dc_title_E_S_SEIR = Seasonal Forcing SIR 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
_UI_ForcingDiseaseModel_type = Disease Model
_UI_ForcingDiseaseModel_seasonalModulationExponent_feature = Seasonal Modulation Exponent
_UI_ForcingDiseaseModel_modulationPeriod_feature = Modulation Period
_UI_ForcingDiseaseModel_modulationPhaseShift_feature = Modulation Phase Shift
_UI_ForcingDiseaseModel_seasonalModulationFloor_feature = Seasonal Modulation Floor
_UI_ForcingDiseaseModel_attenuation_feature = Attenuation
_UI_GaussianForcingDiseaseModel_type = Gaussian Forcing Disease Model
_UI_GaussianForcingDiseaseModel_sigma2_feature = Sigma2
_UI_GaussianForcingDiseaseModel_mu_feature = Mu
_UI_GaussianForcingDiseaseModel_modulationPeriod_feature = Modulation Period
_UI_GaussianForcingDiseaseModel_modulationPhaseShift_feature = Modulation Phase Shift
_UI_GaussianForcingDiseaseModel_modulationFloor_feature = Modulation Floor
_UI_Gaussian2ForcingDiseaseModel_type = Gaussian2 Forcing Disease Model
_UI_Gaussian2ForcingDiseaseModel_sigma2_2_feature = Sigma2 2
_UI_Gaussian2ForcingDiseaseModel_sigma2_feature = Sigma2
_UI_Gaussian2ForcingDiseaseModel_modulationPeriod_feature = Modulation Period
_UI_Gaussian2ForcingDiseaseModel_modulationPhaseShift_feature = Modulation Phase Shift
_UI_Gaussian2ForcingDiseaseModel_modulationFloor_feature = Modulation Floor
_UI_Gaussian2ForcingDiseaseModel_att1_feature = Att1
_UI_Gaussian2ForcingDiseaseModel_att2_feature = Att2
_UI_Gaussian2ForcingDiseaseModel_att3_feature = Att3
_UI_Gaussian2ForcingDiseaseModel_att4_feature = Att4
