# Copyright (c) 2004 - 2011 Eike Stepper (Berlin, Germany) 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:
#    Victor Roldan Betancort - initial API and implementation
#    Eike Stepper - maintenance

CDOImporter_2=Specify a valid Ecore model and try loading again
CDOImporter_4=Loading {0}
CDOImporter_5=Problems were detected while validating and converting the Ecore models
CDOImporterWizard_0=EcoreModel
CDOImporterWizard_1=Ecore &Import
CDOImporterWizard_2=Specify one or more '.ecore' or '.emof' URIs, try to load them, and choose a file name for the generator model
CDOImporterWizard_3=Specify one or more '.ecore' or '.emof' URIs and try to load them
CDOImporterWizard_4=EcorePackages
CDOMigrator.10=Added Model Plugin Variables =
CDOMigrator.12=Created target model project
CDOMigrator.13=Opened target model project
CDOMigrator.4=Set Feature Delegation =
CDOMigrator.6=Set Root Extends Class =
CDOMigrator.8=Set Root Extends Interface =
MigrateAction_0=Migrating EMF model
MigrateAction_1=The selected element is not a *.genmodel file.
MigrateAction_10=CDO Migrator
MigrateAction_2=The selected file does not contain a generator model.
MigrateAction_3=The selected generator model was already migrated.
MigrateAction_4=The selected generator model has been migrated:\n\n
MigrateAction_6=Problem while migrating EMF model