###############################################################################
# Copyright (c) 2000, 2011 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
#     Sebastian Davids <sdavids@gmx.de> - Bug 114276
#     Mateusz Matela <mateusz.matela@gmail.com> - [code manipulation] [dcr] toString() builder wizard - https://bugs.eclipse.org/bugs/show_bug.cgi?id=26070
###############################################################################

OccurrencesSearchMenuAction_break_continue_target_label=&Break/Continue Targets
OccurrencesSearchMenuAction_implementing_methods_label=I&mplementing Methods
OccurrencesSearchMenuAction_throwing_exception_label=Throwing E&xception

OccurrencesSearchMenuAction_method_exits_label=Method &Exits
OccurrencesSearchMenuAction_no_entries_available=<no occurrence searches available on selection>
OccurrencesSearchMenuAction_occurrences_in_file_label=&Identifier

OpenWithMenu_label=Open Wit&h
RefactorMenu_label=Refac&tor
SourceMenu_label=&Source
BuildPath_label=&Build Path

BuildAction_label=&Build Project
SelectionConverter_codeResolve_failed=Could not convert text selection into a Java element

OpenAction_label=&Open
OpenAction_tooltip=Open an Editor on the Selected Element
OpenAction_description=Open an editor on the selected element
OpenAction_declaration_label=&Open Declaration
OpenAction_select_element=&Select or enter the element to open:

OpenAction_error_title=Open
OpenAction_error_message=Problems opening an editor.
OpenAction_multistatus_message=See details for editors that could not be opened.
OpenAction_error_messageBadSelection=Current text selection cannot be opened in an editor
OpenAction_error_problem_opening_editor=Problem opening editor for ''{0}'': ''{1}''

OpenSuperImplementationAction_label=Open S&uper Implementation
OpenSuperImplementationAction_tooltip=Open the Implementation in the Super Type
OpenSuperImplementationAction_description=Open the Implementation in the Super Type
OpenSuperImplementationAction_error_title=Open Super Implementation
OpenSuperImplementationAction_error_message=Opening the super implementation failed. Check log for details.
OpenSuperImplementationAction_not_applicable=The operation is not applicable to the current selection. Select an overriding method.
OpenSuperImplementationAction_no_super_implementation=The super implementation of method ''{0}'' does not exist.

OpenImplementationAction_label=Open Implementation
OpenImplementationAction_tooltip=Open the Implementations in the Method's Hierarchy 
OpenImplementationAction_description=Open the Implementations in the method's hierarchy
OpenImplementationAction_error_title=Open Implementation
OpenImplementationAction_not_applicable=The operation is not applicable to the current selection. Select a method.

OpenTypeHierarchyAction_label=Ope&n Type Hierarchy
OpenNewClassWizardAction_text=Class
OpenNewEnumWizardAction_text=Enum
OpenTypeHierarchyAction_tooltip=Open a Type Hierarchy on the Selected Element
OpenTypeHierarchyAction_description=Open a type hierarchy on the selected element
OpenTypeHierarchyAction_dialog_title=Open Type Hierarchy
OpenTypeHierarchyAction_messages_title=Cannot create type hierarchy
OpenTypeHierarchyAction_messages_no_java_elements=One or more Java elements must be selected.
OpenNewAnnotationWizardAction_description=Opens the new annotation type wizard
OpenNewJavaProjectWizardAction_description=Opens the new Java project wizard
OpenNewSourceFolderWizardAction_description=Opens the new Java source folder wizard
OpenNewInterfaceWizardAction_description=Opens the new interface wizard
OpenTypeHierarchyAction_messages_no_valid_java_element=Either a single type or member, or one or more packages, source folders, etc. must be selected.

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_error_message=An internal error occurred. Please see log for details.

ShowInNavigatorView_label=Show in &Navigator View
ShowInNavigatorView_dialog_title=Show in Navigator View
ShowInNavigatorView_dialog_message=Select the element to be opened in the navigator view:
ShowInNavigatorView_error_activation_failed=Cannot activate Resource Navigator

