# Copyright (c) 2015 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 Legacy
providerName=Eclipse Modeling Project

RegistryEventListener_missingAttribute = The required attribute {0}::{1} is missing
RegistryEventListener_cannotInstantiateExtension = Cannot instantiate the extension {0}
Eef2LegacyWrapper_failedToAccessField = Cannot access to field {0} in the TabContents class