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

BuilderPropertyPage_description = Configure the builders for the &project:
BuilderPropertyPage_newButton = &New...
BuilderPropertyPage_editButton = &Edit...
BuilderPropertyPage_removeButton = &Remove
BuilderPropertyPage_upButton = &Up
BuilderPropertyPage_downButton = &Down
BuilderPropertyPage_statusMessage = Internal error
BuilderPropertyPage_errorTitle = External Tool Builder Problem
BuilderPropertyPage_errorMessage = Internal error
BuilderPropertyPage_invalidBuildTool = Invalid External Tool Builder
BuilderPropertyPage_missingBuilder = Missing builder ({0})
BuilderPropertyPage_Exists=Builder launch configuration {0} no longer exists
BuilderPropertyPage_External_Tool_Builder__0__Not_Added_2=External Tool Builder {0} Not Added
BuilderPropertyPage__Import____3=&Import...
BuilderPropertyPage_New_Builder_7=New_Builder
BuilderPropertyPage_Choose_configuration_type_8=Choose configuration type
BuilderPropertyPage_Choose_an_external_tool_type_to_create_9=&Choose an external tool type to create:
BuilderPropertyPage_Migrate_project_builder_10=Migrate project builder
BuilderPropertyPage_Not_Support=This project builder is stored in a format that is no longer supported. If you wish to edit this builder, it will first be migrated to a new format. If you proceed, this project builder will not be understood by installations using the old format.\n\nProceed with migration?
BuilderPropertyPage_Prompt=&Do not prompt before migrating project builders
BuilderPropertyPage_error=An error occurred while saving the project\'s build commands
BuilderPropertyPage_0=Project Migration
BuilderPropertyPage_2=&Do not prompt before migrating projects
BuilderPropertyPage_1=This project stores its builders in a format that is no longer supported. If any changes are made, the project will be migrated to the new format which will not be understood by installations using the old format.\n\nProceed? (Selecting "No" will open the page read-only)
BuilderPropertyPage_4=Import launch configuration
BuilderPropertyPage_5=&Choose a launch configuration from the workspace to import.\nThis will create a copy of the selected configuration.
BuilderPropertyPage_13=Command error
BuilderPropertyPage_39=Error Saving Builder
BuilderPropertyPage_3=Updating builders...
BuilderPropertyPage_6=Confirm Disable Builder
BuilderPropertyPage_7=This is an advanced operation. Disabling a project builder can have many side-effects. Continue?
BuilderPropertyPage_40=An exception occurred while attempting to save builder {0}

FileSelectionDialog_Choose_Location_1=Choose Location
FileSelectionDialog_Ok_2=OK
FileSelectionDialog_Cancel_3=Cancel

ExternalToolsPreferencePage_External_tool_project_builders_migration_2=External tool project builders stored in an old format will be migrated to a new format when edited. Projects which store builders using an old format will be migrated whenever a change is made. Once migrated, project builders will not be understood by installations using these older formats.
ExternalToolsPreferencePage_Prompt_before_migrating_3=&Confirm before migrating external tool project builders for edit
ExternalToolsPreferencePage_1=C&onfirm before migrating projects to the new format

ExternalToolMigration_37=An exception occurred accessing external tool\'s \"run in background\" attribute
ExternalToolMigration_38=An exception occurred attempting to migrate external tool\'s \"run in background\" attribute
EditCommandDialog_0=Configure Builder
EditCommandDialog_1=Run this builder:
EditCommandDialog_2=After a "&Clean"
EditCommandDialog_3=During &manual builds
EditCommandDialog_4=During &auto builds
EditCommandDialog_5=&During a "Clean"
