###############################################################################
# Copyright (c) 2004 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_=JSP Delimiters
Refactor.label=R&efactor
RenameElement.label=Re&name
MoveElement.label=Mo&ve
#
OK=OK
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}''
JSPSearchUIConfiguration.0=JSP Search - 1 Match
JSPSearchUIConfiguration.1=JSP Search - {0} Matches
JSPJavaOpenOnJSP.0=Open
JSPJavaOpenOnJSP.1=Select or enter the element to open:
TemplateContextTypeJSPAttribute.0=JSP Attributes
TemplateContextTypeJSPAttributeValue.0=JSP Attribute Values
TemplateContextTypeJSP.0=All JSP
TemplateContextTypeJSPTag.0=JSP Tags