OverrideMethodsAction_label=O&verride/Implement Methods...
OverrideMethodsAction_description=Override or implement methods declared in supertypes
OverrideMethodsAction_tooltip=Override/Implement Methods
OverrideMethodsAction_error_actionfailed=An error occurred while creating the methods.

OverrideMethodsAction_error_title=Override/Implement Methods
OverrideMethodsAction_error_nothing_found=No methods to override found for this type.
OverrideMethodsAction_not_applicable=The operation is not applicable to the current selection. Select a type.
OverrideMethodsAction_interface_not_applicable=The Override Methods operation is not applicable to interfaces.
OverrideMethodsAction_annotation_not_applicable=The Override Methods operation is not applicable to annotations.

AddGetterSetterAction_label=Gene&rate Getters and Setters...
AddGetterSetterAction_description=Generate Getter and Setter methods for type's fields
AddGetterSetterAction_tooltip=Generate Getter and Setter Methods for the Type's Fields

AddGetterSetterAction_error_duplicate_methods_singular=Possible duplicate method selected
AddGetterSetterAction_error_duplicate_methods_plural=Possible {0} duplicate methods selected
AddGetterSetterAction_no_primary_type_title=Add Setter and Getter
AddGetterSetterAction_no_primary_type_message=No primary type found.
AddGetterSetterAction_error_title=Generate Getters and Setters
AddGetterSetterAction_error_actionfailed=Generating Getters and Setters Failed.

AddGetterSetterAction_not_applicable=The operation is not applicable to the current selection. Select a field which is not declared as type variable or a type that declares such fields.
AddGetterSetterAction_interface_not_applicable=The Generate Getters and Setters operation is not applicable to interfaces.
AddGetterSetterAction_annotation_not_applicable=The Generate Getters and Setters operation is not applicable to annotations.
AddGetterSetterAction_error_not_in_source_file=The Generate Getters and Setters operation is only applicable to types and fields in source files.
AddGetterSetterAction_template_link_description=The format of the getters/setters may be configured on the <a>Code Templates</a> preference page.
AddGetterSetterAction_template_link_tooltip=Show the code templates preferences.

AddGetterSetterAction_QueryDialog_title=Generate Getters and Setters
AddGetterSetterAction_SkipExistingDialog_message=Method ''{0}'' already exists.\nSkip creation?
AddGetterSetterAction_SkipExistingDialog_skip_label=&Skip
AddGetterSetterAction_SkipExistingDialog_replace_label=&Replace
AddGetterSetterAction_SkipExistingDialog_skipAll_label=Skip &All
AddGetterSetterAction_allow_setters_for_finals_description=Allow sette&rs for final fields (remove 'final' modifier from fields if necessary)
AddGetterSetterAction_dialog_label=&Select getters and setters to create:
AddGetterSetterAction_methods_selected={0} of {1} selected.
AddGettSetterAction_typeContainsNoFields_message=The type contains no fields or all fields have getters/setters already.

GetterSetterTreeSelectionDialog_select_getters=Select &Getters
GetterSetterTreeSelectionDialog_select_setters=Se&lect Setters
GetterSetterTreeSelectionDialog_alpha_pair_sort=Fields in getter/setter pairs
GetterSetterTreeSelectionDialog_alpha_method_sort=First getters, then setters
GetterSetterTreeSelectionDialog_sort_label=S&ort by:

SourceActionDialog_enterAt_label=&Insertion point:
SourceActionDialog_modifier_group=Access modifier
SourceActionDialog_modifier_public=&public
SourceActionDialog_modifier_protected=protec&ted
SourceActionDialog_modifier_default=d&efault
SourceActionDialog_modifier_private=pri&vate
SourceActionDialog_modifier_synchronized=s&ynchronized
SourceActionDialog_modifier_final=&final
SourceActionDialog_first=First member
SourceActionDialog_last=Last member
SourceActionDialog_after=After ''{0}''
SourceActionDialog_createMethodComment=Generate method &comments
SourceActionDialog_no_entries=No methods available.
SourceActionDialog_createConstructorComment=Generate constructor &comments

