###############################################################################
# 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.
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?