###############################################################################
# Copyright (c) 2000, 2018 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
#     Ferenc Hechler, ferenc_hechler@users.sourceforge.net - 83258 [jar exporter] Deploy java application as executable jar
#     Troy Bishop <tjbishop@ca.ibm.com> - Add support for importing/exporting Java Code Style preferences - https://bugs.eclipse.org/bugs/show_bug.cgi?id=304395
#     Eugene Lucash <e.lucash@gmail.com> - [quick assist] Add key binding for Extract method Quick Assist - https://bugs.eclipse.org/424166
###############################################################################

pluginName= Java Development Tools UI
providerName= Eclipse.org
traceComponentLabel= JDT UI

Dummy.label=
BookmarkRulerAction.label= Java Editor Bookmark Ruler Action
JavaSelectRulerAction.label= Java Editor Ruler Single-Click

importExportWizards.category=Java
elementFiltersName=Java Element Filters

classpathContainerPageExtensionPoint=Classpath Container Configuration
classpathAttributeConfiguration=Classpath Attribute Configuration

quickFixProcessorExtensionPoint=Quick Fix Processor
quickAssistProcessorExtensionPoint=Quick Assist Processor
classpathFixProcessorExtensionPoint=Classpath Fix Processor

javadocExportWizardPageExtensionPoint=Javadoc Export Wizard Page

cleanUpExtensionPoint=Clean Ups

queryParticipantsExtensionPoint=Java Query Participants

defaultClasspathContainerPage=Default Classpath Container
defaultQuickFixProcessor=Standard Quick Fix Processor
spellingQuickFixProcessor=Spelling Quick Fix Processor
defaultQuickAssistProcessor=Standard Quick Assist Processor
advancedQuickAssistProcessor=Advanced Quick Assist Processor

javaCompletionProposalComputer= Java Completion Proposal Computers
javaCompletionProposalSorters= Java Completion Proposal Sorters

RelevanceSorter.name=by relevance
AlphabeticSorter.name=alphabetically

javadocCompletionProcessor=Javadoc Completion Processors
javaEditorTextHoversName=Java Editor Text Hovers
javaDocumentSetupParticipant=Java Document Setup Participant

JavaProposalCategory= J&ava Proposals
OtherJavaProposalCategory= &Java Non-Type Proposals
JavaTypesCategory= Java &Type Proposals
DefaultProposalCategory= &Basic Proposals
TemplateProposalCategory= Te&mplate Proposals
TextProposalCategory= &Word Proposals
SWTProposalCategory= &SWT Template Proposals

templatesViewName= Templates

SpecificContentAssist.name= Content Assist
SpecificContentAssist.desc= A parameterizable command that invokes content assist with a single completion proposal category
SpecificContentAssist.param= type

perspectiveName=Java
java.perspective.description=This perspective is designed to support Java development. It offers a Package Explorer, a Type Hierarchy, and Java-specific navigation actions.
typeHierarchyName=Java Type Hierarchy
typeHierarchy.perspective.description=This perspective is designed to support Java development. It offers a Type Hierarchy and Java-specific navigation actions.

viewCategoryName=Java
packagesViewName= Package Explorer
hierarchyViewName=Type Hierarchy
newWizardCategoryName=Java
commonNavigatorContentName=Java Elements

buildPathPageName=Java Build Path
codeStylePageName=Java Code Style
codeTemplatePageName=Code Templates
importOrganizePageName=Organize Imports
cleanUpPageName=Clean Up
codeFormatterPageName=Formatter
problemSeveritiesPageName=Errors/Warnings
javadocProblemsPageName=Javadoc
builderPageName=Building
compliancePageName=Java Compiler
todoPageName=Task Tags
javadocLocationPageName=Javadoc Location
javaCompilerPageName=Java Compiler

preferenceKeywords.general=Java package explorer call type hierarchy refactoring rename editor search index
preferenceKeywords.appearance=Java appearance package explorer browsing compress show method return types categories members test
preferenceKeywords.sortorder=Java member sort order appearance
preferenceKeywords.typefilter=Java type filter ignore package appearance content assist
preferenceKeywords.buildpath=Java project source sourcefolder library libraries output outputfolder jre buildpath test
preferenceKeywords.buildpathoptions=Java build source sourcefolder output outputfolder buildpath home

preferenceKeywords.cpvars=Java classpath variable variables buildpath
preferenceKeywords.userlibs=Java user library libraries external archive archives buildpath
preferenceKeywords.codestyle=Java prefix postfix suffix naming convention project specific comment override getter this annotation exception qualify field parameter
preferenceKeywords.cleanup=Java profile codestyle project specific cleanup
preferenceKeywords.formatter=Java profile codestyle project specific comment indentation Javadoc brace white space blank line new control statement wrapping annotation with tab tabulator parenthesis bracket

preferenceKeywords.codetemplates=Java comment code getter setter Javadoc codestyle override constructor file type field method override overriding catch body project specific
preferenceKeywords.organizeimports=Java static imports order codestyle project specific packages
preferenceKeywords.compliance=Java compliance level identifier assert enum debug compatibility jdk 1.1 1.2 1.3 1.4 1.5 5.0 1.6 6 1.7 7 CLDC J2SE5 classfile compiler project specific projectspecific
preferenceKeywords.building=Java build path buildpath problem exclusion inclusion pattern folder outputfolder filtered resource output compiler 1.5 5.0 J2SE5 project specific projectspecific strictly compatible JRE execution environment
preferenceKeywords.severities=Java errors warnings infos ignore compiler options nls externalize string severity severities jdk 5.0 1.5 J2SE5 deprecated static access member serializable serialVersionUID assignment effect finally empty char array catch shadowing package visible interface object method deprecated forbidden discouraged reference unused code unnecessary import imports private cast instanceof local variable parameter thrown exception final type bound generic vararg boxing unboxing autoboxing annotation @Override @Deprecated @SuppressWarnings enum constants switch project specific projectspecific raw null synchronized problem identical equals hashcode dead code missing
preferenceKeywords.javadocproblems=Java tag problem missing deprecated non visible severity severities level comment compiler project specific projectspecific
preferenceKeywords.todo=Java case sensitive task tag todo xxx fix fixme compiler project specific projectspecific comments
preferenceKeywords.javaeditor=Java java editor quick assist appearance navigation colors light bulb smart caret positioning highlight matching bracket foreground background show selected only save action participant clean up
preferenceKeywords.javaeditorproperty= Java java editor save action participant clean up

preferenceKeywords.contentassist=Java editor content code assist complete completion insert overwrite single proposal common prefix automatically import fill argument name guess alphabetical hide discouraged reference forbidden auto activation trigger Javadoc camel camelcase category categories separate specific timeout type types word hippie template static members favorites
preferenceKeywords.hover=pop-up Java editor hover popup sticky annotation roll over key modifier combined variable problem externalized externalize string source
preferenceKeywords.syntaxcoloring=Java editor colors semantic coloring highlighting Javadoc html links tags multi line single line comment task tag method invocation static field annotation autoboxing unboxing boxing constant deprecated field keywords local variable operators brackets strings type variable inherited method declaration
preferenceKeywords.templates=Java editor templates snippet macros
preferenceKeywords.folding=Java editor folding section comment comments header method import inner type
preferenceKeywords.markoccurrences=Java editor occurrence mark highlight type method constant field exception
preferenceKeywords.smarttyping=Java editor typing type close comment tabs indentation indent imports wrap escape semicolons braces brackets parenthesis parentheses strings literals paste pasting javadoc tabulator automatically smart typing
preferenceKeywords.propertieseditor=Java editor colors properties nls externalized string foreground argument assignment comment key value
preferenceKeywords.saveparticipant=Java editor save cleanup participants organize imports format
preferenceKeywords.classpathcontainer=Java classpath container buildpath jre

