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

ColorsPreferencePage.currentlyMappedTo=Currently mapped to {0}.
ColorsPreferencePage.currentlyDefault=Currently set to the default value.
ColorsPreferencePage.reset=&Reset
ColorsPreferencePage.value=&Value
ColorsPreferencePage.colors=&Colors
ColorsPreferencePage.comment=Co&mment
ColorsPreferencePage.description=Descriptio&n
ColorsPreferencePage.customValue=Currently set to a custom value.
