###############################################################################
# Copyright (c) 2001, 2008 Oracle 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:
#     Oracle Corporation - initial API and implementation
###############################################################################
####################################################
# Resource message for Logging
####################################################
Log.Error.PageDesignerResources.Open=Error occurred getting the source bundle.
Log.Error.MessageFormater.Format0=Error in message format.
Log.Error.ExtensionReader.ReadLinkExtension=can't create linkCreator instance
Log.Error.PreviewResources.ResouceNotFound=resource {0} not found

Error.StringBufferWriter.Write.0=Error in string buffer writing.
Error.RangeModeCommand.SetSelection=Selection error
Error.SourceViewerCommand.Execution=Error in command execution
Error.PDPlugin.Installation.0=Error starting plug-in.
Error.PDPlugin.Installation.1=Problems starting plug-in Web Application Development.
Error.PDPlugin.Installation.6=Problems starting plug-in Web Application Development.
Error.DesignerPropertyTool.NatureQuerying=Error in project Java nature querying.
Error.PDPlugin.Installation.10=log.PDPlugin.image.error
Error.PDPlugin.Installation.13=log.PDPlugin.image.error
Error.PDPlugin.Installation.15=error in installtion query.
Error.ProjectResolver.GetlocationByURI.0=Error in taglib locating.
Error.ProjectFileDialogContentProvider.0=Core error, you may need to restart the application.
Error.EditValidateUtil.Position = Error in position validation.
Error.EditValidateUtil.Text = Error occurred in text validation.
Error.EditValidateUtil.Node = Error occurred in node validation.
Error.EditValidateUtil.Range = Error occurred in range validation.
Error.EditValidateUtil.StringIndex = Invalid string.
Error.EditValidateUtil.IndexOffset = Invalid index or offset of string.
CSSColorConverter.0=Error in color expression:
CSSColorConverter.1=Error in color expression:
Error.CSSFigure.0=Error in flowContext setting.
Error.CSSUtil.0=Could not cast to CSS style
Error.CSSUtil.1=Could not cast to CSS style
Error.CSSUtil.2=Could not cast to CSS style
Error.CSSUtil.3=Could not cast to CSS style
Error.HTMLEditor.0=
Error.HTMLEditor.1=Error occurred getting storage contents
Error.HTMLEditor.2=Error occurred closing content.
Error.HTMLEditor.3=The core has exception
Error.HTMLEditor.4=Error occurred closing stream.
Error.HTMLEditor.5=Error occurred initializing the editor.
Error.HTMLEditor.6=Error occurred changing the page.
Error.FontSizeMeta.0=Error occurred in tag font attribute calculating.
Error.EditModelQuery.0=Error in position creation:
Error.EditModelQuery.1=Error occurred getting node at indexed position
Error.CommonResourceDialog.0.1=Error in project memeber querying
Error.CommonResourceDialog.0.2=Please refer to error log for details
Error.ImgFileFilter.1=CoreException is thrown, please refer to error log for details
Error.ImgFileFilter.3=CoreException is thrown, please refer to error log for details
Error.ImgFileFilter.0=Error in filtering the tree
Error.ImgFileFilter.2=Error in getting project Nature
Info.FontWeightMeta.0=Error occurred in integer processing.
Warn.PolicyHelper.0=cannot get status line manager
Warn.PolicyHelper.1=viewer is not HTML viewer
HTMLSpecialCharHelper.3=Exception thrown
HTMLSpecialCharHelper.2=Truncated & without ;
HTMLSpecialCharHelper.1=Not an entity and not a &\#XXXX;
HTMLSpecialCharHelper.0=Error in number expression

####################################################
# Resource message for RenderingTraverser
####################################################
RenderingTraverser.Error.FileNotFound		=	File Not Found
RenderingTraverser.Error.UnsupportedEncoding	=	Unsupport Encoding
RenderingTraverser.Error.IO		=	IO exception

PaletteItemManager.error=error in constructor
PaletteItemManager.initForPluginExtension.error.IOException=IOExcetpion in initForPluginExtension error
PaletteItemManager.initForPluginExtension.error.MalformedURLException=MalformedURLException in initForPluginExtension
PaletteItemManager.initForPluginExtension.error.InstantiationException=InstantiationException in initForPluginExtension
PaletteItemManager.save.error.IOException=IOException when save
ParagraphSupport.CommandLabel.Preformated=Preformated
PaletteItemManager.loadPaletteItemState.error.IOException=IOException in loadPaletteItemState
PaletteItemManager.loadPaletteItemState.error.SAXException=SAXException in loadPaletteItemState
PaletteItemManager.loadPaletteItemState.error.getDocumentBuilderFail=getDocumentBuilder Failed

PreviewUtil.previewFile.CoreException= CoreException previewing file
PreviewUtil.previewFile.IOException= IOException previewing file

