###############################################################################
# Copyright (c) 2004, 2010 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
###############################################################################
## The following line is a sample JSP document.  Please translate only the following parts:
## Use below tags ONLY for JSP 1.1
## Welcome!
## Use below tags ONLY for JSP 1.2
## Welcome!
Sample_JSP_doc=<%@ page \n\tlanguage=\"java\" \n\tcontentType=\"text/html; charset=ISO-8859-1\"\n%>\n<jsp:include flush=\"true\" page=\"titleBar.jsp\"/>\n\n<%-- Use below tags ONLY for JSP 1.1 --%>\n<%\n\tSystem.out.println(\"Welcome!\");\n%>\n<%-- Use below tags ONLY for JSP 1.2 --%>\n<jsp:scriptlet>\n\tSystem.out.println(\"Welcome!\");\n</jsp:scriptlet>
JSP_Delimiters_UI_=Scripting Element Delimiters
Refactor_label=Refactor
RenameElement_label=Rename
MoveElement_label=Move
MoveElementWizard=Move the selected elements
#
OK=OK
BreakpointNotAllowed=A breakpoint is not allowed on this line
JSP_changes=JSP changes
ActionContributorJSP_0=Refa&ctor
JSPRenameElementAction_0=Editor selection does not resolve to a renamable Java element
JSPMoveElementAction_0=Editor selection does not resolve to movable Java elements
BasicRefactorSearchRequestor_0=JSP Rename
BasicRefactorSearchRequestor_1=in file: {0} line: {1}
BasicRefactorSearchRequestor_2=Move Type ''{0}'' to package ''{1}''
BasicRefactorSearchRequestor_3=Rename Method ''{0}'' to ''{1}''
BasicRefactorSearchRequestor_4=Rename Type ''{0}'' to ''{1}''
BasicRefactorSearchRequestor_5=Rename Package ''{0}'' to ''{1}''
BasicRefactorSearchRequestor_6=JSP Rename Change
BasicRefactorSearchRequestor_7=Rename Field ''{0}'' to ''{1}''
#
_UI_WIZARD_NEW_TITLE = New JSP File
_UI_WIZARD_NEW_HEADING = JSP
_UI_WIZARD_NEW_DESCRIPTION = Create a new JSP file.
_UI_WIZARD_TAG_NEW_TITLE = New Tag File
_UI_WIZARD_TAG_NEW_HEADING = Tag File
_UI_WIZARD_TAG_NEW_DESCRIPTION = Create a new Tag.
_ERROR_FILENAME_MUST_END_JSP = The file name must end in one of the following extensions {0}. 
_WARNING_FILE_MUST_BE_INSIDE_JAVA_PROJECT = JavaServer Pages created in projects that do not support Java might not work as expected. 
_WARNING_FOLDER_MUST_BE_INSIDE_WEB_CONTENT = Files created outside of the Web Content folder will not be included in your deployed Web application. 
ResourceGroup_nameExists = The same name already exists.
NewJSPTemplatesWizardPage_0=Select JSP Template
NewJSPTemplatesWizardPage_1=Select a template as initial content in the JSP page.
NewJSPTemplatesWizardPage_2=Name
NewJSPTemplatesWizardPage_3=Description
NewJSPTemplatesWizardPage_4=&Use JSP Template
NewJSPTemplatesWizardPage_5=&Preview:
NewJSPTemplatesWizardPage_6=Templates are 'New JSP' templates found in the <a>JSP Templates</a> preference page.
NewJSPTemplatesWizardPage_7=&Templates:
NewTagTemplatesWizardPage_0=Select Tag file Template
NewTagTemplatesWizardPage_1=Select a template as initial content in the Tag file.
NewTagTemplatesWizardPage_2=Name
NewTagTemplatesWizardPage_3=Description
NewTagTemplatesWizardPage_4=&Use Tag file Template
NewTagTemplatesWizardPage_5=&Preview:
NewTagTemplatesWizardPage_6=Templates are 'New Tag' templates found in the <a>JSP Templates</a> preference page.
NewTagTemplatesWizardPage_7=&Templates:
# Copied from sse.ui
CleanupDocument_label=Cleanup Document...
CleanupDocument_tooltip=Cleanup Document
CleanupDocument_description=Cleanup Document
ToggleComment_label=Toggle Comment
ToggleComment_tooltip=Toggle Comment
ToggleComment_description=Toggle Comment
AddBlockComment_label=Add Block Comment
AddBlockComment_tooltip=Add Block Comment
AddBlockComment_description=Add Block Comment
RemoveBlockComment_label=Remove Block Comment
RemoveBlockComment_tooltip=Remove Block Comment
RemoveBlockComment_description=Remove Block Comment
FindOccurrences_label=Occurrences in File
OccurrencesSearchQuery_0={0} - {1} Occurrences in {2}
OccurrencesSearchQuery_2=file
Content_Assist_not_availab_UI_=Content Assist not available at the current location
Java_Content_Assist_is_not_UI_=Java Content Assist is not available for the current cursor location
#
Override_method_in=Override method in '
Creating_files_encoding=Creating files encoding preference
#
JSPSourcePreferencePage_0=JSP Source preferences are based on the content within the JSP.
JSPSourcePreferencePage_1=See <a>''{0}''</a> for JSP with HTML content.
JSPSourcePreferencePage_2=See <a>''{0}''</a> for JSP with XML content.
JSPColorPage_jsp_content=Scripting Elements
JSPFilesPreferencePage_0=Validating files
JSPFilesPreferencePage_1=Validate JSP fragments
# JSP Fragments
JSPFContentSettingsPropertyPage_0=none
JSPFContentSettingsPropertyPage_1=The properties used instead of the page directive that cannot be specified in JSP fragment files.  The project setting is used if you specify "none."
JSPFContentSettingsPropertyPage_2=Language:
JSPFContentSettingsPropertyPage_3=Content Type:
JSPFContentSettingsPropertyPage_4=Enable specific setting:
ProjectJSPFContentSettingsPropertyPage_0=The properties for J2EE Web projects act as "project" default to be looked up when no properties are specified for a particular JSP fragment file.
# CSS JSP
Title_InvalidValue=Invalid Value
Message_InvalidValue=Invalid property value.

