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

# STEM
_UI_Common_STEM = STEM

# Sequencer
_UI_Sequential_Sequencer= Sequential Sequencer

# Dublin Core
dc_creator_daford = daford
dc_pub = Eclipse.org
dc_seqseq2000_title = Sequential Sequencer 2000
dc_seqseq2006_title = Sequential Sequencer 2006

_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_SequentialSequencer_type = Sequential Sequencer
_UI_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_SequentialSequencer_timeIncrement_feature = Time Increment
_UI_Unknown_feature = Unspecified

_UI_SequencerEditor_menu = &Sequencer 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_SequencerModelWizard_label = Sequencer Model
_UI_SequencerModelWizard_description = Create a new Sequencer model
_UI_SequencerEditor_label = Sequencer Model Editor
_UI_SequencerEditorFilenameDefaultBase = My
_UI_SequencerEditorFilenameExtension = sequencer
_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 = Specify a file name and select a model object to create
_UI_FileConflict_label = File Conflict
_WARN_FileConflict = The file "{0}" already exists.  Do you want to replace the existing file?
_UI_SequencerEditorAdvisor_ActionSet_label = Sequencer Action Set
_UI_Perspective_label = Sequencer
_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 = Sequencer 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 = Sequencer &About...
_UI_About_title = Sequencer Application
_UI_About_text = Sequencer Application about box goes here.
_UI_SequencerModelWizard_ActionSet_label = Sequencer Model Action Set

