###############################################################################
# Copyright (c) 2005, 2012 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
###############################################################################
#
#Tue Nov 08 15:27:38 EST 2005
# 
ActionImplementationSection_Action_Category_1=Action Category\:
ActionImplementationSection_Choose_one_of_these_actions_2=Choose one of these actions\:
ActionImplementationSection_Description_3=&Description\:
ActionImplementationSection_HTML_hover_description_text_5=<HTML>Hover the mouse over the action buttons<br>to see the description.</HTML>
ActionImplementationSection_Hover_tooltip_4=Hover the mouse over the action buttons to see the description.
AppendNewAction_Add_a_1=Add a {0}
AssignAction_Assign_HTML_Description_1=<H3>Assign</H3><DIV><P>Use this activity to copy some form of information from one part of your process to another</P></DIV>
AssignImplDetails_Delete__6=&Delete
AssignImplDetails_From__1=Fr&om\:
AssignImplDetails_New__5=&New
AssignImplDetails_To__2=&To\:
AssignImplDetails_KeepSrcElementName=&Keep Source Element Name
AssignImplDetails_IgnoreMissingSourceData=&Ignore Missing Source Data
Validate=&Validate
AutoArrangeFlowsAction_Arrange_Flow_Contents_2=Arrange Flow Contents
AutoArrangeFlowsAction_Auto_arrange_flow_contents_3=Auto-arrange Flow Contents
ToggleLayoutOrientation_1=Switch to horizontal layout
ToggleLayoutOrientation_2=Switch to vertical layout
BPELCopyAction_Copy_1=Copy
BPELCopyAction_Copy_2=Copy
BPELCopyAction_Copy_3=Copy
BPELDuplicateAction_Duplicate_1=Duplicate
BPELDuplicateAction_Duplicate_2=Duplicate
BPELCutAction_Cut_1=Cut
BPELCutAction_Cut_2=Cut
BPELCutAction_Cut_3=Cut
BPELDragEditPartsTracker_Drag_1=Drag
BPELEditManager_RenameError=Rename error
BPELEditManager_RenameErrorMessage={0}\: {1} Please enter a different name.
BPELEditPart_Enter_a_new_name_3=Enter a new name.
BPELEditPart_Rename_2=Rename
BPELEditPartFactory_Could_not_create_edit_part_for=Could not create an edit part for {0}.
BPELEditor_OpaqueActivity_1=Opaque Activity
BPELEditor_OpaqueActivity_2=Opaque Activity
BPELEditor_Assign_10=Assign
BPELEditor_Assign_11=Assign
BPELEditor_Validate_XML_12=Validate
BPELEditor_Validate_XML_13=Validate
BPELEditor_Bottom_Control_Group_39=Bottom Control Group
BPELEditor_Cant_read_input_file_1=Error opening editor.  Can't read input file.
BPELEditor_Compensate_1=Compensate
BPELEditor_Compensate_2=Compensate
BPELEditor_CompensateScope_1=CompensateScope
BPELEditor_CompensateScope_2=CompensateScope
BPELEditor_Flow_1=Flow
BPELEditor_Flow_2=Flow
BPELEditor_Invoke_35=Invoke
BPELEditor_Invoke_36=Invoke
BPELEditor_Marquee_Tool=Marquee Tool
BPELEditor_Pick_8=Pick
BPELEditor_Pick_9=Pick
BPELEditor_ReThrow_1=Rethrow
BPELEditor_ReThrow_2=Rethrow
BPELEditor_Receive_4=Receive
BPELEditor_Receive_5=Receive
BPELEditor_Reply_6=Reply
BPELEditor_Reply_7=Reply
BPELEditor_Scope_1=Scope
BPELEditor_Scope_2=Scope
BPELEditor_Selection_Tool_38=Selection Tool
BPELEditor_Sequence_23=Sequence
BPELEditor_Sequence_24=Sequence
BPELEditor_If_17=If
BPELEditor_If_18=If
BPELEditor_Exit_26=Exit
BPELEditor_Exit_27=Exit
BPELEditor_Throw_28=Throw
BPELEditor_Throw_29=Throw
BPELEditor_Top_Control_Group_37=Top Control Group
BPELEditor_Wait_21=Wait
BPELEditor_Wait_22=Wait
BPELEditor_While_19=While
BPELEditor_While_20=While
BPELEditor_ForEach_19=For Each
BPELEditor_ForEach_20=For Each
BPELEditor_Zoom_In_40=Zoom In
BPELEditor_Zoom_Out_41=Zoom Out
BPELEditor_Repeat_Until_42=Repeat Until
BPELEditor_Repeat_Until_43=Repeat Until
BPELEditor_addCorrelationSet=Add Correlation Set
BPELEditor_addPartnerLink=Add Partner Link
BPELEditor_addVariable=Add Variable
BPELEditor_addMessageExchange=Add Message Exchange
BPELGraphicalEditPolicy_link1_1=link1
BPELPasteAction_Paste_1=Paste
BPELPasteAction_Paste_2=Paste from Transfer Buffer
BPELPasteAction_Paste_3=Paste
BPELPreferencePage_HomePage_Description=Expand the tree to edit preferences for the BPEL feature.
BPELPreferencePage_0=Use animation when laying out activities
BPELPreferencePage_0TT=When Flows automatically lay out their child activities, animation will be used to bring about a smooth transition.
BPELPreferencePage_1=Manual place activities in the Flow node
BPELPreferencePage_1TT=Placement of elements within a Flow will be done manually.
BPELPreferencePage_2=Warn on links
BPELPreferencePage_2TT=Warn when links are being used in the process
BPELPreferencePage_3=Layout Flow children automatically
BPELPreferencePage_3TT=The editor will layout the children of the Flow activity automatically.
BPELPreferencePage_4=Create Spec compliant process
BPELPreferencePage_4TT=Do not allow non-spec compliant constructs in the process, warn during validation.
BPELPreferencePage_WSIL_1 = Document URL:
BPELPreferencePage_WSIL_2 = Browse ...
BPELPreferencePage_WSIL_Abstract = Abstract
BPELPreferencePage_WSIL_Namespace = Ref Namespace
BPELPreferencePage_WSIL_Location = Location
BPELPreferencePage_WSIL_Add = Add
BPELPreferencePage_WSIL_Remove = Remove
BPELPreferencePage_WSIL_Index = #
BPELPreferencePage_WSIL_DocumentNotLoaded = WSIL Document not loaded.
BPELPreferencePage_WSIL_NameLimit = WSIL Document's name should be ended with .wsil
BPELPreferencePage_WSIL_MoveDown = Move Down
BPELPreferencePage_WSIL_MoveUp = Move Up
BPELPreferencePage_WSIL_OpenInBrowser = Open in Browser
BPELPreferencePage_WSIL_EnterDescription = <enter description>
BPELPreferencePage_WSIL_EnterLocation = <enter location>
#
# This has \n for a reason. The wrapping in the widget works, but not as expected.
BPELPreferencePage_WSIL_Description = \
The document above contains links to other WSIL documents shown below.\n\
You can add or remove WSIL links to/from the above document.\n\
The result will be shown in the WSIL browser of the editor.
#
BPELUtil__Error=Error
BPELUtil__unknown_URI__54=<unknown URI>
BPELUtil_HiddenSequence_2=HiddenSequence
BPELUtil_Sequence_1=Sequence
BPELUtil_NCName=Not a valid NCName
BPELUtil_NoEditorForNullObject=Cannot open editor for null object
BPELUtil_NoEditorForObject=Cannot open editor for object of type {0}

