# NLS_ENCODING=UNICODE
###############################################################################
# Copyright (c) 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
###############################################################################
#-------------------------------------------------------------------------------
# Copyright (c) 2000, 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
#
# Contributors:
# IBM Corporation - initial implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

################################################################################
# BEGIN NO TRANSLATION
###############################################################################
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
fontNameAction_CSS_Default=arial, helvetica, sans-serif
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
fontNameAction_CSS_Default_Mozilla=arial,helvetica,sans-serif
################################################################################
# END NO TRANSLATION
################################################################################



# Font Style Names
fontStyle_normal=Normalny
fontStyle_sectionHeading=Nag\u0142\u00f3wek sekcji
fontStyle_subsectionHeading=Nag\u0142\u00f3wek podsekcji
fontStyle_subSubsectionHeading=Nag\u0142\u00f3wek pod-podsekcji
fontStyle_quote=Cytowanie
fontStyle_codeSample=Przyk\u0142ad kodu

# HTML Block Tags
blockTag_paragraph=Akapit
blockTag_heading1=Nag\u0142\u00f3wek 1
blockTag_heading2=Nag\u0142\u00f3wek 2
blockTag_heading3=Nag\u0142\u00f3wek 3
blockTag_heading4=Nag\u0142\u00f3wek 4
blockTag_heading5=Nag\u0142\u00f3wek 5
blockTag_heading6=Nag\u0142\u00f3wek 6
blockTag_address=Adres
blockTag_preformattedText=Tekst sformatowany wst\u0119pnie

# HTML Font Names
fontName_default=Domy\u015blne
fontName_arial=Arial
fontName_courierNew=Courier New
fontName_timesNewRoman=Times New Roman
fontName_verdana=Verdana

# Rich Text Editor Tool Buttons
addHorizontalBarAction_toolTipText=Dodaj pasek poziomy
addImageAction_toolTipText=Dodaj obraz
addLineAction_toolTipText=Dodaj lini\u0119
addLinkAction_toolTipText=Dodaj odsy\u0142acz
addOrderedListAction_toolTipText=Dodaj list\u0119 uporz\u0105dkowan\u0105
addTableAction_toolTipText=Dodaj tabel\u0119
addUnorderedListAction_toolTipText=Dodaj list\u0119 nieuporz\u0105dkowan\u0105
boldAction_toolTipText=Pogrubienie
clearContentAction_toolTipText=Wyczy\u015b\u0107 tre\u015b\u0107
copyAction_toolTipText=Kopiuj
cutAction_toolTipText=Wytnij
findReplaceAction_toolTipText=Znajd\u017a/Zast\u0105p
indentAction_toolTipText=Wci\u0119cie
italicAction_toolTipText=Kursywa
justifyCenterAction_toolTipText=Wyr\u00f3wnaj do \u015brodka
justifyFullAction_toolTipText=Wyr\u00f3wnaj ca\u0142kowicie
justifyLeftAction_toolTipText=Wyr\u00f3wnaj do lewej
justifyRightAction_toolTipText=Wyr\u00f3wnaj do prawej
outdentAction_toolTipText=Wysuni\u0119cie
pasteAction_toolTipText=Wklej
pastePlainTextAction_toolTipText=Wklej jako zwyk\u0142y tekst
subscriptAction_toolTipText=Indeks dolny
superscriptAction_toolTipText=Indeks g\u00f3rny
underlineAction_toolTipText=Podkre\u015blenie
tidy_clean_text=Domy\u015blny czysty
tidy_cleaner_text=Czysty HTML MS
tidy_cleanest_text=Czysty HTML Word 2000
tidy_clean_toolTipText=Czysty z JTidy z opcjami domy\u015blnymi
tidy_cleaner_toolTipText=Czysty HTML j\u0119zyka HTML MS
tidy_cleanest_toolTipText=Czysty HTML Word 2000
addCodeAction_toolTipText=Wstaw niestandardowy kod HTML (JavaScript lub wideo)

# Rich Text Editor Comboboxes
fontStyleAction_toolTipText=Ustaw styl czcionki
blockTagAction_toolTipText=Ustaw znacznik bloku
fontNameAction_toolTipText=Ustaw czcionk\u0119
fontNameAction_DefaultFontName=Czcionka domy\u015blna
fontSizeAction_toolTipText=Ustaw wielko\u015b\u0107 czcionki

# Rich Text Editor Context Menu Items
cutAction_text=Wyt&nij
copyAction_text=&Kopiuj
pasteAction_text=Wkl&ej
pastePlainTextAction_text=Wklej jako &zwyk\u0142y tekst

# Rich Text Editor Tabs
richTextTab_text=Tekst w formacie RTF
richTextTab_toolTipText=Edytuj tre\u015b\u0107 jako tekst w formacie RTF
htmlTab_text=HTML
htmlTab_toolTipText=Edytuj tre\u015b\u0107 w HTML

# Add Dialogs
addImageDialog_title=Dodaj obraz
addLinkDialog_title=Dodaj odsy\u0142acz
addTableDialog_title=Dodaj tabel\u0119
findReplaceDialog_title=Znajd\u017a/Zast\u0105p
urlLabel_text=URL:
summaryLabel_text=Podsumowanie:
captionLabel_text=Tytu\u0142:
rowsLabel_text=Wiersze:
columnsLabel_text=Kolumny:
widthLabel_text=Szeroko\u015b\u0107:
tableStyleLabel_text=Styl:
tableHeaderNone_text=Tabela bez nag\u0142\u00f3wk\u00f3w
tableHeaderCols_text=Tabela z nag\u0142\u00f3wkami kolumn
tableHeaderRows_text=Tabela z nag\u0142\u00f3wkami wierszy
tableHeaderBoth_text=Tabela z nag\u0142\u00f3wkami kolumn i wierszy
browseButton_text=Przegl\u0105daj...
addCodeDialog_title=Wstawianie niestandardowego kodu HTML
addCodeDialog_Msg=Wprowad\u017a kod HTML skryptu JavaScript lub wideo:

# Clear Editor Content Dialog
clearContentDialog_title=Potwierdzenie wyczyszczenia tre\u015bci w edytorze
clearContentDialog_text=Czy na pewno chcesz wyczy\u015bci\u0107 tre\u015b\u0107 w tym edytorze tekstu w formacie RTF?

# Find/Replace Dialog
findLabel_text=Znajd\u017a:
replaceLabel_text=Zamie\u0144 na:
optionsGroup_text=Opcje
caseSensitiveCheckbox_text=Rozr\u00f3\u017cnianie wielko\u015bci liter
wholeWordCheckbox_text=Ca\u0142e s\u0142owo
directionGroup_text=Kierunek
forwardRadioButton_text=Dalej
backwardRadioButton_text=Wstecz
findButton_text=Znajd\u017a
replaceButton_text=Zast\u0105p
replaceFindButton_text=Zast\u0105p/Znajd\u017a
replaceallButton_text=Zast\u0105p wszystko
# taken from org.eclipse.ui.workbench.texteditor
FindReplace_Status_noMatch_label=Nie znaleziono \u0142a\u0144cucha

# Preference Page
maxCharsPerLineLabel_text=Maksymalna liczba znak\u00f3w w wierszu:
indentHTMLCheckbox_text=Wci\u0119te znaczniki HTML
indentSizeLabel_text=Wielko\u015b\u0107 wci\u0119cia:
urlDisplayNameLabel_text=Wy\u015bwietlana nazwa adresu URL:


