###############################################################################
# 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
_UI_WIZARD_XML_CATEGORY=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
##
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 Editors
XML_hyperlink=Tags And Attributes
##
DesignMenu_name=&Design
ReloadDependencies_name=Reload Dependencies
ReloadDependencies_description=Reload Dependencies
ReloadDependencies_mnemonic=R
Constraints_name=Turn off Grammar Constraints
Constraints_description=Turn off grammar Constraints
Constraints_mnemonic=T
ExpandAll_name=Expand All
CollapseAll_name=Collapse All
ActionDefinition.nextSibling.name=Next Sibling
ActionDefinition.nextSibling.description=Go to Next Sibling
ActionDefinition.previousSibling.name=Previous Sibling
ActionDefinition.previousSibling.description=Go to Previous Sibling
ActionDefinition.gotoMatchingTag.name=Matching Tag
ActionDefinition.gotoMatchingTag.description=Go to Matching Tag
MatchingTagPreference.label=Matching Tags

scope.structured.text.editor.xml.name=Editing XML Source
scope.structured.text.editor.xml.description=Editing XML Source
scope.structured.text.editor.xml.navigation.name=XML Source Navigation
scope.structured.text.editor.xml.navigation.description=XML Source Navigation
scope.structured.text.editor.xml.cleanup.name=XML Source Cleanup
scope.structured.text.editor.xml.cleanup.description=XML Source Cleanup
scope.structured.text.editor.xml.comments.name=XML Source Comments
scope.structured.text.editor.xml.comments.description=XML Source Comments
scope.structured.text.editor.xml.selection.name=XML Source Selection
scope.structured.text.editor.xml.selection.description=XML Source Selection
scope.structured.text.editor.xml.dependencies.name=XML Source Dependencies
scope.structured.text.editor.xml.dependencies.description=XML Source Dependencies
scope.structured.text.editor.xml.grammar.name=XML Source Grammar
scope.structured.text.editor.xml.grammar.description=XML Source Grammar
scope.structured.text.editor.xml.expand.name=XML Source Expand/Collapse
scope.structured.text.editor.xml.expand.description=XML Source Expand/Collapse
scope.structured.text.editor.xml.occurrences.name=XML Source Occurrences
scope.structured.text.editor.xml.occurrences.description=XML Source Occurrences

Colors.tagAttributeName=Tag Attribute Name
Colors.tagAttributeValue=Tag Attribute Value
Colors.commentBorder=Comment Border
Colors.commentText=Comment Text
Colors.declBorder=Declaration Border
Colors.doctypeName=Doctype Name
Colors.doctypeExternalPubref=Doctype External Public Reference
Colors.doctypeExternalId=Doctype External Id
Colors.doctypeExtrenalSysref=Doctype External System Reference
Colors.tagBorder=Tag Border
Colors.tagName=Tag Name
Colors.piBorder=Processing Instruction Border
Colors.cdataBorder=CDATA Border
Colors.cdataText=CDATA Text
Colors.entityReference=Entity Reference

# Menu contributions
command.toggle.comment.mnemonic=T
command.add.block.comment.mnemonic=A
command.remove.block.comment.mnemonic=R