###############################################################################
# Copyright (c) 2000, 2011 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################
# NLS_ENCODING=UTF-8
# NLS_MESSAGEFORMAT_NONE

pluginName= Eclipse JavaScript Development Tools
providerName= Eclipse Web Tools Platform

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

importExportWizards.category=JavaScript
elementFiltersName=JavaScript Element Filters

JsGlobalScopeContainerPageExtensionPoint=Include path Container Configuration
classpathAttributeConfiguration=Include path Attribute Configuration

quickFixProcessorExtensionPoint=Quick Fix Processor
quickAssistProcessorExtensionPoint=Quick Assist Processor

queryParticipantsExtensionPoint=JavaScript Query Participants

defaultJsGlobalScopeContainerPage=Default Include path Container
defaultQuickFixProcessor=Standard Quick Fix Processor
spellingQuickFixProcessor=Spelling Quick Fix Processor
defaultQuickAssistProcessor=Standard Quick Assist Processor
advancedQuickAssistProcessor=Advanced Quick Assist Processor

javaCompletionProposalComputer= JavaScript Completion Proposal Computers
javaCompletionProposalSorters= JavaScript Completion Proposal Sorters

RelevanceSorter.name=by relevance
AlphabeticSorter.name=alphabetically

javadocCompletionProcessor=JSDoc Completion Processors
javaEditorTextHoversName=JavaScript Editor Text Hovers
javaDocumentSetupParticipant=JavaScript Document Setup Participant

JavaProposalCategory= Other &JavaScript Proposals
JavaTypesCategory= &Type Proposals
DefaultProposalCategory= &Basic Proposals
TemplateProposalCategory= Te&mplate Proposals
TextProposalCategory= &Word Proposals

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

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

viewCategoryName=JavaScript
hierarchyViewName=Hierarchy
newWizardCategoryName=JavaScript
commonNavigatorContentName=JavaScript Elements

javaScriptPropertiesPageName=JavaScript
buildPathPageName=Include Path
codeStylePageName=Code Style
codeTemplatePageName=Code Templates
importOrganizePageName=Organize Imports
cleanUpPageName=Clean Up
codeFormatterPageName=Formatter
problemSeveritiesPageName=Errors/Warnings
javadocProblemsPageName=JSDoc
builderPageName=Validating
compliancePageName=Validation
todoPageName=Task Tags
javadocLocationPageName=JSDoc Location

preferenceKeywords.general=JavaScript Script explorer call type hierarchy refactoring rename editor search
preferenceKeywords.appearance=JavaScript appearance script explorer browsing compress color colored labels
preferenceKeywords.sortorder=JavaScript member sort order appearance
preferenceKeywords.typefilter=JavaScript type filter ignore folder appearance
preferenceKeywords.buildpath=JavaScript project source sourcefolder library libraries output outputfolder includepath include path
preferenceKeywords.buildpathoptions=JavaScript build source sourcefolder output outputfolder includepath home include

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

preferenceKeywords.codetemplates=JavaScript comment code getter setter JSDoc codestyle override constructor file type var function override overriding catch body project specific
preferenceKeywords.organizeimports=JavaScript static imports order codestyle project specific folders
preferenceKeywords.compliance=JavaScript compliance level identifier assert debug compatibility compiler project specific projectspecific
preferenceKeywords.building=JavaScript include path includepath problem exclusion inclusion pattern folder outputfolder filtered resource output compiler project specific projectspecific
preferenceKeywords.severities=JavaScript errors warnings ignore compiler options nls externalize string severity severities deprecated static access member serializable serialVersionUID assignment effect finally empty char array catch shadowing folder visible interface object function 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 semantic 
preferenceKeywords.javadocproblems=JavaScript tag problem missing deprecated non visible severity severities level comment compiler project specific projectspecific
preferenceKeywords.todo=JavaScript case sensitive task tag todo xxx fix fixme compiler project specific projectspecific comments
preferenceKeywords.javaeditor=JavaScript javaScript 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= JavaScript javaScript editor save action participant clean up

