###############################################################################
# Copyright (c) 2001, 2007 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
# yyyymmdd bug      Email and other contact information
# -------- -------- -----------------------------------------------------------
# 20070413   176493 makandre@ca.ibm.com - Andrew Mak, WSE: Make message/transport stack pluggable
# 20070507   185600 makandre@ca.ibm.com - Andrew Mak, WSE status pane's "header" twistie should not appear for responses without headers
# 20080825   158366 mahutch@ca.ibm.com - Mark Hutchinson
###############################################################################

title=WSDL

# Nodes
NODE_NAME_WSDL_MAIN=WSDL Main

# Frame titles
FRAME_TITLE_NAVIGATOR_CONTAINER=Navigator Container
FRAME_TITLE_NAVIGATOR_TOOLBAR=Navigator Toolbar
FRAME_TITLE_NAVIGATOR_CONTENT=Navigator Content
FRAME_TITLE_ACTIONS_CONTAINER=Actions Container
FRAME_TITLE_PROPERTIES_CONTAINER=Properties Container
FRAME_TITLE_PROPERTIES_TOOLBAR=Properties Toolbar
FRAME_TITLE_PROPERTIES_CONTENT=Properties Content
FRAME_TITLE_STATUS_CONTAINER=Status Container
FRAME_TITLE_STATUS_TOOLBAR=Status Toolbar
FRAME_TITLE_STATUS_CONTENT=Status Content
FRAME_TITLE_WSDL_PERSPECTIVE_CONTENT=WSDL Page Content
FRAME_TITLE_XSD_INFORMATION_TOOLBAR=XSD Information Dialog Toolbar
FRAME_TITLE_XSD_INFORMATION_CONTENT=XSD Information Dialog Content

# OpenWSDLAction
ALT_OPEN_WSDL=Open WSDL
MSG_ERROR_INVALID_WSDL_URL=IWAB0378E Enter a valid WSDL URL.
MSG_ERROR_OPEN_WSDL=IWAB0379E Unable to open %1.
MSG_ERROR_XSD_VALIDATION=IWAB0380E Errors were encountered while validating XML schemas.
MSG_INFO_OPEN_WSDL_SUCCESSFUL=IWAB0381I %1 was successfully opened.

# WSDL Element details
ALT_WSDL_DETAILS=WSDL Details
FORM_LABEL_WSDL_DETAILS_DESC=Shown below are the details for this WSDL document. Click on a service or binding to see its details.

# WSDL Service Element details
ALT_WSDL_SERVICE_DETAILS=WSDL Service Details
FORM_LABEL_SERVICE_DETAILS_DESC=Shown below are the details for this &lt;service&gt; element. Click on a binding to see its operations.

ALT_NIL=nil?

# WSDL Binding Element details
ALT_WSDL_BINDING_DETAILS=WSDL Binding Details
FORM_LABEL_BINDING_DETAILS_DESC=Shown below are the details for this <strong>%1</strong>  &lt;binding&gt; element. Click on an operation to fill in its parameters and invoke it or specify additional endpoints.

# InvokeWSDLOperationAction
ALT_INVOKE_WSDL_OPERATION=Invoke a WSDL Operation
MSG_ERROR_UNABLE_TO_CONNECT=IWAB0382E Unable to connect to %1
MSG_ERROR_VALIDATING_PARAMETER=IWAB0383E Error validating %1

# WSDLAddToFavoritesAction
ALT_ADD_WSDL_TO_FAVORITES=Add WSDL To Favorites
MSG_ERROR_FAVORITES_ALREADY_EXISTS=IWAB0384E %1 already exists in favorites.
MSG_ERROR_ADD_TO_FAVORITES=IWAB0385E Unable to add %1 to favorites.
MSG_INFO_ADD_TO_FAVORITES_SUCCESSFUL=IWAB0386I %1 is added to favorites.
MSG_QUESTION_OVERWRITE_FAVORITES=Favorite already exists.  Do you wish to overwrite?

# RefreshWSDLAction
MSG_INFO_REFRESH_WSDL_SUCCESSFUL=IWAB0387I %1 is refreshed.
MSG_QUESTION_REMOVE_WSDL_NODE=%1 is no longer resolvable.  Do you wish to clear it?

# UpdateWSDLBindingAction
MSG_INFO_UPDATE_WSDL_BINDING_SUCCESSFUL=IWAB0388I Endpoints were successfully updated.

# Form titles
FORM_TITLE_OPEN_WSDL=Open WSDL Form
FORM_TITLE_WSDL_DETAILS=WSDL Details Form
FORM_TITLE_WSDL_SERVICE_DETAILS=WSDL Service Details Form
FORM_TITLE_WSDL_BINDING_DETAILS=WSDL Binding Details Form
FORM_TITLE_INVOKE_WSDL_OPERATION=WSDL Operation Form

