###############################################################################
# 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

!plugin.xml
providerName=Eclipse.org
pluginName=SSE DTD Source Editor
nlFeatureName=SSE DTD Source Editor NL Support
DTD_Source_Page_Editor.name=DTD Source Page Editor
_UI_WIZARD_NEW_DTD=DTD File
_UI_CREATE_NEW_DTD_FILE=Create a new DTD file
_UI_XML_TOOLS_PREFERENCE_PAGE=XML
_UI_DTD_EDITOR_PREFERENCE=DTD

! GenerateDTDActionDelegate - XML validation check
_UI_DIALOG_TITLE_XML_ERROR=Invalid XML
_UI_DIALOG_INFO_XML_INVALID=The XML file contains errors. Open it in the XML editor and validate it for details.

!
! Preference Page
!
_UI_SEPARATE_DESIGN_AND_SOURCE_VIEW=Separate design and source view
_UI_COMBINED_DESIGN_AND_SOURCE_VIEW=Combined design and source view
_UI_LABEL_EDITOR_LAYOUT=Editor Layout
_UI_LABEL_DTD_FILES=DTD Files
_UI_LABEL_DTD_STYLES=DTD Styles

!AddAttributeAction
_UI_DEFAULT_NEW_ATTRIBUTE=Attribute
_UI_ACTION_DTD_ADD_ATTRIBUTE=Add Attribute
_UI_ACTION_DTD_ADD_ELEMENT=Add Element

!actions/AddGroupToContentModelAction.java
_UI_ACTION_ADD_GROUP=Add &Group

!AddEntityAction
_UI_ACTION_ADD_ENTITY=Add &Entity


! Flat Page Header Text
_UI_PAGE_HEADING_ELEMENT=Element
_UI_PAGE_HEADING_ATTRIBUTE=Attribute
_UI_PAGE_HEADING_NOTATION=Notation
_UI_PAGE_HEADING_PARAM_ENTITY_REF=External Parameter Entity Reference
_UI_PAGE_HEADING_ENTITY=Entity
_UI_PAGE_HEADING_COMMENT=Comment
_UI_PAGE_HEADING_ATTLIST=Attribute List
_UI_PAGE_HEADING_CONTENT_MODEL=Content Model
_UI_PAGE_HEADING_CONTENT_MODEL_GROUP=Content Model Group

!BlankWindow
_UI_LABEL_VIEW_NOT_AVAILABLE=View is not available for selected object.

!AttributeWindow
_UI_ACTION_NOTATION_INFO=Attribute Information
_UI_LABEL_ATTRIBUTE_NAME=Name:
_UI_LABEL_ATTRIBUTE_TYPE=Type:
_UI_RADIO_DEFAULT=Default
_UI_GROUP_ENUMERATED_DEFAULTS=Enumerated defaults
_UI_BUTTON_ADD=Add  >>
_UI_BUTTON_REMOVE=<< Remove
_UI_CHKBOX_DEFAULT=Default
_UI_GROUP_ELEMENT_COMMENT=Comment
_UI_CHKBOX_ENUMERATED_DEFAULT=Default
_UI_CHKBOX_NOTATION_COMBO=Default
_UI_GROUP_ATTRIBUTE=Attribute default value

!ContentWindow  & ElementWindow
_UI_LABEL_DTD_NAME=Name
_UI_GROUP_OCCURRENCE=Occurrence

!the following four symbols are also used in dtdeditor/presentation/GroupContentWindow.java
!! NOTE TO TRANSLATOR: Please keep the characters in parentheses in translated text i.e. (1)
_UI_RADIO_JUST_ONCE=Just once (1)
_UI_RADIO_ONE_OR_MORE=One or more (+)
_UI_RADIO_OPTIONAL=Optional (?)
_UI_RADIO_ZERO_OR_MORE=Zero or more (*)

!context menu for .dtd files
_UI_MENU_GENERATE=&Generate
_UI_MENU_JAVA=&Java Beans...
_UI_MENU_XML_SCHEMA=XML &Schema...
_UI_MENU_HTML_FORM=&HTML Form...

!presentation/DTDContextContributor.java
_UI_MENU_GENERATE_JAVA=Generate &Java Beans...
_UI_MENU_GENERATE_XML_SCHEMA=Generate &XML Schema...
_UI_MENU_GENERATE_HTML_FORM=Generate &HTML Form...
_UI_MENU_GENERATE_SAMPLE_XML=Generate XM&L...
_UI_MENU_VALIDATE_DTD=&Validate DTD
_UI_TOOLTIP_VALIDATE_DTD=Validate the current state of the DTD
_UI_TOOLTIP_GENERATE_HTML=Generate an HTML form for the DTD
_UI_TOOLTIP_GENERATE_SAMPLE_XML=Generate an XML from the DTD
_UI_TOOLTIP_GENERATE_XML_SCHEMA=Generate an XML Schema from the DTD
_UI_TOOLTIP_GENERATE_JAVA=Generate Java Beans for the DTD