preferenceKeywords.wizards.java=Java
preferenceKeywords.jarpackager=Java archive application

preferenceTransfer.java.compiler.name= Java Compiler Preferences
preferenceTransfer.java.compiler.description= Java > Compiler preferences.
preferenceTransfer.java.appearance.name= Java Appearance Preferences
preferenceTransfer.java.appearance.description= Java > Appearance preferences.
preferenceTransfer.java.codestyle.name= Java Code Style Preferences
preferenceTransfer.java.codestyle.description= Java > Code Style preferences

sourceAttachmentPageName=Java Source Attachment
ClassFileViewerName=Class File Viewer
jarDescEditorName=JAR Export Wizard
ModuleInfoClassFileViewerName=Module-Info Class File Viewer

javaEditorFontDefiniton.label= Java Editor Text Font
javaEditorFontDefintion.description= The Java editor text font is used by Java editors.

javaCompareFontDefiniton.label= Java compare text font
javaCompareFontDefiniton.description= The Java compare text font is used by Java compare/merge tools.

propertiesFileCompareFontDefiniton.label= Java properties file compare text font
propertiesFileCompareFontDefiniton.description= The Java properties file compare text font is used by Java properties file compare/merge tools.

javadocDisplayFontDefiniton.label= Javadoc display font
javadocDisplayFontDefiniton.description= The Javadoc display font is used in the Javadoc view, for Javadoc hovers and for the additional information in content assist.

coloredLabels.match_highlight.label=Colored labels - match highlight
coloredLabels.match_highlight.description=The background color used to highlight matches when colored labels in Java views are enabled. 

coloredLabels.writeaccess_highlight.label=Colored labels - write access occurrences
coloredLabels.writeaccess_highlight.description=The background color used to highlight write accesses when colored labels in Java views are enabled. 

coloredLabels.inherited.label=Inherited members
coloredLabels.inherited.description=The color used to render to inherited members. 

javaPrefName=Java
organizeImportsPrefName=Organize Imports
typeFilterPrefName=Type Filters
cleanUpPrefName=Clean Up
codeFormatterPrefName=Formatter
classPathVarPrefName=Classpath Variables
userLibrariesPrefName=User Libraries
editorPrefName=Editor
compliancePrefName=Compiler
problemSeveritiesPrefName=Errors/Warnings
javadocProblemsPrefName=Javadoc
javaBuildPrefName=Building
buildPathPrefName=Build Path

todoTaskPrefName=Task Tags
codeTemplatePreferencePageName=Code Templates
codeStylePreferencePageName=Code Style
appearancePrefName=Appearance
memberSortPrefName=Members Sort Order
nativeLibraryPageName=Native Library

templatePageName=Templates

contentAssistPageName= Content Assist
contentAssistAdvancedName= Advanced
contentAssistFavoritesName= Favorites

editorHoversPageName=Hovers
editorSyntaxColoringPage=Syntax Coloring
editorFoldingPage=Folding
editorMarkOccurrencesPage=Mark Occurrences
editorTypingPage=Typing
editorSaveParticipants=Save Actions
editorPageName= Java Editor

classpathContainerPageName=Classpath Container

jarExportWizard.label=JAR file
jarExportWizard.description=Export resources into a JAR file on the local file system.

fatJarExportWizard.label=Runnable JAR file
fatJarExportWizard.description=Export all resources required to run an application into a JAR file on the local file system.

createJarAction.label=Create &JAR
createJarAction.tooltip=Creates the JAR Based on the Selected JAR Description File

JavaActionSet.label= Java Navigation
JavaActionSet.description= Java Navigation Action Set

JavaElementCreationActionSet.label= Java Element Creation
JavaElementCreationActionSet.description= Java Element Creation Action Set

CompilationUnitEditorName= Java Editor
ModuleInfoEditorName= Module-Info Editor

OpenTypeAction.label=Open &Type...
OpenTypeAction.tooltip=Open Type

ShowInBreadcrumbAction.label=Show in &Breadcrumb
ShowInBreadcrumbAction.tooltip=Shows the element at the cursor position in the editor breadcrumb 

OpenProjectWizardAction.label=Java &Project...
OpenProjectWizardAction.tooltip=New Java Project

OpenPackageWizardAction.label=P&ackage...
OpenPackageWizardAction.tooltip=New Java Package

OpenClassWizardAction.label=&Class...
OpenClassWizardAction.tooltip=New Java Class

ImplementOccurrences.label=Implement Occurrences
ExceptionOccurrences.label=Exception Occurrences
MethodExitOccurrences.label=Method Exit Target Occurrences
BreakContinueTargetOccurrences.label=Break / Continue Target Occurrences
OccurrencesInFile.label=Occurrences In File

OccurrenceAnnotation.label= Occurrences
WriteOccurrenceAnnotation.label= Write Occurrences

javaEditorPresentationActionSet.label= Java Editor Presentation
toggleMarkOccurrences.label= Toggle Mark Occurrences
toggleMarkOccurrences.tooltip= Toggle Mark Occurrences
toggleMarkOccurrences.description= Toggles mark occurrences in Java editors

toggleBreadcrumb.label= Toggle Java Editor Breadcrumb
toggleBreadcrumb.tooltip= Toggle Java Editor Breadcrumb
toggleBreadcrumb.description= Toggle the Java editor breadcrumb

OverrideIndicator.label= Override Indicators

OverrideIndicatorLabelDecorator.label=Java Method Override Indicator
OverrideIndicatorLabelDecorator.description=Decorates methods with an override indicator.

InterfaceIndicatorLabelDecorator.label=Java Type Indicator
InterfaceIndicatorLabelDecorator.description=Decorates compilation units and class files with an interface, enum, abstract class, or annotation indicator, and shows when types are package-visible or deprecated.

BuildpathIndicatorLabelDecorator.label=Java Build Path Indicator
BuildpathIndicatorLabelDecorator.description=Decorates files and folders if they are on the build path of their enclosing project.

WithoutTestCodeDecorator.label=Java Required Project Without Test Code
WithoutTestCodeDecorator.description=Decorates required projects on the build path if they are added without test code.

##########################################################################
# Java Search
##########################################################################
JavaSearchPage.label= Java Search
openJavaSearchPageAction.label= &Java...

# Action sets
JavaSearchActionSet.label= Java Search
JavaSearchActionSet.description= Action set containing search related Java actions

# Menus
searchMenu.label= Se&arch
declarationsSubMenu.label= Dec&larations
referencesSubMenu.label= R&eferences
occurrencesSubMenu.label= Occurre&nces in File
implementorsSubMenu.label= &Implementors
readAccessSubMenu.label= &Read Access
writeAccessSubMenu.label= &Write Access

ReferencesInWorkspace.label= &Workspace
DeclarationsInWorkspace.label= &Workspace

