###############################################################################
# Copyright (c) 2001, 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 Corporation - initial API and implementation
#     Jens Lukowski/Innoopract - initial renaming/restructuring
#     David Carver / STAR Standards - added XML Catalog Import/Export Wizard
#                                     bug 192568
#     David Carver / STAR Standards - bug 212330 - migrate to org.eclipse.ui.menus 	
###############################################################################
providerName=Eclipse.org
pluginName=XML UI Plugin
XML.name=XML
XML_Files.name=XML Files
XML_Source.name=Editor
XML_Templates.name=Templates
XML_Styles.name=Styles
XML_Syntax_Coloring=Syntax Coloring
XML_Typing=Typing
XML_Editor.name=XML Editor
###############################################################################
_UI_WIZARD_NEW_XML=XML
genMenuLabel=&Generate
_UI_ACTION_CREATE_XML=&XML File...
_UI_CREATE_NEW_XML_FILE=Create a new XML file
_UI_WIZARD_IMPORT_EXPORT_XMLCATALOG=XML Catalog
_UI_IMPORT_XML_CATALOG_FILE=Import an existing XML Catalog.
_UI_EXPORT_XML_CATALOG_FILE=Export an XML Catalog.
XMLExample.name=Editing and validating XML files
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
XML_New_context_type_Extension_Element.name=New XML
XML_Tag_context_type_Extension_Element.name=XML Tag
XML_Attribute_context_type_Extension_Element.name=XML Attribute
XML_Attribute_value_context_type_Extension_Element.name=XML Attribute value
###############################################################################
AddTask.label=Add &Task...
AddTask.tooltip=Add Task...
AddBookmark.label=Add Boo&kmark...
AddBookmark.tooltip=Add Bookmark...
SelectRuler.label=Select Ruler
###############################################################################
XML_Catalog_File_Type_Extension_Point.name=XML Catalog file type extension point
_UI_PREF_XML_CATALOG=XML Catalog
_UI_PREF_DTD_FILES=DTD Files
_UI_PREF_XSD_FILES=XSD Files
_UI_PREF_TAGLIB_DEF_FILES=Taglib Definition Files
###############################################################################
_UI_XML_VALIDATOR                   = XML Validator
_UI_REF_FILE_SHOW_DETAILS           = Show Details...
_UI_MENU_VALIDATE_XML               = Validate XML File
##
CleanupDocument_label=Cleanup Document...
CleanupDocument_tooltip=Cleanup Document
ToggleComment_label=Toggle Comment
ToggleComment_tooltip=Toggle Comment
AddBlockComment_label=Add Block Comment
AddBlockComment_tooltip=Add Block Comment
RemoveBlockComment_label=Remove Block Comment
RemoveBlockComment_tooltip=Remove Block Comment
FindOccurrences_label=Occurrences in File
StructureSelectEnclosing_label=Enclosing Element
StructureSelectEnclosing_tooltip=Expand selection to include enclosing element
StructureSelectNext_label=Next Element
StructureSelectNext_tooltip=Expand selection to include next sibling
StructureSelectPrevious_label=Previous Element
StructureSelectPrevious_tooltip=Expand selection to include previous sibling
StructureSelectHistory_label=Restore Last Selection
StructureSelectHistory_tooltip=Restore last selection
SmartInsert_label=Sma&rt Insert Mode
##
preferenceKeywords.files=editor xml creating saving files suffix specified encoding iana
preferenceKeywords.source=editor xml source formatting line width split multiple attributes new clear blank indent tabs spaces size content assist automatically suggestions prompt characters inserted strategy lax strict grammar constraints inferred absence dtd schema
preferenceKeywords.templates=editor xml templates snippet macros
preferenceKeywords.styles=editor xml style customize syntax highlighting type text content foreground background bold color
preferenceKeywords.xmlcatalog=xml catalog entries
preferenceKeywords.severities=xml grammar errors warnings ignore options severity severities suppress project specific projectspecific

##
XML_Source_target_name=XML Source
XML_hyperlink=Tags And Attributes
##
DesignMenu_name=&Design
Format_mnemonic=F
FormatElements_mnemonic=i
ReloadDependencies_name=&Reload Dependencies
ReloadDependencies_description=Reload Dependencies
Constraints_name=&Turn off Grammar Constraints
Constraints_description=Turn off grammar Constraints
ExpandAll_name=Expand All
CollapseAll_name=Collapse All
ActionDefinition.nextSibling.name=Go to Next Sibling
ActionDefinition.nextSibling.description=Go to Next Sibling
ActionDefinition.previousSibling.name=Go to Previous Sibling
ActionDefinition.previousSibling.description=Go to Previous Sibling
ActionDefinition.gotoMatchingTag.name=Go to Matching Tag
ActionDefinition.gotoMatchingTag.description=Go to Matching Tag
MatchingTagPreference.label=Matching Tags