###############################################################################
# Copyright (c) 2004, 2009 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
###############################################################################

ID_Selector_Case__UI_=ID Selector case:
INFO_Not_Categorized_1=Not Categorized

## CSS Preferences -- source ##
PrefsLabel_WrappingWithoutAttr=Disable wrapping in style &attribute of HTML
PrefsLabel_WrappingInsertLineBreak=Insert &line break between properties

PrefsLabel_CaseGroup=Capitalization style
PrefsLabel_CaseIdent=Identifier:
PrefsLabel_CasePropName=Property name:
PrefsLabel_CasePropValue=Property value:
PrefsLabel_SelectorTagName=Type selector:

PrefsLabel_CaseIdentUpper=&Uppercase
PrefsLabel_CaseIdentLower=L&owercase
PrefsLabel_CasePropNameUpper=U&ppercase
PrefsLabel_CasePropNameLower=Lo&wercase
PrefsLabel_CasePropValueUpper=Upp&ercase
PrefsLabel_CasePropValueLower=Lowe&rcase
PrefsLabel_SelectorTagNameUpper=Upper&case
PrefsLabel_SelectorTagNameLower=Lowerca&se

## CSS Preferences -- color ##

## The following line is a sample CSS document.  Please translate only the following parts:
## Sample Styles
PrefsLabel_ColorSample=@import url("../sample2.css");\n\n/* Sample Styles */\n\nBODY {\n\tcolor : black;\n\tbackground-color : rgb(181, 253, 211);\n\ttext-align : center;\n\tfont-family : "Heisei Mincho W3", serif\n}\n\n#content > div *.links a[href~="http://"]:hover {\n\ttext-decoration : underline;\n}\n\n@page :left { margin-left : 4cm }\n\n@media aural {\n\tP.heidi {\n\t\tazimuth : center-left;\n\t\televation : 12.3deg;\n\t\tpause : 30ms 1.6s\n\t}\n}\n

PrefsLabel_ColorNormal=Default
PrefsLabel_ColorAtmarkRule=At-Rule
PrefsLabel_ColorSelector=Type Selector
PrefsLabel_ColorCombinator=Combinator
PrefsLabel_ColorUniversal=Universal Selector
PrefsLabel_ColorId=Id Selector
PrefsLabel_ColorPseudoClass=Pseudo-class
PrefsLabel_ColorClass=Class Selector
PrefsLabel_ColorMedia=Media Name
PrefsLabel_ColorComment=Comment
PrefsLabel_ColorPropertyName=Property Name
PrefsLabel_ColorPropertyValue=Property Value
PrefsLabel_ColorUri=URI
PrefsLabel_ColorString=Quoted String
PrefsLabel_ColorColon=Property Delimiter
PrefsLabel_ColorSemiColon=Semicolon
PrefsLabel_ColorCurlyBrace=Curly Brace
PrefsLabel_ColorError=Error
PrefsLabel_ColorAttrDelimiter=Attribute Selector Delimiter
PrefsLabel_ColorAttrName=Attribute Name
PrefsLabel_ColorAttrValue=Attribute Value
PrefsLabel_ColorAttrOperator=Attribute Selector Operator
#
SortAction_0=Sort
#
_UI_WIZARD_NEW_TITLE = New CSS File
_UI_WIZARD_NEW_HEADING = CSS
_UI_WIZARD_NEW_DESCRIPTION = Create a new CSS file.
_ERROR_FILENAME_MUST_END_CSS = The file name must end in one of the following extensions {0}.
_WARNING_FOLDER_MUST_BE_INSIDE_WEB_CONTENT = Files created outside of the Web Content folder will not be included in your deployed Web application. 
#
Title_InvalidValue=Invalid Value
Message_InvalidValue=Invalid property value.
# Copied from sse.ui
FormatMenu_label=F&ormat
Class_Selector_Case__UI_=Class Selector case:
CleanupDocument_label=C&leanup Document...
CleanupDocument_tooltip=Cleanup Document
CleanupDocument_description=Cleanup Document
UI_none=none
Cleanup_UI_=Cleanup
CSS_Cleanup_UI_=CSS Cleanup
AddBlockComment_tooltip=Add Block Comment
RemoveBlockComment_tooltip=Remove Block Comment
ToggleComment_tooltip=Toggle Comment
Identifier_case__UI_=Identifier case:
Property_name_case__UI_=Property name case:
Property_value_case__UI_=Property value case:
Selector_tag_name_case__UI_=Selector tag name case:
Quote_values_UI_=Quote values
Format_source_UI_=&Format source
As_is_UI_=As-is
Lower_UI_=Lower
Upper_UI_=Upper
SourceMenu_label=&Source
Formatting_UI_=Formatting
Line_width__UI_=Line &width:
Indent_using_tabs_=&Indent using tabs
Indent_using_spaces=I&ndent using spaces
Indentation_size=In&dentation size:
Indentation_size_tip=Indentation size
StructureSelectEnclosing_label=&Enclosing Element
StructureSelectEnclosing_tooltip=Expand selection to include enclosing element
StructureSelectEnclosing_description=Expand selection to include enclosing element
StructureSelectNext_label=&Next Element
StructureSelectNext_tooltip=Expand selection to include next sibling
StructureSelectNext_description=Expand selection to include next sibling
StructureSelectPrevious_label=&Previous Element
StructureSelectPrevious_tooltip=Expand selection to include previous sibling
StructureSelectPrevious_description=Expand selection to include previous sibling
##
Creating_files_encoding=Creating files encoding preference
ResourceGroup_nameExists = The same name already exists.
NewCSSTemplatesWizardPage_0=Select CSS Template
NewCSSTemplatesWizardPage_1=Select a template as initial content in the CSS page.
NewCSSTemplatesWizardPage_2=Name
NewCSSTemplatesWizardPage_3=Description
NewCSSTemplatesWizardPage_4=&Use CSS Template
NewCSSTemplatesWizardPage_5=&Preview:
NewCSSTemplatesWizardPage_6=Templates are 'New CSS' templates found in the <a>CSS Templates</a> preference page.
NewCSSTemplatesWizardPage_7=&Templates:
# CSS Content Settings
CSSContentSettingsPropertyPage_0=The type of CSS to use.  The project setting is used if you specify "none."
CSSContentSettingsPropertyPage_1=CSS Profile:
SyntaxColoringPage_0=S&yntax Element:
SyntaxColoringPage_2=Enable
SyntaxColoringPage_3=&Bold
SyntaxColoringPage_4=&Italic
SyntaxColoringPage_5=&Strikethrough
SyntaxColoringPage_6=&Underline
_UI_STRUCTURED_TEXT_EDITOR_PREFS_LINK=CSS editing preferences.  Note that some preferences may be set on the <a>{0}</a> preference page.
