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

AntClasspathBlock.&Choose_a_folder_to_add_to_the_classpath__1=&Choose a folder to add to the classpath:
AntClasspathBlock.addFolderButtonTitle = Add &Folder...
AntClasspathBlock.addJarButtonTitle = Add &JARs...
AntClasspathBlock.upButtonTitle = &Up
AntClasspathBlock.downButtonTitle = Do&wn
AntClasspathBlock.removeButtonTitle = R&emove
AntClasspathBlock.addFolderButtonTitle2 = Add F&older...
AntClasspathBlock.addJarButtonTitle2 = Add JAR&s...
AntClasspathBlock.upButtonTitle2 = U&p
AntClasspathBlock.downButtonTitle2 = Dow&n
AntClasspathBlock.removeButtonTitle2 = Re&move
AntClasspathBlock.&Choose_a_folder_that_will_be_used_as_the_location_of_ANT_HOME_3=&Choose a folder that will be used as the location of ANT_HOME
AntClasspathBlock.Specified_ANT_HOME_does_not_contain_a___lib___directory_7=Specified ANT_HOME does not contain a \"lib\" directory
AntClasspathBlock.Run&time_classpath__8=Runt&ime classpath:
AntClasspathBlock.Set_ANT_HO&ME_9=Set ANT_&HOME
AntClasspathBlock.&Browse..._10=&Browse...
AntClasspathBlock.Additional_classpath_entries__11=Additional &classpath entries:

AntClasspathPage.title = C&lasspath

AddCustomDialog.Bad_Format=Specified zip file is not in the correct format
AddCustomDialog.Unreadable=Specified zip file could not be read
AddCustomDialog.&Name__3=&Name:
AddCustomDialog.Could_not_close_zip_file_{0}_4=Could not close zip file {0}
AddCustomDialog.&Location=&Location:
AddCustomDialog.mustSelect=A class file must be selected from the specified location

AntPreferencePage.description = Settings used when running Ant buildfiles:
AntPreferencePage.General=General Ant Settings:
AntPreferencePage.Enter=File names used to emulate \"-find\".\nUsed by \"Run As > Ant Build\" when the current selection is not a buildfile.\nList is comma separated (e.g. export.xml, build.xml, clean.xml).
AntPreferencePage.&Names__3=&Names:
AntPreferencePage.Ant_Color_Options__6=Ant Color &Options:
AntPreferencePage.Color__7=&Color:
AntPreferencePage.&Error__2=Ant error message in console
AntPreferencePage.&Warning__3=Ant warning message in console
AntPreferencePage.I&nformation__4=Ant information message in console
AntPreferencePage.Ve&rbose__5=Ant verbose message in console
AntPreferencePage.Deb&ug__6=Ant debug message in console

AntTasksPage.addTaskButtonTitle = Add &Task...
AntTasksPage.editTaskButtonTitle = &Edit Task...
AntTasksPage.removeButtonTitle = Remo&ve
AntTasksPage.addTaskDialogTitle = Add Task
AntTasksPage.title = Tas&ks
AntTasksPage.editTaskDialogTitle = Edit Task
AntTasksPage._[system_task]_3=\ [system task]
AntTasksPage.8=A task with the name {0} already exists
AntTasksPage.9=A name must be provided for the new task

AntTypesPage.removeButtonTitle = Remo&ve
AntTypesPage.addTypeButtonTitle = Add &Type...
AntTypesPage.editTypeButtonTitle = &Edit Type...
AntTypesPage.typesPageTitle = T&ypes
AntTypesPage.addTypeDialogTitle = Add Type
AntTypesPage.editTypeDialogTitle = Edit Type
AntTypesPage._[system_type]_3=\ [system type]
AntTypesPage.8=A type with the name {0} already exists
AntTypesPage.9=A name must be provided for the new type

AntPropertiesPage.title = P&roperties
AntPropertiesPage.&Global_properties__1=&Global properties:
AntPropertiesPage.Glo&bal_property_files__2=Glo&bal property files:

AntPropertiesBlock.addButton = Add&...
AntPropertiesBlock.editButton = &Edit...
AntPropertiesBlock.removeButton = Rem&ove
AntPropertiesBlock.addFileButton = A&dd...
AntPropertiesBlock.removeFileButton = Re&move
AntPropertiesBlock.Add_Property_2=Add Property
AntPropertiesBlock.Edit_User_Property_5=Edit User Property

AddPropertyDialog.&Name__1=&Name:
AddPropertyDialog.&Value__2=&Value:

AntEditorPreferencePage.description=Ant Editor settings:
AntEditorPreferencePage.annotationsTab.title= Annotation&s
AntEditorPreferencePage.annotationPresentationOptions= Annotation &presentation:
AntEditorPreferencePage.annotations.showInText= Show in &text
AntEditorPreferencePage.annotations.showInOverviewRuler= Show in overview &ruler
AntEditorPreferencePage.annotations.color= C&olor:
AntEditorPreferencePage.invalid_input_print_margin= Invalid print margin column specified
AntEditorPreferencePage.empty_input_print_margin= No print margin column specified
AntEditorPreferencePage.invalid_input_auto_activation= Invalid auto activation delay specified
AntEditorPreferencePage.empty_input_auto_activation= No auto activation delay specified


AntEditorPreferencePage.codeAssistTab.title= &Code Assist
AntEditorPreferencePage.backgroundForCompletionProposals=Completion proposal background
AntEditorPreferencePage.foregroundForCompletionProposals=Completion proposal foreground

AntEditorPreferencePage.general=Appeara&nce
AntEditorPreferencePage.printMarginColumn=Print margin col&umn:
AntEditorPreferencePage.showOverviewRuler=Show overview &ruler
AntEditorPreferencePage.showLineNumbers=Show lin&e numbers
AntEditorPreferencePage.highlightCurrentLine=Hi&ghlight current line
AntEditorPreferencePage.showPrintMargin=Sho&w print margin
AntEditorPreferencePage.color=C&olor:
AntEditorPreferencePage.appearanceOptions=Appearance co&lor options:
AntEditorPreferencePage.lineNumberForegroundColor=Line number foreground
AntEditorPreferencePage.currentLineHighlighColor=Current line highlight
AntEditorPreferencePage.printMarginColor=Print margin
AntEditorPreferencePage.Ant_editor_text_1=Text
AntEditorPreferencePage.Ant_editor_processing_instuctions_2=Processing instructions
AntEditorPreferencePage.Ant_editor_constant_strings_3=Constant strings
AntEditorPreferencePage.Ant_editor_tags_4=Tags
AntEditorPreferencePage.Ant_editor_comments_5=Comments
AntEditorPreferencePage.Insert=Insert single &proposals automatically
AntEditorPreferencePage.&Enable_auto_activation_2=&Enable auto activation
AntEditorPreferencePage.Auto_activation_&delay__3=Auto activation &delay:
AntEditorPreferencePage.Auto_activation_tri&ggers__4=Auto activation tri&ggers:
AntEditorPreferencePage.Code_assist_colo&r_options__5=Code assist colo&r options:
AntEditorPreferencePage.Col&or__6=Col&or:
