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

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 = Ma&ximum 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=I&nsert Element
_UI_ACTION_BEFORE=&Before
_UI_ACTION_AFTER=&After
_UI_ACTION_ADD_INCLUDE=Add In&clude
_UI_ACTION_ADD_IMPORT=Add I&mport
_UI_ACTION_ADD_REDEFINE=Add &Redefine
_UI_ACTION_ADD_ELEMENT_REF=Add E&lement 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=I&nsert 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_ACTION_RENAME=Rename

_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

_UI_COMBO_NEW=New...
_UI_COMBO_BROWSE=Browse...

_UI_ERROR_INVALID_NAME=Invalid name