InWorkspace.label= &Workspace
InProject.label= &Project
InHierarchy.label= &Hierarchy
InWorkingSet.label= Working &Set...

CompareWithMenu.label=Comp&are With

ReplaceWithMenu.label=Rep&lace With

JavaCompareFromHistoryAction.label= Element from &Local History...
JavaCompareFromHistoryAction.tooltip= Compares the Selected Java Element With One from Local History

JavaCompareAction.label= Each Other by &Member
JavaCompareAction.tooltip= Compares the Selected Java Elements with Each Other

JavaReplaceFromHistoryAction.label=Element from &Local History...
JavaReplaceFromHistoryAction.tooltip=Replaces the Selected Java Element With One from Local History

JavaReplaceWithPreviousFromHistoryAction.label=&Previous Element from Local History
JavaReplaceWithPreviousFromHistoryAction.tooltip=Replaces the Selected Java Element With the Previous from Local History

JavaAddElementFromHistoryAction.label=Restore from Local Histor&y...
JavaAddElementFromHistoryAction.tooltip=Restores a Java Element from Local History to the Selected Container

Refactoring.menu.label= Refac&tor

Refactoring.renameAction.label=Re&name...
Refactoring.moveAction.label=&Move...
Refactoring.modifyParametersAction.label=&Change Method Signature...
Refactoring.convertAnonymousToNestedAction.label=C&onvert Anonymous Class to Nested...
Refactoring.convertNestedToTopAction.label=Mo&ve Type to New File...

Refactoring.pushDownAction.label=Push &Down...
Refactoring.pullUpAction.label=Pull &Up...
Refactoring.extractInterfaceAction.label=&Extract Interface...
Refactoring.extractClassAction.label=Extract Class...
Refactoring.extractSupertypeAction.label=Extrac&t Superclass...
Refactoring.changeTypeAction.label=Generali&ze Declared Type...
Refactoring.useSupertypeAction.label=Use Supertype W&here Possible...
Refactoring.inferTypeArgumentsAction.label=Infer &Generic Type Arguments...

Refactoring.inlineAction.label=&Inline...
Refactoring.extractMethodAction.label=E&xtract Method...
Refactoring.extractTempAction.label=Extract &Local Variable...
Refactoring.extractConstantAction.label=Extr&act Constant...

Refactoring.introduceIndirectionAction.label=Introduce Indirec&tion...
Refactoring.introduceParameterAction.label=Introduce &Parameter...
Refactoring.introduceFactoryAction.label=Introduce &Factory...
Refactoring.convertLocalToFieldAction.label=Convert Local Varia&ble to Field...
Refactoring.selfEncapsulateFieldAction.label=Encap&sulate Field...
Refactoring.introduceParameterObject.label=Introduce &Parameter Object...

Refactoring.migrateJar.label=Migrate &JAR File...
Refactoring.applyScript.label=Appl&y Script...
Refactoring.createScript.label=C&reate Script...
Refactoring.showHistory.label=&History...

Refactoring.NLSFieldRenameParticipant=Externalized string accessor field rename

NewJavaProject.label= Java Project
NewJavaProject.description=Create a Java project

NewJavaPackage.label= Package
NewJavaPackage.description=Create a Java package

NewJavaClass.label= Class
NewJavaClass.description=Create a Java class

NewJavaInterface.label= Interface
NewJavaInterface.description= Create a Java interface

NewEnumType.label= Enum
NewEnumType.description= Create an enum type

NewAnnotationType.label= Annotation
NewAnnotationType.description= Create an annotation type

NewSourceFolderCreationWizard.label=Source Folder
NewSourceFolderCreationWizard.description=Create a Java source folder

NewJavaWorkingSetWizard.label=Java Working Set
NewJavaWorkingSetWizard.description=Creates a Java working set

AddBookmark.label=Add Boo&kmark
AddBookmark.tooltip=Add Bookmark...

AddTask.label=Add &Task
AddTask.tooltip=Add Task...

#NLS

#Browsing
Browsing.perspectiveName= Java Browsing
browsing.perspective.description=This perspective is designed to support Java code browsing. It offers Java-specific navigation actions and view to show projects, packages, types, and members.
Browsing.viewCategoryName= Java Browsing
Browsing.projectsViewName= Projects
Browsing.packagesViewName= Packages
Browsing.typesViewName= Types
Browsing.membersViewName= Members

##########################################################################
# Coding Action set
##########################################################################
CodingActionSet.label= Java Coding
CodingActionSet.description= Action set containing coding related Java actions

##########################################################################
# Open Action set
##########################################################################
OpenActionSet.label= Java Open Actions
OpenActionSet.description= Action set containing open actions for Java

##########################################################################
# Navigate Menu
##########################################################################

GoToTypeAction.label=&Type...

GoToPackageAction.label=&Package...

OpenAction.label=&Open
OpenAction.tooltip=Open an Editor on the Selected Element

OpenImplementationAction.label=O&pen Implementation
OpenImplementationAction.tooltip=Opens the Implementations of a Method or Type in its Hierarchy

OpenSuperImplementationAction.label=Open &Super Implementation
OpenSuperImplementationAction.tooltip=Opens the Implementation of the Method in a Super Class, when Super Class Exists

OpenAttachedJavadocAction.label=Open Attached &Javadoc

OpenTypeHierarchyAction.label=Ope&n Type Hierarchy

OpenCallHierarchyAction.label=Open Call H&ierarchy


OpenHyperlinkAction.label=Open Hyperlin&k
OpenHyperlinkAction.tooltip=Opens the hyperlink at the caret location or opens a chooser if more than one hyperlink is available

OpenTypeInHierarchyAction.label=Open Type in Hierarch&y...
OpenTypeInHierarchyAction.tooltip=Opens a Type in a Type Hierarchy

ActionDefinition.indexRebuild.name=Rebuild Java Index
ActionDefinition.indexRebuild.description=Rebuilds the Java index database

##########################################################################
# Source Menu
##########################################################################
SourceMenu.label= &Source

CommentAction.label= Co&mment

UncommentAction.label= &Uncomment

ToggleCommentAction.label= Togg&le Comment

AddBlockCommentAction.label= Add &Block Comment

RemoveBlockCommentAction.label= Remove Bloc&k Comment

ShiftRightAction.label= &Shift Right

ShiftLeftAction.label= S&hift Left

FormatAction.label=&Format

FormatElementAction.label= Format Eleme&nt

SortMembersAction.label= S&ort Members...

AddImportAction.label= A&dd Import

OrganizeImportsAction.label= Or&ganize Imports

CleanUpAction.label= Clean &Up...

CopyQualifiedName.label= Cop&y Qualified Name

SurroundWithTemplateAction.label= Surround &With

OverrideMethodsAction.label= O&verride/Implement Methods...

GenerateGetterSetterAction.label= Gene&rate Getters and Setters...

GenerateDelegateMethodsAction.label=Generate Delegate &Methods...

AddConstructorFromSuperclassAction.label= Generate &Constructors from Superclass...

GenerateConstructorUsingFieldsAction.label= Gener&ate Constructor using Fields...

AddJavaDocCommentAction.label= Generate Element Comm&ent

GenerateHashCodeEqualsAction.label= Generate &hashCode() and equals()...

GenerateToStringAction.label= Generate to&String()...

ExternalizeStringsAction.label= E&xternalize Strings...

