###############################################################################
# Copyright (c) 2005, 2007 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
#

###############################################################################
JavascriptPerspectiveName=Javascript
pluginProvider=Eclipse DLTK
pluginName=Dynamic Languages Toolkit Javascript UI
HideInnerPycFiles.label=Hide Javascript Compiled Files
HideInnerPycFiles.description= Hides all Javascript Compiled files
HideInnerPyoFiles.label=Hide Javascript Compiled Optimized Files
HideInnerPyoFiles.description= Hides all Javascript Compiled Optimized files
DLTKSearchPage.label=JavaScript Search
JavaScriptTemplateContextName=JavaScript
JavaScriptExpressionTemplateContextName=JavaScript Expression
JSDocTemplateContextName=JSDoc
context.editingJavascriptSource.name = Editing Javascript Source
context.editingJavascriptSource.description = Editing Javascript Source Context
SourceMenu.label= &Source
NewJsFile.label=New JavaScript File
CommentAction.label= Co&mment

UncommentAction.label= &Uncomment

ToggleCommentAction.label= Togg&le Comment

IndentAction.label= Correct &Indentation

AddBlockCommentAction.label= Add &Block Comment

documentSetupParticipantName=JavaScript Document Setup Participant

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...
#--- 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 DLTK comments
ActionDefinition.uncomment.name= Uncomment
ActionDefinition.uncomment.description= Uncomment the selected DLTK 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

ScriptCodingActionSet.label = Script Coding
ScriptCodingActionSet.description = Action set containing script coding related actions 

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

OpenMethodAction.label=Open Method...
OpenMethodAction.tooltip=Open Method

ActionDefinition.OpenMethod.name= Open Method
ActionDefinition.OpenMethod.description= Open a method in a JavaScript editor

# Preference Pages
JavaScriptPreferencePage.name = JavaScript
JavaScriptEditorPreferencePage.name = Editor
JavaScriptEditorSyntaxColoringPreferencePage.name = Syntax Coloring
JavaScriptEditorSmartTypingPreferencePage.name = Typing
JavaScriptEditorFoldingPreferencePage.name = Folding
JavaScriptEditorHoversPreferencePage.name = Hovers
JavaScriptEditorTemplatesPreferencePage.name = Templates
JavaScriptEditorAssistancePreferencePage.name = Content Assist
ErrorWarningPreferencePage.name = Errors/Warnings

TaskTagsPreferencePage.name = Task Tags
TaskTagsPropertyPagePage.name = Task Tags

JavaScriptBuildPathPropertyPage.name = Build Path
JavaScriptPropertyPage.name = JavaScript

JavaScriptFormatterPreferencePage.name=Formatter
Formatter.PropertyPage=Formatter

EditorPreferencePage.name=Editor
EditorSaveActionsPreferencePage.name=Save Actions

# Refactoring
Refactoring.Actions.ExtractTemp = Extract &Local Variable...
Refactoring.Actions.ModifyParameters = &Change Method Signature...
Refactoring.Actions.ExtractMethod = E&xtract Method...
Refactoring.Actions.IntroduceParameter = Introduce &Parameter...
Refactoring.Actions.InlineAction=&Inline...

AddJavaDocCommentAction.label= Generate Element Comm&ent
ActionDefinition.addJavadocComment.name=Add Javadoc Comment
ActionDefinition.addJavadocComment.description=Add a Javadoc comment stub to the member element
ActionDefinition.modifyMethodParameters.name= Change Method Signature
ActionDefinition.modifyMethodParameters.description= Change method signature includes parameter names and parameter order
ActionDefinition.extractLocalVariable.name= Extract Local Variable
ActionDefinition.extractLocalVariable.description= Extracts an expression into a new local variable and uses the new local variable
ActionDefinition.introduceParameter.name= Introduce Parameter
ActionDefinition.introduceParameter.description= Introduce a new method parameter based on the selected expression
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.inlineMethod.name= Inline Method 
ActionDefinition.inlineMethod.description= Inline method in place of a single call or everywhere and (optionally) remove declaration

target.name.javascriptEditor=JavaScript Editor
hyperlinkDetector.name.jsdoc_type=JSDoc Type hyperlink detector

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

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

JavaScriptProblemMarkerCategory.name = JavaScript Problems
