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

###############################################################################
pluginProvider=Eclipse.org
pluginName=Dynamic Languages Toolkit Ruby UI (Incubation)

# Context
RubyEditContext.name = Editing Ruby Source
RubyEditContext.description = Editing Ruby Source Context

# Perspective
RubyPerspective.name = Ruby

# Views
RubyViewsCategory.name = Ruby
RubyDocumentationView.name = Ruby Documentation

# Wizards
RubyWizardsCategory.name = Ruby

NewProjectWizard.name = Ruby Project
NewProjectWizard.description = Create a Ruby project

NewFileWizard.name = Empty Ruby Script
NewFileWizard.description = Create an empty Ruby script

NewClassWizard.name = Ruby Class
NewClassWizard.description = Create a Ruby class

NewModuleWizard.name = Ruby Module
NewModuleWizard.description = Create a Ruby module

RubyActionSet.label= Ruby Navigation
RubyActionSet.description= Ruby Navigation Action Set

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

#--- Navigate menu
ActionDefinition.OpenType.name= Open Ruby Type
ActionDefinition.OpenType.description= Open a class or module in a Ruby editor

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

hierarchyViewName= Type Hierarchy

OpenTypeInHierarchyAction.label=Open Type in Hierarch&y...
OpenTypeInHierarchyAction.tooltip=Opens a Type in a Type Hierarchy

# Search page
RubySearchPage.label = Ruby Search

# Editor
RubyEditor.name = Ruby Source Editor
 
# Templates
RubyTemplateContext.name = Ruby templates

# Property pages
RubyBuildPathPropertyPage.name = Ruby Build Path

# Preference pages
RubyPreferencePage.name = Ruby
RubyEditorPreferencePage.name = Editor
RubyEditorSyntaxColoringPreferencePage.name = Syntax Coloring
RubyCodeTemplatesPreferencePage.name = Code Templates

# Decorators
RubyProjectDecorator.name = Ruby Project Decorator

# Actions
RubySearchActionSet.label = Ruby Search
RubySearchActionSet.description = Ruby Search Actions

OpenRubySearchPageAction.label = Ruby...

SearchMenu.label = Search