###############################################################################
# Copyright (c) 2001, 2010 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 Web Tools Platform
pluginName=Eclipse XML Editors and Tools
XML.name=XML
XML_Files.name=XML Files
XML_Source.name=Editor
XML_Content_Assist.name=Content Assist
XML_Validator.name=Validation
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 File
XML_New_File.tooltip=New XML File
_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_PREF_CATALOG_FILES=XML Catalog 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.contentassist=xml editor content code assist complete completion insert overwrite single proposal common prefix automatically import fill argument name guess alphabetical hide auto activation trigger category categories separate specific
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

# content assist
proposalCategory.xmlTags=XML Tag Proposals
proposalCategory.xmlTemplates=XML Template Proposals

#XML Content Model
contentModel.view.name=Content Model
contentModel.view.synch.tooltip=Link with Editor
contentModel.command.synch.name=Synch

# XML Documentation view
xmlannotations=Documentation