FindNLSProblems.label= Find Broken Ex&ternalized Strings

IndentAction.label= Correct &Indentation

annotateClassFile.label= Annotate Class File
annotateClassFile.description= Externally add Annotations to a Class File.

##########################################################################
# Javadoc Support
##########################################################################
JavadocWizard.name= Javadoc
JavadocWizard.description=Generate Javadoc.
CreateJavadocAction.label= Open Javadoc &Wizard...
CreateJavadocAction.tooltip= Open Javadoc Wizard

GenerateJavadocAction.label= &Generate Javadoc...

##########################################################################
# Module Support
##########################################################################
create.module.info.label= Create module-info.java

##########################################################################
# Java Working Set Support
##########################################################################
JavaWorkingSetPage.name= Java
JavaWorkingSetPage.description=Working set for Java elements
OthersWorkingSetWizardPage.name= Others
OthersWorkingSetWizardPage.description=Working set containing all elements not in any Package Explorer groups
DynamicSourcesWorkingSetWizardPage.name=Dynamic Java Sources
DynamicSourcesWorkingSetWizardPage.description=Dynamic working set containing all Java main or test source folders

##########################################################################
# Marker Support
##########################################################################
markerCategory.problem = Java Problems
markerCategory.buildpath_problem = Java Build Path Problems

##########################################################################
# Filter Support
##########################################################################
HideSystemFiles.label= .* resources
HideSystemFiles.description= Hides resources with names that start with a '.'

HideInnerClassFiles.label= Inner class files
HideInnerClassFiles.description= Hides class files with names that contain a '$'

HideEmptyPackages.label= Empty packages
HideEmptyPackages.description= Hides all empty packages

HideNoPackageContainingFolders.label= Folder containing no packages
HideNoPackageContainingFolders.description= Hides folders which do not contain any packages

HideEmptyInnerPackages.label= Empty parent packages
HideEmptyInnerPackages.description= Hides empty packages which do not contain Java files but other sub-folders. E.g. given a package 'org.junit' where 'org' does not contain any Java files, this filter will hide the package 'org' but not the package 'org.junit'

HideNonJavaElements.label= Non-Java elements
HideNonJavaElements.description= Hides all non-Java elements

HideEmptyLibraryContainers.label= Empty library containers 
HideEmptyLibraryContainers.description= Hides library containers which do not contain at least one library that is not filtered 

HideReferencedLibraries.label= Libraries from external
HideReferencedLibraries.description= Hides external libraries i.e. those not contained inside the project itself

HideContainedLibraries.label=Libraries in project
HideContainedLibraries.description= Hides local libraries i.e. those contained inside the project itself

HideJavaFiles.label= Java files
HideJavaFiles.description= Hides all Java files

HidePackageDeclaration.label= Package declarations
HidePackageDeclaration.description= Hides all package declarations

HideImportDeclaration.label= Import declarations
HideImportDeclaration.description= Hides all import declarations

HideNonJavaProjects.label= Non-Java projects
HideNonJavaProjects.description= Hides all projects without Java nature

HideNonPublicType.label= Non-public types
HideNonPublicType.description= Hides all non-public types

HideInterface.label= Interfaces
HideInterface.description= Hides all interfaces

HideEnum.label= Enums
HideEnum.description= Hides all enum types

HideAnnotation.label= Annotations
HideAnnotation.description= Hides all annotations

HideClass.label= Classes
HideClass.description= Hides all classes

HideNonSharedProjects.label= Non-shared projects
HideNonSharedProjects.description= Hides all unshared projects

HideClosedProjects.label= Closed projects
HideClosedProjects.description= Hides closed projects

HideFields.label= Fields
HideFields.description= Hides fields

HideStatics.label= Static fields and methods
HideStatics.description= Hides static fields and methods

HideNonPublic.label= Non-public members
HideNonPublic.description= Hides non-public members

HideLocalTypes.label= Local types
HideLocalTypes.description= Hides local types

HideSyntheticMembers.label= Synthetic members
HideSyntheticMembers.description= Hides synthetic members. Synthetic members do not appear in the source code, but are internally created by the compiler.

HideOutputFolder.label= Output folders
HideOutputFolder.description= Hides Java output folders of the Java projects. A Java output folder is where the compiled Java classes are.
HideJavaOutputFolder.label= Java output folders

HideJavaLangObjectMembersFilter.label=Inherited members from java.lang.Object
HideJavaLangObjectMembersFilter.description=Hides all inherited members from java.lang.Object

HideDeprecatedFieldsAndMethods.label= Deprecated fields and methods
HideDeprecatedFieldsAndMethods.description= Hides deprecated fields and methods

HideTestCode.label= Test code
HideTestCode.description= Hides test code


sourceHover= Source
sourceHoverDescription= Shows the source of the selected element, or the source near the matching opening curly brace.
javadocHover= Javadoc
javadocHoverDescription= Shows the Javadoc of the selected element.
nlsStringHover= Externalized String
nlsStringHoverDescription= Shows the externalized string of the selected key.
sequentialHover= Combined Hover
sequentialHoverDescription= Tries the hovers in the sequence listed in above table, excluding this hover, and uses the one which fits best for the selected element and the current context.
annotationHover= Annotation Description
annotationHoverDescription= Shows the description of the selected annotation.
problemHover= Problem Description
problemHoverDescription= Shows the description of the selected problem.

##########################################################################
# Action Definitions
##########################################################################

category.refactoring.name=Refactor - Java
category.refactoring.description=Java Refactoring Actions
category.source.name=Source
category.source.description= Java Source Actions

context.editingJavaSource.name= Editing Java Source
context.editingJavaSource.description= Editing Java Source Context

context.browsingJavaSource.name= Browsing attached Java Source
context.browsingJavaSource.description= Browsing attached Java Source Context

context.editingPropertiesSource.name= Editing Properties Files
context.editingPropertiesSource.description= Editing Properties Files Context

context.editorBreadcrumb.name= Editor Breadcrumb Navigation
context.editorBreadcrumb.description= Editor Breadcrumb Navigation Context

#--- Edit menu
ActionDefinition.show.outline.name= Quick Outline
ActionDefinition.show.outline.description= Show the quick outline for the editor input

ActionDefinition.open.hierarchy.name= Quick Hierarchy
ActionDefinition.open.hierarchy.description= Show the quick hierarchy of the selected element

ActionDefinition.open.structure.name= Open Structure
ActionDefinition.open.structure.description= Show the structure of the selected element

ActionDefinition.gotoNextMember.name= Go to Next Member
ActionDefinition.gotoNextMember.description= Move the caret to the next member of the compilation unit

ActionDefinition.gotoPreviousMember.name= Go to Previous Member
ActionDefinition.gotoPreviousMember.description= Move the caret to the previous member of the compilation unit

ActionDefinition.selectEnclosing.name= Select Enclosing Element
ActionDefinition.selectEnclosing.description= Expand selection to include enclosing element

ActionDefinition.selectNext.name= Select Next Element
ActionDefinition.selectNext.description= Expand selection to include next sibling

ActionDefinition.selectPrevious.name= Select Previous Element
ActionDefinition.selectPrevious.description= Expand selection to include previous sibling

ActionDefinition.selectLast.name= Restore Last Selection
ActionDefinition.selectLast.description= Restore last selection

