###############################################################################
# Copyright (c) 2007, 2008 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
###############################################################################
GeneralPreferencePage_0=When I launch aDesigenr, do the following:
GeneralPreferencePage_1=&Display a dialog asking which mode I want to use
GeneralPreferencePage_2=Do &not Display a dialog asking which mode I want to use

DialogOpenURL_Open_URL = Open URL

ModeSwitchDialog_title = Select a mode
ModeSwitchDialog_message = Which mode would you like to use?
ModeSwitchDialog_checkShowDialog = Show this dialog at startup
