###############################################################################
# Copyright (c) 2001, 2009 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
###############################################################################

UI_LABEL_BASE_TYPE = Base Type:
UI_LABEL_DERIVED_BY = Derived By:

UI_LABEL_INHERIT_FROM = Inherit From:
UI_LABEL_INHERIT_BY = Inherit By:

UI_LABEL_DOCUMENTATION = Documentation
UI_LABEL_APP_INFO = App Info

UI_LABEL_SET_TYPE = Set Type
UI_LABEL_TYPE = Type:

UI_LABEL_NAME = Name:

UI_LABEL_KIND = Kind:

UI_LABEL_MINOCCURS = Minimum Occurrence:
UI_LABEL_MAXOCCURS = Maximum Occurrence:

UI_PAGE_HEADING_REFERENCE = Reference
UI_LABEL_READ_ONLY = read-only

UI_NO_TYPE = No Type

UI_LABEL_COMPONENTS				= Components:

! Additional Categories
_UI_GRAPH_TYPES                = Types
_UI_GRAPH_ELEMENTS             = Elements
_UI_GRAPH_ATTRIBUTES           = Attributes
_UI_GRAPH_ATTRIBUTE_GROUPS     = Attribute Groups
_UI_GRAPH_NOTATIONS            = Notations
_UI_GRAPH_IDENTITY_CONSTRAINTS = Identity Constraints
_UI_GRAPH_ANNOTATIONS          = Annotations
_UI_GRAPH_DIRECTIVES           = Directives
_UI_GRAPH_GROUPS               = Groups
_UI_GRAPH_REDEFINE_SCHEMA      = Redefine Schema
_UI_GRAPH_REDEFINE_TYPES       = Types
_UI_GRAPH_REDEFINE_ATTRIBUTE_GROUPS  = Attribute Groups
_UI_GRAPH_REDEFINE_GROUPS      = Groups

_UI_LABEL_NO_LOCATION_SPECIFIED  = No Location Specified
_UI_ACTION_SET_MULTIPLICITY		 = Set Multiplicity
_UI_LABEL_ABSENT               = absent
_UI_GRAPH_UNKNOWN_OBJECT       = Unknown object
_UI_GRAPH_XSDSCHEMA_NO_NAMESPACE = (no target namespace specified)
_UI_GRAPH_XSDSCHEMA            = Schema
_UI_MENU_XSD_EDITOR                 = &XSD
_UI_LABEL_SET_TYPE				    = Set Type

!
! Preference Page
!
_UI_TEXT_INDENT_LABEL                 = Indentation
_UI_TEXT_INDENT_SPACES_LABEL          = &Number of spaces: 
_UI_TEXT_XSD_NAMESPACE_PREFIX         = Creating files
_UI_XML_TEXT_EDITOR_PREFS_LINK		  = XML Schema editing preferences. Note that some preferences may be set on the XML <a>{0}</a> preference page.
_UI_XML_VALIDATOR_PREFS_LINK		  = Note that some preferences may be set on the XML <a>{0}</a> preference page.
_UI_TEXT_XSD_DEFAULT_PREFIX           = XML schema language constructs &prefix:
_UI_QUALIFY_XSD                       = &Qualify XML schema language constructs
_UI_TEXT_XSD_DEFAULT_TARGET_NAMESPACE = Default &target namespace:
_UI_VALIDATING_FILES                  = Validating files
_UI_TEXT_HONOUR_ALL_SCHEMA_LOCATIONS  = Honour all schema locations
_UI_FULL_CONFORMANCE                  = &Check full XML Schema conformance
_UI_TEXT_ENABLE_AUTO_IMPORT_CLEANUP   = &Automatically remove unused XSD imports and XML Namespace entries
_UI_TEXT_ENABLE_AUTO_OPEN_SCHEMA_DIALOG = &Prompt for schema location when adding a directive

_ERROR_LABEL_INVALID_PREFIX     = IWAX1004E Invalid prefix. A prefix must not be empty or contain any space.

