###############################################################################
# Copyright (c) 2001, 2007 Oracle 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:
#     Oracle Corporation - initial API and implementation
###############################################################################
#
# Appearance preference labels
#
CanvasPreferenceTab_LABEL_UseSystemColors=Use System colors
EditorPreferences_LABEL_ShowIntroEditor=Show Introduction Tab (open editors must be reloaded to take effect)
CanvasPreferenceTab_LABEL_BackgroundColor=Background color:
CanvasPreferenceTab_LABEL_Canvas=Canvas
CanvasPreferenceTab_LABEL_GridHeight=Grid height:
CanvasPreferenceTab_LABEL_GridLineColor=Grid color:
CanvasPreferenceTab_LABEL_GridWidth=Grid width:
CanvasPreferenceTab_LABEL_IconLabelFont=Label font:
CanvasPreferenceTab_LABEL_IconGroup=Icons
CanvasPreferenceTab_LABEL_InputPortColor=Input Port color:
CanvasPreferenceTab_LABEL_OutputPortColor=Output Port color:
CanvasPreferenceTab_LABEL_LineGroup=Connection Lines
CanvasPreferenceTab_LABEL_LineColor=Line color:
CanvasPreferenceTab_LABEL_ShowLineLabels=Show labels
CanvasPreferenceTab_LABEL_LineLabelColor=Label color:
CanvasPreferenceTab_LABEL_LineLabelFont=Label font:
CanvasPreferenceTab_LABEL_LineRouting=Line Routing:
CanvasPreferenceTab_LABEL_LineWidth=Line width:
CanvasPreferenceTab_LABEL_SnapToGeometry=Snap to geometry
CanvasPreferenceTab_LABEL_SnapToGrid=Snap to grid
CanvasPreferenceTab_LABEL_UndoStackSize="Undo\" stack size:
CanvasPreferences_LABEL_Direct=Direct
CanvasPreferences_LABEL_Manhattan=Manhattan
CanvasPreferences_LABEL_Manual=Manual
CanvasPreferenceTab_LABEL_LabelPlacement=Label Placement:
CanvasPreferences_LABEL_Top=Top
CanvasPreferences_LABEL_Bottom=Bottom
CanvasPreferences_LABEL_Left=Left
CanvasPreferences_LABEL_Right=Right
CanvasPreferenceTab_LABEL_IconSize=Icon Size:
CanvasPreferences_LABEL_Small=Small
CanvasPreferences_LABEL_Medium=Medium
CanvasPreferences_LABEL_Large=Large
GEMPreferences_description=Preferences for the graphical page of FacesConfig editor.
