###############################################################################
# Copyright (c) 2000, 2016 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
preferenceKeywords.appearance=Java appearance package explorer browsing compress show method return types categories members
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
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 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=Java editor hover 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

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

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.

##########################################################################
# 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 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

##########################################################################
# 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...

##########################################################################
# 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

##########################################################################
# 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

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 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