# Copyright (c) 2016, 2018 Obeo.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors: Obeo - initial API and implementation

pluginName = EEF Extension Reference Widget UI
providerName = Eclipse Modeling Project

eefExtWidgetReferenceLifecycleManagerProvider.Name=EEF Extension Reference Widget Lifecycle Manager Provider
eefExtWidgetReferenceLifecycleManagerProvider.Description=The lifecycle manager provider used to create the lifecycle manager of the extension reference widget

eefExtReferenceViewerFilterProvider.Name=EEF Extension Reference Widget Tree Viewer Filter Provider

ReferenceCreationWizard_windowTitle=Create
ReferenceCreationWizardPage_title=Create a new object
ReferenceCreationWizardPage_description=Select the type of object to create for your reference
ReferenceCreationWizardPage_eClassToCreateLabel=Type:
ReferenceCreationWizardPage_eContainerSelectionLabel=Container:
ReferenceCreationWizardPage_eContainerToUseLabel=Reference:
ReferenceCreationWizardPage_missingEClassToCreate=Please specify the concrete type of the object to create
ReferenceCreationWizardPage_missingEContainer=Please select the container to create a new ''{0}''
ReferenceCreationWizardPage_missingContainmentEReference=Please select the property which will contain the object to create

ReferenceSelectionWizard_windowTitle=Select
ReferenceSelectionWizardPage_title=Select a new object
ReferenceSelectionWizardPage_description=Select a new object as the value of the reference 
ReferenceSelectionWizardPage_missingEObject=Please select a valid ''{0}''

SingleReference_noValue=<no value>
ReferenceBrowseButton_tooltipText=Browse your data to edit the current value
ReferenceAddButton_tooltipText=Create a new object
ReferenceRemoveButton_containmentTooltipText=Remove the current object
ReferenceRemoveButton_nonContainmentTooltipText=Remove the reference to the object
ReferenceUpButton_tooltipText=Move up the selected value
ReferenceDownButton_tooltipText=Move down the selected value