###############################################################################
# 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
#     Sebastian Davids <sdavids@gmx.de> - bug 38919
###############################################################################

CompletionProcessor.errorMessage=Cannot access the snippet page
CompletionProcessor.errorTitle=Problem Accessing Page

JavaSnippetEditor._is_not_a_Java_Project._n_1=\ is not a Java Project.\n
JavaSnippetEditor.Problems_During_Save_As..._3=Problems During Save As...
JavaSnippetEditor.Save_could_not_be_completed.__4=Save could not be completed. 
JavaSnippetEditor.Unable_to_perform_evaluation_outside_of_a_Java_Project_2=Unable to perform evaluation outside of a Java Project

ScrapbookLauncher.error.pagenotfound=Could not find a scrapbook page to launch
ScrapbookLauncher.error.title=Java Scrapbook Launcher
ScrapbookLauncher.Exception_occurred_launching_scrapbook_1=Exception occurred launching scrapbook
ScrapbookLauncher.Unable_to_launch_scrapbook_VM_6=Unable to launch scrapbook VM
ScrapbookLauncher.17=[Scrapbook] {0}

SelectImports.description=Sets the Import Declarations with which Code is Run
SelectImports.label=Set Impo&rts...
SelectImports.tooltip=Sets the Import Declarations for Running Code

SelectImportsDialog.&Remove_5=&Remove
SelectImportsDialog.&Select_a_package_to_add_as_an_Import_10=&Select the packages to add as imports:
SelectImportsDialog.&Select_a_type_to_add_to_add_as_an_import_15=&Select a type to add as an import:
SelectImportsDialog.Add_&Package_3=Add &Packages...
SelectImportsDialog.Add_&Type_1=Add &Type...
SelectImportsDialog.Add_package_as_import_7=Add Packages as Imports
SelectImportsDialog.Add_Type_as_Import_12=Add Type as Import
SelectImportsDialog.Choose_a_Package_to_Add_as_an_Import_4=Choose the Packages to Add as Imports
SelectImportsDialog.Choose_a_Type_to_Add_as_an_Import_2=Choose a Type to Add as an Import
SelectImportsDialog.Could_not_open_class_selection_dialog_13=Could not open class selection dialog
SelectImportsDialog.Could_not_open_package_selection_dialog_8=Could not open package selection dialog
SelectImportsDialog.Java_Snippet_Imports_18=Java Snippet Imports
SelectImportsDialog.Manage_the_Java_Snippet_Editor_Imports_for___{0}__1=Manage the Java Snippet Editor Imports for \"{0}\"
SelectImportsDialog.Remove_All_Selected_Imports_6=Remove All Selected Imports

SnippetActionContributor.evalMsg=Evaluating...

SnippetEditor.ContentAssistProposal.description=Content Assist
SnippetEditor.ContentAssistProposal.label=Co&ntent Assist@Ctrl+Space
SnippetEditor.ContentAssistProposal.tooltip=Content Assist
SnippetEditor.ellipsis=...
SnippetEditor.error.evaluating=Problems evaluating expression
SnippetEditor.error.evaluating2=Error during evaluation
SnippetEditor.error.imports=Error setting imports for page
SnippetEditor.error.interrupted=\ (Evaluation interrupted)
SnippetEditor.error.nocontext=Evaluation failed: internal error - unable to obtain an execution context.
SnippetEditor.error.shutdown=Cannot shutdown VM
SnippetEditor.error.toString=Problems evaluating toString of expression
SnippetEditor.evaluating=Evaluating...
SnippetEditor.exception=An exception occurred during evaluation:  {0}
SnippetEditor.noreturnvalue=\ (No explicit return value)
SnippetEditor.typename= ({0}) 
SnippetEditor.warning.cpchange=The class path of the Project has changed. Restarting the evaluation context.
SnippetEditor.warning=Warning
SnippetEditor.Warning_1=Warning
SnippetEditor.The_working_directory_has_changed._Restarting_the_evaluation_context._2=The working directory has changed. Restarting the evaluation context.
SnippetEditor.The_JRE_has_changed._Restarting_the_evaluation_context._2=The JRE has changed. Restarting the evaluation context.
SnippetEditor.1=VM arguments have changed. Restarting the evaluation context.

SnippetOpenHierarchyOnSelectionAction.description=Show the type hierarchy of the selected element
SnippetOpenHierarchyOnSelectionAction.label=Open Type Hie&rarchy@F4
SnippetOpenHierarchyOnSelectionAction.tooltip=Show the type hierarchy of the selected element
SnippetOpenHierarchyOnSelectionDialog.message=&Select the type to open:
SnippetOpenHierarchyOnSelectionDialog.title=Open Type Hierarchy

SnippetOpenOnSelectionAction.description=Open an editor on the selected element
SnippetOpenOnSelectionAction.label=&Open Declaration@F3
SnippetOpenOnSelectionAction.tooltip=Open an editor on the selected element
SnippetOpenOnSelectionDialog.message=&Select or enter the element to open:
SnippetOpenOnSelectionDialog.title=Open on Selection

StopAction.description=Stop the evaluation and terminate the evaluation context
StopAction.label=St&op Evaluation
StopAction.tooltip=Stop the Evaluation

ScrapbookLauncher.Unable_to_retrieve_scrapbook_runtime_settings._Settings_will_revert_to_default._1=Unable to retrieve scrapbook runtime settings. Settings will revert to default.

SnippetEditorPropertyPage.Unable_to_retrieve_scrapbook_runtime_settings._Settings_will_revert_to_defaults._1=Unable to retrieve scrapbook runtime settings. Settings will revert to defaults.
SnippetEditorPropertyPage.Unable_to_create_launch_configuration_for_scrapbook_file_2=Unable to create launch configuration for scrapbook file
SnippetEditorPropertyPage.Unable_to_save_scrapbook_settings._3=Unable to save scrapbook settings.

ShowInPackageViewAction.label=Show in Pac&kage Explorer
ShowInPackageViewAction.description=Show the selected element in Package Explorer
ShowInPackageViewAction.tooltip=Show in Package Explorer
ShowInPackageViewAction.dialog.title=Show In Package Explorer
ShowInPackageViewAction.not_found=Cannot reveal the selected element in Package Explorer. The element may be filtered out.

JavaSnippetEditor.46=Save Message