AddUnimplementedConstructorsAction_label=Generate &Constructors from Superclass...
AddUnimplementedConstructorsAction_description=Generate constructors from superclass
AddUnimplementedConstructorsAction_tooltip=Generate Constructors from Superclass
AddUnimplementedConstructorsAction_error_title=Generate Constructors from Superclass
AddUnimplementedConstructorsAction_not_applicable=The operation is not applicable to the current selection. Select a class.
AddUnimplementedConstructorsAction_interface_not_applicable=The Generate Constructors from Superclass operation is not applicable to interfaces.
AddUnimplementedConstructorsAction_enum_not_applicable=The Generate Constructors from Superclass operation is not applicable to enums.
AddUnimplementedConstructorsAction_annotation_not_applicable=The Generate Constructors from Superclass operation is not applicable to annotations.
AddUnimplementedConstructorsAction_methods_selected={0} of {1} selected.
AddUnimplementedConstructorsAction_error_nothing_found=There are no constructors from the superclass which may be added.
AddUnimplementedConstructorsAction_dialog_title=Generate Constructors from Superclass
AddUnimplementedConstructorsAction_dialog_label=&Select constructors to implement:

AddUnimplementedConstructorsDialog_omit_super=&Omit call to default constructor super()

GenerateConstructorUsingFieldsAction_label=Generate C&onstructor using Fields...
GenerateConstructorUsingFieldsAction_description=Generate Constructor using fields
GenerateConstructorUsingFieldsAction_tooltip=Generate Constructor Using Fields
GenerateBuildPathActionGroup_update_jar_text=Migrate &JAR File...
GenerateConstructorUsingFieldsAction_error_title=Generate Constructor using Fields
GenerateBuildPathActionGroup_update_jar_tooltip=Migrate JAR File
GenerateConstructorUsingFieldsAction_not_applicable=The operation is not applicable to the current selection. Select a class.
GenerateBuildPathActionGroup_update_jar_description=Migrate JAR file to a new version
GenerateConstructorUsingFieldsAction_fields_selected={0} of {1} selected.
GenerateConstructorUsingFieldsAction_error_duplicate_constructor=The constructor to be created is possibly a duplicate
GenerateConstructorUsingFieldsAction_error_nothing_found=There are no constructors from the superclass which may be used.
GenerateConstructorUsingFieldsAction_dialog_title=Generate Constructor using Fields
GenerateConstructorUsingFieldsAction_dialog_label=&Select fields to initialize:
GenerateConstructorUsingFieldsAction_interface_not_applicable=The Generate Constructor using Fields operation is not applicable to interfaces.
GenerateConstructorUsingFieldsAction_enum_not_applicable=The Generate Constructor using Fields operation is not applicable to enums.
GenerateConstructorUsingFieldsAction_annotation_not_applicable=The Generate Constructor using Fields operation is not applicable to annotations.
GenerateConstructorUsingFieldsAction_typeContainsNoFields_message=The selected type contains no fields which may be initialized in a constructor.
GenerateConstructorUsingFieldsAction_error_actionfailed=Unexpected error while creating constructors. See log for details.
GenerateConstructorUsingFieldsAction_error_anonymous_class=Anonymous classes cannot contain explicitly declared constructors.

GenerateConstructorUsingFieldsSelectionDialog_up_button=&Up
GenerateConstructorUsingFieldsSelectionDialog_down_button=Do&wn
GenerateConstructorUsingFieldsSelectionDialog_sort_constructor_choices_label=Select super constructor to invo&ke:
GenerateConstructorUsingFieldsSelectionDialog_omit_super=&Omit call to default constructor super()

