###############################################################################
# Copyright (c) 2007, 2009 Mylyn project committers 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:
#     David Green - initial API and implementation
###############################################################################

Bundle-Vendor.0 = Eclipse Mylyn
Bundle-Name.0 = Mylyn WikiText Twiki UI

template.description.0 = *bold*
template.description.1 = _italic_
template.description.2 = __bold italic__
template.description.3 = =fixed font=
template.description.4 = ==bold fixed==
template.description.5 = Heading 1
template.description.6 = Heading 2
template.description.7 = Heading 3
template.description.8 = Heading 4
template.description.9 = Heading 5
template.description.10 = Heading 6
template.description.11 = List (bulleted)
template.description.12 = List (level 2, bulleted)
template.description.13 = List (numeric)
template.description.14 = List (roman numeric)
template.description.15 = Definition List
template.description.16 = Verbatim
template.description.17 = Literal
template.description.18 = separator (horizontal rule)