# <copyright>
# Copyright (c) 2011 See4sys 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
# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
# 
# Contributors: 
#     See4sys - Initial API and implementation
# 
# </copyright>

# ---------------------------------------------------------------------- #
#  Internal messages for org.eclipse.sphinx.examples.transform.xtend.ui  #
# ---------------------------------------------------------------------- #

menu_transform=Transform
menuItem_transform_modelUsingXtend=Model Using Xtend...