_UI_NO_TYPE_DEFINED=(no type defined)
_UI_ACTION_UPDATE_NAME=Update Name
_UI_ACTION_UPDATE_ELEMENT_REFERENCE=Update Element reference
_UI_ACTION_UPDATE_ATTRIBUTE_REFERENCE=Update Attribute reference
_UI_ACTION_ADD_FIELD=Add Field
_UI_ACTION_ADD_ELEMENT=Add Element
_UI_ACTION_INSERT_ELEMENT=Insert Element
_UI_ACTION_BEFORE=&Before
_UI_ACTION_AFTER=&After
_UI_ACTION_ADD_INCLUDE=Add Include
_UI_ACTION_ADD_IMPORT=Add Import
_UI_ACTION_ADD_REDEFINE=Add Redefine
_UI_ACTION_ADD_ELEMENT_REF=Add Element Ref
_UI_ACTION_ADD_COMPLEX_TYPE=Add Complex Type
_UI_ACTION_ADD_SIMPLE_TYPE=Add Simple Type
_UI_ACTION_SET_TYPE=Set Type
_UI_ACTION_ADD_ATTRIBUTE=Add Attribute
_UI_ACTION_INSERT_ATTRIBUTE=Insert Attribute
_UI_ACTION_ADD_ATTRIBUTE_REF=Add Attribute Ref
_UI_ACTION_NEW=New...
_UI_ACTION_BROWSE=Browse...
_UI_ACTION_DRAG_DROP_ELEMENT=Reorder Elements
_UI_ACTION_DRAG_DROP_ATTRIBUTE=Reorder Attributes
_UI_ACTION_REDEFINE_COMPLEX_TYPE=Redefine Complex Type
_UI_ACTION_REDEFINE_SIMPLE_TYPE=Redefine Simple Type
_UI_ACTION_REDEFINE_ATTRIBUTE_GROUP=Redefine Attribute Group
_UI_ACTION_REDEFINE_MODEL_GROUP=Redefine Model Group

_UI_LABEL_OPTIONAL=Optional
_UI_LABEL_ZERO_OR_MORE=Zero or more
_UI_LABEL_ONE_OR_MORE=One or more
_UI_LABEL_LOCAL_TYPE=local type
_UI_LABEL_REQUIRED=Required
_UI_LABEL_ARRAY=array

_UI_LABEL_SET_COMMON_BUILT_IN_TYPES=Set common Built-In types
_UI_LABEL_SELECT_TYPES_FILTER_OUT=Select the types that you do not want to filter out: 
_UI_LABEL_NAME_SEARCH_FILTER_TEXT=Name (? = any character, * = any string):
_UI_LABEL_SET_ELEMENT_REFERENCE=Set element reference
_UI_LABEL_SET_ATTRIBUTE_REFERENCE=Set attribute reference
_UI_LABEL_REDEFINE_COMPONENT=Redefine component

_UI_LABEL_NEW_TYPE=New Type
_UI_VALUE_NEW_TYPE={0}Type
_UI_LABEL_NEW_ELEMENT=New Element
_UI_LABEL_NEW_ATTRIBUTE=New Attribute
_UI_LABEL_COMPLEX_TYPE=Complex Type
_UI_LABEL_TARGET_NAMESPACE=Target Namespace: 
_UI_LABEL_NO_NAMESPACE=No Namespace
_UI_LABEL_ELEMENTS_COLON=Elements:
_UI_LABEL_ATTRIBUTES_COLON=Attributes:
_UI_LABEL_SIMPLE_TYPE=Simple Type
_UI_LABEL_TYPES_COLON=Types:

_UI_LABEL_SOURCE=Source

_UI_LABEL_ELEMENTFORMDEFAULT=Prefix qualification of local elements:
_UI_LABEL_ATTRIBUTEFORMDEFAULT=Prefix qualification of attributes:
_UI_LABEL_CREATE_ANON_TYPE=Create as local anonymous type

_UI_LABEL_ATTRIBUTES_PROCESSCONTENTS=Process Contents:
_UI_LABEL_ATTRIBUTES_NAMESPACE=Namespace:

_UI_IMAGE_COMPLEX_TYPE=icons/XSDComplexType.gif
_UI_IMAGE_SIMPLE_TYPE=icons/XSDSimpleType.gif
_UI_IMAGE_MODEL_GROUP=icons/XSDGroup.gif
_UI_IMAGE_ATTRIBUTE_GROUP=icons/XSDAttributeGroup.gif
