###############################################################################
# Copyright (c) 2004, 2020 IBM Corporation and others.
# All rights reserved. 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
###############################################################################
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
Appearance=Appearance
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
