###############################################################################
# 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_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         = XML schema language
_UI_STRUCTURED_TEXT_EDITOR_PREFS_LINK = Note that some preferences may be set on the <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 = Automatically 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_ADD_ELEMENT_BEFORE=Add Element Before
_UI_ACTION_ADD_ELEMENT_AFTER=Add Element After
_UI_ACTION_ADD_ENUMERATION_BEFORE=Add Enumeration &Before
_UI_ACTION_ADD_ENUMERATION_AFTER=Add Enumeration &After
_UI_ACTION_ADD=&Add
_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_ADD_ATTRIBUTE_BEFORE=Add Attribute Before
_UI_ACTION_ADD_ATTRIBUTE_AFTER=Add Attribute After
_UI_ACTION_ADD_ATTRIBUTE_REF=Add Attribute Ref
_UI_ACTION_NEW=New...
_UI_ACTION_BROWSE=Browse...

_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_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:
