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

# Common Keys
_UI_STEM = STEM
_UI_Builtin = Built-in

_UI_Disease = Disease
_UI_Infector = Infector

# New Disease Wizard
_UI_DiseaseModelWizard_label = Disease
_UI_ModelModelWizard_description = Define a new Disease 

# New Infector Wizard
_UI_InfectorWizard_label = Infector / Inoculator
_UI_InfectorWizard_description = Define a new Infector

# New Initializer Wizard
_UI_InitializerWizard_label = Create new Initializer
_UI_InitializerWizard_description = Create new Initializer

# Disease Model View
_UI_DView_Name = Diseases

# Project Explorer Content
_UI_Disease_Models = Disease Models
_UI_DM_Instances = Disease Model Instances
_UI_Recorded_CSV = Recorded CSV Simulations

_UI_StandardEditor_menu = &Standard 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_StandardModelWizard_label = Standard Model
_UI_StandardModelWizard_description = Create a new Standard model

_UI_StandardEditor_label = Standard Model Editor

_UI_StandardEditorFilenameDefaultBase = My
_UI_StandardEditorFilenameExtension = standard

_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_DiseasemodelsEditorAdvisor_ActionSet_label = Diseasemodels Action Set
_UI_Perspective_label = Diseasemodels
_UI_Browse_label = &Browse...
_UI_File_label = &File
_UI_Question_title = Question
_UI_Error_title = Error
_WARN_No_Editor = There is no editor registered for the file "{0}".
_UI_Application_title = Diseasemodels Application
_UI_Menu_File_label = &File
_UI_Menu_New_label = &New
_UI_Menu_Open_label = &Open...
_UI_Menu_Open_description = Opens a model object file
_UI_Menu_OpenURI_label = &Open URI...
_UI_Menu_OpenURI_description = Opens a model object loading it from a URI
_UI_Menu_Edit_label = &Edit
_UI_Menu_Window_label = &Window
_UI_Menu_Help_label = &Help
_UI_Menu_About_label = Diseasemodels &About...
_UI_About_title = Diseasemodels Application
_UI_About_text = Diseasemodels Application about box goes here.
_UI_StandardModelWizard_ActionSet_label = Standard Model Action Set

_UI_StandardEditorFilenameExtensions = standard
_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}

_UI_Wizard_label = New
_UI_DiseasepredicatesEditor_menu = &Diseasepredicates Editor
_UI_DiseasepredicatesModelWizard_label = Diseasepredicates Model
_UI_DiseasepredicatesModelWizard_description = Create a new Diseasepredicates model
_UI_DiseasepredicatesEditor_label = Diseasepredicates Model Editor
_UI_DiseasepredicatesEditorFilenameDefaultBase = My
_UI_DiseasepredicatesEditorFilenameExtensions = diseasepredicates
_UI_DiseasepredicatesModelWizard_ActionSet_label = Diseasepredicates Model Action Set