# Form Labels
FORM_LABEL_OPEN_WSDL_DESC=Enter the URL of a WSDL document and click <strong>Go</strong> to explore.
FORM_LABEL_SERVICES=Services
FORM_LABEL_BINDINGS=Bindings
FORM_LABEL_OPERATIONS=Operations
FORM_LABEL_BINDING_TYPE=Type
FORM_LABEL_BINDING_TYPE_UNSUPPORTED=Unsupported
FORM_LABEL_BINDING_TYPE_SOAP=SOAP
FORM_LABEL_BINDING_TYPE_HTTP_GET=HTTP GET
FORM_LABEL_BINDING_TYPE_HTTP_POST=HTTP POST
FORM_LABEL_NAME=Name
FORM_LABEL_DOCUMENTATION=Documentation
FORM_LABEL_ENDPOINT=Endpoint
FORM_LABEL_INVOKE_WSDL_OPERATION_DESC=Enter the parameters for the WSDL operation "%1" and click <strong>Go</Strong> to invoke.
FORM_LABEL_INVOKE_WSDL_OPERATION_DESC_NO_INPUT=There are no input parameters for the WSDL operation "%1". Click <strong>Go</Strong> to invoke.
FORM_LINK_ADD=Add
FORM_LINK_REMOVE=Remove
FORM_LABEL_VALUES=Values
FORM_LABEL_ENABLE_DISABLE_GROUP=Enable/Disable group
FORM_LABEL_UNION_TYPE=Union types
FORM_LABEL_LANGUAGE=Language
FORM_LABEL_XSD_APPLICATION_INFORMATION=Application Information
FORM_LABEL_XSD_DOCUMENTATION=Documentation
FORM_LABEL_SOAP_REQUEST_ENVELOPE=SOAP Request Envelope:
FORM_LABEL_SOAP_RESPONSE_ENVELOPE=SOAP Response Envelope:
FORM_LABEL_GROUP_ALL_ORDERING_MOVE_UP=Move element up
FORM_LABEL_GROUP_ALL_ORDERING_MOVE_DOWN=Move element down
FORM_LABEL_BASE_TYPE=Base type
FORM_LABEL_UNBOUNDED=Unbounded
FORM_LABEL_LENGTH=Length
FORM_LABEL_LENGTH_VALUE=[%1..%2]
FORM_LABEL_PATTERN=Pattern
FORM_LABEL_WHITESPACE=Whitespace
FORM_LABEL_RANGE_OF_VALUES=Range of values
FORM_LABEL_MIN_EXCLUSIVE=(%1..
FORM_LABEL_MIN_INCLUSIVE=[%1..
FORM_LABEL_MAX_EXCLUSIVE=%1)
FORM_LABEL_MAX_INCLUSIVE=%1]
FORM_LABEL_TOTAL_DIGITS=Total digits
FORM_LABEL_FRACTION_DIGITS=Fraction digits
FORM_LABEL_OCCURANCE=Occurance of
FORM_LABEL_UNION_MEMBERS=Union Members
FORM_LABEL_LIST_ITEMS=List items
FORM_LABEL_ELEMENTS=Elements
FORM_LABEL_SOAP_ENC_ARRAYS=SOAP Arrays
FORM_LABEL_CONTENT=Content
FORM_LABEL_ATOMIC_NAME_TYPE=%1 (%2):
FORM_LABEL_NULL=null
FORM_LABEL_GROUP_NUMBER=Group %1
FORM_LABEL_CHOICES=Choices
FORM_LABEL_NOTHING_TO_DISPLAY_IN_FORM_VIEW=There is nothing to be displayed in the form view.  Please switch to the source view for the SOAP request and response.
FORM_LABEL_SOAP_RESPONSE_FAILED_VALIDATION_IN_FORM_VIEW=The SOAP response failed schema validation.  Please switch to the source view for the SOAP response in XML format.
FORM_LABEL_CANNOT_DISPLAY_HEADER_IN_FORM_VIEW=The content of the header cannot be displayed in the form view.  Please switch to the source view to examine the raw content.
FORM_LABEL_CANNOT_DISPLAY_BODY_IN_FORM_VIEW=The content of the body cannot be displayed in the form view.  Please switch to the source view to examine the raw content.
FORM_LABEL_BODY_IS_EMPTY=The body is empty.
FORM_LABEL_END_POINTS=Endpoints
FORM_LABEL_HEADER=Header
FORM_LABEL_BODY=Body
FORM_LABEL_MUSTUNDERSTAND=mustUnderstand
FORM_LABEL_ACTOR=actor

# Source/Form views
FORM_LINK_FORM=Form
ALT_SWITCH_TO_FORM_VIEW=Switch to form view
FORM_LINK_SOURCE=Source
ALT_SWITCH_TO_SOURCE_VIEW=Switch to source view
FORM_LABEL_FRAGMENT_SOAP_VIEW_CONTENT=Soap Body:
BUTTON_LABEL_LOAD=Load
BUTTON_LABEL_SAVE_AS=Save As...
MSG_QUESTION_SYNC_VIEWS=Format of the source content may be altered as a result of switching to the form view.  Do you wish to process?
MSG_QUESTION_SYNC_VIEWS_DESPITE_INVALID_SOURCE_CONTENT=Content of the source view failed schema validation.  Synchronize anyways?  (Content of the source view may be modified)

# Form control titles
FORM_CONTROL_TITLE_ENABLE_DISABLE_GROUP=Enable/Disable group
FORM_CONTROL_TITLE_SELECT_ELEMENT_IN_GROUP=Select element in group
FORM_CONTROL_TITLE_SELECT_UNION_TYPE=Select union type
FORM_CONTROL_TITLE_SOAP_FILE=SOAP data file

# XSD Information Dialog
TITLE_XSD_INFORMATION_DIALOG=XSD Information Dialog

# Error messages
MSG_ERROR_NOTHING_SELECTED=IWAB0389E Select at least one item.
MSG_ERROR_MAX_OCCURS_VIOLATION=IWAB0390E Maximum occurance is reached.
MSG_ERROR_MIN_OCCURS_VIOLATION=IWAB0391E Minimum occurance is reached.
MSG_ERROR_CANNOT_MOVE_FIRST_ELEMENT_UP=IWAB0392E Selected element is already the first in the group.
MSG_ERROR_CANNOT_MOVE_LAST_ELEMENT_DOWN=IWAB0393E Selected element is already the last in the group.

# SOAP transport messages
MSG_ERROR_NO_SUITABLE_TRANSPORT=Failed to invoke operation, a suitable transport extension was not found.
