Merge branch '4.12' into 4

This commit is contained in:
Guy Sartorelli 2022-12-19 01:42:17 +00:00
commit d90f27da64
No known key found for this signature in database
GPG Key ID: F313E3B9504D496A
12 changed files with 496 additions and 8 deletions

View File

@ -71,6 +71,7 @@ use SilverStripe\Versioned\RecursivePublishable;
use SilverStripe\Versioned\Versioned; use SilverStripe\Versioned\Versioned;
use SilverStripe\View\ArrayData; use SilverStripe\View\ArrayData;
use SilverStripe\View\HTML; use SilverStripe\View\HTML;
use SilverStripe\View\Parsers\HTMLValue;
use SilverStripe\View\Parsers\ShortcodeParser; use SilverStripe\View\Parsers\ShortcodeParser;
use SilverStripe\View\Parsers\URLSegmentFilter; use SilverStripe\View\Parsers\URLSegmentFilter;
use SilverStripe\View\Shortcodes\EmbedShortcodeProvider; use SilverStripe\View\Shortcodes\EmbedShortcodeProvider;
@ -1691,6 +1692,8 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi
$this->setNextWriteWithoutVersion(true); $this->setNextWriteWithoutVersion(true);
} }
$this->sanitiseExtraMeta();
// Flush cached [embed] shortcodes // Flush cached [embed] shortcodes
// Flush on both DRAFT and LIVE because VersionedCacheAdapter has separate caches for both // Flush on both DRAFT and LIVE because VersionedCacheAdapter has separate caches for both
// Clear both caches at once for the scenario where a CMS-author updates a remote resource // Clear both caches at once for the scenario where a CMS-author updates a remote resource
@ -1710,6 +1713,27 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi
} }
} }
private function sanitiseExtraMeta(): void
{
$htmlValue = HTMLValue::create($this->ExtraMeta);
/** @var DOMElement $el */
foreach ($htmlValue->query('//*') as $el) {
/** @var DOMAttr $attr */
$attributes = $el->attributes;
for ($i = count($attributes) - 1; $i >= 0; $i--) {
$attr = $attributes->item($i);
// remove any attribute starting with 'on' e.g. onclick
// and remove the accesskey attribute
if (substr($attr->name, 0, 2) === 'on' ||
$attr->name === 'accesskey'
) {
$el->removeAttributeNode($attr);
}
}
}
$this->ExtraMeta = $htmlValue->getContent();
}
/** /**
* Trigger synchronisation of link tracking * Trigger synchronisation of link tracking
* *
@ -1804,6 +1828,16 @@ class SiteTree extends DataObject implements PermissionProvider, i18nEntityProvi
); );
} }
// Ensure ExtraMeta can be turned into valid HTML
if ($this->ExtraMeta && !HTMLValue::create($this->ExtraMeta)->getContent()) {
$result->addError(
_t(
'SilverStripe\\CMS\\Model\\SiteTree.InvalidExtraMeta',
'Custom Meta Tags does not contain valid HTML',
)
);
}
return $result; return $result;
} }

View File

@ -208,6 +208,7 @@ en:
HTMLEDITORTITLE: Content HTMLEDITORTITLE: Content
INHERIT: 'Inherit from parent page' INHERIT: 'Inherit from parent page'
INHERITSITECONFIG: 'Inherit from site access settings' INHERITSITECONFIG: 'Inherit from site access settings'
InvalidExtraMeta: 'Custom Meta Tags does not contain valid HTML'
LASTPUBLISHED: 'Last published' LASTPUBLISHED: 'Last published'
LASTSAVED: 'Last saved' LASTSAVED: 'Last saved'
LASTUPDATED: 'Last Updated' LASTUPDATED: 'Last Updated'

View File

@ -137,6 +137,7 @@ eo:
StartEditing: 'Vi povas ekredakti vian enhavon malfermante je <a href="{link}">la CMS</a>.' StartEditing: 'Vi povas ekredakti vian enhavon malfermante je <a href="{link}">la CMS</a>.'
UnableDeleteInstall: 'Ne eblas forigi instalajn dosierojn. Bonvolu mane forigi la jenajn dosierojn' UnableDeleteInstall: 'Ne eblas forigi instalajn dosierojn. Bonvolu mane forigi la jenajn dosierojn'
VIEWPAGEIN: 'Vidigi Paĝon en:' VIEWPAGEIN: 'Vidigi Paĝon en:'
UNVERSIONEDPREVIEW: Antaŭvido
SilverStripe\CMS\Controllers\SilverStripeNavigator: SilverStripe\CMS\Controllers\SilverStripeNavigator:
ARCHIVED: Enarkivigita ARCHIVED: Enarkivigita
SilverStripe\CMS\Forms\AnchorLinkFormFactory: SilverStripe\CMS\Forms\AnchorLinkFormFactory:
@ -165,6 +166,8 @@ eo:
REDIRECTTOPAGE: 'Paĝo en via retejo' REDIRECTTOPAGE: 'Paĝo en via retejo'
SINGULARNAME: 'Paĝo pri alidirekto' SINGULARNAME: 'Paĝo pri alidirekto'
YOURPAGE: 'Paĝo en via retejo' YOURPAGE: 'Paĝo en via retejo'
FILE: Dosiero
REDIRECTTOFILE: 'Dosiero en via retejo'
SilverStripe\CMS\Model\RedirectorPageController: SilverStripe\CMS\Model\RedirectorPageController:
HASBEENSETUP: 'Alidirekta paĝo estis agordita sen ie al kie alidirekti.' HASBEENSETUP: 'Alidirekta paĝo estis agordita sen ie al kie alidirekti.'
SilverStripe\CMS\Model\SiteTree: SilverStripe\CMS\Model\SiteTree:

View File

@ -212,6 +212,7 @@ es:
PLURALS: PLURALS:
one: 'Una Página' one: 'Una Página'
other: '{count} Páginas' other: '{count} Páginas'
many: '{count} Páginas'
PageTypNotAllowedOnRoot: 'La página tipo "{type}" no está permitida en el nivel raiz' PageTypNotAllowedOnRoot: 'La página tipo "{type}" no está permitida en el nivel raiz'
PageTypeNotAllowed: 'El tipo de página "{type}" no está permitido como hijo de esta página padre' PageTypeNotAllowed: 'El tipo de página "{type}" no está permitido como hijo de esta página padre'
REMOVE_INSTALL_WARNING: 'Aviso: Deberías eliminar install.php de esta instalación de SilverStripe por motivos de seguridad.' REMOVE_INSTALL_WARNING: 'Aviso: Deberías eliminar install.php de esta instalación de SilverStripe por motivos de seguridad.'

View File

@ -206,6 +206,7 @@ es_MX:
PLURALS: PLURALS:
one: 'Una página' one: 'Una página'
other: '{count} Páginas' other: '{count} Páginas'
many: '{count} Páginas'
REORGANISE_DESCRIPTION: 'Cambiar la estructura del sitio' REORGANISE_DESCRIPTION: 'Cambiar la estructura del sitio'
REORGANISE_HELP: 'Reorganizar páginas en el árbol del sitio arrastrando y soltando.' REORGANISE_HELP: 'Reorganizar páginas en el árbol del sitio arrastrando y soltando.'
SHOWINMENUS: '¿Mostrar en menús?' SHOWINMENUS: '¿Mostrar en menús?'

View File

@ -234,6 +234,7 @@ fr:
PLURALS: PLURALS:
one: 'Une page' one: 'Une page'
other: '{count} pages' other: '{count} pages'
many: '{count} pages'
PageTypNotAllowedOnRoot: "Le type de page «\_{type}\_» nest pas autorisé à la racine du site" PageTypNotAllowedOnRoot: "Le type de page «\_{type}\_» nest pas autorisé à la racine du site"
PageTypeNotAllowed: 'Le type de page "{type}" ne peut pas être créé sous cette page' PageTypeNotAllowed: 'Le type de page "{type}" ne peut pas être créé sous cette page'
REMOVE_INSTALL_WARNING: "Attention\_: Vous devriez supprimer install.php pour des raisons de sécurité." REMOVE_INSTALL_WARNING: "Attention\_: Vous devriez supprimer install.php pour des raisons de sécurité."

View File

@ -137,6 +137,7 @@ it:
StartEditing: 'Puoi iniziare a modificare i contenuti del sito aprendo <a href="{link}">il CMS</a>.' StartEditing: 'Puoi iniziare a modificare i contenuti del sito aprendo <a href="{link}">il CMS</a>.'
UnableDeleteInstall: 'Impossibile eliminare i file di installazione. Cancella manualmente i file sotto indicati' UnableDeleteInstall: 'Impossibile eliminare i file di installazione. Cancella manualmente i file sotto indicati'
VIEWPAGEIN: 'Mostra pagina in:' VIEWPAGEIN: 'Mostra pagina in:'
UNVERSIONEDPREVIEW: Anteprima
SilverStripe\CMS\Controllers\SilverStripeNavigator: SilverStripe\CMS\Controllers\SilverStripeNavigator:
ARCHIVED: Archiviato ARCHIVED: Archiviato
SilverStripe\CMS\Forms\AnchorLinkFormFactory: SilverStripe\CMS\Forms\AnchorLinkFormFactory:
@ -160,11 +161,14 @@ it:
PLURALS: PLURALS:
one: 'Una Pagina Base' one: 'Una Pagina Base'
other: '{count} Pagine Base' other: '{count} Pagine Base'
many: '{count} Pagine Base'
REDIRECTTO: 'Redirigi a' REDIRECTTO: 'Redirigi a'
REDIRECTTOEXTERNAL: 'Un altro sito web' REDIRECTTOEXTERNAL: 'Un altro sito web'
REDIRECTTOPAGE: 'Una pagina sul tuo sito web' REDIRECTTOPAGE: 'Una pagina sul tuo sito web'
SINGULARNAME: 'Pagina di reindirizzamento' SINGULARNAME: 'Pagina di reindirizzamento'
YOURPAGE: 'Pagina sul tuo sito web' YOURPAGE: 'Pagina sul tuo sito web'
FILE: File
REDIRECTTOFILE: 'Un file sul tuo sito web'
SilverStripe\CMS\Model\RedirectorPageController: SilverStripe\CMS\Model\RedirectorPageController:
HASBEENSETUP: 'Una pagina di redirect è stata impostata senza alcuna destinazione' HASBEENSETUP: 'Una pagina di redirect è stata impostata senza alcuna destinazione'
SilverStripe\CMS\Model\SiteTree: SilverStripe\CMS\Model\SiteTree:
@ -238,6 +242,7 @@ it:
PLURALS: PLURALS:
one: 'Una Pagina' one: 'Una Pagina'
other: '{count} Pagine' other: '{count} Pagine'
many: '{count} Pagine'
PageTypNotAllowedOnRoot: 'Il tipo di pagina "{type}" non è consentito al primo livello' PageTypNotAllowedOnRoot: 'Il tipo di pagina "{type}" non è consentito al primo livello'
PageTypeNotAllowed: 'Il tipo di pagina "{type}" non è consentito come figlio di questa pagina madre' PageTypeNotAllowed: 'Il tipo di pagina "{type}" non è consentito come figlio di questa pagina madre'
REMOVE_INSTALL_WARNING: 'Attenzione: devi rimuovere install.php da questa installazione di SilverStripe per motivi di sicurezza.' REMOVE_INSTALL_WARNING: 'Attenzione: devi rimuovere install.php da questa installazione di SilverStripe per motivi di sicurezza.'
@ -279,6 +284,7 @@ it:
PLURALS: PLURALS:
one: 'Un collegamento all''albero del sito' one: 'Un collegamento all''albero del sito'
other: '{count} Collegamenti all''albero del Sito' other: '{count} Collegamenti all''albero del Sito'
many: '{count} Collegamenti all''albero del Sito'
SINGULARNAME: 'Link dell''albero del sito' SINGULARNAME: 'Link dell''albero del sito'
SilverStripe\CMS\Model\VirtualPage: SilverStripe\CMS\Model\VirtualPage:
CHOOSE: 'Pagina collegata' CHOOSE: 'Pagina collegata'
@ -290,6 +296,7 @@ it:
PLURALS: PLURALS:
one: 'Una Pagina Base' one: 'Una Pagina Base'
other: '{count} Pagine Base' other: '{count} Pagine Base'
many: '{count} Pagine Base'
PageTypNotAllowedOnRoot: 'Il tipo di pagina originale "{type}" non è consentito al primo livello per questa pagina virtuale' PageTypNotAllowedOnRoot: 'Il tipo di pagina originale "{type}" non è consentito al primo livello per questa pagina virtuale'
SINGULARNAME: 'Pagina virtuale' SINGULARNAME: 'Pagina virtuale'
SilverStripe\CMS\Reports\BrokenFilesReport: SilverStripe\CMS\Reports\BrokenFilesReport:

View File

@ -83,7 +83,7 @@ ja:
DEFAULTABOUTTITLE: 私たちについて DEFAULTABOUTTITLE: 私たちについて
DEFAULTCONTACTTITLE: 連絡はこちらまで DEFAULTCONTACTTITLE: 連絡はこちらまで
DEFAULTHOMETITLE: ホーム DEFAULTHOMETITLE: ホーム
DEPENDENT_NOTE: 以下のページでは、このページに依存します。 これには仮想ページ、リダイレクタページ、コンテンツのリンクを持つページが含まれています。 DEPENDENT_NOTE: '以下のページでは、このページに依存します。 これには仮想ページ、リダイレクタページ、コンテンツのリンクを持つページが含まれています。'
DependtPageColumnLinkType: リンクの種類 DependtPageColumnLinkType: リンクの種類
EDITHEADER: このページを編集できる人 EDITHEADER: このページを編集できる人
EDITORGROUPS: 編集者グループ EDITORGROUPS: 編集者グループ
@ -127,7 +127,7 @@ ja:
VIEW_ALL_DESCRIPTION: すべてのページを閲覧 VIEW_ALL_DESCRIPTION: すべてのページを閲覧
VIEW_ALL_HELP: 'このサイトのページを閲覧するには、アクセスタブの設定に関わらず、"ページのセクションへのアクセス"許可が必要です。' VIEW_ALL_HELP: 'このサイトのページを閲覧するには、アクセスタブの設定に関わらず、"ページのセクションへのアクセス"許可が必要です。'
VIEW_DRAFT_CONTENT: ドラフトを見る VIEW_DRAFT_CONTENT: ドラフトを見る
VIEW_DRAFT_CONTENT_HELP: CMSの編集モード以外のページを閲覧させる。 CMSアクセスなしの外部からの共同作業者に最適。 VIEW_DRAFT_CONTENT_HELP: 'CMSの編集モード以外のページを閲覧させる。 CMSアクセスなしの外部からの共同作業者に最適。'
VIRTUALPAGEDRAFTWARNING: 仮想ページを公開するためにリンクしたページを公開してください VIRTUALPAGEDRAFTWARNING: 仮想ページを公開するためにリンクしたページを公開してください
VIRTUALPAGEWARNING: このページを公開するために、リンク先のページを選択して最初に保存してください VIRTUALPAGEWARNING: このページを公開するために、リンク先のページを選択して最初に保存してください
VIRTUALPAGEWARNINGSETTINGS: 公開するために、主なコンテンツの分野からリンク先のページを選択してください VIRTUALPAGEWARNINGSETTINGS: 公開するために、主なコンテンツの分野からリンク先のページを選択してください

View File

@ -136,6 +136,7 @@ nl:
StartEditing: 'U kunt de inhoud aanpassen via <a href="{link}">het CMS</a>.' StartEditing: 'U kunt de inhoud aanpassen via <a href="{link}">het CMS</a>.'
UnableDeleteInstall: 'De installatiebestanden konden niet verwijderd worden. Verwijder onderstaande bestanden handmatig:' UnableDeleteInstall: 'De installatiebestanden konden niet verwijderd worden. Verwijder onderstaande bestanden handmatig:'
VIEWPAGEIN: 'Bekijk pagina in:' VIEWPAGEIN: 'Bekijk pagina in:'
UNVERSIONEDPREVIEW: Voorbeeld
SilverStripe\CMS\Controllers\SilverStripeNavigator: SilverStripe\CMS\Controllers\SilverStripeNavigator:
ARCHIVED: Gearchiveerd ARCHIVED: Gearchiveerd
SilverStripe\CMS\Forms\AnchorLinkFormFactory: SilverStripe\CMS\Forms\AnchorLinkFormFactory:
@ -164,6 +165,8 @@ nl:
REDIRECTTOPAGE: 'Een pagina op deze website' REDIRECTTOPAGE: 'Een pagina op deze website'
SINGULARNAME: Verwijzingspagina SINGULARNAME: Verwijzingspagina
YOURPAGE: 'Pagina op deze website' YOURPAGE: 'Pagina op deze website'
FILE: Bestand
REDIRECTTOFILE: 'Een bestand op deze website'
SilverStripe\CMS\Model\RedirectorPageController: SilverStripe\CMS\Model\RedirectorPageController:
HASBEENSETUP: 'Er is een verwijspagina ingesteld, zonder ergens naar te verwijzen.' HASBEENSETUP: 'Er is een verwijspagina ingesteld, zonder ergens naar te verwijzen.'
SilverStripe\CMS\Model\SiteTree: SilverStripe\CMS\Model\SiteTree:

View File

@ -63,6 +63,10 @@ pl:
TreeFiltered: 'Pokaż wyniki wyszukiwania:' TreeFiltered: 'Pokaż wyniki wyszukiwania:'
TreeFilteredClear: Wyczyść TreeFilteredClear: Wyczyść
UNPUBLISH_AND_ARCHIVE: 'Usuń z opublikowanych i dodaj do archiwum' UNPUBLISH_AND_ARCHIVE: 'Usuń z opublikowanych i dodaj do archiwum'
PAGESALLOPT: 'Wszystkie strony'
PUBALLFUN2: 'Naciśnięcie tego przycisku będzie równoznaczne z przejściem do każdej strony i naciśnięciem "opublikuj". Jest przeznaczony do użytku po masowych edycjach treści, na przykład podczas tworzenia witryny. W przypadku dużych witryn internetowych wykonanie tego zadania może nie być możliwe. W takim przypadku zalecamy rozmowę z programistami w celu utworzenia niestandardowego zadania'
SAVEDRAFT: Zapisz
SEARCHRESULTS: 'Wyniki wyszukiwania'
SilverStripe\CMS\Controllers\CMSPageAddController: SilverStripe\CMS\Controllers\CMSPageAddController:
MENUTITLE: 'Dodaj stronę' MENUTITLE: 'Dodaj stronę'
ParentMode_child: 'Pod inną stroną' ParentMode_child: 'Pod inną stroną'
@ -87,6 +91,8 @@ pl:
VIEWINGLATEST: 'Obecnie oglądasz najnowszą wersję' VIEWINGLATEST: 'Obecnie oglądasz najnowszą wersję'
VIEWINGVERSION: 'Obecnie oglądasz wersję {version}.' VIEWINGVERSION: 'Obecnie oglądasz wersję {version}.'
WHEN: Kiedy WHEN: Kiedy
COMPARINGVERSION: 'Porównanie wersji {version1} i {version2}.'
NO_PREVIEW: 'Brak dostępnych opcji'
SilverStripe\CMS\Controllers\CMSPageSettingsController: SilverStripe\CMS\Controllers\CMSPageSettingsController:
MENUTITLE: 'Edytuj Stronę' MENUTITLE: 'Edytuj Stronę'
SilverStripe\CMS\Controllers\CMSPagesController: SilverStripe\CMS\Controllers\CMSPagesController:
@ -131,6 +137,7 @@ pl:
StartEditing: 'Możesz zacząć edytować Twoją stronę otwierając <a href="{link}">CMS</a>.' StartEditing: 'Możesz zacząć edytować Twoją stronę otwierając <a href="{link}">CMS</a>.'
UnableDeleteInstall: 'Nie można usunąć plików instalacyjnych. Proszę usunąć je ręcznie' UnableDeleteInstall: 'Nie można usunąć plików instalacyjnych. Proszę usunąć je ręcznie'
VIEWPAGEIN: 'Zobacz stronę w:' VIEWPAGEIN: 'Zobacz stronę w:'
UNVERSIONEDPREVIEW: Podgląd
SilverStripe\CMS\Controllers\SilverStripeNavigator: SilverStripe\CMS\Controllers\SilverStripeNavigator:
ARCHIVED: Zarchiwizowane ARCHIVED: Zarchiwizowane
SilverStripe\CMS\Forms\AnchorLinkFormFactory: SilverStripe\CMS\Forms\AnchorLinkFormFactory:
@ -145,11 +152,12 @@ pl:
Edit: Edytuj Edit: Edytuj
HelpChars: 'Znaki specjalne są automatycznie konwertowane lub usuwane.' HelpChars: 'Znaki specjalne są automatycznie konwertowane lub usuwane.'
OK: OK OK: OK
EMPTY: 'Proszę podać adres URL lub kliknąć anuluj'
SilverStripe\CMS\Model\RedirectorPage: SilverStripe\CMS\Model\RedirectorPage:
DESCRIPTION: 'Przekierowuje do wskazanej wewnętrznej strony' DESCRIPTION: 'Przekierowuje do wskazanej wewnętrznej strony'
HEADER: 'Ta strona przeniesie użytkowników na inną stronę' HEADER: 'Ta strona przeniesie użytkowników na inną stronę'
OTHERURL: 'Adres URL innej strony' OTHERURL: 'Adres URL innej strony'
PLURALNAME: 'Strony przekierowujące' PLURALNAME: 'Strony bazowe'
PLURALS: PLURALS:
one: 'Strona przekierowująca' one: 'Strona przekierowująca'
few: 'Stron przekierowujących {count}' few: 'Stron przekierowujących {count}'
@ -160,6 +168,8 @@ pl:
REDIRECTTOPAGE: 'Strona na Twojej witrynie' REDIRECTTOPAGE: 'Strona na Twojej witrynie'
SINGULARNAME: 'Strona przekierowująca' SINGULARNAME: 'Strona przekierowująca'
YOURPAGE: 'Strona na Twojej witrynie' YOURPAGE: 'Strona na Twojej witrynie'
FILE: Plik
REDIRECTTOFILE: 'Plik na stronie'
SilverStripe\CMS\Model\RedirectorPageController: SilverStripe\CMS\Model\RedirectorPageController:
HASBEENSETUP: 'Strona przekierowująca została ustawiona bez celu, do którego ma przekierowywać.' HASBEENSETUP: 'Strona przekierowująca została ustawiona bez celu, do którego ma przekierowywać.'
SilverStripe\CMS\Model\SiteTree: SilverStripe\CMS\Model\SiteTree:
@ -258,6 +268,13 @@ pl:
many_many_BackLinkTracking: 'Śledzenie backlinków' many_many_BackLinkTracking: 'Śledzenie backlinków'
many_many_ImageTracking: 'Śledzenie obrazków' many_many_ImageTracking: 'Śledzenie obrazków'
many_many_LinkTracking: 'Śledzenie linków' many_many_LinkTracking: 'Śledzenie linków'
BUTTONSAVEPUBLISH: Opublikuj
INHERITSITECONFIG: 'Dziedzicz ustawień strony'
METAEXTRAHELP: 'HTML zawierający dodatkowe metainformacje, n.p. &lt;meta name="jakaśNazwa" content="jakaś zawartość" /&gt;'
TABCONTENT: Zawartość
UNTITLED: 'Nowa {pagetype}'
URLSegment: URL
UntitledDependentObject: 'Nowa {pagetype}'
SilverStripe\CMS\Model\SiteTreeFileExtension: SilverStripe\CMS\Model\SiteTreeFileExtension:
TITLE_INDEX: '#' TITLE_INDEX: '#'
TITLE_TYPE: 'Rodzaj strony' TITLE_TYPE: 'Rodzaj strony'
@ -268,12 +285,12 @@ pl:
EditLink: edytuj EditLink: edytuj
HEADER: 'To jest wirtualna strona' HEADER: 'To jest wirtualna strona'
HEADERWITHLINK: "Strona wirtualna odzwierciedlająca treść\_\"{title}\" ({link})" HEADERWITHLINK: "Strona wirtualna odzwierciedlająca treść\_\"{title}\" ({link})"
PLURALNAME: 'Strony wirtualne' PLURALNAME: 'Podstawowe strony'
PLURALS: PLURALS:
one: 'Strona wirtualna' one: 'Wirtualna strona'
few: 'Stron wirtualnych {count}' few: 'Wirtualnych stron {count}'
many: 'Stron wirtualnych {count}' many: 'Wirtualnych stron {count}'
other: 'Stron wirtualnych {count}' other: 'Wirtualnych stron {count}'
PageTypNotAllowedOnRoot: '"{type}" nie jest dozwolona dla głównego poziomu wirtualnej strony' PageTypNotAllowedOnRoot: '"{type}" nie jest dozwolona dla głównego poziomu wirtualnej strony'
SINGULARNAME: 'Wirtualna Strona' SINGULARNAME: 'Wirtualna Strona'
SilverStripe\CMS\Reports\BrokenFilesReport: SilverStripe\CMS\Reports\BrokenFilesReport:
@ -312,6 +329,7 @@ pl:
ParameterLiveCheckbox: 'Sprawdź witrynę' ParameterLiveCheckbox: 'Sprawdź witrynę'
SilverStripe\CMS\Reports\EmptyPagesReport: SilverStripe\CMS\Reports\EmptyPagesReport:
ContentGroupTitle: 'Treść raportów' ContentGroupTitle: 'Treść raportów'
EMPTYPAGES: 'Strony bez zawartości'
SilverStripe\CMS\Reports\RecentlyEditedReport: SilverStripe\CMS\Reports\RecentlyEditedReport:
ContentGroupTitle: 'Treść raportów' ContentGroupTitle: 'Treść raportów'
LAST2WEEKS: 'Strony edytowane w ciągu 2 ostatnich tygodni' LAST2WEEKS: 'Strony edytowane w ciągu 2 ostatnich tygodni'
@ -333,3 +351,13 @@ pl:
OPERATION_REMOVE: 'Usuń wszystkie wybrane strony (Uwaga: dotyczy opublikowanych i tych zapisanych jako szkice)' OPERATION_REMOVE: 'Usuń wszystkie wybrane strony (Uwaga: dotyczy opublikowanych i tych zapisanych jako szkice)'
SELECTALL: 'Zaznacz wszystkie' SELECTALL: 'Zaznacz wszystkie'
UNSELECTALL: 'Odznacz wszystkie' UNSELECTALL: 'Odznacz wszystkie'
SilverStripe\CMS\Model\SiteTreeFileFormFactoryExtension:
USAGE: Używane
SilverStripe\CMS\Model\SiteTreeLink:
PLURALNAME: Strony
PLURALS:
one: Strona
few: 'Stron {count}'
many: 'Stron {count}'
other: "Stron {count}\_"
SINGULARNAME: Strony

362
lang/pl_PL.yml Normal file
View File

@ -0,0 +1,362 @@
pl_PL:
SilverStripe\CMS\BatchActions\CMSBatchAction_Archive:
RESULT: 'Usunięto %d stron/y.'
TITLE: 'Usuń i dodaj do archiwum'
SilverStripe\CMS\BatchActions\CMSBatchAction_Publish:
PUBLISHED_PAGES: 'Opublikowano %d stron, %d się nie powiodło'
PUBLISH_PAGES: Publikuj
SilverStripe\CMS\BatchActions\CMSBatchAction_Restore:
RESTORE: Przywróć
RESTORED_PAGES: 'Przywrócono %d stron'
SilverStripe\CMS\BatchActions\CMSBatchAction_Unpublish:
UNPUBLISHED_PAGES: 'Usunięto z opublikowanych %d stron'
UNPUBLISH_PAGES: 'Cofnij publikację'
SilverStripe\CMS\Controllers\CMSMain:
ACCESS: 'Dostęp do sekcji ''{title}'''
ACCESS_HELP: 'Zezwala na oglądanie sekcji zawierających drzewo stron oraz treść. Prawo Przeglądaj i edytuj może być obsługiwane przez pola wyboru dostępne na stronach oraz poprzez zakładkę uprawnień.'
ARCHIVE: Archiwizuj
ARCHIVEDPAGE: 'Zarchiwizowano stronę ''{title}'''
AddNew: 'Dodaj nową'
AddNewButton: Dodaj
AddPageRestriction: 'Uwaga: Niektóre typy stron nie są dozwolone dla tego wyboru'
ArchiveWarning: 'Uwaga: Ta strona nie zostanie opublikowana przed wysłaniem do archiwizacji.\n\nCzy jesteś pewien, że chcesz kontynuować?'
ArchiveWarningWithCampaigns: 'Uwaga: Ta strona nie zostanie opublikowana i automatycznie zostanie usunięta z powiązanych kampanii {NumCampaigns} przed wysłaniem do archiwizacji.\n\nCzy chcesz kontynuować? '
ArchiveWarningWithChildren: 'Uwaga: Ta strona i wszystkie jej podrzędne nie zostaną opublikowane przed usunięciem.\n\nCzy chcesz kontynuować? '
ArchiveWarningWithChildrenAndCampaigns: 'Uwaga: Ta strona i wszystkie jej podrzędne nie zostaną opublikowane i automatycznie zostaną usunięte z przypisanych kampanii {NumCampaigns} przed wysłaniem do archiwum.\n\nCzy chcesz kontynuować?'
CANT_REORGANISE: 'Nie masz uprawnień by zmieniać strony najwyższego poziomu. Twoje zmiany nie zostały zapisane.'
Cancel: Anuluj
ChoosePageParentMode: 'Wybierz gdzie chcesz utworzyć stronę'
ChoosePageType: 'Wybierz rodzaj strony'
Create: Utwórz
DUPLICATED: 'Duplikowanie ''{title}'' zakończone powodzeniem'
DUPLICATEDWITHCHILDREN: 'Duplikowanie ''{title}'' oraz podstron zakończone powodzeniem'
EMAIL: E-mail
NEWPAGE: 'Nowa strona {pagetype}'
PAGENOTEXISTS: 'Ta strona nie istnieje'
PAGES: 'Status strony'
PAGESALLOPT: 'Wszystkie strony'
PAGETYPEANYOPT: Jakikolwiek
PAGETYPEOPT: 'Typ storny'
PAGETYPE_TITLE: '(Typ strony: {type}) {title}'
PLEASESAVE: 'Proszę zapisać stronę. Ta strona nie mogła zostać uaktualniona, ponieważ nie została jeszcze zapisana.'
PUBALLCONFIRM: 'Opublikuj wszystko'
PUBALLFUN: '"Opublikuj wszystko"'
PUBALLFUN2: 'Naciśnięcie tego przycisku będzie równoznaczne z przejściem do każdej strony i naciśnięciem "opublikuj". Jest przeznaczony do użytku po masowych edycjach treści, na przykład podczas tworzenia witryny. W przypadku dużych witryn internetowych wykonanie tego zadania może nie być możliwe. W takim przypadku zalecamy rozmowę z programistami w celu utworzenia niestandardowego zadania'
PUBLISHED: 'Opublikowano ''{title}'' '
PUBPAGES: 'Zrobiono: Opublikowano {count} stron'
PageAdded: 'Pomyślnie utworzono stronę'
REMOVEDPAGE: 'Usunięto ''{title}'' z opublikowanej witryny'
REMOVEDPAGEFROMDRAFT: '''{title}'' usunięto ze szkiców'
REORGANISATIONSUCCESSFUL: 'Pomyślnie zreorganizowano drzewo serwisu.'
RESTORE: 'Przywróć wersję roboczą'
RESTORED: 'Pomyślnie przywrócono ''{title}'''
RESTORE_DESC: 'Przywróć zarchiwizowaną wersję do wersji roboczej'
RESTORE_TO_ROOT: 'Przywróć wersję roboczą na najwyższym poziomie'
RESTORE_TO_ROOT_DESC: 'Przywróć zarchiwizowaną wersję do wersji roboczej jako stronę najwyższego poziomu'
ROLLBACK: 'Wróć do tej wersji'
ROLLEDBACKPUBv2: 'Przywrócono opublikowaną wersję'
ROLLEDBACKVERSIONv2: 'Przywrócono wersję #{version}.'
SAVED: 'Zapisano ''{title}''.'
SAVEDRAFT: Zapisz
SEARCHRESULTS: 'Wyniki wyszukiwania'
SHOW_AS_LIST: 'pokaż jako listę'
TOO_MANY_PAGES: 'Zbyt wiele stron'
TabContent: Zawartość
TabHistory: Historia
TabSettings: Ustawienia
TreeFiltered: 'Pokaż wyniki wyszukiwania:'
TreeFilteredClear: Wyczyść
UNPUBLISH_AND_ARCHIVE: 'Usuń i dodaj do archiwum'
SilverStripe\CMS\Controllers\CMSPageAddController:
MENUTITLE: 'Dodaj nową'
ParentMode_child: 'Pod inną stroną'
ParentMode_top: 'Najwyższy poziom'
Title: 'Dodaj nową'
SilverStripe\CMS\Controllers\CMSPageEditController:
ErrorItemPermissionDenied: 'Wygląda na to, że nie masz wystarczających uprawnień, aby dodać {ObjectTitle} do kampanii.'
ErrorNotFound: 'Ten {Type} nie został odnaleziony'
MENUTITLE: Edytuj
SilverStripe\CMS\Controllers\CMSPageHistoryController:
AUTHOR: Autor
COMPAREMODE: 'Tryb porównywania (wybierz dwie)'
COMPARINGVERSION: 'Porównanie wersji {version1} i {version2}.'
MENUTITLE: 'Poprzednie wersje'
MULTISELECT: 'Operacje hurtem'
NOTPUBLISHED: Nieopublikowana
NO_PREVIEW: 'Podgląd niemożliwy'
PUBLISHER: Edytor
REVERTTOTHISVERSION: 'Wróć do tej wersji'
SHOWUNPUBLISHED: 'Pokaż nieopublikowane wersje'
UNKNOWN: Nieznany
VIEW: widok
VIEWINGLATEST: 'Obecnie oglądasz najnowszą wersję'
VIEWINGVERSION: 'Obecnie oglądasz wersję {version}.'
WHEN: Data
SilverStripe\CMS\Controllers\CMSPageSettingsController:
MENUTITLE: Edytuj
SilverStripe\CMS\Controllers\CMSPagesController:
FILTER: Filtr
ListView: 'Widok listy'
MENUTITLE: Strony
TreeView: 'Widok drzewa'
SilverStripe\CMS\Controllers\CMSSiteTreeFilter_ChangedPages:
Title: 'Zmodyfikowane strony'
SilverStripe\CMS\Controllers\CMSSiteTreeFilter_DeletedPages:
Title: 'Wszystkie strony włącznie z usuniętymi'
SilverStripe\CMS\Controllers\CMSSiteTreeFilter_PublishedPages:
Title: 'Opublikowane strony'
SilverStripe\CMS\Controllers\CMSSiteTreeFilter_Search:
Title: 'Wszystkie strony'
SilverStripe\CMS\Controllers\CMSSiteTreeFilter_StatusDeletedPages:
Title: 'Zarchiwizowane strony'
SilverStripe\CMS\Controllers\CMSSiteTreeFilter_StatusDraftPages:
Title: Szkice
SilverStripe\CMS\Controllers\CMSSiteTreeFilter_StatusRemovedFromDraftPages:
Title: 'Opublikowana ale usunięta ze szkicu strony'
SilverStripe\CMS\Controllers\ContentController:
ARCHIVEDSITE: Wersje
ARCHIVEDSITEFROM: 'Zarchiwizowany formularz strony'
CMS: 'System Zarządzania Treścią'
DRAFT: Szkic
DRAFTSITE: 'Szkic witryny'
Email: E-mail
INSTALL_SUCCESS: 'Instalacja przebiegła pomyślnie'
InstallFilesDeleted: 'Pliki instalacyjne zostały pomyślnie usunięte'
InstallSecurityWarning: 'Dla bezpieczeństwa powinieneś skasować pliki instalacyjne, chyba że planujesz reinstalację w późniejszym czasie (<em>wymaga zalogowania się jako admin, patrz wyżej</em>). Serwer potrzebuje teraz tylko dostępu do folderu "assets", możesz usunąć dostęp do innych folderów. <a href="{link}" style="text-align: center;">Kliknij tutaj aby usunąć pliki instalacyjne.</a>'
InstallSuccessCongratulations: 'Blog SilverStripe został poprawnie zainstalowany.'
LOGGEDINAS: 'Zalogowany jako'
LOGIN: Zaloguj
LOGOUT: 'Wyloguj się'
NOTEWONTBESHOWN: 'Uwaga: ta wiadomość nie będzie widoczna dla odwiedzających'
NOTLOGGEDIN: 'Nie zalogowany'
PUBLISHED: Opublikowane
PUBLISHEDSITE: 'Opublikowana witryna'
Password: Hasło
PostInstallTutorialIntro: 'Ta strona jest uproszczoną wersją witryny SilverStripe 3. Aby ją rozszerzyć, zajrzyj proszę na stronę: {link}'
StartEditing: 'Możesz zacząć edytować Twoją stronę otwierając <a href="{link}">CMS</a>.'
UNVERSIONEDPREVIEW: Podgląd
UnableDeleteInstall: 'Nie można usunąć plików instalacyjnych. Proszę usunąć je ręcznie'
VIEWPAGEIN: 'Zobacz stronę w:'
SilverStripe\CMS\Controllers\SilverStripeNavigator:
ARCHIVED: Zarchiwizowano
SilverStripe\CMS\Forms\AnchorLinkFormFactory:
ANCHORVALUE: Odnośnik
SilverStripe\CMS\Forms\InternalLinkFormFactory:
LINKDESCR: 'Opis linku'
LINKOPENNEWWIN: 'Otwórz link w nowym oknie'
LINKTEXT: Link
SELECT_PAGE: 'Wybierz stronę'
SilverStripe\CMS\Forms\SiteTreeURLSegmentField:
Cancel: Anuluj
EMPTY: 'Proszę podać adres URL lub kliknąć anuluj'
Edit: Edytuj
HelpChars: 'Znaki specjalne są automatycznie konwertowane lub usuwane.'
OK: OK
SilverStripe\CMS\Model\RedirectorPage:
DESCRIPTION: 'Przekierowuje do wskazanej wewnętrznej strony'
FILE: Plik
HEADER: 'Ta strona przekieruję użytkowników na inną stronę'
OTHERURL: 'Adres URL innej strony'
PLURALNAME: 'Podstawowe strony'
PLURALS:
one: 'Strona przekierowująca'
few: 'Stron przekierowujących {count}'
many: 'Stron przekierowujących {count}'
other: 'Stron przekierowujących {count}'
REDIRECTTO: 'Przenieś do'
REDIRECTTOEXTERNAL: 'Inna strona'
REDIRECTTOFILE: 'Plik na stronie'
REDIRECTTOPAGE: 'Strona na Twojej witrynie'
SINGULARNAME: 'Strona przekierowująca'
YOURPAGE: 'Strona na Twojej witrynie'
SilverStripe\CMS\Model\RedirectorPageController:
HASBEENSETUP: 'Strona przekierowująca została ustawiona bez celu, do którego ma przekierowywać.'
SilverStripe\CMS\Model\SiteTree:
ACCESSANYONE: Każdy
ACCESSHEADER: 'Kto może zobaczyć tę stronę?'
ACCESSLOGGEDIN: 'Zalogowani użytkownicy'
ACCESSONLYTHESE: 'Tylko te grupy (wybierz z listy)'
ADDEDTODRAFTHELP: 'Strona nie została jeszcze opublikowana'
ADDEDTODRAFTSHORT: Szkic
APPEARSVIRTUALPAGES: 'Ta treść pojawia się również na wirtualnej stronie w sekcji {title}.'
ARCHIVEDPAGEHELP: Usunięto
ARCHIVEDPAGESHORT: Zarchiwizowano
BUTTONCANCELDRAFT: 'Anuluj wprowadzone zmiany'
BUTTONCANCELDRAFTDESC: 'Usuń zmiany i wróć do istniejącej wersji opublikowanej strony'
BUTTONDELETEDESC: Usunięto
BUTTONPUBLISHED: Opublikowane
BUTTONSAVED: Zapisane
BUTTONSAVEPUBLISH: Opublikuj
BUTTONUNPUBLISH: 'Cofnij publikację'
BUTTONUNPUBLISHDESC: 'Usuń tę stronę z opublikowanej witryny'
Comments: Komentarze
Content: Zawartość
DEFAULTABOUTCONTENT: '<p>Możesz wypełnić tę stronę własną treścią, usunąć ją i tworzyć własne strony.<br /></p>'
DEFAULTABOUTTITLE: 'O nas'
DEFAULTCONTACTCONTENT: '<p>Możesz wypełnić tę stronę własną treścią, usunąć ją i tworzyć własne strony.<br /></p>'
DEFAULTCONTACTTITLE: Kontakt
DEFAULTHOMECONTENT: '<p>Witaj w SilverStripe! To jest domyślna strona główna. Możesz ją edytować, otwierając <a href="admin/">CMS</a>.</p><p>Możesz również otworzyć <a href="http://docs.silverstripe.org">dokumentacje dla developerów</a> lub rozpocząć naukę dzięki <a href="http://www.silverstripe.org/learn/lessons">jednym z samouczków</a>.</p>'
DEFAULTHOMETITLE: Start
DEPENDENT_NOTE: 'Poniższe strony są zależne od tej łącznie z wirtualnymi stronami, stronami przekierowującymi oraz stronami z treścią.'
DESCRIPTION: 'Zwykła strona'
DependtPageColumnLinkType: 'Typ linku'
EDITHEADER: 'Kto może zobaczyć tę stronę?'
EDITORGROUPS: 'Grupy Edytorów'
EDITOR_GROUPS_FIELD_DESC: 'Grupy z globalnymi uprawnieniami do edycji: {groupList}'
EDIT_ALL_DESCRIPTION: 'Zmień każdą stronę'
EDIT_ALL_HELP: 'Możliwość edycji jakiejkolwiek strony w witrynie, bez względu na ustawienia w zakładce Dostęp. Wymaga uprawnienia "Dostęp do edycji treści"'
Editors: 'Grupy Edytorów'
HASBROKENLINKS: 'Ta strona ma niedziałający / zepsuty link'
HTMLEDITORTITLE: Zawartość
INHERIT: 'Dziedzicz ze strony nadrzędnej'
INHERITSITECONFIG: 'Dziedzicz ustawień strony'
LASTPUBLISHED: 'Data ostatniej publikacji'
LASTSAVED: 'Ostania zmiana'
LASTUPDATED: 'Data ostatniej aktualizacji'
LINKCHANGENOTE: 'Zmiana linku na aktualnej stronie skutkuje zmianą w linkach stron potomnych.'
LINKSALREADYUNIQUE: ' {url} jest już w użyciu'
LINKSCHANGEDTO: 'Zmieniono {url1} na {url2}'
MENUTITLE: 'Sekcja nawigacji'
METADESC: Opis
METADESCHELP: "Wyszukiwarki internetowe używają tej treści w wynikach wyszukiwania (ta treść\_nie wpłynie na ich pozycjonowanie)"
METAEXTRA: 'Własne meta tagi'
METAEXTRAHELP: 'HTML zawierający dodatkowe metainformacje, n.p. &lt;meta name="jakaśNazwa" content="jakaś zawartość" /&gt;'
MODIFIEDONDRAFTHELP: 'Na stronie znajdują się nieopublikowane zmiany'
MODIFIEDONDRAFTSHORT: Zmodyfikowano
MetadataToggle: Metadane
MoreOptions: 'Więcej opcji'
NOTPUBLISHED: 'Nie opublikowano'
OBSOLETECLASS: 'Ta strona jest przestarzałego typu {type}. Zapisanie jej spowoduje zmianę typu przez co możesz stracić dane'
ONLIVEONLYSHORT: 'Tylko opublikowana'
ONLIVEONLYSHORTHELP: 'Strona jest opublikowana, ale została usunięta ze szkiców'
PAGELOCATION: 'Lokalizacja strony'
PAGETITLE: 'Nazwa strony'
PAGETYPE: 'Typ storny'
PARENTID: 'Strona nadrzędna'
PARENTTYPE: 'Lokalizacja strony'
PARENTTYPE_ROOT: 'Strona najwyższego poziomu'
PARENTTYPE_SUBPAGE: 'Podstrona pod stroną nadrzędną'
PERMISSION_GRANTACCESS_DESCRIPTION: 'Zarządzaj prawami dostępu'
PERMISSION_GRANTACCESS_HELP: 'Zezwól na ustawienie wymagań dostępu dla konkretnej strony w sekcji "Strony".'
PLURALNAME: Strony
PLURALS:
one: Strona
few: 'Kilka stron {count} '
many: 'Wiele stron {count}'
other: 'Stron {count}'
PageTypNotAllowedOnRoot: '"{type}" nie jest dozwolona na głównym poziomie'
PageTypeNotAllowed: '"{type}" nie jest dozwolona jako strona podrzędna dla tej strony'
REMOVE_INSTALL_WARNING: 'WAŻNE: Powinieneś usunąć plik install.php z powodów bezpieczeństwa.'
REORGANISE_DESCRIPTION: 'Zmień strukturę strony'
REORGANISE_HELP: 'Zmień kolejność stron na drzewie witryny wykorzystując przeciągnij i upuść.'
SHOWINMENUS: 'Pokazuj w menu?'
SHOWINSEARCH: 'Pokazuj w wyszukiwarce?'
SINGULARNAME: Strona
TABBEHAVIOUR: Zachowanie
TABCONTENT: Zawartość
TABDEPENDENT: 'Strony zależne'
TOPLEVEL: 'Zawartość witryny (główny poziom)'
UNTITLED: 'Nienazwana {pagetype}'
URLSegment: URL
UntitledDependentObject: 'Nienazwana {instanceType}'
VIEWERGROUPS: 'Grupy Edytorów'
VIEWER_GROUPS_FIELD_DESC: 'Grupy z globalnymi uprawnieniami podglądu: {groupList}'
VIEW_ALL_DESCRIPTION: 'Zobacz każdą stronę'
VIEW_ALL_HELP: 'Uprawenienie do przeglądania wszystkich stron w witrynie, bez wzlędu na szczegółowe ustawienia w ich zakładkach Dostęp. Wymaga uprawenienia "Dostęp do sekcji ''Strony''" '
VIEW_DRAFT_CONTENT: 'Zobacz szkic strony'
VIEW_DRAFT_CONTENT_HELP: 'Stosowane do oglądania szkiców stron poza systemem CMS. Przydatne w przypadku zewnętrznych współpracowników nie mających dostępu do CMS.'
VIRTUALPAGEDRAFTWARNING: 'Aby opublikować stronę wirtualną opublikuj stronę powiązaną'
VIRTUALPAGEWARNING: 'Aby opublikować tą stronę najpierw wybierz stronę powiązaną i zapisz zmiany'
VIRTUALPAGEWARNINGSETTINGS: 'Aby opublikować wybierz stronę powiązaną'
Viewers: 'Grupy Edytorów'
Visibility: Widoczność
has_one_Parent: 'Strona nadrzędna'
many_many_BackLinkTracking: 'Śledzenie backlinków'
many_many_ImageTracking: 'Śledzenie obrazków'
many_many_LinkTracking: 'Śledzenie linków'
SilverStripe\CMS\Model\SiteTreeFileExtension:
TITLE_INDEX: '#'
TITLE_TYPE: Typ
TITLE_USED_ON: 'Użyto na'
SilverStripe\CMS\Model\SiteTreeFileFormFactoryExtension:
USAGE: Wykorzystywane
SilverStripe\CMS\Model\SiteTreeLink:
PLURALNAME: Strony
PLURALS:
one: Strona
few: 'Stron {count}'
many: 'Stron {count}'
other: 'Strony {count}'
SINGULARNAME: Strony
SilverStripe\CMS\Model\VirtualPage:
CHOOSE: 'Podlinkowanych stron'
DESCRIPTION: 'Wyświetla zawartość innej strony'
EditLink: edytuj
HEADER: 'To jest wirtualna strona'
HEADERWITHLINK: "Strona wirtualna odzwierciedlająca treść\_\"{title}\" ({link})"
PLURALNAME: 'Podstawowe strony'
PLURALS:
one: 'Strona wirtualna'
few: 'Stron wirtualnych {count}'
many: 'Stron wirtualnych {count}'
other: 'Wirtualnych stron {count}'
PageTypNotAllowedOnRoot: '"{type}" nie jest dozwolona dla głównego poziomu wirtualnej strony'
SINGULARNAME: 'Wirtualna strona'
SilverStripe\CMS\Reports\BrokenFilesReport:
BROKENFILES: 'Strony z uszkodzonymi plikami'
BrokenLinksGroupTitle: 'Raport uszkodzonych linków'
ParameterLiveCheckbox: 'Sprawdź witrynę'
SilverStripe\CMS\Reports\BrokenLinksReport:
Any: Jakikolwiek
BROKENLINKS: 'Raport uszkodzonych linków'
CheckSite: 'Sprawdź witrynę'
CheckSiteDropdownDraft: 'Szkic witryny'
CheckSiteDropdownPublished: 'Opublikowana witryna'
ColumnDateLastModified: 'Data ostatniej modyfikacji'
ColumnDateLastPublished: 'Data ostatniej publikacji'
ColumnProblemType: 'Problem do sprawdzenia'
ColumnURL: URL
HasBrokenFile: 'ma uszkodzony plik'
HasBrokenLink: 'ma uszkodzony link'
HasBrokenLinkAndFile: 'ma uszkodzony link oraz plik'
HoverTitleEditPage: Edytuj
PageName: 'Nazwa strony'
ReasonDropdown: 'Problem do sprawdzenia'
ReasonDropdownBROKENFILE: 'Zepsuty plik'
ReasonDropdownBROKENLINK: 'Zepsuty link'
ReasonDropdownRPBROKENLINK: 'Strona przekierowująca wskazuje na nieistniejącą stronę'
ReasonDropdownVPBROKENLINK: 'Strona wirtualna wskazuje na nieistniejącą stronę'
RedirectorNonExistent: 'strona przekierowująca wskazuje na nieistniejącą stronę'
VirtualPageNonExistent: 'strona wirtualna wskazuje na nieistniejącą stronę'
SilverStripe\CMS\Reports\BrokenRedirectorPagesReport:
BROKENREDIRECTORPAGES: 'Strony przekierowania wskazujące na usunięte strony'
BrokenLinksGroupTitle: 'Raport uszkodzonych linków'
ParameterLiveCheckbox: 'Sprawdź witrynę'
SilverStripe\CMS\Reports\BrokenVirtualPagesReport:
BROKENVIRTUALPAGES: 'Wirtualne strony wskazujące na usunięte strony'
BrokenLinksGroupTitle: 'Raport uszkodzonych linków'
ParameterLiveCheckbox: 'Sprawdź witrynę'
SilverStripe\CMS\Reports\EmptyPagesReport:
ContentGroupTitle: Raporty
EMPTYPAGES: 'Strony bez zawartości'
SilverStripe\CMS\Reports\RecentlyEditedReport:
ContentGroupTitle: Raporty
LAST2WEEKS: 'Strony edytowane w ciągu 2 ostatnich tygodni'
SilverStripe\CMS\Search\SearchForm:
FILTERDATEFROM: Od
FILTERDATETO: Do
FILTERLABELTEXT: Szukaj
GO: Idź
PAGEFILTERDATEHEADING: 'Ostatnio edytowano'
SEARCH: Szukaj
SearchResults: 'Wyniki wyszukiwania'
SilverStripe\CMS\Tasks\RemoveOrphanedPagesTask:
BUTTONRUN: Uruchom
CHOOSEOPERATION: 'Wybierz operację: '
DELETEWARNING: 'Uwaga: Tych operacji nie można cofnąć. Prosimy działać uważnie.'
HEADER: 'Usuń wszystkie porzucone zadania dla stron'
NONEFOUND: 'Nie znaleziono ról'
NONEREMOVED: 'Nic nie zostało usunięte'
OPERATION_REMOVE: 'Usuń wszystkie wybrane strony (Uwaga: dotyczy opublikowanych i tych zapisanych jako szkice)'
SELECTALL: 'Zaznacz wszystkie'
UNSELECTALL: 'Odznacz wszystkie'

View File

@ -2021,4 +2021,51 @@ class SiteTreeTest extends SapphireTest
$child->CMSEditLink() $child->CMSEditLink()
); );
} }
/**
* @dataProvider provideSanitiseExtraMeta
*/
public function testSanitiseExtraMeta(string $extraMeta, string $expected, string $message): void
{
$siteTree = new SiteTree();
$siteTree->ExtraMeta = $extraMeta;
$siteTree->write();
$this->assertSame($expected, $siteTree->ExtraMeta, $message);
}
public function provideSanitiseExtraMeta(): array
{
return [
[
'<link rel="canonical" accesskey="X" sometrigger="alert(1)" />',
'<link rel="canonical" sometrigger="alert(1)">',
'accesskey attribute is removed'
],
[
'<link rel="canonical" onclick="alert(1)" /><meta name="x" onerror="alert(0)">',
'<link rel="canonical"><meta name="x">',
'Attributes starting with "on" are removed'
],
[
'<link rel="canonical" onclick=alert(1) /><meta name="x" onerror=\'alert(0)\'>',
'<link rel="canonical"><meta name="x">',
'Attributes with different quote styles are removed'
],
[
'<link rel="canonical" ONCLICK=alert(1) /><meta name="x" oNeRrOr=\'alert(0)\'>',
'<link rel="canonical"><meta name="x">',
'Mixed case attributes are removed'
],
[
'<link rel="canonical" accesskey="X" onclick="alert(1)" name="x" />',
'<link rel="canonical" name="x">',
'Multiple attributes are removed'
],
[
'<link rel="canonical" href="valid" ;;// somethingdodgy < onmouseover=alert(1)',
'<link rel="canonical" href="valid" somethingdodgy="">',
'Invalid HTML is converted to valid HTML and parsed'
],
];
}
} }