_UI_ACTION_DELETE=Delete
_UI_ACTION_CONTEXT_ADD_NOTATION=Add &Notation
_UI_TOOLTIP_ADD_NOTATION=Add a notation to the DTD.
_UI_ACTION_CONTEXT_ADD_ENTITY=Add &Entity
_UI_TOOLTIP_ADD_ENTITY=Add an entity to the DTD.
_UI_ACTION_CONTEXT_ADD_ELEMENT=Add Ele&ment
_UI_TOOLTIP_ADD_ELEMENT=Add an element to the DTD.
_UI_ACTION_CONTEXT_ADD_ATTRIBUTE=Add Attribute
_UI_TOOLTIP_ADD_ATTRIBUTE_SELECTED=Add an attribute to the selected element.
_UI_ACTION_ADD_ATTRIBUTELIST=Add Attribute &List
_UI_TOOLTIP_ADD_ATTRIBUTELIST_SELECTED=Add an attribute list to the selected element.
_UI_ACTION_ADD_GROUP_CONTENT=Add Group To Con&tent Model
_UI_TOOLTIP_ADD_GROUP=Add a group to the content model of the selected group or element.
_UI_ACTION_ADD_ELEMENT_CONTENT=Add Element To C&ontent Model
_UI_TOOLTIP_ADD_ELEMENT_CONTENT=Add an element to the content model.
_UI_MENU_DTD_EDITOR=&DTD
_UI_TOOLTIP_ADD_COMMENT=Add a comment to the DTD.

!presentation/DTDEditor.java
_UI_WORKBOOKPAGE_SOURCE=Source
_UI_WORKBOOKPAGE_DESIGN=Design

!the following is used: _UI_MENU_UNDO_1 + _UI_MENU_UNDO_2
_UI_MENU_UNDO_1=&Undo
!! NOTE TO TRANSLATOR: Do not translate following line - shortcut key
_UI_MENU_UNDO_2=@Ctrl+Z

!the following is used: _UI_MENU_UNDO_DESC + a description of the command to be undone
_UI_MENU_UNDO_DESC=Undo:

!the following is used: _UI_MENU_REDO_1 + _UI_MENU_REDO_2
_UI_MENU_REDO_1=&Redo
!! NOTE TO TRANSLATOR: Do not translate following line - shortcut key
_UI_MENU_REDO_2=@Ctrl+Y

!the following is used: _UI_MENU_REDO_DESC + a description of the command to be done again
_UI_MENU_REDO_DESC=Redo:

!presentation/ElementWindow
_UI_ELEMENT_NAME=Name
_UI_ELEMENT_COMMENT=Comment

!DTDOutliner
_UI_ACTION_ADD_DTD_NOTATION=Add &Notation
_UI_ACTION_ADD_DTD_ENTITY=Add &Entity
_UI_ACTION_ADD_DTD_ELEMENT=Add Ele&ment
_UI_ACTION_ADD_DTD_COMMENT=Add &Comment
_UI_ACTION_DTD_DELETE=&Delete
_UI_ACTION_ADD_ATTRIBUTE=Add &Attribute
_UI_ACTION_GROUP_ADD_GROUP=Add Group to Con&tent Model
_UI_ACTION_ADD_ELEMENT=Add Element to C&ontent Model

!DTDContentOutlinePage
_UI_BUTTON_GROUP_ITEMS_LOGICALLY=Group items logically.
_UI_BUTTON_UNGROUP_ITEMS_LOGICALLY=Do not group items logically.
_UI_BUTTON_SORT_ITEMS=Sort items alphabetically.
_UI_BUTTON_UNSORT_ITEMS=Do not sort items alphabetically.

!provider/EntityItemProvider.java
_UI_COLUMN_PARAMETER=Parameter
_UI_COLUMN_GENERAL=General

!provider/FolderItemProvider.java
_UI_LABEL_ELEMENTS_FOLDER=Elements
_UI_LABEL_NOTATIONS_FOLDER=Notations
_UI_LABEL_ENITIES_FOLDER=Entities

!Wizards/InputSelectionPage.java
_UI_BUTTON_SELECT_ALL=&Select All
_UI_BUTTON_UNSELECT_ALL=&Clear All

