# /**
#  * Copyright (c) 2002-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 v2.0
#  * which accompanies this distribution, and is available at
#  * http://www.eclipse.org/legal/epl-v20.html
#  *
#  * Contributors:
#  *   IBM - Initial API and implementation
#  */

# NLS_MESSAGEFORMAT_VAR

featureName=EMF GWT - Eclipse Modeling Framework Runtime for the Google Web Toolkit

featureText=Eclipse Modeling Framework Runtime for the Google Web Toolkit\n\
Version: {featureVersion}\n\
Build: {0}\n\
Commit: {1}\n\
\n\
(c) Copyright Eclipse contributors and others. 2002, 2018.  All rights reserved.\n\
\n\
EMF is a Java/XML framework for generating tools and other\n\
applications based on simple class models.\n\
Visit http://www.eclipse.org/emf/