BPELVariableAdapter_Variable_1=Variable
BPELXYLayoutEditPolicy_Add_Part_1=Add Part
BPELXYLayoutEditPolicy_Move_Part_2=Move Part
ElseIfAdapter_ElseIf_1=Else If
CatchAdapter_Catch_1=Catch
CatchAllAdapter_0=Catch All
CatchAllDetails_0=The Catch All will be executed if the Fault is not caught by an existing Catch.
ChangeTypeAction_Change_type_to_1=Change type to {0}
CompensateImplDetails_Activity__10=&Target Activity\:
CompensationHandlerAdapter_Compensation_Handlers_1=Compensation Handlers
CorrSetImplDetails_Browse____6=&Add...
CorrSetImplDetails_Edit____7=E&dit...
CorrSetImplDetails_Properties__5=Proper&ties\:
CorrSetImplDetails_Property_1=Property
CorrSetImplDetails_Remove_4=&Remove
CorrelationDetails_Add_18=&Add
CorrelationDetails_Both_7=Both
CorrelationDetails_Correlation_Set_12=Correlation Set
CorrelationDetails_Correlation_Sets__20=Correlat&ion Sets\:
CorrelationDetails_Direction_1=Direction
CorrelationDetails_Initiation_8=Initiation
CorrelationDetails_Join_11=Join
CorrelationDetails_No_10=No
CorrelationDetails_Receive_4=Receive
CorrelationDetails_Receive_6=Receive
CorrelationDetails_Remove_19=&Remove
CorrelationDetails_Send_5=Send
CorrelationDetails_Yes_11=Yes
CorrelationSetAdapter_Correlation_Set_1=Correlation Set
CorrelationSetsAdapter_Correlation_Sets_1=Correlation Sets
CorrelationSetsEditPart_Add_Correlation_Set_1=Add Correlation Set
CorrelationSetsEditPart_Correlation_Sets_1=Correlation Sets
CorrelationSetsEditPart_Remove_Correlation_Set_1=Remove Correlation Set
CreateElseIfAction_Add_ElseIf_1=Add ElseIf
CreateCatchAction_Add_Catch_1=Add Catch
CreateCatchAllAction_Add_Catch_All_1=Add Catch All
CreateCompensationHandlerAction_Add_Compensation_Handler_1=Add Compensation Handler
CreateEventHandlerAction_Add_Event_Handler_1=Add Event Handler
CreateFaultHandlerAction_Add_Fault_Handler_1=Add Fault Handler
CreateFlowLinkAction_Add_Link_0=Add Link
CreateInstanceDetails_Create_a_new_Process_instance_if_one_does_not_already_exist_1=Create a ne&w Process instance if one does not already exist
CreateOnAlarmAction_Add_OnAlarm_1=Add OnAlarm
CreateOnEventAction_Add_OnEvent_1=Add OnEvent
CreateOnMessageAction_Add_OnMessage_1=Add OnMessage
CreateElseAction_Add_Else_1=Add Else
DeleteChildCommand_Delete_2=Delete {0}
DeleteChildCommand_Item_1=Item
DeleteSelectedAction_Delete_1=Delete
DeleteSelectedAction_Delete_2=Delete
DeleteSelectedAction_Delete_3=Delete
DeleteSelectedAction_Delete_Items_3=Delete {0} items
DocumentationSection_Source_1=&Source URI:
DocumentationSection_Language_1=&Language:
DocumentationSection_Description_1=&Description:
DurationSelector_Days_2=Da&ys
DurationSelector_Hours_3=H&ours
DurationSelector_Minutes_4=Minu&tes
DurationSelector_Months_1=Mont&hs
DurationSelector_Seconds_5=Se&conds
DurationSelector_Years_1=Ye&ars
EditMessagePropertyDialog_10=Defined As
EditMessagePropertyDialog_14=Na&me\:
EditMessagePropertyDialog_18=Bro&wse...
EditMessagePropertyDialog_1=Message Type && Part
EditMessagePropertyDialog_20=Aliases
EditMessagePropertyDialog_21=N&ew...
EditMessagePropertyDialog_22=E&dit...
EditMessagePropertyDialog_23=&Remove
EditMessagePropertyDialog_26=Create Message Property
EditMessagePropertyDialog_27=Edit Message Property
EditMessagePropertyDialog_4=\: {0}

