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

pluginName = STEM Metamodel Definition
providerName = Eclipse.org
_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_Package_type = Package
_UI_Model_type = Model
_UI_ModelParam_type = Model Param
_UI_ModelParamConstraint_type = Model Param Constraint
_UI_CompartmentGroup_type = Compartment Group
_UI_Compartment_type = Compartment
_UI_AuthorDetails_type = Author Details
_UI_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_Package_packagePrefix_feature = Package Prefix
_UI_Package_name_feature = Name
_UI_Package_models_feature = Models
_UI_Model_name_feature = Name
_UI_Model_modelType_feature = Model Type
_UI_Model_class_feature = Class
_UI_Model_parentModel_feature = Parent Model
_UI_Model_parameters_feature = Parameters
_UI_Model_compartments_feature = Compartments
_UI_Model_author_feature = Author
_UI_Model_containerPackage_feature = Container Package
_UI_ModelParam_name_feature = Name
_UI_ModelParam_dataType_feature = Data Type
_UI_ModelParam_defaultValue_feature = Default Value
_UI_ModelParam_constraints_feature = Constraints
_UI_ModelParam_displayName_feature = Display Name
_UI_ModelParam_unit_feature = Unit
_UI_ModelParam_helpMessage_feature = Help Message
_UI_ModelParam_invalidMessage_feature = Invalid Message
_UI_ModelParam_missingMessage_feature = Missing Message
_UI_ModelParam_containerModel_feature = Container Model
_UI_ModelParamConstraint_name_feature = Name
_UI_ModelParamConstraint_constraint_feature = Constraint
_UI_CompartmentGroup_name_feature = Name
_UI_CompartmentGroup_class_feature = Class
_UI_CompartmentGroup_valueClass_feature = Value Class
_UI_CompartmentGroup_parentGroup_feature = Parent Group
_UI_CompartmentGroup_compartments_feature = Compartments
_UI_CompartmentGroup_containerModel_feature = Container Model
_UI_Compartment_name_feature = Name
_UI_Compartment_dataType_feature = Data Type
_UI_Compartment_type_feature = Type
_UI_Compartment_containerGroup_feature = Container Group
_UI_AuthorDetails_title_feature = Title
_UI_AuthorDetails_description_feature = Description
_UI_AuthorDetails_creator_feature = Creator
_UI_AuthorDetails_source_feature = Source
_UI_AuthorDetails_publisher_feature = Publisher
_UI_AuthorDetails_license_feature = License
_UI_Unknown_feature = Unspecified
_UI_ModelType_DiseaseModel_literal = DiseaseModel
_UI_ModelType_PopulationModel_literal = PopulationModel
_UI_ModelType_FoodProductionModel_literal = FoodProductionModel
_UI_CompartmentType_Standard_literal = Standard
_UI_CompartmentType_Incidence_literal = Incidence
_UI_CompartmentType_Deaths_literal = Deaths
_UI_Package_compartmentGroups_feature = Compartment Groups
_UI_ModelGenSettings_type = Model Gen Settings
_UI_PackageGenSettings_type = Package Gen Settings
_UI_Package_generatorSettings_feature = Generator Settings
_UI_Model_generatorSettings_feature = Generator Settings
_UI_ModelGenSettings_propertyEditorClass_feature = Property Editor Class
_UI_ModelGenSettings_propertyEditorParentClass_feature = Property Editor Parent Class
_UI_ModelGenSettings_stringProviderAdapterClass_feature = String Provider Adapter Class
_UI_ModelGenSettings_stringProviderAdapterParentClass_feature = String Provider Adapter Parent Class
_UI_ModelGenSettings_labelRelativeValueProviderAdapterClass_feature = Label Relative Value Provider Adapter Class
_UI_ModelGenSettings_labelRelativeValueProviderAdapterParentClass_feature = Label Relative Value Provider Adapter Parent Class
_UI_ModelGenSettings_labelValueRelativeValueProviderAdapterClass_feature = Label Value Relative Value Provider Adapter Class
_UI_ModelGenSettings_labelValueRelativeValueProviderAdapterParentClass_feature = Label Value Relative Value Provider Adapter Parent Class
_UI_PackageGenSettings_modelPluginId_feature = Model Plugin Id
_UI_PackageGenSettings_editorPluginId_feature = Editor Plugin Id
