###############################################################################
# Copyright (c) 2000, 2011 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# This is an implementation of an early-draft specification developed under the Java
# Community Process (JCP) and is made available for testing and evaluation purposes
# only. The code is not compatible with any specification of the JCP.
#
# 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
###############################################################################

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

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= Other E&lement...
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.
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.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)}</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 '.*' suffix. 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
