#                                                                           
#  Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) 
#                                                                            
#  All rights reserved. This program and the accompanying materials           
#  are made available under the terms of the Eclipse Public License 2.0        
#  which accompanies this distribution, and is available at                  
#  https://www.eclipse.org/legal/epl-2.0/                                 
#                                 
#  SPDX-License-Identifier: EPL-2.0                                 
#                                                                            
#  Contributors:                                                      
# 	   Florian Pirchner - Initial implementation
#

pluginName = ecview Editor
providerName = www.example.org

_UI_YECviewEditor_menu = &YECview Editor
_UI_YConverterEditor_menu = &YConverter Editor
_UI_YVisibilityEditor_menu = &YVisibility 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_YECviewModelWizard_label = YECview Model
_UI_YECviewModelWizard_description = Create a new YECview model

_UI_YECviewEditor_label = YECview Model Editor

_UI_YECviewEditorFilenameDefaultBase = My
_UI_YECviewEditorFilenameExtensions = yecview

_UI_YConverterModelWizard_label = YConverter Model
_UI_YConverterModelWizard_description = Create a new YConverter model

_UI_YConverterEditor_label = YConverter Model Editor

_UI_YConverterEditorFilenameDefaultBase = My
_UI_YConverterEditorFilenameExtensions = yconverter

_UI_YVisibilityModelWizard_label = YVisibility Model
_UI_YVisibilityModelWizard_description = Create a new YVisibility model

_UI_YVisibilityEditor_label = YVisibility Model Editor

_UI_YVisibilityEditorFilenameDefaultBase = My
_UI_YVisibilityEditorFilenameExtensions = yvisibility

_UI_Wizard_label = New

_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?

