###############################################################################
# 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 DLTK
pluginName=Dynamic Languages Toolkit Python UI

documentSetupParticipantName=Python Document Setup Participant

PythonPerspective.name = Python

# Context
PythonEditContext.name = Editing Python Source
PythonEditContext.description = Editing Python Source Context

# Editor
PythonEditor.name = Python Source Editor 

# Wizards
PythonWizardsCategory.name = Python

HideInnerPycFiles.label=Hide Python Compiled Files
HideInnerPycFiles.description= Hides all Python Compiled files

HideInnerPyoFiles.label=Hide Python Compiled Optimized Files
HideInnerPyoFiles.description= Hides all Python Compiled Optimized files

# Preference Pages
PythonPreferencePage.name = Python
PythonEditorPreferencePage.name = Editor
PythonEditorSyntaxColoringPreferencePage.name = Syntax Coloring
PythonEditorSmartTypingPreferencePage.name = Smart Typing
PythonEditorFoldingPreferencePage.name = Folding
PythonEditorHoversPreferencePage.name = Hovers
PythonEditorTemplatesPreferencePage.name = Templates
PythonTaskTags.name = Task Tags

# Property Pages
PythonPropertyPage.name = Python
PythonBuildPathPropertyPage.name = Build Path
PythonTodoPropertyPage.name = Task Tags

PythonTemplateContext.name = python
PythonSearchPage.label = Python Search

PythonProjectDecorator.name = Python Project Decorator