###############################################################################
# Copyright (c) 2010, 2015 Willink Transformations and others.
# 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
# http://www.eclipse.org/legal/epl-v20.html
#
# Contributors:
#     E.D.Willink - initial API and implementation
###############################################################################

pluginName = OCL Unified Base User Interface and Editor
providerName = Eclipse OCL

MF_Save = Save
MF_Save_AS_Command = Save Abstract Syntax
MF_Save_AS_Description = Save the Abstract Syntax representation to an XMI file 
MF_Save_CS_Command = Save Concrete (Xtext) Syntax
MF_Save_CS_Description = Save the Concrete (Xtext) Syntax representation to an XMI file

MF_Validate = Validate
MF_Validate_Command = Validate the OCL
MF_Validate_Description = Validate the OCL associated with the selection

MF_Problem = Abstract OCL Problem

_UI_SaveFailure_title = Save Problems
_UI_SaveFailure_message = Save could not be completed.

_UI_SerializationFailure_title = CS to Text Serialization failed.
_UI_SerializationFailure_message = CS will be displayed as XMI, problem is in the error log.