AddUnimplementedConstructorsAction_template_link_tooltip=Show the code templates preferences.
AddUnimplementedConstructorsAction_template_link_message=The format of the constructors may be configured on the <a>Code Templates</a> preference page.

GenerateConstructorUsingFieldsSelectionDialog_template_link_tooltip=Show the code templates preferences.
GenerateConstructorUsingFieldsSelectionDialog_template_link_message=The format of the constructors may be configured on the <a>Code Templates</a> preference page.

AddJavaDocStubAction_label=Generate Element Commen&t
AddJavaDocStubAction_description=Add a comment stub to the member element
AddJavaDocStubAction_tooltip=Add a Comment Stub to the Member Element

AddJavaDocStubsAction_error_dialogTitle=Generate Element Comment
AddJavaDocStubsAction_error_actionFailed=Error while adding comment
AddJavaDocStubsAction_not_applicable=The operation is not applicable to the current selection. Select a type or method.

ExternalizeStringsAction_label= &Externalize Strings...
ExternalizeStringsAction_dialog_title= Externalize Strings

FindBreakContinueTargetOccurrencesAction_label=Break/Continue Targets
FindBreakContinueTargetOccurrencesAction_tooltip=Find All Break/Continue Targets
FindStringsToExternalizeAction_label= Find Strings to Externali&ze...
FindStringsToExternalizeAction_dialog_title= Find Strings to Externalize
FindStringsToExternalizeAction_error_message= Unexpected Exception. See log.
FindStringsToExternalizeAction_error_cannotBeParsed= Compilation unit ''{0}'' can not be parsed.
FindStringsToExternalizeAction_foundStrings= {0} in {1}
FindStringsToExternalizeAction_noStrings= No non-externalized strings found.
FindStringsToExternalizeAction_non_externalized_singular= 1 &non-externalized string found.
FindStringsToExternalizeAction_non_externalized_plural= {0} &non-externalized strings found.
FindStringsToExternalizeAction_button_label= &Externalize...
FindStringsToExternalizeAction_find_strings= Finding non-externalized strings...

OpenExternalJavadocAction_label=Open E&xternal Javadoc
OpenExternalJavadocAction_description=Opens the Javadoc of the selected element in an external browser
OpenExternalJavadocAction_tooltip=Open Javadoc in an External Browser
OpenAttachedJavadocAction_label=Open &Attached Javadoc
OpenAttachedJavadocAction_description=Opens the attached Javadoc of the selected element in a browser
OpenAttachedJavadocAction_tooltip=Open Attached Javadoc in a Browser
OpenAttachedJavadocAction_select_element=&Select or enter the element to open:
OpenAttachedJavadocAction_libraries_no_location=The documentation location for ''{0}'' has not been configured. For elements from libraries specify the Javadoc location URL on the properties page of the parent JAR (''{1}'')
OpenAttachedJavadocAction_source_no_location=The documentation location for ''{0}'' has not been configured. For elements from source specify the Javadoc location URL on the properties page of the parent project (''{1}'')
OpenAttachedJavadocAction_opening_failed=Opening Javadoc failed. See log for details
OpenAttachedJavadocAction_dialog_title=Open Attached Javadoc
OpenAttachedJavadocAction_code_resolve_failed=Could not convert text selection into a Java element
SelfEncapsulateFieldAction_label=Encap&sulate Field...
SelfEncapsulateFieldAction_dialog_title=Encapsulate Field
SelfEncapsulateFieldAction_dialog_unavailable=The operation is not applicable to the current selection. Select a field of a class or enum.
SelfEncapsulateFieldAction_dialog_cannot_perform=Cannot perform refactoring. See log for more details.

OrganizeImportsAction_label=Or&ganize Imports
OrganizeImportsAction_tooltip=Evaluate All Required Imports and Replace the Current Imports
OrganizeImportsAction_description=Evaluate all required imports and replace the current imports

