# <copyright>
# 
# Copyright (c) 2013 itemis and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
# 
# Contributors: 
#     itemis - Initial API and implementation
# 
# </copyright>

# -------------------------------------------------------- #
#  Platform messages from org.eclipse.sphinx.pde.messages  #
# -------------------------------------------------------- #

job_convertProjectsToPlugin=Converting Projects to Plug-ins
job_convertProjectToPlugin=ConvertProjectToPlugin
