# /**
#  * Copyright (c) 2002-2008 IBM Corporation 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:
#  *   IBM - Initial API and implementation
#  */

# NLS_MESSAGEFORMAT_VAR

pluginName = XSD to Ecore Mapping Editor
providerName = Eclipse Modeling Project

_UI_SelectionPage_label = Selection
_UI_ParentPage_label = Parent
_UI_ListPage_label = List
_UI_TreePage_label = Tree
_UI_TablePage_label = Table
_UI_TableTreePage_label = TableTree
_UI_ObjectColumn_label = Object
_UI_SelfColumn_label = Self

_UI_NoObjectSelected = Selected Nothing
_UI_SingleObjectSelected = Selected Object: {0}
_UI_MultiObjectSelected = Selected {0} Objects

_UI_OpenEditorError_label = Open Editor

_UI_XSD2EcoreModelWizard_label = XSD to Ecore Model
_UI_XSD2EcoreModelWizard_description = Create a new XSD to Ecore model

_UI_XSD2EcoreEditorFilenameDefaultBase = My
_UI_XSD2EcoreEditorFilenameExtensions = xsd2ecore

_WARN_FilenameExtension = The filename must end in ".{0}"
_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}

_UI_ModelObject = &Model Object
_UI_Wizard_initial_object_description = Select a model object to create

_UI_Ecore_label = Ecore
_UI_XMLSchema_label = XML Schema

_UI_EMFModelCreationWizard_label = Example EMF Model Creation Wizards
_UI_XSDToEcoreModelEditor_label = XSD to Ecore Model Editor

_UI_XSDToEcoreModelEditor_menuitem = &XSD to Ecore Model Editor
_UI_RemoveMapping_menu_item = &Remove Mapping
_UI_RemoveMapping_tooltip = Remove the mapping associated with the selected objects.
_UI_MatchMappingByType_menu_item = Match Mapping by &Type
_UI_MatchMappingByType_tooltip = Create child mappings automatically by type.
_UI_MatchMappingByName_menu_item = Match Mapping by &Name
_UI_MatchMappingByName_tooltip = Create child mappings automatically by name.
_UI_CreateOneSideMapping_menu_item = Create &One-sided Mapping
_UI_CreateOneSideMapping_tooltip = Create a new mapping for the selected object.
_UI_CreateMapping_menu_item = Create &Mapping
_UI_CreateMapping_tooltip = Create a new mapping between the selected objects.