#context menu
ActionGroup.Submenu.TextStyle=Text Style
ActionGroup.Submenu.Align=Align
ActionGroup.Submenu.ParagraphFormat=Paragraph Format
ActionGroup.Submenu.StyleClasses=Style Classes
ActionGroup.Submenu.BorderStyle=Border Style
ActionGroup.Submenu.Color=Color
ActionGroup.Submenu.BackgroundColor=Background Color
ActionGroup.Submenu.Link=Make Link...
ActionGroup.Submenu.SelectRelative=Select Relative

TableActionGroup.Submenu.SelectTable=Select Table
TableActionGroup.Submenu.InsertRowBefore=Insert Row Before
TableActionGroup.Submenu.InsertRowAfter=Insert Row After
TableActionGroup.Submenu.InsertColumnBefore=Insert Column Before
TableActionGroup.Submenu.InsertColumnAfter=Insert Column After
TableActionGroup.Submenu.DeleteRow=Delete Row
TableActionGroup.Submenu.DeleteColumn=Delete Column
ElementEdit.Submenu.Table=Table
ElementEdit.Submenu.SelectTable=Select Table
ElementEdit.Submenu.InsertRowBefore=Insert Row Before
ElementEdit.Submenu.InsertRowAfter=Insert Row After
ElementEdit.Submenu.InsertColumnBefore=Insert Column Before
ElementEdit.Submenu.InsertColumnAfter=Insert Column After
ElementEdit.Submenu.DeleteRow=Delete Row
ElementEdit.Submenu.DeleteColumn=Delete Column
ElementEdit.Submenu.InsertHeader=Insert Header
ElementEdit.Submenu.InsertFooter=Insert Footer
ElementEdit.Submenu.DeleteHeader=Delete Header
ElementEdit.Submenu.DeleteFooter=Delete Footer
ElementEdit.Submenu.Taglib=Open Definition File
TableInsertHeaderFooterCommand.ColumnHeader=Column Header
TableInsertHeaderFooterCommand.ColumnFooter=Column Footer

Action.Name.Copy=Copy
Action.Name.Cut=Cut
Action.Name.Paste=Paste

Message.Warning.Title=Warning
Taglib.OpenFile.ERROR=The file that the URI refers to does not exist.

MakeLinkAction.Wizard.PageTitle=Please select link type
CreateLinkWizard.Title=Select Link Type
LinkWizardPage.GroupTitle=Link Types
LinkWizardPage.PreviewLabel=Preview

ItemCreationEditPolicy.CommandLabel.CreateItem=Create Item
MakeLinkCommand.Label.MakeLink=Make Link
AttributePropertySource.CommandLabel.ChangeAttribute=Change Attribute
ChangeAttributeAction.CommandLabel.ChangeStyleClass=Change Style Class
BorderStyleSupport.CommandLabel.Hidden=Hidden
BorderStyleSupport.CommandLabel.Dotted=Dotted
BorderStyleSupport.CommandLabel.Dashed=Dashed
BorderStyleSupport.CommandLabel.Solid=Solid
BorderStyleSupport.CommandLabel.Double=Double
BorderStyleSupport.CommandLabel.Groove=Groove
BorderStyleSupport.CommandLabel.Ridge=Ridge
BorderStyleSupport.CommandLabel.Inset=Inset
BorderStyleSupport.CommandLabel.Outset=Outset
ColorSupport.CommandLabel.Aqua=Aqua
ColorSupport.CommandLabel.Black=Black
ColorSupport.CommandLabel.Blue=Blue
ColorSupport.CommandLabel.Fuchsia=Fuchsia
ColorSupport.CommandLabel.Gray=Gray
ColorSupport.CommandLabel.Green=Green
ColorSupport.CommandLabel.Lime=Lime
ColorSupport.CommandLabel.Maroon=Maroon
ColorSupport.CommandLabel.Navy=Navy
ColorSupport.CommandLabel.Olive=Olive
ColorSupport.CommandLabel.Orange=Orange
ColorSupport.CommandLabel.Purple=Purple
ColorSupport.CommandLabel.Red=Red
ColorSupport.CommandLabel.Silver=Silver
ColorSupport.CommandLabel.Teal=Teal
ColorSupport.CommandLabel.White=White
ColorSupport.CommandLabel.Yellow=Yellow
ColorSupport.CommandLabel.Default=Default
ParagraphSupport.CommandLabel.None=None
ParagraphSupport.CommandLabel.Paragraph=Paragraph
ParagraphSupport.CommandLabel.Heading1=Heading 1
ParagraphSupport.CommandLabel.Heading2=Heading 2
ParagraphSupport.CommandLabel.Heading3=Heading 3
ParagraphSupport.CommandLabel.Heading4=Heading 4
ParagraphSupport.CommandLabel.Heading5=Heading 5
ParagraphSupport.CommandLabel.Heading6=Heading 6
ParagraphSupport.CommandLabel.P=P
ParagraphSupport.CommandLabel.H1=H1
ParagraphSupport.CommandLabel.H2=H2
ParagraphSupport.CommandLabel.H3=H3
ParagraphSupport.CommandLabel.H4=H4
ParagraphSupport.CommandLabel.H5=H5
ParagraphSupport.CommandLabel.H6=H6
ParagraphSupport.CommandLabel.PRE=PRE
HTagsInsertGroupAction.ActionLabel.Hx=Hx
RangeStyleSupport.ActionLabel.Bold=Bold
RangeStyleSupport.ActionLabel.Italic=Italic
RangeStyleSupport.ActionLabel.Underline=Underline
ShowAllAction.ActionLabel.ShowAll=Show All
AlignSupport.ActionLabel.Left=Left
AlignSupport.ActionLabel.Center=Center
AlignSupport.ActionLabel.Right=Right
AlignSupport.ActionLabel.Justify=Justify

