################################################################################
# Copyright (c) 2008, 2012 Obeo.
# 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:
#     Obeo - initial API and implementation
################################################################################
pluginName = Acceleo Model Edit Support
providerName = Eclipse Modeling Project

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.

_UI_PropertyDescriptor_description = The {0} of the {1}

_UI_Module_type = Module
_UI_ModuleElement_type = Module Element
_UI_TemplateExpression_type = Template Expression
_UI_Block_type = Block
_UI_InitSection_type = Init Section
_UI_Template_type = Template
_UI_TemplateInvocation_type = Template Invocation
_UI_Query_type = Query
_UI_QueryInvocation_type = Query Invocation
_UI_ProtectedAreaBlock_type = Protected Area Block
_UI_ForBlock_type = For Block
_UI_IfBlock_type = If Block
_UI_LetBlock_type = Let Block
_UI_FileBlock_type = File Block
_UI_TraceBlock_type = Trace Block
_UI_Macro_type = Macro
_UI_MacroInvocation_type = Macro Invocation
_UI_TypedModel_type = Typed Model
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_Module_input_feature = Input
_UI_Module_extends_feature = Extends
_UI_Module_imports_feature = Imports
_UI_Module_ownedModuleElement_feature = Owned Module Element
_UI_ModuleElement_visibility_feature = Visibility
_UI_Block_init_feature = Init
_UI_Block_body_feature = Body
_UI_InitSection_variable_feature = Variable
_UI_Template_overrides_feature = Overrides
_UI_Template_parameter_feature = Parameter
_UI_Template_guard_feature = Guard
_UI_Template_main_feature = Main
_UI_TemplateInvocation_definition_feature = Definition
_UI_TemplateInvocation_argument_feature = Argument
_UI_TemplateInvocation_before_feature = Before
_UI_TemplateInvocation_after_feature = After
_UI_TemplateInvocation_each_feature = Each
_UI_TemplateInvocation_super_feature = Super
_UI_Query_parameter_feature = Parameter
_UI_Query_expression_feature = Expression
_UI_Query_type_feature = Type
_UI_QueryInvocation_definition_feature = Definition
_UI_QueryInvocation_argument_feature = Argument
_UI_ProtectedAreaBlock_marker_feature = Marker
_UI_ForBlock_loopVariable_feature = Loop Variable
_UI_ForBlock_iterSet_feature = Iter Set
_UI_ForBlock_before_feature = Before
_UI_ForBlock_each_feature = Each
_UI_ForBlock_after_feature = After
_UI_ForBlock_guard_feature = Guard
_UI_IfBlock_ifExpr_feature = If Expr
_UI_IfBlock_else_feature = Else
_UI_IfBlock_elseIf_feature = Else If
_UI_LetBlock_elseLet_feature = Else Let
_UI_LetBlock_else_feature = Else
_UI_LetBlock_letVariable_feature = Let Variable
_UI_FileBlock_openMode_feature = Open Mode
_UI_FileBlock_fileUrl_feature = File Url
_UI_FileBlock_uniqId_feature = Uniq Id
_UI_TraceBlock_modelElement_feature = Model Element
_UI_Macro_parameter_feature = Parameter
_UI_Macro_type_feature = Type
_UI_MacroInvocation_definition_feature = Definition
_UI_MacroInvocation_argument_feature = Argument
_UI_TypedModel_takesTypesFrom_feature = Takes Types From
_UI_Unknown_feature = Unspecified

_UI_VisibilityKind_Private_literal = Private
_UI_VisibilityKind_Protected_literal = Protected
_UI_VisibilityKind_Public_literal = Public
_UI_OpenModeKind_Append_literal = Append
_UI_OpenModeKind_OverWrite_literal = OverWrite
_UI_FileBlock_charset_feature = Charset
_UI_Template_post_feature = Post