CleanUpAction_label=Clean &Up
CleanUpAction_labelWizard=Clean &Up...
CleanUpAction_tooltip=Solve Problems and Improve Code Style on Selected Resources
CleanUpAction_description=Solve problems and improve code style on selected resources
CleanUpAction_MultiStateErrorTitle=Problems while processing some compilation units. See 'Details' for more information.
CleanUpAction_actionName=Clean Up
CleanUpAction_UnexpectedErrorMessage={0}: Unexpected error. See log for details.
CleanUpAction_CUNotOnBuildpathMessage={0}: Compilation unit not on build path. No changes applied.
CleanUpAction_EmptySelection_description=The selection contains no compilation units.

OrganizeImportsAction_EmptySelection_title=Organize Imports
OrganizeImportsAction_multi_error_parse=Problem while Organize Imports: {0} has parse errors. No changes applied.
OrganizeImportsAction_multi_error_unresolvable=Problem while Organize Imports: {0} contains ambiguous references. User interaction required.

OrganizeImportsAction_selectiondialog_title=Organize Imports
OrganizeImportsAction_selectiondialog_message=&Choose type to import:

OrganizeImportsAction_error_title=Organize Imports
OrganizeImportsAction_error_message=Unexpected error in organize imports. See log for details.

OrganizeImportsAction_single_error_parse=Compilation unit has parse errors: ''{0}''. No changes applied.

OrganizeImportsAction_summary_added_singular=1 import added.
OrganizeImportsAction_summary_added_plural={0} imports added.
OrganizeImportsAction_summary_removed_singular=1 import removed.
OrganizeImportsAction_summary_removed_plural={0} imports removed.

OrganizeImportsAction_EmptySelection_description=The selection contains no compilation units.

FormatAllAction_label=&Format
FormatAllAction_tooltip=Format all selected Java files
FormatAllAction_description=Format all selected Java files

SortMembersAction_label=Sort &Members...
SortMembersAction_tooltip=Sorts all Members using the Member Order Preference
SortMembersAction_description=Sorts all members using the member order preference
SortMembersAction_dialog_title=Sort Members

SortMembersAction_not_applicable=Operation not applicable to current text editor.
SortMembersAction_containsmarkers=Markers like bookmarks, breakpoints, or user defined tasks in a reordered member will be lost. OK to continue?

OpenNewAnnotationWizardAction_text=Annotation
OpenNewPackageWizardAction_tooltip=Opens the new Java package wizard
OpenNewClassWizardAction_tooltip=Opens the new class wizard
OpenNewInterfaceWizardAction_text=Interface
OpenNewEnumWizardAction_tooltip=Opens the new enum type wizard
OpenNewPackageWizardAction_text=Package

MemberFilterActionGroup_hide_fields_label=Hide Fiel&ds
MemberFilterActionGroup_hide_fields_tooltip=Hide Fields
MemberFilterActionGroup_hide_fields_description=Toggles the visibility of fields

MemberFilterActionGroup_hide_static_label=Hide &Static Fields and Methods
MemberFilterActionGroup_hide_static_tooltip=Hide Static Fields and Methods
MemberFilterActionGroup_hide_static_description=Toggles the visibility of static fields and methods

MemberFilterActionGroup_hide_nonpublic_label=Hide Non-&Public Members
MemberFilterActionGroup_hide_nonpublic_tooltip=Hide Non-Public Members
MemberFilterActionGroup_hide_nonpublic_description=Toggles the visibility of non-public members

MemberFilterActionGroup_hide_localtypes_label=Hide Local &Types
MemberFilterActionGroup_hide_localtypes_tooltip=Hide Local Types
MemberFilterActionGroup_hide_localtypes_description=Toggles the visibility of local types
FindMethodExitOccurrencesAction_label=Method Exits
FindMethodExitOccurrencesAction_tooltip=Find All Method Exits
NewWizardsActionGroup_new=Ne&w

OpenProjectAction_dialog_title=Open Project
OpenProjectAction_dialog_message=Select the &projects to be opened:
OpenProjectAction_error_message=Problems while opening projects

