# 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 P2 Management 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

