###############################################################################
# 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
###############################################################################
!
! Plugin
!
_UI_PLUGIN_NAME             = WSDL Editor
_UI_EDITOR_NAME             = WSDL Editor
_UI_WSDL_LABEL              = WSDL Files


_UI_HIDE_BINDINGS           = Hide Bindings
_UI_BACK_TO                 = Back to {0}
_UI_BACK                    = Back to Previous View

! New property tabs
_UI_LABEL_GENERAL       = General
_UI_LABEL_OTHER         = Other
_UI_LABEL_ATTRIBUTES    = Attributes
_UI_LABEL_DOCUMENTATION = Documentation
_UI_LABEL_FACETS        = Facets
_UI_LABEL_ENUMERATIONS  = Enumerations
_UI_LABEL_NAMESPACE     = Namespace

! Section title for other attributes
_UI_SECTION_ADVANCED_ATTRIBUTES   = Advanced

!
! Workbook Pages
!
_UI_TAB_SOURCE = Source
_UI_TAB_GRAPH  = Graph

_UI_ADD_EXTENSIBILITY_ELEMENT    = Add Extensibility Element
_UI_CREATE_WSDL_DOCUMENTATION    = Create WSDL Documentation
_UI_FOLDER_NOT_CREATED           = Folder not created
_UI_CREATING_DOCUMENTATION       = Creating Documentation
_UI_LABEL_CREATE_FOLDER_FOR_DOCS = Create a new folder for the html documentation files
_UI_LABEL_CREATING_HTML_FILES    = Creating HTML files
_UI_LABEL_NEW_FOLDER             = New folder

_UI_ACTION_ADD             = Add
_UI_ACTION_COPY            = Copy
_UI_ACTION_PASTE           = Paste
_UI_ACTION_DELETE          = Delete
_UI_ACTION_MULTIPLE_DELETE = Multiple Delete
_UI_ACTION_RENAME          = Rename

_UI_LABEL_BINDING_WIZARD = Binding Wizard
_UI_ACTION_GENERATE_HTML_DOCUMENTATION = Generate HTML Documentation for this WSDL document
_UI_ACTION_VALIDATE_WSDL_DOCUMENT = Validate WSDL Document

_UI_ACTION_ADD_CHILD        = Add Child
_UI_ACTION_SET_BINDING      = Set Binding
_UI_ACTION_SET_PORTTYPE     = Set PortType
_UI_ACTION_SET_MESSAGE      = Set Message
_UI_ACTION_SET_ELEMENT      = Set Element
_UI_ACTION_SET_TYPE         = Set Type
_UI_LABEL_BINDING_OPERATION = Binding Operation
_UI_ACTION_NEW_MESSAGE      = New Message...
_UI_ACTION_NEW_SERVICE      = New Service
_UI_ACTION_NEW_PORTTYPE     = New PortType...
_UI_ACTION_NEW_BINDING      = New Binding...
_UI_ACTION_NEW_PORT         = New Port
_UI_ACTION_NEW_OPERATION    = New Operation
_UI_ACTION_NEW_FAULT        = New Fault
_UI_ACTION_NEW_PART         = New Part
_UI_ACTION_NEW_ELEMENT      = New Element...
_UI_ACTION_NEW_COMPLEX_TYPE = New Complex Type...
_UI_ACTION_NEW_SIMPLE_TYPE  = New Simple Type...

_UI_LABEL_NEW_BINDING      = New Binding
_UI_LABEL_NEW_PORTTYPE     = New PortType
_UI_LABEL_NEW_MESSAGE      = New Message
_UI_LABEL_NEW_ELEMENT      = New Element
_UI_LABEL_NEW_COMPLEX_TYPE = New Complex Type
_UI_LABEL_NEW_SIMPLE_TYPE  = New Simple Type

_UI_ACTION_EXISTING_BINDING  = Existing Binding...
_UI_ACTION_EXISTING_PORTTYPE = Existing PortType...
_UI_ACTION_EXISTING_MESSAGE  = Existing Message...
_UI_ACTION_EXISTING_ELEMENT  = Existing Element...
_UI_ACTION_EXISTING_TYPE     = Existing Type...