OpenJavaPerspectiveAction_dialog_title=Open Java Perspective
OpenJavaPerspectiveAction_error_open_failed=Could not open Java perspective

OpenJavaBrowsingPerspectiveAction_dialog_title=Open Java Browsing Perspective
OpenJavaBrowsingPerspectiveAction_error_open_failed=Could not open Java browsing perspective

OpenTypeInHierarchyAction_label=Open Type in Hierarchy...
OpenTypeInHierarchyAction_description=Open a type in a type hierarchy

OpenTypeInHierarchyAction_tooltip=Open a Type in a Type Hierarchy
OpenTypeInHierarchyAction_dialogMessage=&Choose a type (? = any character, * = any string):
OpenTypeInHierarchyAction_dialogTitle=Open Type in Hierarchy
OpenNewAnnotationWizardAction_tooltip=Opens the new annotation type wizard
OpenNewJavaProjectWizardAction_tooltip=Opens the new Java project wizard
OpenNewPackageWizardAction_description=Opens the new Java package wizard
OpenViewActionGroup_showInAction_label=Sho&w In
OpenNewSourceFolderWizardAction_tooltip=Opens the new Java source folder wizard
OpenNewClassWizardAction_description=Opens the new class wizard
OpenNewInterfaceWizardAction_tooltip=Opens the new interface wizard
OpenNewSourceFolderWizardAction_text=Source Folder
OpenNewSourceFolderWizardAction_text2=&New Source Folder...
OpenNewEnumWizardAction_description=Opens the new enum type wizard
OpenNewJavaProjectWizardAction_text=Java Project

RefreshAction_label= Re&fresh
RefreshAction_toolTip= Refresh
RefreshAction_progressMessage= Refreshing...
RefreshAction_error_workbenchaction_message=A problem occurred while refreshing the view
RefreshAction_refresh_operation_label=Refresh

ModifyParameterAction_problem_title=Refactoring
ModifyParameterAction_problem_message=Cannot perform operation.
MultiSortMembersAction_noElementsToSortDialog_message=The current selection does not contain any elements to sort.
MultiSortMembersAction_noElementsToSortDialog_title=Sort Members

ActionUtil_notOnBuildPath_title=Cannot Perform Operation
ActionUtil_notOnBuildPath_message=The resource is not on the build path of a Java project.
ActionUtil_notOnBuildPath_resource_message=The resource ''{0}'' is not on the build path of a Java project.
ActionUtil_not_possible=Cannot Perform Operation
ActionUtil_no_linked=This operation is unavailable on linked packages and package fragment roots.
ActionUtil_warning_derived_title=Derived File Encountered
ActionUtil_warning_derived_message=The file ''{0}'' is derived. Do you really want to edit it?
ActionUtil_warning_derived_dontShowAgain=In the future, never warn if editing a derived file.

SelectAllAction_label= Select A&ll
SelectAllAction_tooltip= Select All

AddToClasspathAction_label=Add to &Build Path
AddToClasspathAction_toolTip=Add JAR to the Java Build Path
AddToClasspathAction_progressMessage=Adding to build path...
AddToClasspathAction_error_title=Add to Build Path
AddToClasspathAction_error_message=Problems occurred while adding to the build path.

RemoveFromClasspathAction_Remove=Remove from &Build Path
RemoveFromClasspathAction_tooltip=Remove Package Fragment Root from the Java Build Path
RemoveFromClasspathAction_Removing=Removing from build path...
RemoveFromClasspathAction_exception_dialog_title=Remove From Build Path
RemoveFromClasspathAction_Problems_occurred=Problems occurred while removing from the build path.

