###############################################################################
# Copyright (c) 2005, 2010 IBM Corporation and others.
# 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:
#     IBM Corporation - initial API and implementation
#     Zeligsoft - Bug 254297
#     E.D.Willink - Bug 289761
# 
# $Id: plugin.properties,v 1.3 2011/05/31 15:02:07 asanchez Exp $
###############################################################################

# NLS_MESSAGEFORMAT_VAR

# ==============================================================================
# Do not change the properties between this line and the last line containing:
# %%% END OF TRANSLATED PROPERTIES %%%
# Instead, either redefine an existing property, or create a new property,
# append it to the end of the file, and change the code to use the new name.
# ==============================================================================

Plugin.name=OCL Examples Installer
Plugin.providerName=Eclipse Modeling Project

# ==============================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# The above properties have been shipped for translation.
# ==============================================================================

OCL_category=OCL (Object Constraint Language) Plug-ins

OCL_Interpreter_name=OCL Interpreter
OCL_Interpreter_description=Create a plug-in project defining an interactive OCL interpreter console

OCLinEcore_Tutorial_name=OCLinEcore Tutorial
OCLinEcore_Tutorial_description=Create a plug-in project for the OCLinEcore Tutorial

EmptyOCL_name=Empty OCL Project
EmptyOCL_description=Create an Empty OCL project

Royal_and_Loyal_name=Royal and Loyal Example
Royal_and_Loyal_description=Create a project containing the Royal and Loyal Example