SyntaxColoringPage_0=Syntax Element:
SyntaxColoringPage_2=Enable
SyntaxColoringPage_3=&Bold
SyntaxColoringPage_4=&Italic
SyntaxColoringPage_5=&Strikethrough
SyntaxColoringPage_6=&Underline
_UI_STRUCTURED_TEXT_EDITOR_PREFS_LINK=JSP editing preferences.  Note that some preferences may be set on the <a>{0}</a> preference page.

# JSP Typing Preference Page
JSPTyping_Auto_Complete=Automatically close
JSPTyping_Complete_Scriptlets=&Scriptlet regions
JSPTyping_Complete_Braces=&Braces in EL expressions
JSPTyping_Complete_Comments=&JSP comments
JSPTyping_Java_Code=Java
JSPTyping_Close_Strings=Automatically close "s&trings"
JSPTyping_Close_Brackets=Automatically close (parentheses), [square] and <angle> brac&kets
# Validation page strings
Validation_description=Select the severity level for the following validation problems:
Validation_Warning=Warning
Validation_Error=Error
Validation_Ignore=Ignore
JSPValidationPreferencePage_0=Errors/Warnings

VALIDATION_HEADER_DIRECTIVE=Directives
VALIDATION_DIRECTIVE_TAGLIB_DUPLICATE_PREFIXES_DIFFERENT_URIS=Same prefix used for different URIs or tagdir:
VALIDATION_DIRECTIVE_TAGLIB_DUPLICATE_PREFIXES_SAME_URIS=Redundant tag library directive:
VALIDATION_DIRECTIVE_TAGLIB_MISSING_PREFIX=No prefix specified:
VALIDATION_DIRECTIVE_TAGLIB_MISSING_URI_OR_TAGDIR=No URI or tagdir specified:
VALIDATION_DIRECTIVE_TAGLIB_UNRESOLVABLE_URI_OR_TAGDIR=Unresolvable URI or tagdir:
VALIDATION_DIRECTIVE_PAGE_SUPERCLASS_NOT_FOUND=Superclass not found:
VALIDATION_DIRECTIVE_INCLUDE_NO_FILE_SPECIFIED=Included fragment file not specified:
VALIDATION_DIRECTIVE_INCLUDE_FILE_NOT_FOUND=Included fragment file not found:

