
#/*******************************************************************************
# * Copyright (c) 2009 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 Population Models UI
providerName = Eclipse.org

_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_StandardEditorFilenameExtensions = standard

_WARN_FilenameExtension = The file name must end in ''.{0}''
_WARN_FilenameExtensions = The file name must have one of the following extensions: {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_PopulationModelWizard_label = Population Model
_UI_LabelsEditor_menu = &Labels Editor
_UI_LabelsModelWizard_label = Labels Model
_UI_LabelsModelWizard_description = Create a new Labels model
_UI_LabelsEditor_label = Labels Model Editor
_UI_LabelsEditorFilenameDefaultBase = My
_UI_LabelsEditorFilenameExtensions = labels
_UI_PopulationModel_description = Define a new Population Model
_UI_PopulationInitializer_description = Define a new Population Initializer
_UI_PopulationInitializerWizard_label = Population Initializer

_UI_PView_Name = Population Model View
_UI_PIView_Name = Population Initializer View
_UI_PopulationPPage=Population Modeling

_UI_New_Population_Model = Population Model

_UI_Wizard_label = New

