###############################################################################
# Copyright (c) 2010 Tasktop Technologies 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:
#     Tasktop Technologies - initial API and implementation
###############################################################################
#Properties file for org.eclipse.mylyn.ide.capabilties

Bundle-Vendor = Eclipse Mylyn
Bundle-Name = Mylyn Capabilities (Incubation)

activity.category.name = Task Management
activity.Task_Focused_Interface.name = Task-Focused Interface
activity.Task_Management.name = Task Management
activity.WikiText.name = WikiText

activity.cat.tasks=Task Management
activity.cat.tasks.desc=Use task management for integrated task management, the task-focused interface and wiki markup editing.
