###############################################################################
# Copyright (c) 2012, 2013 Stefan Seelmann 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:
#     Stefan Seelmann - initial API and implementation
###############################################################################

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

template.description.br = line break
template.description.h1 = Heading 1
template.description.h2 = Heading 2
template.description.h3 = Heading 3
template.description.h4 = Heading 4
template.description.h5 = Heading 5
template.description.h6 = Heading 6
template.description.lb = List (bulleted)
template.description.ln = List (numeric)
template.description.bq = Block quote
template.description.li = Link (inline) - [Text](http://www.example.com "Optional title")
template.description.lr = Link (footnote) - [Text][id]
template.description.ls = Link (simple) - <http://www.example.com>
template.description.ii = Image (inline) - ![Alt text](path/to/image.png "Optional title")
template.description.ir = Image (footnote) - ![Alt text][id]
