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

HeadElementEdit.Submenu.InsertStylesheetLink=Stylesheet Link

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

Warning.DTResourceProviderFactory.RegistryError=Unable to read "{0}" extension registry
Warning.DTResourceProviderFactory.ClassNotFound=DT resource provider class "{0}" specified for id "{1}" could not be found

Warning.ProviderClassMap.IllegalAccess=DT resource provider class "{0}" specified for id "{1}" could not be legally accessed
Warning.ProviderClassMap.Instantiation=DT resource provider class "{0}" specified for id "{1}" could not be instantiated
Warning.ProviderClassMap.NotIDTResourceProvider=DT resource provider class "{0}" is not correct type (must be IDTResourceProvider)

Warning.DefaultDTSkin.FailureLoadingStyleSheet=DefaultDTSkin "{0}" failed to load a StyleSheet for the URL "{1}"

#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