preferenceKeywords.contentassist=JavaScript 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 JSDoc camel camelcase category categories separate specific timeout type types word hippie template static members favorites
preferenceKeywords.hover=JavaScript editor hover sticky annotation roll over key modifier combined variable problem externalized externalize string source
preferenceKeywords.syntaxcoloring=JavaScript editor colors semantic coloring highlighting JSDoc html links tags multi line single line comment task tag function invocation static var annotation autoboxing unboxing boxing constant deprecated var keywords local variable operators brackets strings type variable inherited function declaration
preferenceKeywords.templates=JavaScript editor templates snippet macros
preferenceKeywords.folding=JavaScript editor folding section comment comments header function import inner type
preferenceKeywords.markoccurrences=JavaScript editor occurrence mark highlight type function constant var exception
preferenceKeywords.smarttyping=JavaScript editor typing close comment tabs indentation indent imports wrap escape semicolons braces brackets parenthesis parentheses strings literals paste pasting JSDoc tabulator automatically
preferenceKeywords.propertieseditor=JavaScript editor colors properties nls externalized string foreground argument assignment comment key value
preferenceKeywords.saveparticipant=JavaScript editor save cleanup participants

sourceAttachmentPageName=JavaScript Source Attachment
ClassFileViewerName=JavaScript Viewer
jarDescEditorName=JAR Description Editor

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

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

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

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


coloredLabels.qualifier.label=Colored labels - qualifier information color
coloredLabels.qualifier.description=The color used to render to qualifier information in labels when colored labels in JavaScript views are enabled. 

coloredLabels.decorations.label=Colored labels - decorations
coloredLabels.decorations.description=The color used to render to decoration information in labels when colored labels in JavaScript views are enabled. 

coloredLabels.counter.label=Colored labels - counter information
coloredLabels.counter.description=The color used to render to counter information in labels when colored labels in JavaScript views are enabled. 

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

javaPrefName=JavaScript
organizeImportsPrefName=Organize Imports
typeFilterPrefName=Type Filters
cleanUpPrefName=Clean Up
codeFormatterPrefName=Formatter
classPathVarPrefName=Include Path Variables
userLibrariesPrefName=User Libraries
editorPrefName=Editor
compliancePrefName=Validator
problemSeveritiesPrefName=Errors/Warnings
javadocProblemsPrefName=JSDoc
javaBuildPrefName=Validating
buildPathPrefName=Include Path

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

templatePageName=Templates

contentAssistPageName= Content Assist
contentAssistAdvancedName= Advanced
contentAssistFavoritesName= Favorites

editorHoversPageName=Hovers
editorSyntaxColoringPage=Syntax Coloring
editorFoldingPage=Folding
editorMarkOccurrencesPage=Mark Occurrences
editorTypingPage=Typing
editorSaveParticipants=Save Actions
# shortened to 'Editor' since 'JavaScript Editor' is under a 'JavaScript' category
editorPageName= Editor

ConfigJsGlobalScopeContainer.label=Co&nfigure...
ConfigJsGlobalScopeContainer.tooltip=Configure the Include Path Container


jarExportWizard.label=JAR file
jarExportWizard.description=Export resources 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

openJarPackager.label=Ope&n JAR Packager...
openJarPackager.tooltip=Opens the JAR Package Wizard Based on the Selected JAR Description File

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

JavaElementCreationActionSet.label= JavaScript Element Creation
JavaElementCreationActionSet.description= Contains actions for creating JavaScript projects and source files

CompilationUnitEditorName= JavaScript Editor

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

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

OpenPackageWizardAction.label=Java&Script folder...
OpenPackageWizardAction.tooltip=New JavaScript Folder

OpenClassWizardAction.label=&Class...
OpenClassWizardAction.tooltip=New JavaScript Class
Javascript_UI_Wizard_New_Title=New JavaScript file


ImplementOccurrences.label=Implement Occurrences
ExceptionOccurrences.label=Exception Occurrences
OccurrencesInFile.label=Occurrences In File

OccurrenceAnnotation.label= JavaScript Occurrences

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

OverrideIndicator.label= JavaScript Override Indicators

OverrideIndicatorLabelDecorator.label=JavaScript Function Override Indicator
OverrideIndicatorLabelDecorator.description=Decorates functions with an override indicator.

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

# Action sets
JavaSearchActionSet.label= JavaScript Search
JavaSearchActionSet.description= Action set containing search related JavaScript 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 JavaScript Element With One from Local History

JavaCompareAction.label= Other E&lement...
JavaCompareAction.tooltip= Compares the Selected JavaScript Elements with Each Other

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

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

