###############################################################################
#  Copyright (c) 2000, 2012 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
###############################################################################
### Runtime jobs plugin messages

### Job Manager and Locks
jobs_blocked0=The user operation is waiting for background work to complete.
jobs_blocked1=The user operation is waiting for \"{0}\" to complete.
jobs_internalError=An internal error occurred during: \"{0}\".
jobs_waitFamSub={0} operations remaining.
jobs_waitFamSubOne={0} operation remaining.
jobs_returnNoStatus=Job of type {0} returned no status.

### metadata
meta_pluginProblems = Problems occurred when invoking code from plug-in: \"{0}\".