# https://bugs.eclipse.org/bugs/show_bug.cgi?id=330813
# https://jira.jboss.org/browse/JBIDE-7107
EditMessagePropertyDialog_11=Simple Type
EditMessagePropertyDialog_12=Element
EditMessagePropertyDialog_13=Message Type
EditMessagePropertyDialog_15=Element
EditMessagePropertyDialog_16=Simple Type

EditMessagePropertyDialog_Type_1=Type\:
EditMessagePropertyDialog_Element_1=Element\:
EditMessagePropertyDialog_Message_1=Message\:
EditPropertyAliasDialog_10=Edit Property Alias
EditPropertyAliasDialog_9=Create Property Alias
EndNodeAdapter_End_1=End
EndpointReferenceAssignCategory_Endpoint_Reference=Endpoint Reference
EventHandlerAdapter_Event_Handlers_1=Event Handlers
ExitOnStandardFault_1 = Exit on Standard Fault:
ExitOnStandardFault_Yes_2 = &Yes
ExitOnStandardFault_No_3 = &No
ExpressionAssignCategory_Expression_1=Expression
FaultAdapter_Fault_1=Fault
FaultCatchNameDetails_Built_in_14=&Built-in
FaultCatchNameDetails_Fault_Name__16=Faul&t Name\:
FaultCatchNameDetails_Fault_Name__24=Faul&t Name\:
FaultCatchNameDetails_Fault_Type__13=Fault Type\:
FaultCatchNameDetails_Namespace__21=Na&mespace\:
FaultCatchNameDetails_User_defined_15=&User-defined
FaultCatchNameSection_Variable_Name_3=Variable Name\:
FaultCatchNameSection_None_0=(none)
FaultCatchNameSection_Error_Invalid_Type=Data caught by a Fault Handler must be a Message Type or an XSD Element
FaultHandlerAdapter_Fault_Handlers_1=Fault Handlers
FaultThrowNameDetails_Built_in_14=&Built-in
FaultThrowNameDetails_Fault_Name__16=Faul&t Name\:
FaultThrowNameDetails_Fault_Name__24=Faul&t Name\:
FaultThrowNameDetails_Fault_Type__13=Fault Type\:
FaultThrowNameDetails_Fault_Variable__27=Fault &Variable\:
FaultThrowNameDetails_Namespace__21=Na&mespace\:
FaultThrowNameDetails_User_defined_15=&User-defined
FaultThrowNameSection_Browse_1=Br&owse...
FaultThrowNameSection_None_3=(none)
FaultThrowNameSection_Select_Fault_Variable_2=Select Fault Variable
FlowXYLayoutEditPolicy_Create_1=Create
IBPELUIConstants_Activity_Change_36=Activity Change
IBPELUIConstants_Add_Compensation_Handler_11=Add Compensation Handler
IBPELUIConstants_Add_Termination_Handler_11=Add Termination Handler
IBPELUIConstants_Add_Copy_12b=Add Copy
IBPELUIConstants_Add_Correlation_6=Add Correlation
IBPELUIConstants_Add_Custom_Property_14=Add Custom Property
IBPELUIConstants_Add_Custom_Setting_13=Add Custom Setting
IBPELUIConstants_Add_Event_Handler_11=Add Event Handler
IBPELUIConstants_Add_Fault_Handler_11=Add Fault Handler
IBPELUIConstants_Add_Import=Add Import
IBPELUIConstants_Add_Link_5=Add Link
IBPELUIConstants_Add_Partner_7=Add Partner Link
IBPELUIConstants_Add_Property_9=Add Property
IBPELUIConstants_Add_Property_Alias_10=Add Property Alias
IBPELUIConstants_Add_Role_12=Add Role
IBPELUIConstants_Add_Variable_8=Add Variable
IBPELUIConstants_Add_MessageExchange=Add Message Exchange
IBPELUIConstants_Add_VALIDATE_VARIABLE_15=Add Variable to Validate
IBPELUIConstants_Assign_Copy_Change_64=Assign/Copy Change
IBPELUIConstants_Assign_Validate_XML_52=Assign/ValidateXML Change
IBPELUIConstants_Auto_Arrange_33=Auto Arrange
IBPELUIConstants_Change_4={0} Change
IBPELUIConstants_Change_5={0} Change
IBPELUIConstants_Change_BPEL_File_30=Change BPEL File
IBPELUIConstants_Compensate_Change_40=Compensate Link Change
IBPELUIConstants_Correlation_Change_65=Correlation Change
IBPELUIConstants_Create_Instance_Change_51=Create Instance Change
IBPELUIConstants_Delete_Copy_24b=Delete Copy
IBPELUIConstants_Delete_Correlation_18=Delete Correlation
IBPELUIConstants_Delete_Link_17=Delete Link
IBPELUIConstants_Delete_Property_19=Delete Property
IBPELUIConstants_Delete_Property_Alias_20=Delete Property Alias
IBPELUIConstants_Delete_Role_24=Delete Role
IBPELUIConstants_Delete_Validate_Variable_26=Remove Validate Variable
IBPELUIConstants_Exit_On_Standard_Fault_1=Exit on Standard Fault Change
IBPELUIConstants_Expression_Body_Change_63=Expression Body Change
IBPELUIConstants_Expression_Change_63=Expression Change
IBPELUIConstants_Expression_Language_Change_67=Expression Language Change
IBPELUIConstants_Fault_Name_Change_68=Fault Name Change
IBPELUIConstants_Fault_Namespace_Change_69=Fault Namespace Change
IBPELUIConstants_Fault_Variable_Name_Change_70=Fault Variable Name Change
IBPELUIConstants_Interface_Change_45=Interface Change
IBPELUIConstants_Join_Failure_Change_50=Join Failure Change
IBPELUIConstants_Message_Type_Change_37=Message Type Change
IBPELUIConstants_Method_Change_46=Method Change
IBPELUIConstants_My_Role_Change_42=Process Role Change
IBPELUIConstants_Name_Change_66=Name Change
IBPELUIConstants_Name_Change_80=Name Change
IBPELUIConstants_Message_Exchange_Change=Message Exchange Change
IBPELUIConstants_Operation_Change_39=Operation Change
IBPELUIConstants_Partner_Change_79=Partner Link Change
IBPELUIConstants_Partner_Link_Change_43=Partner Link Change
IBPELUIConstants_Partner_Role_Change_44=Partner Link Role Change
IBPELUIConstants_Port_Type_Change_41=Interface Change
IBPELUIConstants_Process_Type_Change_67=Process Type Change
IBPELUIConstants_Property_Change_71=Property Change
IBPELUIConstants_Query_Language_Change_67=Query Language Change
IBPELUIConstants_Remove_Client_Settings_21=Remove Client Settings
IBPELUIConstants_Remove_Custom_Property_25=Remove Custom Property
IBPELUIConstants_Remove_Custom_Settings_22=Remove Custom Settings
IBPELUIConstants_Remove_Import=Remove Import
IBPELUIConstants_Remove_Property_23=Remove Property
IBPELUIConstants_Reposition_26=Reposition
IBPELUIConstants_Resize_27=Resize
IBPELUIConstants_Scope_Compensable_Change_38=Scope Compensable Change
IBPELUIConstants_Scope_Serialization_Change_38=Scope Serialization Change
IBPELUIConstants_Spec_Compliance_Change_2=Specification Compliance Change
IBPELUIConstants_Target_namespace_Change_61=Target namespace Change
IBPELUIConstants_Variable_Change_38=Variable Change
IBPELUIConstants_Variable_Type_Change_1=Variable Type Change
IBPELUIConstants_Variable_Type_Change_73=Variable Type Change
IBELUIConstants_SET_PARALLEL_EXECUTION=Parallel Execution Change
IBELUIConstants_COUNTER_VARIABLE_NAME_CHANGE=Counter Variable Name Change
IBELUIConstants_SET_SUCCESSFUL_BRANCHES_ONLY=Count Successful Branches Only Change
IBPELUIConstants_Insert_Copy=Insert Copy
IBPELUIConstants_Swap_Copy=Swap Copy
ImportDetails_Import_Location_12=Location
ImportDetails_Import_Namespace_12=Namespace
ImportDetails_Imports_20=&Imports\:
InsertInContainerCommand_Add_1=Add {0}
InsertInContainerCommand_Add_Node_1=Add Node
InsertInContainerCommand_Node_3=Node
InsertNewAction_Insert_a=Insert a {0}
InvokeAction_Invoke_HTML_Description_1=<H3>Invoke</H3><DIV><P>Use this activity to perform an operation.</DIV></DIV>
InvokeImplDetails_Fault_Name__25=Fault Name\:
InvokeImplDetails_Operation__19=&Operation\:
InvokeImplDetails_Partner__10=Par&tner Link\:
InvokeImplDetails_Request_3_Plain=Request
InvokeImplDetails_Response_4_Plain=Response
InvokeImplDetails_MessageType=Message Type\:
InvokeImplDetails_Element=Element\:
InvokeImplDetails_MessageTypeOrElement=Message/Element\:
InvokeImplSection_None_1=(none)
InvokeImplSection_0=Create Global Partner Link.
InvokeImplSection_1=Create Local Partner Link.
InvokeImplSection_2=Clear Partner Link.
InvokeImplSection_3=Effective Port Type:
InvokeImplSection_4=Click to edit Port Type.
InvokeImplSection_7=&Input Variable:
InvokeImplSection_10=Create Global Input Variable.
InvokeImplSection_11=Create Local Input Variable.
InvokeImplSection_12=Clear Input Variable
InvokeImplSection_13=&Output Variable:
InvokeImplSection_16=Create Global Output Variable
InvokeImplSection_22=&Input Variable:
InvokeImplSection_23=&Variable:
InvokeImplSection_24=Edit WSDL.
InvokeImplSection_25=Clear Fault Name
JoinFailureDetails_No_3=&No
JoinFailureDetails_Suppress_Join_Failure__1=Suppress Join Failure\:
JoinFailureDetails_Use_Same_Value_as_Parent__No__6=Use Same Value as P&arent (No)
JoinFailureDetails_Use_Same_Value_as_Parent__Yes__5=Use Same Value as &Parent (Yes)
JoinFailureDetails_Use_Same_Value_as_Parent_4=&Use Same Value as Parent
JoinFailureDetails_Yes_2=&Yes
LinkAdapter_Link_1=Link
LiteralAssignCategory_Fixed_Value_1=Fixed Value
LiteralAssignCategory_Literal_not_XML_2=The fixed value you entered does not appear to be valid XML (which is required for some types of fixed values to work correctly). It will be saved in a text format.
LiteralAssignCategory_Warning_1=Warning
MakePartner2WayAction_0=Make Partner Link two-way
MessageAdapter_Message_1=Message

