#################################################################################
# Copyright (c) 2010, 2012 Obeo.
# 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:
#     Obeo - initial API and implementation
#################################################################################
pluginName = Acceleo Interpreter
providerName = Eclipse Modeling Project

InterpreterViewDescription = The Interpreter view will allow users \
to enter expressions according to any syntax and see the result of \
their evaluation against a given model element.

InterpreterViewName = Interpreter
languageInterpreterExtensionPointName = Language Interpreter

InterpreterContextName = Acceleo Interpreter View
InterpreterView.actions.evaluate.label = Evaluate

VariablesViewInterpreterSubmenu.Label = Interpreter
AddVariableToInterpreterAction.Label = Adds variables.
AddVariableToInterpreterAction.Tooltip = Add the selected variables in the interpreter.