# Copyright (c) 2015, 2017 Obeo.
# 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.htm
# Contributors: Obeo - initial API and implementation

pluginName=EEF Properties UI
providerName=Eclipse Modeling Project
eefTabDescriptorProviderExtensionPoint.name = EEF Tab Descriptor Provider
eefTabDescriptorFilterExtensionPoint.name = EEF Tab Descriptor Filter

DescriptorRegistryEventListener_missingAttribute=The attribute {1} is missing from the configuration element {0}. 
DescriptorRegistryEventListener_extensionAlreadyContributed=The extension {0} has already been contributed.
DescriptorRegistryEventListener_cannotInstantiateExtension=The extension {0} cannot be instantiated.

EEFTabbedPropertyRegistry_MissingSectionDescriptorId=The section descriptor does not have an identifier, it cannot be used.

EEFTopNavigationElement_noPropertiesAvailable=No properties available
EEFTabbedPropertyList_propertiesNotAvailable=Properties not available