MessageExchangesAdapter_Label=Message Exchanges
MessageExchangesAdapter_TypeLabel=messageExchanges
MessageExchangeAdapter_TypeLabel=messageExchange
MessageExchangesEditPart_Add_Message_Exchange_1=Add Message Exchange
MessageExchangesEditPart_Remove_Message_Exchange_1=Remove Message Exchange
MessageExchangeImplSection_1=Message Exchange:
MessageExchangeImplSection_Create_Global=Create Global Message Exchange
MessageExchangeImplSection_Create_Local=Create Local Message Exchange
MessageExchangeImplSection_Clear=Clear Message Exchange

MessageExchange_Create_Dialog_Title=Create Message Exchange
MessageExchange_Create_Dialog_NameField_Label=Message Exchange Name


ModelLabelProvider____None____1=-- None --
ModelTreeLabelProvider_s1_s2={0} \: {1}
NameDetails_BPEL_Name__3=N&ame\:
NamespaceMappingDialog_3=Set Namespace Prefix
NamespaceMappingDialog_4=BPEL Namespace Mappings
NamespaceMappingDialog_5=Target Namespace:
NamespaceMappingDialog_6=Prefix Name:
NamespaceMappingDialog_8=Prefix name is not valid.
NamespaceMappingDialog_9=This prefix is already used.
NameDetails_RenameErrorMessage=Element "{0}" already exists.
NamespaceSection_Target_namespace_1=Tar&get namespace\:
NullAssignCategory____None____1=-- None --
NullHandlingLabelProvider____None____1=-- None --
OnAlarmAdapter_OnAlarm_1=OnAlarm
OnEventAdapter_OnEvent_1=OnEvent
OnMessageAdapter_OnMessage_1=OnMessage
OpaqueAssignCategory_An_Opaque_value_is_used_in_abstract_processes__2=An opaque value is used in abstract processes.
OpaqueAssignCategory_Opaque_1=Opaque
OperationAdapter_Operation_1=Operation
OperationAdapter_0={0} - {1}
ElseAdapter_0=Else
ElseConditionDetails_0=The Else will be executed if all If and ElseIf conditions are false.
PaletteFactory_Actions=Actions
PaletteFactory_Control=Control
PaletteFactory_Empty=Empty
PaletteFactory_Faults=Faults
PartAdapter_Part_1=Part
PartLabelProvider__none__1=<none>
PartLabelProvider_result_localPart={0} \: {1}
PartnerLinkAdapter_Partner_1=Partner Link
PartnerLinkAdapter_0={0} - {1}
PartnerLinkImplSection_Browse_1=Browse...
PartnerLinkImplSection_0=Partner Link Type:
PartnerLinkImplSection_1=Click to edit this partnerLinkType.
PartnerLinkImplSection_2=My Role
PartnerLinkImplSection_10=None
PartnerLinkImplSection_11=Initialize Role
PartnerLinkImplSection_4=Partner Role
PartnerLinkImplSection_5=None
PartnerLinkImplSection_6=My Operations:
PartnerLinkImplSection_7=Partner Operations:
PartnerLinkImplSection_8=(None)
PartnerLinkImplSection_9=Unspecified
PartnerLinkSelectorDialog_0=<none>
PartnerLinkSelectorDialog_1=Select a Partner Link
PartnerLinkSelectorDialog_2=Partner Link Name (? \= any character, * \= any String)\:
PartnerLinkSelectorDialog_3=Matches\:
PartnerLinkSelectorDialog_4=Interface\:
PartnerLinkSelectorDialog_5=New Partner Link
PartnerLinkSelectorDialog_6=Partner Link Name
PartnerRoleSelectorDialog_Title_PartnerRole=Choose Partner Role
PartnerRoleSelectorDialog_Title_MyRole=Choose My Role
PartnerLinkTypeAdapter_Partner_Link_Type_1=Partner Link Type
PartnerLinksAdapter_PartnerLinks_1=Partner Links
PartnerLinksEditPart_0=Add Partner Link
PartnerLinksEditPart_1=Remove Partner Link
PartnerLinkTypeAdapter_0={0} - {1}
PartnerLinksEditPart_Partners_1=Partner Links
PartnerLinkTypeSelectorDialog_0=ShowPortTypes
PartnerLinkTypeSelectorDialog_1=Choose Partner Link Type
PartnerLinkTypeSelectorDialog_2=Partner Link Type Structure:
PartnerLinkTypeSelectorDialog_3=Show Partner Link Types
PartnerLinkTypeSelectorDialog_4=Object selected must be either a partnerLinkType or portType
PartnerLinkTypeSelectorDialog_5=Show Port Types
PartnerLinkTypeSelectorDialog_6=Add WSDL
PartnerRoleAssignCategory_Partner_Change_4=Partner Link Change
PartnerRoleAssignCategory_Partner_Reference_1=Partner Link Reference
PartnerRoleAssignCategory_Role_Change_2=Role Change
PartnerRoleAssignCategory_Role__3=Role\:
PortTypeAdapter_Port_Type_2=Interface
ProcessAdapter_Process_1=Process
ProcessContextMenuProvider_Add_1=Add
ProcessContextMenuProvider_Change_Type_3=Change Type
ProcessContextMenuProvider_Insert_Before_2=Insert Before
PropertyAdapter_Property_1=Property
PropertySelectorDialog_Matches_4=Matches\:
PropertySelectorDialog_None_1=(none)
PropertySelectorDialog_Property_Name_wildcards_3=Property Name (? \= any character, * \= any String)\:
PropertySelectorDialog_Property_Type_5=Property Type\:
PropertySelectorDialog_Select_a_Property_2=Select a Property
ReceiveAction_Receive_HTML_Description_1=<H3>Receive</H3><DIV><P>The first activity in any process, the receive activity waits for external input, and channels it into the process. Based on the message it receives, it determines the appropriate activity to execute next.</P></DIV>
ReferencePartnerLinksAdapter_0=Reference Partners
ReferencePartnerLinksEditPart_0=Add Reference Partner Link
ReferencePartnerLinksEditPart_1=Remove Reference Partner Link
RenameAction_Rename_0=Rename
RenameAction_Rename_1=Rename
ReorderInContainerCommand_Reorder_1=Reorder
ReplaceInContainerCommand_Replace_1=Replace
ReplyAction_Reply_HTML_Description_1=<H3>Reply</H3><DIV><P>Use this activity to return a message to the partner that initiated the operation. This activity is used primarily in a synchronous (request/response) operation, and specifies the same partner implementation as the receive activity that invoked the process in the first place. A reply is always sent to the same partner from which a message was previously received.</P></DIV>
RevertAction_0=Revert
RevertRetargetAction_Rever_t_1=Rever&t
RoleAdapter_Role_1=Role
RolePortTypeAdapter_Port_Type_1=Interface
SelectionAndCreationDialog_Error_2=Error
SelectionAndCreationDialog_New_1=New...
SelectionAndCreationDialog_No_elements_were_selected_3=No elements were selected. Please select one or press the Cancel button.
SetCommand_Change_1=Change
SetCommand_Change_2=Change to "{0}"
SetCompensateLinkAction_Set_Compensate_1=Set Compensate Link
SetExtensibilityElementCommand_Change_1=Change
SetPartnerLinkAction_Set_Partner_1=Set Partner Link
SetRequestVarAction_Set_Request_Variable_1=Set Request Variable
SetResponseVarAction_Set_Response_Variable_1=Set Response Variable
SetVariableAction_Select_Request_Variable_2=Select Request Variable
SetVariableAction_Select_Response_Variable_2=Select Response Variable
SimpleAction_Simple_Action_0=Simple Action
StartNodeAdapter_Start_1=Start
TableCursor_ScreenReader_Cell_Action1=Edit field
ToggleAutoFlowLayout_Align_Flow_Contents_Automatically_2=Align Flow Contents Automatically
ToggleAutoFlowLayout_Align_activities_in_Flows_automatically_3=Align activities in Flows automatically
ToggleShowCompensationHandler_Show_Compensation_Handler_2=Show Compensation Handler
ToggleShowCompensationHandler_Shows_compensation_handler_activities_3=Shows termination handler activities
ToggleShowTerminationHandler_Show_Termination_Handler_2=Show Termination Handler
ToggleShowTerminationHandler_Shows_termination_handler_activities_3=Shows compensation handler activities
ToggleShowEventHandler_Show_Event_Handler_2=Show Event Handler
ToggleShowEventHandler_Shows_event_handler_activities_3=Shows event handler activities
ToggleShowFaultHandler_Show_Fault_Handler_2=Show Fault Handler
ToggleShowFaultHandler_Shows_fault_handler_activities_3=Shows fault handler activities
VariableImplDetails_Isolated__6=I&solated
VariablePartAssignCategory_Query__8=&Query\:
VariablePartAssignCategory_Variable_or_Part_1=Variable
VariablePropertyAssignCategory_Property_of_a_Variable_1=Property of a Variable
VariableSelectorDialog_Matches_2=Matches\:
VariableSelectorDialog_New_Variable_4=New Variable
VariableSelectorDialog_None_0=(none)
VariableSelectorDialog_Variable_Name_5=Variable Name
VariableSelectorDialog_Variable_Name_wildcards_1=Variable Name (? \= any character, * \= any String)\:
VariableSelectorDialog_Variable_Type_4=Variable Type\:
VariableTypeSelector_Browse_1=Browse...
VariableTypeSelector_Browse_2=Browse...
VariableTypeSelector_Data_Type_1=&Data Type
VariableTypeSelector_Data_Type_2=Data Type\:
VariableTypeSelector_Direction_1=Direction\:
VariableTypeSelector_Fault_1=Fault
VariableTypeSelector_Fault_2=Fault\:
VariableTypeSelector_Input_1=Input
VariableTypeSelector_Interface_1=&Interface
VariableTypeSelector_Interface_2=Interface\:
VariableTypeSelector_None_1=(None)
VariableTypeSelector_0=Element Type:
VariableTypeSelector_1=Message Type:
VariableTypeSelector_2=Structure:
VariableTypeSelector_3=Click to edit this variable type.
VariableAdapter_0={0} - {1}
VariableTypeSelector_Operation_1=Operation\:
VariableTypeSelector_Output_1=Output
VariablesAdapter_Variables_0=Variables
VariablesEditPart_Add_Variable_1=Add Variable
VariablesEditPart_Remove_Variable_1=Remove Variable
VariablesEditPart_Variables_1=Variables
WaitConditionSection_Date_1=&Date
WaitConditionSection_Duration_2=D&uration

