###############################################################################
# Copyright (c) 2007 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
###############################################################################

pluginName = Eclipse Sound UI Plug-in (Incubation)
providerName = Eclipse.org

ExtPoint.sounds = Sounds
command.play.description = Plays a given sound.
command.play.name = Play A Sound
command.play.parameter.name = id
category.sound.description = Sound commands
category.sound.name = Sounds
sound.name.noMoreErrors = No More Errors
sound.name.newErrors = New Errors
sound.name.jobFailed = Job Failed
sound.name.jobSuccess = Job Success