ActionDefinition.removeOccurrenceAnnotations.name= Remove Occurrence Annotations
ActionDefinition.removeOccurrenceAnnotations.description= Removes the occurrence annotations from the current editor


#--- Source menu
ActionDefinition.sourceQuickMenu.name= Show Source Quick Menu
ActionDefinition.sourceQuickMenu.description= Shows the source quick menu

ActionDefinition.comment.name= Comment
ActionDefinition.comment.description= Turn the selected lines into Java comments

ActionDefinition.uncomment.name= Uncomment
ActionDefinition.uncomment.description= Uncomment the selected Java comment lines

ActionDefinition.toggleComment.name= Toggle Comment
ActionDefinition.toggleComment.description= Toggle comment the selected lines

ActionDefinition.addBlockComment.name= Add Block Comment
ActionDefinition.addBlockComment.description= Enclose the selection with a block comment

ActionDefinition.removeBlockComment.name= Remove Block Comment
ActionDefinition.removeBlockComment.description= Remove the block comment enclosing the selection

ActionDefinition.format.name= Format
ActionDefinition.format.description= Format the selected text

ActionDefinition.copyQualifiedName.name= Copy Qualified Name
ActionDefinition.copyQualifiedName.description= Copy a fully qualified name to the system clipboard

ActionDefinition.quickformat.name= Format Element
ActionDefinition.quickformat.description= Format enclosing text element

ActionDefinition.addImport.name= Add Import
ActionDefinition.addImport.description= Create import statement on selection

ActionDefinition.organizeImports.name= Organize Imports
ActionDefinition.organizeImports.description= Evaluate all required imports and replace the current imports

ActionDefinition.cleanUp.name= Clean Up
ActionDefinition.cleanUp.description= Solve problems and improve code style on selected resources

ActionDefinition.sortMembers.name=Sort Members
ActionDefinition.sortMembers.description=Sort all members using the member order preference

ActionDefinition.delegateMethods.name=Generate Delegate Methods
ActionDefinition.delegateMethods.description=Add delegate methods for a type's fields

ActionDefinition.getterSetter.name=Generate Getters and Setters
ActionDefinition.getterSetter.description=Generate Getter and Setter methods for type's fields

ActionDefinition.addJavadocComment.name=Add Javadoc Comment
ActionDefinition.addJavadocComment.description=Add a Javadoc comment stub to the member element

ActionDefinition.surroundWith.tryCatch.name= Surround with try/catch Block
ActionDefinition.surroundWith.tryCatch.description= Surround the selected text with a try/catch block

ActionDefinition.surroundWith.tryMultiCatch.name= Surround with try/multi-catch Block
ActionDefinition.surroundWith.tryMultiCatch.description= Surround the selected text with a try/multi-catch block

ActionDefinition.surroundWith.quickMenu.name= Surround With Quick Menu
ActionDefinition.surroundWith.quickMenu.description= Shows the Surround With quick menu

ActionDefinition.overrideMethods.name= Override/Implement Methods
ActionDefinition.overrideMethods.description= Override or implement methods from super types

ActionDefinition.generateHashCode.name= Generate hashCode() and equals()
ActionDefinition.generateHashCode.description= Generates hashCode() and equals() methods for the type

ActionDefinition.generateToString.name= Generate toString()
ActionDefinition.generateToString.description= Generates the toString() method for the type

ActionDefinition.addUnimplementedConstructors.name= Generate Constructors from Superclass
ActionDefinition.addUnimplementedConstructors.description= Evaluate and add constructors from superclass

ActionDefinition.generateConstructorUsingFields.name= Generate Constructor using Fields
ActionDefinition.generateConstructorsUsingFields.description= Choose fields to initialize and constructor from superclass to call 


ActionDefinition.externalizeStrings.name= Externalize Strings
ActionDefinition.externalizeStrings.description=Finds all strings that are not externalized and moves them into a separate property file

ActionDefinition.findNLSProblems.name= Find Broken Externalized Strings
ActionDefinition.findNLSProblems.description=Finds undefined, duplicate and unused externalized string keys in property files

ActionDefinition.indent.name= Correct Indentation
ActionDefinition.indent.description=Corrects the indentation of the selected lines

ActionDefinition.corrections.renameInFile.name=Quick Assist - Rename in file
ActionDefinition.corrections.renameInFile.description=Invokes quick assist and selects 'Rename in file'

ActionDefinition.corrections.assignToLocal.name=Quick Assist - Assign to local variable
ActionDefinition.corrections.assignToLocal.description=Invokes quick assist and selects 'Assign to local variable'

ActionDefinition.corrections.assignToField.name=Quick Assist - Assign to field
ActionDefinition.corrections.assignToField.description=Invokes quick assist and selects 'Assign to field'

ActionDefinition.corrections.assignParamToField.name=Quick Assist - Assign parameter to field
ActionDefinition.corrections.assignParamToField.description=Invokes quick assist and selects 'Assign parameter to field'

ActionDefinition.corrections.assignAllParamsToNewFields.name=Quick Assist - Assign all parameters to new fields
ActionDefinition.corrections.assignAllParamsToNewFields.description=Invokes quick assist and selects 'Assign all parameters to new fields'

ActionDefinition.corrections.addBlock.name=Quick Assist - Replace statement with block
ActionDefinition.corrections.addBlock.description=Invokes quick assist and selects 'Replace statement with block'

ActionDefinition.corrections.addThrowsDecl.name=Quick Fix - Add throws declaration
ActionDefinition.corrections.addThrowsDecl.description=Invokes quick assist and selects 'Add throws declaration'

ActionDefinition.corrections.addCast.name=Quick Fix - Add cast
ActionDefinition.corrections.addCast.description=Invokes quick assist and selects 'Add cast'

ActionDefinition.corrections.addNonNLS.name=Quick Fix - Add non-NLS tag
ActionDefinition.corrections.addNonNLS.description=Invokes quick assist and selects 'Add non-NLS tag'

ActionDefinition.corrections.qualifyField.name=Quick Fix - Qualify field access
ActionDefinition.corrections.qualifyField.description=Invokes quick assist and selects 'Qualify field access'

ActionDefinition.corrections.changeToStatic.name=Quick Fix - Change to static access
ActionDefinition.corrections.changeToStatic.description=Invokes quick assist and selects 'Change to static access'

ActionDefinition.corrections.addImport.name=Quick Fix - Add import
ActionDefinition.corrections.addImport.description=Invokes quick assist and selects 'Add import'

ActionDefinition.corrections.addSuppressWarnings.name=Quick Fix - Add @SuppressWarnings
ActionDefinition.corrections.addSuppressWarnings.description=Invokes quick fix and selects 'Add @SuppressWarnings' 

ActionDefinition.corrections.splitJoinVariableDeclaration.name=Quick Assist - Split/Join variable declaration
ActionDefinition.corrections.splitJoinVariableDeclaration.description=Invokes quick assist and selects 'Split/Join variable declaration'

ActionDefinition.corrections.extractLocal.name=Quick Assist - Extract local variable (replace all occurrences)
ActionDefinition.corrections.extractLocal.description=Invokes quick assist and selects 'Extract local variable (replace all occurrences)'

ActionDefinition.corrections.extractLocalNotReplaceOccurrences.name=Quick Assist - Extract local variable
ActionDefinition.corrections.extractLocalNotReplaceOccurrences.description=Invokes quick assist and selects 'Extract local variable'

