###############################################################################
# Copyright (c) 2000, 2009 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# 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

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"
