###############################################################################
# Copyright (c) 2001, 2004 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 Corporation - initial API and implementation
#     Jens Lukowski/Innoopract - initial renaming/restructuring
#     
###############################################################################
providerName=Eclipse.org
pluginName=SSE XML Source Editor
nlFeatureName=SSE XML Source Editor NL Support
XML_Source_Page_Editor.name=XML Source Page Editor
XML_Files.name=XML Files
XML_Source.name=XML Source
XML_Templates.name=XML Templates
XML_Styles.name=XML Styles
XML_Annotations.name=XML Annotations
###############################################################################
SSE_XML_Editor.name=SSE XML Editor
SSE_XML_Editor_NL_Support.name=SSE XML Editor NL Support
XML_Editor.name=XML Editor
###############################################################################
XMLTableTreeViewer.0=Design
XMLMultiPageEditorPart.0=Source
XMLTreeExtension.0=Structure
XMLTreeExtension.1=Value
XMLTreeExtension.3=The document is empty.
XMLTreeExtension.4=Right mouse click here to insert content.
XMLTableTreeActionBarContributor.0=&XML
XMLTableTreeActionBarContributor.1=&Expand All
XMLTableTreeActionBarContributor.2=&Collapse All
XMLTableTreeActionBarContributor.3=Turn Grammar Constraints Off
XMLTableTreeActionBarContributor.4=&Turn Grammar Constraints Off
XMLTableTreeActionBarContributor.5=Turn Grammar Constraints On
XMLTableTreeActionBarContributor.6=&Turn Grammar Constraints On
XMLTableTreeActionBarContributor.7=Reload Dependencies
XMLTableTreeActionBarContributor.8=&Reload Dependencies
###############################################################################
_UI_WIZARD_NEW_XML=XML
_UI_CREATE_NEW_XML_FILE=Create a new XML file.
genMenuLabel=&Generate
_UI_ACTION_CREATE_XML=&XML File...
XMLExample.name=Editing and validating XML files
XMLExampleProjectCreationWizard.name=XML Examples
XMLExampleProjectCreationWizard.description=Create a project containing XML sample files
XMLExampleProjectCreationWizard.projectname=XMLExamples
XMLExampleProjectCreationWizard.pagetitle=XML sample files for editing and validating
XMLExampleProjectCreationWizard.pagedescription=Create a project containing XML sample files.
XMLExampleProjectCreationWizard.label=&Project Name:
###############################################################################
All_XML_context_type_Extension_Element.name=All XML context type
XML_Tag_context_type_Extension_Element.name=XML Tag context type
XML_Attribute_context_type_Extension_Element.name=XML Attribute context type
XML_Attribute_value_context_type_Extension_Element.name=XML Attribute value context type
XML_Extension_Element.name=XML