VALIDATION_HEADER_JAVA=Java
VALIDATION_JAVA_NOTICE=These values override those on the <a>Errors/Warnings</a> page:
VALIDATION_JAVA_LOCAL_VARIABLE_NEVER_USED=Local variable never used:
VALIDATION_JAVA_ARGUMENT_IS_NEVER_USED=Parameter is never read:
VALIDATION_JAVA_NULL_LOCAL_VARIABLE_REFERENCE=Null pointer access:
VALIDATION_JAVA_POTENTIAL_NULL_LOCAL_VARIABLE_REFERENCE=Potential null pointer access:
VALIDATION_JAVA_UNUSED_IMPORT=Unused import:
	
VALIDATION_HEADER_EL=Expression Language
VALIDATION_EL_SYNTAX=EL Syntax problem:
VALIDATION_EL_LEXER=Unable to analyze EL expression due to lexical analysis error: 
VALIDATION_EL_FUNCTION_UNDEFINED=Function is undefined:

VALIDATION_HEADER_CUSTOM_ACTIONS=Custom actions
VALIDATION_ACTIONS_SEVERITY_MISSING_REQUIRED_ATTRIBUTE=Missing required attribute:
VALIDATION_ACTIONS_SEVERITY_UNKNOWN_ATTRIBUTE=Unknown attribute:
VALIDATION_ACTIONS_SEVERITY_UNEXPECTED_RTEXPRVALUE=Attribute does not support runtime expressions:
VALIDATION_ACTIONS_SEVERITY_NON_EMPTY_INLINE_TAG=Tag declared with empty content has content:
VALIDATION_TRANSLATION_TEI_VALIDATION_MESSAGE=TagExtraInfo validation message:
VALIDATION_TRANSLATION_TEI_CLASS_NOT_FOUND=TagExtraInfo class not on Java Build Path:
VALIDATION_TRANSLATION_TEI_CLASS_NOT_INSTANTIATED=Failure instantiating TagExtraInfo class:
VALIDATION_TRANSLATION_TEI_CLASS_RUNTIME_EXCEPTION=Other problems with TagExtraInfo class:	
VALIDATION_TRANSLATION_TAG_HANDLER_CLASS_NOT_FOUND=Classic tag handler class not on Java Build Path:

VALIDATION_HEADER_STANDARD_ACTIONS=Standard actions
VALIDATION_TRANSLATION_USEBEAN_INVALID_ID=Invalid 'id' specified for jsp:useBean:
VALIDATION_TRANSLATION_USBEAN_MISSING_TYPE_INFO=Missing type information for jsp:useBean:
VALIDATION_TRANSLATION_USEBEAN_AMBIGUOUS_TYPE_INFO=Ambiguous type information for jsp:useBean:

Open=Open ''{0}''
TLDHyperlink_hyperlinkText=Open Descriptor
CustomTagHyperlink_hyperlinkText=Open Declaration
TLDContentOutlineConfiguration_0=Show Content Values
TagPropertyPage_desc=Specify the surrounding language used in this tag file:

JSPFilesPreferencePage_Search_group=Search
JSPFilesPreferencePage_Supply_JSP_search_to_Java_search=&Include JSP matches in Java searches

JSPCodeAssist_Insertion=Insertion
JSPCodeAssist_Auto_Import=Add import instead of &qualified name
Cycling_UI=Cycling