# Copyright (c) 2014, 2015 Eike Stepper (Berlin, Germany) 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:
#    Eike Stepper - initial API and implementation

pluginName = Oomph Setup Editor
providerName = Eclipse Oomph Project

_UI_SetupEditor_menu = &Setup Editor

_UI_CreateChild_menu_item = &New Child
_UI_CreateSibling_menu_item = N&ew Sibling
_UI_AdditionalTasks_menu_item = Additional &Tasks
_UI_AdditionalElements_menu_item = Additional E&lements

_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_OomphWizard_category = Oomph

_UI_CreateModelError_message = Problems encountered in file "{0}"
_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 = Choose a template and enter the required values.
_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_SetupEditor_label = Setup Editor
_UI_SetupEditorFilenameDefaultBase = MyExample
_UI_SetupEditorFilenameExtensions = setup

_UI_SetupModelWizard_label = Setup Project Model
_UI_SetupModelWizard_description = Create a new project setup model with the camel case name of the project


_UI_SetupModelWizard_label2 = Setup Product Model
_UI_SetupModelWizard_description2 = Create a new product setup model with the camel case name of the product