_UI_ACTION_ADD_IMPORT            = Add Import
_UI_ACTION_ADD_SCHEMA            = Add Schema
_UI_ACTION_ADD_SERVICE           = Add Service
_UI_ACTION_ADD_BINDING           = Add Binding
_UI_ACTION_ADD_OPERATION         = Add Operation
_UI_ACTION_ADD_BINDING_OPERATION = Add Binding Operation
_UI_ACTION_ADD_PART              = Add Part
_UI_ACTION_ADD_PORT              = Add Port
_UI_ACTION_ADD_PORTTYPE          = Add PortType
_UI_ACTION_ADD_MESSAGE           = Add Message
_UI_ACTION_ADD_INPUT             = Add Input
_UI_ACTION_ADD_OUTPUT            = Add Output
_UI_ACTION_ADD_FAULT             = Add Fault

_UI_LABEL_DEFINITION = Definition
_UI_LABEL_BINDING    = Binding
_UI_LABEL_INPUT      = Input
_UI_LABEL_OUTPUT     = Output
_UI_LABEL_FAULT      = Fault
_UI_LABEL_MESSAGE    = Message
_UI_LABEL_PORT       = Port
_UI_LABEL_PORTTYPE   = PortType
_UI_LABEL_SERVICE    = Service
_UI_LABEL_ELEMENTS   = Elements
_UI_LABEL_TYPES      = Types
_UI_LABEL_NAME       = Name
_UI_LABEL_OPERATION  = Operation
_UI_LABEL_ELEMENT    = Element
_UI_LABEL_TYPE       = Type

_UI_LABEL_MATCHING_BINDINGS  = Matching Bindings:
_UI_LABEL_MATCHING_PORTTYPES = Matching PortTypes:
_UI_LABEL_MATCHING_MESSAGES  = Matching Messages:
_UI_LABEL_MATCHING_TYPES     = Matching Types:
_UI_LABEL_MATCHING_ELEMENTS  = Matching Elements:

_UI_LABEL_NEW_COMPONENT  = New Component

_UI_LABEL_READ_ONLY     = read-only

! Note to translators: keep the one character space and colon after the translation of View
_UI_MENU_VIEW         = View :
_UI_LABEL_XSD_COMPONENTS = XSD Components

_UI_LABEL_UNKNOWN_OBJECT = Unknown Object
_UI_LABEL_UNKNOWN_NODE   = Unknown Node
_UI_LABEL_VIEW_NOT_AVAILABLE = View not available for selected object

_UI_LABEL_PORT_W_COLON     = Port : 
_UI_LABEL_PORTTYPE_W_COLON = PortType : 
_UI_LABEL_SERVICE_W_COLON  = Service : 
_UI_LABEL_UNKNOWN  = Unknown : 
_UI_LABEL_VIEW_BY_SERVICE = View By : Service

_UI_FOLDER_IMPORTS = Imports
_UI_FOLDER_MESSAGES= Messages
_UI_FOLDER_SERVICES = Services
_UI_FOLDER_BINDINGS = Bindings
_UI_FOLDER_PORTTYPES = Port Types
_UI_FOLDER_TYPES     = Types
_UI_FOLDER_EXTENSIBILITY_ELEMENTS = Extensiblity Elements
_UI_FOLDER_DEFINITION = Definition

_UI_LABEL_NONE = (none)
_UI_MENUBAR_GENERATE_BINDING = Generate Binding

_UI_LABEL_HTTP_BINDING_OPTIONS = HTTP Binding Options

_UI_SOME_ELEMENT_NAME = some-element-name

_UI_LABEL_BINDING_INPUT   = Binding Input
_UI_LABEL_BINDING_OUTPUT  = Binding Output
_UI_LABEL_BINDING_FAULT   = Binding Fault

_UI_LABEL_BINDING_OPERATION = Binding Operation

_UI_LABEL_UNKNOWN_EXTENSIBILITY_ELEMENT = Unknown Extensibility Element

_UI_LABEL_IMPORT = Import
_UI_LABEL_NAMESPACE = Namespace
_UI_LABEL_PREFIX = Prefix
_UI_LABEL_LOCATION = Location
_UI_TITLE_SELECT = Select
_UI_TITLE_SELECT_FILE = Select File
_UI_DESCRIPTION_SELECT_WSDL_OR_XSD = Select a WSDL or XSD file to import.

_UI_LABEL_PARAMETER_ORDER = Parameter Order
_UI_LABEL_PART = Part
_UI_LABEL_REFERENCE_KIND = Reference kind:
_UI_LABEL_OVERVIEW = Overview
_UI_LABEL_VIEW_NOT_IMPLEMENTED = This view is not yet implemented.
_UI_LABEL_BINDING_VIEW = Binding View
_UI_LABEL_DOCUMENTION = Documentation
_UI_LABEL_PROPERTY = Property
_UI_LABEL_VALUE = Value