JavaAddElementFromHistoryAction.label=Restore from Local Histor&y...
JavaAddElementFromHistoryAction.tooltip=Restores a JavaScript 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 Function Signature...
Refactoring.convertAnonymousToNestedAction.label=C&onvert Anonymous Class to Nested...
Refactoring.convertNestedToTopAction.label=Con&vert Member Type to Top Level

Refactoring.pushDownAction.label=Push &Down...
Refactoring.pullUpAction.label=Pull &Up...
Refactoring.extractInterfaceAction.label=&Extract Interface...
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 Function...
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 Var...
Refactoring.selfEncapsulateFieldAction.label=Encap&sulate Var...

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

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

NewJavaClass.label= JavaScript File
NewJavaClass.description=Create a JavaScript file

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

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

#NLS

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

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

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

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

GoToTypeAction.label=&Type...

GoToPackageAction.label=&Folder...

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

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

OpenExternalJavadocAction.label=Open External &JSDoc

OpenTypeHierarchyAction.label=Ope&n Type Hierarchy

OpenCallHierarchyAction.label=Open Call H&ierarchy



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

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

GenerateDelegateMethodsAction.label=Generate Delegate &Functions...

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

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

AddJavaDocCommentAction.label= Generate Element Comm&ent

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


ExternalizeStringsAction.label= E&xternalize Strings...

FindNLSProblems.label= Find Broken Ex&ternalized Strings

IndentAction.label= Correct &Indentation

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

GenerateJavadocAction.label= &Generate JSDoc...

##########################################################################
# JavaScript Working Set Support
##########################################################################
JavaWorkingSetPage.name= JavaScript
OthersWorkingSetWizardPage.name= Others

##########################################################################
# Marker Support
##########################################################################
markerCategory.problem = JavaScript Problems
markerCategory.buildpath_problem = JavaScript Include Path Problems

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

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

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

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

HideReferencedLibraries.label= JavaScript Resources node
HideReferencedLibraries.description= Hides the JavaScript Resources node. This node displays JavaScript libraries.

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

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

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

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

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= Vars
HideFields.description= Hides vars

HideStatics.label= JavaScript static properties and methods
HideStatics.description= Hides JavaScript static properties and methods. For example - Math.PI.

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

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

sourceHover= Source
sourceHoverDescription= Shows the source of the selected element.
javadocHover= Documentation
javadocHoverDescription= Shows the documentation for 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 - JavaScript
category.refactoring.description=JavaScript Refactoring Actions
category.source.name=Source
category.source.description= JavaScript Source Actions

context.editingJavaSource.name= Editing JavaScript Source
context.editingJavaSource.description= Editing JavaScript Source 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 JavaScript file

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

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

ActionDefinition.uncomment.name= Uncomment
ActionDefinition.uncomment.description= Uncomment the selected JavaScript 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 Functions
ActionDefinition.delegateMethods.description=Add delegate functions for a type's vars

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

ActionDefinition.addJavadocComment.name=Add JSDoc Comment
ActionDefinition.addJavadocComment.description=Add a JSDoc 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.quickMenu.name= Surround With Quick Menu
ActionDefinition.surroundWith.quickMenu.description= Shows the Surround With quick menu

ActionDefinition.overrideMethods.name= Override/Implement Functions
ActionDefinition.overrideMethods.description= Override or implement functions from super types

ActionDefinition.generateHashCode.name= Generate hashCode() and equals()
ActionDefinition.generateHashCode.description= Generates hashCode() and equals() functions 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 Vars
ActionDefinition.generateConstructorsUsingFields.description= Choose vars 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= Indent Line
ActionDefinition.indent.description=Indents the current line

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 var
ActionDefinition.corrections.assignToField.description=Invokes quick assist and selects 'Assign to var'

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

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 var access
ActionDefinition.corrections.qualifyField.description=Invokes quick assist and selects 'Qualify var 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
ActionDefinition.corrections.extractLocal.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 var
ActionDefinition.corrections.convertLocalToField.description=Invokes quick assist and selects 'Convert local variable to var'

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'

#--- 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 Function Signature
ActionDefinition.modifyMethodParameters.description= Change function 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 var and uses the new static var

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

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

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

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

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

