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