ActionDefinition.corrections.extractConstant.name=Quick Assist - Extract constant
ActionDefinition.corrections.extractConstant.description=Invokes quick assist and selects 'Extract constant'

ActionDefinition.corrections.extractMethodInplace.name=Quick Assist - Extract method
ActionDefinition.corrections.extractMethodInplace.description=Invokes quick assist and selects 'Extract to method'

ActionDefinition.corrections.convertLocalToField.name=Quick Assist - Convert local variable to field
ActionDefinition.corrections.convertLocalToField.description=Invokes quick assist and selects 'Convert local variable to field'

ActionDefinition.corrections.inlineLocal.name=Quick Assist - Inline local variable
ActionDefinition.corrections.inlineLocal.description=Invokes quick assist and selects 'Inline local variable'

ActionDefinition.corrections.convertAnonymousToLocal.name=Quick Assist - Convert anonymous to local class
ActionDefinition.corrections.convertAnonymousToLocal.description=Invokes quick assist and selects 'Convert anonymous to local class'

ActionDefinition.corrections.encapsulateField.name=Quick Assist - Create getter/setter for field
ActionDefinition.corrections.encapsulateField.description=Invokes quick assist and selects 'Create getter/setter for field'

#--- Refactor menu
ActionDefinition.refactorQuickMenu.name= Show Refactor Quick Menu
ActionDefinition.refactorQuickMenu.description= Shows the refactor quick menu

ActionDefinition.pullUp.name= Pull Up
ActionDefinition.pullUp.description= Move members to a superclass

ActionDefinition.pushDown.name= Push Down
ActionDefinition.pushDown.description= Move members to subclasses

ActionDefinition.renameElement.name= Rename - Refactoring 
ActionDefinition.renameElement.description= Rename the selected element

ActionDefinition.modifyMethodParameters.name= Change Method Signature
ActionDefinition.modifyMethodParameters.description= Change method signature includes parameter names and parameter order

ActionDefinition.moveElement.name= Move - Refactoring 
ActionDefinition.moveElement.description= Move the selected element to a new location

ActionDefinition.extractLocalVariable.name= Extract Local Variable
ActionDefinition.extractLocalVariable.description= Extracts an expression into a new local variable and uses the new local variable

ActionDefinition.extractConstant.name= Extract Constant
ActionDefinition.extractConstant.description= Extracts a constant into a new static field and uses the new static field

ActionDefinition.introduceParameter.name= Introduce Parameter
ActionDefinition.introduceParameter.description= Introduce a new method parameter based on the selected expression

ActionDefinition.introduceParameterObject.name= Introduce Parameter Object
ActionDefinition.introduceParameterObject.description= Introduce a parameter object to a selected method

ActionDefinition.introduceFactory.name= Introduce Factory
ActionDefinition.introduceFactory.description= Introduce a factory method to encapsulate invocation of the selected constructor

ActionDefinition.inline.name= Inline
ActionDefinition.inline.description= Inline a constant, local variable or method

ActionDefinition.introduceIndirection.name= Introduce Indirection
ActionDefinition.introduceIndirection.description= Introduce an indirection to encapsulate invocations of a selected method

ActionDefinition.replaceInvocations.name= Replace Invocations
ActionDefinition.replaceInvocations.description= Replace invocations of the selected method

ActionDefinition.extractClass.name=Extract Class...
ActionDefinition.extractClass.description=Extracts fields into a new class

ActionDefinition.selfEncapsulateField.name= Encapsulate Field
ActionDefinition.selfEncapsulateField.description= Create getting and setting methods for the field and use only those to access the field

ActionDefinition.extractMethod.name= Extract Method
ActionDefinition.extractMethod.description= Extract a set of statements or an expression into a new method and use the new method

ActionDefinition.extractInterface.name= Extract Interface
ActionDefinition.extractInterface.description= Extract a set of members into a new interface and try to use the new interface

ActionDefinition.extractSupertype.name= Extract Superclass
ActionDefinition.extractSupertype.description= Extract a set of members into a new superclass and try to use the new superclass

ActionDefinition.changeType.name= Generalize Declared Type
ActionDefinition.changeType.description= Change the declaration of a selected variable to a more general type consistent with usage

ActionDefinition.convertNestedToTopLevel.name= Move Type to New File
ActionDefinition.convertNestedToTopLevel.description= Move Type to New File

ActionDefinition.useSupertype.name= Use Supertype Where Possible
ActionDefinition.useSupertype.description= Change occurrences of a type to use a supertype instead

ActionDefinition.inferTypeArguments.name= Infer Generic Type Arguments
ActionDefinition.inferTypeArguments.description= Infer type arguments for references to generic classes and remove unnecessary casts

ActionDefinition.convertLocalToField.name= Convert Local Variable to Field
ActionDefinition.convertLocalToField.description= Convert a local variable to a field

ActionDefinition.convertAnonymousToNested.name= Convert Anonymous Class to Nested
ActionDefinition.convertAnonymousToNested.description= Convert an anonymous class to a nested class

ActionDefinition.applyRefactoringScript.name=Apply Script
ActionDefinition.applyRefactoringScript.description=Perform refactorings from a refactoring script on the local workspace

ActionDefinition.createRefactoringScript.name=Create Script
ActionDefinition.createRefactoringScript.description=Create a refactoring script from refactorings on the local workspace

ActionDefinition.openRefactoringHistory.name=Open Refactoring History 
ActionDefinition.openRefactoringHistory.description=Opens the refactoring history

ActionDefinition.migrate.name=Migrate JAR File
ActionDefinition.migrate.description=Migrate a JAR File to a new version


#--- Navigate menu
ActionDefinition.openType.name= Open Type
ActionDefinition.openType.description= Open a type in a Java editor

ActionDefinition.openTypeInHierarchy.name= Open Type in Hierarchy
ActionDefinition.openTypeInHierarchy.description= Open a type in the type hierarchy view

ActionDefinition.gotoPackage.name= Go to Package
ActionDefinition.gotoPackage.description= Go to Package

ActionDefinition.gotoBreadcrumb.name= Show In Breadcrumb
ActionDefinition.gotoBreadcrumb.description= Shows the Java editor breadcrumb and sets the keyboard focus into it

ActionDefinition.gotoType.name= Go to Type
ActionDefinition.gotoType.description= Go to Type

ActionDefinition.openEditor.name= Open Declaration
ActionDefinition.openEditor.description= Open an editor on the selected element

ActionDefinition.openImplementation.name= Open Implementation
ActionDefinition.openImplementation.description= Opens the Implementations of a method or a type in its hierarchy

ActionDefinition.openSuperImplementation.name= Open Super Implementation
ActionDefinition.openSuperImplementation.description= Open the Implementation in the Super Type

ActionDefinition.openAttachedJavadoc.name= Open Attached Javadoc
ActionDefinition.openAttachedJavadoc.description= Open the attached Javadoc of the selected element in a browser

ActionDefinition.openTypeHierarchy.name= Open Type Hierarchy
ActionDefinition.openTypeHierarchy.description= Open a type hierarchy on the selected element

ActionDefinition.openCallHierarchy.name= Open Call Hierarchy
ActionDefinition.openCallHierarchy.description= Open a call hierarchy on the selected element

