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

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

##########################################################################
# 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.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.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
JavadocViewBackgroundColor.label= Javadoc view background
JavadocViewBackgroundColor.description= The color used as background for the Javadoc view.
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
