##
#  Copyright (c) 2009-2010 Thales Corporate Services S.A.S.
#  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:
#      Thales Corporate Services S.A.S - initial API and implementation
##

pluginName= EGF Core UI
providerName= Eclipse Modeling Project

egf.preferences.keyword.general= EGF
egf.preferences.general= EGF
egf.preferences.editors= Editors
egf.preferences.model= Model

egf.preferences.production= Production
egf.editor.contributor= EGF Editor contributor

egf.editor.menu.contributor= EGF Editor menu contributor
egf.editor.listener.contributor= EGF Editor listener contributor
editor.property.contributor=EGF Editor property editor's contributor

EGFFcoreActionSet_label= EGF Fcore
EGFFcoreActionSet_description= EGF Fcore Action Set

openFcore.label= Open EGF Fcore&...
openFcore.description= Opens an EGF Fcore

ActionDefinition_openFcore_name = Open EGF Fcore
ActionDefinition_openFcore_description= Open an EGF Fcore in the Workbench

copyQualifiedName.label= Cop&y Qualified Name

copyEObjectQualifiedName.name=EObject
copyEObjectQualifiedName.Tooltip=Copy an EObject fully qualified name to the system clipboard

copyEObjectMetaClassQualifiedName.name=EObject Resource Meta-Class
copyEObjectMetaClassQualifiedName.Tooltip=Copy an EObject Resource Meta-Class fully qualified name to the system clipboard

copyEObjectStaticMetaClassQualifiedName.name=EObject Static Meta-Class
copyEObjectStaticMetaClassQualifiedName.Tooltip=Copy an EObject Static Meta-Class fully qualified name to the system clipboard