_UI_BUTTON_NEW    = New...
_UI_BUTTON_IMPORT = Import...

_UI_BUTTON_CREATE_ASSOCIATED_BINDINGS = Create associated bindings
_UI_TITLE_GENERATE_BINDING_WIZARD = Generate Binding Wizard

_UI_LABEL_NAMESPACE_URIS_TO_BE_INCLUDED = Namespace URIs to be included
_UI_ACTION_ADD = Add

_UI_TITLE_SELECT_WSDL_FILE = Select WSDL File
_UI_DESCRIPTION_SELECT_WSDL_FILE_TO_IMPORT = Select a WSDL file to import

_UI_TITLE_SPECIFY_BINDING = Specify Binding
_UI_TITLE_SPECIFY_TYPE = Specify Type
_UI_TITLE_SPECIFY_ELEMENT = Specify Element
_UI_TITLE_SPECIFY_MESSAGE = Specify Message
_UI_TITLE_SPECIFY_PORTTYPE = Specify Port Type

_UI_TITLE_SPECIFY_BINDING_DETAILS = Specify Binding Details
_UI_LABEL_SPECIFY_BINDING_DETAILS_DESC = Specify the details of the binding you wish to generate.

! Translators: Leave the {0} as is
_UI_RADIO_SELECT_EXISTING  = Select an existing {0}
_UI_RADIO_CREATE_NEW       = Create a new {0}
_UI_RADIO_IMPORT_FROM_FILE = Import {0} from a file
_UI_LABEL_NAME_OF_ITEM     = Name of {0}:

! Translators: Leave the {0} as is
_UI_DESCRIPTION_CHOOSE_FROM_EXISTING = Choose {0} from the list
_UI_DESCRIPTION_PROVIDE_NAME = Provide a name of the {0} to create
_UI_DESCRIPTION_IMPORT_FILE = Select a file and then choose the {0}
_UI_HELP = Help
_UI_LABEL_FILE = File:
_UI_BUTTON_BROWSE = Browse...

_UI_TITLE_NEW_WSDL_FILE = New WSDL File
_UI_TITLE_OPTIONS       = Options

_UI_DESCRIPTION_SPECIFY_BINDING_PAGE = Description of Specify Binding Page
_UI_RADIO_GENERATE_CONTENT = Generate content for an existing binding
_UI_RADIO_GENERATE_NEW_BINDING = Generate a new binding
_UI_LABEL_BINDING_NAME = Name:
_UI_LABEL_BINDING_PROTOCOL = Protocol:
_UI_CHECKBOX_OVERWRITE = Overwrite existing binding information
_UI_LABEL_SOAP_BINDING_OPTIONS = SOAP Binding Options
_UI_RADIO_DOCUMENT_LITERAL = document literal
_UI_RADIO_RPC_LITERAL = rpc literal
_UI_RADIO_RPC_ENCODED = rpc encoded

_UI_DESCRIPTION_NEW_WSDL_FILE = Specify the attributes for the new WSDL file.
_UI_LABEL_TARGET_NAMESPACE = Target namespace:
_UI_LABEL_PREFIX_WITH_COLON = Prefix:
_UI_LABEL_DEFINITION_NAME   = Definition name:
_UI_LABEL_CREATE_NEW_WSDL_FILE = Create a new WSDL File
_UI_LABEL_CREATE_WSDL_SKELETON = Create WSDL Skeleton
_UI_LABEL_NEW_CATEGORY_NAME_WS = Web Services

! Translators: Leave the {0} as is
_UI_ERROR_NAMESPACE_INVALID = The target namespace is invalid
_UI_ERROR_PREFIX_IS_INVALID = Prefix {0} is invalid
_UI_ERROR_PREFIX_IS_A_DUPLICATE = Prefix {0} is a duplicate
_UI_ERROR_MORE_THAN_ONE_PREFIX_IS_BLANK = More than one prefix is blank
_UI_ERROR_FILE_MUST_END_WITH_WSDL = Error: File must end with wsdl
_UI_ERROR_FILE_ALREADY_EXISTS = File already exists: {0}

