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

providerName=Eclipse.org
pluginName=SSE DTD Source Editor

DTD_Source_Page_Editor.name=DTD Editor
_UI_LABEL_DTD_FILES=DTD Files
DTD_Templates.name=DTD Templates
_UI_LABEL_DTD_STYLES=DTD Styles
_UI_WIZARD_NEW_DTD=DTD File
_UI_CREATE_NEW_DTD_FILE=Create a new DTD file
##
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
_UI_XML_DTD_VALIDATOR                = DTD Validator

DTD_New_context_type_Extension_Element.name=New DTD
_UI_LABEL_GENERAL=General
_UI_LABEL_OTHER=Other
_UI_LABEL_ATTRIBUTES=Attributes
_UI_LABEL_DOCUMENTATION=Documentation
