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

ExternalToolsMainTab.&Location___2=&Location: 
ExternalToolsMainTab.&Browse_Workspace..._3=Browse Works&pace...
ExternalToolsMainTab.Brows&e_File_System..._4=Brows&e File System...
ExternalToolsMainTab.Working_&Directory__5=Working &Directory:
ExternalToolsMainTab.Browse_Wor&kspace..._6=Browse Wor&kspace...
ExternalToolsMainTab.Browse_F&ile_System..._7=Br&owse File System...
ExternalToolsMainTab.Error_reading_configuration_10=Error reading configuration
ExternalToolsMainTab.&Main_17=Main
ExternalToolsMainTab.External_tool_location_cannot_be_empty_18=External tool location cannot be empty
ExternalToolsMainTab.External_tool_location_does_not_exist_19=External tool location does not exist
ExternalToolsMainTab.External_tool_location_specified_is_not_a_file_20=External tool location specified is not a file
ExternalToolsMainTab.External_tool_working_directory_does_not_exist_or_is_invalid_21=External tool working directory does not exist or is invalid
ExternalToolsMainTab.Select_a_resource_22=Select a resource:
ExternalToolsMainTab.23=Select a working directory:
ExternalToolsMainTab.&Arguments___1=&Arguments: 
ExternalToolsMainTab.Varia&bles..._2=Variable&s...
ExternalToolsMainTab.3=Note: Enclose an argument containing spaces using double-quotes (\").
ExternalToolsMainTab.Error_reading_configuration_7=Error reading configuration
ExternalToolsMainTab.Not_a_directory=The specified location is not a directory
ExternalToolsMainTab.30=Please specify the location of the external tool you would like to configure.
ExternalToolsMainTab.31=Var&iables...
ExternalToolsMainTab.32=Varia&bles...

ExternalToolsUtil.Location_not_specified_by_{0}_1=Location not specified by {0}
ExternalToolsUtil.invalidLocation_{0} = The file does not exist for the external tool named {0}.
ExternalToolsUtil.invalidDirectory_{0} = The working directory {0} does not exist for the external tool named {1}.

ExternalToolsBuilderTab.Run_this_builder_for__1=Run the builder:
ExternalToolsBuilderTab.&Full_builds_2=&After a \"Clean\"
ExternalToolsBuilderTab.Full=Runs on the first build that occurs after a clean.
ExternalToolsBuilderTab.&Incremental_builds_4=&During Manual Builds
ExternalToolsBuilderTab.Inc=Runs whenever the user invokes a build (but not for auto-build).
ExternalToolsBuilderTab.&Auto_builds_(Not_recommended)_6=During A&uto Builds
ExternalToolsBuilderTab.Auto=Runs whenever a resource in the workspace is modified if autobuilding is enabled. Enabling this option should be paired with a specifying a resource working set.
ExternalToolsBuilderTab.Build_Options_9=&Build Options
ExternalToolsBuilderTab.workingSet_label=Specify working set of &relevant resources (not applied for the build after a clean)
ExternalToolsBuilderTab.workingSet_tooltip=The working set of resources that if changed from a manual or auto build will trigger the external tool builder
ExternalToolsBuilderTab.buildKindError=At least one type of build kind must be selected
ExternalToolsBuilderTab.14=Launch in bac&kground
ExternalToolsBuilderTab.13=&Specify Resources...
ExternalToolsBuilderTab.16=Must select resources in working set.
ExternalToolsBuilderTab.15=workingSet