AddDelegateMethodsAction_error_title=Generate Delegate Methods
AddDelegateMethodsAction_error_actionfailed=Generating delegate methods failed.
AddDelegateMethodsAction_label=Generate Delegate &Methods...
AddDelegateMethodsAction_description=Adds delegate methods for a type's fields
AddDelegateMethodsAction_tooltip=Adds Delegates Methods for a Type's Fields
AddDelegateMethodsAction_not_applicable=The operation is not applicable to the current selection. Select a field which is not declared as type variable or a type that declares such fields.
AddDelegateMethodsAction_annotation_not_applicable=The Generate Delegate Methods operation is not applicable to annotations.
AddDelegateMethodsAction_interface_not_applicable=The Generate Delegate Methods operation is not applicable to interfaces.
AddDelegateMethodsAction_duplicate_methods_singular=Duplicate method selected
AddDelegateMethodsAction_duplicate_methods_plural={0} duplicate methods selected

AddDelegateMethodsAction_title=Generate Delegate Methods
AddDelegateMethodsAction_message=Select &methods to create delegates for:
AddDelegateMethodsAction_selectioninfo_more={0} of {1} selected.
AddDelegateMethodsAction_not_in_source_file=The Generate Delegate Methods operation is only applicable to fields and types in source files.
AddDelegateMethodsAction_template_link_message=The format of the delegate methods may be configured on the <a>Code Templates</a> preference page.
AddDelegateMethodsAction_template_link_tooltip=Show the code templates preferences.

ToggleLinkingAction_label=Lin&k with Editor
ToggleLinkingAction_tooltip=Link with Editor
ToggleLinkingAction_description=Link with active editor

ConfigureContainerAction_error_title=Configure Classpath Container
ConfigureContainerAction_error_creationfailed_message=Configuration of the classpath container failed.
ConfigureContainerAction_error_applyingfailed_message=Application of the classpath container changes failed.

FindExceptionOccurrences_text= Throwing E&xception
FindExceptionOccurrences_toolTip= Find All Occurrences Throwing this Exception

FindImplementOccurrencesAction_text= I&mplementing Methods
FindImplementOccurrencesAction_toolTip= Find All Methods Implementing or Overriding the Selected Type

GenerateHashCodeEqualsAction_label=Generate &hashCode() and equals()...
GenerateHashCodeEqualsAction_error_caption=Generate hashCode() and equals()
GenerateHashCodeEqualsAction_description=Generate implementations for hashCode() and equals()
GenerateMethodAbstractAction_super_class=super class ''{0}''
GenerateHashCodeEqualsAction_field_type=field type ''{0}''
GenerateHashCodeEqualsAction_tooltip=Generate implementations for hashCode() and equals()
GenerateHashCodeEqualsAction_equals=equals()
GenerateHashCodeEqualsAction_hashCode=hashCode()
GenerateHashCodeEqualsAction_hashcode_or_equals=hashCode() or equals()
GenerateMethodAbstractAction_error_removed_type=Input type has been removed in editor.
GenerateMethodAbstractAction_error_cannot_create=Cannot create method implementations.
GenerateMethodAbstractAction_enum_not_applicable=This operation is not applicable to enums.
GenerateMethodAbstractAction_annotation_not_applicable=This operation is not applicable to annotations.
GenerateMethodAbstractAction_anonymous_type_not_applicable=This operation is not applicable to anonymous types.
GenerateMethodAbstractAction_already_has_this_method_error=The type ''{0}'' already contains a {1} method. Existing implementation will be replaced by newly generated one. Are you sure you want to continue?
GenerateNewConstructorUsingFieldsAction_error_not_a_source_file=The selected type is not in a source file
GenerateHashCodeEqualsAction_equals_and_hashCode=equals() and hashCode()
GenerateMethodAbstractAction_error_not_applicable=The operation is not applicable to the current selection. Select a class.
GenerateHashCodeEqualsAction_no_nonstatic_fields_error=There are no non-static fields in this class. Cannot create equals() and hashCode() methods.
GenerateHashCodeEqualsAction_transient_field_included_error=The field ''{0}'' is transient. It should not be included in the equals() and hashCode() methods.
GenerateHashCodeEqualsAction_type_does_not_implement_hashCode_equals_error=The {0} does not implement {1} - the resulting code may not work correctly.
GenerateMethodAbstractAction_final_method_in_superclass_error=The {0} has a final {1} method. The resulting code will have compile errors.
GenerateHashCodeEqualsAction_interface_does_not_declare_hashCode_equals_error=The {0} does not redeclare {1} - the resulting code may not work correctly.
GenerateMethodAbstractAction_interface_not_applicable=This operation is not applicable to interfaces.

