###############################################################################
# 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=coment\u00e1rio
Templates.comment.desc=coment\u00e1rio
Templates.ul.name=ul
Templates.ul.desc=ul     (modelo)
Templates.ul.content=<ul>\n<li> Item um </li>\n<li> Item dois </li>\n</ul>\n
Templates.dl.name=dl
Templates.dl.desc=dl     (modelo)
Templates.dl.content=<dl>\n<dt> Primeira defini\u00e7\u00e3o  <dd>  Primeira explica\u00e7\u00e3o\n<dt> Segunda defini\u00e7\u00e3o <dd> Segunda explica\u00e7\u00e3o\n</dl>\n
Templates.table.name=tabela
Templates.table.desc=tabela    (modelo)
Templates.table.content=<table border>\n<tr>\n<th>T\u00edtulo da Coluna 1</th>\n<th>T\u00edtulo da Coluna 2</th>\n</tr>\n <tr>\n<td>Linha 1: Col 1</td>\n<td>Linha 1: Col 2</td>\n</tr>\n</table>\n
Templates.ol.name=ol
Templates.ol.desc=ol     (modelo)
Templates.ol.content=<ol>\n<li> Item um </li>\n<li> Item dois </li>\n</ol>\n
Templates.html.name=html
Templates.html.desc=html    (modelo)
Templates.html.content=<html>\n<head>\n<title>Inserir t\u00edtulo aqui</title>\n</head>\n<body>\n${cursor}\n</body>\n</html>
Templates.script.name=script
Templates.script.desc=script     (comentado)
Templates.script.content=<script type=\"${cursor}text/javascript\">\n<!--\n\n//-->\n</script>
Templates.style.name=estilo
Templates.style.desc=estilo    (comentado)
Templates.style.content=<style>\n<!--\n${cursor}\n-->\n</style>
Templates.imgmap.name=img
Templates.imgmap.desc=img     (mapa)
