###############################################################################
# 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
#     
###############################################################################
! Properties file for component: XMDTD - XML Tools DTD Editor
! Packaged for translation in:  xml.zip

providerName=Eclipse Web Tools Platform
pluginName=SSE DTD Source Editor

DTD_Source_Page_Editor.name=DTD Editor
_UI_LABEL_DTD_FILES=DTD Files
DTD_Templates.name=Templates
_UI_LABEL_DTD_STYLES=Styles
DTD_Syntax_Coloring=Syntax Coloring
_UI_WIZARD_NEW_DTD=DTD File
_UI_CREATE_NEW_DTD_FILE=Create a new DTD 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
##
AddTask.label=Add &Task...
AddTask.tooltip=Add Task...
AddBookmark.label=Add Boo&kmark...
AddBookmark.tooltip=Add Bookmark...
SelectRuler.label=Select Ruler
##
_UI_MENU_VALIDATE_DTD               = &Validate DTD File

DTD_New_context_type_Extension_Element.name=New DTD
DTD_New_File.tooltip=New DTD File
_UI_LABEL_GENERAL=General
_UI_LABEL_OTHER=Other
_UI_LABEL_ATTRIBUTES=Attributes
_UI_LABEL_DOCUMENTATION=Documentation
##
preferenceKeywords.files=editor dtd creating files suffix specified
preferenceKeywords.templates=editor dtd templates snippet macros
preferenceKeywords.styles=editor dtd style customize syntax highlighting type text content foreground background bold color

Colors.dtdDefault=DTD Default
Colors.dtdTag=DTD Tag
Colors.dtdTagName=DTD Tag Name
Colors.dtdComment=DTD Comment
Colors.dtdKeyword=DTD Keyword
Colors.dtdString=DTD String
Colors.dtdData=DTD Data
Colors.dtdSymbol=DTD Symbol
Editor.name=Editor
