####################################################
# Generic Strings for UI
####################################################
Pageflow.Label.True = true
Pageflow.Label.False = false

Pageflow.Label.Saving 							= Saving  

Pageflow.Dialog.Label.CreateFileTitle 			= Create File
Pageflow.Dialog.Label.FileNotExistedPart1 		= The file 
Pageflow.Dialog.Label.FileNotExistedPart2 		= doesn't exist. Click OK to create it.

####################################################
# Generic Strings for Action and PaletteTool
####################################################
Pageflow.Action.OpenEditor.Label 				= Open
Pageflow.Action.OpenEditor.ToolTip 				= Open Page or Action component

Pageflow.Action.ShowPropertyView.Label 			= Properties
Pageflow.Action.ShowPropertyView.ToolTip		= Show Properties View

Pageflow.Action.ShowPaletteView.Label 			= Palette
Pageflow.Action.ShowPaletteView.ToolTip 		= Show Palette View

Pageflow.Action.SyncWithFacesConfig.Label 		= Synchronize with Faces-config
Pageflow.Action.SyncWithFacesConfig.ToolTip 	= Synchronizing PageFlow Model with Faces-config

Pageflow.Action.UpdateFacesConfig.Label 		= Update Faces-config
Pageflow.Action.UpdateFacesConfig.ToolTip 		= Update Faces-config File from The Current PageFlow

Pageflow.PaletteTool.Group.Controls 			= Controls

Pageflow.PaletteTool.Select.Label 				= Select
Pageflow.PaletteTool.Select.Description 		= Select One or More Items

Pageflow.PaletteTool.Marquee.Label 				= Marquee
Pageflow.PaletteTool.Marquee.Description 		= Marquee One or More Items

Pageflow.PaletteTool.Link.Label 				= Link
Pageflow.PaletteTool.Link.Description 			= Creates a Link

Pageflow.PaletteTool.Group.Nodes 				= Nodes

Pageflow.PaletteTool.Begin.Label 				= Begin
Pageflow.PaletteTool.Begin.Description 			= Creates a PageFlow Begin

Pageflow.PaletteTool.End.Label 					= End
Pageflow.PaletteTool.End.Description 			= Creates a PageFlow End

Pageflow.PaletteTool.Action.Label 				= Action
Pageflow.PaletteTool.Action.Description 		= Creates a PageFlow Action

Pageflow.PaletteTool.Page.Label 				= Page
Pageflow.PaletteTool.Page.Description 			= Creates a PageFlow Page

Pageflow.Contextmenu.Align.Label 				= Align

Pageflow.Contextmenu.ShowView.Label			    = Show View



####################################################
# Generic Strings for Commands
####################################################
Pageflow.Commands.AddNodeCommand.Label          = Add
Pageflow.Commands.CreateNodeCommand.Label		= Create
Pageflow.Commands.DeleteNodeCommand.Label		= Delete

Pageflow.Commands.ConnectionCommand.Label		= Connection
Pageflow.Commands.CreateBendpointCommand.Label	= Create Bendpoint
Pageflow.Commands.MoveBendpointCommand.Label	= Move Bendpoint
Pageflow.Commands.DeleteBendpointCommand.Label	= Delete Bendpoint

Pageflow.Commands.OpenEditorCommand.Label = Open
Pageflow.Commands.OrphanChildCommand.Label		= Orphan Child
Pageflow.Commands.UpdatePageflowCommand.Label		= Update Pageflow

Pageflow.Commands.CreateNodeCommand.SelectJSPDialog.Title = Select JSP File
Pageflow.Commands.CreateNodeCommand.SelectJSPDialog.Description = Please select a jsp file.

####################################################
# Generic Strings for property attribute name 
####################################################
Pageflow.Model.Attributes.comment = description
Pageflow.Model.Attributes.name = display-name
Pageflow.Model.Attributes.largeicon = large-icon
Pageflow.Model.Attributes.smallicon = small-icon

Pageflow.Model.Attributes.action = from-action
Pageflow.Model.Attributes.path = from-view-id
Pageflow.Model.Attributes.begin = begin
Pageflow.Model.Attributes.end = end
Pageflow.Model.Attributes.configfile = config file

Pageflow.Model.Attributes.outcome = from-outcome
Pageflow.Model.Attributes.redirect = redirect

Pageflow.Model.Attributes.fromaction = from-action
Pageflow.Model.Attributes.referenceLink = reference

Pageflow.Model.Items.Pageflow = File
Pageflow.Model.Items.PFBegin = Begin
Pageflow.Model.Items.PFEnd = End
Pageflow.Model.Items.PFPage = Page
Pageflow.Model.Items.PFAction = Action
Pageflow.Model.Items.PFLink = Link


Pageflow.Property.Action.OutcomeSelectionDialog.Choice  = Enter the outcome or select one from action list below:

Pageflow.Property.Action.OutcomeSelectionDialog.Title = Outcome Selection
Pageflow.Property.Action.OutcomeSelectionDialog.JSPName = JSP File Name:
Pageflow.Property.Action.OutcomeSelectionDialog.ActionListTable.Title = Actions
Pageflow.Property.Action.OutcomeSelectionDialog.ActionListTable.Component = Component ID
Pageflow.Property.Action.OutcomeSelectionDialog.ActionListTable.Action = Action

Pageflow.Property.Action.OutcomeSelectionDialog.Outcome = Outcome:

####################################################
#Pageflow validation
####################################################
Pageflow.Validation.UndefinedOutcome =  The outcome \''{0}\'' is not defined in previous page \''{1}\''.
Pageflow.Validation.NotExistedSourcePage =  The source page \''{0}\'' is not existed.
Pageflow.Validation.MissingSourcePage =  The source page should be specified.

Pageflow.Validation.InvalidWebPage = The file \''{0}\'' is not valid web file.
Pageflow.Validation.NotExitedWebPage = The web page  \''{0}\''  is not existed.
Pageflow.Validation.MissingWebPage = The web page's path should be specified.

Pageflow.Validation.MissingManagedBean = The managed bean \''{0}\'' is not defined.
Pageflow.Validation.MissingAction = The action should be specified.