ActionDefinition.showInPackageView.name= Show in Package Explorer
ActionDefinition.showInPackageView.description= Show the selected element in the Package Explorer


ActionDefinition.gotoMatchingBracket.name= Go to Matching Bracket
ActionDefinition.gotoMatchingBracket.description= Moves the cursor to the matching bracket

#--- Search menu
ActionDefinition.referencesInWorkspace.name= References in Workspace
ActionDefinition.referencesInWorkspace.description= Search for references to the selected element in the workspace

ActionDefinition.referencesInProject.name= References in Project
ActionDefinition.referencesInProject.description= Search for references to the selected element in the enclosing project

ActionDefinition.referencesInHierarchy.name= References in Hierarchy
ActionDefinition.referencesInHierarchy.description= Search for references of the selected element in its hierarchy

ActionDefinition.referencesInWorkingSet.name= References in Working Set
ActionDefinition.referencesInWorkingSet.description= Search for references to the selected element in a working set

ActionDefinition.readAccessInworkspace.name= Read Access in Workspace
ActionDefinition.readAccessInWorkspace.description= Search for read references to the selected element in the workspace

ActionDefinition.readAccessInProject.name= Read Access in Project
ActionDefinition.readAccessInProject.description= Search for read references to the selected element in the enclosing project

ActionDefinition.readAccessInHierarchy.name= Read Access in Hierarchy
ActionDefinition.readAccessInHierarchy.description= Search for read references of the selected element in its hierarchy

ActionDefinition.readAccessInWorkingSet.name= Read Access in Working Set
ActionDefinition.readAccessInWorkingSet.description= Search for read references to the selected element in a working set

ActionDefinition.writeAccessInWorkspace.name=Write Access in Workspace
ActionDefinition.writeAccessInWorkspace.description= Search for write references to the selected element in the workspace

ActionDefinition.writeAccessInProject.name= Write Access in Project
ActionDefinition.writeAccessInProject.description= Search for write references to the selected element in the enclosing project

ActionDefinition.writeAccessInHierarchy.name= Write Access in Hierarchy
ActionDefinition.writeAccessInHierarchy.description= Search for write references of the selected element in its hierarchy

ActionDefinition.writeAccessInWorkingSet.name= Write Access in Working Set
ActionDefinition.writeAccessInWorkingSet.description= Search for write references to the selected element in a working set

ActionDefinition.declarationsInWorkspace.name= Declaration in Workspace
ActionDefinition.declarationsInWorkspace.description= Search for declarations of the selected element in the workspace

ActionDefinition.declarationsInProject.name= Declaration in Project
ActionDefinition.declarationsInProject.description= Search for declarations of the selected element in the enclosing project

ActionDefinition.declarationsInHierarchy.name= Declaration in Hierarchy
ActionDefinition.declarationsInHierarchy.description= Search for declarations of the selected element in its hierarchy

ActionDefinition.declarationsInWorkingSet.name= Declaration in Working Set
ActionDefinition.declarationsInWorkingSet.description= Search for declarations of the selected element in a working set

ActionDefinition.implementorsInWorkspace.name= Implementors in Workspace
ActionDefinition.implementorsInWorkspace.description= Search for implementors of the selected interface

ActionDefinition.implementorsInProject.name= Implementors in Project
ActionDefinition.implementorsInProject.description= Search for implementors of the selected interface in the enclosing project

ActionDefinition.implementorsInWorkingSet.name= Implementors in Working Set
ActionDefinition.implementorsInWorkingSet.description= Search for implementors of the selected interface in a working set

ActionDefinition.occurrencesInFile.quickMenu.name= Show Occurrences in File Quick Menu
ActionDefinition.occurrencesInFile.quickMenu.description= Shows the Occurrences in File quick menu

ActionDefinition.occurrencesInFile.name= Search All Occurrences in File
ActionDefinition.occurrencesInFile.description= Search for all occurrences of the selected element in its declaring file

ActionDefinition.methodExitOccurrences.name = Search Method Exit Occurrences in File
ActionDefinition.methodExitOccurrences.description = Search for method exit occurrences of a selected return type

ActionDefinition.breakContinueTargetOccurrences.name = Search break/continue Target Occurrences in File
ActionDefinition.breakContinueTargetOccurrences.description = Search for break/continue target occurrences of a selected target name

ActionDefinition.exceptionOccurrences.name= Search Exception Occurrences in File
ActionDefinition.exceptionOccurrences.description= Search for exception occurrences of a selected exception type

ActionDefinition.implementOccurrences.name= Search Implement Occurrences in File
ActionDefinition.implementOccurrences.description= Search for implement occurrences of a selected type

#---  project
ActionDefinition.generateJavadoc.name= Generate Javadoc
ActionDefinition.generateJavadoc.description= Generates Javadoc for a selectable set of Java resources


#--- commands not assigned to a menu
ActionDefinition.foldingCollapseMembers.name= Collapse Members
ActionDefinition.foldingCollapseMembers.description= Collapse all members

ActionDefinition.foldingCollapseComments.name= Collapse Comments
ActionDefinition.foldingCollapseComments.description= Collapse all comments

#--- perspective commands
PerspectiveCommand.javaBrowsing.name= Java Browsing
PerspectiveCommand.javaBrowsing.description= Show the Java Browsing perspective

PerspectiveCommand.java.name= Java
PerspectiveCommand.java.description= Show the Java perspective

PerspectiveCommand.javaTypeHierarchy.name= Java Type Hierarchy
PerspectiveCommand.javaTypeHierarchy.description= Show the Java Type Hierarchy perspective


#--- Commands for surfacing java elements
command.openElementInEditor.name= Open Java Element
command.openElementInEditor.desc= Open a Java element in its editor
commandParameter.openElementInEditor.elementRef.name= Java element reference
command.showElementInPackageView.name= Show Java Element in Package Explorer
command.showElementInPackageView.desc= Select Java element in the Package Explorer view
commandParameter.showElementInPackageView.elementRef.name= Java element reference
command.showElementInTypeHierarchyView.name= Show Java Element Type Hierarchy
command.showElementInTypeHierarchyView.desc= Show a Java element in the Type Hierarchy view
commandParameter.showElementInTypeHierarchyView.elementRef.name= Java element reference

#--- Call Hierarchy
callHierarchyViewName=Call Hierarchy

#--- Info views
JavaSourceView= Declaration
JavadocView= Javadoc


#--- Info view colors
JavadocBackgroundColor.label= Javadoc background
JavadocBackgroundColor.description= The color used as background for the Javadoc view and hover.
JavadocForegroundColor.label= Javadoc text color
JavadocForegroundColor.description= The foreground color for text in the Javadoc view and hover.
DeclarationViewBackgroundColor.label= Declaration view background
DeclarationViewBackgroundColor.description= The color used as background for the Declaration view.

#--- linked mode annotations
linked.focus.label= Current range
linked.slave.label= Range linked to current
linked.target.label= Editable range
linked.exit.label= Final caret location

userLibrary.name=User Library

#--- templates
templates.java.contextType.name= Java
templates.java.statements.contextType.name= Java statements
templates.java.members.contextType.name= Java type members
templates.javadoc.contextType.name= Javadoc
templates.swt.contextType.name= SWT
templates.swt.statements.contextType.name= SWT statements
templates.swt.members.contextType.name= SWT type members

