###############################################################################
# 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.comment.name=commento
Templates.comment.desc=commento
Templates.ul.name=ul
Templates.ul.desc=ul     (modello)
Templates.ul.content=<ul>\n  <li> Elemento uno </li>\n  <li> Elemento due </li>\n</ul>\n
Templates.dl.name=dl
Templates.dl.desc=dl     (modello)
Templates.dl.content=<dl>\n  <dt> Prima definizione  <dd>  Prima spiegazione\n  <dt> Seconda definizione <dd> Seconda spiegazione\n</dl>\n
Templates.table.name=tabella
Templates.table.desc=tabella     (modello)
Templates.table.content=<table border>\n  <tr>\n    <th>Intestazione colonna 1</th>\n    <th>Intestazione colonna 2</th>\n  </tr>\n  <tr>\n    <td>Riga 1: Colonna 1</td>\n    <td>Riga 1: Colonna 2</td>\n  </tr>\n</table>\n
Templates.ol.name=ol
Templates.ol.desc=ol     (modello)
Templates.ol.content=<ol>\n  <li> Elemento uno </li>\n  <li> Elemento due </li>\n</ol>\n
Templates.html.name=html
Templates.html.desc=html    (modello)
Templates.html.content=<html>\n<head>\n<title>Inserire il titolo in questo punto</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
Templates.script.name=script
Templates.script.desc=script     (commentato)
Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
Templates.style.name=stile
Templates.style.desc=stile      (commentato)
Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
Templates.imgmap.name=img
Templates.imgmap.desc=img     (mappa)
