# /**
#  * Copyright (c) 2002-2009 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

pluginName=EMF Capabilities Example
providerName=Eclipse Modeling Project

activity.cat.emf=Eclipse Modeling Framework
activity.cat.emf.desc=Use EMF for model-driven development.

activity.emf=EMF Model-Driven Development
activity.emf.desc=Generate code from models using the Eclipse Modeling Framework.
activity.emf.reflective=EMF Reflective Editing
activity.emf.reflective.desc=Edit arbitrary XML and XMI resources with EMF's reflective editors.
activity.emf.jet=EMF JET Development
activity.emf.jet.desc=Use EMF's limited Java Emitter Template tools (JET1).
activity.xsd=Sample XML Schema Editing
activity.xsd.desc=Use the XSD project's sample XML Schema editor.
activity.emf.examples=EMF and XSD Examples
activity.emf.examples.desc=Install EMF and XSD examples into the workspace.
