###############################################################################
# Copyright (c) 2005, 2006 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
###############################################################################
! Properties file for component: XML tools DTD Editor
! Packaged for translation in:  xml.zip

! org.eclipse.wst.dtd.ui.internal.properties.section.OccurrenceSection.java
_UI_ONCE             = Just once (1)
_UI_ONE_OR_MORE      = One or more (+)
_UI_OPTIONAL         = Optional (?)
_UI_ZERO_OR_MORE     = Zero or more (*)
_UI_LABEL_OCCURRENCE = Occurrence

! org.eclipse.wst.dtd.ui.internal.properties.section.AttributeDefaultSection.java
_UI_DEFAULT             = Default
_UI_LABEL_USAGE         = Usage
_UI_LABEL_DEFAULT_VALUE = Default Value

! org.eclipse.wst.dtd.ui.internal.properties.section.ContentModelGroupSection.java
_UI_SEQUENCE          = Sequence (,)
_UI_CHOICE            = Choice (|)
_UI_LABEL_MODEL_GROUP = Model Group

! org.eclipse.wst.dtd.ui.internal.properties.section.ContentModelNameSection.java
_UI_LABEL_CONTENT_MODEL = Content Model

! org.eclipse.wst.dtd.ui.internal.properties.section.ContentModelTypeSection.java
_UI_LABEL_CONTENT_TYPE = Content Type

! org.eclipse.wst.dtd.ui.internal.properties.section.NameSection.java
_UI_LABEL_NAME = Name

! org.eclipse.wst.dtd.ui.internal.properties.section.TypeSection.java
_UI_LABEL_TYPE = Type

! org.eclipse.wst.dtd.ui.internal.properties.section.EntityTypeSection.java
_UI_LABEL_ENTITY_TYPE      = Entity Type
_UI_LABEL_EXTERNAL_ENTITY  = External
_UI_LABEL_PARAMETER_ENTITY = Parameter
_UI_LABEL_GENERAL_ENTITY   = General

! org.eclipse.wst.dtd.ui.internal.properties.section.EntityValueSection.java
_UI_LABEL_ENTITY_VALUE = Entity Value
_UI_LABEL_PUBLIC_ID    = Public ID
_UI_LABEL_SYSTEM_ID    = System ID

! org.eclipse.wst.dtd.ui.internal.properties.section.DTDSectionLabelProvider
_UI_PROPERTIES_VIEW_TITLE_ELEMENT     = element
_UI_PROPERTIES_VIEW_TITLE_ELEMENT_REF = element reference
_UI_PROPERTIES_VIEW_TITLE_CHOICE      = choice
_UI_PROPERTIES_VIEW_TITLE_SEQUENCE    = sequence
_UI_PROPERTIES_VIEW_TITLE_ATTRIBUTE   = attribute
_UI_PROPERTIES_VIEW_TITLE_ATTLIST     = attribute list
_UI_PROPERTIES_VIEW_TITLE_COMMENT     = comment
_UI_PROPERTIES_VIEW_TITLE_ENTITY      = entity
_UI_PROPERTIES_VIEW_TITLE_NOTATION    = notation

! org.eclipse.wst.dtd.ui.internal.properties.section.NewEntitySection
_UI_FILEDIALOG_SELECT_DTD = Select DTD file
_UI_FILEDIALOG_SELECT_DTD_DESC   = Select a DTD file from the Workbench projects

! New property tabs
_UI_LABEL_GENERAL       = General
_UI_LABEL_OTHER         = Other
_UI_LABEL_ATTRIBUTES    = Attributes
_UI_LABEL_DOCUMENTATION = Documentation
! end
DTDEditor_0=general
DTDEditor_1=other
DTDEditor_2=attributes
DTDEditor_3=documentation
DTDSectionLabelProvider_0=choice
DTDSectionLabelProvider_1=sequence
DTDSectionLabelProvider_6=element
DTDSectionLabelProvider_7=attribute
DTDSectionLabelProvider_8=attribute list
DTDSectionLabelProvider_9=comment
DTDSectionLabelProvider_10=entity
DTDSectionLabelProvider_11=notation