ForEachSection_COUNTER_NAME=Counter &variable name\:
ForEachSection_IS_PARALLEL=&Parallel execution
ForEachSuccessfulBranchesOnlySection_1=Count &successful branches only
ForEachStartCounterValuesSection_TITLE_3=Start Counter Value
ForEachFinalCounterValuesSection_TITLE_3=Final Counter Value

XSDAttributeDeclarationAdapter_XSD_Attribute_1=XSD Attribute
XSDElementDeclarationAdapter_XSD_Element_1=XSD Element
XSDTypeDefinitionAdapter_XSD_Type_1=XSD Type
ZoominToolEntry_Zoom_in_1=Zoom in
ZoomoutToolEntry_Zoom_out_1=Zoom out
TerminationHandlerAdapter_Termination_Handlers_1=Termination Handlers
CreateTerminationHandlerAction_Add_Termination_Handler_1=Add Termination Handler
ValidateDetails_1=&Add
ValidateDetails_2=&Remove
ValidateDetails_3=Variables to validate:
ValidateDetails_4=Select Variable

DateTimeSelector_Month_1=Jan
DateTimeSelector_Month_2=Feb
DateTimeSelector_Month_3=Mar
DateTimeSelector_Month_4=Apr
DateTimeSelector_Month_5=May
DateTimeSelector_Month_6=Jun
DateTimeSelector_Month_7=Jul
DateTimeSelector_Month_8=Aug
DateTimeSelector_Month_9=Sep
DateTimeSelector_Month_10=Oct
DateTimeSelector_Month_11=Nov
DateTimeSelector_Month_12=Dec

