# Copyright (c) 2014 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 UI
providerName = Eclipse Oomph Project

_UI_SetupEditor_menu = &Setup 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_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 = 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_SetupEditor_label = Setup Editor
_UI_SetupModelWizard_label = Project Setup
_UI_SetupModelWizard_description = Create a new project setup model
_UI_SetupEditorFilenameDefaultBase = MyProject
_UI_SetupEditorFilenameExtensions = setup
_UI_Wizard_initial_object_description2 = Enter the project name and an optional label.
_UI_Wizard_initial_object_description3 = Choose a template and enter the required values.
_UI_Wizard_Name_label = &Project Name (will be used in lower case for file names)
_UI_Wizard_Label_label = Project &Label (will be shown as is in user dialogs)
_UI_Wizard_UseTemplate_label = &Initialize new project with content from various templates

