###############################################################################
# Copyright (c) 2003, 2011 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
#	  Sergey Prigogin (Google)
###############################################################################
pluginName=C/C++ Managed Builder UI
providerName=Eclipse CDT

category.build.name=C/C++ Build
category.build.description= C/C++ Build Actions

# The Wizards
MngCWizard.name=Managed Make C Project
MngCWizard.description=Create a new C project and let Eclipse create and manage the makefile
MngCCWizard.name=Managed Make C++ Project
MngCCWizard.description=Create a new C++ project and let Eclipse create and manage the makefile

# The property pages
MngBuildProp.name=C/C++ Build
MngOtherProp.name= Error/Binary Parsers

# The preference pages
MakeBuildPref.name=Makefile Project
MngBuildPref.name=Managed Build
NewCDTWizardPref.name=New C/C++ Project Wizard
varsPrefName=Build Variables
envPrefName=Environment
propSettingsPrefName=Property Pages Settings

# The Resource Property page
MngResourceProp.name=C/C++ Build

# Build/clean commands and the corresponding menu items.
command.buildFiles.label=Build Selected &File(s)
command.buildFiles.name=Build Selected File(s)
command.buildFiles.description=Rebuilds the selected source files
command.cleanFiles.label=C&lean Selected File(s)
command.cleanFiles.name=Clean Selected File(s)
command.cleanFiles.description=Deletes build output files for the selected source files
command.buildAllConfigurations.label=Build All
command.buildAllConfigurations.name=Build All Configurations
command.cleanAllConfigurations.label=Clean All
command.cleanAllConfigurations.name=Clean All Configurations
command.rebuildConfigurations.label=Build Selected...
command.rebuildConfigurations.name=Build Selected Configurations

# The Project Converter page
command.convertTarget.label=Convert To...
command.convertTarget.name=Convert To

# New CDT project model - property pages names
page.c.build=C/C++ Build
CDTPathSymbolsProperty.name=Paths and Symbols
CDTExpPathSymbolsProperty.name=Export Settings
CDTBuildProperty.name=Settings
CDTToolchainProperty.name=Tool Chain Editor
CDTToolchainProperty.keyword.toolchain1=toolchain
CDTToolchainProperty.keyword.toolchain2=tool chain
CDTVariablesProperty.name=Build Variables
Discovery.options=Discovery Options
Environment=Environment

Build.System.Wizard=Build System Wizard
Make.Project.Wizard=Make Project Wizard

MBS.create.configuration=Create New Configuration

WizardConvertMakeProject.name=Convert to a C/C++ Project (Adds C/C++ Nature)
WizardConvertMakeProject.description=Convert to a C/C++ Project

WizardMakeProjFromExisting.name=Existing Code as Makefile Project
WizardMakeProjFromExisting.description=Create a new Makefile project in a directory containing existing code

NewMakeFromExisting.name=Makefile Project with Existing Code

Tool.settings=Tool Settings
Build.steps=Build Steps
Build.artifact=Build Artifact
Builder.settings=Builder Settings
WBB.settings=Behavior
Refresh.policy=Refresh Policy
Includes=Includes
Includes.tooltip=Includes list
IncludeFiles=Include Files
IncludeFiles.tooltip=Include Files list
Symbols=Symbols
Symbols.tooltip=Macros list
Libraries=Libraries
Libraries.tooltip=Libraries list
Library.paths=Library Paths
References=References
Source.location=Source Location
Output.location=Output Location
Binary.parsers=Binary Parsers
Error.parsers=Error Parsers
Data.hierarchy=Data Hierarchy
Preferred.toolchains=Preferred Toolchains
Wizard.defaults=Wizard Defaults
PropertyPage.defaults=Property Page Settings
MBSPerProjectProfile.name=Managed Build System - per project scanner info profile
multicfg=Multiple Configurations Edit

DiscoveryTab.name = (Single) Discovery Options
CPropertyVarsTab.name = (Single) CDT Vars (macros)
ToolChainEditTab.name = (Single) Tool chain edit
EnvironmentTab.name = (Single) Environment

# menu labels
Configurations.menu=Build Configurations

buildDefinitionsUI.ep.name = Build Definitions UI
extension-point.name = Custom MBS New Wizard Pages
