###############################################################################
# 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
###############################################################################
Templates.jspscriptlet.name=JSP \u30b9\u30af\u30ea\u30d7\u30c8\u30ec\u30c3\u30c8
Templates.jspscriptlet.desc=JSP \u30b9\u30af\u30ea\u30d7\u30c8\u30ec\u30c3\u30c8 <%..%>
Templates.jspscriptlet.content=<% ${cursor} %>
Templates.jsphiddencomment.name=JSP \u96a0\u3057\u30b3\u30e1\u30f3\u30c8
Templates.jsphiddencomment.desc=JSP \u96a0\u3057\u30b3\u30e1\u30f3\u30c8 <%-- --%>
Templates.jsphiddencomment.content=<%-- ${cursor} --%>
Templates.jspdeclaration.name=JSP \u5ba3\u8a00
Templates.jspdeclaration.desc=JSP \u5ba3\u8a00 <%!..%>
Templates.jspdeclaration.content=<%! ${cursor} %>
Templates.jspexpression.name=JSP \u5f0f
Templates.jspexpression.desc=JSP \u5f0f <%=..%>
Templates.jspexpression.content=<%= ${cursor} %>
Templates.jspincludedirective.name=JSP \u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
Templates.jspincludedirective.desc=JSP \u30a4\u30f3\u30af\u30eb\u30fc\u30c9\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
Templates.jspincludedirective.content=<%@ include file="${cursor}" %>
Templates.jsppagedirective.name=JSP \u30da\u30fc\u30b8\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
Templates.jsppagedirective.desc=JSP \u30da\u30fc\u30b8\u30fb\u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
Templates.jsppagedirective.content=<%@ page contentType="text/html; charset=${encoding}" ${cursor}%>
Templates.jsptaglibdirective.name=JSP taglib \u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
Templates.jsptaglibdirective.desc=JSP taglib \u30c7\u30a3\u30ec\u30af\u30c6\u30a3\u30d6
Templates.jsptaglibdirective.content=<%@ taglib uri="" prefix="${cursor}" %>
Templates.jspcomment.name=JSP \u30b3\u30e1\u30f3\u30c8
Templates.jspcomment.desc=JSP \u30b3\u30e1\u30f3\u30c8 <!-- -->
Templates.jspcomment.content=<!-- ${cursor} -->
