###############################################################################
# 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_TO_DEFINITION      = Back to Definition
_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_BINDING_NAME    = Binding Name:
_UI_LABEL_PORTTYPE_NAME   = PortType Name:
_UI_LABEL_MESSAGE_NAME    = Message Name:
_UI_LABEL_TYPE_NAME       = Type Name:
_UI_LABEL_ELEMENT_NAME    = Element Name:

_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_PROMPT_REGEN_BINDING_ON_SAVE = Prompt 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.

AddBookmark.label=Add Boo&kmark...
SelectRuler.label=Select Ruler

! ----------------------------------------------------------------
! Translators : please don't translate any string below this line 
! ----------------------------------------------------------------
! _DEBUG_UPDATE_POLICY = 0Dummy.label=


!-- WSDL Validation UI Menu Items
_UI_MENU_VALIDATE_WSDL                     = Validate WSDL File
_UI_WSDL_VALIDATOR                         = WSDL Validator
