###############################################################################
# Copyright (c) 2003, 2011 QNX Software Systems 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:
#     QNX Software Systems - initial API and implementation
#     Anton Leherbauer (Wind River Systems)
#	  IBM Corporation
###############################################################################

pluginName=C/C++ Standard make Build UI
providerName=Eclipse CDT

DiscoveryProfilePage.name=Discovery Profile Page

WizardNewCMakeProject.name=Standard Make C Project
WizardNewCMakeProject.description=Create a new C Project which uses a simple makefile.

WizardNewCCMakeProject.name=Standard Make C++ Project
WizardNewCCMakeProject.description=Create a new C++ Project which uses a simple makefile.

WizardConvertMakeProject.name=Convert to a C/C++ Project
WizardConvertMakeProject.description=Convert to a C/C++ Project

Make.Target.label=Build Targets
ActionMakeCreateTarget.label=Create...
ActionMakeBuildTarget.label=Build...

ActionMakeUpdate.label=Update Old Make Project...
ActionMakeUpdate.tooltip=Update Old Make Project

CommandTargetBuild.name=Build Target Build
CommandTargetBuild.description=Invoke a make target build for the selected container.
CommandTargetCreate.name=Create Build Target
CommandTargetCreate.description=Create a new make build target for the selected container.
LastTargetBuild.name=Rebuild Last Target
LastTargetBuild.description=Rebuild the last make target for the selected container or project.

# Build Preference page
PreferenceBuildSettings.name=Settings
ErrorParsersTab.name=Error Parsers
ErrorParsersTab.tooltip=Error Parsers scan build output and report errors in Problems view
LanguageSettingsProvidersTab.name=Discovery
LanguageSettingsProvidersTab.tooltip=Language settings providers

PreferenceMakeProject.name=New Make Projects
PreferenceMake.name=Build Targets
PreferenceMakefileEditor.name=Makefile Editor
PreferenceMakefileSettings.name= Settings

PropertyMakeProject.name= C/C++ Make Project

ViewCatagoryMake.name=Make

ActionSetMake.label=Make Actions
ActionSetUpdateMake.label=Update Make Projects

# Scope and Key Commands 
scope.makefileEditor.name=Makefile Editor
makefileEditor.description=Editor for makefiles
                                                                                                                             
category.source.name=Makefile Source
category.source.description= Makefile Source Actions
                                                                                                                             
ActionDefinition.toggle.comment.name= Toggle Comment
ActionDefinition.toggle.comment.description= Comment/uncomment selected lines with # style comments

ActionDefinition.opendecl.name= Open declaration
ActionDefinition.opendecl.description=Follow to the directive definition
 
MakefileEditor.name=Makefile Editor

IncludeSymbolProperties.name=C/C++ Include Paths and Symbols
ProjectPathProperties.name=C/C++ Project Paths

DiscoveredScannerInfoContainer.name=Discovered scanner configuration container

GCCPerProjectProfile.name=GCC per project scanner info profile
GCCPerFileProfile.name=GCC per file scanner info profile

## New CDT project model - property pages names
CDTPathSymbolsProperty.name=C/C++ Project paths and symbols

Includes=Includes
Includes.tooltip=Includes list
Symbols=Symbols
Symbols.tooltip=Macros list
# menu label
Make.targets.menu=Build Targets

# Makefile compare font
makeCompareFontDefinition.label= Makefile compare text font
makeCompareFontDefinition.description= The Makefile compare text font is used by Makefile compare/merge tools.

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

transfer.MakefileEditorAppearance.name = C/C++ Makefile Editor Preferences
transfer.MakefileEditorAppearance.description = Preferences related to how the editor presents the edited code to the user (including colors, fonts, etc...)