_UI_ERROR_INVALID_WSDL = Invalid WSDL
_UI_ERROR_INVALID_WSDL_DESC = The WSDL File is invalid.  Fix errors and then retry this action.
_UI_ERROR_ERROR             = Error
_UI_ERROR_FOLDER_NOT_CREATED  = Folder not created.
_UI_ERROR_CREATING_HTML_FILES = Error creating HTML files.

_UI_ERROR_IMPORT_ERROR      = Import Error
_UI_ERROR_IMPORTING_ITSELF  = This file is attempting to import itself.  Change the location of the import.


_UI_USE_WS-I_STYLE_SCHEMA_IMPORT       = Use WS-I style schema import
_UI_BINDING_WIZARD                     = Binding Wizard
_UI_SPECIFY_BINDING_DETAILS_LABEL      = Specify the details of the binding that will be created
_UI_PORT_TYPE                          = Port Type
_UI_PORT_WIZARD                        = Port Wizard
_UI_SPECIFY_PORT_DETAILS               = Specify Port Details
_UI_SPECIFY_PORT_DETAILS_TO_BE_CREATED = Specify the details of the port that will be created
_UI_BINDING                            = Binding
_UI_NAMESPACES                         = Namespaces
_UI_EDIT_NAMESPACES                    = Edit Namespaces...
_UI_SELECT_REGISTERED_NAMESPACES       = Select From Registered Namespaces
_UI_SPECIFY_NEW_NAMESPACE              = Specify New Namespace
_UI_SELECT_NAMESPACE_TO_ADD            = Select the namespace declarations to add.
_UI_ENTER_REQ_PREFIX_AND_NAMESPACE     = Enter the required prefix and namespace URI for the namespace declaration.
_UI_TARGET_NAMESPACE                   = Target Namespace
_UI_NAMESPACE_DECLARATIONS             = Namespace Declarations
_UI_ADD                                = Add...
_UI_ADD_NAMESPACE_DECLARATIONS_TITLE   = Add Namespace Declarations
_UI_SOAP_PORT_DETAILS                  = SOAP Port Details
_UI_LOCATION                           = Location:
_UI_HTTP_PORT_DETAILS                  = HTTP Port Details
_UI_EDIT_NAMESPACES_DIALOG_TITLE       = Edit Namespaces
_UI_DEPENDENCIES_CHANGED               = Dependencies Changed
_UI_DEPENDENCIES_CHANGED_REFRESH       = One or more dependencies have changed.  Do you want to refresh the editor to reflect these changes?
_UI_RELOAD_DEPENDENCIES                = Reload Dependencies
_UI_UNSPECIFIED                        = (unspecified)
_UI_NO_IMPORT_SPECIFIED                = (no import location specified)
_UI_GENERATE_BINDING_CONTENT           = Generate Binding Content...
_UI_OPEN_IMPORT                        = Open Import

_UI_PREF_PAGE_DEFAULT_TARGET_NAMESPACE = Default Target Namespace:
_UI_PREF_PAGE_AUTO_REGENERATE_BINDING  = Regenerate Binding on save
_UI_PREF_PAGE_CREATING_FILES		   = Creating files

_UI_CREATE_MESSAGE_CHECKBOX_LABEL       = Create default messages
_UI_DELETE_ASSOCIATED_MSG_AND_PARTS     = Delete associated Messages and Parts
_UI_DELETE_OPERATION_TITLE              = Delete Operation
_UI_LABEL_WARNING_DUPLICATE_NAME_EXISTS = Warning: duplicate name already exists

_WARN_NAME_HAS_SPACE         = IWAX1402W Name field cannot contain a space
_WARN_NAME_INVALID_FIRST      = IWAX1403W First character in name field must be one of the following ('_', ':', 'letter')
_WARN_NAME_MUST_CONTAIN_AT_LEAST_ONE_CHAR = IWAX1415W Name field must contain at least one character
_WARN_NAME_INVALID_CHAR       = IWAX1404W Name field contains invalid character ('
_UI_NAME_INVALID_CHAR_END   = ')

! Copied from sse
23concat_EXC_=Resource {0} does not exist.
32concat_EXC_=Editor could not be open on {0}
An_error_has_occurred_when1_ERROR_=An error has occurred when initializing the input for the the editor's source page.
! ----------------------------------------------------------------
! Translators : please don't translate any string below this line 
! ----------------------------------------------------------------
! _DEBUG_UPDATE_POLICY = 0