##
#  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 Factory Task Model (Incubation)
providerName = Eclipse Modeling Project

TaskExtensionPoint=Task

missing_invoker_message = No invoker for Task ''{0}''.
_UI_EGFConstraint_diagnostic = Constraint ''{0}'' is violated on ''{1}''. {2}.