templates.java.resolvers.Field.name= Field
templates.java.resolvers.Field.description= <b>${<i>id</i>:field(type[,type]*)}</b><br>Evaluates to a field in the current scope that is a subtype of any of the given types. If no type is specified, any non-primitive field matches.<br><br><b>Example:</b><br><code>${counter:field(int)}</code>
templates.java.resolvers.Link.name= Linked Mode
templates.java.resolvers.Link.description= <b>${<i>id</i>:link([proposal[,proposal]*])}</b><br>Evaluates to <i>id</i> if the list of proposals is empty, evaluates to the first proposal otherwise. The evaluated value is put into linked mode. A proposal window shows all the given proposals.<br><br><b>Example1:</b><br><code>java.util.Collections.${kind:link(EMPTY_SET, EMPTY_LIST, 'EMPTY_MAP.entrySet()')}</code><br><br><b>Example2:</b><br><code>int ${integer:link}; ${integer}= 0;</code>
templates.java.resolvers.Imports.name= Import
templates.java.resolvers.Imports.description= <b>${:import([type[,type]*])}</b><br>Adds an import statement for each type that is not already imported. Does nothing if a conflicting import exists. Evaluates to nothing.<br><br><b>Example:</b><br><code>${:import(java.util.List, java.util.Collection)}</code>
templates.java.resolvers.ImportStatic.name= Import Static
templates.java.resolvers.ImportStatic.description= <b>${:importStatic([qualifiedName[,qualifiedName]*])}</b><br>Adds a static import statement for each qualified name that is not already imported. The <code>qualifiedName</code> is the fully qualified name of a static field or method, or it is the qualified name of a type plus a <code>.*</code> suffix, enclosed in single quotes <code>'\u0027</code>. Does nothing if a conflicting import exists. Evaluates to nothing.<br><br><b>Example:</b><br><code>${:importStatic(java.util.Collections.EMPTY_SET, 'java.lang.System.*')}</code>
templates.java.resolvers.Var.name= Variable
templates.java.resolvers.Var.description= <b>${<i>id</i>:var(type[,type]*)}</b><br>Evaluates to a field, local variable or parameter visible in the current scope that is a subtype of any of the given types. If no type is specified, any non-primitive variable matches.<br><br><b>Example:</b><br><code>${array:var('java.lang.Object[]')}</code>
templates.java.resolvers.LocalVar.name= Local Variable
templates.java.resolvers.LocalVar.description= <b>${<i>id</i>:localVar(type[,type]*)}</b><br>Evaluates to a local variable or parameter visible in the current scope that is a subtype of any of the given types. If no type is specified, any non-primitive local variable matches.<br><br><b>Example:</b><br><code>${iterable:localVar(java.lang.Iterable)}</code>
templates.java.resolvers.Name.name= New Name
templates.java.resolvers.Name.description= <b>${<i>id</i>:newName(reference)}</b><br>Evaluates to an non-conflicting name for a new local variable of the type specified by the reference. The reference may either be a Java type name or the name of another template variable. The generated name respects the code style settings.<br><br><b>Example:</b><br><code>${index:newName(int)}</code>
templates.java.resolvers.Type.name= New Type
templates.java.resolvers.Type.description= <b>${<i>id</i>:newType(fullyQualifiedType)}</b><br>Evaluates to a type name given the fully qualified Java type name. Evaluates to a simple type name and an import if no conflicting type exists. Evaluates to a fully qualified type name otherwise.<br><br><b>Example:</b><br><code>${type:newType(java.util.Iterator)}</code>
templates.java.resolvers.ElementType.name= Element Type
templates.java.resolvers.ElementType.description= <b>${<i>id</i>:elemType(variable)}</b><br>Evaluates to the element type of the referenced template variable. The reference should be the name of another template variable that resolves to an array or an instance of <code>java.lang.Iterable</code>.<br><br><b>Example:</b><br><code>${t:elemType(a)} elem = ${a:array};</code>
templates.java.resolvers.ArgumentType.name= Argument Type
templates.java.resolvers.ArgumentType.description= <b>${<i>id</i>:argType(variable, n)}</b><br> Evaluates to the <em>nth</em> type argument of the referenced template variable. The reference should be the name of another template variable. Resolves to <code>java.lang.Object</code> if the referenced variable cannot be found or is not a parameterized type.<br><br><b>Example:</b><br><code>${type:argType(vector, 0)} ${first:name(type)} = ${vector:var(java.util.Vector)}.get(0);</code>;
templates.java.resolvers.ExceptionVariableName.name= Exception Variable Name
templates.java.resolvers.ExceptionVariableName.description= Exception variable name in catch blocks

#--- folding
foldingStructureProvidersExtensionPoint= Folding Structure Providers
defaultFoldingStructureProviderName= Default Java Folding

#--- presentation
javaPresentation.label= Java

#--- Properties File Editor
PropertiesFileEditorName=Properties File Editor
propertiesFileDocumentSetupParticipant= Properties File Document Setup Participant

propertiesFileEditorFontDefiniton.label= Properties File Editor Text Font
propertiesFileEditorFontDefintion.description= The Properties File editor text font is used by Properties File editors.

propertiesFileEditorPrefName= Properties Files Editor

#--- Spelling
defaultSpellingEngine.label= Default spelling engine
spellingMarker= Spelling Marker

#--- Java model provider
JavaModelProvider.name=Java Workspace
JavaModelContent.name=Java Workspace

#--- Java problem grouping
MarkerCategory.name=Java Problem Type
MarkerCategory.buildpath=Build Path
MarkerCategory.fatal=Fatal Errors
MarkerCategory.documentation=Documentation
MarkerCategory.codestyle=Code Style
MarkerCategory.potential=Potential Programming Problems
MarkerCategory.namingconflicts=Name Shadowing and Conflicts
MarkerCategory.deprecation=Deprecation
MarkerCategory.generictypes=Type Safety and Raw Types
MarkerCategory.unnecessary=Unnecessary Code
MarkerCategory.nls=Externalized Strings
MarkerCategory.restrictedAPI=Restricted API

#--- Hyperlinking ---
JavaEditorHyperlinkTarget= Java Editor
PropertiesFileEditorHyperlinkTarget=Properties File Editor
JavaElementHyperlinkDetector= Open Declaration
JavaElementHyperlinkImplementationDetector= Open Implementation
NLSHyperlinkDetector= Java Property Key
PropertyKeyHyperlinkDetector= Java Property Key
JavaElementHyperlinkDeclaredTypeDetector= Open Declared Type
JavaElementHyperlinkReturnTypeDetector= Open Return Type 
JavaElementHyperlinkSuperImplementationDetector= Open Super Implementation 

#--- Clean Up ---
CleanUpTabPage.CodeStyle.name = &Code Style
CleanUpTabPage.MemberAccesses.name = Membe&r Accesses
CleanUpTabPage.UnnecessaryCode.name = &Unnecessary Code
CleanUpTabPage.MissingCode.name = &Missing Code
CleanUpTabPage.CodeOrganizing.name = Code &Organizing

contentMergeViewers.java.label=Java Source Compare
contentMergeViewers.properties.label=Java Properties Compare
structureMergeViewers.java.label=Java Structure Compare

projectConfigurator.java = Java
projectConfigurator.jdt = JDT