###############################################################################
# Copyright (c) 2005, 2014 IBM Corporation 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:
#     IBM Corporation - initial API and implementation
#     Zeligsoft - Bugs 231435, 243976, 256040
#
###############################################################################

# NLS_MESSAGEFORMAT_VAR

pluginName = OCL (Object Constraint Language) Parser and Interpreter
providerName = Eclipse OCL

oclenv.point.name = Registered OCL Environments
_UI_OCL_content_type = OCL Model File
_UI_AST_content_type = OCL Abstract Syntax Model File (Generic)
_UI_CST_content_type = OCL Concrete Syntax Model File

_UI_Types_content_type = Types File
_UI_Utilities_content_type = Utilities File
_UI_Expressions_content_type = Expressions File