Info.ElementDescReader.ReadPropertyFile=The property file:{0} is not found
Info.ElementDescReader.ReadPropertyFile.Key=The key:{0} is not found in file:{1}
ChangeStyleAction.Text=Edit Style...

Log.Error.HTMLStringTagConverter.Error=Error
ConverterUtil.Description= Drag and drop Web page content here

SimpleGraphicalEditor.help.id=org.eclipse.jst.pagedesigner.graphicalEditor
DesignerTabbedPropertySheetPage.help.id=org.eclipse.jst.pagedesigner.QuickEditor
MyPropertySheetPage.help.id=org.eclipse.jst.pagedesigner.Attributes
StyleDialog.help.id=org.eclipse.jst.pagedesigner.styleDialog
DesignerPaletteViewerProvider.help.id=org.eclipse.jst.pagedesigner.palette_help

StyleClassSupport.Default=Default
XMLUtil.Error.0=Error in create documentBuilder:
XMLUtil.Error.2=Error in object persistance:
PreviewUtil.Error.0=Error occurred processing the resource bundle:
PreviewUtil.Error.3=Error occurred opening the file:
PreviewHandlerNew.Error.0=Error in model release:
PreviewConvertContext.Error.0=Error:
CellEditorFactoryRegistry.Info.2=Error in fields retrieving:
CellEditorFactoryRegistry.Info.3=Error in fields retrieving:
PageExpressionContext.Info.0=Error:
TextLayoutSupport.Info.1=Error in text painting:

CMRegistry.ReadConfigration=Reading Properties Configurations
CMRegistry.HTMLConfigration=Reading HTML Configuration ...
CMRegistry.JSPConfigration=Reading JSP Configuration ...
CMRegistry.OtherConfigration=Reading Other Configuration ...

HTMLEditor.Design=Design
HTMLEditor.Source=Source

LocalSelectionDropTargetListener.MessageDialog.Title=Info
LocalSelectionDropTargetListener.MessageDialog.Message=The page is deleted, save it first.

LoadBundleTagConverter.convertRefresh.MalformedURLException= MalformedURLException in LoadBundleTagConverter
LoadBundleTagConverter.convertRefresh.IOException= IOException in LoadBundleTagConverter

Warning.TransformOperationFactory.ExtensionNotFound=ITransformOperation id not found in pageDesigner extension registry ("{0}")
Warning.TransformOperationFactory.CannotLoadOpClass=Unable to load tag transform operation Class for id ("{0}")
Warning.TransformOperationFactory.ClassNotFound=ITransformOperation class specified by name in metadata not found ("{0}")
Warning.TransformOperationFactory.IllegalAccess=ITransformOperation class specified by name in metadata could not be legally accessed ("{0}")
Warning.TransformOperationFactory.Instantiation=ITransformOperation class specified by name in metadata could not be instantiated ("{0}")
Warning.TransformOperationFactory.NotAbstractTransformOperation=ITransformOperation class specified by name in metadata does not extend AbstractTransformOperation ("{0}")
Warning.TransformOperationFactory.UnknownOperationID=Unknown operation ID specified in metadata ("{0}")
Warning.TransformOperationFactory.TooFewParameters=Too few parameters specified in metadata for operation ("{0}")
Warning.TransformOperationFactory.RegistryError=Unable to read "{0}" extension registry

#Errors relating to ITagCreator et al.
Error.TagCreatorMustBeOfType=ITagCreator instances must be of type {0}.
Error.ProblemLoadingExtensionPoint=Problem loading ITagCreatorFactory extension Point
Error.ProblemLoadingTagCreatorFactory=Problem loading tag creator factory: {0}
Error.ProblemLoadingExecutingTagCreator=Problem executing tag creator: {0}

#Property Sheet
QuickEditTab.no_quick_edit_md=No quick edit properties are available for the current selection