ShowPropertiesViewAction_actionText=Show in Properties

ShowPaletteInPaletteViewAction_actionText=Show Palette in Palette View

XSDSimpleTypeDefinitionAdapter_0=Simple Type Definition
XSDComplexTypeDefinitionAdapter_0=Complex Type Definition
XSDSchemaAdapter_0=Schema
XSDSchemaAdapter_1=Schema targetNamespace={0}
XSDSchemaTreeNode_0=Schema
XSDSchemaTreeNode_1=Schema targetNamespace={0}
SchemaImportDialog_2=Browse for an XML Schema to Import
SchemaImportDialog_4=Import Source
SchemaImportDialog_5=Resource
SchemaImportDialog_6=File
SchemaImportDialog_7=URL
SchemaImportDialog_8=Location:
SchemaImportDialog_9=Browse ...
SchemaImportDialog_0=Browse for a WSDL to Import
SchemaImportDialog_10=Select Resource to Import
SchemaImportDialog_11=Available Types:
SchemaImportDialog_13=Invalid location syntax.
SchemaImportDialog_14=Ports and Partner Links:
SchemaImportDialog_15=WSIL
SchemaImportDialog_16=Filter by name
SchemaImportDialog_17=Loading {0} ...
SchemaImportDialog_18=Loaded {0} [{1}ms]
SchemaImportDialog_19=Failed to load {0} [{1}ms]
TypeSelectorDialog_4=Choose type of variable
TypeSelectorDialog_5=Type Name (* or ? are wildcards):
TypeSelectorDialog_7=Type Structure:
TypeSelectorDialog_9=Show XSD Types
TypeSelectorDialog_3=Add Schema
TypeSelectorDialog_10=From Imports
TypeSelectorDialog_11=From Project
TypeSelectorDialog_12=From Workspace
TypeSelectorDialog_14=Primitives
TypeSelectorDialog_15=Simple Types
TypeSelectorDialog_16=Complex Types
TypeSelectorDialog_17=Element Declarations
TypeSelectorDialog_18=Messages
TypeSelectorDialog_19=Show Duplicates
ImportsSection_0=Import a &WSDL ...
ImportsSection_1=Import an &XSD ...
ImportsSection_2=&Remove
ImportsSection_3=Import Type
# Bugzilla 324162
NamespacePrefixesSection=Namespace Prefixes
NamespacePrefixesSection_0=Prefix
NamespacePrefixesSection_1=Namespace
NamespacePrefixesSection_2=Scope
NamespacePrefixesSection_3=Location
NamespacePrefixesSection_4=Assign Prefix
BrowseSelectorDialog_0=Name (* and ? are wildcards):
BrowseSelectorDialog_1=Matches:
BrowseSelectorDialog_2=Browse Source
BrowseSelectorDialog_4=Filter
OutputMessageAdapter_0=Output Message
InputMessageAdapter_0=Input Message
OutlinePage_showOverviewView=Overview
OutlinePage_showOutlineView=Outline
SaveImageAction_1=Question
SaveImageAction_2=Overwrite {0}?
SaveImageAction_3=Error
SaveImageAction_4=Can't save image to the file {0}
DeletePartnerLinkTypeWarningDialogTitle=Warning
DeletePartnerLinkTypeWarningMessage=When you delete the PartnerLink -- ''{0}'', you may delete its reference PartnerLinkType -- ''{1}'' too, do you want to delete the PartnerLinkType?

# Bugzilla 330513
Editor_design_page_error=Error creating the editor Design Page.
Editor_load_error_title=File Open Error
Editor_load_error=Unable to open the input file.

EditModelClient_load_error_title=File Load Error
EditModelClient_bpel_load_error=Unable to load the BPEL file {0}\n It may be corrupt, do you want to continue?
EditModelClient_bpelex_load_error=Unable to load the BPEL extensions file {0}\n It may be corrupt, do you want to continue?
EditModelClient_wsdl_load_error=Unable to load the WSDL file {0}\n It may be corrupt, do you want to continue?

EditModelClient_delete_error_title=File Delete Error
EditModelClient_delete_error_message=Unable to delete the file. See Error Log for more information.

Make_Process_Abstract_Title=Warning
Make_Process_Abstract_Message=Opaque activities are only used in Abstract Processes\n\
    Would you like to convert this process to make it Abstract?