# <copyright>
# Copyright (c) 2010-2014 Henshin developers. 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
# </copyright>

pluginName=Henshin Editor
providerName=Eclipse Modeling Project

_UI_HenshinEditor_menu = &Henshin Editor

_UI_CreateChild_menu_item = &New Child
_UI_CreateSibling_menu_item = N&ew Sibling
_UI_CreateAdvanced_menu_item = &Advanced Editing

_UI_NavigationAction_GotoDeclaration = Go to Declaration
_UI_NavigationAction_GotoUsage = Go to Usage
_UI_NavigationAction_GotoUsage_None = <none>

_UI_AdvancedCommand_NoLabel = Unlabeled Command
_UI_AdvancedCommand_CreateMappedNode = Add Mapped Node
_UI_AdvancedCommand_RemoveImageNode = Remove Image Node from ..
_UI_AdvancedCommand_RemoveImageNode_FromRhs = Rhs
_UI_AdvancedCommand_RemoveImageNode_FromNestedCondition = NestedCondition
_UI_AdvancedCommand_RemoveImageNode_All = All
_UI_AdvancedCommand_RemoveOriginNode = Remove Origin Node

_UI_AdvancedCommand_CreateEdge = Create Edge
_UI_AdvancedCommand_CreateEdge_UnnamedReference = Unnamed Reference
_UI_AdvancedCommand_CreateEdge_ExceededMultiplicity = Multiplicity exceeded
_UI_AdvancedCommand_CreateEdge_AlreadyExists = Already exists
_UI_AdvancedCommand_CreateEdge_DerivedReference = (Derived)
_UI_AdvancedCommand_CreateEdge_DerivedUnmapped = Derived requires mapped Nodes

_UI_AdvancedCommand_CreateOppositeEdge = Create Opposite Edge

_UI_AdvancedCommand_CleanUp = Clean Up
_UI_AdvancedCommand_CompleteMultiRules = Complete Multi-Rules

_UI_AdvancedCommand_CreateMapping = Create Mapping 
_UI_AdvancedCommand_CopyKernelToMultiRulesAndCreateMapping = Copy Kernel To Multi Rules and create Mapping
_UI_AdvancedCommand_CopySubGraphToNestedConditions = Define as Nested Condition
_UI_AdvancedCommand_CopySubGraphToNestedConditions_Submenu = Define as Nested Condition ..
_UI_AdvancedCommand_CopySubGraphToNestedConditions_ReplaceCurrent = Replace current Formula
_UI_AdvancedCommand_CopySubGraphToNestedConditions_WrapWithCurrent = Wrap with current Formula
_UI_AdvancedCommand_ToggleJunction = Toggle Junction Type
_UI_AdvancedCommand_NegateFormula = Negate Formula
_UI_AdvancedCommand_WrapInJunction = Wrap in ..
_UI_AdvancedCommand_WrapInJunction_And = AND
_UI_AdvancedCommand_WrapInJunction_Or = OR
_UI_AdvancedCommand_DiscardInFavorOfChild = Replace by Child ..
_UI_AdvancedCommand_DiscardInFavorOfChild_Left = Left
_UI_AdvancedCommand_DiscardInFavorOfChild_Right = Right

_UI_FeatureFilter_ShowMappings = Show Mappings
_UI_FeatureFilter_HideMappings = Hide Mappings
_UI_FeatureFilter_ShowParameters = Show Parameters
_UI_FeatureFilter_HideParameters = Hide Parameters
_UI_FeatureFilter_ShowParameterMappings = Show ParameterMappings
_UI_FeatureFilter_HideParameterMappings = Hide ParameterMappings

_UI_Highlighting_ColorAssociatedNodes = Color associated Model Elements
_UI_Highlighting_ExpandAssociatedNodes = Expand to associated Model Elements


_UI_ShowPropertiesView_menu_item = Show &Properties View
_UI_RefreshViewer_menu_item = &Refresh

_UI_SelectionPage_label = Selection
_UI_ParentPage_label = Parent
_UI_ListPage_label = List
_UI_TreePage_label = Tree
_UI_TablePage_label = Table
_UI_TreeWithColumnsPage_label = Tree with Columns
_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_CreateModelError_message = Problems encountered in file "{0}"

_UI_HenshinModelWizard_label = Henshin Model
_UI_HenshinModelWizard_description = Create a new Henshin model

_UI_HenshinEditor_label = Henshin Model Editor

_UI_HenshinEditorFilenameDefaultBase = default
_UI_HenshinEditorFilenameExtensions = henshin

_UI_Wizard_label = New

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

_UI_ModelObject = &Model Object
_UI_XMLEncoding = &XML Encoding
_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
_UI_Wizard_initial_object_description = Select a model object to create.
_UI_Wizard_import_packages_description = Import packages.

_UI_FileConflict_label = File Conflict
_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor.  Do you wish to discard this editor's changes?

importPackageActionLabel=Import Package...
fromRegistryActionLabel=From Registry
fromWorkspaceActionLabel=From Workspace

_UI_AdvancedCommand_ReplaceBy=Replace by
_UI_AdvancedCommand_ReplaceBy_IndependentUnit=&Independent Unit
_UI_AdvancedCommand_ReplaceBy_SequentialUnit=&Sequential Unit
_UI_AdvancedCommand_ReplaceBy_PriorityUnit=&Priority Unit
_UI_AdvancedCommand_DeduceParameters = Deduce Parameters

_UI_Wizard_category = Henshin
