###############################################################################
# Copyright (c) 2008, 2012 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
###############################################################################
#Properties file for org.eclipse.ptp.rdt.ui
Bundle-Name = RDT UI
providerName = Eclipse.org
rdtViewCategory.name = Remote Development
includeBrowser.name = Remote Include Browser
callHierarchyView.name = Remote Call Hierarchy
typeHierarchyView.name = Remote Type Hierarchy
remoteCSearchPage.label = Remote C/C++ Search
remoteEditor.name = Remote C/C++ Editor
configuration.description.0 = Handles C/C++ indexing services for remote projects.
configuration.name.0 = Remote C/C++ Indexing Subsystem
configuration.vendor.0 = Eclipse.org
category.name.0 = Remote
wizard.name.0 = Remote C/C++ Project
remoteCCPPproject.desc=Create a new remote C or C++ project
serviceModelPropertyPage.name = Remote Services
page.name.0 = Remote Paths and Symbols
RemoteMakeNature.name = Remote Make Nature
RemoteMakeBuilder.name = Remote Make Builder
WizardConvertRemoteProject.name=Convert to a Remote Project
WizardConvertRemoteProject.description=Convert to a remote project and configure available remote services
NullCIndexingService.name=Null C/C++ Indexing Service
NullBuildService.name=Null Build Service
RSERemoteCIndexingService.name=RSE C/C++ Indexing Service
LocalCIndexServiceProvider.name=Local C/C++ Indexing Service
RemoteBuildService.name=Remote Build Service
LocalCIndexingService.name=Local-only C/C++ Indexing Service
LocalBuildService.name=Local-only Build Service
LocalProjectLocationProvider.name=Local-only Project Location
RemoteProjectLocationProvider.name=Remote Project Location
RemoteEnvironment=Remote Environment
page.remote = Remote Development
Environment = Environment
RemoteProposals.name=Remote Parsing-based Proposals

export.name = C/C++ Project Settings
import.name = C/C++ Project Settings

perspective.name.0 = Remote C/C++

RemoteDevPrefPage.name = Remote Development

RemoteIncludeTab.name=Remote Includes
Includes.tooltip=Includes list
SymbolTab.name=Symbols

# Hyperlinking
cEditorHyperlinkTarget= C/C++ Editor
cElementHyperlinkDetector= C/C++ Elements

CSearchActionSet.label= Remote C/C++ Search
openCSearchPageAction.label=&Remote C/C++...

# Menus
searchMenu.label= Se&arch
Index.menu=Index
SearchUnresolvedIncludes.name=Search for Unresolved &Includes

CIndexingService.name = Code Indexing
BuildService.name = Build
CDevelopment.name = C/C++ Development

RebuildIndex.name=&Rebuild

# Common Editor ruler actions
AddTask.label=Add &Task...
AddTask.tooltip=Add Task...
AddBookmark.label=Add Boo&kmark...
AddBookmark.tooltip=Add Bookmark...
QuickFix.label=&Quick Fix
QuickFix.tooltip=Quick Fix

CDTIndexerProperty.name = Indexer
indexerProblemName=Indexer Problem

RDTRemoteFastIndexerName=RDT Remote Fast Indexer

# Activities
rdt.category.name.0 = CDT/RDT Tools
cdtIndexerProperty.name=CDT Indexer Property Page
CDTEnvironmentProp.name=CDT Environment Property Page
CDTEnvironmentPref.name=CDT Environment Preference Page
RDTREBUILDINDEX.name=RDT Rebuild Index Action

# Debugging support
ToggleBreakpointAction.name=Toggle Breakpoint
BreakpointTypes.name=Breakpoint Types
DisableBreakpoint.name=Disable Breakpoint
ToggleBreakpoint.name=Toggle Breakpoint