###############################################################################
# Copyright (c) 2004, 2010 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
###############################################################################
providerName=Eclipse Web Tools Platform
pluginName=SSE CSS Source Editor
CSS_Source_Page_Editor.name=CSS Editor
CSS_Files.name=CSS Files
CSS_Source.name=Editor
CSS_Content_Assist.name=Content Assist
CSS_Styles.name=Styles
CSS_Templates.name=Templates
CSS_Syntax_Coloring=Syntax Coloring
WebContentSettings.name=Web Content Settings
###############################################################################
# The following property keys maybe unused. Commented out on 12/7/2004. Uncomment if needed.
#CSS_Annotations.name=CSS Annotations

#hyperlink
CSS_source_target_name=CSS Editor
CSS_detector_name=URL

#org.eclipse.ui.newWizards extension point
_UI_WIZARD_NAME = CSS File
_UI_WIZARD_CREATE_NEW_FILE = Create a new CSS file
##
AddTask.label=Add &Task...
AddTask.tooltip=Add Task...
AddBookmark.label=Add Boo&kmark...
AddBookmark.tooltip=Add Bookmark...
SelectRuler.label=Select Ruler
##
CleanupDocument_label=Cleanup Document...
CleanupDocument_tooltip=Cleanup Document
StructureSelectEnclosing_label=Enclosing Element
StructureSelectEnclosing_tooltip=Expand selection to include enclosing element
StructureSelectNext_label=Next Element
StructureSelectNext_tooltip=Expand selection to include next sibling
StructureSelectPrevious_label=Previous Element
StructureSelectPrevious_tooltip=Expand selection to include previous sibling
StructureSelectHistory_label=Restore Last Selection
StructureSelectHistory_tooltip=Restore last selection
##
All_CSS_context_type_Extension_Element.name=All CSS
CSS_New_context_type_Extension_Element.name=New CSS
##
preferenceKeywords.files=editor css creating saving files suffix specified encoding iana
preferenceKeywords.source=editor css source formatting line width insert break properties wrapping style attribute html indent tabs spaces size capitalization identifier property name value uppercase lowercase
preferenceKeywords.contentassist=editor css content code assist complete completion insert overwrite single proposal common prefix automatically import fill argument name guess alphabetical hide auto activation trigger category categories separate specific
preferenceKeywords.templates=editor css templates snippet macros
preferenceKeywords.styles=editor css style customize syntax highlighting type text content foreground background bold color
preferenceKeywords.webcontent=editor css web content settings profile style

scope.structured.text.editor.css.name=Editing CSS Source
scope.structured.text.editor.css.description=Editing CSS Source

Colors.atmarkRule=At Mark Rule
Colors.selector=Selector
Colors.media=Media
Colors.comment=Comment
Colors.propertyName=Property Name
Colors.propertyValue=Property Value
Colors.uri=URI
Colors.string=String
Colors.error=Error
Colors.combinator=Combinator
Colors.pseudo=Pseudo-class
Colors.attrValue=Attribute Value
Colors.attrOp=Attribute Operator
Colors.attrName=Attribute Name
Colors.attrDelim=Attribute Delimiter
Colors.universal=Universal Selector
Colors.class=Class selector
Colors.id=ID Selector

proposalCategory.css=CSS Proposals
proposalCategory.cssTemplates=CSS Template Proposals

proposalInfo.name=Additional Proposal Information