!Wizards/HTMLFormWizard.java
_UI_HTML_WIZARD_NEW_FILE_TITLE=Generate HTML Form
_UI_HTML_WIZARD_NEW_FILE_DESC=Generate an HTML form from the selected DTD file.

!Wizards/NewDTDWizard.java
_UI_WIZARD_NEW_DTD_TITLE=Create DTD
_UI_WIZARD_CREATE_DTD_HEADING=Create DTD File
_UI_WIZARD_CREATE_DTD_EXPL=Select how you would like to create your DTD file.
_UI_RADIO_CREATE_DTD=Create DTD file from scratch
_UI_RADIO_CREATE_DTD_FROM_XML=Create DTD file from an XML file

_UI_WIZARD_NEW_DTD_HEADING=New DTD
_UI_WIZARD_NEW_DTD_EXPL=Create a new DTD file. Specify the folder and name for the file.

_UI_WIZARD_NEW_XSD_HEADING=New XML Schema
_UI_WIZARD_NEW_XSD_EXPL=Create a new XML Schema file from the XML file.

_UI_WIZARD_XML_FILE_HEADING=XML Files
_UI_WIZARD_XML_FILE_EXPL=Select the XML files to create the DTD file from.
_UI_LABEL_XML_FILES=XML Files:

_UI_STATUS_XML_CONTAINS_ERRORS=XML files specified contained errors.
_UI_BUTTON_ADD_XML=Add...
_UI_BUTTON_REMOVE_XML=Remove

!wizards/ServletNamePage
_UI_WIZARD_SERVLET_NAME_HEADING=Servlet Name
_UI_LABEL_SERVLET_NAME=&Enter the servlet name:
_UI_LABEL_MISSING_SERVLET_NAME=Provide a servlet name
_UI_LABEL_DEFAULT_SERVLET_NAME=http://localhost/servlet/testServlet

!wizards/GenerateXMLSchemaHelper.java & DTD2XSDWizard.java
_UI_WIZARD_DTD2XSD_TITLE=Generate
_UI_GENERATE_XSD_TITLE=Generate XML Schema
_UI_GENERATE_XSD_DESCRIPTION=Generate an XML schema from the selected DTD file.
_UI_PAGE_GEN_OPTIONS_TITLE=XML Schema Generation Options
_UI_PAGE_GEN_OPTIONS_DESC=Select how you want your XML schema generated
_UI_GENERATE_XSD_LONG_DESC=You can create one XML schema file that includes the selected DTD and any of the DTDs it references.  Alternatively, you can create individual schema files that correspond to the selected DTD and any of the DTDs it references.


_UI_GROUP_OPTIONS=Options
_UI_BUTTON_GEN_ONE_SCHEMA=&Create one XML schema that includes all the DTD files
_UI_BUTTON_GEN_MULTI_SCHEMAS=Create an &XML schema for each DTD file

!EntityWindow
_UI_GROUP_ENTITY_INFORMATION=Entity information
_UI_LABEL_NAME=Name:
_UI_LABLE_TYPE=Type:
_UI_RADIO_GENERAL=General
_UI_RADIO_PARAMETER=Parameter
_UI_CHKBOX_EXTERNAL=External
_UI_GROUP_INTERNAL=Internal Entity
_UI_DIALOG_SELECT_DTD=Select System ID File
_UI_DIALOG_SELECT_DTD_DESC=Please select a resource to be used for the System ID.
_UI_GROUP_INTERNAL_ENTITY=Internal entity
_UI_LABEL_VALUE_INTERNAL=Value:
_UI_GROUP_EXTERNAL_ENTITY=External entity
_UI_LABEL_VALUE=Value
_UI_GROUP_COMMENT=Comment
_UI_LABEL_SYSTEM_ID=System ID:
_UI_BUTTON_SELECT=Select...
_UI_LABEL_PUBLIC_ID=Public ID:
_UI_LABEL_NOTATION_NAME=Notation name
_UI_LABEL_UNPARSE_ENTITY=(Unparsed entity)
_UI_TOOLTIP_GENERAL=Use entity in XML documents.
_UI_TOOLTIP_PARAMETER=Use entity in a DTD.
_UI_TOOLTIP_EXTERNAL=Refer to an external DTD.
_UI_LABEL_BROWSE=Browse...

!presentation/NotationsTable.java
_UI_COLUMN_NOTATION_NAME=Notation Name
_UI_COLUMN_DECLARATION=Declaration

!GroupContentWindow
_UI_GROUP_MODEL_GROUP=Model group
_UI_GROUP_CONNECTOR=Connector
_UI_GROUP_MODEL_GROUP_OCCURRENCE=Occurrence
_UI_RADIO_SEQUENCE=Sequence (,)
_UI_RADIO_CHOICE=Choice (|)
_UI_LABEL_CONTENT_MODEL_TYPE=Content model type:

