###############################################################################
# Copyright (c) 2001, 2006 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_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_EDIT_NAMESPACES_DIALOG_TITLE=Edit Namespaces
_UI_PREF_PAGE_CREATING_FILES=Creating files
_UI_REMEMBER_MY_DECISION_LABEL=Remember my decision
_UI_PREF_PAGE_DEFAULT_TARGET_NAMESPACE=Default Target Namespace:
_UI_REGEN_BINDINGS_ON_SAVE_QUESTIONMARK=Regenerate Bindings On Save?
_UI_LABEL_WARNING_DUPLICATE_NAME_EXISTS=Warning: duplicate name already exists
_UI_LABEL_NAMESPACE_URIS_TO_BE_INCLUDED=Namespace URIs to be included
_UI_PREF_PAGE_AUTO_REGENERATE_BINDING=Regenerate Binding on save
_UI_PREF_PAGE_PROMPT_REGEN_BINDING_ON_SAVE=Prompt Regenerate Binding on save
_UI_EDIT_NAMESPACES=Edit Namespaces...
_UI_ACTION_ADD_IMPORT=Add Import
_UI_ACTION_ADD_BINDING=Add Binding
_UI_ACTION_ADD_PART=Add Part
_UI_ACTION_EXISTING_MESSAGE=Existing Message...
_UI_ACTION_EXISTING_ELEMENT=Existing Element...
_UI_ERROR_NAMESPACE_INVALID=The target namespace is invalid
_UI_ERROR_FILE_ALREADY_EXISTS=File already exists: {0}
_UI_DESCRIPTION_NEW_WSDL_FILE=Specify the attributes for the new WSDL file.
_UI_REGEN_BINDINDS_ON_SAVE=Regenerate Bindings On Save
_UI_RADIO_DOCUMENT_LITERAL=document literal
_UI_TITLE_SPECIFY_PORTTYPE=Specify Port Type
_UI_LABEL_BINDING_PROTOCOL=Protocol:
_UI_LABEL_INLINE_SCHEMA_OF=Inline Schema of 
_UI_LABEL_TARGET_NAMESPACE=Target namespace:
_UI_LABEL_PREFIX_WITH_COLON=Prefix:
_UI_LABEL_CREATE_WSDL_SKELETON=Create WSDL Skeleton
_UI_LABEL_CREATE_NEW_WSDL_FILE=Create a new WSDL File
_UI_LABEL_SOAP_BINDING_OPTIONS=SOAP Binding Options
_UI_LABEL_HTTP_BINDING_OPTIONS=HTTP Binding Options
_UI_LABEL_ADD_EXTENSION_ELEMENT=Add Extension Element
_UI_SPECIFY_BINDING_DETAILS_LABEL=Specify the details of the binding that will be created
_UI_SPECIFY_PORT_DETAILS_TO_BE_CREATED=Specify the details of the port that will be created
_UI_LABEL_NEW_BINDING=New Binding
_UI_LABEL_NEW_PORTTYPE=New PortType
_UI_LABEL_REFERENCE_KIND=Reference Kind
_UI_LABEL_NEW_MESSAGE=New Message
_UI_RADIO_RPC_ENCODED=rpc encoded
_UI_RADIO_RPC_LITERAL=rpc literal
_UI_ACTION_EXISTING_TYPE=Existing Type...
_UI_SPECIFY_PORT_DETAILS=Specify Port Details
_UI_TITLE_SPECIFY_BINDING=Specify Binding
_UI_TITLE_SPECIFY_BINDING_DETAILS=Specify Binding Details
_UI_ERROR_FILE_MUST_END_WITH_WSDL=Error: File must end with wsdl
_UI_TITLE_SPECIFY_MESSAGE=Specify Message
_UI_TITLE_NEW_WSDL_FILE=New WSDL File
_UI_NAME_INVALID_CHAR_END=')
_UI_ACTION_RENAME=Rename
_UI_FOLDER_TYPES=Types
_UI_CANCEL_LABEL=Cancel
_UI_ACTION_NEW_TYPE=New Type...
_UI_ACTION_SET_TYPE=Set Type
_UI_FOLDER_IMPORTS=Imports
_UI_FOLDER_SERVICES=Services
_UI_FOLDER_BINDINGS=Bindings
_UI_FOLDER_INTERFACES=Interfaces
_UI_FOLDER_PORTTYPES=PortTypes
_UI_FOLDER_MESSAGES=Messages
_UI_ACTION_NEW_MESSAGE=New Message...
_UI_ACTION_NEW_ELEMENT=New Element...
_UI_ACTION_SET_ELEMENT=Set Element
_UI_ACTION_SET_MESSAGE=Set Message
_UI_ACTION_SET_BINDING=Set Binding
_UI_CHECKBOX_OVERWRITE=Overwrite existing binding information
_UI_ACTION_SET_PORTTYPE=Set PortType
_UI_ACTION_ADD=Add
_UI_ACTION_OPEN_IMPORT=Open Import
_UI_UNSPECIFIED=(unspecified)
_UI_LABEL_NAME=Name
_UI_LABEL_TYPE=Type
_UI_BUTTON_NEW=New...
_UI_LABEL_ELEMENT=Element
_UI_BUTTON_BROWSE=Browse...
_UI_BINDING_WIZARD=Binding Wizard
_UI_BINDING=Binding
_UI_LABEL_MESSAGE=Message
_UI_LABEL_REMOVE=Remove
_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_TITLE_OPTIONS=Options
_UI_YES_LABEL=Yes
_UI_PORT_TYPE=Port Type
_UI_PORT_WIZARD=Port Wizard
_UI_NO_LABEL=No
_UI_ADD=Add...
_UI_HELP=Help
_UI_LABEL_NAME_FILTER=Name (? = character, * = any string):
_WARN_NAME_MUST_CONTAIN_AT_LEAST_ONE_CHAR=IWAX1415W Name field must contain at least one character
_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_INVALID_CHAR=IWAX1404W Name field contains invalid character ('