ActionDefinition.selfEncapsulateField.name= Encapsulate Var
ActionDefinition.selfEncapsulateField.description= Create getting and setting functions for the var and use only those to access the var

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

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= Convert Member Type to Top Level
ActionDefinition.convertNestedToTopLevel.description= Convert member type to top level

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 Var
ActionDefinition.convertLocalToField.description= Convert a local variable to a var

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

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

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

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

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

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

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.openSuperImplementation.name= Open Super Implementation
ActionDefinition.openSuperImplementation.description= Open the Implementation in the Super Type

ActionDefinition.openExternalJavadoc.name= Open External JSDoc
ActionDefinition.openExternalJavadoc.description= Open the JSDoc of the selected element in an external 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 Script Explorer
ActionDefinition.showInPackageView.description= Show the selected element in the Script 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.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 JSDoc
ActionDefinition.generateJavadoc.description= Generates JSDoc for a selectable set of JavaScript 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= JavaScript Browsing
PerspectiveCommand.javaBrowsing.description= Show the JavaScript Browsing perspective

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

#--- view commands
ViewCommand.typeHierarchy.name= JavaScript Type Hierarchy
ViewCommand.typeHierarchy.description= Show the Type Hierarchy view

ViewCommand.packageExplorer.name= JavaScript Script Explorer
ViewCommand.packageExplorer.description= Show the Script Explorer

ViewCommand.projectsView.name= JavaScript Projects
ViewCommand.projectsView.description= Show the Projects view

ViewCommand.packagesView.name= JavaScript Folders
ViewCommand.packagesView.description= Show the Folders view

ViewCommand.typesView.name= JavaScript Types
ViewCommand.typesView.description= Show the Types view

ViewCommand.membersView.name= JavaScript Members
ViewCommand.membersView.description= Show the Members view

ViewCommand.sourceView.name= JavaScript Declaration
ViewCommand.sourceView.description= Show the Declaration view

ViewCommand.javadocView.name= Documentation
ViewCommand.javadocView.description= Show the JavaScript Documentation view

ViewCommand.callHierarchy.name= JavaScript Call Hierarchy
ViewCommand.callHierarchy.description= Show the Call Hierarchy view

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

#--- Call Hierarchy
callHierarchyViewName=Call Hierarchy

#--- Info views
JavaSourceView= Declaration
JavadocView= Documentation
JavadocViewDescription=JavaScript Documentation


#--- Info view colors
JavadocViewBackgroundColor.label= JavaScript Documentation view background
JavadocViewBackgroundColor.description= The color used as background for the JavaScript Documentation view.
DeclarationViewBackgroundColor.label= Declaration view background
DeclarationViewBackgroundColor.description= The color used as background for the JavaScript 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= JavaScript
templates.javadoc.contextType.name= JSDoc
templates.java.resolvers.Field.name= Var
templates.java.resolvers.Field.description= <b>${<i>id</i>:var(type)}</b><br>Evaluates to a var in the current scope that is a subtype of the given type. If no type is specified, any non-primitive var matches.<br><br><b>Example:</b><br><code>${counter:var(int)}</code>
templates.java.resolvers.Var.name= Variable
templates.java.resolvers.Var.description= <b>${<i>id</i>:var(type)}</b><br>Evaluates to a var, local variable or parameter visible in the current scope that is a subtype of the given type. 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)}</b><br>Evaluates to a local variable or parameter visible in the current scope that is a subtype of the given type. 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 JavaScript 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.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>;

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

#--- presentation
javaPresentation.label= JavaScript

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

#--- serial version computer
serialVersionLaunchConfigName= Serial Version Computer


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

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

#--- Hyperlinking ---
JavaEditorHyperlinkTarget= JavaScript Editor
PropertiesFileEditorHyperlinkTarget=Properties File Editor
JavaElementHyperlinkDetector= JavaScript Element
NLSHyperlinkDetector= JavaScript Property Key
PropertyKeyHyperlinkDetector= JavaScript Property Key

context.name.0 = JavaScript View
context.description.0 = JavaScript View Context
action.label.0 = Quick Fix

BaseWebBrowserLibrary = Web Browser Library

documentationProvider=Documentation Provider
wizard.name.0 = JavaScript Source File
wizard.description.0 = Create a new JavaScript file
extension-point.name.0 = JsGlobalScopeUIInitializer
extension-point.name.1 = JsGlobalScopeUIInitializer

action.label.projectConvert=Convert to &JavaScript Project...
packagesViewName= Script Explorer