GenerateToStringAction_label=Generate to&String()...
GenerateToStringAction_description=Generate an implementation for toString() method
GenerateToStringAction_tooltip=Generate an implementation for toString() method
GenerateToStringAction_tostring=toString()
GenerateToStringAction_error_caption=Generate toString()

CategoryFilterActionGroup_JavaCategoryFilter_title=Visible Java Categories
CategoryFilterActionGroup_SelectAllCategories=Select &All
CategoryFilterActionGroup_DeselectAllCategories=&Deselect All
CategoryFilterActionGroup_SelectCategoriesDescription=Select the categories to show in the view:
CategoryFilterActionGroup_ShowCategoriesActionDescription=Select the visible categories in the view
CategoryFilterActionGroup_ShowCategoriesToolTip=Select Visible Categories
CategoryFilterActionGroup_ShowUncategorizedMembers=&0 Show Uncategorized Members
CategoryFilterActionGroup_ShowCategoriesLabel=&Visible Categories...

FindNLSProblemsAction_Description=Finds undefined, duplicate, and unused NLS keys in property files
FindNLSProblemsAction_ErrorDialogTitle=Find Broken Externalized Strings
FindNLSProblemsAction_Name=Find Broken Ex&ternalized Strings
FindNLSProblemsAction_NoPropertieFilesFoundErrorDescription=No NLS property files with corresponding accessor class found in selection.
FindNLSProblemsAction_ToolTip=Finds undefined, duplicate, and unused NLS keys in property files

CopyQualifiedNameAction_ToolTipText=Copy to fully qualified name to the system Clipboard
CopyQualifiedNameAction_InfoDialogTitel=Copy Qualified Name
CopyQualifiedNameAction_ErrorDescription=There was a problem when accessing the system clipboard. Retry?
CopyQualifiedNameAction_ActionName=Cop&y Qualified Name
CopyQualifiedNameAction_ErrorTitle=Problem Copying to Clipboard
CopyQualifiedNameAction_NoElementToQualify=No Element to qualify found in selection.

SurroundWithTemplateMenuAction_SurroundWithTemplateSubMenuName=Surround &With
SurroundWithTemplateMenuAction_SurroundWithTryCatchActionName=Tr&y/catch Block
SurroundWithTemplateMenuAction_SurroundWithTryMultiCatchActionName=T&ry/multi-catch Block
SurroundWithTemplateMenuAction_ConfigureTemplatesActionName=&Configure Templates...
SurroundWithTemplateMenuAction_NoneApplicable=(no template applicable)
IntroduceParameterObjectAction_action_text=Introduce &Parameter Object...
IntroduceParameterObjectAction_exceptiondialog_title=Introduce Parameter Object
IntroduceParameterObjectAction_unexpected_exception=An unexpected exception occurred. See the error log for more details
IntroduceParameterObjectAction_action_tooltip=Introduces a Parameter Object
IntroduceParameterObjectAction_action_description=Introduces a parameter object and updates all calling methods to use this object
IntroduceParameterObjectAction_can_not_run_refactoring_message=Can not run the refactoring on the current selection

CollapsAllAction_label= Collapse All
CollapsAllAction_tooltip= Collapse All
CollapsAllAction_description= Collapse All


# DO NOT REMOVE, used in a product, see https://bugs.eclipse.org/296836
OrganizeImportsAction_summary_added={0} import(s) added.

# DO NOT REMOVE, used in a product, see https://bugs.eclipse.org/296836
OrganizeImportsAction_summary_removed={0} import(s) removed.
