###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials 
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
# 
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
labelActiveConfiguration=A&ctive configuration:
buttonNew=&New
buttonRename=&Rename
buttonDelete=De&lete
labelCommands=Co&mmands:
buttonCategorize=Ca&tegorize
labelSequencesForCommand.noSelection=&Key sequences assigned to the selected command:
labelSequencesForCommand.selection=&Key sequences assigned to the command {0}:
tableColumnSequence=Key Sequence
tableColumnScope=Scope
tableColumnConfiguration=Configuration
labelSequence=Ke&y sequence:
labelConfiguration=Con&figuration:
labelScope=&Scope:
buttonChange=WWWWWWW
buttonChange.add=Add
buttonChange.remove=R&emove
buttonChange.restore=R&estore
labelCommandsForSequence.noSelection=Commands to &which the selected key sequence is assigned:
labelCommandsForSequence.selection=Commands to &which the key sequence {0} is assigned:
tableColumnCommand=Command

commandConflict=[conflict]
commandNothing=[do nothing]
commandUndefined=[undefined]

now=(now: {0})
was=(was: {0})
		
restoreDefaultsMessageBoxMessage=This will restore all keys to the default settings.\r\nAre you sure you want to do this?
restoreDefaultsMessageBoxText=Restore Defaults
