###############################################################################
# Copyright (c) 2003, 2005 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
###############################################################################
ExtensionEventHandler_new_action_set=action set(s).
ExtensionEventHandler_following_changes=The following changes have been detected:\n\n
ExtensionEventHandler_change_format=  * {0} has contributed {1}\n
ExtensionEventHandler_need_to_reset=\nYou will need to reset your perspectives in order for these changes to be recognized.  Would you like to reset your current perspective?
ExtensionEventHandler_reset_perspective=Reset Perspective?