!EntitiesTable
_UI_COLUMN_ENTITY_NAME=Entity Name
_UI_COLUMN_TYPE=Type
_UI_COLUMN_DECLARATION=Declaration

!AddNotationAction
_UI_DEFAULT_NOTATION=Notation
_UI_ACTION_ADD_NOTATION=Add &Notation

!ElementsTable
_UI_COLUMN_ELEMENT_NAME=Element Name
_UI_COLUMN_CONTENT_MODEL=Content Model
_UI_COLUMN_ATTRIBUTES=Attributes

!ValidateDTDAction
_UI_MSGBOX_DTD_VALID_TITLE=Validation Successful
_UI_MSGBOX_DTD_VALID_TEXT=The DTD file is valid.

!NotationWindow
_UI_LABEL_NOTATION_INFORMATION=Notation information
_UI_LABEL_NOTATION_NAME=Name:
_UI_LABEL_NOTATION_SYSTEM_ID=System ID:
_UI_LABEL_NOTATION_PUBLIC_ID=Public ID:
_UI_LABEL_NOTATION_COMMENT=Comment

!ParameterEntityReferenceWindow
_UI_GROUP_EXTERNAL_PARM_ENTITY_REF=External parameter entity reference
_UI_LABEL_ENTITY_NAME=Entity name:
_UI_LABEL_REFERENCED_FILE=Referenced file:

!InputSelectionPage (HTMLFormWizard)
_UI_INPUT_SEL_PAGE_TITLE=Form Input Selection
_UI_INPUT_SEL_PAGE_DESC=Select the form input fields to be generated

!HTMLFormWizard (HTMLFormWizard)
_UI_HTML_WIZARD_TITLE=HTML Form Creation Wizard

! ParameterEntityReferenceWindow
_UI_BUTTON_DETAILS=Details...

!DTDContextContributer
_UI_ACTION_ADD_PARAM_ENTITY_REF=Add &Parameter Entity Reference

!DragAttributeCommand
_UI_MOVE_ATTRIBUTE=Move Attribute

!DragContentModelCommand
_UI_MOVE_CONTENT=Move Content

!DragTopLevelNodesCommand
_UI_MOVE_NODE=Move Node
_UI_MOVE_NODES=Move Nodes

!DTDValidator
_UI_DTD_VALIDATOR=DTD Validator

_ERROR_MIN_ONE_XML_FILE=At least one XML File must be added
_ERROR_MIN_ONE_XML_FILE_FOR_OP=At least one XML file is required to perform the operation.
_ERROR_NO_FILENAME=Enter a file name
_ERROR_FILE_DOES_NOT_EXIST=File does not exist
_ERROR_FILENAME_INVALID=Invalid file name
_ERROR_FILENAME_MUST_END_DTD=The file name must end in .dtd
_ERROR_TITLE_GENERATE_DTD_FAILED=Generate DTD failed
_ERROR_MSG_GENERATE_DTD_FAILED=Errors were encountered while generating the DTD.

_ERROR_INVALID_NAME_SPACE=Name field cannot contain a space
_ERROR_VALIDATE_FAILED=Validation failed
_ERROR_DTD_INVALID=The DTD file is invalid.  Please check the Tasks view for more details.
_ERROR_LIMITE_EXCEEDED=The DTD file is not valid.  The message limit for the Tasks view has been exceeded.  Please increase the limit and try again.

_ERROR_TITLE_GENERATE_JAVABEAN_FAILED=Generate Java Beans failed
_ERROR_MSG_GENERATE_JAVABEAN_FAILED=Errors were encountered while generating the Java Beans.
DTDColorPage.0=<\!ELEMENT Main (One,Two+)>\r\n<\!ELEMENT One (Three,Four)>\r\n<\!ATTLIST One\r\n oneone CDATA \#REQUIRED\r\n>\r\n<\!-- You need this -->\r\n<\!ELEMENT Two (moremore*)>\r\n<\!ATTLIST Two\r\n twotwo CDATA \#REQUIRED\r\n twothree (aaa | bbb) "aaa"\r\n>\r\n
DTDColorPage.1=Comments
DTDColorPage.2=Data
DTDColorPage.3=Default
DTDColorPage.4=Keywords
DTDColorPage.5=Strings
DTDColorPage.6=Symbols
DTDColorPage.7=Tag Delimiters
DTDColorPage.8=Tag Names
DTDPropertySourceAdapter.0=Name
DTDPropertySourceAdapter.1=Contents
DTDPropertySourceAdapter.2=Attributes
